summaryrefslogtreecommitdiffstats
path: root/js/src/octane/mandreel.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/octane/mandreel.js
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/octane/mandreel.js')
-rw-r--r--js/src/octane/mandreel.js277403
1 files changed, 277403 insertions, 0 deletions
diff --git a/js/src/octane/mandreel.js b/js/src/octane/mandreel.js
new file mode 100644
index 0000000000..82ebd23d36
--- /dev/null
+++ b/js/src/octane/mandreel.js
@@ -0,0 +1,277403 @@
+// Portions copyright 2012 Google, Inc.
+// Copyright 2012 Onan Games. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+var MandreelBenchmark = new BenchmarkSuite('Mandreel', [16831872, 49852],
+ [new Benchmark('Mandreel',
+ false,
+ false,
+ 15,
+ runMandreel,
+ setupMandreel,
+ tearDownMandreel,
+ RMSMandreel,
+ 4)]);
+
+var mandreelSumSquaredPauses = 0;
+var mandreelSamples = 0;
+var mandreelSampleTimeStart = 0.0;
+
+function setupMandreel() {
+ // Check for Typed Arrays support, throw error if not.
+ if (!(typeof Uint8Array != "undefined" &&
+ typeof Float64Array != "undefined" &&
+ typeof (new Uint8Array(0)).subarray != "undefined")) {
+ throw "TypedArrayUnsupported";
+ }
+
+ my_old_constructors = mandreel_call_constructors;
+ mandreel_call_constructors = my_mandreel_call_constructors;
+ startMandreelTimer();
+ startApp();
+ _mandreelAppAudioReady();
+}
+
+function runMandreel() {
+ Mandreel_currentTime = 0;
+ var sp = g_stack_pointer+800*1024;
+ for (var i=0;i<mandreel_total_memory/4;i++) {
+ heap32[i] = my_heap32[i];
+ }
+ tlsf_ptr = 0;
+ heapNewPos = my_heapNewPos;
+ my_old_constructors(llvm_2E_global_ctors,5,sp);
+ heapU32[sp>>2] = 640;
+ heapU32[(sp+4)>>2] = 480;
+ __mandreel_internal_SetResolution(sp);
+ __mandreel_internal_init(g_stack_pointer+800*1024);
+ __init(g_stack_pointer+800*1024);
+ for (var i = 0; i < 20; i++) {
+ render();
+ Mandreel_flushTimeouts();
+ updateMandreelStats(performance.now());
+ }
+ Mandreel_checkState();
+}
+
+function updateMandreelStats(time) {
+ var pause = time - mandreelSampleTimeStart;
+ mandreelSampleTimeStart = time;
+ mandreelSumSquaredPauses += (pause * pause);
+ mandreelSamples++;
+}
+
+function startMandreelTimer() {
+ mandreelSampleTimeStart = performance.now();
+}
+
+function RMSMandreel() {
+ return Math.round(Math.sqrt(mandreelSumSquaredPauses / mandreelSamples) * 100);
+}
+
+function tearDownMandreel() {
+ my_old_constructors = null;
+ my_heap = null;
+ my_heap8 = null;
+ my_heap32 = null;
+
+ heap = null;
+ heap8 = null;
+ heapU8 = null;
+ heap16 = null;
+ heapU16 = null;
+ heap32 = null;
+ heapU32 = null;
+ heapFloat = null;
+ heapDouble = null;
+ mandreelAppUsePackAsyncTexture = null;
+ mandreelSumSquaredPauses = 0;
+ mandreelSamples = 0;
+}
+
+// Mocks for browser functions.
+
+function Mandreel_setTimeout(cmd, delay) {
+ timeouts.push(cmd);
+}
+
+function Mandreel_flushTimeouts() {
+ while (Mandreel_timeouts.length != 0) {
+ var next = Mandreel_timeouts.pop();
+ eval(next);
+ }
+}
+
+Mandreel_timeouts = new Array();
+
+Mandreel_XMLHttpRequest = function() {
+ this.open = function(type, url, some_bool) {
+ this.url = url;
+ }
+ this.overrideMimeType = function() {
+ }
+ this.send = function() {
+ this.response = null;
+ this.readyState = 4;
+ this.status = 0;
+ this.onreadystatechange();
+ }
+};
+
+function Mandreel_Element(type) {
+ this.element_type = type;
+ this.insertBefore = function() {
+ }
+}
+
+
+function Mandreel_Context() {
+}
+
+function Mandreel_Canvas() {
+}
+
+function Mandreel_CanvasDiv() {
+}
+
+Mandreel_document = {
+ createElement : function(element_type) {
+ var element = new Mandreel_Element(element_type);
+ element.parentNode = new Mandreel_Element("dummy_parent");
+ return element;
+ },
+ getElementById : function(name) {
+ if (name === "canvas") {
+ return new Mandreel_Canvas();
+ } else if (name === "canvasDiv") {
+ return new Mandreel_CanvasDiv();
+ } else {
+ return undefined;
+ }
+ },
+ getElementsByTagName : function(element) {
+ if (element === "script") {
+ return new Array(new this.createElement(element));
+ }
+ }
+
+};
+
+Mandreel_window = {
+ WebGLRenderingContext: {},
+ Float64Array: Float64Array,
+ Float32Array: Float32Array,
+ Int32Array: Int32Array,
+ Uint32Array: Uint32Array,
+ Int16Array: Int16Array,
+ Uint16Array: Uint16Array,
+ Int8Array: Int8Array,
+ Uint8Array: Uint8Array,
+ setTimeout: Mandreel_setTimeout,
+ addEventListener : function () {},
+ document: Mandreel_document
+};
+
+function dump(x) { }
+
+alert = typeof alert != "undefined" ? alert : function(x) {
+ print(x);
+}
+
+var my_old_constructors;
+var my_heap;
+var my_heap8;
+var my_heap32;
+var my_heapNewPos;
+
+function my_mandreel_call_constructors(_ptr, size,stackPos) {
+ my_heapNewPos = heapNewPos;
+ my_heap = new ArrayBuffer(mandreel_total_memory);
+ my_heap8 = new Int8Array(my_heap);
+ my_heap32 = new Int32Array(my_heap);
+ for (var i=0;i<mandreel_total_memory/4;i++) {
+ my_heap32[i] = heap32[i];
+ }
+ my_old_constructors(_ptr,size,stackPos);
+}
+
+
+var Mandreel_currentTime = 0;
+
+function Date_now() {
+ Mandreel_currentTime += 16;
+ return Mandreel_currentTime;
+}
+
+function Mandreel_checkState() {
+ var sum = 0;
+ for (var i = 0; i < heap32.length; i += 100) {
+ sum = (sum * 3 + heap32[i]) & 0xFFFFFF;
+ }
+ if (sum != 8001026) {
+ alert("Check sum mismatch: expected ???, actual " + sum);
+ }
+}
+
+// Original Mandreel code follows.
+// Modifications for benchmarking are marked in comments.
+
+// Start of js/main.js file:
+
+////////////////////////////////////////////
+function startApp(_platform)
+{
+ // Start mandreel
+ var params =
+ {
+ platform : _platform,
+ width : 1024,
+ height : 768,
+ webglCanvas : "canvas",
+ flashCanvas : "FlashDiv",
+ workingFolderFlash : "data/as3/",
+ workingFolderWebgl : "data/js/",
+ swfFlash : "mandreel.swf",
+ log : true
+ };
+ mandreelAppStart(appStartState,params);
+}
+
+////////////////////////////////////////////
+function appStartState(state,param)
+{
+ // mandreel.js program is been loaded
+ if ( state == "loadingScript" )
+ {
+ }
+
+ // mandreel.js program has been loaded
+ if ( state == "scriptLoaded" )
+ {
+ }
+
+ // loading pack data file
+ if (state == "loadingData")
+ {
+ // param bytes loaded
+ }
+
+ // Audio system is been started
+ if ( state == "loadingAudio" )
+ {
+ }
+
+ // Audio system is ready and the default audio preloading has been done
+ if ( state == "audioLoaded" )
+ {
+ }
+
+
+
+ // Mandreel has been started, render will start automatically
+ if ( state == "ready" )
+ {
+ // Hide loading image
+ var canvasElement = Mandreel_document.getElementById('loading');
+ if ( canvasElement != null )
+ canvasElement.style.visibility = "hidden";
+ }
+
+ // An error has been produced during the start process and the app must quit
+ if ( state == "error" )
+ {
+ if ( param == "webgl_not_found" )
+ {
+ window.location = "http://get.webgl.org";
+ return;
+ }
+ alert(param);
+ }
+}
+
+// End of js/main.js file.
+
+// Start of js/mandreelapp.js file.
+
+var mandreelAppMandreelJs = "mandreel.js";
+var mandreelAppMandreelJsCompressed = false;
+var mandreelAppWorkingFolder = "data/js/";
+var mandreelAppLog = false;
+var mandreelAppLocalHost = "http://localhost";
+var mandreelAppReadDataFromLocalHost = false;
+var mandreelAppReadMandreelJsFromLocalHost = false;
+var mandreelAppHostedAudioServer = null;
+var mandreelAppHostedAudioUrl = null;
+var mandrelCurrentFatVersion = "1.4";
+var mandreelAppPlatform = "webgl";
+var mandreelAppCanvasWidth = 1024;
+var mandreelAppCanvasHeight = 768;
+var mandreelAppWidthSrc = 1024;
+var mandreelAppHeightSrc = 768;
+var mandreelAppCanvasName = "canvas";
+var mandreelAppCanvasDiv = "canvasDiv";
+var mandreelAppUseFlashSockets = false;
+var mandreelAppUsePackAsyncTexture = new Array();
+//var mandreelBufferPackAsyncTexture = null;
+var mandreelAppForceFocus = true;
+var _imandreel_pause_game = false;
+
+/* The following code was removed for benchmarking:
+navigator.pointer = navigator.pointer || navigator.webkitPointer || navigator.mozPointer || null;*/
+
+/* The following code was removed for benchmarking:
+ if (!Date_now) {
+ Date_now = function() {
+ return +new Date();
+ };
+ };*/
+
+////////////////////////////////////////////
+
+if (Mandreel_window["console"])
+{
+ if (!Mandreel_window["dump"]) Mandreel_window["dump"] = function dump(str){ if ( mandreelAppLog ) console.log(str) };
+}
+else
+{
+ if (!Mandreel_window["dump"]) Mandreel_window["dump"] = function dump(str){ };
+}
+
+/* The following code is removed for benchmarking:
+var mandreel_BrowserDetect = {
+ init: function () {
+ this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
+ this.version = this.searchVersion(navigator.userAgent)
+ || this.searchVersion(navigator.appVersion)
+ || "an unknown version";
+ this.OS = this.searchString(this.dataOS) || "an unknown OS";
+ },
+ searchString: function (data) {
+ for (var i=0;i<data.length;i++) {
+ var dataString = data[i].string;
+ var dataProp = data[i].prop;
+ this.versionSearchString = data[i].versionSearch || data[i].identity;
+ if (dataString) {
+ if (dataString.indexOf(data[i].subString) != -1)
+ return data[i].identity;
+ }
+ else if (dataProp)
+ return data[i].identity;
+ }
+ },
+ searchVersion: function (dataString) {
+ var index = dataString.indexOf(this.versionSearchString);
+ if (index == -1) return;
+ return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
+ },
+ dataBrowser: [
+ {
+ string: navigator.userAgent,
+ subString: "Chrome",
+ identity: "Chrome"
+ },
+ { string: navigator.userAgent,
+ subString: "OmniWeb",
+ versionSearch: "OmniWeb/",
+ identity: "OmniWeb"
+ },
+ {
+ string: navigator.vendor,
+ subString: "Apple",
+ identity: "Safari",
+ versionSearch: "Version"
+ },
+ {
+ prop: window.opera,
+ identity: "Opera",
+ versionSearch: "Version"
+ },
+ {
+ string: navigator.vendor,
+ subString: "iCab",
+ identity: "iCab"
+ },
+ {
+ string: navigator.vendor,
+ subString: "KDE",
+ identity: "Konqueror"
+ },
+ {
+ string: navigator.userAgent,
+ subString: "Firefox",
+ identity: "Firefox"
+ },
+ {
+ string: navigator.vendor,
+ subString: "Camino",
+ identity: "Camino"
+ },
+ { // for newer Netscapes (6+)
+ string: navigator.userAgent,
+ subString: "Netscape",
+ identity: "Netscape"
+ },
+ {
+ string: navigator.userAgent,
+ subString: "MSIE",
+ identity: "Explorer",
+ versionSearch: "MSIE"
+ },
+ {
+ string: navigator.userAgent,
+ subString: "Gecko",
+ identity: "Mozilla",
+ versionSearch: "rv"
+ },
+ { // for older Netscapes (4-)
+ string: navigator.userAgent,
+ subString: "Mozilla",
+ identity: "Netscape",
+ versionSearch: "Mozilla"
+ }
+ ],
+ dataOS : [
+ {
+ string: navigator.platform,
+ subString: "Win",
+ identity: "Windows"
+ },
+ {
+ string: navigator.platform,
+ subString: "Mac",
+ identity: "Mac"
+ },
+ {
+ string: navigator.userAgent,
+ subString: "iPhone",
+ identity: "iPhone/iPod"
+ },
+ {
+ string: navigator.platform,
+ subString: "Linux",
+ identity: "Linux"
+ }
+ ]
+
+};
+mandreel_BrowserDetect.init(); */
+
+////////////////////////////////////////////
+var mandreel_packfiledata_name = null;
+var mandreel_packfiledata_compressed = false;
+var mandreel_packfiledata_size = 0;
+var mandreel_total_packtexture_size = 0;
+var mandreel_total_pogfile_size = 0;
+var mandreel_loaded_packtexture_size = 0;
+var mandreel_jslzma_size = 0;
+var mandreel_swf_size = 0;
+
+var mandreelJsScriptLoaded_loaded = false;
+
+var mandreel_swf_last_total_size = 0;
+function mandreel_swf_size_updated(str)
+{
+ var params = str.split(',');
+ if ( mandreel_swf_size == 0 )
+ {
+ mandreel_swf_last_loaded_size = 0;
+ }
+ mandreel_swf_size = parseInt(params[0]);
+ var loaded = parseInt(params[1]);
+ var delta_size = loaded - mandreel_swf_last_loaded_size;
+ mandreel_swf_last_loaded_size = loaded;
+
+ var percentage = ((100*loaded)/mandreel_swf_size)|0;
+ if (percentage>100)
+ percentage = 100;
+
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingScriptUpdate",percentage);
+
+ imandreel_update_load(delta_size,0);
+}
+
+function mandreel_swf_size_loaded(str)
+{
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("scriptLoaded","");
+}
+
+function mandreelNextDecompress(mandreel_result_lzma)
+{
+
+ if ( mandreelAppStartStateFunc )
+ {
+ var totalBytesLeft = mandreel_result_lzma.totalSize - mandreel_result_lzma.remainingBytes;
+
+ var percentage;
+
+ if (totalBytesLeft == 0)
+ percentage = 0;
+ else
+ percentage = ((100*totalBytesLeft)/mandreel_result_lzma.totalSize)|0;
+
+ mandreelAppStartStateFunc("uncompressingDataUpdate",percentage);
+ }
+
+ var old_result = mandreel_result_lzma;
+ mandreel_result_lzma = LZMA.decompress2(mandreel_result_lzma.inStream,mandreel_result_lzma.inStream,mandreel_result_lzma.outStream,mandreel_result_lzma);
+
+ if (mandreel_result_lzma == null)
+ {
+ //setTimeout(mandreelLoadScript,10,old_result.my_outStream.data);
+
+ //mandreel_fs_saveFile('data.bin', old_result.my_outStream.arrayBuffer);
+ //callback(old_result.my_outStream.arrayBuffer);
+ //alert('done');
+ mandreelLoadPackData(old_result.my_outStream.arrayBuffer,true);
+ }
+ else
+ {
+ Mandreel_setTimeout(mandreelNextDecompress,10,mandreel_result_lzma);
+ }
+
+
+}
+
+function mandreel_load_packfile(array_buffer)
+{
+ if (array_buffer)
+ {
+ mandreelLoadPackData(array_buffer,false);
+ return;
+ }
+
+ var working_folder = mandreelAppWorkingFolder;
+ if ( mandreelAppReadDataFromLocalHost )
+ working_folder = mandreelAppLocalHost+"/"+mandreelAppWorkingFolder;
+ var packdata_request = new XMLHttpRequest();
+ var url = working_folder+mandreel_packfiledata_name;
+
+ packdata_request.open("GET", url, true);
+
+ if("responseType" in packdata_request)
+ packdata_request.responseType="arraybuffer";
+ else
+ packdata_request.overrideMimeType('text/plain; charset=x-user-defined');
+
+ var last_loaded_size = 0;
+
+ packdata_request.onreadystatechange = function()
+ {
+ if (packdata_request.readyState != 4) return;
+
+ if (packdata_request.status == 200)
+ {
+ var buffer;
+ if (packdata_request.responseType=="arraybuffer")
+ buffer=packdata_request.response;
+ else if (packdata_request.mozResponseArrayBuffer != null)
+ buffer = packdata_request.mozResponseArrayBuffer;
+ else
+ buffer=packdata_request.response;
+
+ if (mandreel_packfiledata_compressed)
+ {
+ var inStream = {
+ data: new Uint8Array(buffer),
+ offset: 0,
+ readByte: function(){
+ return this.data[this.offset ++];
+ }
+ };
+
+ var outStream = {
+ data: null,
+ offset: 0,
+ binary_mode : true,
+ writeByte: function(value){
+ this.data[this.offset ++] = value;
+ }
+ };
+
+
+ var result = LZMA.decompress2(inStream,inStream,outStream,null);
+
+ if (result == null)
+ mandreelLoadPackData(outStream.arrayBuffer,true);
+ else
+ Mandreel_setTimeout(mandreelNextDecompress,10,result);
+ }
+ else
+ mandreelLoadPackData(buffer,true);
+ }
+ else
+ {
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("error","can't load packfile data");
+ }
+ }
+ packdata_request.onprogress = function(e)
+ {
+ var delta_size = e.loaded - last_loaded_size;
+ last_loaded_size = e.loaded;
+ var percentage = ((100*e.loaded)/mandreel_packfiledata_size)|0;
+
+
+ imandreel_update_load(delta_size,0);
+
+ if (percentage>100)
+ percentage = 100;
+
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingData",percentage);
+ }
+
+ packdata_request.send();
+}
+
+function mandreelJsScriptLoaded()
+{
+ if (mandreelJsScriptLoaded_loaded)
+ return;
+
+ if (typeof(mandreel_cache_files)=="undefined")
+ {
+ Mandreel_setTimeout(mandreelJsScriptLoaded,10);
+ return;
+ }
+
+ mandreelJsScriptLoaded_loaded = true;
+
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("scriptLoaded","");
+
+ if (mandreel_packfiledata_name)
+ {
+
+ mandreel_fs_load_binary(mandreel_packfiledata_name, mandreel_load_packfile);
+
+
+ }
+ else
+ {
+ mandreelCacheMandreelFat();
+ imandreelJsScriptLoaded();
+ }
+}
+
+function imandreelLoadAudio()
+{
+ g_mandreel_working_folder = mandreelAppWorkingFolder;
+ if ( mandreelAppReadDataFromLocalHost )
+ g_mandreel_working_folder = mandreelAppLocalHost+"/"+mandreelAppWorkingFolder;
+
+ // load audio
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingAudio","");
+ mandreel_start_audio(mandreelAppHostedAudioServer,mandreelAppHostedAudioUrl,_mandreelAppAudioReady);
+}
+
+var _mandreel_currentPackTexture = '';
+
+function imandreel_packasynctexture_loaded(buffer,save_file)
+{
+ if (save_file)
+ mandreel_fs_saveFile(_mandreel_currentPackTexture,buffer);
+
+ //mandreelBufferPackAsyncTexture = buffer;
+ Mandreel_TextureAsync_PackBufferData[_mandreel_currentPackTexture] = buffer;
+
+ imandreelLoadNextTexturePack();
+}
+
+var mandreel_update_total_size = 0;
+
+function imandreel_update_load(size, total)
+{
+ if (total == 0)
+ total = mandreel_packfiledata_size + mandreel_total_packtexture_size + mandreel_total_pogfile_size + mandreel_jslzma_size + mandreel_swf_size;
+
+
+ mandreel_update_total_size+=size;
+
+ var percentage = ((100*mandreel_update_total_size)/total)|0;
+
+ if (percentage>100)
+ percentage = 100;
+ if (mandreelAppStartStateFunc)
+ mandreelAppStartStateFunc("loadingProgress",percentage);
+
+}
+
+
+function imandreel_packasynctexture_load(array_buffer)
+{
+ if (array_buffer)
+ {
+ imandreel_packasynctexture_loaded(array_buffer, false);
+ return;
+ }
+
+
+ var working_folder = mandreelAppWorkingFolder;
+ if ( mandreelAppReadDataFromLocalHost )
+ working_folder = mandreelAppLocalHost+"/"+mandreelAppWorkingFolder;
+ var packdata_request = new XMLHttpRequest();
+ var url = working_folder+_mandreel_currentPackTexture;
+
+ packdata_request.open("GET", url, true);
+
+ if("responseType" in packdata_request)
+ packdata_request.responseType="arraybuffer";
+ else
+ packdata_request.overrideMimeType('text/plain; charset=x-user-defined');
+
+ var last_loaded_size = 0;
+
+ packdata_request.onreadystatechange = function()
+ {
+ if (packdata_request.readyState != 4) return;
+
+ if (packdata_request.status == 200)
+ {
+ var buffer;
+ if (packdata_request.responseType=="arraybuffer")
+ buffer=packdata_request.response;
+ else if (packdata_request.mozResponseArrayBuffer != null)
+ buffer = packdata_request.mozResponseArrayBuffer;
+ else
+ buffer=packdata_request.response;
+
+ imandreel_packasynctexture_loaded(buffer, true);
+ }
+ else
+ {
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("error","can't load textureasync pack data");
+ }
+ }
+ packdata_request.onprogress = function(e)
+ {
+ var delta_size = e.loaded - last_loaded_size;
+ last_loaded_size = e.loaded;
+ mandreel_loaded_packtexture_size+=delta_size;
+
+ imandreel_update_load(delta_size,0);
+
+ var percentage = ((100*mandreel_loaded_packtexture_size)/mandreel_total_packtexture_size)|0;
+
+ if (percentage>100)
+ percentage = 100;
+
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingTextureAsyncPack",percentage);
+ }
+
+ packdata_request.send();
+
+}
+
+function imandreelLoadNextTexturePack()
+{
+ if (mandreelAppUsePackAsyncTexture.length)
+ {
+ _mandreel_currentPackTexture = mandreelAppUsePackAsyncTexture.pop();
+ mandreel_fs_load_binary(_mandreel_currentPackTexture, imandreel_packasynctexture_load);
+ }
+ else
+ imandreelLoadAudio();
+}
+
+function imandreelJsScriptLoaded()
+{
+ imandreelLoadNextTexturePack();
+}
+
+////////////////////////////////////////////
+
+function mandreelDecompressJSReady(code, save_file)
+{
+ if (save_file)
+ mandreel_fs_saveFile(mandreelAppMandreelJs + ".lzma", code);
+
+ var ga = Mandreel_document.createElement('script');
+ ga.type = "text/javascript";
+ ga.text = code;
+ var s = Mandreel_document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ s.parentNode.removeChild(ga);
+ mandreelJsScriptLoaded();
+}
+
+function mandreelNextDecompressJS(mandreel_result_lzma)
+{
+
+ if ( mandreelAppStartStateFunc )
+ {
+ var totalBytesLeft = mandreel_result_lzma.totalSize - mandreel_result_lzma.remainingBytes;
+
+ var percentage;
+
+ if (totalBytesLeft == 0)
+ percentage = 0;
+ else
+ percentage = ((100*totalBytesLeft)/mandreel_result_lzma.totalSize)|0;
+
+ mandreelAppStartStateFunc("uncompressingScriptUpdate",percentage);
+ }
+
+ var old_result = mandreel_result_lzma;
+ mandreel_result_lzma = LZMA.decompress2(mandreel_result_lzma.inStream,mandreel_result_lzma.inStream,mandreel_result_lzma.outStream,mandreel_result_lzma);
+
+ if (mandreel_result_lzma == null)
+ {
+ mandreelDecompressJSReady(old_result.my_outStream.data,true);
+ }
+ else
+ {
+ Mandreel_setTimeout(mandreelNextDecompressJS,10,mandreel_result_lzma);
+ }
+
+
+}
+
+function mandreel_load_compressed_js(code_js)
+{
+ if (code_js)
+ {
+ mandreelDecompressJSReady(code_js,false);
+ return;
+ }
+ var xmlhttp_get = new XMLHttpRequest();
+
+ var url = mandreelAppMandreelJs + ".lzma";
+ if ( mandreelAppReadMandreelJsFromLocalHost )
+ url = mandreelAppLocalHost+"/"+url;
+
+ xmlhttp_get.open('GET',url);
+
+
+ if("responseType" in xmlhttp_get)
+ xmlhttp_get.responseType="arraybuffer";
+ else
+ xmlhttp_get.overrideMimeType('text/plain; charset=x-user-defined');
+
+ var last_loaded_size = 0;
+
+ xmlhttp_get.onreadystatechange = function()
+ {
+ if (xmlhttp_get.readyState==4)
+ {
+ if (xmlhttp_get.status==200 || xmlhttp_get.status==0)
+ {
+
+ var inStream = {
+ data: new Uint8Array(xmlhttp_get.response),
+ offset: 0,
+ readByte: function(){
+ return this.data[this.offset ++];
+ }
+ };
+
+ var outStream = {
+ data: new String(""),
+ offset: 0,
+ binary_mode : false,
+ writeByte: function(value){
+ this.data+=String.fromCharCode(value);
+ }
+ };
+
+
+ var result = LZMA.decompress2(inStream,inStream,outStream,null);
+ if (result == null)
+ mandreelDecompressJSReady(outStream.data,true);
+ else
+ Mandreel_setTimeout(mandreelNextDecompressJS,10,result);
+ }
+ else
+ {
+ alert('error ' + xmlhttp_get.status);
+ }
+ }
+
+ }
+
+ xmlhttp_get.onprogress = function(e)
+ {
+ var delta_size = e.loaded - last_loaded_size;
+ last_loaded_size = e.loaded;
+
+ var percentage = ((100*e.loaded)/e.total)|0;
+
+ mandreel_jslzma_size = e.total;
+
+ imandreel_update_load(delta_size,0);
+
+ if (percentage>100)
+ percentage = 100;
+
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingScriptUpdate",percentage);
+ }
+
+ xmlhttp_get.send();
+
+}
+
+function mandreelLoadMandreelJsScript()
+{
+ if (mandreelAppMandreelJsCompressed)
+ {
+ mandreel_fs_load_text(mandreelAppMandreelJs + ".lzma", mandreel_load_compressed_js);
+
+ }
+ else
+ {
+ var ga = Mandreel_document.createElement('script');
+ ga.type = 'text/javascript';
+ ga.async = true;
+ ga.onload = ga.onreadystatechange = mandreelJsScriptLoaded;
+ var url = mandreelAppMandreelJs;
+ if ( mandreelAppReadMandreelJsFromLocalHost )
+ ga.src = mandreelAppLocalHost+"/"+url;
+ else
+ ga.src = url;
+ var s = Mandreel_document.getElementsByTagName('script')[0];
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingScript","");
+ s.parentNode.insertBefore(ga, s);
+ }
+}
+
+////////////////////////////////////////////
+function mandreelFatLoaded()
+{
+ if ( mandreelAppPlatform == "nacl" )
+ {
+ g_mandreel_working_folder = mandreelAppWorkingFolder;
+ if ( mandreelAppReadDataFromLocalHost )
+ g_mandreel_working_folder = mandreelAppLocalHost+"/"+mandreelAppWorkingFolder;
+
+ // load audio
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingAudio","");
+ _mandreelAppAudioReady();
+ }
+ else
+ mandreelLoadMandreelJsScript();
+}
+
+var mandreelFatData = "";
+var mandreelFatPreloadRequest = 0;
+////////////////////////////////////////////
+
+function mandreel_chanka_fixfile(fileName)
+{
+ var fileNameNoExt = fileName.toLowerCase();
+ fileNameNoExt = fileNameNoExt.replace(/\\/g,"/");
+
+ fileNameNoExt = fileNameNoExt.substr(1);
+
+ var new_fileName = '';
+
+ for(var j = 0; j < fileNameNoExt.length; j++)
+ {
+ var data = fileNameNoExt.charCodeAt(j);
+
+ if (data != 13)
+ {
+ var t = String.fromCharCode(data);
+ new_fileName+=t;
+ }
+ }
+
+ return new_fileName;
+}
+
+function mandreel_removecr(my_string)
+{
+ var new_string = '';
+ for(var j = 0; j < my_string.length; j++)
+ {
+ var data = my_string.charCodeAt(j);
+
+ if (data != 13)
+ {
+ var t = String.fromCharCode(data);
+ new_string+=t;
+ }
+ }
+
+ return new_string;
+}
+
+function mandreelCacheMandreelFat()
+{
+ var array_mandreel_fat = new ArrayBuffer(mandreelFatData.length+1);
+
+
+ {
+ var j;
+ var len = mandreelFatData.length;
+ var data_char;
+
+ var my_bytes = new Uint8Array(array_mandreel_fat);
+
+ for(j = 0; j < len; j++)
+ {
+ data_char = mandreelFatData.charCodeAt(j);
+
+ my_bytes[j] = data_char;
+ }
+ my_bytes[j] = 0;
+ }
+
+
+ mandreel_cache_files['mandreel.fat'] = array_mandreel_fat;
+}
+
+function mandreelLoadPackData(data, save_pack)
+{
+ var files = mandreelFatData.split('\n');
+
+ var current_dir = '';
+ var current_offset = 0;
+
+ if (save_pack)
+ mandreel_fs_saveFile(mandreel_packfiledata_name,data);
+
+
+ for (var i=0;i<files.length;++i)
+ {
+ var file_data = files[i].split(',');
+
+ if (file_data[0] == 'dir')
+ {
+ current_dir = file_data[1];
+ //current_dir = current_dir.substr(0,current_dir.lengh-1);
+ }
+ else if (file_data[0] == 'file')
+ {
+ var file_name = current_dir + file_data[1];
+ file_name = mandreel_chanka_fixfile(file_name) ;
+ //dump('new file ' + file_name + ' ' + current_offset);
+ //dump(file_name);
+ var file_size = parseInt(file_data[2]);
+
+ var my_array = new ArrayBuffer(file_size);
+
+ var my_bytes = new Uint8Array(my_array);
+
+ var data_bytes = new Uint8Array(data,current_offset,file_size);
+
+ my_bytes.set(data_bytes);
+
+ mandreel_cache_files[file_name] = my_array;
+
+
+ current_offset+=file_size;
+
+
+ }
+ }
+
+
+
+ g_mandreel_datafiles_sufix = '';
+ mandreelCacheMandreelFat();
+
+ imandreelJsScriptLoaded();
+}
+
+var preCreatedWebAudioContext = null;
+
+function mandreelLoadFat()
+{
+ mandreelFatPreloadRequest = new Mandreel_XMLHttpRequest();
+ var working_folder = mandreelAppWorkingFolder;
+ if ( mandreelAppReadDataFromLocalHost )
+ working_folder = mandreelAppLocalHost+"/"+mandreelAppWorkingFolder;
+ var url = working_folder+"mandreel.fat.dat";
+ if ( mandreelAppPlatform == "nacl" )
+ url = working_folder+"mandreel.fat";
+ mandreelFatPreloadRequest.open("GET", url, true);
+ mandreelFatPreloadRequest.onreadystatechange = function()
+ {
+ if (mandreelFatPreloadRequest.readyState != 4) return;
+ if ( mandreelFatPreloadRequest.status != 404 && mandreelFatPreloadRequest.response != null )
+ {
+ mandreelFatData = mandreelFatPreloadRequest.response;
+ }
+ if ( mandreelFatData == "" )
+ {
+ dump("error loading mandreel.fat file, Maybe the working folder is not correctly set???");
+ }
+
+ var packfiledata = null;
+ var compressed = false;
+ var packfiledata_size = 0;
+ var total_packtexture_size = 0;
+ var pogsize = 0;
+
+ // Check version
+ var FatLines = mandreelFatData.split('\n');
+ for ( var i=0;i<FatLines.length;++i )
+ {
+ var line = mandreel_removecr(FatLines[i]);
+ var params = line.split(',');
+ if ( params[0] == "version" )
+ {
+ if ( params[1] != mandrelCurrentFatVersion )
+ dump("warning: mandreel.fat version number is ("+params[1]+") and it should be ("+mandrelCurrentFatVersion+")");
+
+ }
+ else if ( params[0] == "platform" && params[1] != "js" && (mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas") )
+ dump("warning: mandreel.fat platform is ("+params[1]+") and it should be (js)");
+ else if ( params[0] == "platform" && params[1] != "nacl" && mandreelAppPlatform == "nacl" )
+ dump("warning: mandreel.fat platform is ("+params[1]+") and it should be (nacl)");
+ else if (params[0] == 'packdata')
+ {
+ packfiledata = params[1];
+ compressed = params[2].charAt(0) == '1';
+ packfiledata_size = parseInt(params[3], 10);
+ }
+ else if (params[0] == 'flashsockets')
+ {
+ mandreelAppUseFlashSockets = true;
+ }
+ else if (params[0] == 'packtexture')
+ {
+ var filename = params[1];
+ var size_packtexture = parseInt(params[3], 10);
+ total_packtexture_size+=size_packtexture;
+ mandreelAppUsePackAsyncTexture.push(filename);
+ }
+ else if (params[0] == 'audiopreloadfile')
+ {
+ pogsize = parseInt(params[2],10);
+ }
+ else if (params[0] == 'audiodriver' && params[1] == 'webaudio')
+ {
+ try { preCreatedWebAudioContext = new webkitAudioContext(); } catch(err) { preCreatedWebAudioContext = null; }
+ }
+ }
+
+ if ( preCreatedWebAudioContext != null )
+ mandreel_total_pogfile_size = pogsize;
+ mandreel_packfiledata_name = packfiledata;
+ mandreel_packfiledata_compressed = compressed;
+ mandreel_packfiledata_size = packfiledata_size;
+ mandreel_total_packtexture_size = total_packtexture_size;
+ mandreelFatLoaded();
+ }
+ mandreelFatPreloadRequest.send();
+}
+
+var mandreelAppStartStateFunc = 0;
+var mandreelDisableSpaceKey = true;
+////////////////////////////////////////////
+function mandreelAppStart(startStateFunc,params)
+{
+ mandreelAppStartStateFunc = startStateFunc;
+
+
+
+
+ if ( typeof(params.log) != 'undefined' )
+ mandreelAppLog = params.log;
+
+ if ( typeof(params.platform) != 'undefined' )
+ mandreelAppPlatform = params.platform;
+
+ if (typeof(params.mandreelJSCompressed) != 'undefined' )
+ mandreelAppMandreelJsCompressed = params.mandreelJSCompressed;
+
+
+/* The following code is removed for benchmarking:
+ if ((mandreel_BrowserDetect.browser == 'Chrome' || mandreel_BrowserDetect.browser == 'Safari') && mandreel_BrowserDetect.OS == 'Mac' && mandreelAppPlatform == "flash")
+ mandreelDisableSpaceKey = false; */
+
+ if ( mandreelAppPlatform != "webgl" && mandreelAppPlatform != "flash" && mandreelAppPlatform != "nacl" && mandreelAppPlatform != "canvas" && mandreelAppPlatform != "plugin")
+ {
+ mandreelAppStartStateFunc("error",'platform ('+mandreelAppPlatform+') not supported');
+ return;
+ }
+
+ if ( mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas" )
+ {
+ mandreelAppWorkingFolder = "data/js/";
+ if ( typeof(params.workingFolderWebgl) != 'undefined' )
+ mandreelAppWorkingFolder = params.workingFolderWebgl;
+ // Check Float64Array availability
+ if ( !Mandreel_window["Float64Array"] )
+ {
+ mandreelAppStartStateFunc("error",'Browser unsupported: Float64Array not available');
+ return;
+ }
+
+ var flashElement = Mandreel_document.getElementById('FlashWrapper');
+ if ( flashElement != null )
+ {
+ flashElement.style.visibility = "hidden";
+ flashElement.style.width = "0px";
+ flashElement.style.height = "0px";
+ }
+ var flashElement = Mandreel_document.getElementById('FlashDiv');
+ if ( flashElement != null )
+ {
+ flashElement.style.visibility = "hidden";
+ flashElement.style.width = "0px";
+ flashElement.style.height = "0px";
+ }
+
+ // Setup WebGL
+ if ( typeof(params.webglCanvas) == 'undefined' )
+ {
+ mandreelAppStartStateFunc("error",'canvas parameter not found');
+ return;
+ }
+ var canvas = Mandreel_document.getElementById(params.webglCanvas);
+ if ( canvas == null )
+ {
+ mandreelAppStartStateFunc("error",'canvas object ('+params.webglCanvas+') not found');
+ return;
+ }
+ if ( params.width != null )
+ {
+ canvas.width = params.width;
+ mandreelAppWidthSrc = params.width;
+ }
+ if ( params.height != null )
+ {
+ canvas.height = params.height;
+ mandreelAppHeightSrc = params.height;
+ }
+ if ( mandreelAppPlatform == "webgl" )
+ {
+ // The following code is removed for benchmarking:
+ // imandreel_gl = WebGLUtils.setupWebGL(canvas,{premultipliedAlpha:false,alpha:false});
+ // if (imandreel_gl == null)
+ // {
+ // mandreelAppStartStateFunc("error","webgl_not_found");
+ // return;
+ // }
+ }
+
+ if ( mandreelAppPlatform == "canvas" )
+ {
+ imandreel_ctx_canvas = canvas.getContext('2d');
+ if ( imandreel_ctx_canvas == null )
+ {
+ mandreelAppStartStateFunc("error","canvas context 2d not found");
+ return;
+ }
+ }
+
+ if (params.cache != null)
+ {
+ //alert( params.cache.size + params.cache.url);
+ mandreel_fs_init(function() { if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingFat","");
+ mandreelLoadFat();}, params.cache.size,params.cache.url);
+ }
+ else
+ {
+ // load Fat
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingFat","");
+ mandreelLoadFat();
+ }
+ }
+
+ if ( mandreelAppPlatform == "flash" )
+ {
+ mandreelAppWorkingFolder = "data/as3/";
+ if ( typeof(params.workingFolderFlash) != 'undefined' )
+ mandreelAppWorkingFolder = params.workingFolderFlash;
+ if (!swfobject.hasFlashPlayerVersion('11.2.0'))
+ {
+ mandreelAppStartStateFunc("error","flash 11 not found");
+ return;
+ }
+
+ if ( typeof(params.flashCanvas) == 'undefined' )
+ {
+ mandreelAppStartStateFunc("error",'canvas parameter not found');
+ return;
+ }
+
+ if ( true ) // hide webgl canvas
+ {
+ var canvas = Mandreel_document.getElementById(mandreelAppCanvasDiv);
+ if ( canvas != null )
+ {
+ canvas.style.visibility = "hidden";
+ canvas.style.width = "0px";
+ canvas.style.height = "0px";
+ }
+ }
+
+ if ( params.width != null )
+ {
+ mandreelAppCanvasWidth = params.width;
+ }
+ if ( params.height != null )
+ {
+ mandreelAppCanvasHeight = params.height;
+ }
+
+ mandreelAppCanvasDiv = params.flashCanvas;
+
+ try
+ {
+ var mandreelSocketsSwf = "mandreel.swf";
+ if ( typeof(params.swfFlash) != 'undefined' )
+ mandreelSocketsSwf = params.swfFlash;
+
+ var my_flashvars = "workingFolder=" + encodeURIComponent(mandreelAppWorkingFolder);
+ if ( typeof(params.log) != 'undefined' && params.log == true)
+ my_flashvars += "&log=true"
+ my_flashvars += "&width=" + params.width;
+ my_flashvars += "&height=" + params.height;
+ my_flashvars += "&swfloader=" + mandreelSocketsSwf;
+
+ if (typeof(params.restore_context) != 'undefined' && params.restore_context == true)
+ my_flashvars += "&restore_context=1";
+
+ if (typeof(params.antialiasing) != 'undefined')
+ my_flashvars += "&antialiasing=" + params.antialiasing;
+
+ if (typeof(params.right_click_enable) != 'undefined' && params.right_click_enable == true)
+ my_flashvars += "&right_click=1";
+
+ if (typeof(params.disable_depth) != 'undefined' && params.disable_depth == true)
+ my_flashvars += "&disable_depth=1";
+
+ var swfname = "mandreelloader.swf";
+ if ( typeof(params.swfPreloader) != 'undefined' && params.swfPreloader == false)
+ swfname = mandreelSocketsSwf;
+
+ var swf = swfobject.createSWF({ data:swfname, width:"100%", height:"100%" }, { menu:"false",allowScriptAccess:"always",allowFullScreen:"true",wmode:"direct",scale:"noscale",salign :"tl",bgcolor:"#000000",flashvars:my_flashvars}, params.flashCanvas);
+ if ( !swf )
+ {
+ mandreelAppStartStateFunc("error","error loading " + swfname);
+ return;
+ }
+ else
+ {
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingScript","");
+ }
+ }
+ catch(err)
+ {
+ mandreelAppStartStateFunc("error","exception " + err + " while loading " + mandreelSocketsSwf);
+ return;
+ }
+
+ appStartState('loadingScript');
+ }
+
+ if ( mandreelAppPlatform == "nacl" )
+ {
+ mandreelAppWorkingFolder = "data/nacl/";
+
+ // load Fat
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingFat","");
+ mandreelLoadFat();
+
+ }
+
+ if ( mandreelAppPlatform == "plugin" )
+ {
+ mandreelInitPluginPlatform(params);
+ }
+}
+
+
+////////////////////////////////////////////
+function MandreelAudioStartedNacl()
+{
+ var helloWorldModule = null;
+ helloWorldModule = Mandreel_document.getElementById('hello_world');
+ helloWorldModule.postMessage('init');
+ var flashElement = Mandreel_document.getElementById('FlashWrapper');
+ if ( flashElement != null )
+ flashElement.style.visibility = "hidden";
+ mandreelAppStartStateFunc("ready",mandreelAppCanvasWidth,mandreelAppCanvasHeight);
+}
+
+////////////////////////////////////////////
+function _mandreelAppStartReady()
+{
+ if ( mandreelAppPlatform == "nacl" )
+ {
+ wa_initWebAudio();
+ mandreel_webAudio_PreloadAssets();
+ }
+ else
+ {
+ if ( mandreelAppStartStateFunc )
+ {
+ mandreelAppStartRenderWebGL();
+ mandreelAppStartStateFunc("ready",mandreelAppCanvasWidth,mandreelAppCanvasHeight);
+ }
+ }
+}
+////////////////////////////////////////////
+function _mandreelAppAudioReady()
+{
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("audioLoaded","");
+
+ if ( mandreelAppUseFlashSockets )
+ mandreel_flash_sockets_load_flash(_mandreelAppStartReady);
+ else
+ _mandreelAppStartReady();
+}
+
+////////////////////////////////////////////
+function mandreelAppInit()
+{
+ if ( mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas" )
+ {
+ global_init(g_stack_pointer+800*1024);
+
+ //Mandreel_TextureAsync_PackBufferData[_mandreel_currentPackTexture] = mandreelBufferPackAsyncTexture;
+ //mandreelBufferPackAsyncTexture = null;
+ var sp = g_stack_pointer+800*1024;
+ heapU32[sp>>2] = mandreelAppCanvasWidth;
+ heapU32[(sp+4)>>2] = mandreelAppCanvasHeight;
+ __mandreel_internal_SetResolution(sp);
+ __mandreel_internal_init(g_stack_pointer+800*1024);
+ __init(g_stack_pointer+800*1024);
+ }
+}
+
+////////////////////////////////////////////
+function mandreelAppDraw(elapsed)
+{
+ if ( mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas" )
+ {
+ if ( mandreelAppPlatform == "canvas" && imandreel_ctx_canvas != null )
+ {
+ var canvas = Mandreel_document.getElementById(mandreelAppCanvasName);
+ imandreel_ctx_canvas.clearRect(0,0,canvas.width,canvas.height);
+ }
+ var sp = g_stack_pointer+800*1024;
+ __mandreel_internal_preupdate(sp);
+ heapU32[sp>>2] = elapsed;
+ __draw(sp);
+ __mandreel_internal_update(sp);
+ __mandreel_process_async_calls();
+ }
+}
+
+////////////////////////////////////////////
+function mandreelAppMouseWheel(delta)
+{
+ if ( mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas" )
+ {
+ var i7 = MandreelLockFrame();
+ heap32[(i7+0)>>2] = delta;
+ __mouseWheelDelta(i7);
+ MandreelUnlockFrame();
+ }
+}
+
+////////////////////////////////////////////
+function mandreelAppMouseMove(x,y)
+{
+ if ( mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas" )
+ {
+ var i7 = MandreelLockFrame();
+ heap32[(i7+0)>>2] = x;
+ heap32[(i7+4)>>2] = y;
+ __mouseMove(i7);
+ MandreelUnlockFrame();
+ }
+}
+
+////////////////////////////////////////////
+function mandreelAppResize(x,y)
+{
+ if ( mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas" )
+ {
+ var i7 = MandreelLockFrame();
+ heap32[(i7+0)>>2] = x;
+ heap32[(i7+4)>>2] = y;
+ __resize(i7);
+ heap32[(i7+0)>>2] = x;
+ heap32[(i7+4)>>2] = y;
+ __mandreel_internal_SetResolution(i7);
+ MandreelUnlockFrame();
+ }
+}
+
+////////////////////////////////////////////
+function mandreelAppMouseButton(down,x,y)
+{
+ if ( mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas" )
+ {
+ var i7 = MandreelLockFrame();
+ heap32[(i7+0)>>2] = down;
+ heap32[(i7+4)>>2] = x;
+ heap32[(i7+8)>>2] = y;
+ __mouseButton(i7);
+ MandreelUnlockFrame();
+ }
+}
+
+////////////////////////////////////////////
+function mandreelAppMouseDblClick(x,y)
+{
+ if ( mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas" )
+ {
+ var i7 = MandreelLockFrame();
+ heap32[(i7+0)>>2] = x;
+ heap32[(i7+4)>>2] = y;
+ __mouseDoubleClick(i7);
+ MandreelUnlockFrame();
+ }
+}
+
+////////////////////////////////////////////
+function mandreelAppKeyEvent(down,keyId)
+{
+ if ( mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas" )
+ {
+ var i7 = MandreelLockFrame();
+ heap32[(i7+0)>>2] = down;
+ heap32[(i7+4)>>2] = keyId;
+ __keyEvent(i7);
+ MandreelUnlockFrame();
+ }
+}
+
+////////////////////////////////////////////
+function mandreelAppGetPlatform()
+{
+ return mandreelAppPlatform;
+}
+
+////////////////////////////////////////////
+function mandreelAppGetElementAbsolutePos(elementName)
+{
+ var element = Mandreel_document.getElementById(elementName);
+ var res = new Object();
+ res.x = 0; res.y = 0;
+ if (element !== null)
+ {
+ if (element.getBoundingClientRect)
+ {
+ var viewportElement = Mandreel_document.documentElement;
+ var box = element.getBoundingClientRect();
+ var scrollLeft = viewportElement.scrollLeft;
+ var scrollTop = viewportElement.scrollTop;
+ res.x = box.left + scrollLeft;
+ res.y = box.top + scrollTop;
+ }
+ else
+ { //for old browsers
+ res.x = element.offsetLeft;
+ res.y = element.offsetTop;
+ var parentNode = element.parentNode;
+ var borderWidth = null;
+ while (offsetParent != null)
+ {
+ res.x += offsetParent.offsetLeft;
+ res.y += offsetParent.offsetTop;
+ var parentTagName = offsetParent.tagName.toLowerCase();
+ if ((__isIEOld && parentTagName != "table") ||
+ ((__isFireFoxNew || __isChrome) &&
+ parentTagName == "td"))
+ {
+ borderWidth = kGetBorderWidth(offsetParent);
+ res.x += borderWidth.left;
+ res.y += borderWidth.top;
+ }
+
+ if (offsetParent != Mandreel_document.body &&
+ offsetParent != Mandreel_document.documentElement)
+ {
+ res.x -= offsetParent.scrollLeft;
+ res.y -= offsetParent.scrollTop;
+ }
+
+ //next lines are necessary to fix the problem
+ //with offsetParent
+ if (!__isIE && !__isOperaOld || __isIENew)
+ {
+ while (offsetParent != parentNode &&
+ parentNode !== null) {
+ res.x -= parentNode.scrollLeft;
+ res.y -= parentNode.scrollTop;
+ if (__isFireFoxOld || __isWebKit)
+ {
+ borderWidth =
+ kGetBorderWidth(parentNode);
+ res.x += borderWidth.left;
+ res.y += borderWidth.top;
+ }
+ parentNode = parentNode.parentNode;
+ }
+ }
+
+ parentNode = offsetParent.parentNode;
+ offsetParent = offsetParent.offsetParent;
+ }
+ }
+ }
+ return res;
+}
+function __getIEVersion()
+{
+ var rv = -1; // Return value assumes failure.
+ if (navigator.appName == 'Microsoft Internet Explorer')
+ {
+ var ua = navigator.userAgent;
+ var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
+ if (re.exec(ua) != null)
+ rv = parseFloat(RegExp.$1);
+ }
+ return rv;
+}
+function __getOperaVersion()
+{
+ var rv = 0; // Default value
+ if (Mandreel_window.opera)
+ {
+ var sver = Mandreel_window.opera.version();
+ rv = parseFloat(sver);
+ }
+ return rv;
+}
+/* The following code was removed for benchmarking:
+var __userAgent = navigator.userAgent;
+var __isIE = navigator.appVersion.match(/MSIE/) != null;
+var __IEVersion = __getIEVersion();
+var __isIENew = __isIE && __IEVersion >= 8;
+var __isIEOld = __isIE && !__isIENew;
+var __isFireFox = __userAgent.match(/firefox/i) != null;
+var __isFireFoxOld = __isFireFox && ((__userAgent.match(/firefox\/2./i) != null) || (__userAgent.match(/firefox\/1./i) != null));
+var __isFireFoxNew = __isFireFox && !__isFireFoxOld;
+var __isWebKit = navigator.appVersion.match(/WebKit/) != null;
+var __isChrome = navigator.appVersion.match(/Chrome/) != null;
+var __isOpera = Mandreel_window.opera != null;
+var __operaVersion = __getOperaVersion();
+var __isOperaOld = __isOpera && (__operaVersion < 10); */
+function __parseBorderWidth(width)
+{
+ var res = 0;
+ if (typeof(width) == "string" && width != null && width != "" )
+ {
+ var p = width.indexOf("px");
+ if (p >= 0)
+ {
+ res = parseInt(width.substring(0, p));
+ }
+ else
+ {
+ //do not know how to calculate other values (such as 0.5em or 0.1cm) correctly now so just set the width to 1 pixel
+ res = 1;
+ }
+ }
+ return res;
+}
+function __getBorderWidth(element)
+{
+ var res = new Object();
+ res.left = 0; res.top = 0; res.right = 0; res.bottom = 0;
+ if (Mandreel_window.getComputedStyle)
+ {
+ //for Firefox
+ var elStyle = Mandreel_window.getComputedStyle(element, null);
+ res.left = parseInt(elStyle.borderLeftWidth.slice(0, -2));
+ res.top = parseInt(elStyle.borderTopWidth.slice(0, -2));
+ res.right = parseInt(elStyle.borderRightWidth.slice(0, -2));
+ res.bottom = parseInt(elStyle.borderBottomWidth.slice(0, -2));
+ }
+ else
+ {
+ //for other browsers
+ res.left = __parseBorderWidth(element.style.borderLeftWidth);
+ res.top = __parseBorderWidth(element.style.borderTopWidth);
+ res.right = __parseBorderWidth(element.style.borderRightWidth);
+ res.bottom = __parseBorderWidth(element.style.borderBottomWidth);
+ }
+ return res;
+}
+
+
+////////////////////////////////////////////
+// WebGL
+////////////////////////////////////////////
+ var imandreel_gl = null;
+ var imandreel_ctx_canvas = null;
+ var imandreel_is_ready = 0;
+ var imandreel_oldTime = Date_now();
+
+ function mandreel_wheel(event) { imandreel_onMouseWheel(event);event.preventDefault(); event.returnValue=false; }
+
+ ////////////////////////////////////////////
+ function mandreelAppStartRenderWebGL()
+ {
+/* The following code was removed for benchmarking:
+ var canvas = document.getElementById(mandreelAppCanvasName);
+
+ mandreelAppCanvasWidth = canvas.width;
+ mandreelAppCanvasHeight = canvas.height;
+
+ // Register event handlers
+ if(window.addEventListener){ window.addEventListener('DOMMouseScroll',mandreel_wheel,false); } window.onmousewheel=document.onmousewheel=mandreel_wheel;
+
+ window.addEventListener('mousedown',imandreel_onMouseDown,false);
+ window.addEventListener('mouseup',imandreel_onMouseUp,false);
+ window.addEventListener('mousemove',imandreel_onMouseMove,false);
+ window.addEventListener('dblclick',imandreel_onMouseDblClick,false);
+
+ document.body.oncontextmenu = function() { return false;};
+
+ var canvasDiv = document.getElementById(mandreelAppCanvasDiv);
+ canvasDiv.addEventListener('keydown',imandreel_onKeyDown,false);
+ canvasDiv.addEventListener('keyup',imandreel_onKeyUp,false);
+ canvasDiv.focus();*/
+
+ // Call mandreel app init funtion (__init())
+ mandreelAppInit();
+
+ // Start rendering
+ imandreel_is_ready = 1;
+ //imandreel_render();
+ }
+
+ ////////////////////////////////////////////
+ function imandreel_render()
+ {
+ if( ABORT )
+ return;
+
+ var canvas = Mandreel_document.getElementById(mandreelAppCanvasName);
+ WebGLUtils.requestAnimationFrame(canvas, imandreel_render);
+
+
+ // Reshape
+ if (canvas.clientWidth != mandreelAppCanvasWidth || canvas.clientHeight != mandreelAppCanvasHeight)
+ {
+ mandreelAppCanvasWidth = canvas.clientWidth;
+ mandreelAppCanvasHeight = canvas.clientHeight;
+ imandreel_gl.viewport(0, 0, mandreelAppCanvasWidth, mandreelAppCanvasHeight);
+ }
+
+ // Set the focus to the canvas div
+ if (mandreelAppForceFocus)
+ {
+ var canvasDiv = Mandreel_document.getElementById(mandreelAppCanvasDiv);
+ canvasDiv.focus();
+ }
+
+ // Call mandreel app draw funtion (__draw())
+ var nowTime = Date_now();
+ if (!g_mandreel_frame_locked)
+ {
+ g_mandreel_frame_inframe = true;
+ if (!_imandreel_pause_game)
+ mandreelAppDraw(nowTime-imandreel_oldTime);
+ g_mandreel_frame_inframe = false;
+ }
+ imandreel_oldTime = nowTime;
+ }
+
+ function render()
+ {
+ // Call mandreel app draw funtion (__draw())
+ var nowTime = Date_now();
+ if (!g_mandreel_frame_locked)
+ {
+ g_mandreel_frame_inframe = true;
+ if (!_imandreel_pause_game)
+ mandreelAppDraw(nowTime-imandreel_oldTime);
+ g_mandreel_frame_inframe = false;
+ }
+ imandreel_oldTime = nowTime;
+ }
+
+ var imandreel_last_movex = 0;
+ var imandreel_last_movey = 0;
+
+ ////////////////////////////////////////////
+ function imandreel_onMouseMove(e)
+ {
+ if (!imandreel_is_ready)
+ return;
+
+ if (_imandreel_pause_game)
+ return;
+
+ var pos = mandreelAppGetElementAbsolutePos(mandreelAppCanvasName);
+ var setX = e.clientX - pos.x;
+ var setY = e.clientY - pos.y;
+
+ if(navigator.pointer && navigator.pointer.isLocked) {
+ var deltaX = event.movementX || event.webkitMovementX || event.mozMovementX || 0;
+ var deltaY = event.movementY || event.webkitMovementY || event.mozMovementX || 0;
+
+ setX = imandreel_last_movex+deltaX;
+ setY = imandreel_last_movey+deltaY;
+ }
+
+
+ imandreel_last_movex = setX;
+ imandreel_last_movey = setY;
+ mandreelAppMouseMove(setX,setY);
+ }
+
+ ////////////////////////////////////////////
+ function imandreel_onMouseDblClick(e)
+ {
+ if (!imandreel_is_ready)
+ return;
+
+ if (_imandreel_pause_game)
+ return;
+
+ var pos = mandreelAppGetElementAbsolutePos(mandreelAppCanvasName);
+ var setX = e.clientX - pos.x;
+ var setY = e.clientY - pos.y;
+ mandreelAppMouseDblClick(setX,setY);
+ }
+
+ ////////////////////////////////////////////
+ var mandreel_mouse_down = false;
+ var mandreel_rmouse_down = false;
+ function imandreel_onMouseDown(e)
+ {
+ if (!imandreel_is_ready)
+ return;
+
+ if (_imandreel_pause_game)
+ return;
+
+ var rightclick;
+ if (!e) var e = Mandreel_window.event;
+ if (e.which) rightclick = (e.which == 3);
+ else if (e.button) rightclick = (e.button == 2);
+
+ var pos = mandreelAppGetElementAbsolutePos(mandreelAppCanvasName);
+ var setX = e.clientX - pos.x;
+ var setY = e.clientY - pos.y;
+
+ if (!rightclick)
+ {
+ if (mandreel_mouse_down)
+ return;
+
+ mandreel_mouse_down = true;
+ mandreelAppMouseButton(1,setX,setY);
+ }
+ else
+ {
+ if (mandreel_rmouse_down)
+ return;
+
+ mandreel_rmouse_down = true;
+ mandreelAppMouseButton(3,setX,setY);
+ }
+ }
+
+ ////////////////////////////////////////////
+ function imandreel_onMouseUp(e)
+ {
+ if (!imandreel_is_ready)
+ return;
+
+ if (_imandreel_pause_game)
+ return;
+
+ var rightclick;
+ if (!e) var e = Mandreel_window.event;
+ if (e.which) rightclick = (e.which == 3);
+ else if (e.button) rightclick = (e.button == 2);
+
+ var pos = mandreelAppGetElementAbsolutePos(mandreelAppCanvasName);
+ var setX = e.clientX - pos.x;
+ var setY = e.clientY - pos.y;
+
+
+ if (!rightclick)
+ {
+ if (mandreel_mouse_down == false)
+ return;
+
+ mandreel_mouse_down = false;
+ mandreelAppMouseButton(0,setX,setY);
+ }
+ else
+ {
+ if (mandreel_rmouse_down == false)
+ return;
+
+ mandreel_rmouse_down = false;
+ mandreelAppMouseButton(2,setX,setY);
+ }
+ }
+
+ ////////////////////////////////////////////
+ function imandreel_onMouseWheel(e)
+ {
+ if (!imandreel_is_ready)
+ return;
+
+ if (_imandreel_pause_game)
+ return;
+
+ mandreelAppMouseWheel(e.wheelDelta);
+ }
+
+ ////////////////////////////////////////////
+ function imandreel_onKeyUp(e)
+ {
+ if (!imandreel_is_ready)
+ return;
+
+ if (_imandreel_pause_game)
+ return;
+
+ var KeyID = e.keyCode;
+ mandreelAppKeyEvent(0,KeyID);
+ }
+
+ ////////////////////////////////////////////
+ Mandreel_window.onkeydown = function(e)
+ {
+ if (mandreelDisableSpaceKey == false && e.keyCode == 32)
+ return;
+ return !(e.keyCode == 32 || e.keyCode == 9);
+ };
+
+ ////////////////////////////////////////////
+ function imandreel_onKeyDown(e)
+ {
+ if (e.which === 8) // disable back button on browser
+ {
+ e.preventDefault();
+ }
+ if (!imandreel_is_ready)
+ return;
+
+ if (_imandreel_pause_game)
+ return;
+
+ var KeyID = e.keyCode;
+ mandreelAppKeyEvent(1,KeyID);
+ }
+
+
+////////////////////////////////////////////
+// Flash
+////////////////////////////////////////////
+
+(function(){
+ try {
+ // Disabling SWFObject's Autohide feature
+ if (typeof swfobject.switchOffAutoHideShow === "function") {
+ swfobject.switchOffAutoHideShow();
+ }
+ } catch(e) {}
+ })();
+
+var imandreel_flash_global_sp = 0;
+var imandreel_flash_global_sp2 = 0;
+var imandreel_flash_current_sp = 0;
+
+function MandreelInterSwfLoaded2()
+{
+}
+function MandreelInterSwfLoaded()
+{
+ appStartState('scriptLoaded');
+ var flashMovie = swfobject.getObjectById(mandreelAppCanvasDiv)
+ dump(flashMovie.width);
+ flashMovie.MandreelInit();
+
+ imandreel_flash_global_sp = MandreelInterGetSWF().MandreelInterGetGlobalStack();
+ imandreel_flash_global_sp2 = MandreelInterGetSWF().MandreelInterGetGlobalStack2();
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("ready",mandreelAppCanvasWidth,mandreelAppCanvasHeight);
+}
+
+
+
+var g_mandreel_swf = null;
+
+function MandreelInterGetSWF()
+{
+ if (g_mandreel_swf)
+ return g_mandreel_swf;
+
+ g_mandreel_swf = swfobject.getObjectById(mandreelAppCanvasDiv)
+ return g_mandreel_swf;
+}
+
+function MandreelInterWriteInt(ptr, value)
+{
+ MandreelInterGetSWF().MandreelInterWriteInt(ptr,value);
+}
+
+function MandreelInterWriteFloat(ptr, value)
+{
+ MandreelInterGetSWF().MandreelInterWriteFloat(ptr,value);
+}
+
+function MandreelInterWriteString(ptr, value)
+{
+ MandreelInterGetSWF().MandreelInterWriteString(ptr,value);
+}
+
+function MandreelInterWriteWString(ptr, value)
+{
+ MandreelInterGetSWF().MandreelInterWriteWString(ptr,value);
+}
+
+function MandreelInterCallFunctionRaw(sp, func_name, returnType)
+{
+ return MandreelInterGetSWF().MandreelInterCallFunctionRaw(sp,func_name,returnType);
+}
+
+
+function assert(condition, _text) {
+//console.assert(condition, _text);
+ if (!condition) {
+ var text = "Assertion failed: " + _text;
+ alert(text + ':\n' + (new Error).stack);
+ ABORT = true;
+ throw "Assertion: " + text;
+ }
+ }
+
+
+
+function MandreelLockFrame()
+{
+ MandreelInterGetSWF().MandreelLockFrame();
+
+ imandreel_flash_current_sp += 300*1024;
+
+ assert(imandreel_flash_current_sp<1024*1024);
+
+ return imandreel_flash_current_sp;
+}
+
+function MandreelPause()
+{
+ MandreelInterGetSWF().MandreelPause();
+}
+
+function MandreelResume()
+{
+ MandreelInterGetSWF().MandreelResume();
+}
+
+
+function MandreelUnlockFrame()
+{
+ imandreel_flash_current_sp -= 300*1024;
+ MandreelInterGetSWF().MandreelUnlockFrame();
+}
+
+
+
+function MandreelInterCallFunctionAsync(func_name,param)
+{
+ return MandreelInterGetSWF().MandreelInterCallFunctionAsync(func_name, param);
+}
+
+
+function MandreelInterCallFunction(returnType,func_name)
+{
+ var size_params = 0;
+
+ var i;
+ var num_params = (arguments.length-2)/2;
+ num_params|=0;
+ for (i=2;i<num_params*2+2;i+=2)
+ {
+ var type = arguments[i];
+
+ var size_arg = 0;
+ switch(type)
+ {
+ case 'int':
+ size_arg = 4;
+ break;
+ case 'float':
+ size_arg = 4;
+ break;
+ case 'string':
+ size_arg = 4;
+ size_arg += ((arguments[i+1].length + 4) & 0xfffffffc);
+ break;
+ case 'wstring':
+ size_arg = 4;
+ size_arg += ((arguments[i+1].length*2 + 4) & 0xfffffffc);
+ break;
+ default:
+ assert(false);
+ }
+
+ size_params += size_arg;
+ }
+
+ // stack always 8 byte aligned
+ size_params=((size_params+7)& 0xfffffff8);
+
+ var sp = 0;
+
+ if (i<(arguments.length))
+ sp = arguments[i];
+ else
+ {
+ assert(false);
+ }
+
+
+ sp-=size_params;
+
+ MandreelLockFrame();
+
+ var offset = 0;
+ var ptr_data = num_params*4+sp;
+ for (i=2;i<num_params*2+2;i+=2)
+ {
+ var type = arguments[i];
+
+
+ var size_arg = 0;
+ switch(type)
+ {
+ case 'int':
+ MandreelInterWriteInt((sp+offset),arguments[i+1]);
+ break;
+ case 'float':
+ MandreelInterWriteFloat((sp+offset),arguments[i+1]);
+ break;
+ case 'string':
+ {
+ MandreelInterWriteInt((sp+offset),ptr_data);
+ var string = arguments[i+1];
+ MandreelInterWriteString(ptr_data,string);
+
+ ptr_data += ((string.length + 4) & 0xfffffffc);
+ }
+ break;
+ case 'wstring':
+ {
+ MandreelInterWriteInt((sp+offset),ptr_data);
+ var string = arguments[i+1];
+ MandreelInterWriteWString(ptr_data,string);
+
+ ptr_data += ((string.length*2 + 4) & 0xfffffffc);
+ }
+ break;
+ default:
+ assert(false);
+ }
+ offset+=4;
+ }
+
+ return_value = MandreelInterCallFunctionRaw(sp, func_name, returnType);
+
+ MandreelUnlockFrame();
+
+ if (returnType == 'int')
+ return parseInt(return_value);
+ else if (returnType == 'float')
+ return parseFloat(return_value);
+
+ return;
+}
+
+
+
+// file system
+
+var g_mandreel_timestamp_fs = 0;
+var g_mandreel_fs = null;
+
+function onMandreelQuotaOk(fs)
+{
+ g_mandreel_fs = fs;
+ dump('onMandreelQuotaOk');
+}
+
+
+function MandreelFsErrorHandler(e) {
+ var msg = '';
+
+ switch (e.code) {
+ case FileError.QUOTA_EXCEEDED_ERR:
+ msg = 'QUOTA_EXCEEDED_ERR';
+ break;
+ case FileError.NOT_FOUND_ERR:
+ msg = 'NOT_FOUND_ERR';
+ break;
+ case FileError.SECURITY_ERR:
+ msg = 'SECURITY_ERR';
+ break;
+ case FileError.INVALID_MODIFICATION_ERR:
+ msg = 'INVALID_MODIFICATION_ERR';
+ break;
+ case FileError.INVALID_STATE_ERR:
+ msg = 'INVALID_STATE_ERR';
+ break;
+ default:
+ msg = 'Unknown Error';
+ break;
+ };
+
+ dump('Error: ' + msg);
+ dump(e);
+}
+
+var indexedDB = Mandreel_window.indexedDB || Mandreel_window.webkitIndexedDB ||
+ Mandreel_window.mozIndexedDB;
+
+if ('webkitIndexedDB' in Mandreel_window) {
+ Mandreel_window.IDBTransaction = Mandreel_window.webkitIDBTransaction;
+ Mandreel_window.IDBKeyRange = Mandreel_window.webkitIDBKeyRange;
+}
+
+
+var mandreel_indexedDB = {};
+mandreel_indexedDB.db = null;
+mandreel_indexedDB.callback_init = false;
+
+mandreel_indexedDB.onerror = function(e) {
+ dump(e);
+};
+
+mandreel_indexedDB.init = function(callback)
+{
+ try {
+ var request = indexedDB.open('my_cache', 2);
+
+ request.onerror = function(event) {
+ callback(false);
+ };
+ request.onupgradeneeded = function(event) {
+ dump('onupgradeneeded\n');
+ mandreel_indexedDB.db = event.target.result;
+ var db = mandreel_indexedDB.db;
+ var objectStore = db.createObjectStore("cache",{keyPath: "fileName"});
+ }
+
+ request.onsuccess = function(event) {
+ dump('onsuccess\n');
+ mandreel_indexedDB.db = event.target.result;
+ callback(true);
+
+ };
+ }
+ catch(e)
+ {
+ callback(false);
+ }
+
+}
+
+function mandreel_fs_init(callback, size_bytes, url_time)
+{
+
+ g_mandreel_timestamp_fs = 99999999999999;
+
+
+
+
+ var aux = null;
+ try { aux = webkitStorageInfo; } catch(err) { aux = null; }
+ if (aux == null)
+ {
+ //callback(false);
+
+ var time_request = new XMLHttpRequest();
+ time_request.open('GET',url_time);
+ time_request.onreadystatechange = function()
+ {
+ if (time_request.readyState==4)
+ {
+ if (time_request.status==200 || time_request.status==0)
+ {
+
+ if (time_request.responseText)
+ {
+ g_mandreel_timestamp_fs = parseFloat(time_request.responseText);
+ dump('mandreel_init_fs time ' + g_mandreel_timestamp_fs);
+ }
+ }
+
+ mandreel_indexedDB.init(callback);
+ }
+ }
+ time_request.send();
+
+
+ return;
+ }
+
+ webkitStorageInfo.requestQuota(
+ webkitStorageInfo.PERSISTENT , // or PERSISTENT
+ size_bytes,
+ function(bytes) { dump('request quota succeed');},
+ function () { dump('request quota failed');} );
+
+
+// g_mandreel_timestamp_fs =0;
+
+ var time_request = new XMLHttpRequest();
+ time_request.open('GET',url_time);
+ time_request.onreadystatechange = function()
+ {
+ if (time_request.readyState==4)
+ {
+ if (time_request.status==200 || time_request.status==0)
+ {
+
+ if (time_request.responseText)
+ {
+ g_mandreel_timestamp_fs = parseFloat(time_request.responseText);
+ dump('mandreel_init_fs time ' + g_mandreel_timestamp_fs);
+ }
+ }
+
+ var my_requestFileSystem = Mandreel_window.requestFileSystem || Mandreel_window.webkitRequestFileSystem;
+
+ my_requestFileSystem(Mandreel_window.PERSISTENT, size_bytes,
+ function(result)
+ {
+ onMandreelQuotaOk(result);
+
+
+ if (callback)
+ Mandreel_setTimeout(callback, 100, true);
+ } , function(e) { MandreelFsErrorHandler(e); if (callback) callback(false); } );
+ }
+ }
+ time_request.send();
+}
+
+
+mandreel_indexedDB.load = function(file_name, callback)
+{
+ var db = mandreel_indexedDB.db;
+ var trans = db.transaction(["cache"]);
+ var store = trans.objectStore("cache");
+
+ var key = file_name;
+
+ var getReq = store.get(key);
+ getReq.onsuccess = function (ev) {
+ if (getReq.result)
+ {
+ dump('chanka ' + g_mandreel_timestamp_fs + ' ' + getReq.result.timeStamp + '\n');
+ if (getReq.result.timeStamp>=g_mandreel_timestamp_fs)
+ callback(getReq.result.data);
+ else
+ callback(null);
+ }
+ else
+ callback(null);
+ }
+ getReq.onerror = function (ev) {
+ console.log("index.get failed. Error: " + ev.message);
+ }
+}
+
+function mandreel_fs_get_url(file_name, callback)
+{
+ if (mandreel_indexedDB.db)
+ {
+ callback(null);
+ return;
+ }
+
+
+ if (g_mandreel_fs == null)
+ {
+ callback(null);
+ return;
+ }
+
+ g_mandreel_fs.root.getFile(file_name, {}, function(fileEntry) {
+
+ fileEntry.getMetadata(function(metaData){
+ var my_seconds = metaData.modificationTime.getTime()/1000;
+
+ if (g_mandreel_timestamp_fs>my_seconds)
+ {
+ callback(null);
+ }
+ else
+ {
+ //alert('mandreel_fscachefile2');
+
+
+ if (Mandreel_window.localStorage.getItem(mandreel_fs_get_key(file_name)) != null)
+ callback(fileEntry.toURL());
+ else
+ callback(null);
+
+ }
+
+
+ }, MandreelFsErrorHandler);
+
+
+ }, function(error) {callback(null);});
+
+ return;
+
+}
+
+function mandreel_fs_load_binary(file_name, callback)
+ {
+ if (mandreel_indexedDB.db)
+ {
+ mandreel_indexedDB.load(file_name,callback);
+ return;
+ }
+
+
+ if (g_mandreel_fs == null)
+ {
+ callback(null);
+ return;
+ }
+
+
+ g_mandreel_fs.root.getFile(file_name, {}, function(fileEntry) {
+
+ fileEntry.getMetadata(function(metaData){
+ var my_seconds = metaData.modificationTime.getTime()/1000;
+
+ if (g_mandreel_timestamp_fs>my_seconds)
+ {
+ dump('mandreel_fscachefile1');
+ Mandreel_window.localStorage.removeItem(mandreel_fs_get_key(file_name));
+ fileEntry.remove(function() {
+ callback(null);
+ }, MandreelFsErrorHandler);
+
+ }
+ else
+ {
+ //alert('mandreel_fscachefile2');
+ dump('mandreel_fscachefile2 ' + my_seconds);
+
+ fileEntry.file(function(file) {
+
+ var reader = new FileReader();
+
+
+ reader.onloadend = function(e) {
+
+ if (this.result.byteLength && Mandreel_window.localStorage.getItem(mandreel_fs_get_key(file_name)) != null)
+ {
+ dump('mandreel_fs_loadFile ' + file_name);
+ callback(this.result);
+ }
+ else
+ callback(null);
+
+ };
+
+
+ reader.readAsArrayBuffer(file);
+
+
+ }, MandreelFsErrorHandler);
+
+ }
+
+
+ }, MandreelFsErrorHandler);
+
+
+ }, function(error) {dump('mandreel_fscachefile3'); callback(null);});
+
+ return;
+ }
+
+
+ mandreel_indexedDB.save = function(file_name, data)
+{
+ var db = mandreel_indexedDB.db;
+
+
+ var trans = db.transaction(["cache"], IDBTransaction.READ_WRITE);
+ var store = trans.objectStore("cache");
+ var request = store.put({
+ "data": data,
+ "timeStamp" : Date_now()/1000,
+ "fileName" : file_name
+ });
+
+ request.onsuccess = function(e) {
+ // Re-render all the todo's
+ // html5rocks.indexedDB.getAllTodoItems();
+ dump('mandreel_indexedDB.save ok ');
+ };
+
+ request.onerror = function(e) {
+ dump('mandreel_indexedDB.save onerror ' + file_name);
+ dump(e);
+ };
+}
+
+function mandreel_fs_get_key(name)
+{
+ return 'mandreel_fs_' + name;
+}
+
+function mandreel_is_filesystem()
+{
+ if (mandreel_indexedDB.db)
+ return false;
+
+ if (!g_mandreel_fs)
+ return false;
+
+ return true;
+}
+
+function mandreel_is_indexeddb()
+{
+ if (mandreel_indexedDB.db)
+ return true;
+
+ return false;
+}
+
+ function mandreel_fs_saveFile(name, my_arrayBuffer)
+{
+ if (mandreel_indexedDB.db)
+ {
+ mandreel_indexedDB.save(name,my_arrayBuffer);
+ return;
+ }
+
+ if (!g_mandreel_fs)
+ return;
+
+ Mandreel_window.localStorage.removeItem(mandreel_fs_get_key(name));
+ g_mandreel_fs.root.getFile(name, {create: true}, function(fileEntry) {
+
+ // Create a FileWriter object for our FileEntry (log.txt).
+ fileEntry.createWriter(function(fileWriter) {
+
+ fileWriter.onwriteend = function(e) {
+ Mandreel_window.localStorage.setItem(mandreel_fs_get_key(name),'valid');
+ dump('Write completed.');
+ };
+
+ fileWriter.onerror = function(e) {
+ dump('Write failed: ' + e.toString());
+ };
+
+ var my_BlobBuilder = Mandreel_window.MozBlobBuilder || Mandreel_window.WebKitBlobBuilder || Mandreel_window.BlobBuilder;
+
+ var bb = new my_BlobBuilder(); // Note: window.WebKitBlobBuilder in Chrome 12.
+ bb.append(my_arrayBuffer);
+ fileWriter.write(bb.getBlob('text/plain'));
+
+
+
+ }, MandreelFsErrorHandler);
+
+ }, MandreelFsErrorHandler);
+}
+
+
+function mandreel_fs_load_text(file_name, callback)
+ {
+
+ if (mandreel_indexedDB.db)
+ {
+ mandreel_indexedDB.load(file_name,callback);
+ return;
+ }
+
+ if (g_mandreel_fs == null)
+ {
+ callback(null);
+ return;
+ }
+
+
+ g_mandreel_fs.root.getFile(file_name, {}, function(fileEntry) {
+
+ fileEntry.getMetadata(function(metaData){
+ var my_seconds = metaData.modificationTime.getTime()/1000;
+
+ if (g_mandreel_timestamp_fs>my_seconds)
+ {
+ dump('mandreel_fscachefile1');
+ Mandreel_window.localStorage.removeItem(mandreel_fs_get_key(file_name));
+ fileEntry.remove(function() {
+ callback(null);
+ }, MandreelFsErrorHandler);
+
+ }
+ else
+ {
+ //alert('mandreel_fscachefile2');
+ dump('mandreel_fscachefile2 ' + my_seconds);
+
+ fileEntry.file(function(file) {
+
+ var reader = new FileReader();
+
+
+ reader.onloadend = function(e) {
+
+
+ if (this.result.length && Mandreel_window.localStorage.getItem(mandreel_fs_get_key(file_name)) != null)
+ {
+ dump('mandreel_fs_loadFile ' + file_name);
+ callback(this.result);
+ }
+ else
+ callback(null);
+
+ };
+
+
+ reader.readAsText(file);
+
+
+ }, MandreelFsErrorHandler);
+
+ }
+
+
+ }, MandreelFsErrorHandler);
+
+
+ }, function(error) {dump('mandreel_fscachefile3'); callback(null);});
+
+ return;
+ }
+
+
+ // full screen
+
+
+/* The following code was removed for benchmarking:
+ var __screen = screen; */
+
+ try
+ {
+ (function(global) {
+ "use strict";
+ var elementPrototype = (global.HTMLElement || global.Element)["prototype"];
+
+ // document.isFullScreen
+ if(!Mandreel_document.hasOwnProperty("fullscreenEnabled")) {
+ var getter = (function() {
+ // These are the functions that match the spec, and should be preferred
+ if("webkitIsFullScreen" in Mandreel_document) {
+ return function() { return Mandreel_document.webkitIsFullScreen; }
+ }
+ if("mozFullScreen" in Mandreel_document) {
+ return function() { return Mandreel_document.mozFullScreen; }
+ }
+ return function() { return false }; // not supported, never fullscreen
+ })();
+
+ Object.defineProperty(Mandreel_document, "fullscreenEnabled", {
+ enumerable: true, configurable: false, writeable: false,
+ get: getter
+ });
+ }
+
+ if(!Mandreel_document.hasOwnProperty("fullscreenElement")) {
+ var getter = (function() {
+ // These are the functions that match the spec, and should be preferred
+ if("webkitFullscreenElement" in Mandreel_document) {
+ return function() { return Mandreel_document.webkitFullscreenElement; }
+ }
+ if("mozFullscreenElemen" in Mandreel_document) {
+ return function() { return Mandreel_document.mozFullscreenElemen; }
+ }
+ return function() { return null }; // not supported
+ })();
+
+ Object.defineProperty(Mandreel_document, "fullscreenElement", {
+ enumerable: true, configurable: false, writeable: false,
+ get: getter
+ });
+ }
+
+ // Document event: fullscreenchange
+ function fullscreenchange(oldEvent) {
+ var newEvent = Mandreel_document.createEvent("CustomEvent");
+ newEvent.initCustomEvent("fullscreenchange", true, false, null);
+ // TODO: Any need for variable copy?
+ Mandreel_document.dispatchEvent(newEvent);
+ }
+ Mandreel_document.addEventListener("webkitfullscreenchange", fullscreenchange, false);
+ Mandreel_document.addEventListener("mozfullscreenchange", fullscreenchange, false);
+
+ // Document event: fullscreenerror
+ function fullscreenerror(oldEvent) {
+ var newEvent = Mandreel_document.createEvent("CustomEvent");
+ newEvent.initCustomEvent("fullscreenerror", true, false, null);
+ // TODO: Any need for variable copy?
+ Mandreel_document.dispatchEvent(newEvent);
+ }
+ Mandreel_document.addEventListener("webkitfullscreenerror", fullscreenerror, false);
+ Mandreel_document.addEventListener("mozfullscreenerror", fullscreenerror, false);
+
+ // element.requestFullScreen
+ if(!elementPrototype.requestFullScreen) {
+ elementPrototype.requestFullScreen = (function() {
+ if(elementPrototype.webkitRequestFullScreen) {
+ return function() {
+ this.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
+ }
+ }
+
+ return elementPrototype.mozRequestFullScreen ||
+ function(){ /* unsupported, fail silently */ };
+ })();
+ }
+
+ // document.cancelFullscreen
+ if(!Mandreel_document.cancelFullScreen) {
+ Mandreel_document.cancelFullScreen = (function() {
+ return Mandreel_document.webkitCancelFullScreen ||
+ Mandreel_document.mozCancelFullScreen ||
+ function(){ /* unsupported, fail silently */ };
+ })();
+ }
+ })((typeof(exports) != 'undefined') ? global : Mandreel_window);
+ }
+ catch(e)
+ {
+ }
+
+
+try
+ {
+var __onErrorFullscreen = function() {
+ dump("Mouse lock was not successful.");
+};
+
+Mandreel_document.addEventListener('fullscreenchange', function(e) {
+
+var width;
+var height;
+ var canvas = Mandreel_document.getElementById(mandreelAppCanvasName);
+ if(Mandreel_document.fullscreenEnabled) {
+
+
+ width = __screen.width;
+ height = __screen.height;
+
+ } else {
+ width = mandreelAppWidthSrc;
+ height = mandreelAppHeightSrc;
+ }
+
+ canvas.width = width;
+ canvas.height = height;
+ mandreelAppResize(width, height);
+
+ if (Mandreel_document.fullscreenEnabled && navigator.pointer) {
+ navigator.pointer.lock(Mandreel_document.body, function() {
+ // Locked and ready to play.
+ }, __onErrorFullscreen);
+ }
+}, false);
+
+}
+catch(e)
+{
+}
+
+
+
+function mandreelAppFullscreen(enable)
+{
+ var canvas = Mandreel_document.getElementById(mandreelAppCanvasName);
+ if ( mandreelAppPlatform == "webgl" || mandreelAppPlatform == "canvas" )
+ {
+ if (canvas)
+ {
+ if (enable)
+ canvas.requestFullScreen();
+ else
+ Mandreel_document.cancelFullScreen();
+ }
+ }
+}
+
+
+function mandreelAppDisableForceFocus()
+{
+ mandreelAppForceFocus = false;
+}
+
+function mandreelAppEnableForceFocus()
+{
+ mandreelAppForceFocus = true;
+}
+
+var imandreel_base64 = {};
+imandreel_base64.PADCHAR = '=';
+imandreel_base64.ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+
+imandreel_base64.makeDOMException = function() {
+ // sadly in FF,Safari,Chrome you can't make a DOMException
+ var e, tmp;
+
+ try {
+ return new DOMException(DOMException.INVALID_CHARACTER_ERR);
+ } catch (tmp) {
+ // not available, just passback a duck-typed equiv
+ // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error
+ // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error/prototype
+ var ex = new Error("DOM Exception 5");
+
+ // ex.number and ex.description is IE-specific.
+ ex.code = ex.number = 5;
+ ex.name = ex.description = "INVALID_CHARACTER_ERR";
+
+ // Safari/Chrome output format
+ ex.toString = function() { return 'Error: ' + ex.name + ': ' + ex.message; };
+ return ex;
+ }
+}
+
+imandreel_base64.getbyte64 = function(s,i) {
+ // This is oddly fast, except on Chrome/V8.
+ // Minimal or no improvement in performance by using a
+ // object with properties mapping chars to value (eg. 'A': 0)
+ var idx = imandreel_base64.ALPHA.indexOf(s.charAt(i));
+ if (idx === -1) {
+ throw imandreel_base64.makeDOMException();
+ }
+ return idx;
+}
+
+imandreel_base64.decode = function(s) {
+ // convert to string
+ s = '' + s;
+ var getbyte64 = imandreel_base64.getbyte64;
+ var pads, i, b10;
+ var imax = s.length
+ if (imax === 0) {
+ return s;
+ }
+
+ if (imax % 4 !== 0) {
+ throw imandreel_base64.makeDOMException();
+ }
+
+ pads = 0
+ if (s.charAt(imax - 1) === imandreel_base64.PADCHAR) {
+ pads = 1;
+ if (s.charAt(imax - 2) === imandreel_base64.PADCHAR) {
+ pads = 2;
+ }
+ // either way, we want to ignore this last block
+ imax -= 4;
+ }
+
+ var x = [];
+ for (i = 0; i < imax; i += 4) {
+ b10 = (getbyte64(s,i) << 18) | (getbyte64(s,i+1) << 12) |
+ (getbyte64(s,i+2) << 6) | getbyte64(s,i+3);
+ x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 0xff, b10 & 0xff));
+ }
+
+ switch (pads) {
+ case 1:
+ b10 = (getbyte64(s,i) << 18) | (getbyte64(s,i+1) << 12) | (getbyte64(s,i+2) << 6);
+ x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 0xff));
+ break;
+ case 2:
+ b10 = (getbyte64(s,i) << 18) | (getbyte64(s,i+1) << 12);
+ x.push(String.fromCharCode(b10 >> 16));
+ break;
+ }
+ return x.join('');
+}
+
+if (!Mandreel_window.atob) {
+Mandreel_window.atob = function(a) { return imandreel_base64.decode(a); }
+}
+
+
+function imandreel_interop_callbridge(new_method, sp)
+{
+
+ var n = new Array();
+
+ for( var i = 2; i < arguments.length; i++ )
+ {
+
+ if (typeof arguments[i] == 'string')
+ n.push(atob(arguments[i]));
+ else
+ n.push(arguments[i]);
+ }
+
+ var total_args = arguments.length-2;
+
+ switch(total_args)
+ {
+ case 0:
+ return Mandreel_window[new_method](sp);
+ case 1:
+ return Mandreel_window[new_method](sp, n[0]);
+ case 2:
+ return Mandreel_window[new_method](sp, n[0], n[1]);
+ case 3:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2]);
+ case 4:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3]);
+ case 5:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4]);
+ case 6:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5]);
+ case 7:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5], n[6]);
+ case 8:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7]);
+ case 9:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7], n[8]);
+ case 10:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7], n[8], n[9]);
+ case 11:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7], n[8], n[9], n[10]);
+ case 12:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7], n[8], n[9], n[10], n[11]);
+ case 13:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7], n[8], n[9], n[10], n[11], n[12]);
+ case 14:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7], n[8], n[9], n[10], n[11], n[12], n[13]);
+ case 15:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7], n[8], n[9], n[10], n[11], n[12], n[13], n[14]);
+ case 16:
+ return Mandreel_window[new_method](sp, n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7], n[8], n[9], n[10], n[11], n[12], n[13], n[14], n[15]);
+ break;
+ }
+
+}
+function imandreel_as3_dump(param)
+{
+ dump(atob(param));
+}
+
+
+var mandreel_embed_plugin;
+
+function PluginMandreelInterWriteInt(ptr, value)
+{
+ mandreel_embed_plugin.MandreelInterCalls("WriteInt", ptr,value);
+}
+
+function PluginMandreelInterWriteFloat(ptr, value)
+{
+ mandreel_embed_plugin.MandreelInterCalls("WriteFloat", ptr,value);
+}
+
+function PluginMandreelInterWriteString(ptr, value)
+{
+ mandreel_embed_plugin.MandreelInterCalls("WriteString", ptr,value);
+}
+
+function PluginMandreelInterWriteWString(ptr, value)
+{
+ mandreel_embed_plugin.MandreelInterCalls("WriteWString", ptr,value);
+}
+
+var mandreel_plugin_current_sp = 0;
+
+function PluginMandreelLockFrame()
+{
+ var result = mandreel_embed_plugin.MandreelInterCalls("LockFrame");
+
+ mandreel_plugin_current_sp+=300*1024;
+
+ assert(mandreel_plugin_current_sp<1024*1024);
+
+ return result+mandreel_plugin_current_sp;
+}
+
+function PluginMandreelPause()
+{
+ mandreel_embed_plugin.MandreelInterCalls("Pause");
+}
+
+function PluginMandreelResume()
+{
+ mandreel_embed_plugin.MandreelInterCalls("Resume");
+}
+
+
+function PluginMandreelUnlockFrame()
+{
+ mandreel_embed_plugin.MandreelInterCalls("UnlockFrame");
+
+ mandreel_plugin_current_sp-=300*1024;
+}
+
+function PluginMandreelInterCallFunction()
+{
+ var total_args = arguments.length;
+
+ switch(total_args)
+ {
+ case 0:
+ return mandreel_embed_plugin.MandreelInterCallFunction();
+ case 1:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0]);
+ case 2:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1]);
+ case 3:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2]);
+ case 4:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3]);
+ case 5:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);
+ case 6:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);
+ case 7:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6]);
+ case 8:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7]);
+ case 9:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7], arguments[8]);
+ case 10:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7], arguments[8], arguments[9]);
+ case 11:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7], arguments[8], arguments[9], arguments[10]);
+ case 12:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7], arguments[8], arguments[9], arguments[10], arguments[11]);
+ case 13:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7], arguments[8], arguments[9], arguments[10], arguments[11], arguments[12]);
+ case 14:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7], arguments[8], arguments[9], arguments[10], arguments[11], arguments[12], arguments[13]);
+ case 15:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7], arguments[8], arguments[9], arguments[10], arguments[11], arguments[12], arguments[13], arguments[14]);
+ case 16:
+ return mandreel_embed_plugin.MandreelInterCallFunction(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7], arguments[8], arguments[9], arguments[10], arguments[11], arguments[12], arguments[13], arguments[14], arguments[15]);
+ break;
+ }
+}
+
+function mandreel_plugin_draw()
+{
+ var canvas = Mandreel_document.getElementById('canvasDiv');
+ WebGLUtils.requestAnimationFrame(canvas, mandreel_plugin_draw);
+ mandreel_embed_plugin.MandreelInterCalls("AppDraw");
+
+}
+
+function mandreelInitPluginPlatform(params)
+{
+
+ if ( params.width != null )
+ mandreelAppWidthSrc = params.width;
+
+ if ( params.height != null )
+ mandreelAppHeightSrc = params.height;
+
+
+ mandreel_embed_plugin = Mandreel_document.createElement('embed');
+ mandreel_embed_plugin.setAttribute('width',mandreelAppWidthSrc);
+ mandreel_embed_plugin.setAttribute('height',mandreelAppHeightSrc);
+ mandreel_embed_plugin.setAttribute('type',"application/halfbrick-npruntime-scriptable-plugin");
+
+ var div = Mandreel_document.getElementById('canvasDiv');
+
+
+ var oChild=div.firstChild;
+
+ div.replaceChild(mandreel_embed_plugin, oChild);
+
+ var flashElement = Mandreel_document.getElementById('FlashWrapper');
+ if ( flashElement != null )
+ {
+ flashElement.style.visibility = "hidden";
+ flashElement.style.width = "0px";
+ flashElement.style.height = "0px";
+ }
+
+
+
+
+
+ Mandreel_window.MandreelInterWriteInt = PluginMandreelInterWriteInt;
+ Mandreel_window.MandreelInterWriteFloat = PluginMandreelInterWriteInt;
+ Mandreel_window.MandreelInterWriteString = PluginMandreelInterWriteString;
+ Mandreel_window.MandreelInterWriteWString = PluginMandreelInterWriteWString;
+ Mandreel_window.MandreelLockFrame = PluginMandreelLockFrame;
+ Mandreel_window.MandreelUnlockFrame = PluginMandreelUnlockFrame;
+ Mandreel_window.MandreelInterCallFunction = PluginMandreelInterCallFunction;
+ Mandreel_window.MandreelPause = PluginMandreelPause;
+ Mandreel_window.MandreelResume = PluginMandreelResume;
+
+ Mandreel_setTimeout(function () {
+
+ if ( typeof(params.pluginSolutionName) != 'undefined' )
+ mandreel_embed_plugin.init(params.pluginDLL, params.pluginWorkingFolder,params.pluginSolutionName);
+ else
+ mandreel_embed_plugin.init(params.pluginDLL, params.pluginWorkingFolder);
+
+
+ mandreelAppStartStateFunc("ready",mandreelAppWidthSrc,mandreelAppHeightSrc);
+
+ Mandreel_setTimeout("mandreel_plugin_draw()", 16);
+ }, 100);
+
+}
+
+
+function MandreelInterSwfProgress(mode, percentage, bytes, totalbytes)
+{
+ imandreel_update_load(bytes, totalbytes);
+ if (mode == 'files')
+ {
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingData",percentage);
+ }
+ else if (mode == 'audio')
+ {
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingAudioUpdate",percentage);
+ }
+ else if (mode == 'textureasync')
+ {
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingTextureAsyncPack",percentage);
+ }
+
+}
+
+function MandreelInterSwfCheckMethod(method)
+{
+ if (typeof(Mandreel_window[method])=="undefined")
+ return 0;
+ else
+ return 1;
+}
+
+// End of js/mandreelapp.js file.
+
+// Start of mandreel.js file.
+
+var mandreel_total_memory = 15908864;
+var mandreel_stack_memory = 1048576;
+var mandreel_heap_memory = 13591752; //init_memory = 744248
+/////////////////////////////////////////////
+// Heap
+/////////////////////////////////////////////
+var heap;
+var heap8;
+var heapU8;
+var heap16;
+var heapU16;
+var heap32;
+var heapU32;
+var heapFloat;
+var heapDouble;
+var heapNewPos = 512;
+
+var ABORT = false;
+
+var g_mandreel_cache_files = false;
+
+
+var g_mandreel_frame_locked = false;
+var g_mandreel_frame_inframe = false;
+
+var mandreel_cache_files = [];
+var g_mandreel_working_folder = 'DataPC/';
+var g_mandreel_datafiles_sufix = '.dat';
+var __FUNCTION_TABLE__ = [];
+var mandreel_pos_function_table = 1;
+function register_delegate(ptr_func)
+{
+ var functionId = mandreel_pos_function_table;
+ __FUNCTION_TABLE__[functionId] = ptr_func;
+
+ mandreel_pos_function_table++;
+ return functionId*4;
+}
+
+
+var g_addr_emit = 0;
+function emit_start(addr)
+{
+ g_addr_emit = addr;
+}
+
+function emit_8(data)
+{
+ heapU8[g_addr_emit] = data;
+ g_addr_emit++;
+}
+
+function emit_16(data)
+{
+ heapU16[g_addr_emit>>1] = data;
+ g_addr_emit+=2;
+}
+
+function emit_32(data)
+{
+ heapU32[g_addr_emit>>2] = data;
+ g_addr_emit+=4;
+}
+
+function emit_fill(data, size)
+{
+ var j;
+ for (j=0;j<size;j++)
+ {
+ heapU8[g_addr_emit] = data;
+ g_addr_emit++;
+ }
+}
+
+function emit_string(v)
+{
+ var j;
+ var len = v.length;
+ var data;
+
+ for(j = 0; j < len; j++)
+ {
+ data = v.charCodeAt(j);
+
+ heapU8[g_addr_emit] = data;
+ g_addr_emit++;
+ }
+}
+
+
+
+
+
+var g_stack_pointer = Malloc(mandreel_stack_memory);
+
+function assert_unalign()
+{
+ dump("fatal error: unaligned memory access detected!!!!");
+ assert(false);
+}
+
+function _assert(sp)
+{
+ var p0 = heap32[sp>>2];sp+=4;
+ var p1 = heap32[sp>>2];sp+=4;
+ var line = heap32[sp>>2];sp+=4;
+ var name = get_string_from_ptr(p0);
+ var file = get_string_from_ptr(p1);
+ assert(false, name + file + ' ' + line);
+}
+__cxa_pure_virtual.__index__ = 0;
+function __cxa_pure_virtual()
+{
+ assert(0);
+}
+
+// operator delete[]
+function _ZdaPv(sp)
+{
+ free(sp);
+}
+
+// operator delete
+function _ZdlPv(sp)
+{
+ free(sp);
+}
+
+// operator new[](unsigned int)
+function _Znaj(sp)
+{
+ malloc(sp);
+}
+// operator new[](unsigned int)
+function _Znwj(sp)
+{
+ malloc(sp);
+}
+
+function abort(sp)
+{
+ assert(0);
+}
+
+var r_g0 = 0;
+var r_g1 = 0;
+var f_g0 = 0;
+
+//isFinite(aux)
+//isNaN(aux)
+
+var tlsf_ptr = 0;
+
+
+function initHeap()
+{
+ heap = new ArrayBuffer(mandreel_total_memory);
+ heap8 = new Int8Array(heap);
+ heapU8 = new Uint8Array(heap);
+ heap16 = new Int16Array(heap);
+ heapU16 = new Uint16Array(heap);
+ heap32 = new Int32Array(heap);
+ heapU32 = new Uint32Array(heap);
+ heapFloat = new Float32Array(heap);
+ heapDouble = new Float64Array(heap);
+
+
+ for (var i=0;i<mandreel_total_memory/4;i++)
+ {
+ heapU32[i] = 0;
+ }
+}
+
+function Malloc(bytes)
+{
+ if ( heap == undefined )
+ {
+ //initHeap();
+ }
+ var newOffset = heapNewPos;
+ // Always 32 bit aligned
+ heapNewPos += ((bytes + 3) & 0xfffffffc);
+
+ if (heapNewPos>mandreel_total_memory)
+ {
+ assert(false);
+ }
+
+ return newOffset;
+}
+
+function assert(condition, _text) {
+//console.assert(condition, _text);
+ if (!condition) {
+ var text = "Assertion failed: " + _text;
+ alert(text + ':\n' + (new Error).stack);
+ ABORT = true;
+ throw "Assertion: " + text;
+ }
+ }
+
+ function my_assert(sp)
+ {
+ var p0 = heap32[sp>>2];sp+=4;
+ var p1 = heap32[sp>>2];sp+=4;
+ //var name = get_string_from_ptr(p1);
+
+ assert(false, 'hola');
+ }
+
+ function WriteHeapDouble(addr, value)
+ {
+ //assert((addr&7)==0);
+ heapDouble[addr>>3] = value;
+ }
+
+ function WriteHeapU64(addr, value)
+ {
+ heap32[addr>>2] = value.l;
+ heap32[(addr>>2)+1] = value.h;
+ }
+
+
+var arg_test_local = Malloc(8);
+function my_arg_test(sp)
+{
+ var ptr = heapU32[sp>>2];
+ var size = heapU32[(sp+4)>>2];
+
+ var arg = heapU32[ptr>>2];
+
+
+ if (size == 4)
+ {
+ heap32[ptr>>2] = arg+4;
+
+ arg = heap32[arg>>2];
+
+ heap32[arg_test_local>>2] = arg;
+
+ //dump('my_arg_test ' + arg + ' ' + ptr + '\n');
+
+ }
+ else
+ {
+ arg = (arg+7) & ~7;
+
+ heap32[ptr>>2] = arg+8;
+
+ //assert((arg&7)==0);
+ var value0 = heap32[arg>>2];
+ var value1 = heap32[(arg+4)>>2];
+ //arg = llvm_readDouble(arg);
+
+ //assert((arg_test_local&7)==0);
+
+ heap32[arg_test_local>>2] = value0;
+ heap32[(arg_test_local+4)>>2] = value1;
+
+ //llvm_writeDouble(arg_test_local,arg);
+
+ //dump('my_arg_test ' + arg + ' ' + ptr + '\n');
+
+
+ }
+
+
+
+
+ r_g0 = arg_test_local;
+}
+
+
+
+
+
+
+function uint(value) {
+ if (value >= 0) return value;
+ return 4294967296 + value;
+ }
+
+
+
+function puts(sp)
+{
+ var addr = heapU32[sp>>2];
+
+ var name = get_string_from_ptr(addr);
+
+ name+='\n';
+
+ dump(name);
+
+}
+
+function _Z11print_valued(_stack_pos, value)
+{
+ dump(value);
+ dump('\n');
+}
+
+function _Z11print_labelPKc(_stack_pos, addr)
+{
+ puts(_stack_pos,addr);
+ dump('\n');
+}
+
+
+
+
+function gettimeofday(sp)
+ {
+ var ptr = heap32[sp>>2];
+ var time_ms = Date_now();
+ heap32[ptr>>2] = time_ms/1000;
+ heap32[(ptr>>2)+1] = (time_ms%1000)*1000;
+ r_g0 = 0;
+ }
+
+
+ function free(sp)
+ {
+ var ptr = heapU32[sp>>2];
+ sp-=8;
+
+ heap32[(sp)>>2] = tlsf_ptr;
+ heap32[(sp+4)>>2] = ptr;
+ tlsf_free(sp);
+ }
+
+ function malloc_size(sp)
+ {
+ var ptr = heapU32[sp>>2];
+
+ sp-=4;
+
+ heap32[(sp)>>2] = ptr;
+ tlsf_block_size(sp);
+ }
+
+
+ function realloc(sp)
+ {
+ var ptr = heapU32[sp>>2];
+ var size = heapU32[(sp+4)>>2];
+
+ //assert(ptr == 0);
+
+ sp-=12;
+
+ //dump('realloc ' + sp + ' ' + ptr + ' ' + size + '\n');
+
+ heap32[(sp)>>2] = tlsf_ptr;
+ heap32[(sp+4)>>2] = ptr;
+ heap32[(sp+8)>>2] = size;
+ tlsf_realloc(sp);
+
+ //dump('return ' + r_g0 + '\n');
+ }
+
+ var llvm_double_addr = Malloc(8);
+
+ function llvm_writeDouble(addr,src)
+ {
+ //assert((llvm_double_addr&7)==0);
+ heapDouble[llvm_double_addr>>3] = src;
+
+ //assert((addr&7)==0);
+
+ var val0 = heap32[(llvm_double_addr)>>2];
+ var val1 = heap32[(llvm_double_addr+4)>>2];
+
+ heap32[(addr)>>2] = val0;
+ heap32[(addr+4)>>2] = val1;
+ }
+
+ function llvm_readDouble(addr)
+ {
+ //assert((addr&7)==0);
+
+ var val0 = heap32[(addr)>>2];
+ var val1 = heap32[(addr+4)>>2];
+
+ heap32[(llvm_double_addr)>>2] = val0;
+ heap32[(llvm_double_addr+4)>>2] = val1;
+
+
+// assert((llvm_double_addr&7)==0);
+ var result = heapDouble[llvm_double_addr>>3];
+
+
+ return result;
+
+ }
+
+ function llvm_move_double(addr_dst, addr_src)
+ {
+
+ var val0 = heapU32[(addr_src)>>2];
+ var val1 = heapU32[(addr_src+4)>>2];
+
+ heapU32[(addr_dst)>>2] = val0;
+ heapU32[(addr_dst+4)>>2] = val1;
+
+ }
+
+ function llvm_move_float(addr_dst, addr_src)
+ {
+ heapU32[(addr_dst)] = heapU32[(addr_src)];
+ }
+
+ function malloc(sp)
+ {
+ var size = heapU32[sp>>2];
+
+ if (size == 0)
+ {
+ size = 4;
+ }
+
+
+ if (tlsf_ptr == 0)
+ {
+ var addr = Malloc(mandreel_heap_memory);
+
+ sp-=8;
+ heap32[(sp)>>2] = addr;
+ heap32[(sp+4)>>2] = mandreel_heap_memory;
+ tlsf_create(sp);
+ tlsf_ptr = r_g0;
+ }
+
+ sp-=8;
+
+ heap32[(sp)>>2] = tlsf_ptr;
+ heap32[(sp+4)>>2] = size;
+ tlsf_malloc(sp);
+
+ if (r_g0 == 0)
+ {
+ dump('malloc failed ' + size + '\n');
+ assert(false);
+ }
+ }
+
+
+ function log10f(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.log(value)/Math.LN10;
+ }
+
+ function log10(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.log(value)/Math.LN10;
+ }
+
+function logf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.log(value);
+ }
+
+ function log(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.log(value);
+ }
+
+
+
+ function cosf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.cos(value);
+ //assert (isNaN(f_g0) == false);
+ }
+
+ function acosf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.acos(value);
+ }
+
+ function asinf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.asin(value);
+ }
+
+ function asin(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.asin(value);
+ }
+
+ function acos(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.acos(value);
+ }
+
+ function floor(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.floor(value);
+ }
+
+ function floorf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.floor(value);
+ }
+
+ function round(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.round(value);
+ }
+
+ function roundf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.round(value);
+ }
+
+ function ceilf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.ceil(value);
+ }
+
+ function ceil(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.ceil(value);
+ }
+
+
+ function exp2(sp)
+ {
+ var value = heapDouble[sp>>3];
+
+ f_g0 = Math.pow(2,value);
+ }
+
+ function exp2f(sp)
+ {
+ var value = heapFloat[sp>>2];
+
+ f_g0 = Math.pow(2,value);
+ }
+
+
+
+ function pow(sp)
+ {
+ var value = heapDouble[sp>>3];
+ var value2 = heapDouble[(sp+8)>>3];
+ f_g0 = Math.pow(value,value2);
+ }
+
+ function powf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ var value2 = heapFloat[(sp+4)>>2];
+ f_g0 = Math.pow(value,value2);
+ }
+
+ function cos(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.cos(value);
+ //assert (isNaN(f_g0) == false);
+ }
+
+ function tan(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.tan(value);
+ //assert (isNaN(f_g0) == false);
+ }
+
+ function sinf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.sin(value);
+
+ //assert (isNaN(f_g0) == false);
+ }
+
+ function expf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.exp(value);
+ }
+
+ function exp(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.exp(value);
+ }
+
+ function tanf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.tan(value);
+ }
+
+ function atanf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.atan(value);
+ }
+
+ function atan(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.atan(value);
+ }
+
+ function abs(sp)
+ {
+ var value = heap32[sp>>2];
+ if (value<0)
+ r_g0 = -value;
+ else
+ r_g0 = value;
+ }
+
+ function sin(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.sin(value);
+ }
+
+ function sqrtf(sp)
+ {
+ var value = heapFloat[sp>>2];
+ f_g0 = Math.sqrt(value);
+ }
+
+ function sqrt(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.sqrt(value);
+ }
+
+ function fmod(sp)
+ {
+ var value = heapDouble[sp>>3];sp+=8;
+ var value2 = heapDouble[sp>>3];
+ f_g0 = value % value2;
+ }
+
+ function fmodf(sp)
+ {
+ var value = heapFloat[sp>>2];sp+=4;
+ var value2 = heapFloat[sp>>2];
+ f_g0 = value % value2;
+ }
+
+
+ function atan2f(sp)
+ {
+ var x = heapFloat[sp>>2];sp+=4;
+ var y = heapFloat[sp>>2];
+ f_g0 = Math.atan2(x,y);
+ }
+
+ function atan2(sp)
+ {
+ var x = heapDouble[sp>>3];
+ var y = heapDouble[(sp+8)>>3];
+ f_g0 = Math.atan2(x,y);
+ }
+
+ function fabs(sp)
+ {
+ var value = heapDouble[sp>>3];
+ f_g0 = Math.abs(value);
+ }
+
+
+ function _Z18OutputDebugStringAPKc(sp)
+ {
+ puts(sp);
+
+ }
+
+
+ function getenv(sp)
+ {
+ r_g0 = 0;
+ }
+
+
+ function mandreel_fcmp_ord(X, Y)
+ {
+ return (X == X && Y == Y);
+ }
+
+ function mandreel_fcmp_uno(X, Y)
+{
+
+ return (X != X || Y != Y);
+}
+
+var llvm_errno = Malloc(4);
+function _errno(sp)
+{
+ r_g0 = llvm_errno;
+}
+
+
+
+
+if (!Mandreel_window["dump"])
+ Mandreel_window["dump"] = function dump(str){console.log(str)} ;
+
+
+
+
+ function get_string_from_ptr(ptr)
+ {
+ var ret = "";
+
+ if (ptr == 0)
+ return ret;
+
+ var i = 0;
+ while (1) {
+ // if ((ptr.pos + i) >= ptr.slab.length) { return "<< Invalid read: " + (ptr.pos+i) + " : " + ptr.slab.length + " >>"; } else {}
+ if (heapU8[ptr + i] == 0)
+ break;
+
+ var t = String.fromCharCode(heapU8[ptr + i]);
+ ret += t;
+ i += 1;
+ }
+
+ return ret;
+ }
+
+ function fill_ptr_from_string(ptr, v)
+ {
+ var j;
+ var len = v.length;
+ var data;
+
+ for(j = 0; j < len; j++)
+ {
+ data = v.charCodeAt(j);
+
+ heapU8[ptr] = data;
+ ptr++;
+ }
+ heapU8[ptr] = 0;
+ }
+
+ var file_ids = [];
+ var current_file_id = 20;
+
+ function create_file_id(buffer)
+ {
+ this.buffer = buffer;
+ this.offset = 0;
+ this.byteArray = new Uint8Array(buffer);
+ }
+
+ function mandreel_rewind(sp)
+ {
+ var file_id = heap32[sp>>2];sp+=4;
+
+ file_ids[file_id].offset = 0;
+
+ r_g0 = 0;
+
+ //return 0;
+ }
+
+
+ function mandreel_fseek(sp)
+ {
+ var file_id = heap32[sp>>2];sp+=4;
+ var pos = heap32[sp>>2];sp+=4;
+ var type = heap32[sp>>2];sp+=4;
+
+ if (type == 2)
+ {
+ file_ids[file_id].offset = file_ids[file_id].buffer.byteLength + pos;
+ }
+ else if (type == 1)
+ {
+ file_ids[file_id].offset = file_ids[file_id].offset + pos;
+
+ }
+ else if (type == 0)
+ {
+ file_ids[file_id].offset = pos;
+
+ }
+
+ r_g0 = 0;
+
+ //return 0;
+ }
+
+ function mandreel_fclose(sp)
+ {
+ var file_id = heap32[sp>>2];sp+=4;
+
+ file_ids[file_id] = null;
+ r_g0 = 0;
+ //return 0;
+ }
+
+
+
+ function mandreel_feof(sp)
+ {
+ var file_id = heap32[sp>>2];sp+=4;
+
+ var offset = file_ids[file_id].offset;
+ var total = file_ids[file_id].buffer.byteLength;
+
+ if (offset>=total)
+ r_g0 = 1;
+ else
+ r_g0 = 0;
+
+ }
+
+ function mandreel_getc(sp)
+ {
+ var file_id = heap32[sp>>2];sp+=4;
+
+
+ var offset = file_ids[file_id].offset;
+
+
+ var buffer = file_ids[file_id].buffer;
+
+ var byteArray = file_ids[file_id].byteArray;
+
+ var total = 1;
+
+ var result;
+
+ if ((offset+total)>buffer.byteLength)
+ {
+ result = -1;
+ }
+ else
+ {
+ result = byteArray[offset];
+ file_ids[file_id].offset+=total;
+ }
+
+ r_g0 = result;
+ }
+
+
+
+ function mandreel_fread(sp)
+ {
+ var ptr = heap32[sp>>2];sp+=4;
+ var size = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+ var file_id = heap32[sp>>2];sp+=4;
+
+ var offset = file_ids[file_id].offset;
+
+ //dump('fread ' + ptr + ' ' + size + ' ' + count + ' ' + file_id + ' ' + offset + '\n');
+
+ var buffer = file_ids[file_id].buffer;
+
+ var total = size*count;
+
+ if ((offset+total)>buffer.byteLength)
+ total = buffer.byteLength-offset;
+
+ var byteArray = file_ids[file_id].byteArray;
+
+
+ var sub_array = byteArray.subarray(offset, offset+total);
+
+ heapU8.set(sub_array,ptr);
+
+
+ //heapU8.set(byteArray, ptr);
+ //for (var i=0;i<total;++i)
+ //{
+// heapU8[ptr+i] = byteArray[i+offset];
+// }
+
+
+ file_ids[file_id].offset+=total;
+
+ r_g0 = total/size;
+ //return total;
+ }
+
+ function mandreel_ftell(sp)
+ {
+ var file_id = heap32[sp>>2];sp+=4;
+
+ var value = file_ids[file_id].offset;
+ //dump('offset ftell ' + value + '\n');
+ r_g0 = value;
+ //return value;
+ }
+
+ function _Z30mandreel_fopen_enable_checkfatb(sp)
+ {
+ }
+
+ function mandreel_ungetc(sp)
+ {
+ var my_char = heap32[sp>>2];sp+=4;
+ var file_id = heap32[sp>>2];sp+=4;
+
+ var offset = file_ids[file_id].offset-1;
+
+ var byteArray = file_ids[file_id].byteArray;
+
+ assert(byteArray[offset] == my_char);
+
+ file_ids[file_id].offset = offset;
+
+ return my_char;
+ }
+ function mandreel_fopen(sp)
+ {
+ var ptr_name = heap32[sp>>2];sp+=4;
+ var ptr_flags = heap32[sp>>2];sp+=4;
+
+
+ var name = get_string_from_ptr(ptr_name);
+ var flags = get_string_from_ptr(ptr_flags);
+ //dump('fopen\n');
+ //dump(name);
+ //dump('\n');
+ //dump(flags);
+ //dump('\n');
+
+ var buffer;
+
+ var full_name;
+
+ name = name.toLowerCase();
+
+ name = name.replace(/\\/g,"/");
+
+ full_name = g_mandreel_working_folder + name + g_mandreel_datafiles_sufix;
+
+
+ buffer =mandreel_cache_files[name];
+
+ if (buffer == null)
+ {
+ r_g0 = 0;
+ return;
+ }
+
+
+
+ //dump('\nopening file ' + full_name + ' ' + buffer.byteLength + '\n');
+
+
+ file_ids[current_file_id] = new create_file_id(buffer);
+
+ var old_id = current_file_id;
+ current_file_id++;
+
+ r_g0 = old_id;
+ //return old_id;
+ }
+
+ function llvm_store_unalign32_float(addr, value)
+ {
+ heapFloat[0] = value;
+ var data = heap32[0];
+ heap8[addr] = data&0xff;
+ heap8[addr+1] = (data>>>8)&0xff;
+ heap8[addr+2] = (data>>>16)&0xff;
+ heap8[addr+3] = (data>>>24)&0xff;
+ }
+ function llvm_store_unalign32(addr, value)
+ {
+ heap8[addr] = value&0xff;
+ heap8[addr+1] = (value>>>8)&0xff;
+ heap8[addr+2] = (value>>>16)&0xff;
+ heap8[addr+3] = (value>>>24)&0xff;
+ }
+
+ function llvm_read_unalign32(addr)
+ {
+ var value;
+ value = heapU8[addr];
+ value |= heapU8[addr+1]<<8;
+ value |= heapU8[addr+2]<<16;
+ value |= heapU8[addr+3]<<24;
+ return value;
+ }
+
+ function llvm_read_unalign32_float(addr)
+ {
+ var value;
+ value = heapU8[addr];
+ value |= heapU8[addr+1]<<8;
+ value |= heapU8[addr+2]<<16;
+ value |= heapU8[addr+3]<<24;
+
+ heap32[0] = value;
+ return heapFloat[0];
+ }
+
+ function mandreel_getlocalstorage()
+ {
+ return Mandreel_window.localStorage;
+ //return Mandreel_window.sessionStorage;
+ }
+
+ function mandreel_openls(sp)
+ {
+ var ptr_name = heap32[sp>>2];sp+=4;
+
+ var key = get_string_from_ptr(ptr_name);
+
+ var my_localStorage = mandreel_getlocalstorage();
+
+ var value = my_localStorage.getItem(key);
+
+ if (value == null)
+ {
+ r_g0 = -1;
+ return;
+ }
+
+
+ var length = my_localStorage.getItem(key + '_size');
+
+ if (length == null)
+ {
+ r_g0 = -1;
+ return;
+ }
+
+
+
+
+ dump('mandreel_openls ' + key + ' return ' + length);
+
+
+ r_g0 = parseInt(length);
+
+
+
+ return;
+
+ }
+
+ function mandreel_readls(sp)
+ {
+ var ptr_name = heap32[sp>>2];sp+=4;
+ var data_dst = heap32[sp>>2];sp+=4;
+ var data_len = heap32[sp>>2];sp+=4;
+
+ var key = get_string_from_ptr(ptr_name);
+
+ var my_localStorage = mandreel_getlocalstorage();
+
+ var value = my_localStorage.getItem(key);
+
+ var data = JSON.parse(value);
+
+
+ for (var i=0;i<data_len;++i)
+ {
+ heapU8[data_dst+i] = data[i];
+ }
+
+ r_g0 = data_len;
+ return;
+
+}
+
+function mandreel_removels(sp)
+ {
+ var ptr_name_a = heap32[sp>>2];sp+=4;
+ var key_a = get_string_from_ptr(ptr_name_a);
+
+ var my_localStorage = mandreel_getlocalstorage();
+
+ my_localStorage.removeItem(key_a);
+ my_localStorage.removeItem(key_a + '_size');
+ r_g0 = 0;
+
+ }
+
+
+function mandreel_renamels(sp)
+ {
+ var ptr_name_a = heap32[sp>>2];sp+=4;
+ var ptr_name_b = heap32[sp>>2];sp+=4;
+
+ var key_a = get_string_from_ptr(ptr_name_a);
+ var key_b = get_string_from_ptr(ptr_name_b);
+
+ var my_localStorage = mandreel_getlocalstorage();
+
+
+ var value = my_localStorage.getItem(key_a);
+ var value2 = my_localStorage.getItem(key_a + '_size');
+
+ if (value != null && value2 != null)
+ {
+ my_localStorage.setItem(key_b, value);
+ my_localStorage.setItem(key_b + '_size', value2);
+
+ my_localStorage.removeItem(key_a);
+ my_localStorage.removeItem(key_a + '_size');
+
+
+ r_g0 = 0;
+}
+else
+ r_g0 = -1;
+ }
+
+function mandreel_writels(sp)
+ {
+ var ptr_name = heap32[sp>>2];sp+=4;
+ var data_src = heap32[sp>>2];sp+=4;
+ var data_len = heap32[sp>>2];sp+=4;
+
+ var key = get_string_from_ptr(ptr_name);
+
+
+
+ var data = new Uint8Array(heap,data_src,data_len);
+
+ var value = JSON.stringify(data);
+
+ var my_localStorage = mandreel_getlocalstorage();
+
+ try
+ {
+ my_localStorage.setItem(key, value);
+ } catch(e)
+ {
+ dump('error saving ' + key);
+ dump(e.message);
+ r_g0 = 0;
+ return;
+ }
+
+ try
+ {
+ my_localStorage.setItem(key + '_size', data_len);
+ } catch(e)
+ {
+ dump('error saving ' + key);
+ dump(e.message);
+ r_g0 = 0;
+ return;
+ }
+
+
+ r_g0 = data_len;
+ return;
+
+}
+
+function mandreel_call_constructors(_ptr, size,stackPos)
+{
+var ptr = _ptr;
+
+ptr = ptr >> 2;
+
+for (var i=0;i<size;++i)
+{
+
+
+var tag = heap32[ptr];
+var ptr_id = heap32[ptr+1];
+
+__FUNCTION_TABLE__[(ptr_id)>>2](stackPos);
+
+ptr+=2;
+
+}
+}
+
+function get_string_from_wptr(ptr)
+ {
+ var ret = "";
+
+ if (ptr == 0)
+ return ret;
+
+ assert((ptr&1)==0);
+ ptr>>=1;
+ var i = 0;
+ while (1) {
+ // if ((ptr.pos + i) >= ptr.slab.length) { return "<< Invalid read: " + (ptr.pos+i) + " : " + ptr.slab.length + " >>"; } else {}
+ if (heapU16[ptr + i] == 0)
+ break;
+
+ var t = String.fromCharCode(heapU16[ptr + i]);
+ // if (t == "\0") { break; } else {}
+ ret += t;
+ i += 1;
+ }
+
+ return ret;
+ }
+
+ function fill_wptr_from_string(ptr, v)
+ {
+ var j;
+ var len = v.length;
+ var data;
+
+ assert((ptr&1)==0);
+ ptr>>=1;
+
+ for(j = 0; j < len; j++)
+ {
+ data = v.charCodeAt(j);
+
+ heapU16[ptr] = data;
+ ptr++;
+ }
+ heapU16[ptr] = 0;
+ }
+
+function mandreelInterGetParams(sp)
+{
+ var params = [];
+
+ var offset = 0;
+ for (i=1;i<arguments.length;++i)
+ {
+ var type = arguments[i];
+
+ switch(type)
+ {
+ case 'int':
+ params[i-1] = heap32[(sp+offset)>>2];
+ break;
+ case 'float':
+ params[i-1] = heapFloat[(sp+offset)>>2];
+ break;
+ case 'string':
+ params[i-1] = get_string_from_ptr(heap32[(sp+offset)>>2]);
+ break;
+ default:
+ assert(false);
+ }
+ offset+=4;
+ }
+
+ return params;
+}
+
+function mandreelInterRetParam(type, value)
+{
+ switch(type)
+ {
+ case 'int':
+ r_g0 = value;
+ break;
+ case 'float':
+ f_g0 = value;
+ break;
+ default:
+ assert(false);
+ }
+
+ return 0;
+}
+
+function MandreelInterGetFunctionPtr(value)
+{
+ return __FUNCTION_TABLE__[value >> 2];
+}
+
+
+function MandreelInterCallFunction(returnType,func_name)
+{
+ var size_params = 0;
+
+ var i;
+ var num_params = (arguments.length-2)/2;
+ num_params|=0;
+ for (i=2;i<num_params*2+2;i+=2)
+ {
+ var type = arguments[i];
+
+ var size_arg = 0;
+ switch(type)
+ {
+ case 'int':
+ size_arg = 4;
+ break;
+ case 'float':
+ size_arg = 4;
+ break;
+ case 'string':
+ size_arg = 4;
+ size_arg += ((arguments[i+1].length + 4) & 0xfffffffc);
+ break;
+ case 'wstring':
+ size_arg = 4;
+ size_arg += ((arguments[i+1].length*2 + 4) & 0xfffffffc);
+ break;
+ default:
+ assert(false);
+ }
+
+ size_params += size_arg;
+ }
+
+ // stack always 8 byte aligned
+ size_params=((size_params+7)& 0xfffffff8);
+
+ var sp = 0;
+
+ if (i<(arguments.length))
+ sp = arguments[i];
+ else
+ {
+ assert(false,"MandreelInterCallFunction missing stack pointer paramenter");
+ //assert(g_mandreel_frame_locked == true);
+ //sp = g_stack_pointer+800*1024;
+ }
+
+ sp-=size_params;
+
+ var offset = 0;
+ var ptr_data = num_params*4+sp;
+ for (i=2;i<num_params*2+2;i+=2)
+ {
+ var type = arguments[i];
+
+ var size_arg = 0;
+ switch(type)
+ {
+ case 'int':
+ heap32[(sp+offset)>>2] = arguments[i+1];
+ break;
+ case 'float':
+ heapFloat[(sp+offset)>>2] = arguments[i+1];
+ break;
+ case 'string':
+ {
+ heap32[(sp+offset)>>2] = ptr_data;
+ var string = arguments[i+1];
+ fill_ptr_from_string(ptr_data,string);
+
+ ptr_data += ((string.length + 4) & 0xfffffffc);
+ }
+ break;
+ case 'wstring':
+ {
+ MandreelInterWriteInt((sp+offset),ptr_data);
+ var string = arguments[i+1];
+ MandreelInterWriteWString(ptr_data,string);
+
+ ptr_data += ((string.length*2 + 4) & 0xfffffffc);
+ }
+ break;
+ default:
+ assert(false);
+ }
+ offset+=4;
+ }
+
+ Mandreel_window[func_name](sp);
+
+ if (returnType == 'int')
+ return r_g0;
+ else if (returnType == 'float')
+ return f_g0;
+ else
+ {
+ assert(returnType == 'void');
+ return;
+ }
+}
+
+
+function MandreelInterCallFunctionPtr(returnType,func_ptr)
+{
+ var size_params = 0;
+
+ var i;
+ var num_params = (arguments.length-2)/2;
+ num_params|=0;
+ for (i=2;i<num_params*2+2;i+=2)
+ {
+ var type = arguments[i];
+
+ var size_arg = 0;
+ switch(type)
+ {
+ case 'int':
+ size_arg = 4;
+ break;
+ case 'float':
+ size_arg = 4;
+ break;
+ case 'string':
+ size_arg = 4;
+ size_arg += ((arguments[i+1].length + 4) & 0xfffffffc);
+ break;
+ case 'wstring':
+ size_arg = 4;
+ size_arg += ((arguments[i+1].length*2 + 4) & 0xfffffffc);
+ break;
+ default:
+ assert(false);
+ }
+
+ size_params += size_arg;
+ }
+
+ // stack always 8 byte aligned
+ size_params=((size_params+7)& 0xfffffff8);
+
+ var sp = 0;
+
+ if (i<(arguments.length))
+ sp = arguments[i];
+ else
+ {
+ assert(false);
+ //assert(g_mandreel_frame_locked == true);
+ //sp = g_stack_pointer+800*1024;
+ }
+
+ sp-=size_params;
+
+ var offset = 0;
+ var ptr_data = num_params*4+sp;
+ for (i=2;i<num_params*2+2;i+=2)
+ {
+ var type = arguments[i];
+
+ var size_arg = 0;
+ switch(type)
+ {
+ case 'int':
+ heap32[(sp+offset)>>2] = arguments[i+1];
+ break;
+ case 'float':
+ heapFloat[(sp+offset)>>2] = arguments[i+1];
+ break;
+ case 'string':
+ {
+ heap32[(sp+offset)>>2] = ptr_data;
+ var string = arguments[i+1];
+ fill_ptr_from_string(ptr_data,string);
+
+ ptr_data += ((string.length + 4) & 0xfffffffc);
+ }
+ break;
+ case 'wstring':
+ {
+ MandreelInterWriteInt((sp+offset),ptr_data);
+ var string = arguments[i+1];
+ MandreelInterWriteWString(ptr_data,string);
+
+ ptr_data += ((string.length*2 + 4) & 0xfffffffc);
+ }
+ break;
+ default:
+ assert(false);
+ }
+ offset+=4;
+ }
+
+ __FUNCTION_TABLE__[(func_ptr)>>2](sp);
+
+ if (returnType == 'int')
+ return r_g0;
+ else if (returnType == 'float')
+ return f_g0;
+ else
+ {
+ assert(returnType == 'void');
+ return;
+ }
+}
+
+
+var MANDREEL_HTTP_REQUEST_MODE_GET = 0;
+var MANDREEL_HTTP_REQUEST_MODE_POST = 1;
+var MANDREEL_HTTP_REQUEST_MODE_PUT = 2;
+
+var MANDREEL_HTTP_REQUEST_STATUS_ERROR = 0;
+var MANDREEL_HTTP_REQUEST_STATUS_BUSY = 1;
+var MANDREEL_HTTP_REQUEST_STATUS_FINISHED = 2;
+var MANDREEL_HTTP_REQUEST_STATUS_INIT = 3;
+
+
+var mandreel_js_mapping_ids = [];
+var mandreel_js_mapping_ids_free = [];
+
+
+function Mandreel_HttpRequest_Create(sp)
+{
+ var ptr_url = heap32[sp>>2];sp+=4;
+ var type = heap32[sp>>2];sp+=4;
+
+
+ var url = get_string_from_ptr(ptr_url);
+
+
+ var str_type = 'GET';
+ if (type == MANDREEL_HTTP_REQUEST_MODE_GET)
+ str_type = 'GET';
+ else if (type == MANDREEL_HTTP_REQUEST_MODE_PUT)
+ str_type = 'PUT';
+ else if (type == MANDREEL_HTTP_REQUEST_MODE_POST)
+ str_type = 'POST';
+
+ var xmlhttp_get = new XMLHttpRequest();
+ xmlhttp_get.open(str_type,url);
+
+ if("responseType" in xmlhttp_get)
+ xmlhttp_get.responseType="arraybuffer";
+ else
+ {
+ xmlhttp_get.overrideMimeType('text/plain; charset=x-user-defined');
+ }
+
+ if (mandreel_js_mapping_ids_free.length == 0)
+ mandreel_js_mapping_ids_free.push(mandreel_js_mapping_ids.length);
+
+ var new_id = mandreel_js_mapping_ids_free.pop();
+
+ var my_state = {
+ buffer : null,
+ httpRequest : xmlhttp_get,
+ status : MANDREEL_HTTP_REQUEST_STATUS_INIT,
+ offset_read : 0
+ };
+
+
+
+ mandreel_js_mapping_ids[new_id] = my_state;
+
+ r_g0 = new_id+1;
+}
+
+function Mandreel_HttpRequest_Send(sp)
+{
+ var _id = heap32[sp>>2];sp+=4;
+ var ptr_data = heap32[sp>>2];sp+=4;
+ var id = _id-1;
+
+ var data;
+
+ if (ptr_data)
+ data = get_string_from_ptr(ptr_data);
+ else
+ data = null;
+
+ var my_state = mandreel_js_mapping_ids[id];
+
+
+ my_state.status = MANDREEL_HTTP_REQUEST_STATUS_BUSY;
+
+ my_state.httpRequest.onreadystatechange = function()
+ {
+ if (my_state.httpRequest.readyState==4)
+ {
+ if (my_state.httpRequest.status==200)
+ {
+ var buffer;
+
+ if (my_state.httpRequest.responseType=="arraybuffer")
+ buffer=my_state.httpRequest.response;
+ else if (my_state.httpRequest.mozResponseArrayBuffer != null)
+ buffer = my_state.httpRequest.mozResponseArrayBuffer;
+ else
+ buffer=my_state.httpRequest.response;
+
+ my_state.status = MANDREEL_HTTP_REQUEST_STATUS_FINISHED;
+ my_state.buffer = new Uint8Array(buffer);
+ //alert(my_state.buffer.length);
+
+ //alert(mandreel_js_mapping_ids[id].buffer);
+
+ }
+ else
+ my_state.status = MANDREEL_HTTP_REQUEST_STATUS_ERROR;
+ }
+ }
+
+ my_state.httpRequest.send(data);
+}
+
+
+function Mandreel_HttpRequest_Status(sp)
+{
+ var _id = heap32[sp>>2];sp+=4;
+ var id = _id-1;
+
+
+ r_g0 = mandreel_js_mapping_ids[id].status;
+}
+
+function Mandreel_HttpRequest_Read(sp)
+{
+ var _id = heap32[sp>>2];sp+=4;
+ var ptr = heap32[sp>>2];sp+=4;
+ var size = heap32[sp>>2];sp+=4;
+ var id = _id-1;
+
+ var remaining_bytes = mandreel_js_mapping_ids[id].buffer.length - mandreel_js_mapping_ids[id].offset_read;
+
+ if (size>remaining_bytes)
+ size = remaining_bytes;
+
+ var sub_array = mandreel_js_mapping_ids[id].buffer.subarray(mandreel_js_mapping_ids[id].offset_read, mandreel_js_mapping_ids[id].offset_read+size);
+ heapU8.set(sub_array,ptr);
+
+ mandreel_js_mapping_ids[id].offset_read+=size;
+
+ r_g0 = size;
+}
+
+function Mandreel_HttpRequest_BytesAvalable(sp)
+{
+ var _id = heap32[sp>>2];sp+=4;
+ var id = _id-1;
+
+
+ if (mandreel_js_mapping_ids[id].buffer)
+ r_g0 = mandreel_js_mapping_ids[id].buffer.length - mandreel_js_mapping_ids[id].offset_read;
+ else
+ r_g0 = 0;
+}
+
+function Mandreel_HttpRequest_Close(sp)
+{
+ var _id = heap32[sp>>2];sp+=4;
+ var id = _id-1;
+
+ mandreel_js_mapping_ids[id] = null;
+ mandreel_js_mapping_ids_free.push(id);
+}
+
+function Mandreel_HttpRequest_SetRequestHeader(sp)
+{
+ var _id = heap32[sp>>2];sp+=4;
+ var ptr_a = heap32[sp>>2];sp+=4;
+ var ptr_b = heap32[sp>>2];sp+=4;
+ var id = _id-1;
+
+ var str_a = get_string_from_ptr(ptr_a);
+ var str_b = get_string_from_ptr(ptr_b);
+
+ var my_state = mandreel_js_mapping_ids[id];
+
+ my_state.httpRequest.setRequestHeader(str_a, str_b);
+}
+
+
+var Mandreel_TextureAsync_textures = 0;
+var Mandreel_TextureAsync_textures_loaded = 0;
+
+var Mandreel_TextureAsync_PackBufferData = new Array();
+
+function Mandreel_TextureAsync_SetData(sp)
+{
+ var texture_id = heap32[sp>>2];sp+=4;
+
+ var tex = array_ids_ogl[texture_id];
+
+ if ( mandreelAppPlatform != "canvas" )
+ {
+ imandreel_gl.texImage2D(imandreel_gl.TEXTURE_2D, 0, imandreel_gl.RGBA, imandreel_gl.RGBA, imandreel_gl.UNSIGNED_BYTE, tex.image);
+ tex.image = null;
+ }
+}
+
+function Mandreel_TextureAsync_CheckPending(sp)
+{
+ r_g0 = Mandreel_TextureAsync_textures - Mandreel_TextureAsync_textures_loaded;
+}
+
+function Mandreel_TextureAsync_GetProperties(sp)
+{
+ var texture_id = heap32[sp>>2];sp+=4;
+ var ptr_width = heap32[sp>>2];sp+=4;
+ var ptr_height = heap32[sp>>2];sp+=4;
+
+ var tex = array_ids_ogl[texture_id];
+
+ if (tex == null || tex.mandreel_width == undefined)
+ r_g0 = 0;
+ else
+ {
+ heap32[ptr_width>>2] = tex.mandreel_width;
+ heap32[ptr_height>>2] = tex.mandreel_height;
+ r_g0 = 1;
+ }
+}
+
+function mandreel_arrayBufferDataUri(offset, size, buffer) {
+var bytes = new Uint8Array(buffer,offset,size)
+ var ascii = '';
+ for (var i=0; i<bytes.length; i++)
+ ascii += String.fromCharCode(bytes[i]);
+ var base64 = btoa(ascii);
+
+ if (/^\x89PNG/.test(ascii))
+ return 'data:image/png;base64,'+base64;
+ else
+ return 'data:image/jpeg;base64,'+base64;
+ }
+
+ function mandreel_texture_async_fix_name(name)
+{
+ var ascii = '';
+
+ var j;
+ var len = name.length;
+
+
+ for(j = 0; j < len; j++)
+ {
+ var my_char = name[j];
+
+ if (my_char == '/')
+ my_char = '_';
+
+ ascii+=my_char;
+
+ }
+
+ return ascii;
+}
+
+
+
+function Mandreel_TextureAsync_Load(sp)
+{
+ var ptr_name = heap32[sp>>2];sp+=4;
+ var texture_id = heap32[sp>>2];sp+=4;
+
+ var name = get_string_from_ptr(ptr_name);
+
+ var nameSrc = name;
+
+ name = name.toLowerCase();
+
+
+ var full_name = g_mandreel_working_folder + name;
+
+ var image = new Image();
+
+
+ Mandreel_TextureAsync_textures++;
+
+ var imgURL = null;
+
+
+
+
+ image.onerror = function() {
+ dump('error loading texture ' + image.src + '\n');
+ Mandreel_TextureAsync_textures_loaded++;
+ }
+ image.onload = function()
+ {
+ if (imgURL)
+ {
+ var URL = Mandreel_window.URL || Mandreel_window.webkitURL;
+ URL.revokeObjectURL(imgURL);
+ }
+ if ( mandreelAppPlatform == "canvas" )
+ {
+ array_ids_ogl[texture_id] = image;
+ Mandreel_TextureAsync_textures_loaded++;
+ }
+ else
+ {
+ var tex = array_ids_ogl[texture_id];
+ if (tex)
+ {
+ tex.image = image;
+ tex.mandreel_width = image.width;
+ tex.mandreel_height = image.height;
+ Mandreel_TextureAsync_textures_loaded++;
+
+ var sp = MandreelLockFrame();
+ MandreelInterCallFunction('void',"Mandreel_TextureAsync_Loaded",'int',texture_id,'int',image.width,'int',image.height, sp);
+ MandreelUnlockFrame();
+ }
+ else
+ {
+ dump('texture not valid ' + texture_id + ' ' + name + '\n');
+ Mandreel_TextureAsync_textures_loaded++;
+ }
+ }
+
+
+ }
+
+ var new_sp = sp-4096;
+
+ var packfile = new_sp + 2048;
+ var offset_ptr = new_sp + 2048+1024;
+ var size_ptr = new_sp + 2048+1024+4;
+
+ fill_ptr_from_string(new_sp + 1024,name);
+
+ heap32[(new_sp)>>2] = new_sp + 1024;
+ heap32[(new_sp+4)>>2] = offset_ptr;
+ heap32[(new_sp+8)>>2] = size_ptr;
+ heap32[(new_sp+12)>>2] = packfile;
+ iMandreel_TextureAsync_GetPackOffset(new_sp);
+
+
+ var image_src;
+
+ var image_src_valid = true;
+
+ if (r_g0)
+ {
+ var packfilename = get_string_from_ptr(packfile);
+ image_src = mandreel_arrayBufferDataUri(heap32[offset_ptr>>2],heap32[size_ptr>>2],Mandreel_TextureAsync_PackBufferData[packfilename]);
+ }
+ else
+ {
+
+ if (nameSrc.search('http:') != -1 || nameSrc.search('https:') != -1)
+ {
+ image.crossOrigin = 'anonymous'; // no credentials flag. Same as
+ image_src = nameSrc;
+ }
+ else
+ {
+ if (mandreel_is_filesystem())
+ {
+ image_src_valid = false;
+
+ var new_name = mandreel_texture_async_fix_name(full_name);
+ mandreel_fs_get_url(new_name, function Mandreel_TextureAsync_Load_FS(data) {
+ if (data)
+ {
+ image.src = data;
+ }
+ else
+ {
+ var packdata_request = new XMLHttpRequest();
+
+ packdata_request.open("GET", full_name, true);
+
+ if("responseType" in packdata_request)
+ packdata_request.responseType="arraybuffer";
+ else
+ packdata_request.overrideMimeType('text/plain; charset=x-user-defined');
+
+ packdata_request.onreadystatechange = function()
+ {
+ if (packdata_request.readyState != 4) return;
+
+ if (packdata_request.status == 200)
+ {
+ var buffer;
+ if (packdata_request.responseType=="arraybuffer")
+ buffer=packdata_request.response;
+ else if (packdata_request.mozResponseArrayBuffer != null)
+ buffer = packdata_request.mozResponseArrayBuffer;
+ else
+ buffer=packdata_request.response;
+
+ mandreel_fs_saveFile(new_name, buffer);
+
+ var uri = mandreel_arrayBufferDataUri(0,buffer.byteLength,buffer);
+
+ image.src = uri;
+
+ }
+ else
+ {
+
+ Mandreel_TextureAsync_textures_loaded++;
+
+ }
+ }
+
+ packdata_request.send();
+
+ }
+ }
+ );
+ }
+ else if (mandreel_is_indexeddb())
+ {
+ image_src_valid = false;
+
+ var new_name = mandreel_texture_async_fix_name(full_name);
+ mandreel_indexedDB.load(new_name,function Mandreel_TextureAsync_Load_IDB(data) {
+ if (data)
+ {
+ var URL = Mandreel_window.URL || Mandreel_window.webkitURL;
+
+
+ // Create and revoke ObjectURL
+ imgURL = URL.createObjectURL(data);
+
+ image.src = imgURL;
+ }
+ else
+ {
+ var packdata_request = new XMLHttpRequest();
+
+ packdata_request.open("GET", full_name, true);
+
+ packdata_request.responseType = "blob";
+
+
+
+ packdata_request.onreadystatechange = function()
+ {
+ if (packdata_request.readyState != 4) return;
+
+ if (packdata_request.status == 200)
+ {
+ var buffer=packdata_request.response;
+
+ var URL = Mandreel_window.URL || Mandreel_window.webkitURL;
+
+ // Create and revoke ObjectURL
+ imgURL = URL.createObjectURL(buffer);
+
+ image.src = imgURL;
+
+ mandreel_fs_saveFile(new_name, buffer);
+
+ }
+ else
+ {
+
+ Mandreel_TextureAsync_textures_loaded++;
+
+ }
+ }
+
+ packdata_request.send();
+ }
+
+ }
+ );
+ }
+ else
+ image_src = full_name;
+ }
+ }
+
+
+ if (image_src_valid)
+ {
+ setTimeout( function Mandreel_TextureAsync_Load_callback() {
+ image.src = image_src;
+ }, 1);
+ }
+}
+
+
+
+function __sandbox_OutputDebugString(sp)
+{
+ puts(sp);
+}
+
+
+
+
+var MANDREELCALLJS_TYPE_RETURN_VOID = 0;
+var MANDREELCALLJS_TYPE_INT = 1;
+var MANDREELCALLJS_TYPE_FLOAT = 2;
+var MANDREELCALLJS_TYPE_STRING = 3;
+var MANDREELCALLJS_TYPE_RETURN_INT = 4;
+var MANDREELCALLJS_TYPE_RETURN_FLOAT = 5;
+
+function MandreelInterWriteString(ptr, value)
+{
+ fill_ptr_from_string(ptr,value);
+}
+
+function MandreelInterWriteWString(ptr, value)
+{
+ fill_wptr_from_string(ptr, value);
+}
+
+function MandreelInterWriteFloat(ptr, value)
+{
+ heapFloat[ptr>>2] = value;
+}
+
+function MandreelPause()
+{
+ _imandreel_pause_game = true;
+}
+
+function MandreelResume()
+{
+ _imandreel_pause_game = false;
+}
+
+
+function MandreelLockFrame()
+{
+ assert(g_mandreel_frame_inframe == false, "calling lockframe during render frame");
+ assert(g_mandreel_frame_locked == false, "calling lockframe twice");
+ g_mandreel_frame_locked = true;
+
+ return g_stack_pointer+800*1024;
+}
+
+function MandreelUnlockFrame()
+{
+ assert(g_mandreel_frame_inframe == false);
+ g_mandreel_frame_locked = false;
+}
+
+
+function MandreelInterWriteInt(ptr, value)
+{
+ heap32[ptr>>2] = value;
+}
+
+function MandreelInterStringFromWPtr(ptr)
+{
+ return get_string_from_wptr(ptr);
+}
+
+function MandreelInterStringFromPtr(ptr)
+{
+ return get_string_from_ptr(ptr);
+}
+
+function mandreel_my_call_external_array(method, params)
+{
+ var result
+ var resultString;
+ try
+ {
+ switch(params.length)
+ {
+ case 1:
+ resultString = Mandreel_window[method](params[0]);
+ break;
+ case 2:
+ resultString = Mandreel_window[method](params[0],params[1]);
+ break;
+ case 3:
+ resultString = Mandreel_window[method](params[0],params[1],params[2]);
+ break;
+ case 4:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3]);
+ break;
+ case 5:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4]);
+ break;
+ case 6:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4],params[5]);
+ break;
+ case 7:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4],params[5],params[6]);
+ break;
+ case 8:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7]);
+ break;
+ case 9:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8]);
+ break;
+ case 10:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9]);
+ break;
+ case 11:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10]);
+ break;
+ case 12:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11]);
+ break;
+ case 13:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12]);
+ break;
+ case 14:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13]);
+ break;
+ case 15:
+ resultString = Mandreel_window[method](params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14]);
+ break;
+ default:
+ assert(false);
+ }
+ result = 0;
+ } catch(e) { dump('error calling ' + method + '\n'); dump(e); result = 1;}
+
+ return [result,resultString];
+}
+
+
+function Mandreel_InterJS_Call(sp)
+{
+ var new_sp = sp;
+ var method_ptr = heap32[sp>>2];sp+=4;
+ var method = get_string_from_ptr(method_ptr);
+
+ var params = new Array();
+
+
+ params.push(new_sp);
+
+ var var_int;
+ var var_string;
+ var var_double;
+
+ var return_type;
+ var return_ptr;
+ while (true)
+ {
+ var my_type = heap32[sp>>2];sp+=4;
+
+
+ if (my_type == MANDREELCALLJS_TYPE_RETURN_VOID)
+ {
+ return_type = my_type;
+ break;
+ }
+ else if (my_type == MANDREELCALLJS_TYPE_INT)
+ {
+ var_int = heap32[sp>>2];
+
+ params.push(var_int);
+ sp+=4;
+ }
+ else if (my_type == MANDREELCALLJS_TYPE_FLOAT)
+ {
+ sp = (sp+7) & ~7;
+
+ var_double = llvm_readDouble(sp);
+
+ params.push(var_double);
+ sp+=8;
+ }
+ else if (my_type == MANDREELCALLJS_TYPE_STRING)
+ {
+ var_int = heap32[sp>>2];
+ var_string = get_string_from_ptr(var_int);
+
+ params.push(var_string);
+ sp+=4;
+ }
+ else if (my_type == MANDREELCALLJS_TYPE_RETURN_INT)
+ {
+ return_type = my_type;
+ return_ptr = heap32[sp>>2];
+ break;
+ }
+ else if (my_type == MANDREELCALLJS_TYPE_RETURN_FLOAT)
+ {
+ return_type = my_type;
+ return_ptr = heap32[sp>>2];
+ break;
+ }
+ else
+ {
+ assert(false, "invalid arguments calling Mandreel_InterJS_Call");
+ }
+ }
+
+ var result = mandreel_my_call_external_array(method,params);
+
+ r_g0 = result[0];
+
+
+ if (r_g0 == 0)
+ {
+ if (return_type == MANDREELCALLJS_TYPE_RETURN_INT)
+ {
+ heap32[return_ptr>>2] = result[1];
+ }
+ else if (return_type == MANDREELCALLJS_TYPE_RETURN_FLOAT)
+ {
+ heapFloat[return_ptr>>2] = result[1];
+ }
+
+ }
+}
+
+function iMandreelRegisterExternalCallback()
+{
+}
+
+function __mandreel_internal_CreateWindow()
+{
+}
+
+var __mandreel_async_calls_mandreel = [];
+var __mandreel_async_calls_js = [];
+
+
+function Mandreel_InterJS_AsyncCall(sp)
+{
+ var method_ptr = heap32[sp>>2];sp+=4;
+ var _func_name = get_string_from_ptr(method_ptr);
+ var param_ptr = heap32[sp>>2];sp+=4;
+ var _param = get_string_from_ptr(param_ptr);
+
+ __mandreel_async_calls_js.push({func_name:_func_name,param:_param});
+}
+
+
+
+
+function MandreelInterCallFunctionAsync(_func_name, _param)
+{
+ __mandreel_async_calls_mandreel.push({func_name:_func_name,param:_param});
+
+
+}
+
+function __mandreel_process_async_calls()
+{
+ if (__mandreel_async_calls_mandreel.length)
+ {
+ var temp_list = __mandreel_async_calls_mandreel.slice(0);
+
+ __mandreel_async_calls_mandreel = [];
+
+ for (var i=0;i<temp_list.length;++i)
+ {
+ var param = temp_list[i].param;
+ var func_name = temp_list[i].func_name;
+
+ var size = ((param.length + 1)+7)&0xFFFFFFF8;
+
+ var sp = g_stack_pointer+800*1024;
+
+ var str_ptr = sp - size;
+ fill_ptr_from_string(str_ptr,param);
+
+ sp = str_ptr - 4;
+ heap32[sp>>2] = str_ptr;
+
+ Mandreel_window[func_name](sp);
+ }
+ }
+
+ if (__mandreel_async_calls_js.length)
+ {
+ var temp_list = __mandreel_async_calls_js.slice(0);
+
+ __mandreel_async_calls_js = [];
+
+ for (var i=0;i<temp_list.length;++i)
+ {
+ var param = temp_list[i].param;
+ var func_name = temp_list[i].func_name;
+
+ Mandreel_window[func_name](param);
+
+ }
+ }
+}
+
+function mandreel_internal_isCanvas(sp)
+{
+ if ( mandreelAppPlatform == "canvas" )
+ r_g0 = 1;
+ else
+ r_g0 = 0;
+}
+
+function Mandreel_Device_SetFullScreen(sp)
+{
+ var enable = heap32[sp>>2];sp+=4;
+ mandreelAppFullscreen(enable);
+}
+
+var array_ids_ogl = [];
+
+var max_ogl_id = 8192;
+
+var array_ids_ogl_enable = [];
+var g_current_program_id = 0;
+
+
+var uniformArrays2 = [];
+var uniformArrays3 = [];
+var uniformArrays4 = [];
+var uniformArraysCreated = 0;
+var mandreel_draw_enable = true;
+
+
+if (typeof imandreel_gl=="undefined")
+{
+ alert('using old template, update code');
+}
+
+function myglCreateUniformArrays()
+{
+ if ( uniformArraysCreated == 0 )
+ {
+ for(var i=0; i<256;i++ )
+ {
+ uniformArrays2[i] = new Float32Array(i*2);
+ uniformArrays3[i] = new Float32Array(i*3);
+ uniformArrays4[i] = new Float32Array(i*4);
+ }
+ uniformArraysCreated = 1;
+ }
+}
+
+var my_super_id = 1;
+function myglNewSlot()
+{
+ //var id = array_ids_ogl_enable.pop();
+ var id = my_super_id;
+ my_super_id++;
+ return id;
+}
+
+function myglFreeSlot(id)
+{
+ //array_ids_ogl_enable.push(id);
+}
+
+
+function myglCreateProgram(sp)
+{
+ var id = myglNewSlot();
+ var program = imandreel_gl.createProgram();
+
+ program.uniform_locations_current_id = 0;
+ program.array_uniform_locations = [];
+
+ array_ids_ogl[id] = program;
+
+
+ r_g0 = id;
+}
+
+function myglCreateShader(sp)
+{
+ var type = heap32[sp>>2];sp+=4;
+ var id = myglNewSlot();
+
+ array_ids_ogl[id] = imandreel_gl.createShader(type);
+
+ r_g0 = id;
+}
+
+function myglAttachShader(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+ var shader_id = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.attachShader(array_ids_ogl[program_id], array_ids_ogl[shader_id]);
+}
+
+function myglBindAttribLocation(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+ var index = heap32[sp>>2];sp+=4;
+ var ptr_string = heap32[sp>>2];sp+=4;
+
+ var string = get_string_from_ptr(ptr_string);
+
+ imandreel_gl.bindAttribLocation(array_ids_ogl[program_id], index, string);
+}
+
+function myglLinkProgram(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.linkProgram(array_ids_ogl[program_id]);
+}
+
+function myglShaderSource(sp)
+{
+ var id = heap32[sp>>2];sp+=4;
+ var ptr_string = heap32[sp>>2];sp+=4;
+
+ var shader = array_ids_ogl[id];
+
+ var shader_code = get_string_from_ptr(ptr_string);
+
+ //dump(shader_code);
+
+
+ imandreel_gl.shaderSource(shader, shader_code);
+}
+
+
+function myglDrawArrays(sp)
+{
+ var mode = heap32[sp>>2];sp+=4;
+ var first = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+
+ if (mandreel_draw_enable)
+ imandreel_gl.drawArrays(mode, first, count);
+
+
+ //dump('draw arrays ' + mode + ' ' + first + ' ' + count + '\n');
+ }
+
+function myglDrawElements(sp)
+{
+ var mode = heapU32[sp>>2]; sp+=4;
+ var count = heapU32[sp>>2]; sp+=4;
+ var type = heapU32[sp>>2]; sp+=4;
+ var offset = heapU32[sp>>2]; sp+=4;
+
+
+ if (mandreel_draw_enable)
+ imandreel_gl.drawElements(mode, count, type, offset);
+
+
+
+}
+
+function myglCreateTexture(sp)
+{
+ var id = myglNewSlot();
+ array_ids_ogl[id] = imandreel_gl.createTexture();
+
+ r_g0 = id;
+}
+
+function myglCreateRenderBuffer(sp) {
+ var id = myglNewSlot();
+ array_ids_ogl[id] = imandreel_gl.createRenderbuffer();
+
+ r_g0 = id;
+}
+
+function myglCreateFrameBuffer(sp) {
+ var id = myglNewSlot();
+ array_ids_ogl[id] = imandreel_gl.createFramebuffer();
+
+ r_g0 = id;
+}
+
+function myglBindFramebuffer(sp)
+{
+ var target = heap32[sp >> 2]; sp += 4;
+ var framebuffer_id = heap32[sp >> 2]; sp += 4;
+
+ if (framebuffer_id != 0)
+ {
+ var framebuffer = array_ids_ogl[framebuffer_id];
+ imandreel_gl.bindFramebuffer(target,framebuffer);
+ }
+ else
+ imandreel_gl.bindFramebuffer(target,null);
+
+}
+
+function myglBindRenderbuffer(sp)
+{
+ var target = heap32[sp >> 2]; sp += 4;
+ var renderbuffer_id = heap32[sp >> 2]; sp += 4;
+
+ var renderbuffer = array_ids_ogl[renderbuffer_id];
+
+ imandreel_gl.bindRenderbuffer(target,renderbuffer);
+
+}
+
+
+function myglRenderbufferStorage(sp) {
+ var target = heap32[sp >> 2]; sp += 4;
+ var internalformat = heap32[sp >> 2]; sp += 4;
+ var witdth = heap32[sp >> 2]; sp += 4;
+ var height = heap32[sp >> 2]; sp += 4;
+
+ imandreel_gl.renderbufferStorage(target, internalformat, witdth, height);
+
+}
+
+function myglFramebufferRenderbuffer (sp)
+{
+ var target = heap32[sp>>2];sp+=4;
+ var attachment = heap32[sp>>2];sp+=4;
+ var renderbuffertarget = heap32[sp>>2];sp+=4;
+ var renderbuffer_id = heap32[sp>>2];sp+=4;
+
+ var renderbuffer = array_ids_ogl[renderbuffer_id];
+
+ imandreel_gl.framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
+
+}
+
+function myglFramebufferTexture2D (sp)
+{
+ var target = heap32[sp>>2];sp+=4;
+ var attachment = heap32[sp>>2];sp+=4;
+ var textarget = heap32[sp>>2];sp+=4;
+ var texture_id = heap32[sp>>2];sp+=4;
+ var level = heap32[sp>>2];sp+=4;
+
+ var texture = array_ids_ogl[texture_id];
+
+ imandreel_gl.framebufferTexture2D(target, attachment, textarget, texture, level);
+
+
+}
+
+function myglTexImage2D(sp)
+ {
+ var target = heap32[sp>>2];sp+=4;
+ var level = heap32[sp>>2];sp+=4;
+ var internalFormat = heap32[sp>>2];sp+=4;
+ var width = heap32[sp>>2];sp+=4;
+ var height = heap32[sp>>2];sp+=4;
+ var border = heap32[sp>>2];sp+=4;
+ var format = heap32[sp>>2];sp+=4;
+ var type = heap32[sp>>2];sp+=4;
+ var data = heap32[sp>>2];sp+=4;
+
+ if (level>0 && target==imandreel_gl.TEXTURE_2D)
+ return;
+
+ if (data == 0)
+ {
+ //imandreel_gl.texImage2D(target, level, internalFormat, width, height, border, format, type, null);
+ var buffer;
+ var bufferView;
+
+ if (type == imandreel_gl.UNSIGNED_SHORT_5_6_5 || type == imandreel_gl.UNSIGNED_SHORT_4_4_4_4 || type == imandreel_gl.UNSIGNED_SHORT_5_5_5_1)
+ {
+ buffer = new ArrayBuffer(width*height*2);
+ bufferView = new Uint16Array(buffer);
+ }
+ else
+ {
+ var size;
+ if (format == imandreel_gl.LUMINANCE)
+ size = width*height;
+ else if (format == imandreel_gl.RGB)
+ size = width*height*3;
+ else if (format == imandreel_gl.RGBA)
+ size = width*height*4;
+ else if (format == imandreel_gl.ALPHA)
+ size = width*height;
+ else if (format == imandreel_gl.LUMINANCE_ALPHA)
+ size = width*height*2;
+
+ buffer = new ArrayBuffer(size);
+ bufferView = new Uint8Array(buffer);
+ }
+
+ imandreel_gl.texImage2D(target, level, internalFormat, width, height, border, format, type, bufferView);
+ return;
+ }
+
+
+ var bufferView;
+ if (type == imandreel_gl.UNSIGNED_SHORT_5_6_5 || type == imandreel_gl.UNSIGNED_SHORT_4_4_4_4 || type == imandreel_gl.UNSIGNED_SHORT_5_5_5_1)
+ {
+ bufferView = new Uint16Array(heap,data,width*height);
+ }
+ else if (type == imandreel_gl.UNSIGNED_BYTE)
+ {
+ if (format == imandreel_gl.LUMINANCE)
+ bufferView = new Uint8Array(heap,data,width*height);
+ else if (format == imandreel_gl.RGB)
+ bufferView = new Uint8Array(heap,data,width*height*3);
+ else if (format == imandreel_gl.RGBA)
+ bufferView = new Uint8Array(heap,data,width*height*4);
+ else if (format == imandreel_gl.ALPHA)
+ bufferView = new Uint8Array(heap,data,width*height);
+ else if (format == imandreel_gl.LUMINANCE_ALPHA)
+ bufferView = new Uint8Array(heap,data,width*height*2);
+ else
+ {
+ dump('format unknown ' + format + '\n');
+ assert(false);
+ }
+ }
+ else
+ {
+ dump('type unknown ' + type + '\n');
+ assert(false);
+ }
+
+ imandreel_gl.texImage2D(target, level, internalFormat, width, height, border, format, type, bufferView);
+ if ((width&(width-1))==0 && (height&(height-1))==0)
+ {
+ if (target==imandreel_gl.TEXTURE_2D)
+ imandreel_gl.generateMipmap(target);
+}
+ }
+ function myglStencilFunc(sp)
+ {
+ var func = heap32[sp>>2];sp+=4;
+ var ref = heap32[sp>>2];sp+=4;
+ var mask = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.stencilFunc(func, ref, mask);
+ }
+
+ function myglStencilFuncSeparate(sp)
+ {
+ var face = heap32[sp>>2];sp+=4;
+ var func = heap32[sp>>2];sp+=4;
+ var ref = heap32[sp>>2];sp+=4;
+ var mask = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.stencilFuncSeparate(face,func,ref,mask);
+ }
+
+ function myglStencilMaskSeparate(sp)
+ {
+ var face = heap32[sp>>2];sp+=4;
+ var mask = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.stencilMaskSeparate(face,mask);
+ }
+
+ function myglStencilMask(sp)
+ {
+ var mask = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.stencilMask(mask);
+ }
+ function myglStencilOp (sp)
+ {
+ var fail = heap32[sp>>2];sp+=4;
+ var zfail = heap32[sp>>2];sp+=4;
+ var zpass = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.stencilOp(fail, zfail, zpass);
+ }
+
+ function myglStencilOpSeparate (sp)
+ {
+ var face = heap32[sp>>2];sp+=4;
+ var fail = heap32[sp>>2];sp+=4;
+ var zfail = heap32[sp>>2];sp+=4;
+ var zpass = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.stencilOpSeparate(face, fail, zfail, zpass);
+ }
+
+ function myglTexSubImage2D(sp)
+ {
+ var target = heap32[sp>>2];sp+=4;
+ var level = heap32[sp>>2];sp+=4;
+ var xoffset = heap32[sp>>2];sp+=4;
+ var yoffset = heap32[sp>>2];sp+=4;
+ var width = heap32[sp>>2];sp+=4;
+ var height = heap32[sp>>2];sp+=4;
+ var format = heap32[sp>>2];sp+=4;
+ var type = heap32[sp>>2];sp+=4;
+ var data = heap32[sp>>2];sp+=4;
+
+
+
+ var bufferView;
+ if (type == imandreel_gl.UNSIGNED_SHORT_5_6_5 || type == imandreel_gl.UNSIGNED_SHORT_4_4_4_4 || type == imandreel_gl.UNSIGNED_SHORT_5_5_5_1)
+ {
+ bufferView = new Uint16Array(heap,data,width*height);
+ }
+ else if (type == imandreel_gl.UNSIGNED_BYTE)
+ {
+ if (format == imandreel_gl.LUMINANCE)
+ bufferView = new Uint8Array(heap,data,width*height);
+ else if (format == imandreel_gl.RGB)
+ bufferView = new Uint8Array(heap,data,width*height*3);
+ else if (format == imandreel_gl.RGBA)
+ bufferView = new Uint8Array(heap,data,width*height*4);
+ else if (format == imandreel_gl.ALPHA)
+ bufferView = new Uint8Array(heap,data,width*height);
+ }
+
+ imandreel_gl.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, bufferView);
+ }
+
+
+ function myglCreateBuffer(sp)
+{
+ var id = myglNewSlot();
+ array_ids_ogl[id] = imandreel_gl.createBuffer();
+
+ r_g0 = id;
+}
+
+var glBufferDataArray = [];
+
+function myglBufferData(sp)
+{
+ var target = heapU32[sp>>2]; sp+=4;
+ var size = heapU32[sp>>2]; sp+=4;
+ var data = heapU32[sp>>2]; sp+=4;
+ var usage = heapU32[sp>>2]; sp+=4;
+
+ if (data == 0)
+ imandreel_gl.bufferData(target, size, usage);
+ else
+ {
+ if (usage == imandreel_gl.STATIC_DRAW || true)
+ {
+ var buffer_data = new Int8Array(heap, data, size);
+ imandreel_gl.bufferData(target, buffer_data, usage);
+ }
+ else
+ {
+ var new_size = size/4;
+ var buffer_data = glBufferDataArray[new_size];
+
+ if (buffer_data == null)
+ {
+ buffer_data = new Int32Array(new_size);
+ glBufferDataArray[new_size] = buffer_data;
+ }
+
+ var new_data = data>>2;
+
+ for ( var i = 0 ; i < new_size ; ++i )
+ {
+ buffer_data[i] = heap32[new_data+i];
+ }
+
+ imandreel_gl.bufferData(target, buffer_data, usage);
+ }
+ }
+}
+
+function myglBufferSubData(sp)
+{
+ var target = heapU32[sp>>2]; sp+=4;
+ var offset = heapU32[sp>>2]; sp+=4;
+ var size = heapU32[sp>>2]; sp+=4;
+ var data = heapU32[sp>>2]; sp+=4;
+
+
+ var buffer_data = new Int8Array(heap, data, size);
+ imandreel_gl.bufferSubData(target, offset, buffer_data);
+
+// dump('buffer sub data ' + offset + ' ' + size + ' ' + data + '\n')
+
+}
+
+
+function myglBindBuffer(sp)
+{
+ var target = heapU32[sp>>2]; sp+=4;
+ var id = heapU32[sp>>2]; sp+=4;
+
+ imandreel_gl.bindBuffer(target, array_ids_ogl[id]);
+}
+
+
+function myglUseProgram(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+
+ g_current_program_id = program_id;
+
+ imandreel_gl.useProgram(array_ids_ogl[program_id]);
+
+}
+
+function myglDisableVertexAttribArray(sp)
+{
+ var idx = heapU32[sp>>2];sp+=4;
+ imandreel_gl.disableVertexAttribArray(idx);
+}
+function myglEnableVertexAttribArray(sp)
+{
+ var idx = heapU32[sp>>2];sp+=4;
+ imandreel_gl.enableVertexAttribArray(idx);
+}
+
+function myglVertexAttribPointer(sp)
+{
+ var idx = heapU32[sp>>2];sp+=4;
+ var size = heapU32[sp>>2];sp+=4;
+ var type = heapU32[sp>>2];sp+=4;
+ var normalized = heapU32[sp>>2];sp+=4;
+ var stride = heapU32[sp>>2];sp+=4;
+ var ptr = heapU32[sp>>2];sp+=4;
+
+ //dump(idx + ' ' + size + ' ' + type + ' ' + normalized + ' ' + stride + ' ' + ptr + '\n');
+
+
+ imandreel_gl.vertexAttribPointer(idx, size, type, normalized, stride, ptr);
+}
+
+function myglPolygonOffset(sp)
+{
+ var factor = heapFloat[sp>>2]; sp+=4;
+ var units = heapFloat[sp>>2]; sp+=4;
+ imandreel_gl.polygonOffset(factor, units);
+}
+
+function myglEnable(sp)
+ {
+ var value = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.enable(value);
+ }
+
+function myglDisable(sp)
+ {
+ var value = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.disable(value);
+ }
+
+ function myglDepthFunc(sp)
+ {
+ var func = heapU32[sp>>2];sp+=4;
+
+ imandreel_gl.depthFunc(func);
+
+ }
+
+ function myglGenerateMipmap(sp)
+ {
+ var texture_type = heap32[sp>>2];sp+=4;
+ imandreel_gl.generateMipmap(texture_type);
+ }
+
+ function myglPixelStorei (sp)
+ {
+ var pname = heap32[sp>>2];sp+=4;
+ var param = heap32[sp>>2];sp+=4;
+ imandreel_gl.pixelStorei(pname,param);
+ }
+
+
+ function myglBindTexture(sp)
+ {
+ var texture_type = heap32[sp>>2];sp+=4;
+ var texture_id = heap32[sp>>2];sp+=4;
+
+if (texture_id == 0)
+{
+ imandreel_gl.bindTexture(texture_type, null);
+}
+else
+{
+ var tex = array_ids_ogl[texture_id];
+ imandreel_gl.bindTexture(texture_type, tex);
+ }
+
+ }
+
+ function myglActiveTexture(sp)
+{
+ var param = heapU32[sp>>2];sp+=4;
+ imandreel_gl.activeTexture(param);
+}
+
+function myglCompileShader(sp)
+{
+ var id = heap32[sp>>2];sp+=4;
+
+ var shader = array_ids_ogl[id];
+
+ imandreel_gl.compileShader(shader);
+}
+
+function myglGetUniformLocation(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+ var ptr_string = heap32[sp>>2];sp+=4;
+
+ var string = get_string_from_ptr(ptr_string);
+ var program = array_ids_ogl[program_id];
+ var result = imandreel_gl.getUniformLocation(program, string);
+
+ if (result != null)
+ {
+ program.array_uniform_locations[program.uniform_locations_current_id] = result;
+ r_g0 = program.uniform_locations_current_id;
+ program.uniform_locations_current_id++;
+ }
+ else
+ r_g0 = -1;
+}
+
+function myglIsEnabled(sp)
+{
+ var cap = heap32[sp>>2];sp+=4;
+
+ r_g0 = imandreel_gl.isEnabled(cap);
+}
+
+
+function myglUniform1i(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var value = heap32[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[g_current_program_id];
+
+ var uniform_value = program.array_uniform_locations[index];
+
+ imandreel_gl.uniform1i(uniform_value, value);
+}
+
+function myglUniform2i(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var x = heap32[sp>>2];sp+=4;
+ var y = heap32[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[g_current_program_id];
+
+ var uniform_value = program.array_uniform_locations[index];
+
+ imandreel_gl.uniform2i(uniform_value, x,y);
+}
+
+function myglUniform3i(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var x = heap32[sp>>2];sp+=4;
+ var y = heap32[sp>>2];sp+=4;
+ var z = heap32[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[g_current_program_id];
+
+ var uniform_value = program.array_uniform_locations[index];
+
+ imandreel_gl.uniform3i(uniform_value, x,y,z);
+}
+
+function myglUniform4i(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var x = heap32[sp>>2];sp+=4;
+ var y = heap32[sp>>2];sp+=4;
+ var z = heap32[sp>>2];sp+=4;
+ var w = heap32[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[g_current_program_id];
+
+ var uniform_value = program.array_uniform_locations[index];
+
+ imandreel_gl.uniform4i(uniform_value, x,y,z,w);
+}
+
+function myglUniform1f(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var value = heapFloat[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[g_current_program_id];
+
+ var uniform_value = program.array_uniform_locations[index];
+
+ imandreel_gl.uniform1f(uniform_value, value);
+}
+
+function myglUniform3f(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var x = heapFloat[sp>>2];sp+=4;
+ var y = heapFloat[sp>>2];sp+=4;
+ var z = heapFloat[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[g_current_program_id];
+
+ var uniform_value = program.array_uniform_locations[index];
+
+ imandreel_gl.uniform3f(uniform_value, x,y,z);
+}
+
+function myglUniform2f(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var x = heapFloat[sp>>2];sp+=4;
+ var y = heapFloat[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[g_current_program_id];
+
+ var uniform_value = program.array_uniform_locations[index];
+
+ imandreel_gl.uniform2f(uniform_value, x,y);
+}
+
+
+function myglUniform4f(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var x = heapFloat[sp>>2];sp+=4;
+ var y = heapFloat[sp>>2];sp+=4;
+ var z = heapFloat[sp>>2];sp+=4;
+ var w = heapFloat[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+
+ imandreel_gl.uniform4f(uniform_value, x,y,z,w);
+}
+
+function myglUniform1fv(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+ var data = heap32[sp>>2];sp+=4;
+
+ var new_data = data>>2;
+ var new_count = count;
+ var bufferView = new Float32Array(new_count);
+
+ for ( var i = 0 ; i < new_count ; ++i )
+ {
+ bufferView[i] = heapFloat[new_data+i];
+ }
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+ imandreel_gl.uniform1fv(uniform_value, bufferView);
+
+
+}
+
+function myglUniform1iv(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+ var data = heap32[sp>>2];sp+=4;
+
+ var new_data = data>>2;
+ var new_count = count;
+ var bufferView = new Int32Array(new_count);
+
+ for ( var i = 0 ; i < new_count ; ++i )
+ {
+ bufferView[i] = heap32[new_data+i];
+ }
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+ imandreel_gl.uniform1iv(uniform_value, bufferView);
+}
+
+function myglUniform2iv(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+ var data = heap32[sp>>2];sp+=4;
+
+ var new_data = data>>2;
+ var new_count = count*2;
+ var bufferView = new Int32Array(new_count);
+
+ for ( var i = 0 ; i < new_count ; ++i )
+ {
+ bufferView[i] = heap32[new_data+i];
+ }
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+ imandreel_gl.uniform2iv(uniform_value, bufferView);
+}
+
+function myglUniform3iv(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+ var data = heap32[sp>>2];sp+=4;
+
+ var new_data = data>>2;
+ var new_count = count*3;
+ var bufferView = new Int32Array(new_count);
+
+ for ( var i = 0 ; i < new_count ; ++i )
+ {
+ bufferView[i] = heap32[new_data+i];
+ }
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+ imandreel_gl.uniform3iv(uniform_value, bufferView);
+}
+
+function myglUniform4iv(sp)
+{
+ var index = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+ var data = heap32[sp>>2];sp+=4;
+
+ var new_data = data>>2;
+ var new_count = count*4;
+ var bufferView = new Int32Array(new_count);
+
+ for ( var i = 0 ; i < new_count ; ++i )
+ {
+ bufferView[i] = heap32[new_data+i];
+ }
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+ imandreel_gl.uniform4iv(uniform_value, bufferView);
+}
+
+
+
+function myglUniform3fv(sp)
+{
+ myglCreateUniformArrays();
+
+ var index = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+ var data = heap32[sp>>2];sp+=4;
+
+ var new_data = data>>2;
+ var new_count = count*3;
+ var bufferView = uniformArrays3[count];
+
+ for ( var i = 0 ; i < new_count ; ++i )
+ {
+ bufferView[i] = heapFloat[new_data+i];
+ }
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+ imandreel_gl.uniform3fv(uniform_value, bufferView);
+}
+
+function myglUniform2fv(sp)
+{
+ myglCreateUniformArrays();
+
+ var index = heap32[sp >> 2]; sp += 4;
+ var count = heap32[sp >> 2]; sp += 4;
+ var data = heap32[sp >> 2]; sp += 4;
+
+ var new_data = data>>2;
+ var new_count = count*2;
+ var bufferView = uniformArrays2[count];
+
+ for ( var i = 0 ; i < new_count ; ++i )
+ {
+ bufferView[i] = heapFloat[new_data+i];
+ }
+
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+ imandreel_gl.uniform2fv(uniform_value, bufferView);
+}
+
+
+function myglUniform4fv(sp)
+{
+ myglCreateUniformArrays();
+
+ var index = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+ var data = heap32[sp>>2];sp+=4;
+
+
+ var new_data = data>>2;
+ var new_count = count*4;
+ var bufferView = uniformArrays4[count];
+
+ for ( var i = 0 ; i < new_count ; ++i )
+ {
+ bufferView[i] = heapFloat[new_data+i];
+ }
+
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+ imandreel_gl.uniform4fv(uniform_value, bufferView);
+}
+
+
+function myglUniformMatrix4fv(sp)
+{
+ myglCreateUniformArrays();
+
+ var index = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+ var transpose = heap32[sp>>2];sp+=4;
+ var ptr = heap32[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+
+ //var buffer_data = new Float32Array(heap, ptr, count*16);
+ for ( var i = 0 ; i < count*16 ; ++i )
+ {
+ uniformArrays4[count*4][i] = heapFloat[(ptr>>2)+i];
+ }
+
+ //imandreel_gl.uniformMatrix4fv(uniform_value, transpose, buffer_data);
+ //imandreel_gl.uniformMatrix4fv(uniform_value, transpose, heapFloat.subarray(ptr/4,(ptr/4)+(count*16)));
+ imandreel_gl.uniformMatrix4fv(uniform_value, transpose, uniformArrays4[count*4]);
+}
+
+function myglUniformMatrix3fv(sp)
+{
+ myglCreateUniformArrays();
+
+ var index = heap32[sp>>2];sp+=4;
+ var count = heap32[sp>>2];sp+=4;
+ var transpose = heap32[sp>>2];sp+=4;
+ var ptr = heap32[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[g_current_program_id];
+ var uniform_value = program.array_uniform_locations[index];
+
+ //var buffer_data = new Float32Array(heap, ptr, count*9);
+ for ( var i = 0 ; i < count*9 ; ++i )
+ {
+ uniformArrays3[count*3][i] = heapFloat[(ptr>>2)+i];
+ }
+
+ //imandreel_gl.uniformMatrix3fv(uniform_value, transpose, buffer_data);
+ //imandreel_gl.uniformMatrix3fv(uniform_value, transpose, heapFloat.subarray(ptr/4,(ptr/4)+(count*9)));
+ imandreel_gl.uniformMatrix3fv(uniform_value, transpose, uniformArrays3[count*3]);
+}
+
+
+
+function myglValidateProgram(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.validateProgram(array_ids_ogl[program_id]);
+}
+
+function myglGetAttribLocation(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+ var ptr_string = heap32[sp>>2];sp+=4;
+
+ var string = get_string_from_ptr(ptr_string);
+ var result = imandreel_gl.getAttribLocation(array_ids_ogl[program_id], string);
+
+ r_g0 = result;
+}
+
+function myglGetProgramInfoLogLength(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+
+ var info_log = imandreel_gl.getProgramInfoLog(array_ids_ogl[program_id]);
+
+ if (info_log)
+ r_g0 = info_log.length+1;
+ else
+ r_g0 = 0;
+}
+
+
+function myglGetProgramInfoLog(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+ var ptr_string = heap32[sp>>2];sp+=4;
+
+ var info_log = imandreel_gl.getProgramInfoLog(array_ids_ogl[program_id]);
+
+ fill_ptr_from_string(ptr_string, info_log);
+}
+
+function myglGetShaderInfoLogLength(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+
+ var info_log = imandreel_gl.getShaderInfoLog(array_ids_ogl[program_id]);
+
+ if (info_log)
+ r_g0 = info_log.length+1;
+ else
+ r_g0 = 0;
+}
+
+function myglGetShaderInfoLog(sp)
+{
+ var program_id = heap32[sp>>2];sp+=4;
+ var ptr_string = heap32[sp>>2];sp+=4;
+
+ var info_log = imandreel_gl.getShaderInfoLog(array_ids_ogl[program_id]);
+
+ fill_ptr_from_string(ptr_string, info_log);
+}
+
+function myglViewport(sp) {
+ var x = heap32[sp >> 2]; sp += 4;
+ var y = heap32[sp >> 2]; sp += 4;
+ var width = heap32[sp >> 2]; sp += 4;
+ var height = heap32[sp >> 2]; sp += 4;
+
+ imandreel_gl.viewport(x,y,width,height);
+
+}
+
+function myglScissor(sp)
+{
+ var x = heap32[sp >> 2]; sp += 4;
+ var y = heap32[sp >> 2]; sp += 4;
+ var width = heap32[sp >> 2]; sp += 4;
+ var height = heap32[sp >> 2]; sp += 4;
+
+ imandreel_gl.scissor(x,y,width,height);
+}
+
+
+
+function myglClearColor(sp)
+{
+ var r = heapFloat[sp>>2];sp+=4;
+ var g = heapFloat[sp>>2];sp+=4;
+ var b = heapFloat[sp>>2];sp+=4;
+ var a = heapFloat[sp>>2];sp+=4;
+
+ imandreel_gl.clearColor(r,g,b,a);
+
+
+}
+
+function myglClearStencil(sp)
+{
+ var stencil = heap32[sp>>2];sp+=4;
+ imandreel_gl.clearStencil(stencil);
+}
+
+
+function myglClearDepthf(sp)
+{
+ var depth = heapFloat[sp>>2];sp+=4;
+ imandreel_gl.clearDepth(depth);
+}
+
+function myglClear(sp)
+ {
+ var mask = heap32[sp>>2];sp+=4;
+
+
+ //dump('clear ' + mask + '\n');
+ if (mandreel_draw_enable)
+ imandreel_gl.clear(mask);
+ }
+
+ function myglGetError(sp)
+ {
+// r_g0 = imandreel_gl.getError();
+ r_g0 = 0;
+ }
+
+ function myglGetProgramParameter(sp)
+ {
+ var program_id = heap32[sp>>2];sp+=4;
+ var pname = heap32[sp>>2];sp+=4;
+
+ r_g0 = imandreel_gl.getProgramParameter(array_ids_ogl[program_id], pname);
+ }
+
+ function myglGetActiveAttrib (sp)
+ {
+ var program_id = heap32[sp>>2];sp+=4;
+ var index = heap32[sp>>2];sp+=4;
+ var ptr = heap32[sp>>2];sp+=4;
+
+ var result = imandreel_gl.getActiveAttrib(array_ids_ogl[program_id], index);
+
+ if (result != null)
+ {
+ heap32[(ptr)>>2] = result.size;
+ heap32[(ptr+4)>>2] = result.type;
+ fill_ptr_from_string(ptr+8, result.name);
+ r_g0 = 0;
+ }
+ else
+ r_g0 = 1;
+ }
+
+ function myglGetActiveUniform (sp)
+ {
+ var program_id = heap32[sp>>2];sp+=4;
+ var index = heap32[sp>>2];sp+=4;
+ var ptr = heap32[sp>>2];sp+=4;
+
+ var result = imandreel_gl.getActiveUniform(array_ids_ogl[program_id], index);
+
+ if (result != null)
+ {
+ heap32[(ptr)>>2] = result.size;
+ heap32[(ptr+4)>>2] = result.type;
+ fill_ptr_from_string(ptr+8, result.name);
+ r_g0 = 0;
+ }
+ else
+ r_g0 = 1;
+ }
+
+ function myglTexParameterf (sp)
+ {
+ var target = heap32[sp>>2];sp+=4;
+ var pname = heap32[sp>>2];sp+=4;
+ var value = heapFloat[sp>>2];sp+=4;
+
+ imandreel_gl.texParameterf(target,pname,value);
+}
+
+function myglTexParameteri (sp)
+ {
+ var target = heap32[sp>>2];sp+=4;
+ var pname = heap32[sp>>2];sp+=4;
+ var value = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.texParameteri(target,pname,value);
+}
+
+function myglCullFace (sp)
+ {
+ var mode = heap32[sp>>2];sp+=4;
+ imandreel_gl.cullFace(mode);
+ }
+
+ function myglDepthMask (sp)
+ {
+ var flag = heap32[sp>>2];sp+=4;
+ imandreel_gl.depthMask(flag);
+ }
+
+ function myglDepthRangef (sp)
+ {
+ var zNear = heapFloat[sp>>2];sp+=4;
+ var zFar = heapFloat[sp>>2];sp+=4;
+ imandreel_gl.depthRange(zNear, zFar);
+ }
+
+function myglFrontFace (sp)
+ {
+ var mode = heap32[sp>>2];sp+=4;
+ imandreel_gl.frontFace(mode);
+ }
+
+ function myglBlendFunc (sp)
+ {
+ var sfactor = heap32[sp>>2];sp+=4;
+ var dfactor = heap32[sp>>2];sp+=4;
+ imandreel_gl.blendFunc(sfactor,dfactor);
+ }
+
+ function myglBlendColor(sp)
+ {
+ var red = heapFloat[sp>>2];sp+=4;
+ var green = heapFloat[sp>>2];sp+=4;
+ var blue = heapFloat[sp>>2];sp+=4;
+ var alpha = heapFloat[sp>>2];sp+=4;
+ imandreel_gl.blendColor(red,green,blue,alpha);
+ }
+
+ function myglBlendEquation(sp)
+ {
+ var mode = heap32[sp>>2];sp+=4;
+ imandreel_gl.blendEquation(mode);
+ }
+
+ function myglBlendEquationSeparate(sp)
+ {
+ var modeRGB = heap32[sp>>2];sp+=4;
+ var modeAlpha = heap32[sp>>2];sp+=4;
+ imandreel_gl.blendEquationSeparate(modeRGB,modeAlpha);
+ }
+
+ function myglBlendFuncSeparate(sp)
+ {
+ var srcRGB = heap32[sp>>2];sp+=4;
+ var dstRGB = heap32[sp>>2];sp+=4;
+ var srcAlpha = heap32[sp>>2];sp+=4;
+ var dstAlpha = heap32[sp>>2];sp+=4;
+
+ imandreel_gl.blendFuncSeparate(srcRGB,dstRGB,srcAlpha,dstAlpha);
+ }
+
+
+ function myglColorMask (sp)
+ {
+ var red = heap32[sp>>2];sp+=4;
+ var green = heap32[sp>>2];sp+=4;
+ var blue = heap32[sp>>2];sp+=4;
+ var alpha = heap32[sp>>2];sp+=4;
+ imandreel_gl.colorMask(red,green,blue,alpha);
+ }
+
+ function removeByElement(arrayName,arrayElement)
+ {
+ for(var i=0; i<arrayName.length;i++ )
+ {
+ if(arrayName[i]==arrayElement)
+ {
+ arrayName.splice(i,1);
+ return;
+ }
+ }
+ }
+
+
+ function mygetParameter(sp)
+ {
+ var pname = heap32[sp>>2];sp+=4;
+ r_g0 = imandreel_gl.getParameter(pname);
+ }
+
+
+ function mygetProgramParameter(sp)
+ {
+ var program_id = heap32[sp>>2];sp+=4;
+ var pname = heap32[sp>>2];sp+=4;
+ r_g0 = imandreel_gl.getProgramParameter(array_ids_ogl[program_id], pname);
+ }
+
+ function mygetShaderParameter(sp)
+ {
+ var shader_id = heap32[sp>>2];sp+=4;
+ var pname = heap32[sp>>2];sp+=4;
+ r_g0 = imandreel_gl.getShaderParameter(array_ids_ogl[shader_id], pname);
+ }
+
+ function myglVertexAttrib1f(sp)
+ {
+ var index = heap32[sp>>2];sp+=4;
+ var x = heapFloat[sp>>2];sp+=4;
+ imandreel_gl.vertexAttrib1f(index,x);
+ }
+
+ function myglVertexAttrib2f(sp)
+ {
+ var index = heap32[sp>>2];sp+=4;
+ var x = heapFloat[sp>>2];sp+=4;
+ var y = heapFloat[sp>>2];sp+=4;
+ imandreel_gl.vertexAttrib2f(index,x,y);
+ }
+
+ function myglVertexAttrib3f(sp)
+ {
+ var index = heap32[sp>>2];sp+=4;
+ var x = heapFloat[sp>>2];sp+=4;
+ var y = heapFloat[sp>>2];sp+=4;
+ var z = heapFloat[sp>>2];sp+=4;
+ imandreel_gl.vertexAttrib3f(index,x,y,z);
+ }
+
+ function myglVertexAttrib4f(sp)
+ {
+ var index = heap32[sp>>2];sp+=4;
+ var x = heapFloat[sp>>2];sp+=4;
+ var y = heapFloat[sp>>2];sp+=4;
+ var z = heapFloat[sp>>2];sp+=4;
+ var w = heapFloat[sp>>2];sp+=4;
+ imandreel_gl.vertexAttrib4f(index,x,y,z,w);
+ }
+
+ function myglVertexAttrib1fv(sp)
+ {
+ var index = heap32[sp>>2];sp+=4;
+ var ptr = heap32[sp>>2];sp+=4;
+ var x = heap32[ptr>>2];ptr+=4;
+ imandreel_gl.vertexAttrib1f(index,x);
+ }
+
+ function myglVertexAttrib2fv(sp)
+ {
+ var index = heap32[sp>>2];sp+=4;
+ var ptr = heap32[sp>>2];sp+=4;
+ var x = heap32[ptr>>2];ptr+=4;
+ var y = heap32[ptr>>2];ptr+=4;
+
+ imandreel_gl.vertexAttrib2f(index,x,y);
+ }
+
+ function myglVertexAttrib3fv(sp)
+ {
+ var index = heap32[sp>>2];sp+=4;
+ var ptr = heap32[sp>>2];sp+=4;
+ var x = heap32[ptr>>2];ptr+=4;
+ var y = heap32[ptr>>2];ptr+=4;
+ var z = heap32[ptr>>2];ptr+=4;
+
+ imandreel_gl.vertexAttrib3f(index,x,y,z);
+ }
+
+ function myglVertexAttrib4fv(sp)
+ {
+ var index = heap32[sp>>2];sp+=4;
+ var ptr = heap32[sp>>2];sp+=4;
+ var x = heap32[ptr>>2];ptr+=4;
+ var y = heap32[ptr>>2];ptr+=4;
+ var z = heap32[ptr>>2];ptr+=4;
+ var w = heap32[ptr>>2];ptr+=4;
+
+ imandreel_gl.vertexAttrib4f(index,x,y,z,w);
+ }
+
+
+ function myglDeleteTexture (sp)
+ {
+
+ var texture_id = heap32[sp>>2];sp+=4;
+
+ var texture = array_ids_ogl[texture_id];
+
+ imandreel_gl.deleteTexture(texture);
+
+ array_ids_ogl[texture_id] = null;
+
+ myglFreeSlot(texture_id);
+ }
+
+ function myglDeleteBuffer (sp)
+ {
+
+ var buffer_id = heap32[sp>>2];sp+=4;
+
+ var buffer = array_ids_ogl[buffer_id];
+
+ imandreel_gl.deleteBuffer(buffer);
+
+ array_ids_ogl[buffer_id] = null;
+
+ myglFreeSlot(buffer_id);
+ }
+
+ function myglDeleteFrameBuffer (sp)
+ {
+ var framebuffer_id = heap32[sp>>2];sp+=4;
+
+ var framebuffer = array_ids_ogl[framebuffer_id];
+
+ imandreel_gl.deleteFramebuffer(framebuffer);
+
+ array_ids_ogl[framebuffer_id] = null;
+
+ myglFreeSlot(framebuffer_id);
+ }
+
+
+ function myglDeleteProgram (sp)
+ {
+ var program_id = heap32[sp>>2];sp+=4;
+
+ var program = array_ids_ogl[program_id];
+
+ imandreel_gl.deleteProgram(program);
+
+ array_ids_ogl[program_id] = null;
+
+ myglFreeSlot(program_id);
+ }
+
+ function myglDeleteRenderBuffer (sp)
+ {
+ var renderbuffer_id = heap32[sp>>2];sp+=4;
+
+ var renderbuffer = array_ids_ogl[renderbuffer_id];
+
+ imandreel_gl.deleteRenderbuffer(renderbuffer);
+
+ array_ids_ogl[renderbuffer_id] = null;
+
+ myglFreeSlot(renderbuffer_id);
+ }
+
+ function myglDeleteShader (sp)
+ {
+ var shader_id = heap32[sp>>2];sp+=4;
+
+ var shader = array_ids_ogl[shader_id];
+
+ imandreel_gl.deleteShader(shader);
+
+ array_ids_ogl[shader_id] = null;
+
+ myglFreeSlot(shader_id);
+ }
+
+ function myglInit(sp)
+ {
+
+ for (var i=0;i<max_ogl_id;++i)
+ {
+ array_ids_ogl_enable.push(i+1);
+ }
+ }
+
+ function myglReadPixels(sp)
+ {
+ var x = heap32[sp>>2];sp+=4;
+ var y = heap32[sp>>2];sp+=4;
+ var width = heap32[sp>>2];sp+=4;
+ var height = heap32[sp>>2];sp+=4;
+ var format = heap32[sp>>2];sp+=4;
+ var type = heap32[sp>>2];sp+=4;
+ var pixels = heap32[sp>>2];sp+=4;
+
+ var bufferView = new Uint8Array(heap,pixels,width*height*4);
+ imandreel_gl.readPixels(x,y,width,height,format,type,bufferView);
+}
+
+function mandreel_internal_DrawSprite(sp)
+{
+ if ( imandreel_ctx_canvas == null )
+ {
+ console.log("Mandreel_2D_DrawSprite error: canvas context is null");
+ return;
+ }
+
+ var hw_id = heap32[sp>>2]; sp+=4;
+ var u0 = heapFloat[sp>>2]; sp+=4;
+ var u1 = heapFloat[sp>>2]; sp+=4;
+ var v0 = heapFloat[sp>>2]; sp+=4;
+ var v1 = heapFloat[sp>>2]; sp+=4;
+ //var x = heapFloat[sp>>2]; sp+=4;
+ //var y = heapFloat[sp>>2]; sp+=4;
+ var sx = heapFloat[sp>>2]; sp+=4;
+ var sy = heapFloat[sp>>2]; sp+=4;
+ //var rot = heapFloat[sp>>2]; sp+=4;
+ var m11 = heapFloat[sp>>2]; sp+=4;
+ var m12 = heapFloat[sp>>2]; sp+=4;
+ var m21 = heapFloat[sp>>2]; sp+=4;
+ var m22 = heapFloat[sp>>2]; sp+=4;
+ var tx = heapFloat[sp>>2]; sp+=4;
+ var ty = heapFloat[sp>>2]; sp+=4;
+ var color = heap32[sp>>2]; sp+=4;
+
+ //ctx_canvas.fillStyle="#FF0000";
+ //ctx_canvas.fillRect(tx,ty,sx,sy);
+ var texture = array_ids_ogl[hw_id];
+
+ if ( texture == null )
+ {
+ console.log("Mandreel_2D_DrawSprite error: texture invalid ("+hw_id+") or loading yet...");
+ return;
+ }
+
+ var width = (u1-u0)*texture.width;
+ var height = (v1-v0)*texture.height;
+
+ if (width == 0)
+ return;
+ if (height == 0)
+ return;
+
+ var x_offset = u0*texture.width;
+ var y_offset = v0*texture.height;
+
+ //dump(x_offset + ' ' + y_offset + ' ' + texture.width + ' ' + texture.height + ' ' + x + ' ' +y + ' ' + width + ' ' + height + '\n');
+
+ x_offset = x_offset % texture.width;
+ y_offset = y_offset % texture.height;
+
+ var scale_x, scale_y;
+ if (sx<0)
+ scale_x = -1;
+ else
+ scale_x = 1;
+ if (sy<0)
+ scale_y = -1;
+ else
+ scale_y = 1;
+
+ var simple_draw = false;//scale_x == 1 && scale_y == 1 && rot == 0;
+ var x_pos = (0.5*sx + tx/* + 240*/);
+ var y_pos = (/*320*/ + ((0.5*sy + ty) /*+ 160*/));
+ var new_sx = sx;
+ var new_sy = sy;
+
+ imandreel_ctx_canvas.globalAlpha = (color>>>24)/255;
+
+ if (!simple_draw)
+ {
+ imandreel_ctx_canvas.save()
+ /*ctx_canvas.translate(x_pos + new_sx/2, y_pos + new_sy/2)
+ ctx_canvas.rotate(-rot*Math.PI/180);
+ ctx_canvas.scale(scale_x, scale_y);
+ ctx_canvas.translate(-(x_pos + new_sx/2), -(y_pos + new_sy/2))*/
+ imandreel_ctx_canvas.setTransform(m11,m12,m21,m22,tx,ty);
+ }
+
+ /*if (x_offset<0 || y_offset<0 || (x_offset+width)>texture.width || (y_offset+height)>texture.height)
+ {
+ dump(x_offset + ' ' + y_offset + ' ' + texture.width + ' ' + texture.height + ' ' + x + ' ' +y + ' ' + width + ' ' + height + '\n');
+ }*/
+
+ if (new_sx<0)
+ {
+ x_pos += new_sx;
+ new_sx = -new_sx;
+ }
+ if (new_sy<0)
+ {
+ y_pos += new_sy;
+ new_sy = -new_sy;
+ }
+
+ //ctx_canvas.drawImage(texture,x_offset,y_offset, width, height, x_pos, y_pos , new_sx, new_sy);
+ imandreel_ctx_canvas.drawImage(texture,x_offset,y_offset, width, height, 0,0, 1,1);
+
+ if (!simple_draw)
+ imandreel_ctx_canvas.restore()
+}
+
+function mandreel_internal_UpdateTexture(sp)
+{
+ if ( imandreel_ctx_canvas == null )
+ {
+ console.log("Mandreel_2D_UpdateTexture error: canvas context is null");
+ return;
+ }
+
+ var hw_id = heap32[sp>>2]; sp+=4;
+ var dataptr = heap32[sp>>2]; sp+=4;
+ var width = heap32[sp>>2]; sp+=4;
+ var height = heap32[sp>>2]; sp+=4;
+
+ var imageData = imandreel_ctx_canvas.getImageData(0,0,width,height);
+ var data = imageData.data;
+ for (var y = 0; y < (height*width*4); ++y)
+ {
+ data[y] = heapU8[dataptr + y];
+ }
+ imandreel_ctx_canvas.putImageData(imageData,0,0);
+
+ var dataurl = imandreel_ctx_canvas.canvas.toDataURL();
+
+ var image = new Image();
+ image.onerror = function()
+ {
+ dump('error updating texture '+hw_id+'\n');
+ }
+ image.onload = function()
+ {
+ //dump('texture '+hw_id+' updated\n'+'width '+image.width+' height '+image.height);
+ array_ids_ogl[hw_id] = image;
+ }
+ image.src = dataurl;
+}
+
+function mandreel_internal_WriteFramebuffer(sp)
+{
+ if ( imandreel_ctx_canvas == null )
+ {
+ console.log("Mandreel_2D_UpdateTexture error: canvas context is null");
+ return;
+ }
+
+ var dataptr = heap32[sp>>2]; sp+=4;
+ var width = heap32[sp>>2]; sp+=4;
+ var height = heap32[sp>>2]; sp+=4;
+
+ var imageData = imandreel_ctx_canvas.getImageData(0,0,width,height);
+ if ( imageData != null )
+ {
+ var data = imageData.data;
+ if ( data != null )
+ {
+ var size = (height*width*4);
+ if ( typeof imageData.data.set != "undefined" )
+ {
+ var sub = heapU8.subarray(dataptr,dataptr+size);
+ imageData.data.set(sub);
+ }
+ else
+ {
+ for (var y = 0; y < size; ++y)
+ {
+ data[y] = heapU8[dataptr + y];
+ }
+ }
+
+ imandreel_ctx_canvas.putImageData(imageData,0,0);
+ }
+ else
+ {
+ dump("WriteFramebuffer canvas data null");
+ }
+ }
+ else
+ {
+ dump("WriteFramebuffer canvas imageData null");
+ }
+}
+var mandreel_audio_init = null_mandreel_audio;
+var mandreel_audio_end = null_mandreel_audio;
+var mandreel_audio_update = null_mandreel_audio;
+var mandreel_audio_createBuffer = null_mandreel_audio;
+var mandreel_audio_playChannel = null_mandreel_audio;
+var mandreel_audio_stopChannel = null_mandreel_audio;
+var mandreel_audio_setChannelVolume = null_mandreel_audio;
+var mandreel_audio_setChannelPan = null_mandreel_audio;
+var mandreel_audio_setChannelPitch = null_mandreel_audio;
+var mandreel_audio_playMusic = null_mandreel_audio;
+var mandreel_audio_stopMusic = null_mandreel_audio;
+var mandreel_audio_useMusicFunctions = _mandreel_audio_useMusicFunctions;
+var mandreel_audio_checkBuffersPending = null_mandreel_audio;
+var mandreel_audio_setMusicVol = null_mandreel_audio;
+
+var mandreel_audio_startedFunction = 0;
+
+var MandreelAudioDriver = "null";
+
+function mandreel_start_audio(audioServer, audioUrl,startedFunction)
+{
+ mandreel_audio_startedFunction = startedFunction;
+
+ // Check audio driver data availability
+ var webAudioDataAvailable = false;
+ var flashAudioDataAvailable = false;
+ var flashLiteAudioDataAvailable = false;
+ var audiotagsDataAvailable = false;
+ var FatLines = mandreelFatData.split('\n');
+ for ( var i=0;i<FatLines.length;++i )
+ {
+ var params = FatLines[i].split(',');
+ if ( params[0] == "audiodriver" )
+ {
+ var data = params[1];
+ data = data.replace('\r','');
+ if ( data == "webaudio" )
+ webAudioDataAvailable = true;
+ else if ( data == "flash" )
+ flashAudioDataAvailable = true;
+ else if ( data == "flashlite" )
+ flashLiteAudioDataAvailable = true;
+ else if ( data == "audiotag" )
+ audiotagsDataAvailable = true;
+ }
+ }
+
+
+ // Init audio driver
+ {
+ // webaudio
+ if ( webAudioDataAvailable && MandreelAudioDriver == "null" )
+ {
+ try { webAudioContext = new webkitAudioContext(); } catch(err) { webAudioContext = 0; }
+ if ( webAudioContext )
+ {
+ wa_MainAudioDriver();
+ MandreelAudioDriver = "webAudio";
+ }
+ }
+ // flash
+ if ( flashAudioDataAvailable && MandreelAudioDriver == "null" )
+ {
+ MandreelAudioDriver = "flash";
+ if ( audioServer == null )
+ {
+ audioServer = "";
+ audioUrl = "";
+ }
+ fl_MainAudioDriver(audioServer,audioUrl);
+ }
+ // flashlite
+ if ( flashLiteAudioDataAvailable && MandreelAudioDriver == "null" )
+ {
+ MandreelAudioDriver = "flashlite";
+ mandreel_flashaudio_lite = true;
+ fl_MainAudioDriver("","");
+ }
+ // audiotags
+ if ( audiotagsDataAvailable && MandreelAudioDriver == "null" )
+ {
+ MandreelAudioDriver = "audiotag";
+ at_MainAudioDriver();
+ }
+ // null
+ if ( MandreelAudioDriver == "null" )
+ {
+ null_MainAudioDriver();
+ }
+ }
+ dump("AudioDriver ("+MandreelAudioDriver+")");
+}
+
+function mandreel_audio_isLogEnabled(sp)
+{
+ r_g0 = 0;
+}
+
+function _mandreel_audio_useMusicFunctions(sp)
+{
+ r_g0 = 0;
+}
+
+function MandreelAudioStarted()
+{
+ setTimeout(mandreel_audio_startedFunction, 10);
+}
+
+
+function mandreel_audio_getAudioDriverName(sp)
+{
+ var name_ptr = heap32[sp>>2];sp+=4;
+ fill_ptr_from_string(name_ptr, MandreelAudioDriver);
+}
+var webAudioUseMusicFunctions = true;
+
+function wa_mandreel_audio_init(sp)
+{
+}
+
+function wa_mandreel_audio_end(sp)
+{
+}
+
+function wa_mandreel_audio_update(sp)
+{
+}
+
+function wa_mandreel_audio_checkBuffersPending(sp)
+{
+ r_g0 = wa_imp_mandreel_audio_checkBuffersPending();
+}
+
+function wa_mandreel_audio_createBuffer(sp)
+{
+ var ptr_fileName = heap32[sp>>2];sp+=4;
+ var maxChannels = heap32[sp>>2];sp+=4;
+ var fileName = get_string_from_ptr(ptr_fileName).toLowerCase();
+ wa_imp_mandreel_audio_createBuffer(fileName);
+
+ r_g0 = 0;
+}
+
+function wa_mandreel_audio_playChannel(sp)
+{
+ var ptr_fileName = heap32[sp>>2];sp+=4;
+ var channel = heap32[sp>>2];sp+=4;
+ var vol = heapFloat[sp>>2];sp+=4;
+ var loop = heap32[sp>>2];sp+=4;
+ var pitch = heapFloat[sp>>2];sp+=4;
+ var fileName = get_string_from_ptr(ptr_fileName).toLowerCase();
+ wa_imp_mandreel_audio_playChannel(fileName,channel,vol,loop,pitch);
+ r_g0 = 0;
+}
+
+function wa_mandreel_audio_stopChannel(sp)
+{
+ var ptr_fileName = heap32[sp>>2];sp+=4;
+ var channel = heap32[sp>>2];sp+=4;
+ var index = heapFloat[sp>>2];sp+=4;
+ wa_imp_mandreel_audio_stopChannel(channel);
+}
+
+function wa_mandreel_audio_setChannelVolume(sp)
+{
+ var channel = heap32[sp>>2];sp+=4;
+ var vol = heapFloat[sp>>2];sp+=4;
+ wa_imp_mandreel_audio_setChannelVolume(channel,vol);
+}
+
+function wa_mandreel_audio_setChannelPan(sp)
+{
+ var channel = heap32[sp>>2];sp+=4;
+ var pan = heapFloat[sp>>2];sp+=4;
+ wa_imp_mandreel_audio_setChannelPan(channel,pan);
+}
+
+function wa_mandreel_audio_setChannelPitch(sp)
+{
+ var channel = heap32[sp>>2];sp+=4;
+ var pitch = heapFloat[sp>>2];sp+=4;
+ wa_imp_mandreel_audio_setChannelPitch(channel,pitch);
+}
+
+function wa_mandreel_audio_useMusicFunctions(sp)
+{
+ r_g0 = webAudioUseMusicFunctions ? 1 : 0;
+}
+
+function wa_mandreel_audio_playMusic(sp)
+{
+ var ptr_fileName = heap32[sp>>2];sp+=4;
+ var fileName = get_string_from_ptr(ptr_fileName).toLowerCase();
+ wa_imp_mandreel_audio_playMusic(fileName);
+}
+
+function wa_mandreel_audio_stopMusic(sp)
+{
+ wa_imp_mandreel_audio_stopMusic();
+}
+
+function wa_mandreel_audio_setMusicVol(sp)
+{
+ var vol = heapFloat[sp>>2];sp+=4;
+ wa_imp_mandreel_audio_setMusicVol(vol);
+}
+
+function wa_MainAudioDriver()
+{
+ mandreel_audio_init = wa_mandreel_audio_init;
+ mandreel_audio_end = wa_mandreel_audio_end;
+ mandreel_audio_update = wa_mandreel_audio_update;
+ mandreel_audio_createBuffer = wa_mandreel_audio_createBuffer;
+ mandreel_audio_playChannel = wa_mandreel_audio_playChannel;
+ mandreel_audio_stopChannel = wa_mandreel_audio_stopChannel;
+ mandreel_audio_setChannelVolume = wa_mandreel_audio_setChannelVolume;
+ mandreel_audio_setChannelPan = wa_mandreel_audio_setChannelPan;
+ mandreel_audio_setChannelPitch = wa_mandreel_audio_setChannelPitch;
+ mandreel_audio_useMusicFunctions = wa_mandreel_audio_useMusicFunctions;
+ mandreel_audio_playMusic = wa_mandreel_audio_playMusic;
+ mandreel_audio_stopMusic = wa_mandreel_audio_stopMusic;
+ mandreel_audio_checkBuffersPending = wa_mandreel_audio_checkBuffersPending;
+ mandreel_audio_setMusicVol = wa_mandreel_audio_setMusicVol;
+
+ setTimeout("mandreel_webAudio_PreloadAssets()", 10);
+}
+
+
+var webAudioBuffers = new Array();
+var webAudioChannels = new Array(32);
+var webAudioGain = new Array(32);
+var webAudioContext = 0;
+
+
+function wa_initWebAudio()
+{
+ if ( preCreatedWebAudioContext != null )
+ {
+ webAudioContext = preCreatedWebAudioContext;
+ }
+ else
+ {
+ try { webAudioContext = new webkitAudioContext(); } catch(err) { webAudioContext = 0; }
+ }
+}
+
+function wa_imp_callfunction(params)
+{
+ if ( params[0] == "#MandreelAudio" )
+ {
+ if ( params[1] == "playChannel" )
+ wa_imp_mandreel_audio_playChannel(params[2],params[3],params[4],params[5],params[6],params[7]);
+ else if ( params[1] == "stopChannel" )
+ wa_imp_mandreel_audio_stopChannel(params[2]);
+ else if ( params[1] == "setChannelVol" )
+ wa_imp_mandreel_audio_setChannelVol(params[2],params[3]);
+ else if ( params[1] == "setChannelPan" )
+ wa_imp_mandreel_audio_setChannelPan(params[2],params[3]);
+ else if ( params[1] == "playMusic" )
+ wa_imp_mandreel_audio_playMusic(params[2]);
+ else if ( params[1] == "stopMusic" )
+ wa_imp_mandreel_audio_stopMusic(params[2]);
+ else if ( params[1] == "setMusicVol" )
+ wa_imp_mandreel_audio_setMusicVol(params[2]);
+
+ return true;
+ }
+ return false;
+}
+
+function wa_getFileNameNoExt(fileName)
+{
+ var fileNameNoExt = fileName.toLowerCase();
+ var indexDot = fileNameNoExt.lastIndexOf('.');
+ if ( indexDot != -1 )
+ fileNameNoExt = fileNameNoExt.substr(0,indexDot);
+ fileNameNoExt = fileNameNoExt.replace(/\\/g,"/");
+ if ( fileNameNoExt.length > 0 )
+ {
+ if ( fileNameNoExt.charAt(0) == "/" )
+ {
+ if (fileNameNoExt.length > 1 )
+ fileNameNoExt = fileNameNoExt.substr(1,fileNameNoExt.length-1);
+ else
+ fileNameNoExt = "";
+ }
+ }
+ return fileNameNoExt;
+}
+
+var wa_mandreel_cache_audio_files = false;
+var wa_mandreel_cache_audio_files_path = '';
+
+function mandreel_webAudio_reloadfile(fileName,callback)
+{
+ var fileNameNoExt = wa_getFileNameNoExt(fileName);
+ var url = wa_mandreel_cache_audio_files_path+fileNameNoExt+".ogg";
+ dump("webAudio: loading buffer ("+fileName+") url("+url+")");
+ var request = new XMLHttpRequest();
+ request.open("GET", url, true);
+ request.responseType = "arraybuffer";
+ request.onreadystatechange = function()
+ {
+ if (request.readyState == 4)
+ {
+
+ if (request.status == 404) callback(null);
+
+ callback(request.response);
+
+ }
+ }
+ request.send();
+}
+
+Mandreel_window.BlobBuilder = Mandreel_window.MozBlobBuilder || Mandreel_window.WebKitBlobBuilder || Mandreel_window.BlobBuilder;
+
+function mandreel_webaudio_saveFile(name, my_arrayBuffer)
+{
+ dump('mandreel_webaudio_saveFile ' + name);
+ g_mandreel_fs.root.getFile(name, {create: true}, function(fileEntry) {
+
+ // Create a FileWriter object for our FileEntry (log.txt).
+ fileEntry.createWriter(function(fileWriter) {
+
+ fileWriter.onwriteend = function(e) {
+ dump('Write completed.');
+ };
+
+ fileWriter.onerror = function(e) {
+ dump('Write failed: ' + e.toString());
+ };
+
+ var bb = new Mandreel_window.BlobBuilder(); // Note: window.WebKitBlobBuilder in Chrome 12.
+ bb.append(my_arrayBuffer);
+ fileWriter.write(bb.getBlob('text/plain'));
+
+
+
+ }, function(e) { dump('error 1 mandreel_webaudio_saveFile ' + name);MandreelFsErrorHandler(e) });
+
+ }, function(e) { dump('error 2 mandreel_webaudio_saveFile ' + name);MandreelFsErrorHandler(e) });
+}
+
+function mandreel_webaudio_loadFile(name, callback, callback2)
+{
+ g_mandreel_fs.root.getFile(name, {}, function(fileEntry) {
+
+ fileEntry.file(function(file) {
+
+ var reader = new FileReader();
+
+
+ reader.onloadend = function(e) {
+
+ dump('mandreel_fs_loadFile ' + name);
+ if (this.result.byteLength)
+ callback(this.result);
+ else
+ callback2(this.result);
+
+ };
+
+
+ reader.readAsArrayBuffer(file);
+
+
+
+ }, function(e) { dump('error 1 webaudio_loadFile ' + name);MandreelFsErrorHandler(e) } );
+
+ }, function(e) { dump('error 2 webaudio_loadFile ' + name);MandreelFsErrorHandler(e) } );
+}
+
+
+function mandreel_webAudio_cacheFile(fileName, callback)
+{
+ if (!g_mandreel_fs)
+ {
+ mandreel_webAudio_reloadfile(fileName, callback);
+
+ return;
+ }
+ fileName = fileName.toLowerCase();
+
+ fileName = fileName.replace(/\\/g,"/");
+
+ if (fileName[0] == '/')
+ fileName = fileName.substring(1);
+
+ dump('chanka name ' + fileName);
+
+ g_mandreel_fs.root.getFile(fileName, {}, function(fileEntry) {
+
+ fileEntry.getMetadata(function(metaData){
+ var my_seconds = metaData.modificationTime.getTime()/1000;
+
+ if (g_mandreel_timestamp_fs>my_seconds)
+ {
+ dump('mandreel_webAudio_cacheFile1 ');
+ fileEntry.remove(function() {
+ mandreel_webAudio_reloadfile(fileName, function(response) { callback(response); if (response) mandreel_webaudio_saveFile(fileName, response); } );
+ }, function(e) { dump('error 1 mandreel_webAudio_cacheFile ' + fileName);MandreelFsErrorHandler(e); mandreel_webAudio_reloadfile(fileName, function(response) { callback(response); if (response) mandreel_webaudio_saveFile(fileName, response); } );});
+
+ }
+ else
+ {
+ //alert('mandreel_fscachefile2');
+ dump('mandreel_webAudio_cacheFile2');
+ mandreel_webaudio_loadFile(fileName, function(response) { callback(response); } ,
+ function() {
+ mandreel_webAudio_reloadfile(fileName, function(response) { callback(response); if (response) mandreel_webaudio_saveFile(fileName, response); } );
+ }
+ );
+
+
+
+ }
+
+
+ }, function(e) { dump('error 2 mandreel_webAudio_cacheFile ' + fileName);MandreelFsErrorHandler(e) });
+
+
+ }, function(error) {dump('mandreel_webAudio_cacheFile3'); mandreel_webAudio_reloadfile(fileName, function(response) { callback(response); if (response) mandreel_webaudio_saveFile(fileName, response); });});
+}
+
+function mandreel_webAudio_queueLoadBuffer(fileName, callback)
+{
+ //dump("mandreel_webAudio_queueLoadBuffer "+fileName);
+ if ( webAudioContext )
+ {
+ var fileNameNoExt = wa_getFileNameNoExt(fileName);
+ var buffer = webAudioBuffers[fileNameNoExt];
+ if ( buffer == null && buffer != "invalid" )
+ {
+ if ( fileNameNoExt != "" )
+ {
+ if (wa_mandreel_cache_audio_files == true)
+ {
+ webAudioBuffers[fileNameNoExt] = "invalid";
+
+ mandreel_webAudio_cacheFile(fileName, function(response) {
+
+ if (callback != null)
+ callback();
+
+ if ( response != null )
+ webAudioBuffers[fileNameNoExt] = webAudioContext.createBuffer(response, false);
+ else
+ webAudioBuffers[fileNameNoExt] = "invalid";
+ } );
+ return;
+ }
+
+ var url = g_mandreel_working_folder+fileNameNoExt+".ogg";
+ dump("webAudio: loading buffer ("+fileName+") url("+url+")");
+ webAudioBuffers[fileNameNoExt] = "invalid";
+ var request = new XMLHttpRequest();
+ request.open("GET", url, true);
+ request.responseType = "arraybuffer";
+ request.onreadystatechange = function()
+ {
+ if (request.readyState == 4)
+ {
+ if (callback != null)
+ callback();
+
+ if (request.status == 404) return;
+ //dump("webAudio: loaded buffer "+request.status);
+ if ( request.response != null )
+ webAudioBuffers[fileNameNoExt] = webAudioContext.createBuffer(request.response, false);
+ else
+ webAudioBuffers[fileNameNoExt] = "invalid";
+ }
+ }
+ request.send();
+ }
+ else
+ webAudioBuffers[fileNameNoExt] = "invalid";
+ }
+ }
+}
+
+var webAudioPreloadAudioFiles = new Array();
+var webAudioPreloadBytes = null;
+var webAudioPreloadCurrentFile = 0;
+var webAudioPreloadAsync = false;
+
+function webAudioParsePreloadFile(response)
+{
+ var pos = 4;
+ var bytes = new Uint8Array(response);
+ var i = 0;
+ if ( webAudioPreloadAsync )
+ webAudioPreloadBytes = bytes;
+ while ( pos < bytes.byteLength )
+ {
+ // filename
+ var fileName = "";
+ while ( bytes[pos] != 0 )
+ {
+ fileName += String.fromCharCode(bytes[pos]);
+ pos++;
+ }
+ pos++;
+ // filesize
+ var filesize = bytes[pos] | (bytes[pos+1]<<8) | (bytes[pos+2]<<16) | (bytes[pos+3]<<24);
+ pos += 4;
+
+ // contents
+ var fileNameNoExt = wa_getFileNameNoExt(fileName);
+ if ( webAudioPreloadAsync )
+ {
+ var audioFile =
+ {
+ fileName : fileNameNoExt,
+ fileSize : filesize,
+ position : pos
+ };
+ webAudioPreloadAudioFiles[i] = audioFile;
+ }
+ else
+ {
+ var bufferdata = new Uint8Array(filesize);
+ bufferdata.set(bytes.subarray(pos,pos+filesize));
+ webAudioBuffers[fileNameNoExt] = webAudioContext.createBuffer(bufferdata.buffer, false);
+ dump("preload audio file ("+fileName+")");
+ }
+
+ pos += filesize;
+ i++;
+ }
+ if ( webAudioPreloadAsync )
+ {
+ dump("started preloading audio files async");
+ setTimeout("mandreel_webAudio_preloadNextAudioFile()",10);
+ }
+}
+
+function mandreel_webAudio_preloadNextAudioFile()
+{
+ if ( webAudioPreloadAudioFiles.length > webAudioPreloadCurrentFile )
+ {
+ var audioFile = webAudioPreloadAudioFiles[webAudioPreloadCurrentFile];
+ if ( audioFile.fileName == null )
+ {
+ webAudioPreloadCurrentFile++;
+ setTimeout("mandreel_webAudio_preloadNextAudioFile()",10);
+ }
+ else
+ {
+ var bufferdata = new Uint8Array(audioFile.fileSize);
+ bufferdata.set(webAudioPreloadBytes.subarray(audioFile.position,audioFile.position+audioFile.fileSize));
+ dump("async preload audio file ("+audioFile.fileName+")");
+ webAudioContext.decodeAudioData(bufferdata.buffer,mandreel_webAudio_preloadNextAudioFileOK,mandreel_webAudio_preloadNextAudioFileError);
+ }
+ }
+ else
+ {
+ webAudioPreloadAudioFiles = null;
+ webAudioPreloadBytes = null;
+ dump("finished preloading audio files async");
+ }
+}
+
+function mandreel_webAudio_preloadNextAudioFileOK(audioBuffer)
+{
+ var audioFile = webAudioPreloadAudioFiles[webAudioPreloadCurrentFile];
+ webAudioPreloadCurrentFile++;
+ if ( audioFile.fileName != null )
+ {
+ webAudioBuffers[audioFile.fileName] = audioBuffer;
+ setTimeout("mandreel_webAudio_preloadNextAudioFile()",10);
+ }
+}
+
+function mandreel_webAudio_preloadNextAudioFileError()
+{
+ var audioFile = webAudioPreloadAudioFiles[webAudioPreloadCurrentFile];
+ webAudioPreloadCurrentFile++;
+ if ( audioFile.fileName != null )
+ dump("FAILED async preload audio file ("+audioFile.fileName+")");
+ setTimeout("mandreel_webAudio_preloadNextAudioFile()",10);
+}
+
+function mandreel_webAudio_queueLoadPackedBuffers(fileName, callback)
+{
+ if ( webAudioContext )
+ {
+ // TODO
+ /*if (wa_mandreel_cache_audio_files == true)
+ {
+ webAudioBuffers[fileNameNoExt] = "invalid";
+
+ mandreel_webAudio_cacheFile(fileName, function(response) {
+
+ if (callback != null)
+ callback();
+
+ if ( response != null )
+ webAudioBuffers[fileNameNoExt] = webAudioContext.createBuffer(response, true);
+ else
+ webAudioBuffers[fileNameNoExt] = "invalid";
+ } );
+ return;
+ }*/
+
+ mandreel_fs_load_binary(fileName, function mandreel_webAudio_queueLoadPackedBuffers_cb(data){
+
+ if (data)
+ {
+ if (callback != null)
+ callback();
+ webAudioParsePreloadFile(data);
+ }
+ else
+ {
+ var url = g_mandreel_working_folder+fileName;
+ dump("webAudio: loading preload buffers ("+fileName+") url("+url+")");
+ var request = new XMLHttpRequest();
+ request.open("GET", url, true);
+ request.responseType = "arraybuffer";
+ var last_loaded_size = 0;
+ request.onreadystatechange = function()
+ {
+ if (request.readyState == 4)
+ {
+ if (callback != null)
+ callback();
+
+ if (request.status == 404)
+ return;
+ if ( request.response != null )
+ {
+ mandreel_fs_saveFile(fileName, request.response);
+ webAudioParsePreloadFile(request.response);
+ }
+ }
+ }
+ request.onprogress = function(e)
+ {
+ var delta_size = e.loaded - last_loaded_size;
+ last_loaded_size = e.loaded;
+
+ imandreel_update_load(delta_size,0);
+
+ var percentage = ((100*e.loaded)/mandreel_total_pogfile_size)|0;
+
+ if (percentage>100)
+ percentage = 100;
+
+ if ( mandreelAppStartStateFunc )
+ mandreelAppStartStateFunc("loadingAudioUpdate",percentage);
+ }
+ request.send();
+ }
+ });
+ }
+}
+
+
+
+var wa_mandreel_audio_buffers_num = 0;
+var wa_mandreel_audio_buffers_loaded = 0;
+
+function wa_imp_mandreel_audio_checkBuffersPending()
+{
+ return wa_mandreel_audio_buffers_num - wa_mandreel_audio_buffers_loaded;
+}
+
+function wa_imp_mandreel_audio_createBuffer(fileName)
+{
+ if ( webAudioContext )
+ {
+ var fileNameNoExt = wa_getFileNameNoExt(fileName);
+ var buffer = webAudioBuffers[fileNameNoExt];
+ if ( buffer == null && buffer != "invalid" )
+ {
+ wa_mandreel_audio_buffers_num++;
+ mandreel_webAudio_queueLoadBuffer(fileName, function () {wa_mandreel_audio_buffers_loaded++;});
+ }
+ }
+}
+
+function wa_imp_mandreel_audio_playChannel(fileName,channel,vol,loop,pitch)
+{
+ if ( webAudioContext )
+ {
+ var fileNameNoExt = wa_getFileNameNoExt(fileName);
+ var buffer = webAudioBuffers[fileNameNoExt];
+ if ( buffer == null || buffer == "invalid" )
+ {
+ if ( webAudioPreloadAudioFiles != null )
+ {
+ var i = 0;
+ while ( i < webAudioPreloadAudioFiles.length )
+ {
+ var audioFile = webAudioPreloadAudioFiles[i];
+ if ( audioFile.fileName == fileNameNoExt )
+ {
+ var bufferdata = new Uint8Array(audioFile.fileSize);
+ bufferdata.set(webAudioPreloadBytes.subarray(audioFile.position,audioFile.position+audioFile.fileSize));
+ webAudioBuffers[audioFile.fileName] = webAudioContext.createBuffer(bufferdata.buffer, false);
+ dump("**** preload audio file ("+audioFile.fileName+"), forced by playChannel");
+ audioFile.fileName = null;
+ i = webAudioPreloadAudioFiles.length;
+ }
+ else
+ {
+ ++i;
+ }
+ }
+ }
+ }
+ if ( buffer == null || buffer == "invalid" )
+ {
+ mandreel_webAudio_queueLoadBuffer(fileName);
+ buffer = webAudioBuffers[fileNameNoExt];
+ }
+ if ( buffer != null && buffer != "invalid" )
+ {
+ var chn = webAudioContext.createBufferSource();
+ var gain = webAudioContext.createGainNode();
+ if ( chn && gain )
+ {
+ webAudioChannels[channel] = chn;
+ webAudioGain[channel] = gain;
+ chn.buffer = buffer;
+ chn.connect(gain);
+ gain.connect(webAudioContext.destination);
+ var bLoop = loop != 0;
+ chn.loop = bLoop;
+ gain.gain.value = vol;
+ chn.playbackRate.value = pitch;
+ chn.noteOn(0);
+ //dump("webAudio: PlayChannel "+channel+" "+fileName+" "+vol+" "+bLoop+" "+pitch);
+ }
+ }
+ }
+}
+
+function wa_imp_mandreel_audio_stopChannel(channel)
+{
+ if ( webAudioContext )
+ {
+ var chn = webAudioChannels[channel];
+ if ( chn != null )
+ {
+ //dump("webAudio: StopChannel "+channel);
+ chn.noteOff(0);
+ webAudioChannels[channel] = null;
+ webAudioGain[channel] = null;
+ }
+ }
+}
+
+function wa_imp_mandreel_audio_setChannelVolume(channel,vol)
+{
+ if ( webAudioContext )
+ {
+ var gain = webAudioGain[channel];
+ if ( gain != null )
+ gain.gain.value = vol;
+ }
+}
+
+function wa_imp_mandreel_audio_setChannelPan(channel,pan)
+{
+ if ( webAudioContext )
+ {
+ }
+}
+
+function wa_imp_mandreel_audio_setChannelPitch(channel,pitch)
+{
+ if ( webAudioContext )
+ {
+ var chn = webAudioChannels[channel];
+ if ( chn != null )
+ {
+ chn.playbackRate.value = pitch;
+ }
+ }
+}
+
+var mwebAudioPreloadState = "start";
+//var mwebAudioPreloadRequest = 0;
+var mwebAudioPreloadAssets = 0;
+var mwebAudioCurrentPreloadAsset = 0;
+var mwebAudioAsyncFiles = '';
+var mwebListAudioAsyncFiles ='';
+var mwebListAudioAsyncFilesPos = 0;
+var mwebTotalPreloadingFiles = 0;
+var mwebCurrentPreloadingFiles = 0;
+function mwebCallbackAsync()
+{
+ mwebListAudioAsyncFilesPos++;
+ if ( mwebListAudioAsyncFilesPos >= mwebListAudioAsyncFiles.length )
+ {
+ mwebListAudioAsyncFiles = null;
+ mwebAudioAsyncFiles = null;
+ return;
+ }
+
+ setTimeout("mandreel_webAudio_queueLoadBuffer(mwebListAudioAsyncFiles[mwebListAudioAsyncFilesPos], mwebCallbackAsync);",10);
+}
+
+function mwebCallbackAsyncPreload()
+{
+ mwebCurrentPreloadingFiles++;
+}
+
+function mandreel_webAudio_PreloadAssets()
+{
+ /*if ( mwebAudioPreloadState == "start" )
+ {
+ //dump("webaudio start");
+ mwebAudioPreloadRequest = new XMLHttpRequest();
+ var url = g_mandreel_working_folder+"mandreel.fat.dat";
+ mwebAudioPreloadRequest.open("GET", url, true);
+ mwebAudioPreloadRequest.onreadystatechange = function()
+ {
+ if (mwebAudioPreloadRequest.readyState != 4) return;
+ if ( mwebAudioPreloadRequest.status != 404 && mwebAudioPreloadRequest.response != null )
+ mwebAudioPreloadState = "parseFat";
+ else
+ {
+ mwebAudioPreloadState = "done";
+ dump("error pre-loading audio assets, status("+mwebAudioPreloadRequest.status+")");
+ }
+ }
+ mwebAudioPreloadState = "loadingFat";
+ mwebAudioPreloadRequest.send();
+ }
+ else if ( mwebAudioPreloadState == "parseFat" )*/
+ if ( mwebAudioPreloadState == "start" )
+ {
+ //mwebAudioPreloadAssets = mwebAudioPreloadRequest.response.split('\n');
+ //mwebAudioPreloadRequest = 0;
+ mwebAudioPreloadAssets = mandreelFatData.split('\n');
+ mwebAudioCurrentPreloadAsset = 0;
+ mwebAudioPreloadState = "preloading";
+ }
+ else if ( mwebAudioPreloadState == "preloading" )
+ {
+ //dump("webaudio preloading");
+ var queued = false;
+ while ( !queued && mwebAudioPreloadState != "done" )
+ {
+ if ( mwebAudioCurrentPreloadAsset < mwebAudioPreloadAssets.length )
+ {
+ var params = mwebAudioPreloadAssets[mwebAudioCurrentPreloadAsset].split(',');
+ if ( params[0] == "audiofile" && params[1])
+ {
+ var sync_load = true;
+ if (params[2] && (params[2]&1) == 0)
+ sync_load = false;
+
+ if (sync_load)
+ {
+ mandreel_webAudio_queueLoadBuffer(params[1],mwebCallbackAsyncPreload);
+ mwebTotalPreloadingFiles++;
+ queued = true;
+ }
+
+ }
+ else if ( params[0] == "audiopreloadfile" )
+ {
+ mandreel_webAudio_queueLoadPackedBuffers(params[1],mwebCallbackAsyncPreload);
+ var size_pog_file = parseInt(params[2], 10);
+ mandreel_total_pogfile_size = size_pog_file;
+ mwebTotalPreloadingFiles++;
+ queued = true;
+ }
+ else if ( params[0] == "audiopreloadasync" )
+ {
+ webAudioPreloadAsync = true;
+ }
+ mwebAudioCurrentPreloadAsset++;
+ }
+ else
+ queued = true;
+
+ if ( mwebAudioCurrentPreloadAsset >= mwebAudioPreloadAssets.length )
+ {
+ if (mwebCurrentPreloadingFiles == mwebTotalPreloadingFiles)
+ {
+ mwebAudioPreloadState = "done";
+ mwebAudioPreloadAssets = 0;
+ }
+ }
+ }
+ }
+
+ if ( mwebAudioPreloadState == "done" )
+ {
+ if ( mandreelAppPlatform == "nacl" )
+ setTimeout("MandreelAudioStartedNacl()", 10);
+ else
+ setTimeout("MandreelAudioStarted()", 10);
+ }
+ else
+ setTimeout("mandreel_webAudio_PreloadAssets()", 10);
+}
+
+var wa_mandreelMusicElement = null;
+var wa_mandreelMusicElementFilename = "";
+var wa_mandreelMusicElementVolume = 1.0;
+function wa_imp_mandreel_audio_playMusic(fileName)
+{
+ var fileNameNoExt = wa_getFileNameNoExt(fileName);
+ var fileNameFull = g_mandreel_working_folder + fileNameNoExt + ".ogg";
+
+ if ( wa_mandreelMusicElementFilename != fileNameFull )
+ {
+ wa_imp_mandreel_audio_stopMusic(0);
+ var audio = document.createElement("audio");
+ var type = fileNameFull.slice(fileNameFull.lastIndexOf(".")+1);
+ switch(type){
+ case "mp3" : type = "mpeg"; break;
+ case "ogg" : type = "ogg"; break;
+ case "wav" : type = "wav"; break;
+ default : throw("'" + fileNameFull + "' is not a recognized audio file");
+ }
+
+ // set correct id for lookup, loading method and data types
+ audio.setAttribute("type", "audio/" + type);
+ var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
+ if ( is_chrome )
+ audio.setAttribute("loop", "loop");
+ else
+ audio.addEventListener('ended', function(){this.currentTime = 0;}, false);
+ audio.volume = wa_mandreelMusicElementVolume;
+ audio.setAttribute("autoplay", "true");
+ audio.setAttribute("src", fileNameFull);
+
+
+ // include into list and document
+ document.body.appendChild(audio);
+ wa_mandreelMusicElement = audio;
+ wa_mandreelMusicElementFilename = fileNameFull;
+ }
+}
+
+function wa_imp_mandreel_audio_stopMusic()
+{
+ if ( wa_mandreelMusicElement != null )
+ {
+ document.body.removeChild(wa_mandreelMusicElement);
+ wa_mandreelMusicElement = null;
+ wa_mandreelMusicElementFilename = "";
+ }
+}
+
+function wa_imp_mandreel_audio_setMusicVol(vol)
+{
+ wa_mandreelMusicElementVolume = vol;
+ if ( wa_mandreelMusicElement != null )
+ {
+ wa_mandreelMusicElement.volume = wa_mandreelMusicElementVolume;
+ }
+}
+
+var mandreel_audio_stream_func_ptr = 0;
+function mandreel_audio_stream_process(e)
+{
+ var l = e.outputBuffer.getChannelData(0);
+ var l2 = e.outputBuffer.getChannelData(1);
+ var n = e.outputBuffer.length;
+
+ var offset2 = 0;
+ var inc = 44.1 / 48.0;
+ while ( n > 0 )
+ {
+ var n2 = ((n*inc)|0)/4;
+ if ( n2 > 1024 )
+ n2 = 1024;
+
+ var sp = g_stack_pointer+100*1024;
+ var ptr = g_stack_pointer+200*1024;
+ var _sp = sp>>2;
+ heap32[_sp]=ptr;
+ heap32[_sp+1]=n2*4;
+ __FUNCTION_TABLE__[(mandreel_audio_stream_func_ptr)>>2](sp);
+
+ var offset = ptr>>2;
+ var size = n2*4;
+ /*for (var i=0;i<size;++i)
+ {
+ l[i+offset2] = heapFloat[offset+(i*2)];
+ l2[i+offset2] = heapFloat[offset+(i*2)+1];
+ }*/
+ var i = 0;
+ var j = 0;
+ while ( i < size )
+ {
+ l[j+offset2] = heapFloat[offset+((i|0)*2)];
+ l2[j+offset2] = heapFloat[offset+((i|0)*2)+1];
+ i += inc;
+ j++;
+ }
+
+ //offset2 += n2*4;
+ //n -= n2*4;
+ offset2 += j;
+ n -= j;
+ }
+}
+
+function mandreel_Audio_requestSoundData(soundData)
+{
+ var n = soundData.length/2;
+ var offset2 = 0;
+ while ( n > 0 )
+ {
+ var n2 = n;
+ if ( n2 > 1024 )
+ n2 = 1024;
+ var sp = g_stack_pointer+100*1024;
+ var ptr = g_stack_pointer+200*1024;
+ var _sp = sp>>2;
+ heap32[_sp]=ptr;
+ heap32[_sp+1]=n2;
+ __FUNCTION_TABLE__[(mandreel_audio_stream_func_ptr)>>2](sp);
+
+ var offset = ptr>>2;
+ var size = n2*2;
+ var buf = heapFloat.subarray(offset,offset+size);
+ soundData.set(buf,offset2);
+ /*for (var i=0; i<size; i++)
+ soundData[i+offset2] = heapFloat[offset+i];*/
+ offset2 += n2*2;
+ n -= n2;
+ }
+ }
+
+var __Mandreel_Audio_CreateStream_created = false;
+function Mandreel_Audio_CreateStream(sp)
+{
+ if ( !__Mandreel_Audio_CreateStream_created )
+ {
+ if (webAudioContext)
+ {
+ mandreel_audio_stream_func_ptr = heap32[sp>>2];
+ var source = webAudioContext.createJavaScriptNode(1024*4, 0, 2);
+ source.connect(webAudioContext.destination);
+ source.onaudioprocess = mandreel_audio_stream_process;
+ }
+ else
+ {
+ mandreel_audio_stream_func_ptr = heap32[sp>>2];
+ AudioDataDestination(44100,mandreel_Audio_requestSoundData);
+ }
+ __Mandreel_Audio_CreateStream_created = true;
+ }
+}
+function mandreel_webAudio_dummyStream()
+{
+ var sp = g_stack_pointer+100*1024;
+ var ptr = g_stack_pointer+200*1024;
+ var _sp = sp>>2;
+ heap32[_sp]=ptr;
+ heap32[_sp+1]=4096;
+ __FUNCTION_TABLE__[(mandreel_audio_stream_func_ptr)>>2](sp);
+ setTimeout("mandreel_webAudio_dummyStream()",10);
+}
+
+function AudioDataDestination(sampleRate, readFn)
+{
+ // Initialize the audio output.
+ var audio = new Audio();
+ if ( audio.mozSetup == null )
+ {
+ setTimeout("mandreel_webAudio_dummyStream()",10);
+ return;
+ }
+ audio.mozSetup(2, sampleRate);
+
+ var currentWritePosition = 0;
+ var prebufferSize = sampleRate / 2; // buffer 500ms
+ var tail = null, tailPosition;
+
+ // The function called with regular interval to populate
+ // the audio output buffer.
+ setInterval(function() {
+ var written;
+ // Check if some data was not written in previous attempts.
+ if(tail) {
+ written = audio.mozWriteAudio(tail.subarray(tailPosition));
+ currentWritePosition += written;
+ tailPosition += written;
+ if(tailPosition < tail.length) {
+ // Not all the data was written, saving the tail...
+ return; // ... and exit the function.
+ }
+ tail = null;
+ }
+
+ // Check if we need add some data to the audio output.
+ var currentPosition = audio.mozCurrentSampleOffset();
+ var available = currentPosition + prebufferSize - currentWritePosition;
+ if(available > 0) {
+ // Request some sound data from the callback function.
+ var soundData = new Float32Array(available);
+ readFn(soundData);
+
+ // Writting the data.
+ written = audio.mozWriteAudio(soundData);
+ if(written < soundData.length) {
+ // Not all the data was written, saving the tail.
+ tail = soundData;
+ tailPosition = written;
+ }
+ currentWritePosition += written;
+ }
+ }, 100);
+}
+var mandreel_flashaudio_server = "";
+var mandreel_flashaudio_lite = false;
+var mandreel_flashaudio_musicaudiotag = true;
+
+function as3Error(str)
+{
+ var params = str.split(' ');
+ if ( params[0] == "createdBuffer" )
+ mandreel_audio_flash_lastBufferCreatedSwf = parseInt(params[1]);
+ dump("as3Log: "+str);
+}
+
+function mandreel_audio_getFlashMovieObject(movieName)
+{
+ if (Mandreel_window.document[movieName])
+ {
+ return Mandreel_window.document[movieName];
+ }
+ if (navigator.appName.indexOf("Microsoft Internet")==-1)
+ {
+ if (document.embeds && document.embeds[movieName])
+ return document.embeds[movieName];
+ }
+ else
+ {
+ return document.getElementById(movieName);
+ }
+}
+
+function mandreel_sendmsg_flash(msg)
+{
+ if ( mandreel_flashaudio_server != "" )
+ {
+ var iframeWin = document.getElementById("ninja-iframe").contentWindow;
+ iframeWin.postMessage(msg,mandreel_flashaudio_server);
+ }
+ else
+ {
+ var flashMovie=mandreel_audio_getFlashMovieObject("FlashDivAudio");
+ if ( flashMovie != null )
+ flashMovie.receiveMessage(msg);
+ else
+ dump("error: flashMovie not found");
+ }
+}
+
+function fl_mandreel_audio_init(sp)
+{
+ mandreel_sendmsg_flash("init "+g_mandreel_working_folder);
+}
+
+function fl_mandreel_audio_end(sp)
+{
+}
+
+function fl_mandreel_audio_update(sp)
+{
+}
+
+function mandreel_flashaudiolite_createBuffer(fileName)
+{
+ mandreel_audio_flash_lastBufferCreated++;
+ mandreel_sendmsg_flash("createBuffer "+wa_getFileNameNoExt(fileName)+" "+mandreel_audio_flash_lastBufferCreated);
+}
+
+var mandreel_audio_flash_lastBufferCreated = 0;
+function fl_mandreel_audio_createBuffer(sp)
+{
+ var ptr_fileName = heap32[sp>>2];sp+=4;
+ var fileName = get_string_from_ptr(ptr_fileName).toLowerCase();
+ mandreel_flashaudiolite_createBuffer(fileName);
+}
+
+function fl_internal_mandreel_audio_checkBuffersPending()
+{
+ return mandreel_flashaudio_lite && (mandreel_audio_flash_lastBufferCreatedSwf != mandreel_audio_flash_lastBufferCreated);
+}
+
+var mandreel_audio_flash_lastBufferCreatedSwf = 0;
+function fl_mandreel_audio_checkBuffersPending(sp)
+{
+ r_g0 = 0;
+ if ( fl_internal_mandreel_audio_checkBuffersPending() )
+ r_g0 = 1;
+ dump("fl_mandreel_audio_checkBuffersPending ("+r_g0+") ("+mandreel_audio_flash_lastBufferCreatedSwf+") ("+mandreel_audio_flash_lastBufferCreated+")");
+}
+
+
+function fl_mandreel_audio_playChannel(sp)
+{
+ var ptr_fileName = heap32[sp>>2];sp+=4;
+ var channel = heap32[sp>>2];sp+=4;
+ var vol = heapFloat[sp>>2];sp+=4;
+ var loop = heap32[sp>>2];sp+=4;
+ var pitch = heapFloat[sp>>2];sp+=4;
+ var fileName = get_string_from_ptr(ptr_fileName).toLowerCase();
+ mandreel_sendmsg_flash("playChannel "+fileName+" "+channel+" "+loop+" "+vol+" "+pitch);
+ r_g0 = 0;
+}
+
+function fl_mandreel_audio_stopChannel(sp)
+{
+ var ptr_fileName = heap32[sp>>2];sp+=4;
+ var channel = heap32[sp>>2];sp+=4;
+ var index = heapFloat[sp>>2];sp+=4;
+
+ mandreel_sendmsg_flash("stopChannel "+channel);
+}
+
+function fl_mandreel_audio_setChannelVolume(sp)
+{
+ var channel = heap32[sp>>2];sp+=4;
+ var vol = heapFloat[sp>>2];sp+=4;
+
+ mandreel_sendmsg_flash("setChannelVolume "+channel+" "+vol);
+}
+
+function fl_mandreel_audio_setChannelPan(sp)
+{
+ var channel = heap32[sp>>2];sp+=4;
+ var pan = heapFloat[sp>>2];sp+=4;
+ mandreel_sendmsg_flash("setChannelPan "+channel+" "+pan);
+}
+
+function fl_mandreel_audio_setChannelPitch(sp)
+{
+ var channel = heap32[sp>>2];sp+=4;
+ var pitch = heapFloat[sp>>2];sp+=4;
+ mandreel_sendmsg_flash("setChannelPitch "+channel+" "+pitch);
+}
+
+
+function mandreel_audio_load_flash()
+{
+ var failed = "";
+
+
+ try
+ {
+ var mandreelAudioSwf = g_mandreel_working_folder+"mandreelaudio.swf";
+ if ( mandreel_flashaudio_lite )
+ mandreelAudioSwf = g_mandreel_working_folder+"mandreelaudiolite.swf";
+ var swf = swfobject.createSWF({ data:mandreelAudioSwf, width:"0", height:"0", allowScriptAccess:"always" }, { menu:"false" }, "FlashDivAudio");
+ if ( !swf )
+ failed = "swfobject.js not avaiable or Unable to open "+mandreelAudioSwf;
+ }
+ catch(err)
+ {
+ failed = err;
+ }
+
+ if (failed == "" && !swfobject.hasFlashPlayerVersion("9.0.0"))
+ failed = "flash player not found";
+
+ if ( failed != "" )
+ {
+ dump("Failed to create flash audio driver ("+failed+"). Null driver will be used.");
+ MandreelAudioDriver = "null";
+ null_MainAudioDriver();
+ }
+}
+
+function fl_MainAudioDriver(audioServer, audioUrl)
+{
+ mandreel_flashaudio_server = audioServer;
+ if ( mandreel_flashaudio_lite )
+ mandreel_flashaudio_server = "";
+ if ( mandreel_flashaudio_server != "" )
+ {
+ Mandreel_window.addEventListener("message", receiveMessage2, false);
+ var el = document.createElement("iframe");
+ el.setAttribute('id', 'ninja-iframe');
+ el.setAttribute('width', '0');
+ el.setAttribute('height', '0');
+ el.setAttribute('frameborder', '0');
+ document.body.appendChild(el);
+ el.onerror = function(message) { alert(message); };
+ el.setAttribute('src', audioServer+audioUrl+"/MandreelAudio.html");
+ setTimeout("CheckNinjaFrameReady()", 1000);
+ }
+ else
+ {
+ setTimeout("mandreel_audio_load_flash()", 10);
+ }
+}
+var ninjaLoaded = false;
+function CheckNinjaFrameReady()
+{
+ try
+ {
+ mandreel_sendmsg_flash("loadFlash");
+ }
+ catch(err)
+ {
+ }
+ if ( !ninjaLoaded )
+ setTimeout("CheckNinjaFrameReady()", 1000);
+}
+
+function fl_map_mandreel_audio_functions()
+{
+ mandreel_audio_init = fl_mandreel_audio_init;
+ mandreel_audio_end = fl_mandreel_audio_end;
+ mandreel_audio_update = fl_mandreel_audio_update;
+ mandreel_audio_createBuffer = fl_mandreel_audio_createBuffer;
+ mandreel_audio_playChannel = fl_mandreel_audio_playChannel;
+ mandreel_audio_stopChannel = fl_mandreel_audio_stopChannel;
+ mandreel_audio_setChannelVolume = fl_mandreel_audio_setChannelVolume;
+ mandreel_audio_setChannelPan = fl_mandreel_audio_setChannelPan;
+ mandreel_audio_setChannelPitch = fl_mandreel_audio_setChannelPitch;
+ if ( mandreel_flashaudio_musicaudiotag )
+ {
+ mandreel_audio_useMusicFunctions = wa_mandreel_audio_useMusicFunctions;
+ mandreel_audio_playMusic = wa_mandreel_audio_playMusic;
+ mandreel_audio_stopMusic = wa_mandreel_audio_stopMusic;
+ mandreel_audio_setMusicVol = wa_mandreel_audio_setMusicVol;
+ }
+ else
+ dump("WARNING: flash music functions not supported");
+ mandreel_audio_checkBuffersPending = fl_mandreel_audio_checkBuffersPending;
+}
+
+function receiveMessage2(event)
+{
+ ninjaLoaded = true;
+ fl_map_mandreel_audio_functions();
+ setTimeout("MandreelAudioStarted()", 10);
+}
+
+function mandreel_flashlite_checkPreloadFinished()
+{
+ if ( !fl_internal_mandreel_audio_checkBuffersPending() )
+ MandreelAudioStarted();
+ else
+ setTimeout("mandreel_flashlite_checkPreloadFinished()", 10);
+}
+
+function mandreel_flashlite_startPreload()
+{
+ mandreel_sendmsg_flash("init "+g_mandreel_working_folder);
+ // preload sounds
+ var FatLines = mandreelFatData.split('\n');
+ for ( var i=0;i<FatLines.length;++i )
+ {
+ var params = FatLines[i].replace('\r','').split(',');
+ if ( params[0] == "audiofile" && params[1] )
+ {
+ var sync_load = true;
+ if (params[2] && (params[2]&1) == 0)
+ sync_load = false;
+
+ if (sync_load)
+ {
+
+ mandreel_flashaudiolite_createBuffer(params[1]);
+ }
+ }
+ }
+ setTimeout("mandreel_flashlite_checkPreloadFinished()", 10);
+}
+
+function flashReady()
+{
+ fl_map_mandreel_audio_functions();
+ setTimeout("mandreel_flashlite_startPreload()",10);
+}
+
+function null_mandreel_audio(sp)
+{
+ r_g0 = 0;
+}
+
+function null_MainAudioDriver()
+{
+ mandreel_audio_init = null_mandreel_audio;
+ mandreel_audio_end = null_mandreel_audio;
+ mandreel_audio_update = null_mandreel_audio;
+ mandreel_audio_createBuffer = null_mandreel_audio;
+ mandreel_audio_playChannel = null_mandreel_audio;
+ mandreel_audio_stopChannel = null_mandreel_audio;
+ mandreel_audio_setChannelVolume = null_mandreel_audio;
+ mandreel_audio_setChannelPan = null_mandreel_audio;
+ mandreel_audio_setChannelPitch = null_mandreel_audio;
+ mandreel_audio_useMusicFunctions = wa_mandreel_audio_useMusicFunctions;
+ mandreel_audio_playMusic = wa_mandreel_audio_playMusic;
+ mandreel_audio_stopMusic = wa_mandreel_audio_stopMusic;
+ mandreel_audio_setMusicVol = wa_mandreel_audio_setMusicVol;
+ setTimeout("MandreelAudioStarted()", 10);
+}
+function at_mandreel_audio_init(sp)
+{
+}
+
+function at_mandreel_audio_end(sp)
+{
+}
+
+function at_mandreel_audio_update(sp)
+{
+ for ( i = 0 ; i < 32 ; ++i )
+ {
+ var end = maudioChannelEnd[i];
+ if ( end != null )
+ {
+ var sound = maudiotagChannels[i];
+ if ( sound != null )
+ {
+ if ( sound.currentTime > end )
+ {
+ sound.pause();
+ maudioChannelEnd[i] = null;
+ }
+ }
+ }
+ }
+}
+
+function at_mandreel_audio_checkBuffersPending(sp)
+{
+ r_g0 = 0;//wa_imp_mandreel_audio_checkBuffersPending();
+}
+
+function at_mandreel_audio_createBuffer(sp)
+{
+ var ptr_fileName = heap32[sp>>2];sp+=4;
+ var maxChannels = heap32[sp>>2];sp+=4;
+ var fileName = get_string_from_ptr(ptr_fileName).toLowerCase();
+ //wa_imp_mandreel_audio_createBuffer(fileName);
+
+ r_g0 = 0;
+}
+
+function at_mandreel_audio_playChannel(sp)
+{
+ var ptr_fileName = heap32[sp>>2];sp+=4;
+ var channel = heap32[sp>>2];sp+=4;
+ var vol = heapFloat[sp>>2];sp+=4;
+ var loop = heap32[sp>>2];sp+=4;
+ var pitch = heapFloat[sp>>2];sp+=4;
+ var fileName = get_string_from_ptr(ptr_fileName).toLowerCase();
+ at_imp_mandreel_audio_playChannel(fileName,channel,vol,loop,pitch);
+ r_g0 = 0;
+}
+
+function at_mandreel_audio_stopChannel(sp)
+{
+ var ptr_fileName = heap32[sp>>2];sp+=4;
+ var channel = heap32[sp>>2];sp+=4;
+ var index = heapFloat[sp>>2];sp+=4;
+ at_imp_mandreel_audio_stopChannel(channel);
+}
+
+function at_mandreel_audio_setChannelVolume(sp)
+{
+ var channel = heap32[sp>>2];sp+=4;
+ var vol = heapFloat[sp>>2];sp+=4;
+ //wa_imp_mandreel_audio_setChannelVolume(channel,vol);
+}
+
+function at_mandreel_audio_setChannelPan(sp)
+{
+ var channel = heap32[sp>>2];sp+=4;
+ var pan = heapFloat[sp>>2];sp+=4;
+ //wa_imp_mandreel_audio_setChannelPan(channel,pan);
+}
+
+function at_mandreel_audio_setChannelPitch(sp)
+{
+ var channel = heap32[sp>>2];sp+=4;
+ var pitch = heapFloat[sp>>2];sp+=4;
+ //wa_imp_mandreel_audio_setChannelPitch(channel,pitch);
+}
+
+function at_mandreel_audio_useMusicFunctions(sp)
+{
+ r_g0 = 1;
+}
+
+function at_MainAudioDriver()
+{
+ mandreel_audio_init = at_mandreel_audio_init;
+ mandreel_audio_end = at_mandreel_audio_end;
+ mandreel_audio_update = at_mandreel_audio_update;
+ mandreel_audio_createBuffer = at_mandreel_audio_createBuffer;
+ mandreel_audio_playChannel = at_mandreel_audio_playChannel;
+ mandreel_audio_stopChannel = at_mandreel_audio_stopChannel;
+ mandreel_audio_setChannelVolume = at_mandreel_audio_setChannelVolume;
+ mandreel_audio_setChannelPan = at_mandreel_audio_setChannelPan;
+ mandreel_audio_setChannelPitch = at_mandreel_audio_setChannelPitch;
+ mandreel_audio_useMusicFunctions = at_mandreel_audio_useMusicFunctions;
+ mandreel_audio_playMusic = wa_mandreel_audio_playMusic;
+ mandreel_audio_stopMusic = wa_mandreel_audio_stopMusic;
+ mandreel_audio_checkBuffersPending = at_mandreel_audio_checkBuffersPending;
+ mandreel_audio_setMusicVol = wa_mandreel_audio_setMusicVol;
+
+ setTimeout("mandreel_audiotag_PreloadAssets()", 10);
+}
+
+var maudiotagPreloadState = "start";
+var maudiotagPreloadAssets = 0;
+var maudiotagCurrentPreloadAsset = 0;
+var maudiotagPreloadAsync = false;
+var maudiotagDurations = Array();
+var maudiotagChannelsCreated = 0;
+var maudiotagChannels = Array();
+var maudiotagChannelsLoaded = Array();
+var maudiotagAudioSpriteFound = false;
+var maudiotagAvailableChannels = new Array();
+var maudioSecondsPos = new Array();
+var maudioChannelEnd = new Array();
+
+function mandreel_audiotag_PreloadAssets()
+{
+ if ( maudiotagPreloadState == "start" )
+ {
+ maudiotagPreloadAssets = mandreelFatData.split('\n');
+ maudiotagCurrentPreloadAsset = 0;
+ maudiotagPreloadState = "preloading";
+ }
+ else if ( maudiotagPreloadState == "preloading" )
+ {
+ var queued = false;
+ while ( !queued && maudiotagPreloadState != "done" )
+ {
+ if ( maudiotagCurrentPreloadAsset < maudiotagPreloadAssets.length )
+ {
+ var params = maudiotagPreloadAssets[maudiotagCurrentPreloadAsset].split(',');
+ if ( params[0] == "audiofile" && params[1])
+ {
+ var duration = params[3];
+ var fileNameNoExt = wa_getFileNameNoExt(params[1]);
+ maudiotagDurations[fileNameNoExt] = duration|0;
+ dump("audiotag duration ("+params[1]+") "+duration);
+ }
+ else if ( params[0] == "audiotagfile" )
+ {
+ var type = params[1];
+ var filesize = params[3];
+ var numsounds = params[4];
+ var at = new Audio();
+ if ( !maudiotagAudioSpriteFound && at.canPlayType && at.canPlayType("audio/"+type) != "" )
+ {
+ maudiotagLoadPackFile(params[2],filesize,numsounds,type);
+ maudiotagAudioSpriteFound = true;
+ queued = true;
+ }
+ }
+ else if ( params[0] == "audiopreloadasync" )
+ {
+ maudiotagPreloadAsync = true;
+ }
+ maudiotagCurrentPreloadAsset++;
+ }
+ else
+ queued = true;
+
+ if ( maudiotagCurrentPreloadAsset >= maudiotagPreloadAssets.length )
+ {
+ maudiotagPreloadState = "done";
+ maudiotagPreloadAssets = 0;
+ }
+ }
+ }
+
+ if ( maudiotagPreloadState == "done" )
+ {
+ setTimeout("MandreelAudioStarted()", 10);
+ }
+ else
+ setTimeout("mandreel_audiotag_PreloadAssets()", 10);
+}
+
+function maudiotagLoadPackFile(filename,filesize,numsounds,atype)
+{
+ dump("audiotag packfile ("+filename+") ("+filesize+") ("+numsounds+")");
+ var url = g_mandreel_working_folder+filename;
+ dump("audiotag: loading packed data ("+filename+") url("+url+")");
+ var request = new XMLHttpRequest();
+ request.open("GET", url, true);
+ request.responseType = "arraybuffer";
+ request.onreadystatechange = function()
+ {
+ if (request.readyState == 4)
+ {
+ if (request.status == 404)
+ return;
+ if ( request.response != null )
+ audiotagParsePreloadFile(request.response,numsounds,atype);
+ }
+ }
+ request.send();
+}
+
+function audiotagParsePreloadFile(response,numsounds,atype)
+{
+ var pos = 0;
+ var bytes = new Uint8Array(response);
+ var i = 0;
+ if ( webAudioPreloadAsync )
+ webAudioPreloadBytes = bytes;
+ var secondsPos = 0.0;
+ while ( pos < bytes.byteLength && i < numsounds)
+ {
+ // filename
+ var fileName = "";
+ while ( bytes[pos] != 0 )
+ {
+ fileName += String.fromCharCode(bytes[pos]);
+ pos++;
+ }
+ pos++;
+ // filesize
+ var filesize = bytes[pos] | (bytes[pos+1]<<8) | (bytes[pos+2]<<16) | (bytes[pos+3]<<24);
+ pos += 4;
+ var fileNameNoExt = wa_getFileNameNoExt(fileName);
+ var duration = maudiotagDurations[fileNameNoExt];
+ dump("afile ("+fileName+") duration("+duration+") posseconds("+secondsPos+")");
+ maudioSecondsPos[fileNameNoExt] = secondsPos;
+ secondsPos += duration / 1000.0;
+ secondsPos += 0.25;
+ dump("second "+i+" "+secondsPos);
+
+ i++;
+ }
+
+ // contents
+ var contentSize = bytes.byteLength - pos;
+ var bufferdata = new Uint8Array(contentSize);
+ bufferdata.set(bytes.subarray(pos,pos+contentSize));
+ var ascii = '';
+ for (var i=0; i<bufferdata.length; i++)
+ ascii += String.fromCharCode(bufferdata[i]);
+ var base64 = btoa(ascii);
+ audiotagAudioSprite = "data:audio/"+atype+";base64," + base64;
+
+ if ( webAudioPreloadAsync )
+ {
+ dump("started preloading audio files async");
+ setTimeout("mandreel_webAudio_preloadNextAudioFile()",10);
+ }
+
+ audiotagCreateChannel(0);
+}
+
+function audiotagCreateChannel(index)
+{
+ console.log("audiotagCreateChannel "+index);
+ var sound = new Audio();
+ sound.addEventListener("canplaythrough",function()
+ {
+ if ( maudiotagChannelsLoaded[index] == null )
+ {
+ maudiotagChannelsLoaded[index] = sound;
+ maudiotagAvailableChannels.push(sound);
+ console.log("************** loaded channel "+index);
+ if ( index < 8 )
+ setTimeout("audiotagCreateChannel("+index+"+1)", 10);
+ }
+ }, false);
+ sound.addEventListener("error",function()
+ {
+ console.log("************** error loading channel "+index);
+ }, false);
+ //sound.src = "data:audio/mp3;base64,//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAABFAAA0igAHDBERFhsbHyIiJioqLTE1NTk8PEBEREpPT1JWWlpeYmJmaWltcXF1eXl8gISEh4yMj5OTl5qanqGlpamsrK+ysra5ub3AwMTHysrN0NDU19fa3t7h5Ofn6+7u8vX1+fv7/f8AAAA5TEFNRTMuOThyAqUAAAAALjQAABRAJAXKQgAAQAAANIqLReuqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//uAxAAACgjJYRQhAAN1ru+3N6ADNAEAASM2QkOAABKvqQjEIQjSE+pyEJ/5znoc5znP//QgAAEachCN85/oQDB9QIAg8oCEHAQcXfKBjEAIS4IAgclAQBA5BAMZQEHfgmD4fwf5HQ6HQ6HY7HQ7GQrDQPvZToNx37zcYsbgZnqEkTWnZsm+DxpKLDUMfs3A4zHKdzz8+wAWXmmL1KaHf35z0oOjnISA5pYpJmW9w/woDIDpmTxpDRYGwmDH/rUv97+xaWZ9eZkqAiZl+xsj8pszk1ZtY73/+UhDNvTHmxgMROhU0DBzwRq/MQ1Jbn///l4FEGHFFYIElBkORAUcAEZYRjfrSuiv1rWf6/e///Z8mnLXAgFiMOwakw0OepsaDVS5RdrxqT///////8hys3t58nrFS3lWt6/uXec73+46u0oA4ZEXCYUYY+p6C4/B89FZVEYXJqaW+eGCSYJfJOnpq7WadTtuzhoUjsP/+2DEFQOPrW1oPYMAAecorQmDIaE0qGThDsZRhGCCZyF03ZkXKRPVQEMTdeftOw84ncZ4XR/ZoO3JoyPFVtHePkemlrf5f740VGbMspMynd2NrG/h8//u58dsf2jWLnygUiASkXwFfQAw7MEGiSdlDDj7wJCnkpYu+0iqRU2SIo3RAkznFnYGqMYXMtXGhsYWLKMZzg4NSb1Jepcx7ohTx6PUlnSLHuY4vRK3VtWOymoix0TSesWjbseTdsYnvHf0v/Ks8NI0+O+Ge/Z4xkpZ/1rQS4QMHvMPSieYYfONUp/9VQBOCRaIS9okqeKzDCwz2wA0pok7D0mlEAxaelsP1uRm4hT/+2DEEQOQ5XtkLCRz2h00bImEjjlpio6TEqIL4ikSEeJRY1GhlJzTySOlrtqTXhIeh5vmvJqpiXFikoyd4tXBbGHzyo6hae6OHIxuoRjkJWu+okBoZoEDZvFrFN5LiAyxW9TEnnbyz/H/erAb3Ok2y9BVcOnGOv1kzQEgZxr0spQBWdNNJtvXQak+7mL2yf92oalcRhf0oCLJoWidC+awoNrOuFDy2UYNkk+X1a3VBuuTU604pNtS082afizat2f7nunbfdAnawhbPRmEEk5BKECSI7QPXcneTeHfYcEeUrhB0ReamhSlihEAA2DNS+LCVT8zyyPk7m1ml9iLJT5RfWoABPT/+2DEAYAO0V9oTBhvSckr7ejzDaFQT7CIuu6UuevrnRqQWnrosaeHIHIghzTLiApnBWKBykEGRpeaek5WfbQUGm4HvmEc0Z1cNji/jZ03yrg3dGpBRMPChoDGxkHJHP7VZTvlNkkJWY4SOeaqpKaEcrGeaOZFjmOK2LrMLo3/rolzs58SeHt/wAEwAASk5VsmKoQpfyl60V7xyRN9YRKhDS5djhmMfOuYFuxqX1zVE5QQourDCCMeGIHAIIUbK7yOTsRCQZHMruhiQ6ubRh3gIpxYGwfA+/SXh1Viy23s9cxzoKluDQyU+GSomumKPZMdvcKttEc5lxwsFgJAEElytfKhnMr/+2DEBQANdX9u7CRnyay0L7TDDHyX4Oe3pdCccMm/2jMqn6UihdVNPrGTu/Bj9Q3PQETiWC9S8qqOeSsLMp8BQQRIyZGPw2Ps9eVdSt+n+adikmCZSatTjtnZVhEcMzIoiCjdUztJftuGf+IcKZ/6jZjP+wMK6AwjI62203Lw5K7jYUcvoY0QuV6WVTGpKZEs2rKAmBHBArQ8zhvcKbPnoh/+ikScXJArWnwz0dRH02ADU83GEKXl9LQihFi4CPca2wmlvSyLvlVzdBi6p7pDrF7FQmbwjrv8MptOSnNYpWYKAQQQS3MVRtHIskSAIxmUqsMDbMzsMz+Ni4Ffzvr5Q9yTSQj/+0DEEYAKzMty55higVaSr3RgjgSW/8JJAbI8zlbL/t2+fNvGY4PAb3QOFQvSZoLuDsswgQShTAEXHWaY4JEgipiC1WKKOXUAMGOMtMpJOa0oG2pD4UpRq0awhk4dx07DMuCOEpePVSlwuybfziMR1YtHAB8NLRSswL0EVQk9rzoiPCrQbW4qJDYFc6RPsaskKrp1KS90BHdklWipyRV/jqVF0xGGVFm2s3wcwJl9iheX1CGxlP/7QMQMAAqVAYEklG6xVp4syYMNoFoBztJLiJErk7s7/ft/L6IUjCstJlNDOLTdacOt8LO8N/PmVLTiVF8UbwKJnIRTZHo6OsibDzCcv5F7U1AADT5grCxWpvZNskfeQ3o/g3KD5kMyRY7D1zEBZmvbnG7attnJEJGyJAw8pOUUioM3JxtTvZQhc/Sp7L9/Tzm/5+qHPmMKA6WFTryqnsjHP3SP6HWFqgIAAJJSTcH0nhFugclK//tAxAcBCsyvdUWEsNlDDO1M8wzgFJ121UStsnY5UgwO1jgVbsqChv1zojMpnddXBB27nidTTezt9utjvF2+1xUPI/Ey0X9uwe7XVbfR//+tI+W1Jwmcz9Qs/3b/gABKdodQEmZN1hwSr4WFFECvsmmpI4e5kjZKXVCXwRegXNTUxg4dDjow9OCc3JvDgsMvc5wGhRx59hDPA/QUNrr2R7C9am9r3ukxrJGc7Kal1QAAVJQIJCz/+1DEA4OKwPVoZ6RowUoWbIWGGOqbqsvVUvK6OV7AWklGA+pJ7Gw4ca1RiBPhqRr2HF4D8OjfMtXi5wtOwoXW1rfSEe+r2FCXH82z8zbufoKMwSD5wMGb6nuVm6fP3veVEYrpOCSJeL3jTiPov2HAJG0MZ0b1+4SW3YGG/HkPnllc8HPrdH/9CoZM1r6snzmMxGn6WfXz7ua/X/p9JtRzBsA0rFiibYj1jRSHKg0LOGxUkzv/+PUAAaCx0Aa2HcdVkRWwH1qaQeNn33jQOkWL//tAxAyACrRrZEwwxRFULG2o9JQowvUkzUH+pKox7BX+mE4aMztJ5bLGCZsBgpkiCyRSLBsXDzhAVJLP8zWOEbC735yposneBlNZ5LLMkvt4oAECgJJbu59jTGmHsHaGFNsY/kD7qQjkS5Gs6CBju7XoJK5N3I+7I9OyWVevVHnuOyt1S7dEWR1f+nCLyvIrIdWtQyk0zNejsiWIm2nv0sUa5tj/R1IAEAykii7wAQbhWMVBhxz/+0DEB4AKiG1xRhkAIVcULqTEDGaoGHbV4Xj9pl06dhBFNDriPVZrtHz0y7DhFQmfLAYTGL0HQyhOswFXtn4uJA0TFjbU3vCWHzJNQ6H16rRhY0SNUMvu8KuBRVYWUXCpwnvmKF2V6OCa+4xBi0yfQTXPjLrjfR0XhWBi97JhmvImhlbC3oFngKAZUnElyw0xaUOlzDQQNKBQEQKJGr4dULSJux1q3SRR5mjQH5vA6AEVG2q3I//7UMQDAAqw7YejDE/xTKzvKICLFmnKCn338dXIS04/UQUr/QREYmhCdS0v0iFGhKVEZ56wzPlYRdGK2OxfeuP+zpfdW22X7AwcQH4kFEGy4pdFRj1vNAYRUsESwpLqeBfSnyiAgeqKSJBUBUChJdReku5OStSYuNo3r4iXjboq+YVCuxmhyugjzIlbR6QrpXYXZidV9tqm7bWshCyl2O0zOo+/W/6nptP/7vkzAxrGqYAj+moJOJUFyRySySSOTP0NVxWTey+N2SzvTNz0b8b/+0DEDAAKpPWLowR4cVYiLA2DCbBMcCju992OtVI9P6eYSAVCsPDMOS5/qYpE9HLWGXKebH+uZ/qVBgDDRMNeAQyHBVr7t5hjP6QggRIZ7KcSgAEByF7QCVC1nTXajAXjiGcennLpq54XiiEz19DZx1Plm59L+9rmLfLsxPH7KyXRLuw70Itl/VV2X2foqUR/7XMDU2bUrM3EkDIaOYSKBpTP9ZV//1oAkoCCii5hbhGVWlD7qv/7QMQHAAp1NWtHmEbhOxEsTYSIcHonOiRI/atyhLVmNyqKuPt1Oz76Gal6mWZLiyqnoyNq6Kyu6m1WNuQtqzU6cHFHHKrWDqOjtVddjI/fcLaKfwPFTlN1P1AAFJ2gZJIAs3QJCIrgqJmVig/PNUabt5iyI7shRZgA2H7nc3WVv28thQLlVHCwcuCwFpIhfBNpEyTFVwKbJGzYGkYJM7aECVhL7+o+v/1VAQWYVUbGsl033UaF//tQxAYAixlpcSeMR/FeoexNgwkoEPUwTQlyR7yAARPpSHdyD7JYvBIX0z5UI4YgUFsxWYLzbIiaWa97AyuqJ3S3MO0EIaRilYMioZz1pQhL2mBIyKqshdPulW7ikY3q9aU7uD6oiLejkTgeBpfEaUzIuBnKdXuupcw1NdVCWDPaqb4oh20tXdlkZzXn3dpqsWqrWnroR3vdt7pYyoU45TujlTUUbFaALO3tGLpHzqYmKHCZ87y+yJ3KFD+tJtNOUPnhqUpmVk5ZLRt1j3VhEf/7UMQLAA0JaXlGFG8xoy2t6PMVfk0plEVrRyKjwmm6mKsc0HjnlzGO26EwoVnz0+DmCE21DBxd288LT+w9kdX5V6sDyc2ACBDmp5a1PPdkKhxnyHT73kWrcrrRTigOCjXE4vPR7YeAAWcpIkJQiWt3EpIu7t+a4ce3hRyEvn5xl2TU3YlPLMumKKmM1+Ue06Z3pPGLRhA97OqlEzOVmuwwY8lkbdGPs8utGrUYjkKgwxzOUJHVjiSNrVyvInZEsW3TTVdZGDxRxRRiGyQ5nBv/+2DEAAAOXT9vRiTB8aAs65z0jSgUKtyU0inA/MQ3azBbVKY6QFrPSI1gRdH+4JpZLwkcrK5e58ry6+5Vr35Vq3KoYZRwHtHxzrhGj7mKqzQJrO940WkVMc7wb1LfZz5t6/QzLHPnnzkv7J539vpaVN0Gd0LnaCNB8AsJhYRpvDoSZMpx/QwaAEApN3csIrwaRwHqziRqYl5/MmxEGjceGpD8J3rAwG663CuwpeQ6RhwitkVBK0D75hB7BQOuctyvacP4ouiEi0WZ5E3wZq3ND3NqUUgLRdqvod6DM6X+MnV+UtmIz//+TL+wh7tDfyUAoEKWgEAlAn5a9EkjnLaTPoQFZqr/+2DECoMM+WlcbBkJ4bUiak2UjbiCpVzs2UqxZsbtdrKOUzO+3TPbip6yaP+rhdbH1RFT3E/XeQ6FqhHE33jY+4Z/nnhuP6oIlea+tZaraCO6uri7ipifRUSe0/+q5hv3slTrEfmPoAAALsILTzDf5hsOOwFh2FCEZ6cIqrO0+OJNACEo3Fd0mAMhMja9FGVyBAZ65P6pJN+yykaj53njcXnoUlJIOKPkOExjtkvDIKHVGQ5iz8wyLXaedY5NjHJzhqxgnJWlE6yTnZFI0PVZQHvDKRUJpWOOuSSOWnFDZ9CgfJfVaB+mbSzG9zPSRrNQ+GHqlRLcoDRCoUBq2RX6Zcc2hsf/+0DEGAAMVTF/pIzVsYImq52EmGSh3MGANrxh2JPvBC5sZAlp6+a3yRAZ6gyVeI/u81hNX2Zu+mtTb+UtIbS0qwDhpm63/0AhCJJLgCl0Dk9lNxQXBGzJl1CO06ZcjHWy2XTa2VlRUlpI3906cx2aNZo1859dr/s4hWpy7crXzMb7O3219Zvl3mu2/czfv3t9IApxJKW8k/md5RTZ3/fuzu7dmXgdi3WqCcdktstsku1KCrwzUf/7UMQGgAsVN4WjGGPxXyautGGb1qsjAsRbKxruCj80UsQ2vLwAE/ChFSsEHY/nwb/woievMiDEf6u9p0s+nhXRxZF95k2ZmQAGYJu+Yy0hieg3lP+lsXyAhlELzHYBuKglOJuNNtJOAAgBJ0FqQBBGEZnnUgkZvVdmZ/mtHP3ePxvL1SX78ZTtvaf8ycvXiw+/H/w3/LfI/py9K00o5K38yhcchUr6XtJVvdxWdzlp9yZ1qDAcTfPVAABYlJJShiJO2M+XUsVH7VyKNTqmLbb/+0DEC4AKmRNjR5ip0Vam7ajDDD5SgUhRxz0rlIvk/e6R6E0Uotm86XdXUVI+5sg5LyjVsm1lP9dP++owHGkGM7KJIgprGuIsYdQGQUEQfO7IBBFbtJIoqAVBKAVHxBsmxHR6qtFK1b4MXJFbQDQ4LZHyK7RQhAsvzjn+vST6XmbFHVAcQX2WTIR1GUPI3/uxGRuC9Vzpsdmfhy/nSAz6P0yE1zz+gWJKACQSU7gfMF8E82sstv/7UMQGgAtlEVbsJGlBYCet6PQNvlNDDKiT/KlFBJExEihdVd9MTRpLhH6s87wdkbKQlM28sHkacu3mfDiFOajGakZ+QRzMicfZgRlkSqeZBBZg0U/VmJ/cGakUnlh2BHr9d4qNXpppJQEUlnCE0XgS3vnsSV6F130dxidKq6RmM6LPVbt44+5OmbRZyQpXSFOTN+b7GeVcly3kM7WwWiAIQCEjFHRiL9vbuXDlrfSbv/8hqrsARYQ3jxFVBGFtqZsCJVrjiaHnOoMt+qtrLzP/+0DECgALCTNpJ5ir8V+mbGTxlnble8QU2f4Dx3ELd6Qc/zfelQ7X1HNVCIZTrLoitiREMUhSse7K2VRIyFKrbVJlERwSDgyxkYcVF0Exd5MpNUezRV7WeggAVmVRwFcBuQ9qvZdWcrSeDNet64p6b+GsvQK4CiCzB61ygzo1wfPW3gcfy5FCCj3DQw9PN/KjE9LWPmr4ilvYy37gdms+dlTRDKjd4qisrxgfEods5gwqATVZVf/7UMQCAArVM2MnjQ/xR6KspJMM/0oHAjWLLFAQ20HWojbW+aM8U4RHBRBGuCYEhYW1KqeU8YjpXyrZd65FISloCTdGGNn/d/2n/bXPd3Wk/9nBUPnHDKWDR8XbFDCDGlb59o+IgepAASLNSliMDI+GG1SaZ2gAcLQrXXievH5yMsnu3Ik50kkcUhMXghfnIcMGe28D9HPXuwUjp51Ppl/H7x34+Ween+4IUB5tmcBXmzCCbmuMvfgDujAEaSSSKgMwZRKOosc1VCDiRTVCTjP/+0DECwAKuTVnR6RgcWAmbSjDIC9RxP1zFDgLtAyubnkky6n32yLh1xYcJVBVZQyFL0EwY3POBCBJMs+VEO+6f+oci9uERfeBf//44B6ow4lBHxWwCZaym0jICsLCgVacE7XsCYuylheYelWUq9cbGk+qio0bo9lBmYhm5TlMslXcgek3umWtw1ObxdIiXGvf2Puf+fib+ix4S72eNLT4vYWENmGTeMbjn/KlmgRVWKlbAZJuQP/7UMQEgArJNWEnjLPxXKYtKMMgH4s8efDDaDBg/5ixrX3bP1BFh1WwsL4cPy4hkNbwNLh4Vy+wnoCCQ7nTgLpH1FJTM+KGMlK0cZmHh5TCn2BwdxhdnLvuoTRVWmrN1MEqgVdrTbSTgFQzLhDQzlUli4YLjWSnWoxJvUnDi8VrjersRj7xm2Zpxc8jRNb90ww+/bh7FemTmSF4/vmuKdJitV47iObYqCw4SXqma4t5qm2nle4qOcjTdQBpraSSMgFhLI9fbfq/FWNjHv2O/bb/+0DECwAKkTVpRgjT8VQia6WHoAauT4wqpQEAO4x0IZnM6F2qrVfqVvorC1VqMEAlu7FCkIrU6/Oqt9CN8yQwySviU0aXkywrCkZdn3w8t5pHEIABAJWUkHlh0ClYwQs0aZAhjXH3Ewhsz3KFy8JAioUZcNNRjBl38ySc+l3i8U1Q4+vadnehptJc8TpMa8Tj7rhc2u/2u655JHEsrO9+PnsZiLRIXt6VBumtJtJOApdJWJR7B//7QMQGgApFNWdHmGf5YaItNJMh3yRBqMIEkn2PnrJ+pTdQ/kHnUBnJoUsaIECnzp3rvHZKWc1Wgm35Dxh8i/sLTgYh4SkV6ZEWTZOTNsRLfOi0+z8iks1Bc4BDSacabbUgBvAy9tvbJQEtFJrkrgzsa7wogFI10HGHWhX35BtPMztJnPFJvf42YLJ6uYiwl1Xn9rf+2kiedZNqI7/q1rlFCAOj1MRJmkdLnERET+n7nYClAIQw//tQxAGCCsD3UqwlAvFNompFgyE2ok/uTNcYJjqYVQWKUYoiUHAJixBU35R60nOVU30P6IHIsJ3BL1xcx47+3gsoypi+zhWuElBWB9ot/xVFNh04/ZoX04uqaBMcbJsiMDjWHz4nn+k1jVAoqXJUmxSUPnGb0D0hqgfHWTnG1oleTupqraymueBuVr7mrTom/Ymvvs9z1n61luazDhU8jimhKd+LgiKGb19wWzdWNCi1T1Pc6Q0IHp1vXWoAIKck/BvmgTNb0aTrd5pESpabkf/7QMQKAApo8U7sjK2BU6KsaMGifloZiaHCgT40DAzGcKDp4xBcol7HrcSuseyahzshlcBrysSgk2r1KKnKhJ2u+6uqKvsZeqACB1g6FUHRUMO+6oEar0201GAaAeP2DJ+1aZD6w29u+y78e05Irjw1fx+B2IwQAEKbwGLvKXc6TeKIfh2FNaoM5g2MC3V5GbN4w5Bsv5y39KAEFxdDu1jPT5xKLO8gW8fVAAAJJQQEMtWdnL9W//tAxAYCCpUVUS0gT/ldnmkNthjZIlUnaeG7nI5LsqtWtaHI+6DYc2ySpJaXWuKp2Fj2xxtVrXMqRNXTKUFzChi2W5QdvBNVM9u115kHBvt2RnuhQoN0ehiP9XBq2AknMAYpNGTEqmjkNhSShhMYrAdLR8E3NmSAtLrTvKM3GY9RIVW19f2lnd4c4gpnfv/A3/L1zGm+74/Lbdm7ZbTN79nG/azzqr78/q6be+BBRaFXvv/ACgD/+1DEAIIKrRVZLCTBsVqiqI2jIeAFbqqcBCVjQkcjOrIiOScUCilTHDohtN0QHOJ+cwxXpNe7EMY9xc9Sc43/ukd+us1WKhnk6GFbPxRp7z2f8xzJ+v91Ctjv/9rP7s0lBu/PLS396xlBFpOgAoAddoMDpM/TdKZUxMAqxl6YnZduGYxGbPL7GIhQ47jnxMUDZJJVXkWhM1NLosebvPCdF078LF32K91tAiLEJxt7dVCr8f/dzU/QUmu+P26+6NUFEN4AU0OFgLmoSXiZTNNT//tAxAgACqEVQmykq4Ffoquo8yG2UUnmkTQFnx2QaBBJEbUJmF0ibG9QwWSWr7Tr6WK7YwQYzr2FbFdHRbI/oPLIx0LFipXk6IVFf0xY7rwUejPJLlalxx0qAC6tONtMA5SYqCDSXMeDqFBRhbmkxCzao7Hu55svitIPsIq6ZxaBo8u9MHB578tRZHtDQYXI2XurwANttRRimz5DwTd28ZNK1pH31stKOMVVuV+av9hhsCSTJwD/+1DEAgAKwPlEbI0zyV2f6eWRmX/3+N2lSKRzBZIxd321pZRXfu1D9apailmks5b1ShnSqzwItoZCqAcOkh0UPJ/rqW/Pift8AjypDgJidTe2ijk0HKGhF2lPIgYIbfrE5Fl5r0H7ABQYWZgNqMQmwRInJlfYjFpdHLRAgMGESxPSDOihxuNClBk1M6a5Wiv69nlsPaWZZSMI1tO/hDwRgoJlx1MiRnah8yuv3jpx9ztWPJdDH1v2NqLGcDVklQAFeKTSUAMoEoHOjJwgifjN//tAxAiCCp0VV0wZA/lsImgNpiD1oGOg0/5u0NSk4bGfKww+44Ni2Ksme+W+T7i5JO9pOg85ut9omqW4qlTrv5RvkbWPt1+EU6Y0lh5kWlprCXeciBE0vEQBRKgB6F4CviUJWpe6kVBXEDR85N2TZEceHjZFRttt67HVe/zzBsUlaKQMqZhpqBG6MiZGWfV1DzY6n2jqTLRZmLV6mLpKn7i4F6rRuJeVjrMBcnKz8c/c48dMABD/+1DEAQAK+QFPLCTF+U6WZ02zDdgcqqwI3s0Ij3oIkDBjS6NpSSuaS1s8q2lhORoZPl/P1ZJrhqan8tZi8ufn/W37aUfasyHkvkNvaxsZU5jatqnuVS2SQxf/3rjtsoCzHp75cwgqmyuncAJUlAOKNzFCoWTBZaRUL/MUjCBsanoadBypuanXHJpjUjGBRRJZp0ZBROVV+tRgYVS9YnMuNIXzNhA08paZkJrwhQuljJgJPWKB4fjxWJRCE+utFQAirKB3rFoigBi72KKtfZpE//tAxAiCChjVQsykafFTFeaNt40xLD4th43M00oYihvyUQvarZHVz1Q4VajV5XPMwiwh/1gslMJgzDoXcF0HTZDhsENvLXfDJwUYxriUDmT5l/RYSABlwAOYmQqkmBg4GNAsGp5Bgo3QLBqbxdyUhij+cj9UROV2wQ2PbDdhIY/jYi0S3g3gmYvajI0KeN+Dm15fh5BFRSVc63fIgGPuLKHZalYCO6mdoOUAILbsABu5RnOhd5T/+0DEBgIJhL8+7TBnUVgWZk3MoDjJn9di0NpwKnBWE84SXWHyQ/r72XO0HAXmVfhAjjbmAggFVjHMoS4ARmJQ4Rm+X4mHvMcSEQTscUEcB9CEOsI0AF3YAGXLeYcP52RiSCNQGRECSOsuUOas7SmqlzPGav/BXXjik+H+HIKbD2Q9VVFCBAFcY8NjM27S6Pvs2lrs3i0uFSLh+1Oi/VZpFGNMrBLOZ5RcyMQqACdAAOmWPPlOwv/7QMQFAgpssyxtMG8JUZhmHaSOSPMwXJrgiDExM0J0wYIkApfpETKRTCV9p0QOAVUWBKsHIlkAwQCGY3jJ6gqwwRJfznXamZZmAlb7qh3yI8ODfriPk+o2F2CpfH4BALnoAPx+OmzMszX0HKhpiYQUBh7E2QL8V63JcixJlH51HfizXX1tU08o4IoH1E4KKH07z2Kkjlc4cOHVIAcpul38j/3IqRhgZiDCQviBnPQdOu+mADmo//tAxAGCCmSzLm2kbsE1GGddphiyAMZZDhbFkgOPlPpZJzDQOu0RgaBbWW5l7kFFTKONniRoiiekINBkxLRcsHyx1HKANVnEIcHfUU5d6WvmAw4ZvtkVzLWmwURB3MUeeqxM+7SUFOWAA3bs9AIt4BQLIlvC4Mi2VlDrZILKmR+VG4jX1qR5C0dB2pdFVpQva76xTvT9Cu9osfq8qYb0yezuu/uMdNinvnx8udsDwI+zxNUFXfD/+0DEAYMJYLMybbBswUSX5c22DagAFyBpY+mWrxhZaVc6ETFGl08UXKwCYYXjEVhXYrvfEdI/id4YQVhMEHvcEdRfAm6eCN2EthmzVlVKtuh+OUXYMLGGsKzUYq0BS+AA/0vNjNTLWJLwaAEqgEDEwHIC9kCOShyQUYkOQVjiOyYyJ1CbQpQYdoncXQyzfupf2VOnQ5Hgx5m0W0TGX+SyGvqpEj0gMPbacMEQdRQqBU/AAPecDf/7QMQDgwoIwS5tsG1JNhdljbYJ4WiYwJECDkEBSJAOHZMttPttX7Z7DLExSAIceNVzBW7YTrMNFKL22U97QPxLJYctbHIwNkpTw5fDaaBw1BG9qDJoRIIYkdVqQTFBUmAAOzhykiM1Lh5ISgSHMTCQMJpPrdZ1D69m8h2EqOvuO4LvSSbpROIqb2IH4Ngeu3W9KJPwiAnuw6GBBUaQtjPJs6tXfOyQdkoC4lIG8AOU/jTEI5IN//tAxAUDCTCVLE2kbxk2j6TNzCRxKqHHkeUBay2JJBvczBWyIpiQKpGLBkhLmQ8bgHxaC62xOroEcYnmviTdvunWHvSygnmXowvYGZxUAmga3cu/MAOQAA4KxTFjMEjSCicisanG1Js66oWOytu8BJ7I4v5FmgtycZXk5YoOCA3bQoPitEmeapQobr0+v9qPdv+1eVFpOqTkquvtbv31+GOu1QCnAADtRVMUOUzcBDI44AZZm8r/+zDECYIKJHckbmUDyRwVpx2mGN9QESCJIGKcVSwiBToIjZpcCF7CaVqMxTxeQp2ALALFKeEoaB4RRhiBid24ZS+dPefJzydMzFU++nhJxJP+iayXGwADllB5qRG1RJArgXyvwWGK59GkQHUxMTMLhcJsZUastOC/Tf/4s8cQ001DMzBIXkogTl+E61/M5qcan2y/JsyOWMajKgD/+zDEAIBISIVLrCTH+QuP5c28GC0BDE3JdaAATILYttbu1srFrEJrscMAWhxKoTZ6cqSVbGSSCjdn2k2uSwhFVmsjjGTMTeBliVv9gkXAGRMu1f/Lg4KWnLoIk1gtAsFgyVygwUQ6bM4/FKZ1m4iAgMAgUwMVJEmmz6xfMJM3ZF+Ufz3m1WZDybpeWMT4j2+u+OvuxmLvml1VADj/+0DEAQMI/FEibmUhyVETY83cIHnAANoYoylIgxU63lOmfm0wNcBQwAnJoLBlvGKKDOe5S75toLYZlsoBgFAkaKG0S9KKyRvdqMOhesadwNNJthPrUPvR3922AZEAAY5TaCEFM6CjMQw3AwBBhENOEueONAUltI1AYScTDK7J3oYQ0V3nQ3A6nIfBwHAYCEVD84MOUNCsSNg/Raq49bFSGqWds2aeqWDqgY8VDsz9qgLAA2jh4//7QMQDAwnsfxxO6MXJMI/kDcygeDgV0zfBUeGsMBcwpC44zYUBBmUVLNuJKxoQoKgSi7DmR3ptX7sOVHKdmKkJa3sfukVjao3gZRmsDPNRmsV/pB87MX8nkRV03pugKRgAH1h2ZLFA0vjBIdHlhFSxtEcwBEP23ayrVHVBGnMrhiTtdl9PFZTkqqCKFHiQaOKIIpBg5e9jpfqHheIH2xrHgcYcAgrgvrVc+gAAgSYnLGAAB4mY//swxAWACLCHO6ywxfkbjuSNthkZg0ZUi97wVRnpCHOJhJEh1drR1ynUKpEZ0Zl140f8MpMZhsyhplPZ6NuMXemWbckcNLwSazA8CH69/6Be1AANwLD9kAvAJAqw6dKV6XaaiM4KGYDxOHFoNDcsCGWF5E4EJI6CXtwmNnyQr8xXyMmMWNZ1mI82VXLka2IqQhbfsfvSlQuQA8k7//tAxAKDCaRrGE5lg4k2kONJ3SQ4xLxGoBOZ8AI6CZkJtnCZ5MSPIMvSLByAqQgpfjTwqqwKxNzgUXLScHpmc8XmUXv+xp+/l4Gf5qGN263hpQHkRj5VH7/39f79g/ABz2yxhiHJs+pqDCNqS4BDmRIN+VQMaXOgLR1EIB4FkIfylMpl73guFQRA8M4SkM3EkoQ8Qr1s+3ubl2xcPCoyq8l3txvDqXhQc+mpACEs0AAeSDoGyJn/+0DEBYJI+IUi7jzHaSuQ4oncsGiMTCMQoDkRS25fIkQGA/TkGw8W1EX9HM7KkJGDuJ0kbK1AkXn16CFo28ckVHdu3vpQlGOUed6Wa9PbLudsHT2FWzSQFzNUCAMCxzan+4YQqRyZQJNRdWQMGkwBeBR1RB0SUIo4llgXiITxgOKeGB012Djjj5621dg/tr0GW3bUm+1tm45acStaAGpdGAAaxfERmd0POoow4vyxAHRIfLI0Av/7MMQMgggQaybt4YChMw1iidykeGPlkNAbghZYZejZ22cx2bq9tnustgtbsn6NecCJ54eCciNSaoenToBoADU6HzWkdDLQNgAIxuDl1RQ8BSC9BokMSKwUEpKEGKP8wpl6OFG20acKWPe86GaNNAmOyWz2tLXwzGalng/pCBM2Bi8rE9YiJ+xyKhuQA/acDBIZMkjEw6IgG6dJiv/7MMQJAwjEbRZOZSOBHo0iid0wKKpmEGgEOEozxcucx4axkjCWhQK0x1nzWNiEkWYe1K5N5F9ptw93mS2t7muLBWKwBnXir/UPgAHChzGsyMG8OHjmjV0HbSKSZ4YW1HBCA6HEvUGELB/OggEQCyglFgrkgYnLBbVtxKObddmC1/rHzP7bGng2DATW8iE//6YGAAM/c7MXT/GgIP/7QMQFg0nwaxBO5SPBLAuiSdwYeMGhOFUDH/EiCdEILDGZ1QwKtAUYEAl3UqUi0x3XSwlsFzz0OEIUAaaISAI04xKKcq9vqV577sOmp8PERD+39//7f/2eoGTbGTDAoojEkHgEJZ5MWAlsAyh1SXaglkxQADCSTaGxhdynUMxV7I1EJVI/I5a6l0Zdl/KaekIhwqMQEBoqwZL3Pb/////////+6h9AA8Mdkw3Kow2JMxDEwwBA//swxAiCSMBrEk7lg0EMDSLZ3LAshwC0GtCGBiIFNRNNIouq/SwDVVWkcJFSxoOLauKmQ3XT/xduRbamR413s2fiGgUJNJD9lWkK+HKorGF5mhTEAxkRpqhGIdbe9Vagla1YvGD0SFwUFM3RoR1el1l2pSGsLNWsSTvy99vot+i8kOB0gRiwT1YtbfsoAAAAAgkjAAB6LNGViYcf//swxAeCSRxrF65lIYkxDWHF3CRypEkRRCSBjpIqO6u91WYMuXyt1gELiYCkjMcjAHBEKiQ0CMY6nCKOsS7ZSnRnOEWOVkBz0w3UufZH0mMa5zM5VkMTCPMeRSMpQxhq8Nfh5dC74gFAreCKLxZq/DgQ5doGBVombOHRdEpCcqq5wdls+8hvx0hdoImT7CSqtfxF9P9nb/q///XV//tAxAACychPDk7pIcENCeHV3Jg4GgADkOnDHgMj/STUCRUABVBiBRn2RMaSLgoLgy1zDSIKyh2mIsrfeJwkgGlVzPYacxO24WicCgwRg2NKCHRNJ/Rvd8q51H7rv/6v/+n6QnnSng52T5HAI4skQMroBZSF6mDS00gYC1sMBpG71HmkLV9880ACsutaMVeQmZATUmxwqwUQl5ER3f/////9GBf9fvUAAAl4AA7XJw03CAy6Daf/+zDEB4JIrF8PLuUhgRkNYdnMIHDUCLkgIIOnJji7zYWYqTYUv2Lwa7TZkBlD4noHhNEgMG4EMVc+XP+T+k8sFiYSZCbA2Hr9aaEhPg9RlDI5JFAsEJQLeHFAoIt9CJmLYJIlyz+HZNTuZAkzDtPJlAMzDQ/pOT5NkdVe6LvD7kjD6FSRL//////q/r6f/1eQaj5AAKymYkEocAn/+0DEBQNI6F0OTukhQSoMIYnMmHCaJWLQC14oDARtHJXz7MwWd79MCADQKhQEVGloiD6y+SVtw3wI5VHHtvYSKixCTsFBdSX////7//935X9zR0PR9Y1sNwNBSgYHEMIhQASDk3LUNQNfdHBZbOY3YfGBJdFsQAD0QdGdcqNNfzPZTRvLsBigw4kc15f9Hu42i/9fV/t7f/d7uzhGYA5QTcwJB85PTGAHlTseEbaOKnTxLvn2TP/7MMQMg0k0Zwou5MHRKg0hSd0YMEgbeOJp/pPD9Hwmfg+BZb0ZeXs7CzrpmZ20+VXcnvei7vpFv9qf/sv+izWxCvo/20roPgWZBlUbhQHyFKIoQDWYNxLmuS3rMLKeLbvC7IWE4tEyiCFz3fliL+ZT/Phu6QpCQSC6bI1Hr/09FFKLLuP/1I+zq6T73X9Py9UALUgAe82GmSZiyv/7QMQFgklIOQzN5MGBN4bhSbykKKHOyWlTfAwkbUqg94Iu4bLIw8DbD4CUmq7GnicEAWFmpDkChMOjzo4GSA1gu0WYBjikft/6un/1/o39F77e+hZDZj04wLPMEchCPl6sjAgBQEwN+YmvBxaUBRsUIKFdZuqsh954WLlV3gdhkXfHrF1Jj1u1uusFiiU1/kndSW3fWnr2nEWbEI6b61MFdKoAbUAAfChHevBsG8wYpeURSQbZ//swxAmCyIA1DM3hIMELi2FBvIw4wFlROygCwYM5SPVrpkCmwyokZIiQ0YQwksiJmqc9i1zH4p6vXPf0dHu/Zb7NlXq2aDzCoxVVMTY9TSIllKvChxlT1xrUESW9JZu/Zj/cMFA3VR5mRL0sGw20aBlmwMgghALv7Gt/9m7/ovq2Xf1r+28ZZ9MZAANHxTDlIWCKHUPCxVWF7ToJ//tAxAmDSmwrCE3h4IEkDeEJvBQoRI0DLViebmFUs7a8Ax4iZBfAhEakAkyQ0qDzWGCQaYm1pmKSTsa2voFd7C59NNcczoUxl5lLmr6YpbQ2S9iGLUUhr9QauLniwHGoOhwWQoK5kFwBLYYktdsPBAVTVDKuTfO53YjXIl3S4vUhqS9XPX2JurasU+6pl70i3jmHEPSjc30+a9F9Y3JqZQADlG0x5LQAI4KrssSoQEgyQGgaGxD/+zDEC4NJdHMITaRnARULYMmmDOCspDmloyhzQ96zWWlQYjM3TnlHhQGGWlZQoh0pOXsnUUInfQ+UehNbVrFn6l00UXs7/5zqWSh9TokeIliKCgaerGHvGRPNX0nrMs8is9cjVle7tElMOJwdWi0jlg6IwMaLB4KAdpJpze3wJVK7CUbW0xv//V/0Ju/o2xjEFiqXKIb6K8SGkYT/+0DEBoNKDEEEDTBmwS2QIIW3oFBKb6J5fNIW6VBhKX6CzIEBxABBQ8aBIc4mYEYaHBNUcYFgCGRY4liwHGKSlAVl3rbIkaEE7uw9Zc+511r2rQunR7WdXjcJtliCroK5IIohxDn+YDymsKmmsZF7vWN6i3OlxUebCPUWrTVZeYl1mPFmLPrLARTj1sLNUYW7ih+XsNDWvucCB1v91nZdt/0/oUAOdeC0iQMDN0XvDSVzr1ZoFf/7QMQJAko0ZwItmGiBMJRgWaYYSCKSNP5JQWsYWlWoCXEPj+muEUWOCAwMlYjWWEQ8cTEjECQxMvSfLJ1HWHjTklUy4Xfimp86QbwlI4vvs09er1hak+0kRExoGsriy+LyBJg5wk2DZlVWbi7EeCzabvJ5IV0q1I3T9fIedIn4Rfy3MTTwxvt1refeGI0WaRdS9+V2Jo2fFF7P0v3Zj9mlOKkBQ9mzuCLZAF5iibnjhBTIWkIS//tAxAqDygx0/g0wwwEyCd9BlhiQiTSyC9cimcnE0SbtiDvMvOu23layJQHRC8JqRCRsBzKxjAdHUiyBIfONSWqKtlkVbV7RSjT23apX6m3DZCZqAtNRi8GFV4shUW3oHESCqLCZxVwTKgwk0kkdj6mAwqyChgMJOkQMfEJ5oTOPlCKhaksNBO0e/ELiiJYclNa9+y7b3V7OtPb/1CAMMEooCVMbJgMgk4dPkoVYIUQpk9zS01v/+yDEDINJzG74LCRjwIIE3ISTGBUFVVlJloCUOOVnmMHEC0sgwEBwcJRw41CjQVFSoSSxgNXLKqktCjSpo09t6NvUmxTa/+/o/awKlCaC0SQKKAiaC1JInGlgaoMShu//qmWCagxYJKX/+0xBTUUzLjk4LjJVVVVVVVVVVVVVVVVV//sQxAuDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xDENQPAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==";
+ sound.src = audiotagAudioSprite;
+ sound.load();
+ console.log("--audiotagCreateChannel "+index);
+}
+
+function at_imp_mandreel_audio_playChannel(filename,channel,vol,loop,pitch)
+{
+ at_imp_mandreel_audio_stopChannel(channel);
+ var fileNameNoExt = wa_getFileNameNoExt(filename);
+ var time = maudioSecondsPos[fileNameNoExt];
+ if ( time != null )
+ {
+ console.log("play "+fileNameNoExt+" "+time);
+ if ( maudiotagAvailableChannels.length > 0 )
+ {
+ var sound = maudiotagAvailableChannels.pop();
+ var duration = maudiotagDurations[fileNameNoExt];
+ sound.currentTime = time;
+ console.log("OK "+sound.currentTime);
+ sound.play();
+ maudiotagChannels[channel] = sound;
+ maudioChannelEnd[channel] = time+(duration/1000.0);
+ }
+ }
+ else
+ {
+ console.log("not found play "+fileNameNoExt);
+ }
+}
+
+function at_imp_mandreel_audio_stopChannel(channel)
+{
+ var sound = maudiotagChannels[channel];
+ if ( sound != null )
+ {
+ sound.pause();
+ maudiotagAvailableChannels.push(sound);
+ maudiotagChannels[channel] = null;
+ }
+}
+
+var mandreel_flash_socket_callback = null
+
+function mandreel_flash_sockets_load_flash(callback)
+{
+ mandreel_flash_socket_callback = callback;
+ var failed = "";
+ try
+ {
+ var mandreelSocketsSwf = g_mandreel_working_folder+"mandreelflashsockets.swf";
+ var swf = swfobject.createSWF({ data:mandreelSocketsSwf, width:"0", height:"0", allowScriptAccess:"always" }, { menu:"false" }, "FlashDivSockets");
+ if ( !swf )
+ failed = "Unable to open MandreelFlashSockets.swf";
+ }
+ catch(err)
+ {
+ failed = err;
+ }
+}
+
+var js_mandreel_flash_socket_swf_loaded = false;
+
+function js_mandreel_flash_socket_ready()
+{
+ js_mandreel_flash_socket_swf_loaded = true;
+ if (mandreel_flash_socket_callback)
+ mandreel_flash_socket_callback();
+}
+
+
+function Mandreel_Socket_InitLibrary(sp)
+{
+ //mandreel_flash_sockets_load_flash();
+}
+
+
+function mandreel_flash_sockets_getFlashMovieObject(movieName)
+{
+ if (Mandreel_window.document[movieName])
+ {
+ return Mandreel_window.document[movieName];
+ }
+ if (navigator.appName.indexOf("Microsoft Internet")==-1)
+ {
+ if (document.embeds && document.embeds[movieName])
+ return document.embeds[movieName];
+ }
+ else
+ {
+ return document.getElementById(movieName);
+ }
+}
+
+function js_mandreel_flash_socket_onError(message)
+{
+ var id = parseInt(message);
+
+ var sp = g_stack_pointer+512*1024;
+
+ dump('on error ' + id);
+
+ heap32[sp>>2] = id;
+ mandreel_flash_tcp_onError(sp);
+
+}
+function js_mandreel_flash_socket_onConnect(message)
+{
+ var id = parseInt(message);
+
+ var sp = g_stack_pointer+512*1024;
+
+ dump('connected ' + id);
+
+ heap32[sp>>2] = id;
+ mandreel_flash_tcp_onConnect(sp);
+}
+
+function js_mandreel_flash_tcp_receive_callbak(message)
+{
+ var strings = message.split(' ');
+
+ var id = parseInt(strings[0]);
+ var data = strings[1];
+
+ var sp = g_stack_pointer+512*1024;
+
+ var data_ptr = sp + 1024;
+ fill_ptr_from_string(data_ptr,data);
+
+ heap32[sp>>2] = id;
+ heap32[(sp+4)>>2] = data_ptr;
+ mandreel_flash_tcp_receive_callbak(sp);
+}
+
+function js_mandreel_flash_tcp_update(sp)
+{
+ var id = heap32[sp>>2];sp+=4;
+ var size = heap32[sp>>2];sp+=4;
+
+ var flashMovie=mandreel_flash_sockets_getFlashMovieObject("FlashDivSockets");
+ flashMovie.receiveMessage("receive " + id + " " + size);
+}
+
+function js_mandreel_flash_tcp_create(sp)
+{
+ var id = heap32[sp>>2];sp+=4;
+
+ var flashMovie=mandreel_flash_sockets_getFlashMovieObject("FlashDivSockets");
+ flashMovie.receiveMessage("create " + id);
+}
+
+function js_mandreel_flash_tcp_connectTo(sp)
+{
+ var id = heap32[sp>>2];sp+=4;
+ var ptr_string = heap32[sp>>2];sp+=4;
+ var port = heap32[sp>>2];sp+=4;
+
+ var server_name = get_string_from_ptr(ptr_string);
+
+ var flashMovie=mandreel_flash_sockets_getFlashMovieObject("FlashDivSockets");
+ flashMovie.receiveMessage("connect " + id + " " + server_name + " " + port);
+}
+
+function js_mandreel_flash_tcp_close(sp)
+{
+ var id = heap32[sp>>2];sp+=4;
+
+
+ var flashMovie=mandreel_flash_sockets_getFlashMovieObject("FlashDivSockets");
+ flashMovie.receiveMessage("close " + id);
+ dump("js_mandreel_flash_tcp_close " + id);
+}
+function js_mandreel_flash_tcp_write(sp)
+{
+ var id = heap32[sp>>2];sp+=4;
+ var ptr = heap32[sp>>2];sp+=4;
+
+ var message = get_string_from_ptr(ptr);
+
+ dump('js_mandreel_flash_tcp_write ' + message);
+
+ var flashMovie=mandreel_flash_sockets_getFlashMovieObject("FlashDivSockets");
+ r_g0 = flashMovie.receiveMessage("send " + id + " " + message);
+}
+
+
+
+function js_mandreel_flash_tcp_dump(msg)
+{
+ dump(msg);
+}
+
+function _GLOBAL__I_Landscape02Vtx(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = _ZL10raycastBar;
+ heap32[(g0)] = 8;
+ r0 = r0 >> 2;
+ _Znwj(i7);
+ heap32[(r0+10006)] = r_g0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = 0;
+ gettimeofday(i7);
+ heap32[(r0+10001)] = 0;
+ heap32[(r0+10005)] = 0;
+ heap32[(r0+10004)] = 9999;
+ heap32[(r0+10003)] = 0;
+ heap32[(r0+10002)] = 0;
+ return;
+}
+
+function _GLOBAL__D_Landscape02Vtx(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = _ZL10raycastBar;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+10006)];
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN15DemoApplication6myinitEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15DemoApplication16getDynamicsWorldEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heapU16[(r0+14)>>1];
+ r3 = heapU16[(r1+4)>>1];
+ r2 = r2 & r3;
+ r2 = r2 & 65535;
+ if(r2 ==0) //_LBB4_2
+{
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+else{
+ r1 = heapU16[(r1+6)>>1];
+ r0 = heapU16[(r0+12)>>1];
+ r0 = r1 & r0;
+ r0 = r0 & 65535;
+ r1 = 0;
+ r0 = r0 != r1;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN16btCollisionWorld24ClosestRayResultCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN16btCollisionWorld24ClosestRayResultCallbackE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN16btCollisionWorld24ClosestRayResultCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN16btCollisionWorld24ClosestRayResultCallbackE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN16btCollisionWorld24ClosestRayResultCallback15addSingleResultERNS_14LocalRayResultEb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp)];
+ f0 = heapFloat[(r0+6)];
+ r1 = r1 >> 2;
+ f1 = heapFloat[(r1+1)];
+ if(f0 <=f1) //_LBB7_2
+{
+ r2 = heap32[(fp+2)];
+ heapFloat[(r1+1)] = f0;
+ r3 = heap32[(r0)];
+ heap32[(r1+2)] = r3;
+ if(r2 ==0) //_LBB7_4
+{
+ r2 = r3 >> 2;
+ f0 = heapFloat[(r0+2)];
+ f1 = heapFloat[(r2+1)];
+ f2 = heapFloat[(r0+3)];
+ f3 = heapFloat[(r2+2)];
+ f4 = heapFloat[(r2+5)];
+ f5 = heapFloat[(r2+6)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r0+4)];
+ f7 = heapFloat[(r2+3)];
+ f8 = heapFloat[(r2+9)];
+ f9 = heapFloat[(r2+10)];
+ f10 = heapFloat[(r2+11)];
+ f11 = heapFloat[(r2+7)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f11*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ f2 = f10*f6;
+ f3 = f4+f5;
+ heapFloat[(r1+13)] = f1;
+ f0 = f0+f2;
+ heapFloat[(r1+14)] = f3;
+ heapFloat[(r1+15)] = f0;
+ heap32[(r1+16)] = 0;
+}
+else{
+ heap32[(r1+13)] = heap32[(r0+2)];
+ heap32[(r1+14)] = heap32[(r0+3)];
+ heap32[(r1+15)] = heap32[(r0+4)];
+ heap32[(r1+16)] = heap32[(r0+5)];
+}
+ f0 = 1;
+ f1 = heapFloat[(r0+6)];
+ f2 = heapFloat[(r1+9)];
+ f3 = heapFloat[(r1+5)];
+ f0 = f0-f1;
+ f3 = f3*f0;
+ f2 = f2*f1;
+ f2 = f3+f2;
+ heapFloat[(r1+17)] = f2;
+ f2 = heapFloat[(r1+6)];
+ f3 = heapFloat[(r1+10)];
+ f2 = f2*f0;
+ f3 = f3*f1;
+ f2 = f2+f3;
+ heapFloat[(r1+18)] = f2;
+ f2 = heapFloat[(r1+7)];
+ f3 = heapFloat[(r1+11)];
+ f0 = f2*f0;
+ f1 = f3*f1;
+ f0 = f0+f1;
+ heapFloat[(r1+19)] = f0;
+ f0 = heapFloat[(r0+6)];
+ f_g0 = f0;
+ return;
+}
+else{
+ r0 = _2E_str3;
+ r1 = _2E_str4;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 250;
+ _assert(i7);
+}
+}
+
+function _ZN20btDefaultMotionStateD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV20btDefaultMotionState;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN20btDefaultMotionStateD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV20btDefaultMotionState;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZNK20btDefaultMotionState17getWorldTransformER11btTransform(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+17)];
+ f1 = heapFloat[(r0+1)];
+ f2 = heapFloat[(r0+21)];
+ f3 = heapFloat[(r0+5)];
+ f4 = heapFloat[(r0+2)];
+ f5 = heapFloat[(r0+6)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r0+25)];
+ f9 = heapFloat[(r0+9)];
+ f10 = heapFloat[(r0+18)];
+ f11 = heapFloat[(r0+22)];
+ f12 = heapFloat[(r0+19)];
+ f13 = heapFloat[(r0+13)];
+ f14 = heapFloat[(r0+3)];
+ f15 = heapFloat[(r0+23)];
+ f16 = heapFloat[(r0+30)];
+ f17 = heapFloat[(r0+14)];
+ f18 = heapFloat[(r0+7)];
+ r1 = heap32[(fp+1)];
+ f19 = heapFloat[(r0+26)];
+ f20 = heapFloat[(r0+31)];
+ f21 = heapFloat[(r0+27)];
+ f22 = heapFloat[(r0+15)];
+ f23 = heapFloat[(r0+11)];
+ f24 = heapFloat[(r0+10)];
+ f25 = heapFloat[(r0+29)];
+ f26 = f4*f0;
+ f27 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ r0 = r1 >> 2;
+ f28 = f14*f0;
+ f29 = f18*f2;
+ f26 = f26+f27;
+ f27 = f24*f8;
+ f6 = f6+f7;
+ f7 = f28+f29;
+ f28 = f23*f8;
+ f26 = f26+f27;
+ heapFloat[(r0)] = f6;
+ f6 = f1*f10;
+ f27 = f3*f11;
+ f7 = f7+f28;
+ heapFloat[(r0+1)] = f26;
+ heapFloat[(r0+2)] = f7;
+ f7 = f4*f10;
+ f26 = f5*f11;
+ f6 = f6+f27;
+ f27 = f9*f19;
+ f28 = f14*f10;
+ f29 = f18*f11;
+ f7 = f7+f26;
+ f26 = f24*f19;
+ f6 = f6+f27;
+ heap32[(r0+3)] = 0;
+ f27 = f28+f29;
+ f28 = f23*f19;
+ f7 = f7+f26;
+ heapFloat[(r0+4)] = f6;
+ f1 = f1*f12;
+ f3 = f3*f15;
+ f6 = f27+f28;
+ heapFloat[(r0+5)] = f7;
+ heapFloat[(r0+6)] = f6;
+ f4 = f4*f12;
+ f5 = f5*f15;
+ f1 = f1+f3;
+ f3 = f9*f21;
+ f6 = -f25;
+ f7 = f14*f12;
+ f9 = f18*f15;
+ f4 = f4+f5;
+ f5 = f24*f21;
+ f1 = f1+f3;
+ heap32[(r0+7)] = 0;
+ f3 = f0*f13;
+ f14 = f2*f17;
+ f0 = f0*f6;
+ f2 = f2*f16;
+ f7 = f7+f9;
+ f9 = f23*f21;
+ f4 = f4+f5;
+ heapFloat[(r0+8)] = f1;
+ f1 = f10*f13;
+ f5 = f11*f17;
+ f10 = f10*f6;
+ f11 = f11*f16;
+ f3 = f3+f14;
+ f14 = f8*f22;
+ f0 = f0-f2;
+ f2 = f8*f20;
+ f7 = f7+f9;
+ heapFloat[(r0+9)] = f4;
+ heapFloat[(r0+10)] = f7;
+ f4 = f12*f13;
+ f7 = f15*f17;
+ f6 = f12*f6;
+ f8 = f15*f16;
+ f1 = f1+f5;
+ f5 = f19*f22;
+ f9 = f10-f11;
+ f10 = f19*f20;
+ f3 = f3+f14;
+ f0 = f0-f2;
+ f2 = f4+f7;
+ f4 = f21*f22;
+ f6 = f6-f8;
+ f7 = f21*f20;
+ f1 = f1+f5;
+ f5 = f9-f10;
+ f0 = f3+f0;
+ heap32[(r0+11)] = 0;
+ f2 = f2+f4;
+ f3 = f6-f7;
+ f1 = f1+f5;
+ heapFloat[(r0+12)] = f0;
+ f0 = f2+f3;
+ heapFloat[(r0+13)] = f1;
+ heapFloat[(r0+14)] = f0;
+ heap32[(r0+15)] = 0;
+ return;
+}
+
+function _ZN20btDefaultMotionState17setWorldTransformERK11btTransform(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r0+17)];
+ f2 = heapFloat[(r1+1)];
+ f3 = heapFloat[(r0+21)];
+ f4 = heapFloat[(r0+18)];
+ f5 = heapFloat[(r0+22)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r1+2)];
+ f9 = heapFloat[(r0+25)];
+ f10 = heapFloat[(r1+8)];
+ f11 = heapFloat[(r0+29)];
+ f12 = heapFloat[(r1+4)];
+ f13 = heapFloat[(r0+19)];
+ f14 = heapFloat[(r1+9)];
+ f15 = heapFloat[(r0+30)];
+ f16 = heapFloat[(r1+5)];
+ f17 = heapFloat[(r0+23)];
+ f18 = heapFloat[(r1+10)];
+ f19 = heapFloat[(r0+31)];
+ f20 = heapFloat[(r1+6)];
+ f21 = heapFloat[(r0+27)];
+ f22 = heapFloat[(r0+26)];
+ f23 = f4*f0;
+ f24 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ f25 = heapFloat[(r1+14)];
+ f26 = heapFloat[(r1+13)];
+ f27 = heapFloat[(r1+12)];
+ f28 = f13*f0;
+ f29 = f17*f2;
+ f23 = f23+f24;
+ f24 = f22*f8;
+ f6 = f6+f7;
+ f7 = f28+f29;
+ f28 = f21*f8;
+ f23 = f23+f24;
+ heapFloat[(r0+1)] = f6;
+ f6 = f1*f12;
+ f24 = f3*f16;
+ f7 = f7+f28;
+ heapFloat[(r0+2)] = f23;
+ heapFloat[(r0+3)] = f7;
+ f7 = f4*f12;
+ f23 = f5*f16;
+ f6 = f6+f24;
+ f24 = f9*f20;
+ f28 = f13*f12;
+ f29 = f17*f16;
+ f7 = f7+f23;
+ f23 = f22*f20;
+ f6 = f6+f24;
+ heap32[(r0+4)] = 0;
+ f24 = f28+f29;
+ f28 = f21*f20;
+ f7 = f7+f23;
+ heapFloat[(r0+5)] = f6;
+ f1 = f1*f10;
+ f3 = f3*f14;
+ f6 = f24+f28;
+ heapFloat[(r0+6)] = f7;
+ heapFloat[(r0+7)] = f6;
+ f4 = f4*f10;
+ f5 = f5*f14;
+ f1 = f1+f3;
+ f3 = f9*f18;
+ f6 = f13*f10;
+ f7 = f17*f14;
+ f4 = f4+f5;
+ f5 = f22*f18;
+ f1 = f1+f3;
+ heap32[(r0+8)] = 0;
+ f0 = f0*f11;
+ f2 = f2*f15;
+ f3 = f6+f7;
+ f6 = f21*f18;
+ f4 = f4+f5;
+ heapFloat[(r0+9)] = f1;
+ f1 = f12*f11;
+ f5 = f16*f15;
+ f0 = f0+f2;
+ f2 = f8*f19;
+ f3 = f3+f6;
+ heapFloat[(r0+10)] = f4;
+ f0 = f0+f2;
+ heapFloat[(r0+11)] = f3;
+ f2 = f10*f11;
+ f3 = f14*f15;
+ f1 = f1+f5;
+ f4 = f20*f19;
+ f1 = f1+f4;
+ f2 = f2+f3;
+ f3 = f18*f19;
+ f0 = f0+f27;
+ heap32[(r0+12)] = 0;
+ f2 = f2+f3;
+ f1 = f1+f26;
+ heapFloat[(r0+13)] = f0;
+ f0 = f2+f25;
+ heapFloat[(r0+14)] = f1;
+ heapFloat[(r0+15)] = f0;
+ heap32[(r0+16)] = 0;
+ return;
+}
+
+function _ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN13BenchmarkDemo15displayCallbackEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN13BenchmarkDemo11exitPhysicsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+9)];
+if(!(r1 <1)) //_LBB15_5
+{
+ r1 = 0;
+_3: while(true){
+ r2 = heap32[(r0+11)];
+ r3 = r1 << 2;
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+if(!(r2 ==0)) //_LBB15_4
+{
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+1)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+ r1 = (r1 + 1)|0;
+ r2 = heap32[(r0+9)];
+ if(r2 >r1) //_LBB15_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r1 = heap32[(r0+1)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2+2)];
+ r3 = (r2 + -1)|0;
+_9: do {
+if(!(r3 <0)) //_LBB15_16
+{
+ r3 = 1;
+ r2 = (r3 - r2)|0;
+_11: while(true){
+ r3 = r1 >> 2;
+ r3 = heap32[(r3+4)];
+ r4 = r2 << 2;
+ r3 = (r3 - r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r4 = heapU8[r3+232];
+ r4 = r4 & 2;
+if(!(r4 ==0)) //_LBB15_9
+{
+ if(r3 !=0) //_LBB15_10
+{
+ r4 = r3 >> 2;
+ r4 = heap32[(r4+118)];
+if(!(r4 ==0)) //_LBB15_9
+{
+ r1 = r4 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+1)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = heap32[(r0+1)];
+}
+}
+}
+ r4 = r1 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+9)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ if(r3 !=0) //_LBB15_15
+{
+ r1 = r3 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+2)];
+ heap32[(g0)] = r3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+ if(r2 ==0) //_LBB15_16
+{
+break _9;
+}
+else{
+ r2 = (r2 + 1)|0;
+ r1 = heap32[(r0+1)];
+continue _11;
+}
+}
+}
+} while(0);
+ r1 = heap32[(r0+4)];
+_23: do {
+if(!(r1 <1)) //_LBB15_21
+{
+ r1 = 0;
+_25: while(true){
+ r2 = heap32[(r0+6)];
+ r3 = r1 << 2;
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+if(!(r2 ==0)) //_LBB15_20
+{
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+1)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+ r1 = (r1 + 1)|0;
+ r2 = heap32[(r0+4)];
+ if(r2 >r1) //_LBB15_18
+{
+continue _25;
+}
+else{
+break _23;
+}
+}
+}
+} while(0);
+ r1 = heap32[(r0+1)];
+if(!(r1 ==0)) //_LBB15_23
+{
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+1)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+ r1 = heap32[(r0+15)];
+if(!(r1 ==0)) //_LBB15_25
+{
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+1)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+ r1 = heap32[(r0+13)];
+if(!(r1 ==0)) //_LBB15_27
+{
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+1)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+ r1 = heap32[(r0+14)];
+if(!(r1 ==0)) //_LBB15_29
+{
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+1)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+ r0 = heap32[(r0+16)];
+if(!(r0 ==0)) //_LBB15_31
+{
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+ return;
+}
+
+function _ZN7RagDollD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV7RagDoll;
+ r2 = 0;
+ r3 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r3)] = r1;
+ r1 = r2;
+_1: while(true){
+ r4 = heap32[(r3+1)];
+ r5 = r1 << 2;
+ r6 = r4 >> 2;
+ r5 = (r0 - r5)|0;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r5 = r5 >> 2;
+ r6 = heap32[(r6+14)];
+ r7 = heap32[(r5+24)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r7;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r4 = heap32[(r5+24)];
+if(!(r4 ==0)) //_LBB16_3
+{
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+1)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+ r4 = (r2 - r1)|0;
+ r4 = r4 << 2;
+ r4 = (r0 + r4)|0;
+ r1 = (r1 + -1)|0;
+ r4 = r4 >> 2;
+ heap32[(r4+24)] = 0;
+ if(r1 !=-10) //_LBB16_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+ r1 = 2;
+_7: while(true){
+ r2 = heap32[(r3+1)];
+ r4 = r2 >> 2;
+ r5 = r1 << 2;
+ r4 = heap32[(r4)];
+ r5 = (r0 + r5)|0;
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ r4 = heap32[(r4+21)];
+ r6 = heap32[(r5+11)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r2 = heap32[(r5+11)];
+ r4 = r2 >> 2;
+ r4 = heap32[(r4+118)];
+ if(r4 !=0) //_LBB16_7
+{
+ r2 = r4 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+1)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = heap32[(r5+11)];
+}
+if(!(r2 ==0)) //_LBB16_10
+{
+ r4 = r2 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+ heap32[(r5+11)] = 0;
+ r2 = heap32[(r5)];
+if(!(r2 ==0)) //_LBB16_12
+{
+ r4 = r2 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+1)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+ r1 = (r1 + 1)|0;
+ heap32[(r5)] = 0;
+ if(r1 !=13) //_LBB16_5
+{
+continue _7;
+}
+else{
+break _7;
+}
+}
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN7RagDollD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV7RagDoll;
+ r2 = 0;
+ r3 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r3)] = r1;
+ r1 = r2;
+_1: while(true){
+ r4 = heap32[(r3+1)];
+ r5 = r1 << 2;
+ r6 = r4 >> 2;
+ r5 = (r0 - r5)|0;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r5 = r5 >> 2;
+ r6 = heap32[(r6+14)];
+ r7 = heap32[(r5+24)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r7;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r4 = heap32[(r5+24)];
+if(!(r4 ==0)) //_LBB17_3
+{
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+1)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+ r4 = (r2 - r1)|0;
+ r4 = r4 << 2;
+ r4 = (r0 + r4)|0;
+ r1 = (r1 + -1)|0;
+ r4 = r4 >> 2;
+ heap32[(r4+24)] = 0;
+ if(r1 !=-10) //_LBB17_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+ r1 = 2;
+_7: while(true){
+ r2 = heap32[(r3+1)];
+ r4 = r2 >> 2;
+ r5 = r1 << 2;
+ r4 = heap32[(r4)];
+ r5 = (r0 + r5)|0;
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ r4 = heap32[(r4+21)];
+ r6 = heap32[(r5+11)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r2 = heap32[(r5+11)];
+ r4 = r2 >> 2;
+ r4 = heap32[(r4+118)];
+ if(r4 !=0) //_LBB17_7
+{
+ r2 = r4 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+1)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = heap32[(r5+11)];
+}
+if(!(r2 ==0)) //_LBB17_10
+{
+ r4 = r2 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+ heap32[(r5+11)] = 0;
+ r2 = heap32[(r5)];
+if(!(r2 ==0)) //_LBB17_12
+{
+ r4 = r2 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+1)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+ r1 = (r1 + 1)|0;
+ heap32[(r5)] = 0;
+ if(r1 !=13) //_LBB17_5
+{
+continue _7;
+}
+else{
+break _7;
+}
+}
+ return;
+}
+
+function _ZN13BenchmarkDemoD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13BenchmarkDemo;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN13BenchmarkDemo11exitPhysicsEv(i7);
+ r1 = heap32[(r2+11)];
+if(!(r1 ==0)) //_LBB18_4
+{
+ r3 = heapU8[r0+48];
+if(!(r3 ==0)) //_LBB18_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+11)] = 0;
+}
+ r1 = 1;
+ heap8[r0+48] = r1;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 0;
+ r3 = heap32[(r2+6)];
+if(!(r3 ==0)) //_LBB18_8
+{
+ r4 = heapU8[r0+28];
+if(!(r4 ==0)) //_LBB18_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+6)] = 0;
+}
+ heap8[r0+28] = r1;
+ heap32[(r2+6)] = 0;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+5)] = 0;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN15DemoApplication20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -168;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+if(!(r0 ==0)) //_LBB19_3
+{
+ r1 = r0 >> 2;
+ r1 = heap32[(r1+1)];
+if(!(r1 !=35)) //_LBB19_3
+{
+ r0 = _2E_str5;
+ r1 = _2E_str6;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 1297;
+ _assert(i7);
+}
+}
+ f0 = heapFloat[(fp+1)];
+ r1 = sp + -152;
+ r2 = r1 >> 2;
+ heap32[(fp+-38)] = 0;
+ heap32[(r2+1)] = 0;
+ heap32[(r2+2)] = 0;
+ f1 = 0;
+ heap32[(r2+3)] = 0;
+if(!(f0 ==f1)) //_LBB19_5
+{
+ r3 = r0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+8)];
+ heap32[(g0)] = r0;
+ heapFloat[(g0+1)] = f0;
+ heap32[(g0+2)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+ r1 = heap32[(fp)];
+ r3 = heap32[(fp+2)];
+ r4 = gNumAlignedAllocs;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ heap32[(r4)] = r5;
+ heap32[(g0)] = 627;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB19_7
+{
+ r5 = 0;
+ r6 = (r4 + 4)|0;
+ r5 = (r5 - r6)|0;
+ r5 = r5 & 15;
+ r5 = (r4 + r5)|0;
+ r6 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r4;
+ r4 = r6;
+}
+ r5 = r4 >> 2;
+ heap32[(r5+41)] = 1065353216;
+ heap32[(r5+42)] = 1065353216;
+ heap32[(r5+43)] = 1065353216;
+ heap32[(r5+44)] = 0;
+ heap32[(r5+45)] = 0;
+ heap32[(r5+46)] = 1566444395;
+ heap32[(r5+47)] = 0;
+ heap32[(r5+48)] = 0;
+ heap32[(r5+49)] = 0;
+ heap32[(r5+50)] = 0;
+ heap32[(r5+51)] = 1;
+ heap32[(r5+52)] = -1;
+ heap32[(r5+53)] = -1;
+ heap32[(r5+54)] = 1;
+ heap32[(r5+55)] = 0;
+ heap32[(r5+56)] = 1056964608;
+ heap32[(r5+57)] = 0;
+ heap32[(r5+58)] = 1;
+ heap32[(r5+59)] = 0;
+ heap32[(r5+60)] = 1065353216;
+ heap32[(r5+61)] = 0;
+ heap32[(r5+62)] = 0;
+ heap32[(r5+63)] = 0;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+ heap32[(r5+4)] = 0;
+ heap32[(r5+5)] = 0;
+ heap32[(r5+6)] = 1065353216;
+ heap32[(r5+7)] = 0;
+ heap32[(r5+8)] = 0;
+ heap32[(r5+9)] = 0;
+ heap32[(r5+10)] = 0;
+ heap32[(r5+11)] = 1065353216;
+ heap32[(r5+12)] = 0;
+ heap32[(r5+13)] = 0;
+ heap32[(r5+14)] = 0;
+ r6 = _ZTV11btRigidBody;
+ heap32[(r5+15)] = 0;
+ r6 = (r6 + 8)|0;
+ heap32[(r5+16)] = 0;
+ r7 = 1;
+ heap32[(r5)] = r6;
+ heap8[r4+492] = r7;
+ heap32[(r5+122)] = 0;
+ heap32[(r5+120)] = 0;
+ r6 = sp + -136;
+ heap32[(r5+121)] = 0;
+ r7 = r6 >> 2;
+ heapFloat[(fp+-34)] = f0;
+ heap32[(r7+1)] = 0;
+ heap32[(r7+18)] = r0;
+ heap32[(r7+19)] = heap32[(fp+-38)];
+ heap32[(r7+20)] = heap32[(r2+1)];
+ heap32[(r7+21)] = heap32[(r2+2)];
+ heap32[(r7+22)] = heap32[(r2+3)];
+ heap32[(r7+23)] = 0;
+ heap32[(r7+24)] = 0;
+ heap32[(r7+25)] = 1056964608;
+ heap32[(r7+26)] = 0;
+ heap32[(r7+27)] = 1061997773;
+ r0 = 0;
+ heap32[(r7+28)] = 1065353216;
+ heap8[sp+-20] = r0;
+ heap32[(r7+30)] = 1000593162;
+ heap32[(r7+31)] = 1008981770;
+ heap32[(r7+32)] = 1008981770;
+ heap32[(r7+33)] = 1008981770;
+ heap32[(r7+2)] = 1065353216;
+ heap32[(r7+3)] = 0;
+ heap32[(r7+4)] = 0;
+ heap32[(r7+5)] = 0;
+ heap32[(r7+6)] = 0;
+ heap32[(r7+7)] = 1065353216;
+ heap32[(r7+8)] = 0;
+ heap32[(r7+9)] = 0;
+ heap32[(r7+10)] = 0;
+ heap32[(r7+11)] = 0;
+ heap32[(r7+12)] = 1065353216;
+ heap32[(r7+13)] = 0;
+ heap32[(r7+14)] = 0;
+ heap32[(r7+15)] = 0;
+ heap32[(r7+16)] = 0;
+ heap32[(r7+17)] = 0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r6;
+ _ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(i7);
+ r0 = r3 >> 2;
+ heap32[(r5+1)] = heap32[(r0)];
+ heap32[(r5+2)] = heap32[(r0+1)];
+ heap32[(r5+3)] = heap32[(r0+2)];
+ heap32[(r5+4)] = heap32[(r0+3)];
+ heap32[(r5+5)] = heap32[(r0+4)];
+ heap32[(r5+6)] = heap32[(r0+5)];
+ heap32[(r5+7)] = heap32[(r0+6)];
+ heap32[(r5+8)] = heap32[(r0+7)];
+ heap32[(r5+9)] = heap32[(r0+8)];
+ heap32[(r5+10)] = heap32[(r0+9)];
+ heap32[(r5+11)] = heap32[(r0+10)];
+ heap32[(r5+12)] = heap32[(r0+11)];
+ heap32[(r5+13)] = heap32[(r0+12)];
+ heap32[(r5+14)] = heap32[(r0+13)];
+ heap32[(r5+15)] = heap32[(r0+14)];
+ r1 = r1 >> 2;
+ heap32[(r5+16)] = heap32[(r0+15)];
+ heap32[(r5+46)] = heap32[(r1+2)];
+ r0 = heap32[(r1+1)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+20)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r_g0 = r4;
+ return;
+}
+
+function _ZN13BenchmarkDemoD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13BenchmarkDemo;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN13BenchmarkDemo11exitPhysicsEv(i7);
+ r1 = heap32[(r2+11)];
+if(!(r1 ==0)) //_LBB20_4
+{
+ r3 = heapU8[r0+48];
+if(!(r3 ==0)) //_LBB20_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+11)] = 0;
+}
+ r1 = 1;
+ heap8[r0+48] = r1;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 0;
+ r3 = heap32[(r2+6)];
+if(!(r3 ==0)) //_LBB20_8
+{
+ r4 = heapU8[r0+28];
+if(!(r4 ==0)) //_LBB20_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+6)] = 0;
+}
+ heap8[r0+28] = r1;
+ heap32[(r2+6)] = 0;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+5)] = 0;
+ return;
+}
+
+function _ZN13BenchmarkDemo20clientMoveAndDisplayEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -128;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+1)];
+if(!(r1 ==0)) //_LBB21_2
+{
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 1015580809;
+ heap32[(g0+2)] = 1;
+ heap32[(g0+3)] = 1015580809;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = heap32[(r0+1)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+5)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+ r1 = heap32[(r0+17)];
+if(!(r1 !=7)) //_LBB21_10
+{
+ r1 = _ZL10raycastBar;
+ r2 = r1 >> 2;
+ r0 = heap32[(r0+1)];
+ r3 = heap32[(r2+10006)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 0;
+ r3 = 0;
+ gettimeofday(i7);
+_6: while(true){
+ r4 = sp + -96;
+ r5 = r4 >> 2;
+ heap32[(r5+1)] = 1065353216;
+ r6 = 1;
+ heap32[(r5+2)] = 0;
+ r7 = -1;
+ heap16[(sp+-84)>>1] = r6;
+ r6 = _ZTVN16btCollisionWorld24ClosestRayResultCallbackE;
+ heap16[(sp+-82)>>1] = r7;
+ r7 = (r1 + r3)|0;
+ r6 = (r6 + 8)|0;
+ heap32[(r5+4)] = 0;
+ r8 = r7 >> 2;
+ heap32[(fp+-24)] = r6;
+ heap32[(r5+5)] = heap32[(r8)];
+ heap32[(r5+6)] = heap32[(r8+1)];
+ heap32[(r5+7)] = heap32[(r8+2)];
+ heap32[(r5+8)] = heap32[(r8+3)];
+ heap32[(r5+9)] = heap32[(r8+2000)];
+ heap32[(r5+10)] = heap32[(r8+2001)];
+ heap32[(r5+11)] = heap32[(r8+2002)];
+ r9 = r0 >> 2;
+ heap32[(r5+12)] = heap32[(r8+2003)];
+ r9 = heap32[(r9)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+7)];
+ r10 = (r7 + 8000)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r4 = heap32[(r5+2)];
+ if(r4 ==0) //_LBB21_6
+{
+ r4 = r7 >> 2;
+ r5 = r7 >> 2;
+ r9 = r7 >> 2;
+ r10 = r7 >> 2;
+ heap32[(r4+6000)] = heap32[(r5+2000)];
+ r4 = r7 >> 2;
+ r5 = r7 >> 2;
+ heap32[(r9+6001)] = heap32[(r10+2001)];
+ r9 = r7 >> 2;
+ r10 = r7 >> 2;
+ heap32[(r4+6002)] = heap32[(r5+2002)];
+ r4 = r7 >> 2;
+ heap32[(r9+6003)] = heap32[(r10+2003)];
+ r5 = r7 >> 2;
+ heap32[(r4+8000)] = 1065353216;
+ r4 = r7 >> 2;
+ heap32[(r5+8001)] = 0;
+ heap32[(r4+8002)] = 0;
+ heap32[(r8+8003)] = 0;
+}
+else{
+ r4 = r7 >> 2;
+ r9 = r7 >> 2;
+ heap32[(r4+6000)] = heap32[(r5+17)];
+ r4 = r7 >> 2;
+ heap32[(r9+6001)] = heap32[(r5+18)];
+ r9 = r7 >> 2;
+ heap32[(r4+6002)] = heap32[(r5+19)];
+ heap32[(r9+6003)] = heap32[(r5+20)];
+ f0 = heapFloat[(r5+13)];
+ r4 = r7 >> 2;
+ heapFloat[(r4+8000)] = f0;
+ f1 = heapFloat[(r5+14)];
+ r9 = r7 >> 2;
+ heapFloat[(r9+8001)] = f1;
+ f2 = heapFloat[(r5+15)];
+ r7 = r7 >> 2;
+ f0 = f0*f0;
+ f1 = f1*f1;
+ heapFloat[(r7+8002)] = f2;
+ heap32[(r8+8003)] = heap32[(r5+16)];
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = 1;
+ f0 = f1/f_g0;
+ f1 = heapFloat[(r4+8000)];
+ f1 = f1*f0;
+ heapFloat[(r4+8000)] = f1;
+ f1 = heapFloat[(r9+8001)];
+ f1 = f1*f0;
+ heapFloat[(r9+8001)] = f1;
+ f1 = heapFloat[(r7+8002)];
+ f0 = f1*f0;
+ heapFloat[(r7+8002)] = f0;
+}
+ r3 = (r3 + 16)|0;
+ heap32[(fp+-24)] = r6;
+if(!(r3 !=8000)) //_LBB21_4
+{
+break _6;
+}
+}
+ r0 = heap32[(r2+10001)];
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ gettimeofday(i7);
+ r3 = heap32[(r2+10006)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 - r5)|0;
+ r1 = (r1 / 1000)|0;
+ r3 = (r3 * 1000)|0;
+ r1 = (r1 + r3)|0;
+ r0 = (r1 + r0)|0;
+ heap32[(r2+10001)] = r0;
+ r1 = heap32[(r2+10000)];
+ r1 = (r1 + 1)|0;
+ heap32[(r2+10000)] = r1;
+if(!(r1 <51)) //_LBB21_10
+{
+ r3 = heap32[(r2+10004)];
+ r3 = r0 < r3 ? r0 : r3;
+ heap32[(r2+10004)] = r3;
+ r4 = heap32[(r2+10005)];
+ r4 = r0 > r4 ? r0 : r4;
+ heap32[(r2+10005)] = r4;
+ r5 = heap32[(r2+10002)];
+ r5 = (r0 + r5)|0;
+ heap32[(r2+10002)] = r5;
+ r6 = heap32[(r2+10003)];
+ r6 = (r6 + 1)|0;
+ f0 = r5; //fitos r5, f0
+ f1 = r6; //fitos r6, f1
+ f0 = f0/f1;
+ heap32[(r2+10003)] = r6;
+ r5 = _2E_str7;
+ r1 = (r1 * 500)|0;
+ f0 = f0; //fstod f0, f0
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r4;
+ llvm_writeDouble((i7+24),f0);
+ printf(i7);
+ heap32[(r2+10001)] = 0;
+ heap32[(r2+10000)] = 0;
+}
+}
+ return;
+}
+
+function _ZN13BenchmarkDemo10createWallERK9btVector3iS2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+var __label__ = 0;
+ i7 = sp + -96;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = gNumAlignedAllocs;
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ f0 = heapFloat[(r0+2)];
+ f1 = heapFloat[(r0+1)];
+ f2 = heapFloat[(r0)];
+ r2 = (r2 + 1)|0;
+ heap32[(r1)] = r2;
+ heap32[(g0)] = 71;
+ malloc(i7);
+ r1 = r_g0;
+ r2 = heap32[(fp)];
+ if(r1 !=0) //_LBB22_2
+{
+ r3 = 0;
+ r4 = (r1 + 4)|0;
+ r3 = (r3 - r4)|0;
+ r3 = r3 & 15;
+ r3 = (r1 + r3)|0;
+ r4 = (r3 + 4)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r1;
+ r1 = r4;
+}
+ r3 = r1 >> 2;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 1065353216;
+ heap32[(r3+4)] = 1065353216;
+ heap32[(r3+5)] = 1065353216;
+ r4 = _ZTV10btBoxShape;
+ heap32[(r3+6)] = 0;
+ r4 = (r4 + 8)|0;
+ heap32[(r3+11)] = 1025758986;
+ heap32[(r3)] = r4;
+ f3 = -0.039999999105930328;
+ f2 = f2+f3;
+ heap32[(r3+1)] = 0;
+ f1 = f1+f3;
+ heapFloat[(r3+7)] = f2;
+ f0 = f0+f3;
+ heapFloat[(r3+8)] = f1;
+ heapFloat[(r3+9)] = f0;
+ r4 = sp + -16;
+ heap32[(r3+10)] = 0;
+ r3 = r4 >> 2;
+ heap32[(fp+-4)] = 0;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r4;
+ _ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3(i7);
+ f4 = heapFloat[(r0+1)];
+ f0 = heapFloat[(r0+2)];
+ r0 = sp + -80;
+ r3 = r0 >> 2;
+ heap32[(fp+-20)] = 1065353216;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 0;
+ heap32[(r3+4)] = 0;
+ heap32[(r3+5)] = 1065353216;
+ heap32[(r3+6)] = 0;
+ heap32[(r3+7)] = 0;
+ heap32[(r3+8)] = 0;
+ heap32[(r3+9)] = 0;
+ heap32[(r3+10)] = 1065353216;
+ heap32[(r3+11)] = 0;
+ f1 = f0+f0;
+ f2 = -12;
+ heap32[(r3+12)] = 0;
+ heap32[(r3+13)] = 0;
+ f2 = f1*f2;
+ f3 = 0.5;
+ f3 = f2*f3;
+ f2 = f4+f4;
+ r5 = 12;
+ heap32[(r3+14)] = 0;
+ heap32[(r3+15)] = 0;
+_4: while(true){
+if(!(r5 <1)) //_LBB22_4
+{
+ r4 = 0;
+_8: while(true){
+ r6 = r2 >> 2;
+ f5 = r4; //fitos r4, f5
+ f6 = 0;
+ f7 = heapFloat[(r6)];
+ f8 = heapFloat[(r6+2)];
+ f9 = heapFloat[(r6+1)];
+ f5 = f5*f1;
+ f6 = f7+f6;
+ f5 = f5+f3;
+ f7 = f9+f4;
+ heapFloat[(r3+12)] = f6;
+ f5 = f8+f5;
+ heapFloat[(r3+13)] = f7;
+ r6 = _ZL14benchmarkDemo4;
+ heapFloat[(r3+14)] = f5;
+ r7 = r6 >> 2;
+ heap32[(r3+15)] = 0;
+ r7 = heap32[(r7)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+2)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r1;
+ r4 = (r4 + 1)|0;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ if(r5 !=r4) //_LBB22_3
+{
+continue _8;
+}
+else{
+break _8;
+}
+}
+}
+ r5 = (r5 + -1)|0;
+ f4 = f4+f2;
+ f3 = f3+f0;
+ if(r5 ==0) //_LBB22_8
+{
+break _4;
+}
+else{
+continue _4;
+}
+}
+ return;
+}
+
+function _ZN13BenchmarkDemo19createLargeMeshBodyEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+var __label__ = 0;
+ i7 = sp + -80;var g0 = i7>>2; // save stack
+ r0 = sp + -64;
+ r1 = r0 >> 2;
+ heap32[(fp+-16)] = 1065353216;
+ heap32[(r1+1)] = 0;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 0;
+ heap32[(r1+4)] = 0;
+ heap32[(r1+5)] = 1065353216;
+ heap32[(r1+6)] = 0;
+ heap32[(r1+7)] = 0;
+ heap32[(r1+8)] = 0;
+ heap32[(r1+9)] = 0;
+ heap32[(r1+10)] = 1065353216;
+ heap32[(r1+11)] = 0;
+ heap32[(r1+12)] = 0;
+ heap32[(r1+13)] = 0;
+ r2 = 0;
+ heap32[(r1+14)] = 0;
+ heap32[(r1+15)] = 0;
+_1: while(true){
+ r3 = gNumAlignedAllocs;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r5 = (r4 + 1)|0;
+ heap32[(r3)] = r5;
+ heap32[(g0)] = 103;
+ malloc(i7);
+ r5 = r_g0;
+ if(r5 !=0) //_LBB23_3
+{
+ r6 = 0;
+ r7 = (r5 + 4)|0;
+ r6 = (r6 - r7)|0;
+ r6 = r6 & 15;
+ r6 = (r5 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r5;
+ r5 = r7;
+}
+ r6 = r5 >> 2;
+ heap32[(r6+1)] = 1065353216;
+ heap32[(r6+2)] = 1065353216;
+ r7 = _ZTV26btTriangleIndexVertexArray;
+ heap32[(r6+3)] = 1065353216;
+ r7 = (r7 + 8)|0;
+ heap32[(r6+4)] = 0;
+ r8 = 1;
+ heap32[(r6)] = r7;
+ heap8[r5+36] = r8;
+ heap32[(r6+8)] = 0;
+ heap32[(r6+6)] = 0;
+ r7 = LandscapeVtx;
+ r9 = r2 << 2;
+ r10 = LandscapeVtxCount;
+ r11 = LandscapeIdx;
+ r12 = LandscapeIdxCount;
+ r7 = (r7 + r9)|0;
+ r10 = (r10 + r9)|0;
+ r11 = (r11 + r9)|0;
+ r9 = (r12 + r9)|0;
+ heap32[(r6+7)] = 0;
+ r7 = r7 >> 2;
+ heap32[(r6+12)] = 0;
+ r10 = r10 >> 2;
+ r11 = r11 >> 2;
+ r9 = r9 >> 2;
+ r7 = heap32[(r7)];
+ r10 = heap32[(r10)];
+ r11 = heap32[(r11)];
+ r9 = heap32[(r9)];
+ r12 = (r4 + 2)|0;
+ heap32[(r3)] = r12;
+ heap32[(g0)] = 51;
+ malloc(i7);
+ r12 = r_g0;
+ r9 = (r9 / 3)|0;
+ if(r12 !=0) //_LBB23_6
+{
+ r13 = 0;
+ r14 = (r12 + 4)|0;
+ r13 = (r13 - r14)|0;
+ r13 = r13 & 15;
+ r13 = (r12 + r13)|0;
+ r14 = (r13 + 4)|0;
+ r13 = r13 >> 2;
+ heap32[(r13)] = r12;
+ r12 = r14;
+}
+ heap8[r5+36] = r8;
+ heap32[(r6+8)] = r12;
+ heap32[(r6+7)] = 1;
+ r13 = heap32[(r6+6)];
+ r13 = r13 << 5;
+ r12 = (r12 + r13)|0;
+ r12 = r12 >> 2;
+ heap32[(r12)] = r9;
+ heap32[(r12+1)] = r11;
+ heap32[(r12+2)] = 6;
+ heap32[(r12+3)] = r10;
+ heap32[(r12+4)] = r7;
+ heap32[(r12+5)] = 12;
+ heap32[(r12+6)] = 3;
+ heap32[(r12+7)] = 0;
+ r7 = heap32[(r6+6)];
+ r9 = (r7 + 1)|0;
+ heap32[(r6+6)] = r9;
+ r7 = r7 << 5;
+ r9 = heap32[(r6+8)];
+ r7 = (r9 + r7)|0;
+ r7 = r7 >> 2;
+ r4 = (r4 + 3)|0;
+ heap32[(r7+6)] = 3;
+ heap32[(r3)] = r4;
+ heap32[(g0)] = 95;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB23_9
+{
+ r4 = 0;
+ r7 = (r3 + 4)|0;
+ r4 = (r4 - r7)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r7 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r7;
+}
+ r4 = r3 >> 2;
+ r7 = _ZTV19btTriangleMeshShape;
+ heap32[(r4+2)] = 0;
+ r7 = (r7 + 8)|0;
+ heap32[(r4+3)] = 0;
+ heap32[(r4)] = r7;
+ heap32[(r4+12)] = r5;
+ heap32[(r4+1)] = 21;
+ r7 = heap32[(r6)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+10)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r7 = r_g0;
+ if(r7 ==0) //_LBB23_12
+{
+ heap32[(g0)] = r3;
+ _ZN19btTriangleMeshShape15recalcLocalAabbEv(i7);
+}
+else{
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+12)];
+ r7 = (r3 + 16)|0;
+ r9 = (r3 + 32)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r9;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+}
+ r5 = _ZTV22btBvhTriangleMeshShape;
+ r5 = (r5 + 8)|0;
+ heap32[(r4)] = r5;
+ heap32[(r4+13)] = 0;
+ heap32[(r4+14)] = 0;
+ r5 = 0;
+ heap8[r3+60] = r8;
+ heap8[r3+61] = r5;
+ heap32[(r4+1)] = 21;
+ heap32[(g0)] = r3;
+ _ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv(i7);
+ heap32[(r1+12)] = 0;
+ heap32[(r1+13)] = -1043857408;
+ r4 = _ZL14benchmarkDemo4;
+ heap32[(r1+14)] = 0;
+ r5 = r4 >> 2;
+ heap32[(r1+15)] = 0;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+2)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r3;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r2 = (r2 + 1)|0;
+ r3 = r_g0 >> 2;
+ heap32[(r3+56)] = 1063675494;
+ if(r2 !=8) //_LBB23_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+ return;
+}
+
+function _ZN13BenchmarkDemo11createTest6Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+var __label__ = 0;
+ i7 = sp + -112;var g0 = i7>>2; // save stack
+ r0 = gNumAlignedAllocs;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ heap32[(g0)] = 127;
+ malloc(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB24_2
+{
+ r1 = 0;
+ r2 = (r0 + 4)|0;
+ r1 = (r1 - r2)|0;
+ r1 = r1 & 15;
+ r1 = (r0 + r1)|0;
+ r2 = (r1 + 4)|0;
+ r1 = r1 >> 2;
+ heap32[(r1)] = r0;
+ r0 = r2;
+}
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 0;
+ r1 = 0;
+ _ZN17btConvexHullShapeC1EPKfii(i7);
+_4: while(true){
+ r2 = (r1 * -3)|0;
+ r3 = _ZL7TaruVtx;
+ r2 = r2 << 2;
+ r2 = (r3 + r2)|0;
+ r3 = sp + -96;
+ r2 = r2 >> 2;
+ r4 = r3 >> 2;
+ heap32[(fp+-24)] = heap32[(r2)];
+ heap32[(r4+1)] = heap32[(r2+1)];
+ heap32[(r4+2)] = heap32[(r2+2)];
+ heap32[(r4+3)] = 0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ r1 = (r1 + -1)|0;
+ _ZN17btConvexHullShape8addPointERK9btVector3(i7);
+ if(r1 ==-43) //_LBB24_10
+{
+break _4;
+}
+else{
+continue _4;
+}
+}
+ r1 = sp + -64;
+ r2 = r1 >> 2;
+ heap32[(fp+-16)] = 1065353216;
+ heap32[(r2+1)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+5)] = 1065353216;
+ heap32[(r2+6)] = 0;
+ heap32[(r2+7)] = 0;
+ heap32[(r2+8)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 1065353216;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+12)] = 0;
+ heap32[(r2+13)] = 0;
+ heap32[(r2+14)] = 0;
+ r3 = sp + -80;
+ heap32[(r2+15)] = 0;
+ r4 = r3 >> 2;
+ heap32[(fp+-20)] = 0;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+ r5 = r0 >> 2;
+ heap32[(r4+3)] = 0;
+ r4 = heap32[(r5)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+8)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r3;
+ r3 = 10;
+ f0 = 20;
+ f1 = 2;
+ f2 = -25;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r7 = _ZL14benchmarkDemo4;
+_7: while(true){
+ f3 = 3;
+ f4 = 25;
+ f5 = f1+f3;
+ f4 = f0+f4;
+ r4 = 0;
+ r5 = r4;
+_9: while(true){
+ f6 = r5; //fitos r5, f6
+ f6 = f6*f5;
+ f6 = f6+f2;
+ f7 = 5;
+ f6 = f6*f7;
+ f8 = 0;
+ f6 = f6+f8;
+ r6 = r4;
+_11: while(true){
+ f9 = r6; //fitos r6, f9
+ f9 = f9*f5;
+ f9 = f9+f2;
+ f9 = f9*f7;
+ f9 = f9+f8;
+ heapFloat[(r2+12)] = f9;
+ heapFloat[(r2+13)] = f4;
+ heapFloat[(r2+14)] = f6;
+ r8 = r7 >> 2;
+ heap32[(r2+15)] = 0;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r0;
+ r6 = (r6 + 1)|0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ if(r6 !=10) //_LBB24_7
+{
+continue _11;
+}
+else{
+break _11;
+}
+}
+ r5 = (r5 + 1)|0;
+ if(r5 !=10) //_LBB24_6
+{
+continue _9;
+}
+else{
+break _9;
+}
+}
+ f4 = 1.1000000238418579;
+ f5 = -0.05000000074505806;
+ f4 = f1*f4;
+ f1 = f1*f5;
+ f5 = 9;
+ f3 = f4+f3;
+ f1 = f1*f5;
+ r3 = (r3 + -1)|0;
+ f0 = f0+f3;
+ f2 = f1+f2;
+ f1 = f4;
+ if(r3 ==0) //_LBB24_11
+{
+break _7;
+}
+else{
+continue _7;
+}
+}
+ _ZN13BenchmarkDemo19createLargeMeshBodyEv(i7);
+ return;
+}
+
+function _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -168;var g0 = i7>>2; // save stack
+ r0 = sp + -16;
+ r1 = r0 >> 2;
+ heap32[(fp+-4)] = 0;
+ heap32[(r1+1)] = 0;
+ r2 = heap32[(fp+2)];
+ heap32[(r1+2)] = 0;
+ r3 = r2 >> 2;
+ heap32[(r1+3)] = 0;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+8)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r0;
+ r0 = _ZGVZN11btTransform11getIdentityEvE17identityTransform;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = heapU8[r0];
+if(!(r3 !=0)) //_LBB25_4
+{
+ r3 = _ZGVZN11btMatrix3x311getIdentityEvE14identityMatrix;
+ r4 = heapU8[r3];
+if(!(r4 !=0)) //_LBB25_3
+{
+ r4 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_0_2E_0_2E_0;
+ r5 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_1_2E_0_2E_1;
+ r4 = r4 >> 2;
+ r6 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_2_2E_0_2E_2;
+ r5 = r5 >> 2;
+ heap32[(r4)] = 1065353216;
+ r4 = r6 >> 2;
+ heap32[(r5)] = 1065353216;
+ r5 = 1;
+ heap32[(r4)] = 1065353216;
+ heap8[r3] = r5;
+}
+ r3 = _ZZN11btTransform11getIdentityEvE17identityTransform;
+ r4 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_0_2E_0_2E_0;
+ r3 = r3 >> 2;
+ r4 = r4 >> 2;
+ heap32[(r3)] = heap32[(r4)];
+ heap32[(r3+1)] = 0;
+ heap32[(r3+2)] = 0;
+ r4 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_1_2E_0_2E_1;
+ heap32[(r3+3)] = 0;
+ r4 = r4 >> 2;
+ heap32[(r3+4)] = 0;
+ heap32[(r3+5)] = heap32[(r4)];
+ heap32[(r3+6)] = 0;
+ heap32[(r3+7)] = 0;
+ r4 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_2_2E_0_2E_2;
+ heap32[(r3+8)] = 0;
+ r4 = r4 >> 2;
+ heap32[(r3+9)] = 0;
+ heap32[(r3+10)] = heap32[(r4)];
+ heap32[(r3+11)] = 0;
+ heap32[(r3+12)] = 0;
+ heap32[(r3+13)] = 0;
+ heap32[(r3+14)] = 0;
+ r4 = 1;
+ heap32[(r3+15)] = 0;
+ heap8[r0] = r4;
+}
+ r0 = heap32[(fp)];
+ r3 = heap32[(fp+1)];
+ heap32[(g0)] = 200;
+ r4 = _ZTV20btDefaultMotionState;
+ _Znwj(i7);
+ r6 = r_g0 >> 2;
+ r4 = (r4 + 8)|0;
+ r3 = r3 >> 2;
+ heap32[(r6)] = r4;
+ heap32[(r6+1)] = heap32[(r3)];
+ heap32[(r6+2)] = heap32[(r3+1)];
+ heap32[(r6+3)] = heap32[(r3+2)];
+ heap32[(r6+4)] = heap32[(r3+3)];
+ heap32[(r6+5)] = heap32[(r3+4)];
+ heap32[(r6+6)] = heap32[(r3+5)];
+ heap32[(r6+7)] = heap32[(r3+6)];
+ heap32[(r6+8)] = heap32[(r3+7)];
+ heap32[(r6+9)] = heap32[(r3+8)];
+ heap32[(r6+10)] = heap32[(r3+9)];
+ heap32[(r6+11)] = heap32[(r3+10)];
+ heap32[(r6+12)] = heap32[(r3+11)];
+ heap32[(r6+13)] = heap32[(r3+12)];
+ heap32[(r6+14)] = heap32[(r3+13)];
+ r4 = _ZZN11btTransform11getIdentityEvE17identityTransform;
+ heap32[(r6+15)] = heap32[(r3+14)];
+ r4 = r4 >> 2;
+ heap32[(r6+16)] = heap32[(r3+15)];
+ heap32[(r6+17)] = heap32[(r4)];
+ heap32[(r6+18)] = heap32[(r4+1)];
+ heap32[(r6+19)] = heap32[(r4+2)];
+ heap32[(r6+20)] = heap32[(r4+3)];
+ heap32[(r6+21)] = heap32[(r4+4)];
+ heap32[(r6+22)] = heap32[(r4+5)];
+ heap32[(r6+23)] = heap32[(r4+6)];
+ heap32[(r6+24)] = heap32[(r4+7)];
+ heap32[(r6+25)] = heap32[(r4+8)];
+ heap32[(r6+26)] = heap32[(r4+9)];
+ heap32[(r6+27)] = heap32[(r4+10)];
+ heap32[(r6+28)] = heap32[(r4+11)];
+ heap32[(r6+29)] = heap32[(r4+12)];
+ heap32[(r6+30)] = heap32[(r4+13)];
+ heap32[(r6+31)] = heap32[(r4+14)];
+ heap32[(r6+32)] = heap32[(r4+15)];
+ heap32[(r6+33)] = heap32[(r3)];
+ heap32[(r6+34)] = heap32[(r3+1)];
+ heap32[(r6+35)] = heap32[(r3+2)];
+ heap32[(r6+36)] = heap32[(r3+3)];
+ heap32[(r6+37)] = heap32[(r3+4)];
+ heap32[(r6+38)] = heap32[(r3+5)];
+ heap32[(r6+39)] = heap32[(r3+6)];
+ heap32[(r6+40)] = heap32[(r3+7)];
+ heap32[(r6+41)] = heap32[(r3+8)];
+ heap32[(r6+42)] = heap32[(r3+9)];
+ heap32[(r6+43)] = heap32[(r3+10)];
+ heap32[(r6+44)] = heap32[(r3+11)];
+ heap32[(r6+45)] = heap32[(r3+12)];
+ heap32[(r6+46)] = heap32[(r3+13)];
+ heap32[(r6+47)] = heap32[(r3+14)];
+ heap32[(r6+48)] = heap32[(r3+15)];
+ r3 = sp + -152;
+ heap32[(r6+49)] = 0;
+ r4 = r3 >> 2;
+ heap32[(fp+-38)] = 1065353216;
+ heap32[(r4+1)] = r_g0;
+ heap32[(r4+18)] = r2;
+ heap32[(r4+19)] = heap32[(fp+-4)];
+ heap32[(r4+20)] = heap32[(r1+1)];
+ heap32[(r4+21)] = heap32[(r1+2)];
+ heap32[(r4+22)] = heap32[(r1+3)];
+ heap32[(r4+23)] = 0;
+ heap32[(r4+24)] = 0;
+ heap32[(r4+25)] = 1056964608;
+ heap32[(r4+26)] = 0;
+ heap32[(r4+27)] = 1061997773;
+ r1 = 0;
+ heap32[(r4+28)] = 1065353216;
+ heap8[sp+-36] = r1;
+ heap32[(r4+30)] = 1000593162;
+ heap32[(r4+31)] = 1008981770;
+ heap32[(r4+32)] = 1008981770;
+ heap32[(r4+33)] = 1008981770;
+ heap32[(r4+2)] = 1065353216;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+4)] = 0;
+ heap32[(r4+5)] = 0;
+ heap32[(r4+6)] = 0;
+ heap32[(r4+7)] = 1065353216;
+ heap32[(r4+8)] = 0;
+ heap32[(r4+9)] = 0;
+ heap32[(r4+10)] = 0;
+ heap32[(r4+11)] = 0;
+ heap32[(r4+12)] = 1065353216;
+ heap32[(r4+13)] = 0;
+ heap32[(r4+14)] = 0;
+ heap32[(r4+15)] = 0;
+ r2 = gNumAlignedAllocs;
+ heap32[(r4+16)] = 0;
+ r2 = r2 >> 2;
+ heap32[(r4+17)] = 0;
+ r4 = heap32[(r2)];
+ r4 = (r4 + 1)|0;
+ heap32[(r2)] = r4;
+ heap32[(g0)] = 627;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB25_6
+{
+ r4 = (r2 + 4)|0;
+ r1 = (r1 - r4)|0;
+ r1 = r1 & 15;
+ r1 = (r2 + r1)|0;
+ r4 = (r1 + 4)|0;
+ r1 = r1 >> 2;
+ heap32[(r1)] = r2;
+ r2 = r4;
+}
+ r1 = r2 >> 2;
+ heap32[(r1+41)] = 1065353216;
+ heap32[(r1+42)] = 1065353216;
+ heap32[(r1+43)] = 1065353216;
+ heap32[(r1+44)] = 0;
+ heap32[(r1+45)] = 0;
+ heap32[(r1+46)] = 1566444395;
+ heap32[(r1+47)] = 0;
+ heap32[(r1+48)] = 0;
+ heap32[(r1+49)] = 0;
+ heap32[(r1+50)] = 0;
+ heap32[(r1+51)] = 1;
+ heap32[(r1+52)] = -1;
+ heap32[(r1+53)] = -1;
+ heap32[(r1+54)] = 1;
+ heap32[(r1+55)] = 0;
+ heap32[(r1+56)] = 1056964608;
+ heap32[(r1+57)] = 0;
+ heap32[(r1+58)] = 1;
+ heap32[(r1+59)] = 0;
+ heap32[(r1+60)] = 1065353216;
+ heap32[(r1+61)] = 0;
+ heap32[(r1+62)] = 0;
+ heap32[(r1+63)] = 0;
+ heap32[(r1+1)] = 1065353216;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 0;
+ heap32[(r1+4)] = 0;
+ heap32[(r1+5)] = 0;
+ heap32[(r1+6)] = 1065353216;
+ heap32[(r1+7)] = 0;
+ heap32[(r1+8)] = 0;
+ heap32[(r1+9)] = 0;
+ heap32[(r1+10)] = 0;
+ heap32[(r1+11)] = 1065353216;
+ heap32[(r1+12)] = 0;
+ heap32[(r1+13)] = 0;
+ heap32[(r1+14)] = 0;
+ r4 = _ZTV11btRigidBody;
+ heap32[(r1+15)] = 0;
+ r4 = (r4 + 8)|0;
+ heap32[(r1+16)] = 0;
+ r5 = 1;
+ heap32[(r1)] = r4;
+ heap8[r2+492] = r5;
+ heap32[(r1+122)] = 0;
+ heap32[(r1+120)] = 0;
+ heap32[(r1+121)] = 0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ _ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(i7);
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+20)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r_g0 = r2;
+ return;
+}
+
+function _ZN13BenchmarkDemo11initPhysicsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+var __label__ = 0;
+ i7 = sp + -41432;var g0 = i7>>2; // save stack
+ heap32[(g0)] = 88;
+ _Znwj(i7);
+ r0 = r_g0;
+ r1 = _ZTV31btDefaultCollisionConfiguration;
+ r2 = gNumAlignedAllocs;
+ r3 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ r2 = r2 >> 2;
+ heap32[(r3)] = r1;
+ r1 = heap32[(r2)];
+ r3 = (r1 + 1)|0;
+ heap32[(r2)] = r3;
+ heap32[(g0)] = 379;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_2
+{
+ r4 = 0;
+ r5 = (r3 + 4)|0;
+ r4 = (r4 - r5)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r5 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r5;
+}
+ r4 = r3 >> 2;
+ heap32[(r4+77)] = 953267991;
+ r4 = heapU8[r3+332];
+ r4 = r4 & 240;
+ r5 = r0 >> 2;
+ heap8[r3+332] = r4;
+ r4 = (r1 + 2)|0;
+ heap32[(r5+8)] = r3;
+ heap32[(r2)] = r4;
+ heap32[(g0)] = 23;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_5
+{
+ r4 = 0;
+ r6 = (r3 + 4)|0;
+ r4 = (r4 - r6)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r6 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r6;
+}
+ r4 = _ZTV30btGjkEpaPenetrationDepthSolver;
+ r6 = r3 >> 2;
+ r4 = (r4 + 8)|0;
+ heap32[(r6)] = r4;
+ r4 = (r1 + 3)|0;
+ heap32[(r5+9)] = r3;
+ heap32[(r2)] = r4;
+ heap32[(g0)] = 43;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB26_8
+{
+ r3 = 0;
+ r6 = (r4 + 4)|0;
+ r3 = (r3 - r6)|0;
+ r3 = r3 & 15;
+ r3 = (r4 + r3)|0;
+ r6 = r3 >> 2;
+ heap32[(r6)] = r4;
+ r4 = (r3 + 4)|0;
+ r3 = heap32[(r5+9)];
+}
+ r6 = _ZTVN23btConvexConvexAlgorithm10CreateFuncE;
+ r7 = heap32[(r5+8)];
+ r8 = 0;
+ r9 = r4 >> 2;
+ r6 = (r6 + 8)|0;
+ heap8[r4+4] = r8;
+ heap32[(r9)] = r6;
+ heap32[(r9+4)] = 0;
+ heap32[(r9+5)] = 3;
+ heap32[(r9+3)] = r7;
+ heap32[(r9+2)] = r3;
+ r3 = (r1 + 4)|0;
+ heap32[(r5+10)] = r4;
+ heap32[(r2)] = r3;
+ heap32[(g0)] = 27;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_11
+{
+ r4 = (r3 + 4)|0;
+ r4 = (r8 - r4)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r6 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r6;
+}
+ r4 = _ZTVN33btConvexConcaveCollisionAlgorithm10CreateFuncE;
+ r6 = r3 >> 2;
+ r4 = (r4 + 8)|0;
+ heap8[r3+4] = r8;
+ heap32[(r6)] = r4;
+ r4 = (r1 + 5)|0;
+ heap32[(r5+11)] = r3;
+ heap32[(r2)] = r4;
+ heap32[(g0)] = 27;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_14
+{
+ r4 = (r3 + 4)|0;
+ r4 = (r8 - r4)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r6 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r6;
+}
+ r4 = _ZTVN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE;
+ r6 = r3 >> 2;
+ r4 = (r4 + 8)|0;
+ heap8[r3+4] = r8;
+ heap32[(r6)] = r4;
+ r4 = (r1 + 6)|0;
+ heap32[(r5+12)] = r3;
+ heap32[(r2)] = r4;
+ heap32[(g0)] = 27;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_17
+{
+ r4 = (r3 + 4)|0;
+ r4 = (r8 - r4)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r6 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r6;
+}
+ r4 = _ZTVN28btCompoundCollisionAlgorithm10CreateFuncE;
+ r6 = r3 >> 2;
+ r4 = (r4 + 8)|0;
+ heap8[r3+4] = r8;
+ heap32[(r6)] = r4;
+ r4 = (r1 + 7)|0;
+ heap32[(r5+13)] = r3;
+ heap32[(r2)] = r4;
+ heap32[(g0)] = 27;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_20
+{
+ r4 = (r3 + 4)|0;
+ r4 = (r8 - r4)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r6 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r6;
+}
+ r4 = _ZTVN28btCompoundCollisionAlgorithm17SwappedCreateFuncE;
+ r6 = r3 >> 2;
+ r4 = (r4 + 8)|0;
+ heap8[r3+4] = r8;
+ heap32[(r6)] = r4;
+ r4 = (r1 + 8)|0;
+ heap32[(r5+14)] = r3;
+ heap32[(r2)] = r4;
+ heap32[(g0)] = 27;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_23
+{
+ r4 = (r3 + 4)|0;
+ r4 = (r8 - r4)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r6 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r6;
+}
+ r4 = _ZTVN16btEmptyAlgorithm10CreateFuncE;
+ r6 = r3 >> 2;
+ r4 = (r4 + 8)|0;
+ heap8[r3+4] = r8;
+ heap32[(r6)] = r4;
+ r4 = (r1 + 9)|0;
+ heap32[(r5+15)] = r3;
+ heap32[(r2)] = r4;
+ heap32[(g0)] = 27;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_26
+{
+ r4 = (r3 + 4)|0;
+ r4 = (r8 - r4)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r6 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r6;
+}
+ r4 = _ZTVN32btSphereSphereCollisionAlgorithm10CreateFuncE;
+ r6 = r3 >> 2;
+ r4 = (r4 + 8)|0;
+ heap8[r3+4] = r8;
+ heap32[(r6)] = r4;
+ r4 = (r1 + 10)|0;
+ heap32[(r5+16)] = r3;
+ heap32[(r2)] = r4;
+ heap32[(g0)] = 27;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_29
+{
+ r4 = (r3 + 4)|0;
+ r4 = (r8 - r4)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r6 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r6;
+}
+ r4 = _ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE;
+ r6 = r3 >> 2;
+ r4 = (r4 + 8)|0;
+ heap8[r3+4] = r8;
+ heap32[(r6)] = r4;
+ r6 = (r1 + 11)|0;
+ heap32[(r5+18)] = r3;
+ heap32[(r2)] = r6;
+ heap32[(g0)] = 27;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_32
+{
+ r6 = (r3 + 4)|0;
+ r6 = (r8 - r6)|0;
+ r6 = r6 & 15;
+ r6 = (r3 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r3;
+ r3 = r7;
+}
+ r6 = r3 >> 2;
+ heap8[r3+4] = r8;
+ heap32[(r6)] = r4;
+ r4 = 1;
+ heap32[(r5+19)] = r3;
+ r6 = (r1 + 12)|0;
+ heap8[r3+4] = r4;
+ heap32[(r2)] = r6;
+ heap32[(g0)] = 27;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_35
+{
+ r6 = (r3 + 4)|0;
+ r6 = (r8 - r6)|0;
+ r6 = r6 & 15;
+ r6 = (r3 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r3;
+ r3 = r7;
+}
+ r6 = _ZTVN26btBoxBoxCollisionAlgorithm10CreateFuncE;
+ r7 = r3 >> 2;
+ r6 = (r6 + 8)|0;
+ heap8[r3+4] = r8;
+ heap32[(r7)] = r6;
+ r6 = (r1 + 13)|0;
+ heap32[(r5+17)] = r3;
+ heap32[(r2)] = r6;
+ heap32[(g0)] = 35;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_38
+{
+ r6 = (r3 + 4)|0;
+ r6 = (r8 - r6)|0;
+ r6 = r6 & 15;
+ r6 = (r3 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r3;
+ r3 = r7;
+}
+ r6 = _ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE;
+ r7 = r3 >> 2;
+ r6 = (r6 + 8)|0;
+ heap8[r3+4] = r8;
+ heap32[(r7)] = r6;
+ heap32[(r7+2)] = 1;
+ heap32[(r7+3)] = 1;
+ r7 = (r1 + 14)|0;
+ heap32[(r5+21)] = r3;
+ heap32[(r2)] = r7;
+ heap32[(g0)] = 35;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_41
+{
+ r7 = (r3 + 4)|0;
+ r7 = (r8 - r7)|0;
+ r7 = r7 & 15;
+ r7 = (r3 + r7)|0;
+ r9 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r3;
+ r3 = r9;
+}
+ r7 = r3 >> 2;
+ heap8[r3+4] = r8;
+ heap32[(r7)] = r6;
+ heap32[(r7+2)] = 1;
+ heap32[(r7+3)] = 1;
+ heap32[(r5+20)] = r3;
+ heap8[r3+4] = r4;
+ r3 = (r1 + 15)|0;
+ heap8[r0+12] = r4;
+ heap32[(r2)] = r3;
+ heap32[(g0)] = 39;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_44
+{
+ r6 = (r3 + 4)|0;
+ r6 = (r8 - r6)|0;
+ r6 = r6 & 15;
+ r6 = (r3 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r3;
+ r3 = r7;
+}
+ r6 = r3 >> 2;
+ heap32[(r6+1)] = 0;
+ heap32[(r6+3)] = 0;
+ heap8[r3+16] = r8;
+ heap32[(r6)] = 0;
+ r7 = (r1 + 16)|0;
+ heap32[(r6+2)] = 0;
+ heap32[(r2)] = r7;
+ heap32[(g0)] = 19;
+ malloc(i7);
+ r7 = r_g0;
+ if(r7 !=0) //_LBB26_47
+{
+ r9 = (r7 + 4)|0;
+ r9 = (r8 - r9)|0;
+ r9 = r9 & 15;
+ r9 = (r7 + r9)|0;
+ r10 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r7;
+ r7 = r10;
+}
+ heap32[(r6)] = r7;
+ heap32[(r6+1)] = 0;
+ heap32[(r5+2)] = r3;
+ r3 = (r1 + 17)|0;
+ heap8[r0+20] = r4;
+ heap32[(r2)] = r3;
+ heap32[(g0)] = 39;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_50
+{
+ r6 = (r3 + 4)|0;
+ r6 = (r8 - r6)|0;
+ r6 = r6 & 15;
+ r6 = (r3 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r3;
+ r3 = r7;
+}
+ r6 = r3 >> 2;
+ heap32[(r6)] = 1140;
+ r7 = (r1 + 18)|0;
+ heap32[(r6+1)] = 4096;
+ heap32[(r2)] = r7;
+ heap32[(g0)] = 4669459;
+ malloc(i7);
+ r7 = r_g0;
+ if(r7 !=0) //_LBB26_53
+{
+ r9 = (r7 + 4)|0;
+ r9 = (r8 - r9)|0;
+ r9 = r9 & 15;
+ r9 = (r7 + r9)|0;
+ r10 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r7;
+ r7 = r10;
+}
+ heap32[(r6+4)] = r7;
+ r9 = 4095;
+ r10 = 1140;
+ heap32[(r6+3)] = r7;
+ heap32[(r6+2)] = 4096;
+ r11 = r7;
+_55: while(true){
+ r7 = r7 >> 2;
+ r10 = (r11 + r10)|0;
+ heap32[(r7)] = r10;
+ r10 = heap32[(r6)];
+ r7 = (r11 + r10)|0;
+ r9 = (r9 + -1)|0;
+ r11 = r7;
+ if(r9 !=0) //_LBB26_55
+{
+continue _55;
+}
+else{
+break _55;
+}
+}
+ r6 = r7 >> 2;
+ heap32[(r6)] = 0;
+ heap32[(r5+4)] = r3;
+ r3 = (r1 + 19)|0;
+ heap8[r0+28] = r4;
+ heap32[(r2)] = r3;
+ heap32[(g0)] = 39;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_58
+{
+ r6 = (r3 + 4)|0;
+ r6 = (r8 - r6)|0;
+ r6 = r6 & 15;
+ r6 = (r3 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r3;
+ r3 = r7;
+}
+ r6 = r3 >> 2;
+ heap32[(r6)] = 80;
+ r1 = (r1 + 20)|0;
+ heap32[(r6+1)] = 4096;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = 327699;
+ malloc(i7);
+ r1 = r_g0;
+ if(r1 !=0) //_LBB26_61
+{
+ r7 = (r1 + 4)|0;
+ r7 = (r8 - r7)|0;
+ r7 = r7 & 15;
+ r7 = (r1 + r7)|0;
+ r9 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r1;
+ r1 = r9;
+}
+ heap32[(r6+4)] = r1;
+ r7 = 4095;
+ r9 = 80;
+ heap32[(r6+3)] = r1;
+ heap32[(r6+2)] = 4096;
+ r10 = r1;
+_64: while(true){
+ r1 = r1 >> 2;
+ r9 = (r10 + r9)|0;
+ heap32[(r1)] = r9;
+ r9 = heap32[(r6)];
+ r1 = (r10 + r9)|0;
+ r7 = (r7 + -1)|0;
+ r10 = r1;
+ if(r7 !=0) //_LBB26_63
+{
+continue _64;
+}
+else{
+break _64;
+}
+}
+ r1 = r1 >> 2;
+ r6 = _ZL14benchmarkDemo4;
+ heap32[(r1)] = 0;
+ r1 = r6 >> 2;
+ heap32[(r5+6)] = r3;
+ heap32[(r1+16)] = r0;
+ heap32[(g0)] = 5388;
+ _Znwj(i7);
+ r0 = r_g0;
+ r3 = _ZTV21btCollisionDispatcher;
+ r5 = heap32[(r1+16)];
+ r3 = (r3 + 8)|0;
+ r7 = r0 >> 2;
+ heap32[(r7)] = r3;
+ heap32[(r7+1)] = 2;
+ heap8[r0+24] = r4;
+ heap32[(r7+5)] = 0;
+ r3 = _ZTV16btManifoldResult;
+ heap32[(r7+3)] = 0;
+ r3 = (r3 + 8)|0;
+ heap32[(r7+4)] = 0;
+ heap32[(r7+7)] = r3;
+ r3 = _ZN21btCollisionDispatcher19defaultNearCallbackER16btBroadphasePairRS_RK16btDispatcherInfo__index__;
+ heap32[(r7+1346)] = r5;
+ heap32[(r7+47)] = r3;
+ r3 = r5 >> 2;
+ r9 = heap32[(r3)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+3)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ heap32[(r7+48)] = r_g0;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+2)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r5 = (r0 + 200)|0;
+ heap32[(r7+49)] = r_g0;
+_67: while(true){
+ if(r8 >35) //_LBB26_72
+{
+__label__ = 52;
+break _67;
+}
+else{
+ r3 = 0;
+_70: while(true){
+ if(r3 <36) //_LBB26_65
+{
+ r7 = r0 >> 2;
+ r7 = heap32[(r7+1346)];
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+5)];
+ r10 = r3 << 2;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r3;
+ r7 = (r5 + r10)|0;
+ r7 = r7 >> 2;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r9 = r_g0;
+ heap32[(r7)] = r9;
+ if(r9 !=0) //_LBB26_67
+{
+ r3 = (r3 + 1)|0;
+}
+else{
+__label__ = 46;
+break _67;
+}
+}
+else{
+break _70;
+}
+}
+ r8 = (r8 + 1)|0;
+ r5 = (r5 + 144)|0;
+continue _67;
+}
+}
+switch(__label__ ){//multiple entries
+case 52:
+ heap32[(r1+14)] = r0;
+ heap32[(g0)] = 76;
+ _Znwj(i7);
+ r0 = r_g0;
+ heap32[(g0)] = r0;
+ _ZN28btHashedOverlappingPairCacheC1Ev(i7);
+ r3 = heap32[(r2)];
+ r5 = (r3 + 1)|0;
+ heap32[(r2)] = r5;
+ heap32[(g0)] = 135;
+ malloc(i7);
+ r7 = r_g0;
+ if(r7 !=0) //_LBB26_74
+{
+ r8 = 0;
+ r9 = (r7 + 4)|0;
+ r8 = (r8 - r9)|0;
+ r8 = r8 & 15;
+ r8 = (r7 + r8)|0;
+ r9 = (r8 + 4)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r7;
+ r7 = r9;
+}
+ r8 = _ZTV20btAxisSweep3InternalItE;
+ r9 = r7 >> 2;
+ r8 = (r8 + 8)|0;
+ r10 = -2;
+ heap32[(r9)] = r8;
+ r8 = -1;
+ heap16[(r7+4)>>1] = r10;
+ heap16[(r7+6)>>1] = r8;
+ heap32[(r9+23)] = r0;
+ r8 = 0;
+ heap32[(r9+24)] = 0;
+ heap8[r7+100] = r8;
+ heap32[(r9+26)] = 0;
+ heap32[(r9+27)] = 0;
+ if(r0 ==0) //_LBB26_77
+{
+ r5 = (r3 + 2)|0;
+ heap32[(r2)] = r5;
+ heap32[(g0)] = 95;
+ malloc(i7);
+ r5 = r_g0;
+ if(r5 !=0) //_LBB26_79
+{
+ r0 = 0;
+ r3 = (r5 + 4)|0;
+ r0 = (r0 - r3)|0;
+ r0 = r0 & 15;
+ r0 = (r5 + r0)|0;
+ r3 = (r0 + 4)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r5;
+ r5 = r3;
+}
+ heap32[(g0)] = r5;
+ _ZN28btHashedOverlappingPairCacheC1Ev(i7);
+ heap32[(r9+23)] = r5;
+ heap8[r7+100] = r4;
+ r5 = heap32[(r2)];
+}
+ r0 = (r5 + 1)|0;
+ heap32[(r2)] = r0;
+ heap32[(g0)] = 43;
+ malloc(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB26_83
+{
+ r3 = (r0 + 4)|0;
+ r3 = (r8 - r3)|0;
+ r3 = r3 & 15;
+ r3 = (r0 + r3)|0;
+ r10 = (r3 + 4)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r0;
+ r0 = r10;
+}
+ r3 = _ZTV15btNullPairCache;
+ r10 = r0 >> 2;
+ r3 = (r3 + 8)|0;
+ heap32[(r10)] = r3;
+ heap8[r0+20] = r4;
+ heap32[(r10+4)] = 0;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ r3 = (r5 + 2)|0;
+ heap32[(r9+28)] = r0;
+ heap32[(r2)] = r3;
+ heap32[(g0)] = 175;
+ malloc(i7);
+ r10 = r_g0;
+ if(r10 !=0) //_LBB26_86
+{
+ r11 = (r10 + 4)|0;
+ r11 = (r8 - r11)|0;
+ r11 = r11 & 15;
+ r11 = (r10 + r11)|0;
+ r12 = (r11 + 4)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = r10;
+ r10 = r12;
+}
+ r11 = _ZTV16btDbvtBroadphase;
+ r12 = r10 >> 2;
+ r11 = (r11 + 8)|0;
+ heap32[(r12)] = r11;
+_92: while(true){
+ r11 = (r10 + r8)|0;
+ r13 = r11 >> 2;
+ heap8[r11+40] = r4;
+ heap32[(r13+9)] = 0;
+ heap32[(r13+7)] = 0;
+ heap32[(r13+8)] = 0;
+ heap32[(r13+1)] = 0;
+ heap32[(r13+2)] = 0;
+ heap32[(r13+3)] = -1;
+ r8 = (r8 + 40)|0;
+ heap32[(r13+4)] = 0;
+ heap32[(r13+5)] = 0;
+ if(r8 !=80) //_LBB26_88
+{
+continue _92;
+}
+else{
+break _92;
+}
+}
+ r8 = 0;
+ r11 = r0 == r8;
+ heap8[r10+153] = r8;
+ r11 = r11 & 1;
+ heap8[r10+154] = r4;
+ heap8[r10+152] = r11;
+ heap32[(r12+25)] = 0;
+ heap32[(r12+26)] = 0;
+ heap32[(r12+31)] = 0;
+ heap32[(r12+27)] = 1;
+ heap32[(r12+28)] = 0;
+ heap32[(r12+29)] = 10;
+ heap32[(r12+30)] = 1;
+ heap32[(r12+32)] = 0;
+ heap32[(r12+33)] = 0;
+ heap32[(r12+34)] = 0;
+ if(r0 ==0) //_LBB26_91
+{
+ r0 = (r5 + 3)|0;
+ heap32[(r2)] = r0;
+ heap32[(g0)] = 95;
+ malloc(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB26_93
+{
+ r3 = 0;
+ r5 = (r0 + 4)|0;
+ r3 = (r3 - r5)|0;
+ r3 = r3 & 15;
+ r3 = (r0 + r3)|0;
+ r5 = (r3 + 4)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r0;
+ r0 = r5;
+}
+ heap32[(g0)] = r0;
+ _ZN28btHashedOverlappingPairCacheC1Ev(i7);
+ r3 = heap32[(r2)];
+}
+ heap32[(r12+24)] = r0;
+ heap32[(r12+37)] = 0;
+ heap32[(r12+35)] = 0;
+ heap32[(r12+36)] = 0;
+ heap32[(r12+21)] = 0;
+ heap32[(r12+22)] = 0;
+ heap32[(r12+23)] = 0;
+ heap32[(r9+27)] = r10;
+ heap8[r10+153] = r4;
+ heap32[(r9+2)] = -998637568;
+ heap32[(r9+3)] = -998637568;
+ heap32[(r9+4)] = -998637568;
+ heap32[(r9+5)] = 0;
+ heap32[(r9+6)] = 1148846080;
+ heap32[(r9+7)] = 1148846080;
+ heap32[(r9+8)] = 1148846080;
+ heap32[(r9+9)] = 0;
+ r0 = heapU16[(r7+6)>>1];
+ f0 = uint(r0); //fuitos r0, f0
+ f1 = 2000;
+ f0 = f0/f1;
+ heapFloat[(r9+10)] = f0;
+ heapFloat[(r9+11)] = f0;
+ heapFloat[(r9+12)] = f0;
+ r0 = (r3 + 1)|0;
+ heap32[(r9+13)] = 0;
+ heap32[(r2)] = r0;
+ heap32[(g0)] = 224083;
+ malloc(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB26_97
+{
+ r5 = (r0 + 4)|0;
+ r5 = (r8 - r5)|0;
+ r5 = r5 & 15;
+ r5 = (r0 + r5)|0;
+ r10 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r0;
+ r0 = r10;
+}
+_103: while(true){
+ r5 = r8 << 6;
+ r5 = (r0 - r5)|0;
+ r5 = r5 >> 2;
+ r8 = (r8 + -1)|0;
+ heap32[(r5)] = 0;
+ heap32[(r5+2)] = 0;
+ if(r8 !=-3501) //_LBB26_98
+{
+continue _103;
+}
+else{
+break _103;
+}
+}
+ r5 = 3501;
+ heap32[(r9+15)] = r0;
+ r8 = 0;
+ heap16[(r7+58)>>1] = r5;
+ r5 = -112;
+ r10 = 2;
+ heap16[(r7+56)>>1] = r8;
+ heap16[(r7+64)>>1] = r4;
+_106: while(true){
+ r0 = (r0 - r5)|0;
+ heap16[(r0)>>1] = r10;
+ r5 = (r5 + -64)|0;
+ r0 = heap32[(r9+15)];
+ r10 = (r10 + 1)|0;
+ if(r5 !=-224112) //_LBB26_100
+{
+continue _106;
+}
+else{
+break _106;
+}
+}
+ r3 = (r3 + 2)|0;
+ heap16[(r0+224048)>>1] = r8;
+_109: while(true){
+ r0 = (r3 + r8)|0;
+ heap32[(r2)] = r0;
+ heap32[(g0)] = 28027;
+ malloc(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB26_104
+{
+ r5 = 0;
+ r10 = (r0 + 4)|0;
+ r5 = (r5 - r10)|0;
+ r5 = r5 & 15;
+ r5 = (r0 + r5)|0;
+ r10 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r0;
+ r0 = r10;
+}
+ r5 = r8 << 2;
+ r5 = (r7 + r5)|0;
+ r5 = r5 >> 2;
+ r8 = (r8 + 1)|0;
+ heap32[(r5+20)] = r0;
+ heap32[(r5+17)] = r0;
+ if(r8 !=3) //_LBB26_102
+{
+continue _109;
+}
+else{
+break _109;
+}
+}
+ r0 = heap32[(r9+15)];
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+ r0 = heap32[(r9+15)];
+ r3 = 0;
+ heap16[(r0+48)>>1] = r3;
+ r0 = heap32[(r9+15)];
+ heap16[(r0+54)>>1] = r4;
+ r0 = heap32[(r9+17)];
+ heap16[(r0)>>1] = r3;
+ r0 = heap32[(r9+17)];
+ heap16[(r0+2)>>1] = r3;
+ r0 = heap32[(r9+17)];
+ r5 = heapU16[(r7+6)>>1];
+ heap16[(r0+4)>>1] = r5;
+ r0 = heap32[(r9+17)];
+ heap16[(r0+6)>>1] = r3;
+ r0 = heap32[(r9+15)];
+ heap16[(r0+50)>>1] = r3;
+ r0 = heap32[(r9+15)];
+ heap16[(r0+56)>>1] = r4;
+ r0 = heap32[(r9+18)];
+ heap16[(r0)>>1] = r3;
+ r0 = heap32[(r9+18)];
+ heap16[(r0+2)>>1] = r3;
+ r0 = heap32[(r9+18)];
+ r5 = heapU16[(r7+6)>>1];
+ heap16[(r0+4)>>1] = r5;
+ r0 = heap32[(r9+18)];
+ heap16[(r0+6)>>1] = r3;
+ r0 = heap32[(r9+15)];
+ heap16[(r0+52)>>1] = r3;
+ r0 = heap32[(r9+15)];
+ heap16[(r0+58)>>1] = r4;
+ r0 = heap32[(r9+19)];
+ heap16[(r0)>>1] = r3;
+ r0 = heap32[(r9+19)];
+ heap16[(r0+2)>>1] = r3;
+ r0 = heap32[(r9+19)];
+ r5 = heapU16[(r7+6)>>1];
+ heap16[(r0+4)>>1] = r5;
+ r0 = heap32[(r9+19)];
+ r5 = _ZTV12btAxisSweep3;
+ r5 = (r5 + 8)|0;
+ heap16[(r0+6)>>1] = r3;
+ heap32[(r9)] = r5;
+ heap32[(r1+13)] = r7;
+ heap32[(g0)] = 128;
+ r0 = _ZTV35btSequentialImpulseConstraintSolver;
+ _Znwj(i7);
+ r7 = r_g0 >> 2;
+ r0 = (r0 + 8)|0;
+ heap32[(r7)] = r0;
+ heap8[r_g0+20] = r4;
+ heap32[(r7+4)] = 0;
+ heap32[(r7+2)] = 0;
+ heap32[(r7+3)] = 0;
+ heap8[r_g0+40] = r4;
+ heap32[(r7+9)] = 0;
+ heap32[(r7+7)] = 0;
+ heap32[(r7+8)] = 0;
+ heap8[r_g0+60] = r4;
+ heap32[(r7+14)] = 0;
+ heap32[(r7+12)] = 0;
+ heap32[(r7+13)] = 0;
+ heap8[r_g0+80] = r4;
+ heap32[(r7+19)] = 0;
+ heap32[(r7+17)] = 0;
+ heap32[(r7+18)] = 0;
+ heap8[r_g0+100] = r4;
+ heap32[(r7+24)] = 0;
+ heap32[(r7+22)] = 0;
+ heap32[(r7+23)] = 0;
+ heap8[r_g0+120] = r4;
+ heap32[(r7+29)] = 0;
+ heap32[(r7+27)] = 0;
+ heap32[(r7+28)] = 0;
+ heap32[(r7+31)] = 0;
+ heap32[(r1+15)] = r_g0;
+ heap32[(g0)] = 272;
+ _Znwj(i7);
+ r5 = r_g0;
+ r7 = heap32[(r1+16)];
+ r8 = _ZTV16btCollisionWorld;
+ r9 = heap32[(r1+15)];
+ r10 = heap32[(r1+13)];
+ r11 = heap32[(r1+14)];
+ r8 = (r8 + 8)|0;
+ r12 = r5 >> 2;
+ heap32[(r12)] = r8;
+ heap8[r5+20] = r4;
+ heap32[(r12+4)] = 0;
+ heap32[(r12+2)] = 0;
+ heap32[(r12+3)] = 0;
+ heap32[(r12+6)] = r11;
+ heap32[(r12+7)] = 0;
+ heap32[(r12+8)] = 0;
+ heap32[(r12+9)] = 1;
+ heap32[(r12+10)] = 1065353216;
+ heap8[r5+44] = r3;
+ heap32[(r12+12)] = 0;
+ heap8[r5+52] = r3;
+ heap8[r5+53] = r4;
+ heap8[r5+54] = r4;
+ heap32[(r12+14)] = 1025758986;
+ heap8[r5+60] = r3;
+ heap32[(r12+16)] = 0;
+ heap8[r5+68] = r3;
+ heap32[(r12+18)] = 0;
+ heap32[(r12+20)] = r10;
+ heap32[(r12+21)] = 0;
+ r8 = r7 >> 2;
+ heap8[r5+88] = r4;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r7;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ heap32[(r12+19)] = r_g0;
+ heap32[(r12+18)] = r_g0;
+ heap32[(r12+23)] = 0;
+ heap32[(r12+24)] = 0;
+ heap32[(r12+25)] = 0;
+ heap32[(r12+26)] = 1058642330;
+ heap32[(r12+27)] = 1065353216;
+ heap32[(r12+28)] = 1050253722;
+ heap32[(r12+30)] = 0;
+ heap32[(r12+32)] = 1101004800;
+ heap32[(r12+31)] = 10;
+ heap32[(r12+34)] = 1045220557;
+ heap32[(r12+35)] = 1036831949;
+ heap32[(r12+36)] = 0;
+ heap32[(r12+33)] = 1065353216;
+ heap32[(r12+37)] = 0;
+ heap32[(r12+38)] = -1130113270;
+ heap32[(r12+39)] = 0;
+ heap32[(r12+40)] = 1062836634;
+ heap32[(r12+41)] = 260;
+ r7 = _ZTV23btDiscreteDynamicsWorld;
+ heap32[(r12+42)] = 2;
+ r7 = (r7 + 8)|0;
+ heap32[(r12+43)] = 128;
+ heap32[(r12)] = r7;
+ heap32[(r12+44)] = r9;
+ heap8[r5+200] = r4;
+ heap32[(r12+49)] = 0;
+ heap32[(r12+47)] = 0;
+ heap32[(r12+48)] = 0;
+ heap8[r5+220] = r4;
+ heap32[(r12+54)] = 0;
+ heap32[(r12+52)] = 0;
+ heap32[(r12+53)] = 0;
+ heap32[(r12+56)] = 0;
+ heap32[(r12+57)] = -1054867456;
+ heap32[(r12+58)] = 0;
+ heap32[(r12+59)] = 0;
+ heap32[(r12+60)] = 0;
+ heap8[r5+246] = r3;
+ heap8[r5+264] = r4;
+ heap32[(r12+65)] = 0;
+ heap32[(r12+63)] = 0;
+ heap32[(r12+64)] = 0;
+ heap32[(r12+67)] = 0;
+ if(r9 !=0) //_LBB26_111
+{
+ heap8[r5+245] = r3;
+ r7 = heap32[(r2)];
+}
+else{
+ r7 = heap32[(r2)];
+ r7 = (r7 + 1)|0;
+ heap32[(r2)] = r7;
+ heap32[(g0)] = 147;
+ malloc(i7);
+ r8 = r_g0;
+ if(r8 !=0) //_LBB26_109
+{
+ r9 = 0;
+ r10 = (r8 + 4)|0;
+ r9 = (r9 - r10)|0;
+ r9 = r9 & 15;
+ r9 = (r8 + r9)|0;
+ r10 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r8;
+ r8 = r10;
+}
+ r9 = r8 >> 2;
+ heap32[(r9)] = r0;
+ heap8[r8+20] = r4;
+ heap32[(r9+4)] = 0;
+ heap32[(r9+2)] = 0;
+ heap32[(r9+3)] = 0;
+ heap8[r8+40] = r4;
+ heap32[(r9+9)] = 0;
+ heap32[(r9+7)] = 0;
+ heap32[(r9+8)] = 0;
+ heap8[r8+60] = r4;
+ heap32[(r9+14)] = 0;
+ heap32[(r9+12)] = 0;
+ heap32[(r9+13)] = 0;
+ heap8[r8+80] = r4;
+ heap32[(r9+19)] = 0;
+ heap32[(r9+17)] = 0;
+ heap32[(r9+18)] = 0;
+ heap8[r8+100] = r4;
+ heap32[(r9+24)] = 0;
+ heap32[(r9+22)] = 0;
+ heap32[(r9+23)] = 0;
+ heap8[r8+120] = r4;
+ heap32[(r9+29)] = 0;
+ heap32[(r9+27)] = 0;
+ heap32[(r9+28)] = 0;
+ r0 = r5 >> 2;
+ heap32[(r9+31)] = 0;
+ heap32[(r0+44)] = r8;
+ heap8[r5+245] = r4;
+}
+ r0 = (r7 + 1)|0;
+ heap32[(r2)] = r0;
+ heap32[(g0)] = 87;
+ malloc(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB26_114
+{
+ r7 = (r0 + 4)|0;
+ r7 = (r3 - r7)|0;
+ r7 = r7 & 15;
+ r7 = (r0 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r0;
+ r0 = r8;
+}
+ r7 = _ZTV25btSimulationIslandManager;
+ r8 = r0 >> 2;
+ r7 = (r7 + 8)|0;
+ heap32[(r8)] = r7;
+ heap8[r0+20] = r4;
+ heap32[(r8+4)] = 0;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 0;
+ heap8[r0+40] = r4;
+ heap32[(r8+9)] = 0;
+ heap32[(r8+7)] = 0;
+ heap32[(r8+8)] = 0;
+ heap8[r0+60] = r4;
+ heap32[(r8+14)] = 0;
+ heap32[(r8+12)] = 0;
+ heap32[(r8+13)] = 0;
+ r7 = r5 >> 2;
+ heap8[r0+64] = r4;
+ heap32[(r7+45)] = r0;
+ heap8[r5+244] = r4;
+ heap32[(r1+1)] = r5;
+ r0 = heap32[(r7+41)];
+ r0 = r0 | 32;
+ heap32[(r7+41)] = r0;
+ heap32[(r7+31)] = 5;
+ heap32[(r1+2)] = 0;
+ r0 = heap32[(r1+1)];
+ r5 = r0 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+17)];
+ r7 = sp + -41280;
+ r8 = r7 >> 2;
+ heap32[(fp+-10320)] = 0;
+ heap32[(r8+1)] = -1054867456;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r0 = heap32[(r1+17)];
+ if(r0 <5) //_LBB26_117
+{
+ r0 = heap32[(r2)];
+ r5 = (r0 + 1)|0;
+ heap32[(r2)] = r5;
+ heap32[(g0)] = 71;
+ malloc(i7);
+ r5 = r_g0;
+ if(r5 !=0) //_LBB26_119
+{
+ r7 = 0;
+ r8 = (r5 + 4)|0;
+ r7 = (r7 - r8)|0;
+ r7 = r7 & 15;
+ r7 = (r5 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r5;
+ r5 = r8;
+}
+ r7 = r5 >> 2;
+ heap32[(r7+2)] = 0;
+ heap32[(r7+3)] = 1065353216;
+ heap32[(r7+4)] = 1065353216;
+ heap32[(r7+5)] = 1065353216;
+ r8 = _ZTV10btBoxShape;
+ heap32[(r7+6)] = 0;
+ r8 = (r8 + 8)|0;
+ heap32[(r7+11)] = 1025758986;
+ heap32[(r7)] = r8;
+ heap32[(r7+1)] = 0;
+ heap32[(r7+7)] = 1132066243;
+ heap32[(r7+8)] = 1112004362;
+ heap32[(r7+9)] = 1132066243;
+ heap32[(r7+10)] = 0;
+ r7 = heap32[(r1+5)];
+ r8 = heap32[(r1+4)];
+ if(r7 ==r8) //_LBB26_122
+{
+ r9 = r8 << 1;
+ r9 = r8 == 0 ? r4 : r9;
+if(!(r7 >=r9)) //_LBB26_121
+{
+ if(r9 !=0) //_LBB26_125
+{
+ r7 = r9 << 2;
+ r0 = (r0 + 2)|0;
+ r7 = r7 | 3;
+ heap32[(r2)] = r0;
+ r0 = (r7 + 16)|0;
+ heap32[(g0)] = r0;
+ malloc(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB26_127
+{
+ r7 = 0;
+ r10 = (r0 + 4)|0;
+ r7 = (r7 - r10)|0;
+ r7 = r7 & 15;
+ r7 = (r0 + r7)|0;
+ r10 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r0;
+ r0 = r10;
+}
+}
+else{
+ r0 = 0;
+}
+_138: do {
+ if(r8 <1) //_LBB26_130
+{
+ r10 = heap32[(r1+6)];
+}
+else{
+ r7 = 0;
+_141: while(true){
+ r10 = heap32[(r1+6)];
+ r11 = r7 << 2;
+ r12 = (r10 + r11)|0;
+ r12 = r12 >> 2;
+ r11 = (r0 + r11)|0;
+ r12 = heap32[(r12)];
+ r7 = (r7 + 1)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = r12;
+if(!(r8 !=r7)) //_LBB26_131
+{
+break _138;
+}
+}
+}
+} while(0);
+ if(r10 !=0) //_LBB26_134
+{
+ r7 = heapU8[r6+28];
+ if(r7 !=0) //_LBB26_136
+{
+ r8 = gNumAlignedFree;
+ r8 = r8 >> 2;
+ r7 = heap32[(r8)];
+ r7 = (r7 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r8)] = r7;
+ r8 = heap32[(r10+-1)];
+ heap32[(g0)] = r8;
+ free(i7);
+ r8 = heap32[(r1+4)];
+}
+ heap32[(r1+6)] = 0;
+}
+ heap8[r6+28] = r4;
+ heap32[(r1+6)] = r0;
+ heap32[(r1+5)] = r9;
+}
+}
+ r0 = r8 << 2;
+ r7 = heap32[(r1+6)];
+ r0 = (r7 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r5;
+ r0 = heap32[(r1+4)];
+ r0 = (r0 + 1)|0;
+ r7 = _ZGVZN11btTransform11getIdentityEvE17identityTransform;
+ heap32[(r1+4)] = r0;
+ r0 = heapU8[r7];
+if(!(r0 !=0)) //_LBB26_143
+{
+ r0 = _ZGVZN11btMatrix3x311getIdentityEvE14identityMatrix;
+ r8 = heapU8[r0];
+if(!(r8 !=0)) //_LBB26_142
+{
+ r8 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_0_2E_0_2E_0;
+ r9 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_1_2E_0_2E_1;
+ r8 = r8 >> 2;
+ r10 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_2_2E_0_2E_2;
+ r9 = r9 >> 2;
+ heap32[(r8)] = 1065353216;
+ r8 = r10 >> 2;
+ heap32[(r9)] = 1065353216;
+ heap32[(r8)] = 1065353216;
+ heap8[r0] = r4;
+}
+ r0 = _ZZN11btTransform11getIdentityEvE17identityTransform;
+ r8 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_0_2E_0_2E_0;
+ r0 = r0 >> 2;
+ r8 = r8 >> 2;
+ heap32[(r0)] = heap32[(r8)];
+ heap32[(r0+1)] = 0;
+ heap32[(r0+2)] = 0;
+ r8 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_1_2E_0_2E_1;
+ heap32[(r0+3)] = 0;
+ r8 = r8 >> 2;
+ heap32[(r0+4)] = 0;
+ heap32[(r0+5)] = heap32[(r8)];
+ heap32[(r0+6)] = 0;
+ heap32[(r0+7)] = 0;
+ r8 = _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_2_2E_0_2E_2;
+ heap32[(r0+8)] = 0;
+ r8 = r8 >> 2;
+ heap32[(r0+9)] = 0;
+ heap32[(r0+10)] = heap32[(r8)];
+ heap32[(r0+11)] = 0;
+ heap32[(r0+12)] = 0;
+ heap32[(r0+13)] = 0;
+ heap32[(r0+14)] = 0;
+ heap32[(r0+15)] = 0;
+ heap8[r7] = r4;
+}
+ heap32[(g0)] = 200;
+ r0 = _ZTV20btDefaultMotionState;
+ _Znwj(i7);
+ r8 = r_g0 >> 2;
+ r0 = (r0 + 8)|0;
+ heap32[(r8)] = r0;
+ heap32[(r8+1)] = 1065353216;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 0;
+ heap32[(r8+4)] = 0;
+ heap32[(r8+5)] = 0;
+ heap32[(r8+6)] = 1065353216;
+ heap32[(r8+7)] = 0;
+ heap32[(r8+8)] = 0;
+ heap32[(r8+9)] = 0;
+ heap32[(r8+10)] = 0;
+ heap32[(r8+11)] = 1065353216;
+ heap32[(r8+12)] = 0;
+ heap32[(r8+13)] = 0;
+ heap32[(r8+14)] = -1035468800;
+ r0 = _ZZN11btTransform11getIdentityEvE17identityTransform;
+ heap32[(r8+15)] = 0;
+ r0 = r0 >> 2;
+ heap32[(r8+16)] = 0;
+ heap32[(r8+17)] = heap32[(r0)];
+ heap32[(r8+18)] = heap32[(r0+1)];
+ heap32[(r8+19)] = heap32[(r0+2)];
+ heap32[(r8+20)] = heap32[(r0+3)];
+ heap32[(r8+21)] = heap32[(r0+4)];
+ heap32[(r8+22)] = heap32[(r0+5)];
+ heap32[(r8+23)] = heap32[(r0+6)];
+ heap32[(r8+24)] = heap32[(r0+7)];
+ heap32[(r8+25)] = heap32[(r0+8)];
+ heap32[(r8+26)] = heap32[(r0+9)];
+ heap32[(r8+27)] = heap32[(r0+10)];
+ heap32[(r8+28)] = heap32[(r0+11)];
+ heap32[(r8+29)] = heap32[(r0+12)];
+ heap32[(r8+30)] = heap32[(r0+13)];
+ heap32[(r8+31)] = heap32[(r0+14)];
+ heap32[(r8+32)] = heap32[(r0+15)];
+ heap32[(r8+33)] = 1065353216;
+ heap32[(r8+34)] = 0;
+ heap32[(r8+35)] = 0;
+ heap32[(r8+36)] = 0;
+ heap32[(r8+37)] = 0;
+ heap32[(r8+38)] = 1065353216;
+ heap32[(r8+39)] = 0;
+ heap32[(r8+40)] = 0;
+ heap32[(r8+41)] = 0;
+ heap32[(r8+42)] = 0;
+ heap32[(r8+43)] = 1065353216;
+ heap32[(r8+44)] = 0;
+ heap32[(r8+45)] = 0;
+ heap32[(r8+46)] = -1035468800;
+ heap32[(r8+47)] = 0;
+ heap32[(r8+48)] = 0;
+ r0 = sp + -41416;
+ heap32[(r8+49)] = 0;
+ r8 = r0 >> 2;
+ heap32[(fp+-10354)] = 0;
+ heap32[(r8+1)] = r_g0;
+ heap32[(r8+18)] = r5;
+ heap32[(r8+19)] = 0;
+ heap32[(r8+20)] = 0;
+ heap32[(r8+21)] = 0;
+ heap32[(r8+22)] = 0;
+ heap32[(r8+23)] = 0;
+ heap32[(r8+24)] = 0;
+ heap32[(r8+25)] = 1056964608;
+ heap32[(r8+26)] = 0;
+ heap32[(r8+27)] = 1061997773;
+ r5 = 0;
+ heap32[(r8+28)] = 1065353216;
+ heap8[sp+-41300] = r5;
+ heap32[(r8+30)] = 1000593162;
+ heap32[(r8+31)] = 1008981770;
+ heap32[(r8+32)] = 1008981770;
+ heap32[(r8+33)] = 1008981770;
+ heap32[(r8+2)] = 1065353216;
+ heap32[(r8+3)] = 0;
+ heap32[(r8+4)] = 0;
+ heap32[(r8+5)] = 0;
+ heap32[(r8+6)] = 0;
+ heap32[(r8+7)] = 1065353216;
+ heap32[(r8+8)] = 0;
+ heap32[(r8+9)] = 0;
+ heap32[(r8+10)] = 0;
+ heap32[(r8+11)] = 0;
+ heap32[(r8+12)] = 1065353216;
+ heap32[(r8+13)] = 0;
+ heap32[(r8+14)] = 0;
+ heap32[(r8+15)] = 0;
+ heap32[(r8+16)] = 0;
+ heap32[(r8+17)] = 0;
+ r7 = heap32[(r2)];
+ r7 = (r7 + 1)|0;
+ heap32[(r2)] = r7;
+ heap32[(g0)] = 627;
+ malloc(i7);
+ r7 = r_g0;
+ if(r7 !=0) //_LBB26_145
+{
+ r8 = (r7 + 4)|0;
+ r5 = (r5 - r8)|0;
+ r5 = r5 & 15;
+ r5 = (r7 + r5)|0;
+ r8 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r7;
+ r7 = r8;
+}
+ r5 = r7 >> 2;
+ heap32[(r5+41)] = 1065353216;
+ heap32[(r5+42)] = 1065353216;
+ heap32[(r5+43)] = 1065353216;
+ heap32[(r5+44)] = 0;
+ heap32[(r5+45)] = 0;
+ heap32[(r5+46)] = 1566444395;
+ heap32[(r5+47)] = 0;
+ heap32[(r5+48)] = 0;
+ heap32[(r5+49)] = 0;
+ heap32[(r5+50)] = 0;
+ heap32[(r5+51)] = 1;
+ heap32[(r5+52)] = -1;
+ heap32[(r5+53)] = -1;
+ heap32[(r5+54)] = 1;
+ heap32[(r5+55)] = 0;
+ heap32[(r5+56)] = 1056964608;
+ heap32[(r5+57)] = 0;
+ heap32[(r5+58)] = 1;
+ heap32[(r5+59)] = 0;
+ heap32[(r5+60)] = 1065353216;
+ heap32[(r5+61)] = 0;
+ heap32[(r5+62)] = 0;
+ heap32[(r5+63)] = 0;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+ heap32[(r5+4)] = 0;
+ heap32[(r5+5)] = 0;
+ heap32[(r5+6)] = 1065353216;
+ heap32[(r5+7)] = 0;
+ heap32[(r5+8)] = 0;
+ heap32[(r5+9)] = 0;
+ heap32[(r5+10)] = 0;
+ heap32[(r5+11)] = 1065353216;
+ heap32[(r5+12)] = 0;
+ heap32[(r5+13)] = 0;
+ heap32[(r5+14)] = 0;
+ r8 = _ZTV11btRigidBody;
+ heap32[(r5+15)] = 0;
+ r8 = (r8 + 8)|0;
+ heap32[(r5+16)] = 0;
+ heap32[(r5)] = r8;
+ heap8[r7+492] = r4;
+ heap32[(r5+122)] = 0;
+ heap32[(r5+120)] = 0;
+ heap32[(r5+121)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r0;
+ _ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(i7);
+ r0 = heap32[(r1+1)];
+ r5 = r0 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+20)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r0 = heap32[(r1+17)];
+}
+_161: do {
+ if(r0 >3) //_LBB26_151
+{
+ if(r0 >5) //_LBB26_154
+{
+ if(r0 ==6) //_LBB26_325
+{
+ _ZN13BenchmarkDemo11createTest6Ev(i7);
+ return;
+}
+else{
+ if(r0 ==7) //_LBB26_326
+{
+ _ZN13BenchmarkDemo11createTest6Ev(i7);
+ r0 = sp + -41264;
+ heap32[(g0)] = 8;
+ r1 = r0 >> 2;
+ _Znwj(i7);
+ heap32[(r1+10006)] = r_g0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = 0;
+ gettimeofday(i7);
+ heap32[(r1+10000)] = 0;
+ heap32[(r1+10001)] = 0;
+ heap32[(r1+10005)] = 0;
+ heap32[(r1+10004)] = 9999;
+ heap32[(r1+10003)] = 0;
+ heap32[(r1+10002)] = 0;
+ heap32[(r1+10007)] = 1092616192;
+ heap32[(r1+10008)] = 0;
+ heap32[(r1+10009)] = 0;
+ heap32[(r1+10010)] = 1112014848;
+ heap32[(r1+10011)] = 1065353216;
+ f3 = 0;
+_169: while(true){
+ f0 = r3; //fitos r3, f0
+ f1 = 0.025132741779088974;
+ f0 = f0*f1;
+ f1 = 0.5;
+ f0 = f0*f1;
+ heapFloat[(g0)] = f0;
+ sinf(i7);
+ f2 = 1;
+ f1 = f_g0/f2;
+ f2 = f1*f3;
+ heapFloat[(g0)] = f0;
+ cosf(i7);
+ f4 = -f2;
+ f5 = f_g0*f3;
+ f6 = f2*f3;
+ f7 = f4-f2;
+ f8 = f_g0+f2;
+ f8 = f8-f6;
+ f7 = f7-f6;
+ f9 = f5+f2;
+ f9 = f9-f6;
+ f5 = f5+f6;
+ f6 = f7*f4;
+ f10 = f8*f_g0;
+ f5 = f5-f1;
+ f11 = f9*f_g0;
+ f7 = f7*f1;
+ f10 = f6+f10;
+ f4 = f9*f4;
+ r2 = r3 << 4;
+ f0 = f5*f_g0;
+ f7 = f11-f7;
+ f9 = f5*f2;
+ f10 = f10+f4;
+ f5 = f5*f1;
+ r2 = (r0 + r2)|0;
+ f0 = f6+f0;
+ f1 = f8*f1;
+ f6 = f7-f9;
+ f2 = f8*f2;
+ f5 = f10+f5;
+ f7 = 2500;
+ f0 = f0-f1;
+ f1 = f6+f2;
+ r2 = r2 >> 2;
+ f2 = f5*f7;
+ f0 = f0-f4;
+ f1 = f1*f7;
+ heapFloat[(r2+4000)] = f2;
+ f0 = f0*f7;
+ heapFloat[(r2+4001)] = f1;
+ heapFloat[(r2+4002)] = f0;
+ heap32[(r2+4003)] = 0;
+ f1 = heapFloat[(r1+10008)];
+ heapFloat[(r2)] = f1;
+ heap32[(r2+1)] = 1112014848;
+ heap32[(r2+2)] = 0;
+ f1 = f1+f2;
+ heap32[(r2+3)] = 0;
+ f0 = f0+f3;
+ heapFloat[(r2+2000)] = f1;
+ heapFloat[(r2+2002)] = f0;
+ heap32[(r2+2003)] = 0;
+ heap32[(r2+2001)] = -998637568;
+ heap32[(r2+8000)] = 1065353216;
+ heap32[(r2+8001)] = 0;
+ r3 = (r3 + 1)|0;
+ heap32[(r2+8002)] = 0;
+ heap32[(r2+8003)] = 0;
+if(!(r3 !=500)) //_LBB26_327
+{
+break _169;
+}
+}
+ r2 = _ZL10raycastBar;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 8000;
+ memcpy(i7);
+ r3 = (r2 + 8000)|0;
+ r4 = (r0 + 8000)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = 8000;
+ memcpy(i7);
+ r3 = (r2 + 16000)|0;
+ r4 = (r0 + 16000)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = 8000;
+ memcpy(i7);
+ r3 = (r2 + 24000)|0;
+ r4 = (r0 + 24000)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = 8000;
+ memcpy(i7);
+ r3 = (r2 + 32000)|0;
+ r0 = (r0 + 32000)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 8000;
+ memcpy(i7);
+ r0 = r2 >> 2;
+ r2 = heap32[(r1+10000)];
+ heap32[(r0+10000)] = r2;
+ r2 = heap32[(r1+10001)];
+ heap32[(r0+10001)] = r2;
+ r2 = heap32[(r1+10002)];
+ heap32[(r0+10002)] = r2;
+ r2 = heap32[(r1+10003)];
+ heap32[(r0+10003)] = r2;
+ r2 = heap32[(r1+10004)];
+ heap32[(r0+10004)] = r2;
+ r2 = heap32[(r1+10005)];
+ heap32[(r0+10005)] = r2;
+ r2 = heap32[(r1+10006)];
+ r2 = r2 >> 2;
+ r3 = heap32[(r0+10006)];
+ r4 = heap32[(r2+1)];
+ r2 = heap32[(r2)];
+ r3 = r3 >> 2;
+ heap32[(r3)] = r2;
+ heap32[(r3+1)] = r4;
+ heap32[(r0+10007)] = heap32[(r1+10007)];
+ heap32[(r0+10008)] = heap32[(r1+10008)];
+ heap32[(r0+10009)] = heap32[(r1+10009)];
+ heap32[(r0+10010)] = heap32[(r1+10010)];
+ heap32[(r0+10011)] = heap32[(r1+10011)];
+ r0 = heap32[(r1+10006)];
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+else{
+break _161;
+}
+}
+}
+else{
+ if(r0 ==4) //_LBB26_291
+{
+ r3 = heap32[(r2)];
+ r3 = (r3 + 1)|0;
+ heap32[(r2)] = r3;
+ heap32[(g0)] = 127;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB26_293
+{
+ r3 = 0;
+ r4 = (r2 + 4)|0;
+ r3 = (r3 - r4)|0;
+ r3 = r3 & 15;
+ r3 = (r2 + r3)|0;
+ r4 = (r3 + 4)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r2;
+ r2 = r4;
+}
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 0;
+ r3 = r2 >> 2;
+ _ZN17btConvexHullShapeC1EPKfii(i7);
+ r4 = heap32[(r3)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+6)];
+ r0 = sp + -96;
+ r5 = r0 >> 2;
+ heap32[(fp+-24)] = 1065353216;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 1065353216;
+ heap32[(r5+3)] = 0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ r0 = 0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+_178: while(true){
+ r4 = (r0 * -3)|0;
+ r5 = _ZL7TaruVtx;
+ r4 = r4 << 2;
+ r4 = (r5 + r4)|0;
+ r5 = sp + -80;
+ r4 = r4 >> 2;
+ r7 = r5 >> 2;
+ heap32[(fp+-20)] = heap32[(r4)];
+ heap32[(r7+1)] = heap32[(r4+1)];
+ heap32[(r7+2)] = heap32[(r4+2)];
+ heap32[(r7+3)] = 0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r5;
+ r0 = (r0 + -1)|0;
+ _ZN17btConvexHullShape8addPointERK9btVector3(i7);
+ if(r0 ==-43) //_LBB26_301
+{
+break _178;
+}
+}
+ r4 = sp + -160;
+ r0 = r4 >> 2;
+ heap32[(fp+-40)] = 1065353216;
+ heap32[(r0+1)] = 0;
+ heap32[(r0+2)] = 0;
+ heap32[(r0+3)] = 0;
+ heap32[(r0+4)] = 0;
+ heap32[(r0+5)] = 1065353216;
+ heap32[(r0+6)] = 0;
+ heap32[(r0+7)] = 0;
+ heap32[(r0+8)] = 0;
+ heap32[(r0+9)] = 0;
+ heap32[(r0+10)] = 1065353216;
+ heap32[(r0+11)] = 0;
+ heap32[(r0+12)] = 0;
+ heap32[(r0+13)] = 0;
+ heap32[(r0+14)] = 0;
+ r5 = sp + -176;
+ heap32[(r0+15)] = 0;
+ r7 = r5 >> 2;
+ heap32[(fp+-44)] = 0;
+ heap32[(r7+1)] = 0;
+ heap32[(r7+2)] = 0;
+ heap32[(r7+3)] = 0;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r7 = heap32[(r3+8)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r5;
+ r3 = 15;
+ f0 = 3;
+ f2 = -18;
+ f3 = 1.5;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ f1 = f0;
+_181: while(true){
+ f4 = f3+f0;
+ r5 = 0;
+ r7 = r5;
+_183: while(true){
+ f5 = r7; //fitos r7, f5
+ f5 = f5*f4;
+ f5 = f5+f2;
+ r8 = r5;
+_185: while(true){
+ f6 = r8; //fitos r8, f6
+ f6 = f6*f4;
+ f6 = f6+f2;
+ heapFloat[(r0+12)] = f6;
+ heapFloat[(r0+13)] = f1;
+ heapFloat[(r0+14)] = f5;
+ heap32[(r0+15)] = 0;
+ r9 = heap32[(r1)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+2)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r2;
+ r8 = (r8 + 1)|0;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+if(!(r8 !=8)) //_LBB26_298
+{
+break _185;
+}
+}
+ r7 = (r7 + 1)|0;
+if(!(r7 !=8)) //_LBB26_297
+{
+break _183;
+}
+}
+ f4 = 1.0099999904632568;
+ f5 = -0.05000000074505806;
+ f4 = f3*f4;
+ f6 = 3;
+ f3 = f3*f5;
+ f5 = 7;
+ f6 = f4+f6;
+ f3 = f3*f5;
+ r3 = (r3 + -1)|0;
+ f1 = f1+f6;
+ f2 = f3+f2;
+ f3 = f4;
+ if(r3 ==0) //_LBB26_165
+{
+break _161;
+}
+else{
+continue _181;
+}
+}
+}
+else{
+ if(r0 ==5) //_LBB26_302
+{
+ r3 = 10;
+ f0 = 20;
+ f1 = 2;
+ f2 = -25;
+_191: while(true){
+ f3 = 3;
+ f4 = 25;
+ f5 = f1+f3;
+ f4 = f0+f4;
+ r0 = 0;
+ r5 = r0;
+_193: while(true){
+ f6 = r5; //fitos r5, f6
+ f6 = f6*f5;
+ f6 = f6+f2;
+ f7 = 5;
+ f6 = f6*f7;
+ f8 = 0;
+ f6 = f6+f8;
+ r7 = r0;
+_195: while(true){
+ r8 = _ZL8nextRand;
+ r8 = r8 >> 2;
+ r9 = heap32[(r8)];
+ r9 = (r9 * 214013)|0;
+ r9 = (r9 + 2531011)|0;
+ r10 = sp + -64;
+ heap32[(r8)] = r9;
+ r8 = r10 >> 2;
+ heap32[(fp+-16)] = 1065353216;
+ heap32[(r8+1)] = 0;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 0;
+ heap32[(r8+4)] = 0;
+ heap32[(r8+5)] = 1065353216;
+ heap32[(r8+6)] = 0;
+ heap32[(r8+7)] = 0;
+ f9 = r7; //fitos r7, f9
+ heap32[(r8+8)] = 0;
+ f9 = f9*f5;
+ heap32[(r8+9)] = 0;
+ f9 = f9+f2;
+ heap32[(r8+10)] = 1065353216;
+ f9 = f9*f7;
+ f9 = f9+f8;
+ heap32[(r8+11)] = 0;
+ r9 = r9 >>> 16;
+ heapFloat[(r8+12)] = f9;
+ r9 = r9 & 32767;
+ heapFloat[(r8+13)] = f4;
+ r9 = Math.floor(uint(r9) % uint(9));
+ heapFloat[(r8+14)] = f6;
+ heap32[(r8+15)] = 0;
+if(!(uint(r9) >uint(8))) //_LBB26_321
+{
+ r8 = r4 << r9;
+ r11 = r8 & 7;
+ if(r11 !=0) //_LBB26_309
+{
+ r8 = heap32[(r2)];
+ r8 = (r8 + 1)|0;
+ heap32[(r2)] = r8;
+ r9 = (r9 + 1)|0;
+ f9 = r9; //fitos r9, f9
+ f10 = 0.5;
+ heap32[(g0)] = 71;
+ f9 = f9*f10;
+ f10 = 1.5;
+ malloc(i7);
+ r9 = r_g0;
+ f10 = f9*f10;
+ if(r9 !=0) //_LBB26_311
+{
+ r8 = 0;
+ r11 = (r9 + 4)|0;
+ r8 = (r8 - r11)|0;
+ r8 = r8 & 15;
+ r8 = (r9 + r8)|0;
+ r11 = (r8 + 4)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r9;
+ r9 = r11;
+}
+ r8 = r9 >> 2;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 1065353216;
+ heap32[(r8+4)] = 1065353216;
+ heap32[(r8+5)] = 1065353216;
+ r11 = _ZTV10btBoxShape;
+ heap32[(r8+6)] = 0;
+ r11 = (r11 + 8)|0;
+ heap32[(r8+11)] = 1025758986;
+ heap32[(r8)] = r11;
+ f11 = -0.039999999105930328;
+ f10 = f10+f11;
+ heap32[(r8+1)] = 0;
+ heapFloat[(r8+7)] = f10;
+ heapFloat[(r8+8)] = f10;
+ heapFloat[(r8+9)] = f10;
+ heap32[(r8+10)] = 0;
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ heap32[(g0)] = r6;
+ heapFloat[(g0+1)] = f9;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r9;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+}
+else{
+ r11 = r8 & 56;
+ if(r11 !=0) //_LBB26_313
+{
+ r8 = heap32[(r2)];
+ r8 = (r8 + 1)|0;
+ heap32[(r2)] = r8;
+ r9 = (r9 + -2)|0;
+ heap32[(g0)] = 71;
+ f9 = r9; //fitos r9, f9
+ f10 = 0.5;
+ malloc(i7);
+ r9 = r_g0;
+ f9 = f9*f10;
+ if(r9 !=0) //_LBB26_315
+{
+ r8 = 0;
+ r11 = (r9 + 4)|0;
+ r8 = (r8 - r11)|0;
+ r8 = r8 & 15;
+ r8 = (r9 + r8)|0;
+ r11 = (r8 + 4)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r9;
+ r9 = r11;
+}
+ r8 = r9 >> 2;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 1065353216;
+ heap32[(r8+4)] = 1065353216;
+ r11 = _ZTV13btSphereShape;
+ heap32[(r8+5)] = 1065353216;
+ r11 = (r11 + 8)|0;
+ heap32[(r8+6)] = 0;
+ heap32[(r8)] = r11;
+ f10 = 1.5;
+ f10 = f9*f10;
+ heap32[(r8+1)] = 8;
+ heapFloat[(r8+7)] = f10;
+ heapFloat[(r8+11)] = f10;
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ heap32[(g0)] = r6;
+ heapFloat[(g0+1)] = f9;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r9;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+}
+else{
+ r8 = r8 & 448;
+ if(r8 !=0) //_LBB26_317
+{
+ r8 = heap32[(r2)];
+ r8 = (r8 + 1)|0;
+ heap32[(r2)] = r8;
+ r8 = (r9 + -5)|0;
+ heap32[(g0)] = 75;
+ f9 = r8; //fitos r8, f9
+ f10 = 0.5;
+ malloc(i7);
+ r8 = r_g0;
+ f9 = f9*f10;
+ if(r8 !=0) //_LBB26_319
+{
+ r9 = 0;
+ r11 = (r8 + 4)|0;
+ r9 = (r9 - r11)|0;
+ r9 = r9 & 15;
+ r9 = (r8 + r9)|0;
+ r11 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r8;
+ r8 = r11;
+}
+ r9 = r8 >> 2;
+ heap32[(r9+2)] = 0;
+ heap32[(r9+3)] = 1065353216;
+ heap32[(r9+4)] = 1065353216;
+ heap32[(r9+5)] = 1065353216;
+ r11 = _ZTV14btCapsuleShape;
+ heap32[(r9+6)] = 0;
+ r11 = (r11 + 8)|0;
+ heap32[(r9+11)] = 1025758986;
+ heap32[(r9)] = r11;
+ heap32[(r9+1)] = 10;
+ heap32[(r9+13)] = 1;
+ f11 = f9+f9;
+ f10 = f11*f10;
+ heapFloat[(r9+7)] = f9;
+ heapFloat[(r9+8)] = f10;
+ heapFloat[(r9+9)] = f9;
+ heap32[(r9+10)] = 0;
+ r9 = heap32[(r1)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+2)];
+ heap32[(g0)] = r6;
+ heapFloat[(g0+1)] = f9;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r8;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+}
+}
+}
+}
+ r7 = (r7 + 1)|0;
+if(!(r7 !=10)) //_LBB26_305
+{
+break _195;
+}
+}
+ r5 = (r5 + 1)|0;
+if(!(r5 !=10)) //_LBB26_304
+{
+break _193;
+}
+}
+ f4 = 1.1000000238418579;
+ f5 = -0.05000000074505806;
+ f4 = f1*f4;
+ f1 = f1*f5;
+ f5 = 9;
+ f3 = f4+f3;
+ f1 = f1*f5;
+ r3 = (r3 + -1)|0;
+ f0 = f0+f3;
+ f2 = f1+f2;
+ f1 = f4;
+if(!(r3 !=0)) //_LBB26_303
+{
+break _191;
+}
+}
+ _ZN13BenchmarkDemo19createLargeMeshBodyEv(i7);
+ return;
+}
+else{
+break _161;
+}
+}
+}
+}
+else{
+ if(r0 ==1) //_LBB26_156
+{
+ r3 = heap32[(r2)];
+ r3 = (r3 + 1)|0;
+ heap32[(r2)] = r3;
+ heap32[(g0)] = 71;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB26_158
+{
+ r3 = 0;
+ r4 = (r2 + 4)|0;
+ r3 = (r3 - r4)|0;
+ r3 = r3 & 15;
+ r3 = (r2 + r3)|0;
+ r4 = (r3 + 4)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r2;
+ r2 = r4;
+}
+ r3 = r2 >> 2;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 1065353216;
+ heap32[(r3+4)] = 1065353216;
+ heap32[(r3+5)] = 1065353216;
+ r4 = _ZTV10btBoxShape;
+ heap32[(r3+6)] = 0;
+ r4 = (r4 + 8)|0;
+ heap32[(r3+11)] = 1025758986;
+ heap32[(r3)] = r4;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+7)] = 1064682127;
+ heap32[(r3+8)] = 1064682127;
+ heap32[(r3+9)] = 1064682127;
+ r4 = sp + -1152;
+ heap32[(r3+10)] = 0;
+ r3 = r4 >> 2;
+ heap32[(fp+-288)] = 0;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 1073741824;
+ heap32[(g0+2)] = r4;
+ _ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3(i7);
+ r3 = sp + -1216;
+ r4 = r3 >> 2;
+ heap32[(fp+-304)] = 1065353216;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+4)] = 0;
+ heap32[(r4+5)] = 1065353216;
+ heap32[(r4+6)] = 0;
+ heap32[(r4+7)] = 0;
+ heap32[(r4+8)] = 0;
+ heap32[(r4+9)] = 0;
+ heap32[(r4+10)] = 1065353216;
+ heap32[(r4+11)] = 0;
+ heap32[(r4+12)] = 0;
+ heap32[(r4+13)] = 0;
+ r0 = 47;
+ f0 = -12;
+ f1 = 2;
+ heap32[(r4+14)] = 0;
+ heap32[(r4+15)] = 0;
+_225: while(true){
+ r5 = 0;
+ r7 = r5;
+_227: while(true){
+ f2 = r7; //fitos r7, f2
+ f3 = 3;
+ f2 = f2*f3;
+ f2 = f2+f0;
+ r8 = r5;
+_229: while(true){
+ f4 = r8; //fitos r8, f4
+ f4 = f4*f3;
+ f4 = f4+f0;
+ heapFloat[(r4+12)] = f4;
+ heapFloat[(r4+13)] = f1;
+ heapFloat[(r4+14)] = f2;
+ heap32[(r4+15)] = 0;
+ r9 = heap32[(r1)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+2)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = 1073741824;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r2;
+ r8 = (r8 + 1)|0;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+if(!(r8 !=8)) //_LBB26_161
+{
+break _229;
+}
+}
+ r7 = (r7 + 1)|0;
+if(!(r7 !=8)) //_LBB26_160
+{
+break _227;
+}
+}
+ f2 = -0.34999999403953552;
+ r0 = (r0 + -1)|0;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ if(r0 ==0) //_LBB26_165
+{
+break _161;
+}
+else{
+continue _225;
+}
+}
+}
+else{
+ if(r0 ==2) //_LBB26_166
+{
+ r3 = heap32[(r2)];
+ r3 = (r3 + 1)|0;
+ heap32[(r2)] = r3;
+ heap32[(g0)] = 71;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB26_168
+{
+ r4 = 0;
+ r0 = (r3 + 4)|0;
+ r4 = (r4 - r0)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r0 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r0;
+}
+ r4 = r3 >> 2;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 1065353216;
+ heap32[(r4+4)] = 1065353216;
+ heap32[(r4+5)] = 1065353216;
+ r0 = _ZTV10btBoxShape;
+ heap32[(r4+6)] = 0;
+ r0 = (r0 + 8)|0;
+ heap32[(r4+11)] = 1025758986;
+ heap32[(r4)] = r0;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+7)] = 1064682127;
+ heap32[(r4+8)] = 1064682127;
+ heap32[(r4+9)] = 1064682127;
+ r5 = sp + -1024;
+ heap32[(r4+10)] = 0;
+ r4 = r5 >> 2;
+ heap32[(fp+-256)] = 1065353216;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+4)] = 0;
+ heap32[(r4+5)] = 1065353216;
+ heap32[(r4+6)] = 0;
+ heap32[(r4+7)] = 0;
+ heap32[(r4+8)] = 0;
+ heap32[(r4+9)] = 0;
+ heap32[(r4+10)] = 1065353216;
+ heap32[(r4+11)] = 0;
+ heap32[(r4+12)] = 0;
+ heap32[(r4+13)] = 0;
+ heap32[(r4+14)] = 0;
+ r7 = sp + -1040;
+ heap32[(r4+15)] = 0;
+ r8 = r7 >> 2;
+ heap32[(fp+-260)] = 0;
+ heap32[(r8+1)] = 0;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r7;
+ r7 = 12;
+ f0 = -12.240598678588867;
+ f1 = 1;
+ _ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3(i7);
+ f2 = f0;
+ f8 = -20;
+_239: while(true){
+if(!(r7 <1)) //_LBB26_173
+{
+ f4 = 0;
+ f3 = f1+f4;
+ r8 = 0;
+ r9 = r8;
+_243: while(true){
+ f5 = r9; //fitos r9, f5
+ f6 = 2.0400998592376709;
+ f5 = f5*f6;
+ f5 = f5+f0;
+ f5 = f5+f4;
+ r10 = r8;
+_245: while(true){
+ f7 = r10; //fitos r10, f7
+ f7 = f7*f6;
+ f7 = f7+f2;
+ f7 = f7+f8;
+ heapFloat[(r4+12)] = f7;
+ heapFloat[(r4+13)] = f3;
+ heapFloat[(r4+14)] = f5;
+ heap32[(r4+15)] = 0;
+ r11 = heap32[(r1)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+2)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r3;
+ r10 = (r10 + 1)|0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+if(!(r7 !=r10)) //_LBB26_171
+{
+break _245;
+}
+}
+ r9 = (r9 + 1)|0;
+if(!(r7 !=r9)) //_LBB26_170
+{
+break _243;
+}
+}
+}
+ f3 = 2.0400998592376709;
+ f4 = 1.0199999809265137;
+ r7 = (r7 + -1)|0;
+ f1 = f1+f3;
+ f0 = f0+f4;
+ f2 = f2+f4;
+ if(r7 ==0) //_LBB26_176
+{
+break _239;
+}
+}
+ r3 = sp + -1136;
+ r4 = r3 >> 2;
+ heap32[(fp+-284)] = 1065353216;
+ heap32[(r4+1)] = 1065353216;
+ heap32[(r4+2)] = 1065353216;
+ r5 = sp + -1120;
+ heap32[(r4+3)] = 0;
+ r4 = r5 >> 2;
+ heap32[(fp+-280)] = -1073741824;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r3;
+ r3 = sp + -1104;
+ _ZN13BenchmarkDemo10createWallERK9btVector3iS2_(i7);
+ r4 = r3 >> 2;
+ heap32[(fp+-276)] = 1065353216;
+ heap32[(r4+1)] = 1065353216;
+ heap32[(r4+2)] = 1065353216;
+ r5 = sp + -1088;
+ heap32[(r4+3)] = 0;
+ r4 = r5 >> 2;
+ heap32[(fp+-272)] = 1082130432;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r3;
+ r3 = sp + -1072;
+ _ZN13BenchmarkDemo10createWallERK9btVector3iS2_(i7);
+ r4 = r3 >> 2;
+ heap32[(fp+-268)] = 1065353216;
+ heap32[(r4+1)] = 1065353216;
+ heap32[(r4+2)] = 1065353216;
+ r5 = sp + -1056;
+ heap32[(r4+3)] = 0;
+ r4 = r5 >> 2;
+ heap32[(fp+-264)] = 1092616192;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r3;
+ _ZN13BenchmarkDemo10createWallERK9btVector3iS2_(i7);
+ r3 = heap32[(r2)];
+ r3 = (r3 + 1)|0;
+ heap32[(r2)] = r3;
+ heap32[(g0)] = 71;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB26_178
+{
+ r3 = 0;
+ r4 = (r2 + 4)|0;
+ r3 = (r3 - r4)|0;
+ r3 = r3 & 15;
+ r3 = (r2 + r3)|0;
+ r4 = (r3 + 4)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r2;
+ r2 = r4;
+}
+ r3 = r2 >> 2;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 1065353216;
+ heap32[(r3+4)] = 1065353216;
+ heap32[(r3+5)] = 1065353216;
+ heap32[(r3+6)] = 0;
+ heap32[(r3+11)] = 1025758986;
+ heap32[(r3)] = r0;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+7)] = 1064682127;
+ heap32[(r3+8)] = 1064682127;
+ heap32[(r3+9)] = 1064682127;
+ r4 = sp + -944;
+ heap32[(r3+10)] = 0;
+ r3 = r4 >> 2;
+ heap32[(fp+-236)] = 1065353216;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 0;
+ heap32[(r3+4)] = 0;
+ heap32[(r3+5)] = 1065353216;
+ heap32[(r3+6)] = 0;
+ heap32[(r3+7)] = 0;
+ heap32[(r3+8)] = 0;
+ heap32[(r3+9)] = 0;
+ heap32[(r3+10)] = 1065353216;
+ heap32[(r3+11)] = 0;
+ heap32[(r3+12)] = 0;
+ heap32[(r3+13)] = 0;
+ heap32[(r3+14)] = 0;
+ r0 = sp + -960;
+ heap32[(r3+15)] = 0;
+ r5 = r0 >> 2;
+ heap32[(fp+-240)] = 0;
+ heap32[(r5+1)] = 0;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r0;
+ r0 = 8;
+ f0 = 1;
+ f1 = 0;
+ _ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3(i7);
+ f2 = f1;
+ f3 = f0;
+ f4 = f1;
+_253: while(true){
+ r5 = 24;
+_255: while(true){
+ f5 = 9.9312677383422852;
+ f6 = 0;
+ f7 = f3*f0;
+ f8 = f4*f6;
+ f9 = f3*f5;
+ f10 = f1*f6;
+ f7 = f8+f7;
+ f11 = f2*f5;
+ f9 = f10+f9;
+ f12 = f2*f0;
+ f13 = f1*f0;
+ f14 = f2*f6;
+ f7 = f7+f11;
+ f9 = f9-f12;
+ f11 = f13+f14;
+ f12 = f4*f5;
+ f5 = f1*f5;
+ f13 = f4*f0;
+ f11 = f11-f12;
+ f12 = f4*f4;
+ f15 = f3*f3;
+ f16 = f4*f7;
+ f17 = f1*f9;
+ f5 = f5+f13;
+ f13 = f3*f6;
+ f5 = f5-f13;
+ f12 = f12+f15;
+ f15 = f2*f2;
+ f18 = f3*f7;
+ f19 = f1*f11;
+ f16 = f16+f17;
+ f17 = f2*f11;
+ f12 = f12+f15;
+ f15 = f1*f1;
+ f7 = f2*f7;
+ f20 = f1*f5;
+ f18 = f18+f19;
+ f19 = f4*f5;
+ f16 = f16-f17;
+ f5 = f3*f5;
+ f17 = 2;
+ f12 = f12+f15;
+ f7 = f7+f20;
+ f15 = f3*f9;
+ f18 = f18-f19;
+ f9 = f2*f9;
+ f5 = f16+f5;
+ f16 = 25;
+ f12 = f17/f12;
+ f9 = f18+f9;
+ f5 = f5+f16;
+ f7 = f7-f15;
+ f11 = f4*f11;
+ f15 = f2*f12;
+ f16 = f3*f12;
+ f7 = f7+f11;
+ f9 = f9+f6;
+ heapFloat[(r3+12)] = f5;
+ f5 = f3*f16;
+ f11 = f2*f15;
+ f7 = f7+f6;
+ heapFloat[(r3+13)] = f9;
+ heapFloat[(r3+14)] = f7;
+ f7 = 1;
+ f9 = f5+f11;
+ f18 = f4*f16;
+ f19 = f1*f15;
+ f9 = f7-f9;
+ heap32[(r3+15)] = 0;
+ f20 = f4*f15;
+ f16 = f1*f16;
+ f21 = f18-f19;
+ heapFloat[(fp+-236)] = f9;
+ f9 = f4*f12;
+ f12 = f20+f16;
+ heapFloat[(r3+1)] = f21;
+ f21 = f4*f9;
+ heapFloat[(r3+2)] = f12;
+ f11 = f21+f11;
+ f12 = f18+f19;
+ heap32[(r3+3)] = 0;
+ f15 = f3*f15;
+ f9 = f1*f9;
+ f11 = f7-f11;
+ heapFloat[(r3+4)] = f12;
+ f12 = f15-f9;
+ heapFloat[(r3+5)] = f11;
+ heapFloat[(r3+6)] = f12;
+ f11 = f20-f16;
+ heap32[(r3+7)] = 0;
+ f5 = f21+f5;
+ f9 = f15+f9;
+ heapFloat[(r3+8)] = f11;
+ f5 = f7-f5;
+ heapFloat[(r3+9)] = f9;
+ heapFloat[(r3+10)] = f5;
+ heap32[(r3+11)] = 0;
+ r7 = heap32[(r1)];
+ r7 = r7 >> 2;
+ f5 = 0.99144488573074341;
+ f7 = 0.13052619993686676;
+ r7 = heap32[(r7+2)];
+ f9 = f1*f5;
+ f11 = f2*f5;
+ f12 = f4*f5;
+ f1 = f1*f7;
+ f5 = f3*f5;
+ f1 = f1+f5;
+ f5 = f10+f12;
+ f9 = f9-f8;
+ f3 = f3*f7;
+ f10 = f10+f11;
+ f4 = f4*f7;
+ f3 = f9-f3;
+ f4 = f10+f4;
+ f9 = f1+f14;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = 1065353216;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r2;
+ f5 = f5+f13;
+ f7 = f2*f7;
+ r5 = (r5 + -1)|0;
+ f1 = f3-f14;
+ f2 = f4-f13;
+ f3 = f9-f8;
+ f4 = f5-f7;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+if(!(r5 !=0)) //_LBB26_180
+{
+break _255;
+}
+}
+ f5 = 0.99785894155502319;
+ f7 = 0.065403133630752563;
+ f8 = f4*f5;
+ f9 = f1*f6;
+ f10 = f2*f5;
+ f11 = f1*f7;
+ f12 = f3*f5;
+ f1 = f1*f5;
+ f5 = f4*f6;
+ f8 = f9+f8;
+ f13 = f3*f6;
+ f11 = f11+f12;
+ f6 = f2*f6;
+ f9 = f9+f10;
+ f4 = f4*f7;
+ f1 = f1-f5;
+ f3 = f3*f7;
+ f10 = f11+f6;
+ f9 = f9+f4;
+ f1 = f1-f3;
+ f3 = f8+f13;
+ f2 = f2*f7;
+ r0 = (r0 + -1)|0;
+ f4 = f3-f2;
+ f3 = f10-f5;
+ f2 = f9-f13;
+ f1 = f1-f6;
+ f0 = f0+f17;
+ if(r0 ==0) //_LBB26_165
+{
+break _161;
+}
+else{
+continue _253;
+}
+}
+}
+else{
+ if(r0 ==3) //_LBB26_183
+{
+ r3 = -16;
+ r0 = 16;
+ f0 = 0;
+ f1 = 1;
+ f2 = f0;
+_260: while(true){
+ f3 = r3; //fitos r3, f3
+ f4 = 6;
+ f3 = f3*f4;
+ f5 = 0.5;
+ f6 = 3.5;
+ f7 = 4.2000002861022949;
+ f8 = 5.5999999046325684;
+ f9 = 2.2749998569488525;
+ f10 = 0.69999998807907104;
+ f11 = 5.0750002861022949;
+ f3 = f3*f5;
+ f5 = f2+f0;
+ f6 = f1+f6;
+ f7 = f1+f7;
+ f8 = f1+f8;
+ f9 = f1+f9;
+ f10 = f1+f10;
+ f11 = f1+f11;
+ r5 = 0;
+_262: while(true){
+ heap32[(g0)] = 136;
+ _Znwj(i7);
+ r7 = r_g0;
+ r8 = _ZTV7RagDoll;
+ r9 = r7 >> 2;
+ r10 = heap32[(r1+1)];
+ r8 = (r8 + 8)|0;
+ heap32[(r9)] = r8;
+ heap32[(r9+1)] = r10;
+ r8 = heap32[(r2)];
+ r9 = (r8 + 1)|0;
+ heap32[(r2)] = r9;
+ f12 = r5; //fitos r5, f12
+ heap32[(g0)] = 75;
+ f12 = f12*f4;
+ malloc(i7);
+ r9 = r_g0;
+ f12 = f12+f3;
+ if(r9 !=0) //_LBB26_187
+{
+ r10 = 0;
+ r11 = (r9 + 4)|0;
+ r10 = (r10 - r11)|0;
+ r10 = r10 & 15;
+ r10 = (r9 + r10)|0;
+ r11 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r9;
+ r9 = r11;
+}
+ r10 = r9 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ r11 = _ZTV14btCapsuleShape;
+ heap32[(r10+6)] = 0;
+ r11 = (r11 + 8)|0;
+ heap32[(r10+11)] = 1025758986;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = 10;
+ heap32[(r10+13)] = 1;
+ heap32[(r10+7)] = 1057384039;
+ heap32[(r10+8)] = 1051931443;
+ heap32[(r10+9)] = 1057384039;
+ r12 = r7 >> 2;
+ heap32[(r10+10)] = 0;
+ r10 = (r8 + 2)|0;
+ heap32[(r12+2)] = r9;
+ heap32[(r2)] = r10;
+ heap32[(g0)] = 75;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB26_190
+{
+ r10 = 0;
+ r13 = (r9 + 4)|0;
+ r10 = (r10 - r13)|0;
+ r10 = r10 & 15;
+ r10 = (r9 + r10)|0;
+ r13 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r9;
+ r9 = r13;
+}
+ r10 = r9 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+11)] = 1025758986;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = 10;
+ heap32[(r10+13)] = 1;
+ heap32[(r10+7)] = 1057384039;
+ heap32[(r10+8)] = 1056629064;
+ heap32[(r10+9)] = 1057384039;
+ heap32[(r10+10)] = 0;
+ r10 = (r8 + 3)|0;
+ heap32[(r12+3)] = r9;
+ heap32[(r2)] = r10;
+ heap32[(g0)] = 75;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB26_193
+{
+ r10 = 0;
+ r13 = (r9 + 4)|0;
+ r10 = (r10 - r13)|0;
+ r10 = r10 & 15;
+ r10 = (r9 + r10)|0;
+ r13 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r9;
+ r9 = r13;
+}
+ r10 = r9 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+11)] = 1025758986;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = 10;
+ heap32[(r10+13)] = 1;
+ heap32[(r10+7)] = 1051931443;
+ heap32[(r10+8)] = 1035154227;
+ heap32[(r10+9)] = 1051931443;
+ heap32[(r10+10)] = 0;
+ r10 = (r8 + 4)|0;
+ heap32[(r12+4)] = r9;
+ heap32[(r2)] = r10;
+ heap32[(g0)] = 75;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB26_196
+{
+ r10 = 0;
+ r13 = (r9 + 4)|0;
+ r10 = (r10 - r13)|0;
+ r10 = r10 & 15;
+ r10 = (r9 + r10)|0;
+ r13 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r9;
+ r9 = r13;
+}
+ r10 = r9 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+11)] = 1025758986;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = 10;
+ heap32[(r10+13)] = 1;
+ heap32[(r10+7)] = 1048240456;
+ heap32[(r10+8)] = 1061788057;
+ heap32[(r10+9)] = 1048240456;
+ heap32[(r10+10)] = 0;
+ r10 = (r8 + 5)|0;
+ heap32[(r12+5)] = r9;
+ heap32[(r2)] = r10;
+ heap32[(g0)] = 75;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB26_199
+{
+ r10 = 0;
+ r13 = (r9 + 4)|0;
+ r10 = (r10 - r13)|0;
+ r10 = r10 & 15;
+ r10 = (r9 + r10)|0;
+ r13 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r9;
+ r9 = r13;
+}
+ r10 = r9 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+11)] = 1025758986;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = 10;
+ heap32[(r10+13)] = 1;
+ heap32[(r10+7)] = 1043542835;
+ heap32[(r10+8)] = 1059439248;
+ heap32[(r10+9)] = 1043542835;
+ heap32[(r10+10)] = 0;
+ r10 = (r8 + 6)|0;
+ heap32[(r12+6)] = r9;
+ heap32[(r2)] = r10;
+ heap32[(g0)] = 75;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB26_202
+{
+ r10 = 0;
+ r13 = (r9 + 4)|0;
+ r10 = (r10 - r13)|0;
+ r10 = r10 & 15;
+ r10 = (r9 + r10)|0;
+ r13 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r9;
+ r9 = r13;
+}
+ r10 = r9 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+11)] = 1025758986;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = 10;
+ heap32[(r10+13)] = 1;
+ heap32[(r10+7)] = 1048240456;
+ heap32[(r10+8)] = 1061788057;
+ heap32[(r10+9)] = 1048240456;
+ heap32[(r10+10)] = 0;
+ r10 = (r8 + 7)|0;
+ heap32[(r12+7)] = r9;
+ heap32[(r2)] = r10;
+ heap32[(g0)] = 75;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB26_205
+{
+ r10 = 0;
+ r13 = (r9 + 4)|0;
+ r10 = (r10 - r13)|0;
+ r10 = r10 & 15;
+ r10 = (r9 + r10)|0;
+ r13 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r9;
+ r9 = r13;
+}
+ r10 = r9 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+11)] = 1025758986;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = 10;
+ heap32[(r10+13)] = 1;
+ heap32[(r10+7)] = 1043542835;
+ heap32[(r10+8)] = 1059439248;
+ heap32[(r10+9)] = 1043542835;
+ heap32[(r10+10)] = 0;
+ r10 = (r8 + 8)|0;
+ heap32[(r12+8)] = r9;
+ heap32[(r2)] = r10;
+ heap32[(g0)] = 75;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB26_208
+{
+ r10 = 0;
+ r13 = (r9 + 4)|0;
+ r10 = (r10 - r13)|0;
+ r10 = r10 & 15;
+ r10 = (r9 + r10)|0;
+ r13 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r9;
+ r9 = r13;
+}
+ r10 = r9 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+11)] = 1025758986;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = 10;
+ heap32[(r10+13)] = 1;
+ heap32[(r10+7)] = 1043542835;
+ heap32[(r10+8)] = 1058264843;
+ heap32[(r10+9)] = 1043542835;
+ heap32[(r10+10)] = 0;
+ r10 = (r8 + 9)|0;
+ heap32[(r12+9)] = r9;
+ heap32[(r2)] = r10;
+ heap32[(g0)] = 75;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB26_211
+{
+ r10 = 0;
+ r13 = (r9 + 4)|0;
+ r10 = (r10 - r13)|0;
+ r10 = r10 & 15;
+ r10 = (r9 + r10)|0;
+ r13 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r9;
+ r9 = r13;
+}
+ r10 = r9 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+11)] = 1025758986;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = 10;
+ heap32[(r10+13)] = 1;
+ heap32[(r10+7)] = 1041194025;
+ heap32[(r10+8)] = 1054867456;
+ heap32[(r10+9)] = 1041194025;
+ heap32[(r10+10)] = 0;
+ r10 = (r8 + 10)|0;
+ heap32[(r12+10)] = r9;
+ heap32[(r2)] = r10;
+ heap32[(g0)] = 75;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB26_214
+{
+ r10 = 0;
+ r13 = (r9 + 4)|0;
+ r10 = (r10 - r13)|0;
+ r10 = r10 & 15;
+ r10 = (r9 + r10)|0;
+ r13 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r9;
+ r9 = r13;
+}
+ r10 = r9 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+11)] = 1025758986;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = 10;
+ heap32[(r10+13)] = 1;
+ heap32[(r10+7)] = 1043542835;
+ heap32[(r10+8)] = 1058264843;
+ heap32[(r10+9)] = 1043542835;
+ heap32[(r10+10)] = 0;
+ r8 = (r8 + 11)|0;
+ heap32[(r12+11)] = r9;
+ heap32[(r2)] = r8;
+ heap32[(g0)] = 75;
+ malloc(i7);
+ r8 = r_g0;
+ if(r8 !=0) //_LBB26_217
+{
+ r9 = 0;
+ r10 = (r8 + 4)|0;
+ r9 = (r9 - r10)|0;
+ r9 = r9 & 15;
+ r9 = (r8 + r9)|0;
+ r10 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r8;
+ r8 = r10;
+}
+ r9 = r8 >> 2;
+ heap32[(r9+2)] = 0;
+ heap32[(r9+3)] = 1065353216;
+ heap32[(r9+4)] = 1065353216;
+ heap32[(r9+5)] = 1065353216;
+ heap32[(r9+6)] = 0;
+ heap32[(r9+11)] = 1025758986;
+ heap32[(r9)] = r11;
+ heap32[(r9+1)] = 10;
+ heap32[(r9+13)] = 1;
+ heap32[(r9+7)] = 1041194025;
+ heap32[(r9+8)] = 1054867456;
+ heap32[(r9+9)] = 1041194025;
+ heap32[(r9+10)] = 0;
+ heap32[(r12+12)] = r8;
+ r8 = heap32[(r12+2)];
+ r9 = sp + -880;
+ r10 = r9 >> 2;
+ heap32[(fp+-220)] = 1065353216;
+ heap32[(r10+1)] = 0;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = 0;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = 0;
+ heap32[(r10+9)] = 0;
+ heap32[(r10+10)] = 1065353216;
+ f13 = 0;
+ f13 = f12+f13;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f13;
+ heapFloat[(r10+13)] = f6;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ heap32[(r12+13)] = r_g0;
+ r8 = heap32[(r12+3)];
+ r9 = sp + -816;
+ r10 = r9 >> 2;
+ heap32[(fp+-204)] = 1065353216;
+ heap32[(r10+1)] = 0;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = 0;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = 0;
+ heap32[(r10+9)] = 0;
+ heap32[(r10+10)] = 1065353216;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f13;
+ heapFloat[(r10+13)] = f7;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ heap32[(r12+14)] = r_g0;
+ r8 = heap32[(r12+4)];
+ r9 = sp + -752;
+ r10 = r9 >> 2;
+ heap32[(fp+-188)] = 1065353216;
+ heap32[(r10+1)] = 0;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = 0;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = 0;
+ heap32[(r10+9)] = 0;
+ heap32[(r10+10)] = 1065353216;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f13;
+ heapFloat[(r10+13)] = f8;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ heap32[(r12+15)] = r_g0;
+ r8 = heap32[(r12+5)];
+ r9 = sp + -688;
+ r10 = r9 >> 2;
+ heap32[(fp+-172)] = 1065353216;
+ heap32[(r10+1)] = 0;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = 0;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = 0;
+ heap32[(r10+9)] = 0;
+ f13 = -0.62999999523162842;
+ heap32[(r10+10)] = 1065353216;
+ f13 = f12+f13;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f13;
+ heapFloat[(r10+13)] = f9;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ heap32[(r12+16)] = r_g0;
+ r8 = heap32[(r12+6)];
+ r9 = sp + -624;
+ r10 = r9 >> 2;
+ heap32[(fp+-156)] = 1065353216;
+ heap32[(r10+1)] = 0;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = 0;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = 0;
+ heap32[(r10+9)] = 0;
+ heap32[(r10+10)] = 1065353216;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f13;
+ heapFloat[(r10+13)] = f10;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ heap32[(r12+17)] = r_g0;
+ r8 = heap32[(r12+7)];
+ r9 = sp + -560;
+ r10 = r9 >> 2;
+ heap32[(fp+-140)] = 1065353216;
+ heap32[(r10+1)] = 0;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = 0;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = 0;
+ heap32[(r10+9)] = 0;
+ f13 = 0.62999999523162842;
+ heap32[(r10+10)] = 1065353216;
+ f13 = f12+f13;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f13;
+ heapFloat[(r10+13)] = f9;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ heap32[(r12+18)] = r_g0;
+ r8 = heap32[(r12+8)];
+ r9 = sp + -496;
+ r10 = r9 >> 2;
+ heap32[(fp+-124)] = 1065353216;
+ heap32[(r10+1)] = 0;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = 0;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = 0;
+ heap32[(r10+9)] = 0;
+ heap32[(r10+10)] = 1065353216;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f13;
+ heapFloat[(r10+13)] = f10;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ heap32[(r12+19)] = r_g0;
+ r8 = heap32[(r12+9)];
+ r9 = sp + -432;
+ r10 = r9 >> 2;
+ heap32[(fp+-108)] = -1287930578;
+ heap32[(r10+1)] = -1082130432;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = -1287930578;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = 0;
+ heap32[(r10+9)] = 0;
+ f13 = -1.2250000238418579;
+ heap32[(r10+10)] = 1065353216;
+ f13 = f12+f13;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f13;
+ heapFloat[(r10+13)] = f11;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ heap32[(r12+20)] = r_g0;
+ r8 = heap32[(r12+10)];
+ r9 = sp + -368;
+ r10 = r9 >> 2;
+ heap32[(fp+-92)] = -1287930578;
+ heap32[(r10+1)] = -1082130432;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = -1287930578;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = 0;
+ heap32[(r10+9)] = 0;
+ f13 = -2.4500000476837158;
+ heap32[(r10+10)] = 1065353216;
+ f13 = f12+f13;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f13;
+ heapFloat[(r10+13)] = f11;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ heap32[(r12+21)] = r_g0;
+ r8 = heap32[(r12+11)];
+ r9 = sp + -304;
+ r10 = r9 >> 2;
+ heap32[(fp+-76)] = -1287930578;
+ heap32[(r10+1)] = 1065353216;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = -1082130432;
+ heap32[(r10+5)] = -1287930578;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = -2147483648;
+ heap32[(r10+9)] = 0;
+ f13 = 1.2250000238418579;
+ heap32[(r10+10)] = 1065353216;
+ f13 = f12+f13;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f13;
+ heapFloat[(r10+13)] = f11;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ heap32[(r12+22)] = r_g0;
+ r8 = heap32[(r12+12)];
+ r9 = sp + -240;
+ r10 = r9 >> 2;
+ heap32[(fp+-60)] = -1287930578;
+ heap32[(r10+1)] = 1065353216;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = -1082130432;
+ heap32[(r10+5)] = -1287930578;
+ heap32[(r10+6)] = 0;
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = -2147483648;
+ heap32[(r10+9)] = 0;
+ f13 = 2.4500000476837158;
+ heap32[(r10+10)] = 1065353216;
+ f12 = f12+f13;
+ heap32[(r10+11)] = 0;
+ heapFloat[(r10+12)] = f12;
+ heapFloat[(r10+13)] = f11;
+ heapFloat[(r10+14)] = f5;
+ heap32[(r10+15)] = 0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ _ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(i7);
+ r9 = 0;
+ heap32[(r12+23)] = r_g0;
+_297: while(true){
+ r8 = r9 << 2;
+ r8 = (r7 - r8)|0;
+ r8 = r8 >> 2;
+ r10 = heap32[(r8+13)];
+ r10 = r10 >> 2;
+ heap32[(r10+109)] = 1028443341;
+ heap32[(r10+110)] = 1062836634;
+ r10 = heap32[(r8+13)];
+ r10 = r10 >> 2;
+ heap32[(r10+55)] = 1061997773;
+ r8 = heap32[(r8+13)];
+ r8 = r8 >> 2;
+ r9 = (r9 + -1)|0;
+ heap32[(r8+116)] = 1070386381;
+ heap32[(r8+117)] = 1075838976;
+if(!(r9 !=-11)) //_LBB26_219
+{
+break _297;
+}
+}
+ heap32[(g0)] = 748;
+ _Znwj(i7);
+ r8 = r_g0;
+ r9 = heap32[(r12+14)];
+ r10 = heap32[(r12+13)];
+ r11 = r8 >> 2;
+ heap32[(r11+1)] = 4;
+ heap32[(r11+2)] = -1;
+ r13 = 0;
+ heap32[(r11+3)] = -1;
+ heap8[r8+16] = r13;
+ heap32[(r11+5)] = r10;
+ heap32[(r11+6)] = r9;
+ r9 = _ZTV17btHingeConstraint;
+ heap32[(r11+7)] = 0;
+ r9 = (r9 + 8)|0;
+ heap32[(r11+8)] = 1050253722;
+ heap32[(r11)] = r9;
+ heap32[(r11+135)] = -1287930578;
+ heap32[(r11+136)] = 0;
+ heap32[(r11+137)] = 1065353216;
+ heap32[(r11+138)] = 0;
+ heap32[(r11+139)] = -2147483648;
+ heap32[(r11+140)] = 1065353216;
+ heap32[(r11+141)] = 0;
+ heap32[(r11+142)] = 0;
+ heap32[(r11+143)] = -1082130432;
+ heap32[(r11+144)] = -2147483648;
+ heap32[(r11+145)] = -1287930578;
+ heap32[(r11+146)] = 0;
+ heap32[(r11+147)] = 0;
+ heap32[(r11+148)] = 1057384039;
+ heap32[(r11+149)] = 0;
+ heap32[(r11+150)] = 0;
+ heap32[(r11+151)] = -1287930578;
+ heap32[(r11+152)] = 0;
+ heap32[(r11+153)] = 1065353216;
+ heap32[(r11+154)] = 0;
+ heap32[(r11+155)] = -2147483648;
+ heap32[(r11+156)] = 1065353216;
+ heap32[(r11+157)] = 0;
+ heap32[(r11+158)] = 0;
+ heap32[(r11+159)] = -1082130432;
+ heap32[(r11+160)] = -2147483648;
+ heap32[(r11+161)] = -1287930578;
+ heap32[(r11+162)] = 0;
+ heap32[(r11+163)] = 0;
+ heap32[(r11+164)] = -1090099609;
+ heap32[(r11+165)] = 0;
+ heap32[(r11+166)] = 0;
+ heap8[r8+720] = r13;
+ heap8[r8+721] = r13;
+ heap8[r8+723] = r13;
+ heap8[r8+724] = r4;
+ heap8[r8+725] = r13;
+ heap32[(r11+183)] = 0;
+ heap32[(r11+172)] = 1065353216;
+ heap32[(r11+173)] = -1082130432;
+ heap32[(r11+170)] = 1050253722;
+ heap32[(r11+171)] = 1065353216;
+ heap32[(r11+169)] = 1063675494;
+ heap8[r8+722] = r13;
+ heap32[(r11+179)] = 1065353216;
+ heap32[(g0)] = -1085730853;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f12 = f_g0;
+ f13 = -3.1415927410125732;
+ if(f12 >=f13) //_LBB26_222
+{
+ f14 = 3.1415927410125732;
+ if(f12 >f14) //_LBB26_224
+{
+ f14 = -6.2831854820251465;
+ f12 = f12+f14;
+}
+}
+else{
+ f14 = 6.2831854820251465;
+ f12 = f12+f14;
+}
+ r10 = r8 >> 2;
+ heapFloat[(r10+172)] = f12;
+ heap32[(g0)] = 1070141403;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f12 = f_g0;
+ if(f12 >=f13) //_LBB26_227
+{
+ f14 = 3.1415927410125732;
+ if(f12 >f14) //_LBB26_229
+{
+ f14 = -6.2831854820251465;
+ f12 = f12+f14;
+}
+}
+else{
+ f14 = 6.2831854820251465;
+ f12 = f12+f14;
+}
+ heapFloat[(r10+173)] = f12;
+ heap32[(r10+169)] = 1063675494;
+ heap32[(r10+170)] = 1050253722;
+ heap32[(r10+171)] = 1065353216;
+ heap32[(r12+24)] = r8;
+ r10 = heap32[(r12+1)];
+ r11 = r10 >> 2;
+ r11 = heap32[(r11)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+13)];
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ heap32[(g0)] = 596;
+ _Znwj(i7);
+ r10 = heap32[(r12+15)];
+ r11 = heap32[(r12+14)];
+ r14 = r_g0 >> 2;
+ heap32[(r14+1)] = 5;
+ heap32[(r14+2)] = -1;
+ heap32[(r14+3)] = -1;
+ heap8[r_g0+16] = r13;
+ heap32[(r14+5)] = r11;
+ heap32[(r14+6)] = r10;
+ heap32[(r14+7)] = 0;
+ r10 = _ZTV21btConeTwistConstraint;
+ heap32[(r14+8)] = 1050253722;
+ r10 = (r10 + 8)|0;
+ heap32[(r14)] = r10;
+ heap32[(r14+72)] = -1287930578;
+ heap32[(r14+73)] = -1082130432;
+ heap32[(r14+74)] = 0;
+ heap32[(r14+75)] = 0;
+ heap32[(r14+76)] = 1065353216;
+ heap32[(r14+77)] = -1287930578;
+ heap32[(r14+78)] = 0;
+ heap32[(r14+79)] = 0;
+ heap32[(r14+80)] = -2147483648;
+ heap32[(r14+81)] = 0;
+ heap32[(r14+82)] = 1065353216;
+ heap32[(r14+83)] = 0;
+ heap32[(r14+84)] = 0;
+ heap32[(r14+85)] = 1065772647;
+ heap32[(r14+86)] = 0;
+ heap32[(r14+87)] = 0;
+ heap32[(r14+88)] = -1287930578;
+ heap32[(r14+89)] = -1082130432;
+ heap32[(r14+90)] = 0;
+ heap32[(r14+91)] = 0;
+ heap32[(r14+92)] = 1065353216;
+ heap32[(r14+93)] = -1287930578;
+ heap32[(r14+94)] = 0;
+ heap32[(r14+95)] = 0;
+ heap32[(r14+96)] = -2147483648;
+ heap32[(r14+97)] = 0;
+ heap32[(r14+98)] = 1065353216;
+ heap32[(r14+99)] = 0;
+ heap32[(r14+100)] = 0;
+ heap32[(r14+101)] = -1090854584;
+ heap32[(r14+102)] = 0;
+ heap32[(r14+103)] = 0;
+ heap8[r_g0+540] = r13;
+ heap32[(r14+128)] = 0;
+ heap32[(r14+140)] = -1082130432;
+ heap32[(r14+107)] = 1008981770;
+ heap32[(r14+111)] = 1028443341;
+ heap32[(r14+145)] = 0;
+ heap32[(r14+146)] = 0;
+ heap32[(r14+147)] = 1060320051;
+ heap32[(r14+148)] = 0;
+ heap32[(r14+108)] = 1061752795;
+ heap32[(r14+109)] = 1061752795;
+ heap32[(r14+110)] = 1070141403;
+ heap32[(r14+104)] = 1065353216;
+ heap32[(r14+105)] = 1050253722;
+ heap32[(r14+106)] = 1065353216;
+ heap32[(r12+25)] = r_g0;
+ r11 = heap32[(r12+1)];
+ r14 = r11 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+13)];
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ heap32[(g0)] = 596;
+ _Znwj(i7);
+ r11 = heap32[(r12+16)];
+ r14 = heap32[(r12+13)];
+ r15 = r_g0 >> 2;
+ heap32[(r15+1)] = 5;
+ heap32[(r15+2)] = -1;
+ heap32[(r15+3)] = -1;
+ heap8[r_g0+16] = r13;
+ heap32[(r15+5)] = r14;
+ heap32[(r15+6)] = r11;
+ heap32[(r15+7)] = 0;
+ heap32[(r15+8)] = 1050253722;
+ heap32[(r15)] = r10;
+ heap32[(r15+72)] = -1087044364;
+ heap32[(r15+73)] = -1087044366;
+ heap32[(r15+74)] = 0;
+ heap32[(r15+75)] = 0;
+ heap32[(r15+76)] = 1060439282;
+ heap32[(r15+77)] = -1087044364;
+ heap32[(r15+78)] = 0;
+ heap32[(r15+79)] = 0;
+ heap32[(r15+80)] = -2147483648;
+ heap32[(r15+81)] = 0;
+ heap32[(r15+82)] = 1065353216;
+ heap32[(r15+83)] = 0;
+ heap32[(r15+84)] = -1088338002;
+ heap32[(r15+85)] = -1095552205;
+ heap32[(r15+86)] = 0;
+ heap32[(r15+87)] = 0;
+ heap32[(r15+88)] = -1087044364;
+ heap32[(r15+89)] = -1087044366;
+ heap32[(r15+90)] = 0;
+ heap32[(r15+91)] = 0;
+ heap32[(r15+92)] = 1060439282;
+ heap32[(r15+93)] = -1087044364;
+ heap32[(r15+94)] = 0;
+ heap32[(r15+95)] = 0;
+ heap32[(r15+96)] = -2147483648;
+ heap32[(r15+97)] = 0;
+ heap32[(r15+98)] = 1065353216;
+ heap32[(r15+99)] = 0;
+ heap32[(r15+100)] = 0;
+ heap32[(r15+101)] = 1061788057;
+ heap32[(r15+102)] = 0;
+ heap32[(r15+103)] = 0;
+ heap8[r_g0+540] = r13;
+ heap32[(r15+128)] = 0;
+ heap32[(r15+140)] = -1082130432;
+ heap32[(r15+107)] = 1008981770;
+ heap32[(r15+111)] = 1028443341;
+ heap32[(r15+145)] = 0;
+ heap32[(r15+146)] = 0;
+ heap32[(r15+147)] = 1060320051;
+ heap32[(r15+148)] = 0;
+ heap32[(r15+108)] = 1061752795;
+ heap32[(r15+109)] = 1061752795;
+ heap32[(r15+110)] = 0;
+ heap32[(r15+104)] = 1065353216;
+ heap32[(r15+105)] = 1050253722;
+ heap32[(r15+106)] = 1065353216;
+ heap32[(r12+26)] = r_g0;
+ r11 = heap32[(r12+1)];
+ r14 = r11 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+13)];
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ heap32[(g0)] = 748;
+ _Znwj(i7);
+ r8 = r_g0;
+ r11 = heap32[(r12+17)];
+ r14 = heap32[(r12+16)];
+ r15 = r8 >> 2;
+ heap32[(r15+1)] = 4;
+ heap32[(r15+2)] = -1;
+ heap32[(r15+3)] = -1;
+ heap8[r8+16] = r13;
+ heap32[(r15+5)] = r14;
+ heap32[(r15+6)] = r11;
+ heap32[(r15+7)] = 0;
+ heap32[(r15+8)] = 1050253722;
+ heap32[(r15)] = r9;
+ heap32[(r15+135)] = -1287930578;
+ heap32[(r15+136)] = 0;
+ heap32[(r15+137)] = 1065353216;
+ heap32[(r15+138)] = 0;
+ heap32[(r15+139)] = -2147483648;
+ heap32[(r15+140)] = 1065353216;
+ heap32[(r15+141)] = 0;
+ heap32[(r15+142)] = 0;
+ heap32[(r15+143)] = -1082130432;
+ heap32[(r15+144)] = -2147483648;
+ heap32[(r15+145)] = -1287930578;
+ heap32[(r15+146)] = 0;
+ heap32[(r15+147)] = 0;
+ heap32[(r15+148)] = -1085695591;
+ heap32[(r15+149)] = 0;
+ heap32[(r15+150)] = 0;
+ heap32[(r15+151)] = -1287930578;
+ heap32[(r15+152)] = 0;
+ heap32[(r15+153)] = 1065353216;
+ heap32[(r15+154)] = 0;
+ heap32[(r15+155)] = -2147483648;
+ heap32[(r15+156)] = 1065353216;
+ heap32[(r15+157)] = 0;
+ heap32[(r15+158)] = 0;
+ heap32[(r15+159)] = -1082130432;
+ heap32[(r15+160)] = -2147483648;
+ heap32[(r15+161)] = -1287930578;
+ heap32[(r15+162)] = 0;
+ heap32[(r15+163)] = 0;
+ heap32[(r15+164)] = 1059439248;
+ heap32[(r15+165)] = 0;
+ heap32[(r15+166)] = 0;
+ heap8[r8+720] = r13;
+ heap8[r8+721] = r13;
+ heap8[r8+723] = r13;
+ heap8[r8+724] = r4;
+ heap8[r8+725] = r13;
+ heap32[(r15+183)] = 0;
+ heap32[(r15+172)] = 1065353216;
+ heap32[(r15+173)] = -1082130432;
+ heap32[(r15+170)] = 1050253722;
+ heap32[(r15+171)] = 1065353216;
+ heap32[(r15+169)] = 1063675494;
+ heap8[r8+722] = r13;
+ heap32[(r15+179)] = 1065353216;
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f12 = f_g0;
+ if(f12 >=f13) //_LBB26_232
+{
+ f14 = 3.1415927410125732;
+ if(f12 >f14) //_LBB26_234
+{
+ f14 = -6.2831854820251465;
+ f12 = f12+f14;
+}
+}
+else{
+ f14 = 6.2831854820251465;
+ f12 = f12+f14;
+}
+ r11 = r8 >> 2;
+ heapFloat[(r11+172)] = f12;
+ heap32[(g0)] = 1070141403;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f12 = f_g0;
+ if(f12 >=f13) //_LBB26_237
+{
+ f14 = 3.1415927410125732;
+ if(f12 >f14) //_LBB26_239
+{
+ f14 = -6.2831854820251465;
+ f12 = f12+f14;
+}
+}
+else{
+ f14 = 6.2831854820251465;
+ f12 = f12+f14;
+}
+ heapFloat[(r11+173)] = f12;
+ heap32[(r11+169)] = 1063675494;
+ heap32[(r11+170)] = 1050253722;
+ heap32[(r11+171)] = 1065353216;
+ heap32[(r12+27)] = r8;
+ r11 = heap32[(r12+1)];
+ r14 = r11 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+13)];
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ heap32[(g0)] = 596;
+ _Znwj(i7);
+ r11 = heap32[(r12+18)];
+ r14 = heap32[(r12+13)];
+ r15 = r_g0 >> 2;
+ heap32[(r15+1)] = 5;
+ heap32[(r15+2)] = -1;
+ heap32[(r15+3)] = -1;
+ heap8[r_g0+16] = r13;
+ heap32[(r15+5)] = r14;
+ heap32[(r15+6)] = r11;
+ heap32[(r15+7)] = 0;
+ heap32[(r15+8)] = 1050253722;
+ heap32[(r15)] = r10;
+ heap32[(r15+72)] = 1060439283;
+ heap32[(r15+73)] = -1087044365;
+ heap32[(r15+74)] = 0;
+ heap32[(r15+75)] = 0;
+ heap32[(r15+76)] = 1060439283;
+ heap32[(r15+77)] = 1060439283;
+ heap32[(r15+78)] = 0;
+ heap32[(r15+79)] = 0;
+ heap32[(r15+80)] = -2147483648;
+ heap32[(r15+81)] = 0;
+ heap32[(r15+82)] = 1065353216;
+ heap32[(r15+83)] = 0;
+ heap32[(r15+84)] = 1059145646;
+ heap32[(r15+85)] = -1095552205;
+ heap32[(r15+86)] = 0;
+ heap32[(r15+87)] = 0;
+ heap32[(r15+88)] = 1060439283;
+ heap32[(r15+89)] = -1087044365;
+ heap32[(r15+90)] = 0;
+ heap32[(r15+91)] = 0;
+ heap32[(r15+92)] = 1060439283;
+ heap32[(r15+93)] = 1060439283;
+ heap32[(r15+94)] = 0;
+ heap32[(r15+95)] = 0;
+ heap32[(r15+96)] = -2147483648;
+ heap32[(r15+97)] = 0;
+ heap32[(r15+98)] = 1065353216;
+ heap32[(r15+99)] = 0;
+ heap32[(r15+100)] = 0;
+ heap32[(r15+101)] = 1061788057;
+ heap32[(r15+102)] = 0;
+ heap32[(r15+103)] = 0;
+ heap8[r_g0+540] = r13;
+ heap32[(r15+128)] = 0;
+ heap32[(r15+140)] = -1082130432;
+ heap32[(r15+107)] = 1008981770;
+ heap32[(r15+111)] = 1028443341;
+ heap32[(r15+145)] = 0;
+ heap32[(r15+146)] = 0;
+ heap32[(r15+147)] = 1060320051;
+ heap32[(r15+148)] = 0;
+ heap32[(r15+108)] = 1061752795;
+ heap32[(r15+109)] = 1061752795;
+ heap32[(r15+110)] = 0;
+ heap32[(r15+104)] = 1065353216;
+ heap32[(r15+105)] = 1050253722;
+ heap32[(r15+106)] = 1065353216;
+ heap32[(r12+28)] = r_g0;
+ r11 = heap32[(r12+1)];
+ r14 = r11 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+13)];
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ heap32[(g0)] = 748;
+ _Znwj(i7);
+ r8 = r_g0;
+ r11 = heap32[(r12+19)];
+ r14 = heap32[(r12+18)];
+ r15 = r8 >> 2;
+ heap32[(r15+1)] = 4;
+ heap32[(r15+2)] = -1;
+ heap32[(r15+3)] = -1;
+ heap8[r8+16] = r13;
+ heap32[(r15+5)] = r14;
+ heap32[(r15+6)] = r11;
+ heap32[(r15+7)] = 0;
+ heap32[(r15+8)] = 1050253722;
+ heap32[(r15)] = r9;
+ heap32[(r15+135)] = -1287930578;
+ heap32[(r15+136)] = 0;
+ heap32[(r15+137)] = 1065353216;
+ heap32[(r15+138)] = 0;
+ heap32[(r15+139)] = -2147483648;
+ heap32[(r15+140)] = 1065353216;
+ heap32[(r15+141)] = 0;
+ heap32[(r15+142)] = 0;
+ heap32[(r15+143)] = -1082130432;
+ heap32[(r15+144)] = -2147483648;
+ heap32[(r15+145)] = -1287930578;
+ heap32[(r15+146)] = 0;
+ heap32[(r15+147)] = 0;
+ heap32[(r15+148)] = -1085695591;
+ heap32[(r15+149)] = 0;
+ heap32[(r15+150)] = 0;
+ heap32[(r15+151)] = -1287930578;
+ heap32[(r15+152)] = 0;
+ heap32[(r15+153)] = 1065353216;
+ heap32[(r15+154)] = 0;
+ heap32[(r15+155)] = -2147483648;
+ heap32[(r15+156)] = 1065353216;
+ heap32[(r15+157)] = 0;
+ heap32[(r15+158)] = 0;
+ heap32[(r15+159)] = -1082130432;
+ heap32[(r15+160)] = -2147483648;
+ heap32[(r15+161)] = -1287930578;
+ heap32[(r15+162)] = 0;
+ heap32[(r15+163)] = 0;
+ heap32[(r15+164)] = 1059439248;
+ heap32[(r15+165)] = 0;
+ heap32[(r15+166)] = 0;
+ heap8[r8+720] = r13;
+ heap8[r8+721] = r13;
+ heap8[r8+723] = r13;
+ heap8[r8+724] = r4;
+ heap8[r8+725] = r13;
+ heap32[(r15+183)] = 0;
+ heap32[(r15+172)] = 1065353216;
+ heap32[(r15+173)] = -1082130432;
+ heap32[(r15+170)] = 1050253722;
+ heap32[(r15+171)] = 1065353216;
+ heap32[(r15+169)] = 1063675494;
+ heap8[r8+722] = r13;
+ heap32[(r15+179)] = 1065353216;
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f12 = f_g0;
+ if(f12 >=f13) //_LBB26_242
+{
+ f14 = 3.1415927410125732;
+ if(f12 >f14) //_LBB26_244
+{
+ f14 = -6.2831854820251465;
+ f12 = f12+f14;
+}
+}
+else{
+ f14 = 6.2831854820251465;
+ f12 = f12+f14;
+}
+ r11 = r8 >> 2;
+ heapFloat[(r11+172)] = f12;
+ heap32[(g0)] = 1070141403;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f12 = f_g0;
+ if(f12 >=f13) //_LBB26_247
+{
+ f14 = 3.1415927410125732;
+ if(f12 >f14) //_LBB26_249
+{
+ f14 = -6.2831854820251465;
+ f12 = f12+f14;
+}
+}
+else{
+ f14 = 6.2831854820251465;
+ f12 = f12+f14;
+}
+ heapFloat[(r11+173)] = f12;
+ heap32[(r11+169)] = 1063675494;
+ heap32[(r11+170)] = 1050253722;
+ heap32[(r11+171)] = 1065353216;
+ heap32[(r12+29)] = r8;
+ r11 = heap32[(r12+1)];
+ r14 = r11 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+13)];
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ heap32[(g0)] = 596;
+ _Znwj(i7);
+ r11 = heap32[(r12+20)];
+ r14 = heap32[(r12+14)];
+ r15 = r_g0 >> 2;
+ heap32[(r15+1)] = 5;
+ heap32[(r15+2)] = -1;
+ heap32[(r15+3)] = -1;
+ heap8[r_g0+16] = r13;
+ heap32[(r15+5)] = r14;
+ heap32[(r15+6)] = r11;
+ heap32[(r15+7)] = 0;
+ heap32[(r15+8)] = 1050253722;
+ heap32[(r15)] = r10;
+ heap32[(r15+72)] = -1082130432;
+ heap32[(r15+73)] = 867941678;
+ heap32[(r15+74)] = -2147483648;
+ heap32[(r15+75)] = 0;
+ heap32[(r15+76)] = -1279541970;
+ heap32[(r15+77)] = -1082130432;
+ heap32[(r15+78)] = 0;
+ heap32[(r15+79)] = 0;
+ heap32[(r15+80)] = -2147483648;
+ heap32[(r15+81)] = 0;
+ heap32[(r15+82)] = 1065353216;
+ heap32[(r15+83)] = 0;
+ heap32[(r15+84)] = -1087163597;
+ heap32[(r15+85)] = 1057384039;
+ heap32[(r15+86)] = 0;
+ heap32[(r15+87)] = 0;
+ heap32[(r15+88)] = -1287930578;
+ heap32[(r15+89)] = -1082130432;
+ heap32[(r15+90)] = 0;
+ heap32[(r15+91)] = 0;
+ heap32[(r15+92)] = 1065353216;
+ heap32[(r15+93)] = -1287930578;
+ heap32[(r15+94)] = 0;
+ heap32[(r15+95)] = 0;
+ heap32[(r15+96)] = -2147483648;
+ heap32[(r15+97)] = 0;
+ heap32[(r15+98)] = 1065353216;
+ heap32[(r15+99)] = 0;
+ heap32[(r15+100)] = 0;
+ heap32[(r15+101)] = -1088338002;
+ heap32[(r15+102)] = 0;
+ heap32[(r15+103)] = 0;
+ heap8[r_g0+540] = r13;
+ heap32[(r15+128)] = 0;
+ heap32[(r15+140)] = -1082130432;
+ heap32[(r15+107)] = 1008981770;
+ heap32[(r15+111)] = 1028443341;
+ heap32[(r15+145)] = 0;
+ heap32[(r15+146)] = 0;
+ heap32[(r15+147)] = 1060320051;
+ heap32[(r15+148)] = 0;
+ heap32[(r15+108)] = 1070141403;
+ heap32[(r15+109)] = 1070141403;
+ heap32[(r15+110)] = 0;
+ heap32[(r15+104)] = 1065353216;
+ heap32[(r15+105)] = 1050253722;
+ heap32[(r15+106)] = 1065353216;
+ heap32[(r12+30)] = r_g0;
+ r11 = heap32[(r12+1)];
+ r14 = r11 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+13)];
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ heap32[(g0)] = 748;
+ _Znwj(i7);
+ r8 = r_g0;
+ r11 = heap32[(r12+21)];
+ r14 = heap32[(r12+20)];
+ r15 = r8 >> 2;
+ heap32[(r15+1)] = 4;
+ heap32[(r15+2)] = -1;
+ heap32[(r15+3)] = -1;
+ heap8[r8+16] = r13;
+ heap32[(r15+5)] = r14;
+ heap32[(r15+6)] = r11;
+ heap32[(r15+7)] = 0;
+ heap32[(r15+8)] = 1050253722;
+ heap32[(r15)] = r9;
+ heap32[(r15+135)] = -1287930578;
+ heap32[(r15+136)] = 0;
+ heap32[(r15+137)] = 1065353216;
+ heap32[(r15+138)] = 0;
+ heap32[(r15+139)] = -2147483648;
+ heap32[(r15+140)] = 1065353216;
+ heap32[(r15+141)] = 0;
+ heap32[(r15+142)] = 0;
+ heap32[(r15+143)] = -1082130432;
+ heap32[(r15+144)] = -2147483648;
+ heap32[(r15+145)] = -1287930578;
+ heap32[(r15+146)] = 0;
+ heap32[(r15+147)] = 0;
+ heap32[(r15+148)] = 1059145646;
+ heap32[(r15+149)] = 0;
+ heap32[(r15+150)] = 0;
+ heap32[(r15+151)] = -1287930578;
+ heap32[(r15+152)] = 0;
+ heap32[(r15+153)] = 1065353216;
+ heap32[(r15+154)] = 0;
+ heap32[(r15+155)] = -2147483648;
+ heap32[(r15+156)] = 1065353216;
+ heap32[(r15+157)] = 0;
+ heap32[(r15+158)] = 0;
+ heap32[(r15+159)] = -1082130432;
+ heap32[(r15+160)] = -2147483648;
+ heap32[(r15+161)] = -1287930578;
+ heap32[(r15+162)] = 0;
+ heap32[(r15+163)] = 0;
+ heap32[(r15+164)] = -1090854584;
+ heap32[(r15+165)] = 0;
+ heap32[(r15+166)] = 0;
+ heap8[r8+720] = r13;
+ heap8[r8+721] = r13;
+ heap8[r8+723] = r13;
+ heap8[r8+724] = r4;
+ heap8[r8+725] = r13;
+ heap32[(r15+183)] = 0;
+ heap32[(r15+172)] = 1065353216;
+ heap32[(r15+173)] = -1082130432;
+ heap32[(r15+170)] = 1050253722;
+ heap32[(r15+171)] = 1065353216;
+ heap32[(r15+169)] = 1063675494;
+ heap8[r8+722] = r13;
+ heap32[(r15+179)] = 1065353216;
+ heap32[(g0)] = -1077342245;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f12 = f_g0;
+ if(f12 >=f13) //_LBB26_252
+{
+ f14 = 3.1415927410125732;
+ if(f12 >f14) //_LBB26_254
+{
+ f14 = -6.2831854820251465;
+ f12 = f12+f14;
+}
+}
+else{
+ f14 = 6.2831854820251465;
+ f12 = f12+f14;
+}
+ r11 = r8 >> 2;
+ heapFloat[(r11+172)] = f12;
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f12 = f_g0;
+ if(f12 >=f13) //_LBB26_257
+{
+ f14 = 3.1415927410125732;
+ if(f12 >f14) //_LBB26_259
+{
+ f14 = -6.2831854820251465;
+ f12 = f12+f14;
+}
+}
+else{
+ f14 = 6.2831854820251465;
+ f12 = f12+f14;
+}
+ heapFloat[(r11+173)] = f12;
+ heap32[(r11+169)] = 1063675494;
+ heap32[(r11+170)] = 1050253722;
+ heap32[(r11+171)] = 1065353216;
+ heap32[(r12+31)] = r8;
+ r11 = heap32[(r12+1)];
+ r14 = r11 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+13)];
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ heap32[(g0)] = 596;
+ _Znwj(i7);
+ r11 = heap32[(r12+22)];
+ r14 = heap32[(r12+14)];
+ r15 = r_g0 >> 2;
+ heap32[(r15+1)] = 5;
+ heap32[(r15+2)] = -1;
+ heap32[(r15+3)] = -1;
+ heap8[r_g0+16] = r13;
+ heap32[(r15+5)] = r14;
+ heap32[(r15+6)] = r11;
+ heap32[(r15+7)] = 0;
+ heap32[(r15+8)] = 1050253722;
+ heap32[(r15)] = r10;
+ heap32[(r15+72)] = 1065353216;
+ heap32[(r15+73)] = 0;
+ heap32[(r15+74)] = 0;
+ heap32[(r15+75)] = 0;
+ heap32[(r15+76)] = 0;
+ heap32[(r15+77)] = 1065353216;
+ heap32[(r15+78)] = 0;
+ heap32[(r15+79)] = 0;
+ heap32[(r15+80)] = -2147483648;
+ heap32[(r15+81)] = 0;
+ heap32[(r15+82)] = 1065353216;
+ heap32[(r15+83)] = 0;
+ heap32[(r15+84)] = 1060320051;
+ heap32[(r15+85)] = 1057384039;
+ heap32[(r15+86)] = 0;
+ heap32[(r15+87)] = 0;
+ heap32[(r15+88)] = -1287930578;
+ heap32[(r15+89)] = -1082130432;
+ heap32[(r15+90)] = 0;
+ heap32[(r15+91)] = 0;
+ heap32[(r15+92)] = 1065353216;
+ heap32[(r15+93)] = -1287930578;
+ heap32[(r15+94)] = 0;
+ heap32[(r15+95)] = 0;
+ heap32[(r15+96)] = -2147483648;
+ heap32[(r15+97)] = 0;
+ heap32[(r15+98)] = 1065353216;
+ heap32[(r15+99)] = 0;
+ heap32[(r15+100)] = 0;
+ heap32[(r15+101)] = -1088338002;
+ heap32[(r15+102)] = 0;
+ heap32[(r15+103)] = 0;
+ heap8[r_g0+540] = r13;
+ heap32[(r15+128)] = 0;
+ heap32[(r15+140)] = -1082130432;
+ heap32[(r15+107)] = 1008981770;
+ heap32[(r15+111)] = 1028443341;
+ heap32[(r15+145)] = 0;
+ heap32[(r15+146)] = 0;
+ heap32[(r15+147)] = 1060320051;
+ heap32[(r15+148)] = 0;
+ heap32[(r15+108)] = 1070141403;
+ heap32[(r15+109)] = 1070141403;
+ heap32[(r15+110)] = 0;
+ heap32[(r15+104)] = 1065353216;
+ heap32[(r15+105)] = 1050253722;
+ heap32[(r15+106)] = 1065353216;
+ heap32[(r12+32)] = r_g0;
+ r10 = heap32[(r12+1)];
+ r11 = r10 >> 2;
+ r11 = heap32[(r11)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+13)];
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ heap32[(g0)] = 748;
+ _Znwj(i7);
+ r8 = r_g0;
+ r10 = heap32[(r12+23)];
+ r11 = heap32[(r12+22)];
+ r14 = r8 >> 2;
+ heap32[(r14+1)] = 4;
+ heap32[(r14+2)] = -1;
+ heap32[(r14+3)] = -1;
+ heap8[r8+16] = r13;
+ heap32[(r14+5)] = r11;
+ heap32[(r14+6)] = r10;
+ heap32[(r14+7)] = 0;
+ heap32[(r14+8)] = 1050253722;
+ heap32[(r14)] = r9;
+ heap32[(r14+135)] = -1287930578;
+ heap32[(r14+136)] = 0;
+ heap32[(r14+137)] = 1065353216;
+ heap32[(r14+138)] = 0;
+ heap32[(r14+139)] = -2147483648;
+ heap32[(r14+140)] = 1065353216;
+ heap32[(r14+141)] = 0;
+ heap32[(r14+142)] = 0;
+ heap32[(r14+143)] = -1082130432;
+ heap32[(r14+144)] = -2147483648;
+ heap32[(r14+145)] = -1287930578;
+ heap32[(r14+146)] = 0;
+ heap32[(r14+147)] = 0;
+ heap32[(r14+148)] = 1059145646;
+ heap32[(r14+149)] = 0;
+ heap32[(r14+150)] = 0;
+ heap32[(r14+151)] = -1287930578;
+ heap32[(r14+152)] = 0;
+ heap32[(r14+153)] = 1065353216;
+ heap32[(r14+154)] = 0;
+ heap32[(r14+155)] = -2147483648;
+ heap32[(r14+156)] = 1065353216;
+ heap32[(r14+157)] = 0;
+ heap32[(r14+158)] = 0;
+ heap32[(r14+159)] = -1082130432;
+ heap32[(r14+160)] = -2147483648;
+ heap32[(r14+161)] = -1287930578;
+ heap32[(r14+162)] = 0;
+ heap32[(r14+163)] = 0;
+ heap32[(r14+164)] = -1090854584;
+ heap32[(r14+165)] = 0;
+ heap32[(r14+166)] = 0;
+ heap8[r8+720] = r13;
+ heap8[r8+721] = r13;
+ heap8[r8+723] = r13;
+ heap8[r8+724] = r4;
+ heap8[r8+725] = r13;
+ heap32[(r14+183)] = 0;
+ heap32[(r14+172)] = 1065353216;
+ heap32[(r14+173)] = -1082130432;
+ heap32[(r14+170)] = 1050253722;
+ heap32[(r14+171)] = 1065353216;
+ heap32[(r14+169)] = 1063675494;
+ heap8[r8+722] = r13;
+ heap32[(r14+179)] = 1065353216;
+ heap32[(g0)] = -1077342245;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f12 = f_g0;
+ if(f12 >=f13) //_LBB26_262
+{
+ f14 = 3.1415927410125732;
+ if(f12 >f14) //_LBB26_264
+{
+ f14 = -6.2831854820251465;
+ f12 = f12+f14;
+}
+}
+else{
+ f14 = 6.2831854820251465;
+ f12 = f12+f14;
+}
+ r9 = r8 >> 2;
+ heapFloat[(r9+172)] = f12;
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f12 = f_g0;
+ if(f12 >=f13) //_LBB26_267
+{
+ f13 = 3.1415927410125732;
+ if(f12 >f13) //_LBB26_269
+{
+ f13 = -6.2831854820251465;
+ f12 = f12+f13;
+}
+}
+else{
+ f13 = 6.2831854820251465;
+ f12 = f12+f13;
+}
+ heapFloat[(r9+173)] = f12;
+ heap32[(r9+169)] = 1063675494;
+ heap32[(r9+170)] = 1050253722;
+ heap32[(r9+171)] = 1065353216;
+ heap32[(r12+33)] = r8;
+ r9 = heap32[(r12+1)];
+ r10 = r9 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+13)];
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r8 = heap32[(r1+10)];
+ r9 = heap32[(r1+9)];
+ if(r8 ==r9) //_LBB26_272
+{
+ r10 = r9 << 1;
+ r10 = r9 == 0 ? r4 : r10;
+if(!(r8 >=r10)) //_LBB26_271
+{
+ if(r10 !=0) //_LBB26_275
+{
+ r8 = heap32[(r2)];
+ r11 = r10 << 2;
+ r8 = (r8 + 1)|0;
+ r11 = r11 | 3;
+ heap32[(r2)] = r8;
+ r8 = (r11 + 16)|0;
+ heap32[(g0)] = r8;
+ malloc(i7);
+ r8 = r_g0;
+ if(r8 !=0) //_LBB26_277
+{
+ r11 = (r8 + 4)|0;
+ r11 = (r13 - r11)|0;
+ r11 = r11 & 15;
+ r11 = (r8 + r11)|0;
+ r12 = (r11 + 4)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = r8;
+ r8 = r12;
+}
+}
+else{
+ r8 = 0;
+}
+_358: do {
+ if(r9 <1) //_LBB26_280
+{
+ r11 = heap32[(r1+11)];
+}
+else{
+_360: while(true){
+ r11 = heap32[(r1+11)];
+ r12 = r13 << 2;
+ r14 = (r11 + r12)|0;
+ r14 = r14 >> 2;
+ r12 = (r8 + r12)|0;
+ r14 = heap32[(r14)];
+ r13 = (r13 + 1)|0;
+ r12 = r12 >> 2;
+ heap32[(r12)] = r14;
+if(!(r9 !=r13)) //_LBB26_281
+{
+break _358;
+}
+}
+}
+} while(0);
+ if(r11 !=0) //_LBB26_284
+{
+ r12 = heapU8[r6+48];
+ if(r12 !=0) //_LBB26_286
+{
+ r9 = gNumAlignedFree;
+ r9 = r9 >> 2;
+ r12 = heap32[(r9)];
+ r12 = (r12 + 1)|0;
+ r11 = r11 >> 2;
+ heap32[(r9)] = r12;
+ r9 = heap32[(r11+-1)];
+ heap32[(g0)] = r9;
+ free(i7);
+ r9 = heap32[(r1+9)];
+}
+ heap32[(r1+11)] = 0;
+}
+ heap8[r6+48] = r4;
+ heap32[(r1+11)] = r8;
+ heap32[(r1+10)] = r10;
+}
+}
+ r8 = r9 << 2;
+ r9 = heap32[(r1+11)];
+ r8 = (r9 + r8)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r7;
+ r7 = heap32[(r1+9)];
+ r5 = (r5 + 1)|0;
+ r7 = (r7 + 1)|0;
+ heap32[(r1+9)] = r7;
+if(!(r0 !=r5)) //_LBB26_185
+{
+break _262;
+}
+}
+ f3 = 7;
+ f4 = -2;
+ r0 = (r0 + -1)|0;
+ f1 = f1+f3;
+ f2 = f2+f4;
+ r3 = (r3 + 1)|0;
+ if(r0 ==0) //_LBB26_165
+{
+break _161;
+}
+else{
+continue _260;
+}
+}
+}
+}
+}
+}
+} while(0);
+ return;
+break;
+case 46:
+ r0 = _2E_str674;
+ r1 = _2E_str573;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 53;
+ _assert(i7);
+break;
+}
+}
+
+function _GLOBAL__D__Z6mymainiPPc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = _ZL14benchmarkDemo4;
+ r1 = _ZTV13BenchmarkDemo;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN13BenchmarkDemo11exitPhysicsEv(i7);
+ r1 = heap32[(r2+11)];
+if(!(r1 ==0)) //_LBB27_4
+{
+ r3 = heapU8[r0+48];
+if(!(r3 ==0)) //_LBB27_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+11)] = 0;
+}
+ r1 = 1;
+ heap8[r0+48] = r1;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 0;
+ r3 = heap32[(r2+6)];
+if(!(r3 ==0)) //_LBB27_8
+{
+ r4 = heapU8[r0+28];
+if(!(r4 ==0)) //_LBB27_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+6)] = 0;
+}
+ heap8[r0+28] = r1;
+ heap32[(r2+6)] = 0;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+5)] = 0;
+ return;
+}
+
+function _ZN14BenchmarkDemo4D1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV14BenchmarkDemo4;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN13BenchmarkDemoD2Ev(i7);
+ return;
+}
+
+function _ZN14BenchmarkDemo4D0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV14BenchmarkDemo4;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN13BenchmarkDemoD2Ev(i7);
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function __draw(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = _ZL14benchmarkDemo4;
+ heap32[(g0)] = r0;
+ _ZN13BenchmarkDemo20clientMoveAndDisplayEv(i7);
+ return;
+}
+
+function _ZN13BenchmarkDemoD2Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13BenchmarkDemo;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN13BenchmarkDemo11exitPhysicsEv(i7);
+ r1 = heap32[(r2+11)];
+if(!(r1 ==0)) //_LBB31_4
+{
+ r3 = heapU8[r0+48];
+if(!(r3 ==0)) //_LBB31_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+11)] = 0;
+}
+ r1 = 1;
+ heap8[r0+48] = r1;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 0;
+ r3 = heap32[(r2+6)];
+if(!(r3 ==0)) //_LBB31_8
+{
+ r4 = heapU8[r0+28];
+if(!(r4 ==0)) //_LBB31_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+6)] = 0;
+}
+ heap8[r0+28] = r1;
+ heap32[(r2+6)] = 0;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+5)] = 0;
+ return;
+}
+
+function __init(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = gDisableDeactivation;
+ r1 = 1;
+ heap8[r0] = r1;
+ _ZN13BenchmarkDemo11initPhysicsEv(i7);
+ return;
+}
+
+function _ZN15btNullPairCache23getOverlappingPairArrayEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = (r0 + 4)|0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btNullPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZNK15btNullPairCache22getNumOverlappingPairsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btNullPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15btNullPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15btNullPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15btNullPairCache8findPairEP17btBroadphaseProxyS1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btNullPairCache18hasDeferredRemovalEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btNullPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15btNullPairCache18addOverlappingPairEP17btBroadphaseProxyS1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btNullPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btNullPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15btNullPairCache20sortOverlappingPairsEP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15btNullPairCache26getOverlappingPairArrayPtrEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK15btNullPairCache26getOverlappingPairArrayPtrEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btNullPairCacheD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV15btNullPairCache;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+4)];
+if(!(r1 ==0)) //_LBB48_4
+{
+ r3 = heapU8[r0+20];
+if(!(r3 ==0)) //_LBB48_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+4)] = 0;
+}
+ r1 = 1;
+ heap8[r0+20] = r1;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ return;
+}
+
+function _ZN15btNullPairCacheD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV15btNullPairCache;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+4)];
+if(!(r1 ==0)) //_LBB49_4
+{
+ r3 = heapU8[r0+20];
+if(!(r3 ==0)) //_LBB49_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+4)] = 0;
+}
+ r1 = 1;
+ heap8[r0+20] = r1;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+2)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r1)] = heap32[(r0+4)];
+ heap32[(r1+1)] = heap32[(r0+5)];
+ r2 = heap32[(fp+3)];
+ heap32[(r1+2)] = heap32[(r0+6)];
+ r2 = r2 >> 2;
+ heap32[(r1+3)] = heap32[(r0+7)];
+ heap32[(r2)] = heap32[(r0+8)];
+ heap32[(r2+1)] = heap32[(r0+9)];
+ heap32[(r2+2)] = heap32[(r0+10)];
+ heap32[(r2+3)] = heap32[(r0+11)];
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+23)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+23)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r1)] = heap32[(r0+2)];
+ heap32[(r1+1)] = heap32[(r0+3)];
+ r2 = heap32[(fp+2)];
+ heap32[(r1+2)] = heap32[(r0+4)];
+ r2 = r2 >> 2;
+ heap32[(r1+3)] = heap32[(r0+5)];
+ heap32[(r2)] = heap32[(r0+6)];
+ heap32[(r2+1)] = heap32[(r0+7)];
+ heap32[(r2+2)] = heap32[(r0+8)];
+ heap32[(r2+3)] = heap32[(r0+9)];
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU16[(r0+56)>>1];
+if(!(r1 !=0)) //_LBB54_6
+{
+ r1 = 1;
+ heap16[(r0+64)>>1] = r1;
+ r2 = heapU16[(r0+58)>>1];
+ if(uint(r2) >uint(1)) //_LBB54_3
+{
+ r3 = 2;
+_5: while(true){
+ r2 = r1 & 65535;
+ r4 = r0 >> 2;
+ r2 = r2 << 6;
+ r4 = heap32[(r4+15)];
+ r2 = (r4 + r2)|0;
+ heap16[(r2+48)>>1] = r3;
+ r1 = (r1 + 1)|0;
+ r2 = heapU16[(r0+58)>>1];
+ r3 = (r3 + 1)|0;
+ r4 = r1 & 65535;
+if(!(uint(r2) >uint(r4))) //_LBB54_4
+{
+break _5;
+}
+}
+}
+ r1 = r2 & 65535;
+ r0 = r0 >> 2;
+ r1 = r1 << 6;
+ r0 = heap32[(r0+15)];
+ r0 = (r1 + r0)|0;
+ r1 = 0;
+ heap16[(r0+-16)>>1] = r1;
+}
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE10printStatsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+27)];
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ if(r2 !=0) //_LBB56_2
+{
+ r0 = r2 >> 2;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+7)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ return;
+}
+else{
+ r2 = heapU16[(r0+56)>>1];
+ r2 = r2 << 1;
+ r2 = r2 | 1;
+if(!(r2 ==1)) //_LBB56_18
+{
+ r2 = 1;
+ r6 = 2;
+_6: while(true){
+ r7 = r6;
+ r6 = r2 & 65535;
+ r8 = heap32[(r1+17)];
+ r6 = r6 << 2;
+ r9 = heapU8[r8+r6];
+ r9 = r9 & 1;
+if(!(r9 ==0)) //_LBB56_17
+{
+ r6 = (r8 + r6)|0;
+ r6 = heapU16[(r6+2)>>1];
+ r8 = heap32[(r1+15)];
+ r6 = r6 << 6;
+ r6 = (r8 + r6)|0;
+ r8 = r3 >> 2;
+ r9 = r6 >> 2;
+ f0 = heapFloat[(r8)];
+ f1 = heapFloat[(r9+8)];
+ if(f0 >f1) //_LBB56_8
+{
+__label__ = 8;
+}
+else{
+ r10 = r4 >> 2;
+ f0 = heapFloat[(r10)];
+ f1 = heapFloat[(r9+4)];
+ if(f0 <f1) //_LBB56_8
+{
+__label__ = 8;
+}
+else{
+ r10 = 1;
+__label__ = 9;
+}
+}
+if (__label__ == 8){
+ r10 = 0;
+}
+ f0 = heapFloat[(r8+2)];
+ f1 = heapFloat[(r9+10)];
+ if(f0 >f1) //_LBB56_12
+{
+__label__ = 11;
+}
+else{
+ r11 = r4 >> 2;
+ f0 = heapFloat[(r11+2)];
+ f1 = heapFloat[(r9+6)];
+ if(f0 <f1) //_LBB56_12
+{
+__label__ = 11;
+}
+else{
+__label__ = 12;
+}
+}
+if (__label__ == 11){
+ r10 = 0;
+}
+ f0 = heapFloat[(r8+1)];
+ f1 = heapFloat[(r9+9)];
+if(!(f0 >f1)) //_LBB56_17
+{
+ r8 = r4 >> 2;
+ f0 = heapFloat[(r8+1)];
+ f1 = heapFloat[(r9+5)];
+if(!(f0 <f1)) //_LBB56_17
+{
+ r8 = r10 & 255;
+if(!(r8 ==0)) //_LBB56_17
+{
+ r8 = r5 >> 2;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+}
+}
+}
+}
+ r8 = heapU16[(r0+56)>>1];
+ r6 = (r7 + 1)|0;
+ r2 = (r2 + 1)|0;
+ r8 = r8 << 1;
+ r7 = r7 & 65535;
+ r8 = r8 | 1;
+if(!(uint(r7) <uint(r8))) //_LBB56_4
+{
+break _6;
+}
+}
+}
+ return;
+}
+}
+
+function _ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+27)];
+ r3 = heap32[(fp+3)];
+ if(r2 !=0) //_LBB57_2
+{
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+2)];
+ r4 = heap32[(fp+4)];
+ r5 = heap32[(fp+5)];
+ r6 = r2 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+6)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r5;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ return;
+}
+else{
+ r2 = heapU16[(r0+56)>>1];
+ r2 = r2 << 1;
+ r2 = r2 | 1;
+if(!(r2 ==1)) //_LBB57_7
+{
+ r2 = 1;
+ r4 = 2;
+_6: while(true){
+ r5 = r2 & 65535;
+ r6 = heap32[(r1+17)];
+ r5 = r5 << 2;
+ r7 = heapU8[r6+r5];
+ r7 = r7 & 1;
+if(!(r7 ==0)) //_LBB57_6
+{
+ r7 = r3 >> 2;
+ r7 = heap32[(r7)];
+ r7 = r7 >> 2;
+ r5 = (r6 + r5)|0;
+ r5 = heapU16[(r5+2)>>1];
+ r6 = heap32[(r7+2)];
+ r7 = heap32[(r1+15)];
+ r5 = r5 << 6;
+ r5 = (r7 + r5)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+}
+ r5 = heapU16[(r0+56)>>1];
+ r6 = (r4 + 1)|0;
+ r2 = (r2 + 1)|0;
+ r5 = r5 << 1;
+ r7 = r4 & 65535;
+ r5 = r5 | 1;
+ r4 = r6;
+if(!(uint(r7) <uint(r5))) //_LBB57_4
+{
+break _6;
+}
+}
+}
+ return;
+}
+}
+
+function _ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ f0 = heapFloat[(fp+2)];
+ f1 = heapFloat[(r1+2)];
+ f2 = heapFloat[(fp+4)];
+ f3 = heapFloat[(r1+4)];
+ f4 = heapFloat[(fp+3)];
+ f5 = heapFloat[(r1+3)];
+ f0 = f0-f1;
+ f1 = heapFloat[(r1+10)];
+ f2 = f2-f3;
+ f3 = heapFloat[(r1+12)];
+ f4 = f4-f5;
+ f5 = heapFloat[(r1+11)];
+ f0 = f0*f1;
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+5)];
+ f1 = f2*f3;
+ f2 = f4*f5;
+ f3 = 0;
+ if(f0 >f3) //_LBB58_2
+{
+ r3 = heapU16[(r0+6)>>1];
+ f4 = r3; //fitos r3, f4
+ if(f0 <f4) //_LBB58_4
+{
+ r3 = heapU16[(r0+4)>>1];
+ r4 = Math.floor(f0);
+ r3 = r3 & r4;
+ r3 = r3 | r2;
+}
+else{
+ r4 = heapU16[(r0+4)>>1];
+ r3 = r4 & r3;
+ r3 = r3 | r2;
+}
+}
+else{
+ r3 = r2;
+}
+ heap16[(r1)>>1] = r3;
+ if(f2 >f3) //_LBB58_7
+{
+ r3 = heapU16[(r0+6)>>1];
+ f0 = r3; //fitos r3, f0
+ if(f2 <f0) //_LBB58_9
+{
+ r3 = heapU16[(r0+4)>>1];
+ r4 = Math.floor(f2);
+ r3 = r3 & r4;
+ r3 = r3 | r2;
+}
+else{
+ r4 = heapU16[(r0+4)>>1];
+ r3 = r4 & r3;
+ r3 = r3 | r2;
+}
+}
+else{
+ r3 = r2;
+}
+ heap16[(r1+2)>>1] = r3;
+ if(f1 >f3) //_LBB58_12
+{
+ r3 = heapU16[(r0+6)>>1];
+ f0 = r3; //fitos r3, f0
+ if(f1 <f0) //_LBB58_14
+{
+ r0 = heapU16[(r0+4)>>1];
+ r3 = Math.floor(f1);
+ r0 = r0 & r3;
+ r2 = r0 | r2;
+}
+else{
+ r0 = heapU16[(r0+4)>>1];
+ r0 = r0 & r3;
+ r2 = r0 | r2;
+}
+}
+ heap16[(r1+4)>>1] = r2;
+ return;
+}
+
+function _ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var r25;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+1)];
+ r2 = (r0 + r1)|0;
+ r3 = r2 >>> 31;
+ r4 = heap32[(fp)];
+ r2 = (r2 + r3)|0;
+ r3 = r4 >> 2;
+ r2 = r2 & 536870910;
+ r5 = heap32[(r3+3)];
+ r2 = r2 << 3;
+ r2 = (r5 + r2)|0;
+ r2 = r2 >> 2;
+ r5 = heap32[(r2)];
+ r6 = heap32[(r2+1)];
+ r2 = heap32[(r2+2)];
+ r7 = r1;
+ r8 = r0;
+_1: while(true){
+ r9 = heap32[(r3+3)];
+ r10 = r7 << 4;
+ r10 = (r9 + r10)|0;
+ r11 = 0;
+_3: while(true){
+ r12 = r11 << 4;
+ r12 = (r10 + r12)|0;
+ r12 = r12 >> 2;
+ r13 = r11 << 2;
+ r14 = heap32[(r12)];
+ if(r14 !=0) //_LBB59_5
+{
+ r15 = r14 >> 2;
+ r15 = heap32[(r15+3)];
+}
+else{
+ r15 = -1;
+}
+ if(r5 !=0) //_LBB59_8
+{
+ r16 = r5 >> 2;
+ r16 = heap32[(r16+3)];
+}
+else{
+ r16 = -1;
+}
+ r17 = r13 << 2;
+ r17 = (r10 + r17)|0;
+ r17 = r17 >> 2;
+ r17 = heap32[(r17+1)];
+ if(r17 !=0) //_LBB59_11
+{
+ r18 = r17 >> 2;
+ r18 = heap32[(r18+3)];
+}
+else{
+ r18 = -1;
+}
+ if(r6 !=0) //_LBB59_14
+{
+ r19 = r6 >> 2;
+ r19 = heap32[(r19+3)];
+}
+else{
+ r19 = -1;
+}
+_21: do {
+if(!(r15 >r16)) //_LBB59_2
+{
+if(!(r14 !=r5)) //_LBB59_18
+{
+ if(r18 >r19) //_LBB59_2
+{
+break _21;
+}
+}
+ if(r14 !=r5) //_LBB59_22
+{
+break _3;
+}
+else{
+ if(r17 !=r6) //_LBB59_22
+{
+break _3;
+}
+else{
+ r15 = r13 << 2;
+ r15 = (r10 + r15)|0;
+ r15 = r15 >> 2;
+ r15 = heap32[(r15+2)];
+if(!(uint(r15) >uint(r2))) //_LBB59_2
+{
+break _3;
+}
+}
+}
+}
+} while(0);
+ r11 = (r11 + 1)|0;
+continue _3;
+}
+ r18 = r8 << 4;
+ r15 = (r7 + r11)|0;
+ r9 = (r9 + r18)|0;
+ r16 = 0;
+_30: while(true){
+ r19 = r16 << 2;
+ if(r5 !=0) //_LBB59_25
+{
+ r20 = r5 >> 2;
+ r20 = heap32[(r20+3)];
+}
+else{
+ r20 = -1;
+}
+ r21 = r19 << 2;
+ r21 = (r9 + r21)|0;
+ r21 = r21 >> 2;
+ r21 = heap32[(r21)];
+ if(r21 !=0) //_LBB59_28
+{
+ r22 = r21 >> 2;
+ r22 = heap32[(r22+3)];
+}
+else{
+ r22 = -1;
+}
+ if(r6 !=0) //_LBB59_31
+{
+ r23 = r6 >> 2;
+ r23 = heap32[(r23+3)];
+}
+else{
+ r23 = -1;
+}
+ r24 = r19 << 2;
+ r24 = (r9 + r24)|0;
+ r24 = r24 >> 2;
+ r24 = heap32[(r24+1)];
+ if(r24 !=0) //_LBB59_34
+{
+ r25 = r24 >> 2;
+ r25 = heap32[(r25+3)];
+}
+else{
+ r25 = -1;
+}
+_48: do {
+if(!(r20 >r22)) //_LBB59_21
+{
+if(!(r5 !=r21)) //_LBB59_38
+{
+ if(r23 >r25) //_LBB59_21
+{
+break _48;
+}
+}
+ if(r5 !=r21) //_LBB59_41
+{
+break _30;
+}
+else{
+ if(r6 !=r24) //_LBB59_41
+{
+break _30;
+}
+else{
+ r20 = r19 << 2;
+ r20 = (r9 + r20)|0;
+ r20 = r20 >> 2;
+ r20 = heap32[(r20+2)];
+if(!(uint(r2) >uint(r20))) //_LBB59_21
+{
+break _30;
+}
+}
+}
+}
+} while(0);
+ r16 = (r16 + -1)|0;
+continue _30;
+}
+ r20 = (r8 + r16)|0;
+ if(r15 <=r20) //_LBB59_43
+{
+ r13 = r13 << 2;
+ r10 = (r10 + r13)|0;
+ r10 = r10 >> 2;
+ r13 = heap32[(r12+3)];
+ r15 = heap32[(r10+2)];
+ r19 = r19 << 2;
+ r19 = (r9 + r19)|0;
+ heap32[(r10)] = r21;
+ r20 = r16 << 4;
+ r19 = r19 >> 2;
+ heap32[(r10+1)] = r24;
+ r19 = heap32[(r19+2)];
+ r9 = (r9 + r20)|0;
+ r9 = r9 >> 2;
+ heap32[(r10+2)] = r19;
+ r9 = heap32[(r9+3)];
+ heap32[(r12+3)] = r9;
+ r9 = heap32[(r3+3)];
+ r9 = (r9 + r18)|0;
+ r9 = (r9 + r20)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r14;
+ r7 = (r7 + r11)|0;
+ r8 = (r8 + r16)|0;
+ heap32[(r9+1)] = r17;
+ r7 = (r7 + 1)|0;
+ r8 = (r8 + -1)|0;
+ heap32[(r9+2)] = r15;
+ heap32[(r9+3)] = r13;
+}
+else{
+ r7 = r15;
+ r8 = r20;
+}
+ if(r7 <=r8) //_LBB59_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+if(!(r8 <=r1)) //_LBB59_47
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r8;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(i7);
+}
+if(!(r7 >=r0)) //_LBB59_49
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r0;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(i7);
+}
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = r0 << 2;
+ r2 = (r1 + r2)|0;
+ r3 = heap32[(fp+2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+17)];
+ r3 = r3 << 2;
+ r4 = (r2 + r3)|0;
+ r2 = heapU16[(r2+r3)>>1];
+ r3 = heapU16[(r4+-4)>>1];
+if(!(uint(r2) >=uint(r3))) //_LBB60_14
+{
+ r1 = r1 >> 2;
+ r2 = heap32[(fp+3)];
+ r3 = heap32[(r1+15)];
+ r5 = heapU16[(r4+2)>>1];
+ r6 = 1;
+ r7 = r6 << r0;
+ r7 = r7 & 3;
+ r6 = r6 << r7;
+ r5 = r5 << 6;
+ r5 = (r3 + r5)|0;
+ r6 = r6 & 3;
+ r0 = r0 << 1;
+ r8 = (r5 + 48)|0;
+ r7 = r7 << 1;
+ r9 = (r5 + 54)|0;
+ r6 = r6 << 1;
+ r10 = (r8 + r0)|0;
+ r11 = (r9 + r7)|0;
+ r12 = (r8 + r7)|0;
+ r9 = (r9 + r6)|0;
+ r8 = (r8 + r6)|0;
+ r4 = (r4 + 2)|0;
+_3: while(true){
+ r13 = heapU8[r4+-6];
+ r14 = heapU16[(r4+-4)>>1];
+ r13 = r13 & 1;
+ if(r13 ==0) //_LBB60_11
+{
+ r13 = r14 << 6;
+ r3 = (r3 + r13)|0;
+ r3 = (r3 + r0)|0;
+ r13 = heapU16[(r3+48)>>1];
+ r13 = (r13 + 1)|0;
+ heap16[(r3+48)>>1] = r13;
+}
+else{
+if(!(r2 ==0)) //_LBB60_10
+{
+ r13 = r14 << 6;
+ r13 = (r3 + r13)|0;
+ r15 = (r13 + r7)|0;
+ r16 = heapU16[(r11)>>1];
+ r17 = heapU16[(r15+48)>>1];
+if(!(uint(r16) <uint(r17))) //_LBB60_10
+{
+ r15 = heapU16[(r15+54)>>1];
+ r16 = heapU16[(r12)>>1];
+if(!(uint(r15) <uint(r16))) //_LBB60_10
+{
+ r15 = (r13 + r6)|0;
+ r16 = heapU16[(r9)>>1];
+ r17 = heapU16[(r15+48)>>1];
+if(!(uint(r16) <uint(r17))) //_LBB60_10
+{
+ r15 = heapU16[(r15+54)>>1];
+ r16 = heapU16[(r8)>>1];
+if(!(uint(r15) <uint(r16))) //_LBB60_10
+{
+ r15 = heap32[(r1+23)];
+ r16 = r15 >> 2;
+ r16 = heap32[(r16)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+2)];
+ heap32[(g0)] = r15;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r13;
+ __FUNCTION_TABLE__[(r16)>>2](i7);
+ r15 = heap32[(r1+24)];
+if(!(r15 ==0)) //_LBB60_10
+{
+ r16 = r15 >> 2;
+ r16 = heap32[(r16)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+2)];
+ heap32[(g0)] = r15;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r13;
+ __FUNCTION_TABLE__[(r16)>>2](i7);
+}
+}
+}
+}
+}
+}
+ r14 = r14 << 6;
+ r3 = (r3 + r14)|0;
+ r3 = (r3 + r0)|0;
+ r14 = heapU16[(r3+54)>>1];
+ r14 = (r14 + 1)|0;
+ heap16[(r3+54)>>1] = r14;
+}
+ r3 = heapU16[(r10)>>1];
+ r3 = (r3 + -1)|0;
+ heap16[(r10)>>1] = r3;
+ r3 = heapU16[(r4+-2)>>1];
+ r13 = heapU16[(r4)>>1];
+ r14 = heapU16[(r4+-4)>>1];
+ r15 = heapU16[(r4+-6)>>1];
+ heap16[(r4+-2)>>1] = r15;
+ heap16[(r4)>>1] = r14;
+ heap16[(r4+-6)>>1] = r3;
+ heap16[(r4+-4)>>1] = r13;
+ r13 = heapU16[(r4+-10)>>1];
+ if(uint(r3) >=uint(r13)) //_LBB60_14
+{
+break _3;
+}
+else{
+ r3 = heap32[(r1+15)];
+ r4 = (r4 + -4)|0;
+continue _3;
+}
+}
+}
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE9sortMaxUpEitP12btDispatcherb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = r0 << 2;
+ r2 = (r1 + r2)|0;
+ r2 = r2 >> 2;
+ r3 = heap32[(fp+2)];
+ r4 = 1;
+ r2 = heap32[(r2+17)];
+ r3 = r3 << 2;
+ r2 = (r2 + r3)|0;
+ r3 = r4 << r0;
+ r3 = r3 & 3;
+ r1 = r1 >> 2;
+ r5 = heapU16[(r2+2)>>1];
+ r4 = r4 << r3;
+ r6 = heap32[(r1+15)];
+ r5 = r5 << 6;
+ r4 = r4 & 3;
+ r5 = (r6 + r5)|0;
+ r3 = r3 << 1;
+ r6 = (r5 + 48)|0;
+ r4 = r4 << 1;
+ r5 = (r5 + 54)|0;
+ r0 = r0 << 1;
+ r7 = heap32[(fp+3)];
+ r8 = (r5 + r3)|0;
+ r9 = (r6 + r3)|0;
+ r10 = (r5 + r4)|0;
+ r6 = (r6 + r4)|0;
+ r5 = (r5 + r0)|0;
+ r2 = (r2 + 4)|0;
+_1: while(true){
+ r11 = heapU16[(r2+2)>>1];
+ if(r11 ==0) //_LBB61_14
+{
+break _1;
+}
+else{
+ r12 = heapU16[(r2)>>1];
+ r13 = heapU16[(r2+-4)>>1];
+ if(uint(r13) >=uint(r12)) //_LBB61_1
+{
+ r13 = heap32[(r1+15)];
+ r11 = r11 & 65535;
+ r12 = r12 & 1;
+ if(r12 != 0) //_LBB61_10
+{
+ r11 = r11 << 6;
+ r11 = (r13 + r11)|0;
+ r11 = (r11 + r0)|0;
+ r12 = heapU16[(r11+54)>>1];
+ r12 = (r12 + -1)|0;
+ heap16[(r11+54)>>1] = r12;
+}
+else{
+if(!(r7 ==0)) //_LBB61_9
+{
+ r12 = r11 << 6;
+ r12 = (r13 + r12)|0;
+ r14 = (r12 + r3)|0;
+ r15 = heapU16[(r8)>>1];
+ r16 = heapU16[(r14+48)>>1];
+if(!(uint(r15) <uint(r16))) //_LBB61_9
+{
+ r14 = heapU16[(r14+54)>>1];
+ r15 = heapU16[(r9)>>1];
+if(!(uint(r14) <uint(r15))) //_LBB61_9
+{
+ r14 = (r12 + r4)|0;
+ r15 = heapU16[(r10)>>1];
+ r16 = heapU16[(r14+48)>>1];
+if(!(uint(r15) <uint(r16))) //_LBB61_9
+{
+ r14 = heapU16[(r14+54)>>1];
+ r15 = heapU16[(r6)>>1];
+if(!(uint(r14) <uint(r15))) //_LBB61_9
+{
+ r14 = heap32[(r1+23)];
+ r15 = r14 >> 2;
+ r15 = heap32[(r15)];
+ r15 = r15 >> 2;
+ r16 = heapU16[(r2+-2)>>1];
+ r15 = heap32[(r15+2)];
+ r16 = r16 << 6;
+ r16 = (r13 + r16)|0;
+ heap32[(g0)] = r14;
+ heap32[(g0+1)] = r16;
+ heap32[(g0+2)] = r12;
+ __FUNCTION_TABLE__[(r15)>>2](i7);
+ r14 = heap32[(r1+24)];
+if(!(r14 ==0)) //_LBB61_9
+{
+ r15 = r14 >> 2;
+ r15 = heap32[(r15)];
+ r15 = r15 >> 2;
+ r15 = heap32[(r15+2)];
+ heap32[(g0)] = r14;
+ heap32[(g0+1)] = r16;
+ heap32[(g0+2)] = r12;
+ __FUNCTION_TABLE__[(r15)>>2](i7);
+}
+}
+}
+}
+}
+}
+ r11 = r11 << 6;
+ r11 = (r13 + r11)|0;
+ r11 = (r11 + r0)|0;
+ r12 = heapU16[(r11+48)>>1];
+ r12 = (r12 + -1)|0;
+ heap16[(r11+48)>>1] = r12;
+}
+ r11 = heapU16[(r5)>>1];
+ r11 = (r11 + 1)|0;
+ heap16[(r5)>>1] = r11;
+ r11 = heapU16[(r2+-2)>>1];
+ r12 = heapU16[(r2+-4)>>1];
+ r13 = heapU16[(r2+2)>>1];
+ r14 = heapU16[(r2)>>1];
+ heap16[(r2+-4)>>1] = r14;
+ heap16[(r2+-2)>>1] = r13;
+ r13 = (r2 + 4)|0;
+ heap16[(r2)>>1] = r12;
+ heap16[(r2+2)>>1] = r11;
+ r2 = r13;
+continue _1;
+}
+else{
+break _1;
+}
+}
+}
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE9sortMinUpEitP12btDispatcherb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = r0 << 2;
+ r2 = (r1 + r2)|0;
+ r2 = r2 >> 2;
+ r3 = heap32[(fp+2)];
+ r2 = heap32[(r2+17)];
+ r3 = r3 << 2;
+ r2 = (r2 + r3)|0;
+ r1 = r1 >> 2;
+ r3 = heapU16[(r2+2)>>1];
+ r4 = 1;
+ r5 = r4 << r0;
+ r6 = heap32[(r1+15)];
+ r3 = r3 << 6;
+ r5 = r5 & 3;
+ r3 = (r6 + r3)|0;
+ r0 = r0 << 1;
+ r3 = (r3 + r0)|0;
+ r4 = r4 << r5;
+ r6 = heap32[(fp+3)];
+ r7 = heap32[(fp+4)];
+ r3 = (r3 + 48)|0;
+ r4 = r4 & 3;
+ r2 = (r2 + 4)|0;
+_1: while(true){
+ r8 = heapU16[(r2+2)>>1];
+ if(r8 ==0) //_LBB62_14
+{
+break _1;
+}
+else{
+ r9 = heapU16[(r2)>>1];
+ r10 = heapU16[(r2+-4)>>1];
+ if(uint(r10) >=uint(r9)) //_LBB62_1
+{
+ r10 = heap32[(r1+15)];
+ r8 = r8 & 65535;
+ r9 = r9 & 1;
+ if(r9 ==0) //_LBB62_10
+{
+ r8 = r8 << 6;
+ r8 = (r10 + r8)|0;
+ r8 = (r8 + r0)|0;
+ r9 = heapU16[(r8+48)>>1];
+ r9 = (r9 + -1)|0;
+ heap16[(r8+48)>>1] = r9;
+}
+else{
+if(!(r7 ==0)) //_LBB62_9
+{
+ r9 = heapU16[(r2+-2)>>1];
+ r9 = r9 << 6;
+ r11 = r8 << 6;
+ r9 = (r10 + r9)|0;
+ r12 = r5 << 1;
+ r11 = (r10 + r11)|0;
+ r13 = (r9 + r12)|0;
+ r12 = (r11 + r12)|0;
+ r14 = heapU16[(r13+54)>>1];
+ r15 = heapU16[(r12+48)>>1];
+if(!(uint(r14) <uint(r15))) //_LBB62_9
+{
+ r12 = heapU16[(r12+54)>>1];
+ r13 = heapU16[(r13+48)>>1];
+if(!(uint(r12) <uint(r13))) //_LBB62_9
+{
+ r12 = r4 << 1;
+ r13 = (r9 + r12)|0;
+ r12 = (r11 + r12)|0;
+ r14 = heapU16[(r13+54)>>1];
+ r15 = heapU16[(r12+48)>>1];
+if(!(uint(r14) <uint(r15))) //_LBB62_9
+{
+ r12 = heapU16[(r12+54)>>1];
+ r13 = heapU16[(r13+48)>>1];
+if(!(uint(r12) <uint(r13))) //_LBB62_9
+{
+ r12 = heap32[(r1+23)];
+ r13 = r12 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+3)];
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ r12 = heap32[(r1+24)];
+if(!(r12 ==0)) //_LBB62_9
+{
+ r13 = r12 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+3)];
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+}
+}
+}
+}
+}
+}
+ r8 = r8 << 6;
+ r8 = (r10 + r8)|0;
+ r8 = (r8 + r0)|0;
+ r9 = heapU16[(r8+54)>>1];
+ r9 = (r9 + -1)|0;
+ heap16[(r8+54)>>1] = r9;
+}
+ r8 = heapU16[(r3)>>1];
+ r8 = (r8 + 1)|0;
+ heap16[(r3)>>1] = r8;
+ r8 = heapU16[(r2+-2)>>1];
+ r9 = heapU16[(r2+-4)>>1];
+ r10 = heapU16[(r2+2)>>1];
+ r11 = heapU16[(r2)>>1];
+ heap16[(r2+-4)>>1] = r11;
+ heap16[(r2+-2)>>1] = r10;
+ r10 = (r2 + 4)|0;
+ heap16[(r2)>>1] = r9;
+ heap16[(r2+2)>>1] = r8;
+ r2 = r10;
+continue _1;
+}
+else{
+break _1;
+}
+}
+}
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = r0 << 2;
+ r2 = (r1 + r2)|0;
+ r3 = heap32[(fp+2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+17)];
+ r4 = r3 << 2;
+ r5 = (r2 + r4)|0;
+ r4 = heapU16[(r2+r4)>>1];
+ r6 = heapU16[(r5+-4)>>1];
+if(!(uint(r4) >=uint(r6))) //_LBB63_14
+{
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+3)];
+ r6 = heap32[(fp+4)];
+ r7 = heap32[(r1+15)];
+ r3 = r3 << 2;
+ r2 = (r2 + r3)|0;
+ r2 = heapU16[(r2+2)>>1];
+ r3 = 1;
+ r8 = r3 << r0;
+ r2 = r2 << 6;
+ r8 = r8 & 3;
+ r2 = (r7 + r2)|0;
+ r0 = r0 << 1;
+ r3 = r3 << r8;
+ r2 = (r2 + r0)|0;
+ r3 = r3 & 3;
+ r2 = (r2 + 54)|0;
+ r5 = (r5 + 2)|0;
+_3: while(true){
+ r9 = heapU8[r5+-6];
+ r10 = heapU16[(r5+-4)>>1];
+ r9 = r9 & 1;
+ if(r9 != 0) //_LBB63_11
+{
+ r9 = r10 << 6;
+ r7 = (r7 + r9)|0;
+ r7 = (r7 + r0)|0;
+ r9 = heapU16[(r7+54)>>1];
+ r9 = (r9 + 1)|0;
+ heap16[(r7+54)>>1] = r9;
+}
+else{
+if(!(r6 ==0)) //_LBB63_10
+{
+ r9 = heapU16[(r5)>>1];
+ r9 = r9 << 6;
+ r11 = r10 << 6;
+ r9 = (r7 + r9)|0;
+ r12 = r8 << 1;
+ r11 = (r7 + r11)|0;
+ r13 = (r9 + r12)|0;
+ r12 = (r11 + r12)|0;
+ r14 = heapU16[(r13+54)>>1];
+ r15 = heapU16[(r12+48)>>1];
+if(!(uint(r14) <uint(r15))) //_LBB63_10
+{
+ r12 = heapU16[(r12+54)>>1];
+ r13 = heapU16[(r13+48)>>1];
+if(!(uint(r12) <uint(r13))) //_LBB63_10
+{
+ r12 = r3 << 1;
+ r13 = (r9 + r12)|0;
+ r12 = (r11 + r12)|0;
+ r14 = heapU16[(r13+54)>>1];
+ r15 = heapU16[(r12+48)>>1];
+if(!(uint(r14) <uint(r15))) //_LBB63_10
+{
+ r12 = heapU16[(r12+54)>>1];
+ r13 = heapU16[(r13+48)>>1];
+if(!(uint(r12) <uint(r13))) //_LBB63_10
+{
+ r12 = heap32[(r1+23)];
+ r13 = r12 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+3)];
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ r12 = heap32[(r1+24)];
+if(!(r12 ==0)) //_LBB63_10
+{
+ r13 = r12 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+3)];
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+}
+}
+}
+}
+}
+}
+ r10 = r10 << 6;
+ r7 = (r7 + r10)|0;
+ r7 = (r7 + r0)|0;
+ r10 = heapU16[(r7+48)>>1];
+ r10 = (r10 + 1)|0;
+ heap16[(r7+48)>>1] = r10;
+}
+ r7 = heapU16[(r2)>>1];
+ r7 = (r7 + -1)|0;
+ heap16[(r2)>>1] = r7;
+ r7 = heapU16[(r5+-2)>>1];
+ r9 = heapU16[(r5)>>1];
+ r10 = heapU16[(r5+-4)>>1];
+ r11 = heapU16[(r5+-6)>>1];
+ heap16[(r5+-2)>>1] = r11;
+ heap16[(r5)>>1] = r10;
+ heap16[(r5+-6)>>1] = r7;
+ heap16[(r5+-4)>>1] = r9;
+ r9 = heapU16[(r5+-10)>>1];
+ if(uint(r7) >=uint(r9)) //_LBB63_14
+{
+break _3;
+}
+else{
+ r7 = heap32[(r1+15)];
+ r5 = (r5 + -4)|0;
+continue _3;
+}
+}
+}
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 >> 2;
+ r3 = r1 >> 2;
+ heap32[(r3+4)] = heap32[(r2)];
+ heap32[(r3+5)] = heap32[(r2+1)];
+ r4 = heap32[(fp+3)];
+ heap32[(r3+6)] = heap32[(r2+2)];
+ heap32[(r3+7)] = heap32[(r2+3)];
+ r5 = r4 >> 2;
+ heap32[(r3+8)] = heap32[(r5)];
+ heap32[(r3+9)] = heap32[(r5+1)];
+ r6 = heap32[(fp)];
+ heap32[(r3+10)] = heap32[(r5+2)];
+ heap32[(r3+11)] = heap32[(r5+3)];
+ r7 = r6 >> 2;
+ r1 = heapU16[(r1+12)>>1];
+ r8 = heap32[(r7+15)];
+ f0 = heapFloat[(r2)];
+ f1 = heapFloat[(r2+1)];
+ f2 = heapFloat[(r2+2)];
+ r2 = sp + -6;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r2;
+ heapFloat[(g0+2)] = f0;
+ heapFloat[(g0+3)] = f1;
+ heapFloat[(g0+4)] = f2;
+ heap32[(g0+5)] = 0;
+ _ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i(i7);
+ f0 = heapFloat[(r5)];
+ f1 = heapFloat[(r5+1)];
+ f2 = heapFloat[(r5+2)];
+ r1 = r1 << 6;
+ r5 = sp + -12;
+ r1 = (r8 + r1)|0;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r5;
+ heapFloat[(g0+2)] = f0;
+ heapFloat[(g0+3)] = f1;
+ heapFloat[(g0+4)] = f2;
+ heap32[(g0+5)] = 1;
+ r8 = heap32[(fp+4)];
+ r1 = (r1 + 48)|0;
+ r9 = 0;
+ _ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i(i7);
+ r10 = r9;
+_1: while(true){
+ r11 = r9 << 2;
+ r12 = r9 << 1;
+ r13 = (r1 - r12)|0;
+ r11 = (r6 - r11)|0;
+ r14 = heapU16[(r13)>>1];
+ r13 = heapU16[(r13+6)>>1];
+ r11 = r11 >> 2;
+ r15 = (r2 - r12)|0;
+ r12 = (r5 - r12)|0;
+ r16 = heap32[(r11+17)];
+ r17 = r14 << 2;
+ r18 = r13 << 2;
+ r15 = heapU16[(r15)>>1];
+ r19 = heapU16[(r16+r17)>>1];
+ r20 = heapU16[(r16+r18)>>1];
+ r12 = heapU16[(r12)>>1];
+ heap16[(r16+r17)>>1] = r15;
+ r11 = heap32[(r11+17)];
+ r15 = (r15 - r19)|0;
+ heap16[(r11+r18)>>1] = r12;
+if(!(r15 >-1)) //_LBB64_3
+{
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r14;
+ heap32[(g0+3)] = 1;
+ _ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb(i7);
+}
+ r11 = (r12 - r20)|0;
+if(!(r11 <1)) //_LBB64_5
+{
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = 1;
+ _ZN20btAxisSweep3InternalItE9sortMaxUpEitP12btDispatcherb(i7);
+}
+if(!(r15 <1)) //_LBB64_7
+{
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r14;
+ heap32[(g0+3)] = r8;
+ heap32[(g0+4)] = 1;
+ _ZN20btAxisSweep3InternalItE9sortMinUpEitP12btDispatcherb(i7);
+}
+if(!(r11 >-1)) //_LBB64_9
+{
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = r8;
+ heap32[(g0+4)] = 1;
+ _ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb(i7);
+}
+ r9 = (r9 + -1)|0;
+ r10 = (r10 + 1)|0;
+ if(r9 !=-3) //_LBB64_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+ r1 = heap32[(r7+27)];
+if(!(r1 ==0)) //_LBB64_12
+{
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ r3 = heap32[(r3+15)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = r8;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+27)];
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+if(!(r2 ==0)) //_LBB65_2
+{
+ r5 = r2 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r6 = r3 >> 2;
+ r5 = heap32[(r5+3)];
+ r6 = heap32[(r6+15)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+ r2 = heap32[(r1+23)];
+ r5 = r2 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+3)];
+ r6 = heap32[(r1+15)];
+ r5 = heap32[(r5+14)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r2 = r_g0;
+if(!(r2 !=0)) //_LBB65_4
+{
+ r2 = heap32[(r1+23)];
+ r5 = r2 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+4)];
+ r7 = r3 & 65535;
+ r7 = r7 << 6;
+ r7 = (r6 + r7)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+ r2 = heap32[(r1+15)];
+ r5 = heapU16[(r0+56)>>1];
+ r7 = heapU16[(r2+54)>>1];
+ r7 = (r7 + -2)|0;
+ heap16[(r2+54)>>1] = r7;
+ r2 = heap32[(r1+15)];
+ r7 = heapU16[(r2+56)>>1];
+ r7 = (r7 + -2)|0;
+ r8 = r3 & 65535;
+ heap16[(r2+56)>>1] = r7;
+ r2 = heap32[(r1+15)];
+ r7 = r8 << 6;
+ r9 = heapU16[(r2+58)>>1];
+ r6 = (r6 + r7)|0;
+ r5 = r5 << 1;
+ r6 = (r6 + 54)|0;
+ r10 = 0;
+ r9 = (r9 + -2)|0;
+ heap16[(r2+58)>>1] = r9;
+ r2 = r10;
+_7: while(true){
+ r9 = r2 << 2;
+ r9 = (r0 + r9)|0;
+ r9 = r9 >> 2;
+ r11 = heapU16[(r6)>>1];
+ r12 = heapU16[(r0+6)>>1];
+ r9 = heap32[(r9+17)];
+ r13 = r11 << 2;
+ heap16[(r9+r13)>>1] = r12;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = 0;
+ _ZN20btAxisSweep3InternalItE9sortMaxUpEitP12btDispatcherb(i7);
+ r11 = heapU16[(r6+-6)>>1];
+ r12 = heapU16[(r0+6)>>1];
+ r13 = r11 << 2;
+ heap16[(r9+r13)>>1] = r12;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = 0;
+ r11 = r5 << 2;
+ _ZN20btAxisSweep3InternalItE9sortMinUpEitP12btDispatcherb(i7);
+ r9 = (r9 + r11)|0;
+ heap16[(r9+-2)>>1] = r10;
+ r11 = heapU16[(r0+6)>>1];
+ r2 = (r2 + 1)|0;
+ r6 = (r6 + 2)|0;
+ heap16[(r9+-4)>>1] = r11;
+ if(r2 !=3) //_LBB65_5
+{
+continue _7;
+}
+else{
+break _7;
+}
+}
+if(!(r8 ==0)) //_LBB65_8
+{
+ r2 = heapU16[(r0+58)>>1];
+ if(uint(r2) >uint(r8)) //_LBB65_9
+{
+ r1 = heap32[(r1+15)];
+ r2 = heapU16[(r0+64)>>1];
+ r1 = (r1 + r7)|0;
+ heap16[(r1+48)>>1] = r2;
+ heap16[(r0+64)>>1] = r3;
+ r1 = heapU16[(r0+56)>>1];
+ r1 = (r1 + -1)|0;
+ heap16[(r0+56)>>1] = r1;
+ return;
+}
+}
+ r0 = _2E_str11;
+ r1 = _2E_str112;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 495;
+ _assert(i7);
+}
+
+function _ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -56;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r1+1)];
+ f2 = heapFloat[(r1+2)];
+ r1 = heap32[(fp)];
+ r2 = sp + -6;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heapFloat[(g0+2)] = f0;
+ heapFloat[(g0+3)] = f1;
+ heapFloat[(g0+4)] = f2;
+ heap32[(g0+5)] = 0;
+ r2 = heap32[(fp+2)];
+ _ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i(i7);
+ r3 = r2 >> 2;
+ f0 = heapFloat[(r3)];
+ f1 = heapFloat[(r3+1)];
+ f2 = heapFloat[(r3+2)];
+ r3 = sp + -12;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ heapFloat[(g0+2)] = f0;
+ heapFloat[(g0+3)] = f1;
+ heapFloat[(g0+4)] = f2;
+ heap32[(g0+5)] = 1;
+ _ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i(i7);
+ r3 = heapU16[(r1+64)>>1];
+ if(r3 !=0) //_LBB66_2
+{
+ r4 = heap32[(fp+4)];
+ r5 = heap32[(fp+5)];
+ r6 = heap32[(fp+6)];
+ r7 = heap32[(fp+7)];
+ r8 = heap32[(fp+8)];
+ r9 = r1 >> 2;
+ r10 = r3 << 6;
+ r11 = heap32[(r9+15)];
+ r10 = (r11 + r10)|0;
+ r11 = heapU16[(r10+48)>>1];
+ heap16[(r1+64)>>1] = r11;
+ r11 = heapU16[(r1+56)>>1];
+ r11 = (r11 + 1)|0;
+ r12 = r10 >> 2;
+ heap16[(r1+56)>>1] = r11;
+ heap32[(r12+3)] = r3;
+ heap32[(r12)] = r4;
+ heap16[(r10+4)>>1] = r5;
+ heap16[(r10+6)>>1] = r6;
+ heap32[(r12+2)] = r8;
+ r8 = heap32[(r9+15)];
+ r11 = heapU16[(r1+56)>>1];
+ r11 = r11 << 1;
+ r12 = heapU16[(r8+54)>>1];
+ r13 = r11 & 65534;
+ r12 = (r12 + 2)|0;
+ r14 = (r13 + -1)|0;
+ heap16[(r8+54)>>1] = r12;
+ r8 = r14 << 2;
+ r12 = heap32[(r9+17)];
+ r14 = (r12 + r8)|0;
+ r15 = r13 | 1;
+ r14 = heapU16[(r14+2)>>1];
+ r16 = heapU16[(r12+r8)>>1];
+ r15 = r15 << 2;
+ r17 = (r12 + r15)|0;
+ heap16[(r12+r15)>>1] = r16;
+ heap16[(r17+2)>>1] = r14;
+ r12 = heap32[(r9+17)];
+ r14 = heapU16[(sp+-6)>>1];
+ heap16[(r12+r8)>>1] = r14;
+ r12 = heap32[(r9+17)];
+ r12 = (r12 + r8)|0;
+ heap16[(r12+2)>>1] = r3;
+ r12 = heap32[(r9+17)];
+ r14 = heapU16[(sp+-12)>>1];
+ r13 = r13 << 2;
+ heap16[(r12+r13)>>1] = r14;
+ r12 = heap32[(r9+17)];
+ r12 = (r12 + r13)|0;
+ r14 = (r11 + -1)|0;
+ heap16[(r12+2)>>1] = r3;
+ heap16[(r10+48)>>1] = r14;
+ heap16[(r10+54)>>1] = r11;
+ r12 = heap32[(r9+15)];
+ r16 = heapU16[(r12+56)>>1];
+ r16 = (r16 + 2)|0;
+ heap16[(r12+56)>>1] = r16;
+ r12 = heap32[(r9+18)];
+ r16 = (r12 + r8)|0;
+ r16 = heapU16[(r16+2)>>1];
+ r17 = heapU16[(r12+r8)>>1];
+ r18 = (r12 + r15)|0;
+ heap16[(r12+r15)>>1] = r17;
+ heap16[(r18+2)>>1] = r16;
+ r12 = heap32[(r9+18)];
+ r16 = heapU16[(sp+-4)>>1];
+ heap16[(r12+r8)>>1] = r16;
+ r12 = heap32[(r9+18)];
+ r12 = (r12 + r8)|0;
+ heap16[(r12+2)>>1] = r3;
+ r12 = heap32[(r9+18)];
+ r16 = heapU16[(sp+-10)>>1];
+ heap16[(r12+r13)>>1] = r16;
+ r12 = heap32[(r9+18)];
+ r12 = (r12 + r13)|0;
+ heap16[(r12+2)>>1] = r3;
+ heap16[(r10+50)>>1] = r14;
+ heap16[(r10+56)>>1] = r11;
+ r12 = heap32[(r9+15)];
+ r16 = heapU16[(r12+58)>>1];
+ r16 = (r16 + 2)|0;
+ heap16[(r12+58)>>1] = r16;
+ r12 = heap32[(r9+19)];
+ r16 = (r12 + r8)|0;
+ r16 = heapU16[(r16+2)>>1];
+ r17 = heapU16[(r12+r8)>>1];
+ r18 = (r12 + r15)|0;
+ heap16[(r12+r15)>>1] = r17;
+ heap16[(r18+2)>>1] = r16;
+ r12 = heap32[(r9+19)];
+ r15 = heapU16[(sp+-2)>>1];
+ heap16[(r12+r8)>>1] = r15;
+ r12 = heap32[(r9+19)];
+ r8 = (r12 + r8)|0;
+ heap16[(r8+2)>>1] = r3;
+ r8 = heap32[(r9+19)];
+ r12 = heapU16[(sp+-8)>>1];
+ heap16[(r8+r13)>>1] = r12;
+ r8 = heap32[(r9+19)];
+ r8 = (r8 + r13)|0;
+ heap16[(r8+2)>>1] = r3;
+ heap16[(r10+52)>>1] = r14;
+ heap16[(r10+58)>>1] = r11;
+ r8 = heapU16[(r10+48)>>1];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = 0;
+ _ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb(i7);
+ r8 = heapU16[(r10+54)>>1];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = 0;
+ _ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb(i7);
+ r8 = heapU16[(r10+50)>>1];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 1;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = 0;
+ _ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb(i7);
+ r8 = heapU16[(r10+56)>>1];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 1;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = 0;
+ _ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb(i7);
+ r8 = heapU16[(r10+52)>>1];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 2;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = 1;
+ _ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb(i7);
+ r8 = heapU16[(r10+58)>>1];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 2;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = 1;
+ _ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb(i7);
+ updateMandreelStats(performance.now());
+ r1 = heap32[(r9+27)];
+ r8 = heap32[(r9+15)];
+if(!(r1 ==0)) //_LBB66_4
+{
+ r9 = heap32[(fp+3)];
+ r10 = r1 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+2)];
+ r11 = r3 << 6;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r9;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r5;
+ heap32[(g0+6)] = r6;
+ heap32[(g0+7)] = r7;
+ heap32[(g0+8)] = 0;
+ r0 = (r8 + r11)|0;
+ r0 = r0 >> 2;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ heap32[(r0+15)] = r_g0;
+}
+ r0 = r3 << 6;
+ r0 = (r8 + r0)|0;
+ r_g0 = r0;
+ return;
+}
+else{
+ r0 = _2E_str213;
+ r1 = _2E_str112;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 483;
+ _assert(i7);
+}
+}
+
+function _ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+1)];
+ r3 = heap32[(fp+1)];
+_1: do {
+if(!(r2 >r3)) //_LBB67_20
+{
+if(!(r2 >=r3)) //_LBB67_20
+{
+ r4 = heap32[(r1+2)];
+if(!(r4 >=r3)) //_LBB67_18
+{
+ if(r3 !=0) //_LBB67_5
+{
+ r4 = gNumAlignedAllocs;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r6 = r3 << 4;
+ r5 = (r5 + 1)|0;
+ r6 = r6 | 3;
+ heap32[(r4)] = r5;
+ r4 = (r6 + 16)|0;
+ heap32[(g0)] = r4;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB67_7
+{
+ r5 = 0;
+ r6 = (r4 + 4)|0;
+ r5 = (r5 - r6)|0;
+ r5 = r5 & 15;
+ r5 = (r4 + r5)|0;
+ r6 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r4;
+ r4 = r6;
+}
+}
+else{
+ r4 = 0;
+}
+ r5 = (r0 + 12)|0;
+ if(r2 <1) //_LBB67_10
+{
+ r6 = r5 >> 2;
+ r8 = heap32[(r6)];
+}
+else{
+ r6 = 0;
+ r7 = (r6 - r2)|0;
+_14: while(true){
+ r8 = r5 >> 2;
+ r8 = heap32[(r8)];
+ r9 = r6 << 4;
+ r10 = (r8 - r9)|0;
+ r10 = r10 >> 2;
+ r9 = (r4 - r9)|0;
+ r11 = heap32[(r10)];
+ r9 = r9 >> 2;
+ heap32[(r9)] = r11;
+ r11 = heap32[(r10+1)];
+ heap32[(r9+1)] = r11;
+ r11 = heap32[(r10+2)];
+ heap32[(r9+2)] = r11;
+ r10 = heap32[(r10+3)];
+ r6 = (r6 + -1)|0;
+ heap32[(r9+3)] = r10;
+if(!(r7 !=r6)) //_LBB67_11
+{
+break _14;
+}
+}
+ r5 = (r0 + 12)|0;
+}
+if(!(r8 ==0)) //_LBB67_17
+{
+ r6 = heapU8[r0+16];
+if(!(r6 ==0)) //_LBB67_16
+{
+ r6 = gNumAlignedFree;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r7 = (r7 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r6)] = r7;
+ r6 = heap32[(r8+-1)];
+ heap32[(g0)] = r6;
+ free(i7);
+}
+ r6 = r5 >> 2;
+ heap32[(r6)] = 0;
+}
+ r6 = 1;
+ r5 = r5 >> 2;
+ heap8[r0+16] = r6;
+ heap32[(r5)] = r4;
+ heap32[(r1+2)] = r3;
+ if(r2 >=r3) //_LBB67_20
+{
+break _1;
+}
+}
+ r0 = heap32[(fp+2)];
+_25: while(true){
+ r4 = r0 >> 2;
+ r5 = r2 << 4;
+ r6 = heap32[(r1+3)];
+ r5 = (r6 + r5)|0;
+ r6 = heap32[(r4)];
+ r5 = r5 >> 2;
+ heap32[(r5)] = r6;
+ r6 = heap32[(r4+1)];
+ heap32[(r5+1)] = r6;
+ r6 = heap32[(r4+2)];
+ heap32[(r5+2)] = r6;
+ r4 = heap32[(r4+3)];
+ r2 = (r2 + 1)|0;
+ heap32[(r5+3)] = r4;
+ if(r3 !=r2) //_LBB67_19
+{
+continue _25;
+}
+else{
+break _1;
+}
+}
+}
+}
+} while(0);
+ heap32[(r1+1)] = r3;
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+23)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+14)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = r_g0;
+if(!(r1 ==0)) //_LBB68_22
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(r0+23)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+7)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = r_g0;
+ r3 = r2 >> 2;
+ r3 = heap32[(r3+1)];
+ if(r3 >1) //_LBB68_3
+{
+ r3 = (r3 + -1)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r3;
+ r3 = r2 >> 2;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(i7);
+ r3 = heap32[(r3+1)];
+}
+ r4 = sp + -32;
+ r5 = r4 >> 2;
+ heap32[(fp+-8)] = 0;
+ heap32[(r5+1)] = 0;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+ r5 = heap32[(r0+26)];
+ r3 = (r3 - r5)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ r3 = 0;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(i7);
+ heap32[(r0+26)] = 0;
+ r4 = r3;
+ r5 = r3;
+ r6 = r3;
+ r7 = r3;
+_6: while(true){
+ r8 = r2 >> 2;
+ r9 = heap32[(r8+1)];
+ if(r9 >r7) //_LBB68_5
+{
+ r8 = heap32[(r8+3)];
+ r9 = r7 << 4;
+ r9 = (r8 + r9)|0;
+ r9 = r9 >> 2;
+ r10 = heap32[(r9)];
+ r11 = r7 << 2;
+ r12 = heap32[(r9+1)];
+ if(r10 !=r5) //_LBB68_7
+{
+__label__ = 6;
+}
+else{
+ if(r12 ==r6) //_LBB68_13
+{
+ r4 = heap32[(r9+2)];
+ if(r4 ==0) //_LBB68_15
+{
+__label__ = 13;
+}
+else{
+__label__ = 12;
+break _6;
+}
+}
+else{
+__label__ = 6;
+}
+}
+if (__label__ == 6){
+ r5 = (r12 + 54)|0;
+ r6 = (r10 + 48)|0;
+ r9 = 0;
+_14: while(true){
+ if(r9 <3) //_LBB68_8
+{
+ r13 = heapU16[(r6+6)>>1];
+ r14 = heapU16[(r5+-6)>>1];
+ if(uint(r13) <uint(r14)) //_LBB68_15
+{
+__label__ = 13;
+break _14;
+}
+else{
+ r13 = heapU16[(r5)>>1];
+ r14 = heapU16[(r6)>>1];
+ if(uint(r13) <uint(r14)) //_LBB68_15
+{
+__label__ = 13;
+break _14;
+}
+else{
+ r9 = (r9 + 1)|0;
+ r5 = (r5 + 2)|0;
+ r6 = (r6 + 2)|0;
+}
+}
+}
+else{
+__label__ = 14;
+break _14;
+}
+}
+}
+if (__label__ == 13){
+ r4 = heap32[(r0+23)];
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+8)];
+ r6 = (r8 + r3)|0;
+ r9 = r11 << 2;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r1;
+ r4 = (r8 + r9)|0;
+ r4 = r4 >> 2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ heap32[(r4)] = 0;
+ heap32[(r4+1)] = 0;
+ r4 = heap32[(r0+26)];
+ r4 = (r4 + 1)|0;
+ r5 = gOverlappingPairs;
+ r5 = r5 >> 2;
+ heap32[(r0+26)] = r4;
+ r6 = heap32[(r5)];
+ r6 = (r6 + -1)|0;
+ heap32[(r5)] = r6;
+}
+ r7 = (r7 + 1)|0;
+ r3 = (r3 + 16)|0;
+ r5 = r10;
+ r6 = r12;
+}
+else{
+__label__ = 16;
+break _6;
+}
+}
+switch(__label__ ){//multiple entries
+case 16:
+ if(r9 >1) //_LBB68_20
+{
+ r4 = (r9 + -1)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r4;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(i7);
+ r9 = heap32[(r8+1)];
+ r4 = heap32[(r0+26)];
+}
+ r1 = sp + -16;
+ r3 = r1 >> 2;
+ heap32[(fp+-4)] = 0;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 0;
+ r3 = (r9 - r4)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r1;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(i7);
+ heap32[(r0+26)] = 0;
+break;
+case 12:
+ r8 = _2E_str314;
+ r0 = _2E_str112;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 687;
+ _assert(i7);
+break;
+}
+}
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItED2Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV20btAxisSweep3InternalItE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+27)];
+if(!(r1 ==0)) //_LBB69_5
+{
+ r1 = heap32[(r2+28)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+28)];
+if(!(r1 ==0)) //_LBB69_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+27)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+27)];
+if(!(r1 ==0)) //_LBB69_5
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = 0;
+_8: while(true){
+ r3 = r1 << 2;
+ r3 = (r0 + r3)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+22)];
+if(!(r3 ==0)) //_LBB69_8
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ r1 = (r1 + -1)|0;
+ if(r1 !=-3) //_LBB69_6
+{
+continue _8;
+}
+else{
+break _8;
+}
+}
+ r1 = heap32[(r2+15)];
+if(!(r1 ==0)) //_LBB69_11
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r0 = heapU8[r0+100];
+if(!(r0 ==0)) //_LBB69_14
+{
+ r0 = heap32[(r2+23)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+23)];
+if(!(r0 ==0)) //_LBB69_14
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ r2 = (r2 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r2;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+}
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItED1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ _ZN20btAxisSweep3InternalItED2Ev(i7);
+ return;
+}
+
+function _ZN20btAxisSweep3InternalItED0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV20btAxisSweep3InternalItE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+27)];
+if(!(r1 ==0)) //_LBB71_5
+{
+ r1 = heap32[(r2+28)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+28)];
+if(!(r1 ==0)) //_LBB71_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+27)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+27)];
+if(!(r1 ==0)) //_LBB71_5
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = 0;
+_8: while(true){
+ r3 = r1 << 2;
+ r3 = (r0 + r3)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+22)];
+if(!(r3 ==0)) //_LBB71_8
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ r1 = (r1 + -1)|0;
+ if(r1 !=-3) //_LBB71_6
+{
+continue _8;
+}
+else{
+break _8;
+}
+}
+ r1 = heap32[(r2+15)];
+if(!(r1 ==0)) //_LBB71_11
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r0 = heapU8[r0+100];
+if(!(r0 ==0)) //_LBB71_14
+{
+ r0 = heap32[(r2+23)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+23)];
+if(!(r0 ==0)) //_LBB71_14
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+}
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+ return;
+}
+
+function _ZN12btAxisSweep3D0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btAxisSweep3;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN20btAxisSweep3InternalItED2Ev(i7);
+if(!(r0 ==0)) //_LBB72_2
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZN12btAxisSweep3D1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btAxisSweep3;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN20btAxisSweep3InternalItED2Ev(i7);
+ return;
+}
+
+function _ZN20btCollisionAlgorithmD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV20btCollisionAlgorithm;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN20btCollisionAlgorithmD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV20btCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+3)];
+ r2 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZN6btDbvt8ICollide7DescentEPK10btDbvtNode(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZL10insertleafP6btDbvtP10btDbvtNodeS2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+2)];
+ r0 = r0 >> 2;
+ r2 = heap32[(r0)];
+ if(r2 !=0) //_LBB80_2
+{
+ r2 = heap32[(fp+1)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3+10)];
+ if(r3 !=0) //_LBB80_4
+{
+ r4 = r1 >> 2;
+ f0 = heapFloat[(r4+2)];
+ f1 = heapFloat[(r4+6)];
+ f2 = heapFloat[(r4+1)];
+ f3 = heapFloat[(r4+5)];
+ f4 = heapFloat[(r4)];
+ f5 = heapFloat[(r4+4)];
+ f0 = f0+f1;
+ f1 = f2+f3;
+ f2 = f4+f5;
+_5: while(true){
+ r4 = r2 >> 2;
+ r4 = heap32[(r4+9)];
+ r4 = r4 >> 2;
+ f3 = heapFloat[(r4)];
+ f4 = heapFloat[(r4+4)];
+ f5 = heapFloat[(r4+2)];
+ f6 = heapFloat[(r4+6)];
+ f7 = heapFloat[(r4+1)];
+ f8 = heapFloat[(r4+5)];
+ f3 = f3+f4;
+ f4 = f5+f6;
+ f5 = f7+f8;
+ f3 = f2-f3;
+ f4 = f0-f4;
+ f5 = f1-f5;
+ f6 = 0;
+ if(f3 <f6) //_LBB80_7
+{
+ f3 = -f3;
+}
+ if(f5 <f6) //_LBB80_10
+{
+ f5 = -f5;
+}
+ f3 = f3+f5;
+ if(f4 <f6) //_LBB80_13
+{
+ f4 = -f4;
+}
+ r3 = r3 >> 2;
+ f5 = heapFloat[(r3)];
+ f7 = heapFloat[(r3+4)];
+ f8 = heapFloat[(r3+2)];
+ f9 = heapFloat[(r3+6)];
+ f10 = heapFloat[(r3+1)];
+ f11 = heapFloat[(r3+5)];
+ f5 = f5+f7;
+ f7 = f8+f9;
+ f8 = f10+f11;
+ f5 = f2-f5;
+ f3 = f3+f4;
+ f4 = f0-f7;
+ f7 = f1-f8;
+ if(f5 <f6) //_LBB80_16
+{
+ f5 = -f5;
+}
+ if(f7 <f6) //_LBB80_19
+{
+ f7 = -f7;
+}
+ f5 = f5+f7;
+ if(f4 <f6) //_LBB80_22
+{
+ f4 = -f4;
+}
+ f4 = f5+f4;
+ r3 = f3 >= f4;
+ r3 = r3 & 1;
+ r3 = r3 << 2;
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+9)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3+10)];
+if(!(r3 !=0)) //_LBB80_5
+{
+break _5;
+}
+}
+}
+ r3 = r2 >> 2;
+ r4 = heap32[(r0+1)];
+ r5 = heap32[(r3+8)];
+ if(r4 ==0) //_LBB80_26
+{
+ r4 = gNumAlignedAllocs;
+ r4 = r4 >> 2;
+ r6 = heap32[(r4)];
+ r6 = (r6 + 1)|0;
+ heap32[(r4)] = r6;
+ heap32[(g0)] = 63;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB80_28
+{
+ r6 = 0;
+ r7 = (r4 + 4)|0;
+ r6 = (r6 - r7)|0;
+ r6 = r6 & 15;
+ r6 = (r4 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r4;
+ r4 = r7;
+}
+}
+else{
+ heap32[(r0+1)] = 0;
+}
+ r6 = r4 >> 2;
+ heap32[(r6+8)] = r5;
+ heap32[(r6+9)] = 0;
+ heap32[(r6+10)] = 0;
+ r7 = r1 >> 2;
+ f0 = heapFloat[(r7)];
+ f1 = heapFloat[(r3)];
+ f0 = f0 < f1 ? f0 : f1;
+ heapFloat[(r6)] = f0;
+ f0 = heapFloat[(r7+4)];
+ f1 = heapFloat[(r3+4)];
+ f0 = f0 > f1 ? f0 : f1;
+ heapFloat[(r6+4)] = f0;
+ f0 = heapFloat[(r7+1)];
+ f1 = heapFloat[(r3+1)];
+ f0 = f0 < f1 ? f0 : f1;
+ heapFloat[(r6+1)] = f0;
+ f0 = heapFloat[(r7+5)];
+ f1 = heapFloat[(r3+5)];
+ f0 = f0 > f1 ? f0 : f1;
+ heapFloat[(r6+5)] = f0;
+ f0 = heapFloat[(r7+2)];
+ f1 = heapFloat[(r3+2)];
+ f0 = f0 < f1 ? f0 : f1;
+ heapFloat[(r6+2)] = f0;
+ f0 = heapFloat[(r7+6)];
+ f1 = heapFloat[(r3+6)];
+ f0 = f0 > f1 ? f0 : f1;
+ heapFloat[(r6+6)] = f0;
+_31: do {
+ if(r5 ==0) //_LBB80_38
+{
+ heap32[(r6+9)] = r2;
+ heap32[(r3+8)] = r4;
+ heap32[(r6+10)] = r1;
+ heap32[(r7+8)] = r4;
+ heap32[(r0)] = r4;
+}
+else{
+ r0 = heap32[(r3+8)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+10)];
+ r0 = r0 == r2;
+ r0 = r0 & 1;
+ r0 = r0 << 2;
+ r0 = (r5 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0+9)] = r4;
+ heap32[(r6+9)] = r2;
+ heap32[(r3+8)] = r4;
+ heap32[(r6+10)] = r1;
+ heap32[(r7+8)] = r4;
+ f0 = heapFloat[(r6)];
+_34: while(true){
+ r0 = r5;
+ r1 = r0 >> 2;
+ f1 = heapFloat[(r1)];
+if(!(f1 >f0)) //_LBB80_37
+{
+ r2 = r4 >> 2;
+ f0 = heapFloat[(r1+1)];
+ f1 = heapFloat[(r2+1)];
+if(!(f0 >f1)) //_LBB80_37
+{
+ f0 = heapFloat[(r1+2)];
+ f1 = heapFloat[(r2+2)];
+if(!(f0 >f1)) //_LBB80_37
+{
+ f0 = heapFloat[(r1+4)];
+ f1 = heapFloat[(r2+4)];
+if(!(f0 <f1)) //_LBB80_37
+{
+ f0 = heapFloat[(r1+5)];
+ f1 = heapFloat[(r2+5)];
+if(!(f0 <f1)) //_LBB80_37
+{
+ f0 = heapFloat[(r1+6)];
+ f1 = heapFloat[(r2+6)];
+ if(f0 >=f1) //_LBB80_39
+{
+break _31;
+}
+}
+}
+}
+}
+}
+ r2 = heap32[(r1+10)];
+ r3 = heap32[(r1+9)];
+ r2 = r2 >> 2;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r3)];
+ f1 = heapFloat[(r2)];
+ f0 = f0 < f1 ? f0 : f1;
+ heapFloat[(r1)] = f0;
+ f1 = heapFloat[(r3+4)];
+ f2 = heapFloat[(r2+4)];
+ f1 = f1 > f2 ? f1 : f2;
+ heapFloat[(r1+4)] = f1;
+ f1 = heapFloat[(r3+1)];
+ f2 = heapFloat[(r2+1)];
+ f1 = f1 < f2 ? f1 : f2;
+ heapFloat[(r1+1)] = f1;
+ f1 = heapFloat[(r3+5)];
+ f2 = heapFloat[(r2+5)];
+ f1 = f1 > f2 ? f1 : f2;
+ heapFloat[(r1+5)] = f1;
+ f1 = heapFloat[(r3+2)];
+ f2 = heapFloat[(r2+2)];
+ f1 = f1 < f2 ? f1 : f2;
+ heapFloat[(r1+2)] = f1;
+ f1 = heapFloat[(r3+6)];
+ f2 = heapFloat[(r2+6)];
+ f1 = f1 > f2 ? f1 : f2;
+ heapFloat[(r1+6)] = f1;
+ r5 = heap32[(r1+8)];
+ r4 = r0;
+ if(r5 ==0) //_LBB80_39
+{
+break _31;
+}
+}
+}
+} while(0);
+ return;
+}
+else{
+ r2 = r1 >> 2;
+ heap32[(r0)] = r1;
+ heap32[(r2+8)] = 0;
+ return;
+}
+}
+
+function _ZL10removeleafP6btDbvtP10btDbvtNode(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r2 = heap32[(r0)];
+ if(r2 !=r1) //_LBB81_2
+{
+ r2 = r1 >> 2;
+ r2 = heap32[(r2+8)];
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+10)];
+ r1 = r4 != r1;
+ r1 = r1 & 1;
+ r1 = r1 << 2;
+ r1 = (r2 + r1)|0;
+ r1 = r1 >> 2;
+ r3 = heap32[(r3+8)];
+ r1 = heap32[(r1+9)];
+_3: do {
+ if(r3 ==0) //_LBB81_11
+{
+ r3 = r1 >> 2;
+ heap32[(r0)] = r1;
+ heap32[(r3+8)] = 0;
+ r3 = heap32[(r0+1)];
+if(!(r3 ==0)) //_LBB81_13
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r4 = heap32[(r1)];
+ r4 = (r4 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r1)] = r4;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r0+1)] = r2;
+ r3 = heap32[(r0)];
+}
+else{
+ r4 = r3 >> 2;
+ r4 = heap32[(r4+10)];
+ r4 = r4 == r2;
+ r4 = r4 & 1;
+ r4 = r4 << 2;
+ r4 = (r3 + r4)|0;
+ r4 = r4 >> 2;
+ r5 = r1 >> 2;
+ heap32[(r4+9)] = r1;
+ heap32[(r5+8)] = r3;
+ r1 = heap32[(r0+1)];
+if(!(r1 ==0)) //_LBB81_5
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r4)] = r5;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r0+1)] = r2;
+_12: while(true){
+ if(r3 !=0) //_LBB81_6
+{
+ r1 = r3 >> 2;
+ r2 = heap32[(r1+10)];
+ r4 = heap32[(r1+9)];
+ r2 = r2 >> 2;
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r1+6)];
+ f1 = heapFloat[(r1)];
+ f2 = heapFloat[(r1+1)];
+ f3 = heapFloat[(r1+2)];
+ f4 = heapFloat[(r1+4)];
+ f5 = heapFloat[(r1+5)];
+ f6 = heapFloat[(r4)];
+ f7 = heapFloat[(r2)];
+ f6 = f6 < f7 ? f6 : f7;
+ heapFloat[(r1)] = f6;
+ f7 = heapFloat[(r4+4)];
+ f8 = heapFloat[(r2+4)];
+ f7 = f7 > f8 ? f7 : f8;
+ heapFloat[(r1+4)] = f7;
+ f8 = heapFloat[(r4+1)];
+ f9 = heapFloat[(r2+1)];
+ f8 = f8 < f9 ? f8 : f9;
+ heapFloat[(r1+1)] = f8;
+ f9 = heapFloat[(r4+5)];
+ f10 = heapFloat[(r2+5)];
+ f9 = f9 > f10 ? f9 : f10;
+ heapFloat[(r1+5)] = f9;
+ f10 = heapFloat[(r4+2)];
+ f11 = heapFloat[(r2+2)];
+ f10 = f10 < f11 ? f10 : f11;
+ heapFloat[(r1+2)] = f10;
+ f11 = heapFloat[(r4+6)];
+ f12 = heapFloat[(r2+6)];
+ f11 = f11 > f12 ? f11 : f12;
+ heapFloat[(r1+6)] = f11;
+if(!(f0 !=f11)) //_LBB81_8
+{
+ r2 = f1 == f6;
+ r4 = f2 == f8;
+ r2 = r2 & r4;
+ r4 = f3 == f10;
+ r2 = r2 & r4;
+ r4 = f4 == f7;
+ r2 = r2 & r4;
+ r4 = f5 == f9;
+ r2 = r2 & r4;
+ if(r2 != 0) //_LBB81_14
+{
+break _3;
+}
+}
+ r3 = heap32[(r1+8)];
+}
+else{
+break _12;
+}
+}
+ r0 = heap32[(r0)];
+ r_g0 = r0;
+ return;
+}
+} while(0);
+ r_g0 = r3;
+ return;
+}
+else{
+ heap32[(r0)] = 0;
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ f0 = heapFloat[(r0)];
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+3)];
+ f1 = heapFloat[(fp+4)];
+ r4 = r1 >> 2;
+ f2 = heapFloat[(r4)];
+ if(f2 <=f0) //_LBB82_2
+{
+ f2 = heapFloat[(r0+1)];
+ f3 = heapFloat[(r4+1)];
+ if(f3 <=f2) //_LBB82_4
+{
+ f3 = heapFloat[(r4+2)];
+ f4 = heapFloat[(r0+2)];
+if(!(f3 >f4)) //_LBB82_3
+{
+ f3 = heapFloat[(r4+4)];
+ f4 = heapFloat[(r0+4)];
+if(!(f3 <f4)) //_LBB82_3
+{
+ f3 = heapFloat[(r4+5)];
+ f4 = heapFloat[(r0+5)];
+if(!(f3 <f4)) //_LBB82_3
+{
+ f3 = heapFloat[(r4+6)];
+ f4 = heapFloat[(r0+6)];
+if(!(f3 <f4)) //_LBB82_3
+{
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+}
+}
+}
+}
+}
+else{
+ f2 = heapFloat[(r0+1)];
+}
+ f0 = f0-f1;
+ f2 = f2-f1;
+ heapFloat[(r0)] = f0;
+ heapFloat[(r0+1)] = f2;
+ f3 = heapFloat[(r0+2)];
+ f3 = f3-f1;
+ heapFloat[(r0+2)] = f3;
+ f4 = heapFloat[(r0+4)];
+ f4 = f4+f1;
+ heapFloat[(r0+4)] = f4;
+ f5 = heapFloat[(r0+5)];
+ f5 = f5+f1;
+ heapFloat[(r0+5)] = f5;
+ f6 = heapFloat[(r0+6)];
+ f1 = f6+f1;
+ r3 = r3 >> 2;
+ heapFloat[(r0+6)] = f1;
+ f6 = heapFloat[(r3)];
+ f7 = 0;
+ if(f6 <=f7) //_LBB82_10
+{
+ f0 = f0+f6;
+ heapFloat[(r0)] = f0;
+}
+else{
+ f0 = f4+f6;
+ heapFloat[(r0+4)] = f0;
+}
+ f0 = heapFloat[(r3+1)];
+ if(f0 <=f7) //_LBB82_13
+{
+ f0 = f2+f0;
+ heapFloat[(r0+1)] = f0;
+}
+else{
+ f0 = f5+f0;
+ heapFloat[(r0+5)] = f0;
+}
+ f0 = heapFloat[(r3+2)];
+ if(f0 <=f7) //_LBB82_16
+{
+ f0 = f3+f0;
+ heapFloat[(r0+2)] = f0;
+}
+else{
+ f0 = f1+f0;
+ heapFloat[(r0+6)] = f0;
+}
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ _ZL10removeleafP6btDbvtP10btDbvtNode(i7);
+ r3 = r_g0;
+_22: do {
+ if(r3 !=0) //_LBB82_19
+{
+ r5 = r2 >> 2;
+ r6 = heap32[(r5+2)];
+ if(r6 <0) //_LBB82_24
+{
+ r5 = heap32[(r5)];
+}
+else{
+ r7 = -1;
+_27: while(true){
+ r5 = r3;
+ r7 = (r7 + 1)|0;
+ if(r6 >r7) //_LBB82_23
+{
+ r3 = r5 >> 2;
+ r3 = heap32[(r3+8)];
+ if(r3 ==0) //_LBB82_22
+{
+break _22;
+}
+else{
+continue _27;
+}
+}
+else{
+break _22;
+}
+}
+}
+}
+else{
+ r5 = 0;
+}
+} while(0);
+ heap32[(r4)] = heap32[(r0)];
+ heap32[(r4+1)] = heap32[(r0+1)];
+ heap32[(r4+2)] = heap32[(r0+2)];
+ heap32[(r4+3)] = heap32[(r0+3)];
+ heap32[(r4+4)] = heap32[(r0+4)];
+ heap32[(r4+5)] = heap32[(r0+5)];
+ heap32[(r4+6)] = heap32[(r0+6)];
+ heap32[(r4+7)] = heap32[(r0+7)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r1;
+ _ZL10insertleafP6btDbvtP10btDbvtNodeS2_(i7);
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZL17recursedeletenodeP6btDbvtP10btDbvtNode(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = r0 >> 2;
+ r3 = heap32[(r2+10)];
+if(!(r3 ==0)) //_LBB83_2
+{
+ r3 = heap32[(r2+9)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ _ZL17recursedeletenodeP6btDbvtP10btDbvtNode(i7);
+ r2 = heap32[(r2+10)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ _ZL17recursedeletenodeP6btDbvtP10btDbvtNode(i7);
+}
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+if(!(r2 !=r0)) //_LBB83_4
+{
+ heap32[(r1)] = 0;
+}
+ r2 = heap32[(r1+1)];
+if(!(r2 ==0)) //_LBB83_6
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r2 = r2 >> 2;
+ heap32[(r3)] = r4;
+ r2 = heap32[(r2+-1)];
+ heap32[(g0)] = r2;
+ free(i7);
+}
+ heap32[(r1+1)] = r0;
+ return;
+}
+
+function _ZN6btDbvt19optimizeIncrementalEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ if(r0 <0) //_LBB84_2
+{
+ r0 = r1 >> 2;
+ r0 = heap32[(r0+3)];
+}
+ r2 = r1 >> 2;
+ r3 = heap32[(r2)];
+_4: do {
+if(!(r3 ==0)) //_LBB84_20
+{
+if(!(r0 <1)) //_LBB84_20
+{
+_6: while(true){
+ r3 = 0;
+ r4 = r1;
+_8: while(true){
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r5 = r4 >> 2;
+ r6 = heap32[(r5+10)];
+ if(r6 !=0) //_LBB84_6
+{
+ r6 = heap32[(r5+8)];
+ if(uint(r6) >uint(r4)) //_LBB84_8
+{
+ r7 = r6 >> 2;
+ r8 = heap32[(r7+10)];
+ r8 = r8 == r4;
+ r8 = r8 & 1;
+ r9 = (r6 + 36)|0;
+ r10 = r8 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r11 = heap32[(r11)];
+ if(r11 ==r4) //_LBB84_10
+{
+ r8 = r8 ^ 1;
+ r8 = r8 << 2;
+ r9 = (r9 + r8)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+ r11 = heap32[(r7+8)];
+ if(r11 ==0) //_LBB84_12
+{
+ heap32[(r2)] = r4;
+}
+else{
+ r12 = r11 >> 2;
+ r12 = heap32[(r12+10)];
+ r12 = r12 == r6;
+ r12 = r12 & 1;
+ r12 = r12 << 2;
+ r12 = (r11 + r12)|0;
+ r12 = r12 >> 2;
+ heap32[(r12+9)] = r4;
+}
+ r12 = r9 >> 2;
+ heap32[(r12+8)] = r4;
+ heap32[(r7+8)] = r4;
+ heap32[(r5+8)] = r11;
+ r11 = heap32[(r5+9)];
+ heap32[(r7+9)] = r11;
+ r11 = heap32[(r5+10)];
+ heap32[(r7+10)] = r11;
+ r11 = heap32[(r5+9)];
+ r11 = r11 >> 2;
+ heap32[(r11+8)] = r6;
+ r11 = heap32[(r5+10)];
+ r4 = (r4 + 36)|0;
+ r10 = (r4 + r10)|0;
+ r11 = r11 >> 2;
+ r4 = (r4 + r8)|0;
+ r8 = r10 >> 2;
+ heap32[(r11+8)] = r6;
+ r4 = r4 >> 2;
+ heap32[(r8)] = r6;
+ heap32[(r4)] = r9;
+ f0 = heapFloat[(r7+7)];
+ f1 = heapFloat[(r7+6)];
+ f2 = heapFloat[(r7+5)];
+ f3 = heapFloat[(r7+4)];
+ f4 = heapFloat[(r7+3)];
+ f5 = heapFloat[(r7+2)];
+ f6 = heapFloat[(r7+1)];
+ f7 = heapFloat[(r7)];
+ heap32[(r7)] = heap32[(r5)];
+ heap32[(r7+1)] = heap32[(r5+1)];
+ heap32[(r7+2)] = heap32[(r5+2)];
+ heap32[(r7+3)] = heap32[(r5+3)];
+ heap32[(r7+4)] = heap32[(r5+4)];
+ heap32[(r7+5)] = heap32[(r5+5)];
+ heap32[(r7+6)] = heap32[(r5+6)];
+ heap32[(r7+7)] = heap32[(r5+7)];
+ heapFloat[(r5)] = f7;
+ heapFloat[(r5+1)] = f6;
+ heapFloat[(r5+2)] = f5;
+ heapFloat[(r5+3)] = f4;
+ heapFloat[(r5+4)] = f3;
+ heapFloat[(r5+5)] = f2;
+ heapFloat[(r5+6)] = f1;
+ heapFloat[(r5+7)] = f0;
+}
+else{
+break _6;
+}
+}
+else{
+ r6 = r4;
+}
+ r4 = heap32[(r2+4)];
+ r4 = r4 >>> r3;
+ r4 = r4 & 1;
+ r4 = r4 << 2;
+ r4 = (r6 + r4)|0;
+ r3 = (r3 + 1)|0;
+ r4 = (r4 + 36)|0;
+ r3 = r3 & 31;
+}
+else{
+break _8;
+}
+}
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ _ZL10removeleafP6btDbvtP10btDbvtNode(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB84_18
+{
+ r3 = heap32[(r2)];
+}
+else{
+ r3 = 0;
+}
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ _ZL10insertleafP6btDbvtP10btDbvtNodeS2_(i7);
+ r3 = heap32[(r2+4)];
+ r0 = (r0 + -1)|0;
+ r3 = (r3 + 1)|0;
+ heap32[(r2+4)] = r3;
+if(!(r0 !=0)) //_LBB84_5
+{
+break _4;
+}
+}
+ r4 = _2E_str22;
+ r0 = _2E_str1118;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 379;
+ _assert(i7);
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN18btDbvtTreeColliderD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btDbvtTreeCollider;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN18btDbvtTreeColliderD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btDbvtTreeCollider;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNodeS2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+2)];
+if(!(r0 ==r1)) //_LBB87_2
+{
+ r2 = heap32[(fp)];
+ r2 = r2 >> 2;
+ r3 = heap32[(r2+1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+24)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ r4 = heap32[(r4+2)];
+ r1 = heap32[(r1+9)];
+ r0 = heap32[(r0+9)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r0 = heap32[(r2+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+30)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0+30)] = r1;
+}
+ return;
+}
+
+function _ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNode(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r1 = heap32[(r1+2)];
+ r2 = r2 >> 2;
+ r1 = r1 >> 2;
+ r2 = heap32[(r2+2)];
+ r1 = heap32[(r1+12)];
+ r3 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ return;
+}
+
+function _ZNK16btDbvtBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+2)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r1)] = heap32[(r0+4)];
+ heap32[(r1+1)] = heap32[(r0+5)];
+ r2 = heap32[(fp+3)];
+ heap32[(r1+2)] = heap32[(r0+6)];
+ r2 = r2 >> 2;
+ heap32[(r1+3)] = heap32[(r0+7)];
+ heap32[(r2)] = heap32[(r0+8)];
+ heap32[(r2+1)] = heap32[(r0+9)];
+ heap32[(r2+2)] = heap32[(r0+10)];
+ heap32[(r2+3)] = heap32[(r0+11)];
+ return;
+}
+
+function _ZN19BroadphaseRayTesterD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV19BroadphaseRayTester;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN19BroadphaseRayTesterD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV19BroadphaseRayTester;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN19BroadphaseRayTester7ProcessEPK10btDbvtNode(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+1)];
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r2 = r2 >> 2;
+ r1 = heap32[(r1+2)];
+ r2 = heap32[(r2+9)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZN20BroadphaseAabbTesterD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV20BroadphaseAabbTester;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN20BroadphaseAabbTesterD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV20BroadphaseAabbTester;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN20BroadphaseAabbTester7ProcessEPK10btDbvtNode(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+1)];
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r2 = r2 >> 2;
+ r1 = heap32[(r1+2)];
+ r2 = heap32[(r2+9)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZN16btDbvtBroadphase23getOverlappingPairCacheEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+24)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK16btDbvtBroadphase23getOverlappingPairCacheEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+24)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK16btDbvtBroadphase17getBroadphaseAabbER9btVector3S1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+1)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r0 = heap32[(r0+11)];
+ if(r1 ==0) //_LBB98_4
+{
+ if(r0 !=0) //_LBB98_6
+{
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0)];
+ f2 = heapFloat[(r0+1)];
+ f4 = heapFloat[(r0+2)];
+ f6 = heapFloat[(r0+3)];
+ f1 = heapFloat[(r0+4)];
+ f3 = heapFloat[(r0+5)];
+ f5 = heapFloat[(r0+6)];
+ f7 = heapFloat[(r0+7)];
+}
+else{
+ f6 = 0;
+ f4 = f6;
+ f2 = f6;
+ f0 = f6;
+ f1 = f6;
+ f3 = f6;
+ f5 = f6;
+ f7 = f6;
+}
+}
+else{
+ if(r0 ==0) //_LBB98_3
+{
+ r0 = r1 >> 2;
+ f0 = heapFloat[(r0)];
+ f2 = heapFloat[(r0+1)];
+ f4 = heapFloat[(r0+2)];
+ f6 = heapFloat[(r0+3)];
+ f1 = heapFloat[(r0+4)];
+ f3 = heapFloat[(r0+5)];
+ f5 = heapFloat[(r0+6)];
+ f7 = heapFloat[(r0+7)];
+}
+else{
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r0)];
+ f2 = heapFloat[(r1+4)];
+ f3 = heapFloat[(r0+4)];
+ f4 = heapFloat[(r1+1)];
+ f5 = heapFloat[(r0+1)];
+ f6 = heapFloat[(r1+5)];
+ f7 = heapFloat[(r0+5)];
+ f8 = heapFloat[(r1+2)];
+ f9 = heapFloat[(r0+2)];
+ f10 = heapFloat[(r1+6)];
+ f11 = heapFloat[(r0+6)];
+ f0 = f0 < f1 ? f0 : f1;
+ f1 = f2 > f3 ? f2 : f3;
+ f2 = f4 < f5 ? f4 : f5;
+ f3 = f6 > f7 ? f6 : f7;
+ f4 = f8 < f9 ? f8 : f9;
+ f5 = f10 > f11 ? f10 : f11;
+}
+}
+ r0 = r2 >> 2;
+ heapFloat[(r0)] = f0;
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f4;
+ r1 = r3 >> 2;
+ heapFloat[(r0+3)] = f6;
+ heapFloat[(r1)] = f1;
+ heapFloat[(r1+1)] = f3;
+ heapFloat[(r1+2)] = f5;
+ heapFloat[(r1+3)] = f7;
+ return;
+}
+
+function _ZN16btDbvtBroadphase10printStatsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN16btDbvtBroadphase9resetPoolEP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = 0;
+ r3 = heap32[(r1+14)];
+ r4 = heap32[(r1+4)];
+ r3 = (r2 - r3)|0;
+if(!(r4 !=r3)) //_LBB100_18
+{
+ r3 = heap32[(r1+1)];
+if(!(r3 ==0)) //_LBB100_3
+{
+ r4 = (r0 + 4)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r3;
+ _ZL17recursedeletenodeP6btDbvtP10btDbvtNode(i7);
+}
+ r3 = heap32[(r1+2)];
+if(!(r3 ==0)) //_LBB100_5
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = -1;
+ r3 = heap32[(r1+9)];
+if(!(r3 ==0)) //_LBB100_9
+{
+ r4 = heapU8[r0+40];
+if(!(r4 ==0)) //_LBB100_8
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r1+9)] = 0;
+}
+ r3 = 1;
+ heap8[r0+40] = r3;
+ heap32[(r1+9)] = 0;
+ heap32[(r1+7)] = 0;
+ heap32[(r1+8)] = 0;
+ heap32[(r1+5)] = 0;
+ r4 = heap32[(r1+11)];
+if(!(r4 ==0)) //_LBB100_11
+{
+ r5 = (r0 + 44)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ _ZL17recursedeletenodeP6btDbvtP10btDbvtNode(i7);
+}
+ r4 = heap32[(r1+12)];
+if(!(r4 ==0)) //_LBB100_13
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r6 = heap32[(r5)];
+ r6 = (r6 + 1)|0;
+ r4 = r4 >> 2;
+ heap32[(r5)] = r6;
+ r4 = heap32[(r4+-1)];
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ heap32[(r1+12)] = 0;
+ heap32[(r1+13)] = -1;
+ r4 = heap32[(r1+19)];
+if(!(r4 ==0)) //_LBB100_17
+{
+ r5 = heapU8[r0+80];
+if(!(r5 ==0)) //_LBB100_16
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r6 = heap32[(r5)];
+ r6 = (r6 + 1)|0;
+ r4 = r4 >> 2;
+ heap32[(r5)] = r6;
+ r4 = heap32[(r4+-1)];
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ heap32[(r1+19)] = 0;
+}
+ heap8[r0+80] = r3;
+ heap32[(r1+19)] = 0;
+ heap32[(r1+17)] = 0;
+ heap32[(r1+18)] = 0;
+ heap32[(r1+15)] = 0;
+ heap8[r0+153] = r2;
+ heap8[r0+154] = r3;
+ heap32[(r1+26)] = 0;
+ heap32[(r1+31)] = 0;
+ heap32[(r1+27)] = 1;
+ heap32[(r1+28)] = 0;
+ heap32[(r1+29)] = 10;
+ heap32[(r1+30)] = 1;
+ heap32[(r1+32)] = 0;
+ heap32[(r1+33)] = 0;
+ heap32[(r1+34)] = 0;
+ heap32[(r1+37)] = 0;
+ heap32[(r1+35)] = 0;
+ heap32[(r1+36)] = 0;
+ heap32[(r1+21)] = 0;
+ heap32[(r1+22)] = 0;
+ heap32[(r1+23)] = 0;
+}
+ return;
+}
+
+function _ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+_1: do {
+if(!(r0 ==0)) //_LBB101_57
+{
+ r1 = heap32[(fp+2)];
+if(!(r1 ==0)) //_LBB101_57
+{
+ r2 = heap32[(fp)];
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+6)];
+if(!(r4 >127)) //_LBB101_17
+{
+ r5 = heap32[(r3+7)];
+if(!(r5 >127)) //_LBB101_17
+{
+ r5 = gNumAlignedAllocs;
+ r5 = r5 >> 2;
+ r6 = heap32[(r5)];
+ r6 = (r6 + 1)|0;
+ heap32[(r5)] = r6;
+ heap32[(g0)] = 1043;
+ malloc(i7);
+ r5 = r_g0;
+ if(r5 !=0) //_LBB101_6
+{
+ r6 = 0;
+ r7 = (r5 + 4)|0;
+ r6 = (r6 - r7)|0;
+ r6 = r6 & 15;
+ r6 = (r5 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r5;
+ r5 = r7;
+}
+ r6 = (r2 + 32)|0;
+ if(r4 <1) //_LBB101_9
+{
+ r4 = r6 >> 2;
+ r8 = heap32[(r4)];
+}
+else{
+ r7 = 0;
+_13: while(true){
+ r8 = r6 >> 2;
+ r8 = heap32[(r8)];
+ r9 = r7 << 3;
+ r10 = (r8 + r9)|0;
+ r10 = r10 >> 2;
+ r9 = (r5 + r9)|0;
+ r11 = heap32[(r10+1)];
+ r10 = heap32[(r10)];
+ r9 = r9 >> 2;
+ r7 = (r7 + 1)|0;
+ heap32[(r9)] = r10;
+ heap32[(r9+1)] = r11;
+if(!(r4 !=r7)) //_LBB101_10
+{
+break _13;
+}
+}
+ r6 = (r2 + 32)|0;
+}
+if(!(r8 ==0)) //_LBB101_16
+{
+ r4 = heapU8[r2+36];
+if(!(r4 ==0)) //_LBB101_15
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r7 = heap32[(r4)];
+ r7 = (r7 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r4)] = r7;
+ r4 = heap32[(r8+-1)];
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ r4 = r6 >> 2;
+ heap32[(r4)] = 0;
+}
+ r4 = 1;
+ r6 = r6 >> 2;
+ heap8[r2+36] = r4;
+ heap32[(r6)] = r5;
+ heap32[(r3+7)] = 128;
+}
+}
+ r4 = heap32[(fp+3)];
+ heap32[(r3+6)] = 128;
+ r5 = heap32[(r3+8)];
+ r5 = r5 >> 2;
+ r6 = 1;
+ r7 = 124;
+ heap32[(r5)] = r0;
+ heap32[(r5+1)] = r1;
+_24: while(true){
+ r0 = r6;
+ r6 = (r0 + -1)|0;
+ r1 = heap32[(r3+8)];
+ r5 = r6 << 3;
+ r5 = (r1 + r5)|0;
+ r5 = r5 >> 2;
+ r8 = heap32[(r5)];
+ r5 = heap32[(r5+1)];
+ if(r6 >r7) //_LBB101_20
+{
+ r7 = heap32[(r3+6)];
+ r9 = r7 << 1;
+_28: do {
+if(!(r7 >r9)) //_LBB101_38
+{
+if(!(r7 >=r9)) //_LBB101_38
+{
+ r10 = heap32[(r3+7)];
+ if(r10 <r9) //_LBB101_24
+{
+ if(r9 !=0) //_LBB101_26
+{
+ r10 = gNumAlignedAllocs;
+ r10 = r10 >> 2;
+ r11 = heap32[(r10)];
+ r12 = r7 << 4;
+ r11 = (r11 + 1)|0;
+ r12 = r12 | 3;
+ heap32[(r10)] = r11;
+ r10 = (r12 + 16)|0;
+ heap32[(g0)] = r10;
+ malloc(i7);
+ r10 = r_g0;
+ if(r10 !=0) //_LBB101_28
+{
+ r11 = 0;
+ r12 = (r10 + 4)|0;
+ r11 = (r11 - r12)|0;
+ r11 = r11 & 15;
+ r11 = (r10 + r11)|0;
+ r12 = (r11 + 4)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = r10;
+ r10 = r12;
+}
+}
+else{
+ r10 = 0;
+}
+if(!(r7 <1)) //_LBB101_32
+{
+ r11 = (r1 + 4)|0;
+ r12 = (r10 + 4)|0;
+ r13 = r7;
+_40: while(true){
+ r14 = r11 >> 2;
+ r15 = heap32[(r14)];
+ r14 = heap32[(r14+-1)];
+ r16 = r12 >> 2;
+ r13 = (r13 + -1)|0;
+ r11 = (r11 + 8)|0;
+ r12 = (r12 + 8)|0;
+ heap32[(r16+-1)] = r14;
+ heap32[(r16)] = r15;
+if(!(r13 !=0)) //_LBB101_31
+{
+break _40;
+}
+}
+}
+if(!(r1 ==0)) //_LBB101_36
+{
+ r11 = heapU8[r2+36];
+if(!(r11 ==0)) //_LBB101_35
+{
+ r11 = gNumAlignedFree;
+ r11 = r11 >> 2;
+ r12 = heap32[(r11)];
+ r12 = (r12 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r11)] = r12;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r3+8)] = 0;
+}
+ r1 = 1;
+ heap8[r2+36] = r1;
+ heap32[(r3+8)] = r10;
+ heap32[(r3+7)] = r9;
+if(!(r7 <r9)) //_LBB101_23
+{
+break _28;
+}
+}
+_49: while(true){
+ r7 = (r7 + -1)|0;
+if(!(r7 !=0)) //_LBB101_37
+{
+break _28;
+}
+}
+}
+}
+} while(0);
+ r7 = (r9 + -4)|0;
+ heap32[(r3+6)] = r9;
+}
+ if(r8 !=r5) //_LBB101_43
+{
+ r1 = r8 >> 2;
+ r9 = r5 >> 2;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r9+4)];
+if(!(f0 >f1)) //_LBB101_41
+{
+ f0 = heapFloat[(r1+4)];
+ f1 = heapFloat[(r9)];
+if(!(f0 <f1)) //_LBB101_41
+{
+ f0 = heapFloat[(r1+1)];
+ f1 = heapFloat[(r9+5)];
+if(!(f0 >f1)) //_LBB101_41
+{
+ f0 = heapFloat[(r1+5)];
+ f1 = heapFloat[(r9+1)];
+if(!(f0 <f1)) //_LBB101_41
+{
+ f0 = heapFloat[(r1+2)];
+ f1 = heapFloat[(r9+6)];
+if(!(f0 >f1)) //_LBB101_41
+{
+ f0 = heapFloat[(r1+6)];
+ f1 = heapFloat[(r9+2)];
+if(!(f0 <f1)) //_LBB101_41
+{
+ r10 = heap32[(r9+10)];
+ r11 = heap32[(r1+10)];
+ if(r11 ==0) //_LBB101_53
+{
+ if(r10 ==0) //_LBB101_55
+{
+ r0 = r4 >> 2;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+2)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r5;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+}
+else{
+ r5 = r0 << 3;
+ r6 = heap32[(r3+8)];
+ r6 = (r6 + r5)|0;
+ r1 = heap32[(r9+9)];
+ r6 = r6 >> 2;
+ heap32[(r6+-2)] = r8;
+ heap32[(r6+-1)] = r1;
+ r6 = heap32[(r3+8)];
+ r5 = (r6 + r5)|0;
+ r1 = heap32[(r9+10)];
+ r5 = r5 >> 2;
+ r6 = (r0 + 1)|0;
+ heap32[(r5)] = r8;
+ heap32[(r5+1)] = r1;
+}
+}
+else{
+ r6 = heap32[(r3+8)];
+ if(r10 ==0) //_LBB101_52
+{
+ r8 = r0 << 3;
+ r6 = (r6 + r8)|0;
+ r6 = r6 >> 2;
+ r9 = heap32[(r1+9)];
+ heap32[(r6+-2)] = r9;
+ heap32[(r6+-1)] = r5;
+ r6 = heap32[(r3+8)];
+ r6 = (r6 + r8)|0;
+ r8 = heap32[(r1+10)];
+ r9 = r6 >> 2;
+ r6 = (r0 + 1)|0;
+ heap32[(r9)] = r8;
+ heap32[(r9+1)] = r5;
+}
+else{
+ r5 = r0 << 3;
+ r6 = (r6 + r5)|0;
+ r8 = heap32[(r9+9)];
+ r10 = heap32[(r1+9)];
+ r6 = r6 >> 2;
+ heap32[(r6+-2)] = r10;
+ heap32[(r6+-1)] = r8;
+ r6 = heap32[(r3+8)];
+ r6 = (r6 + r5)|0;
+ r8 = heap32[(r9+9)];
+ r10 = heap32[(r1+10)];
+ r6 = r6 >> 2;
+ heap32[(r6)] = r10;
+ heap32[(r6+1)] = r8;
+ r6 = heap32[(r3+8)];
+ r6 = (r5 + r6)|0;
+ r8 = heap32[(r9+10)];
+ r10 = heap32[(r1+9)];
+ r6 = r6 >> 2;
+ heap32[(r6+2)] = r10;
+ heap32[(r6+3)] = r8;
+ r6 = heap32[(r3+8)];
+ r6 = (r5 + r6)|0;
+ r5 = heap32[(r9+10)];
+ r1 = heap32[(r1+10)];
+ r8 = r6 >> 2;
+ r6 = (r0 + 3)|0;
+ heap32[(r8+4)] = r1;
+ heap32[(r8+5)] = r5;
+}
+}
+}
+}
+}
+}
+}
+}
+}
+else{
+ r5 = r8 >> 2;
+ r8 = heap32[(r5+10)];
+ if(r8 !=0) //_LBB101_42
+{
+ r6 = r0 << 3;
+ r8 = heap32[(r3+8)];
+ r8 = (r8 + r6)|0;
+ r1 = heap32[(r5+9)];
+ r8 = r8 >> 2;
+ heap32[(r8+-2)] = r1;
+ heap32[(r8+-1)] = r1;
+ r8 = heap32[(r3+8)];
+ r8 = (r8 + r6)|0;
+ r1 = heap32[(r5+10)];
+ r8 = r8 >> 2;
+ heap32[(r8)] = r1;
+ heap32[(r8+1)] = r1;
+ r8 = heap32[(r3+8)];
+ r6 = (r6 + r8)|0;
+ r8 = heap32[(r5+10)];
+ r5 = heap32[(r5+9)];
+ r1 = r6 >> 2;
+ r6 = (r0 + 2)|0;
+ heap32[(r1+2)] = r5;
+ heap32[(r1+3)] = r8;
+}
+}
+ if(r6 !=0) //_LBB101_18
+{
+continue _24;
+}
+else{
+break _1;
+}
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+if(!(r0 ==0)) //_LBB102_46
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = gNumAlignedAllocs;
+ r1 = r1 >> 2;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r1+1)];
+ f2 = heapFloat[(r1+2)];
+ f3 = heapFloat[(r1+4)];
+ f4 = heapFloat[(r1+5)];
+ f5 = heapFloat[(r1+6)];
+ r1 = (r4 + 1)|0;
+ heap32[(r3)] = r1;
+ heap32[(g0)] = 275;
+ malloc(i7);
+ r1 = r_g0;
+ if(r1 !=0) //_LBB102_3
+{
+ r4 = 0;
+ r5 = (r1 + 4)|0;
+ r4 = (r4 - r5)|0;
+ r4 = r4 & 15;
+ r4 = (r1 + r4)|0;
+ r5 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r1;
+ r1 = r5;
+}
+ r4 = 1;
+ r5 = 64;
+ r6 = r1 >> 2;
+ heap32[(r6)] = r0;
+_6: while(true){
+ r0 = r4;
+ r4 = (r0 + -1)|0;
+ r6 = r4 << 2;
+ r6 = (r1 + r6)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ r7 = r6 >> 2;
+ f6 = heapFloat[(r7)];
+ if(f6 <=f3) //_LBB102_7
+{
+ f6 = heapFloat[(r7+4)];
+if(!(f6 <f0)) //_LBB102_6
+{
+ f6 = heapFloat[(r7+1)];
+if(!(f6 >f4)) //_LBB102_6
+{
+ f6 = heapFloat[(r7+5)];
+if(!(f6 <f1)) //_LBB102_6
+{
+ f6 = heapFloat[(r7+2)];
+if(!(f6 >f5)) //_LBB102_6
+{
+ f6 = heapFloat[(r7+6)];
+if(!(f6 <f2)) //_LBB102_6
+{
+ r8 = heap32[(r7+10)];
+ if(r8 ==0) //_LBB102_42
+{
+ r0 = r2 >> 2;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+3)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+}
+else{
+ r6 = heap32[(r7+9)];
+ if(r5 ==r4) //_LBB102_15
+{
+ r8 = 1;
+ r9 = r4 << 1;
+ r8 = r4 == 0 ? r8 : r9;
+if(!(r5 >=r8)) //_LBB102_14
+{
+ if(r8 !=0) //_LBB102_18
+{
+ r5 = heap32[(r3)];
+ r9 = r8 << 2;
+ r5 = (r5 + 1)|0;
+ r9 = r9 | 3;
+ heap32[(r3)] = r5;
+ r5 = (r9 + 16)|0;
+ heap32[(g0)] = r5;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB102_20
+{
+ r5 = 0;
+ r10 = (r9 + 4)|0;
+ r5 = (r5 - r10)|0;
+ r5 = r5 & 15;
+ r5 = (r9 + r5)|0;
+ r10 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r9;
+ r9 = r10;
+}
+}
+else{
+ r9 = 0;
+}
+if(!(r4 <1)) //_LBB102_24
+{
+ r4 = (r0 + -1)|0;
+ r5 = r1;
+ r10 = r9;
+_28: while(true){
+ r11 = r5 >> 2;
+ r4 = (r4 + -1)|0;
+ r12 = (r10 + 4)|0;
+ r5 = (r5 + 4)|0;
+ r10 = r10 >> 2;
+ r11 = heap32[(r11)];
+ heap32[(r10)] = r11;
+ r10 = r12;
+if(!(r4 !=0)) //_LBB102_23
+{
+break _28;
+}
+}
+}
+ if(r1 !=0) //_LBB102_26
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r4)] = r5;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+ r5 = r8;
+ r1 = r9;
+}
+else{
+ r5 = r8;
+ r1 = r9;
+}
+}
+}
+ r4 = r0 << 2;
+ r8 = (r1 + r4)|0;
+ r8 = r8 >> 2;
+ heap32[(r8+-1)] = r6;
+ r6 = heap32[(r7+10)];
+ if(r5 ==r0) //_LBB102_29
+{
+ r7 = 1;
+ r8 = r0 << 1;
+ r7 = r0 == 0 ? r7 : r8;
+if(!(r5 >=r7)) //_LBB102_28
+{
+ if(r7 !=0) //_LBB102_32
+{
+ r5 = heap32[(r3)];
+ r8 = r7 << 2;
+ r5 = (r5 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r3)] = r5;
+ r5 = (r8 + 16)|0;
+ heap32[(g0)] = r5;
+ malloc(i7);
+ r8 = r_g0;
+ if(r8 !=0) //_LBB102_34
+{
+ r5 = 0;
+ r9 = (r8 + 4)|0;
+ r5 = (r5 - r9)|0;
+ r5 = r5 & 15;
+ r5 = (r8 + r5)|0;
+ r9 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r8;
+ r8 = r9;
+}
+}
+else{
+ r8 = 0;
+}
+_43: do {
+if(!(r0 <1)) //_LBB102_38
+{
+ r5 = r1;
+ r9 = r8;
+ r10 = r0;
+_45: while(true){
+ r11 = r5 >> 2;
+ r10 = (r10 + -1)|0;
+ r12 = (r9 + 4)|0;
+ r5 = (r5 + 4)|0;
+ r9 = r9 >> 2;
+ r11 = heap32[(r11)];
+ heap32[(r9)] = r11;
+ r9 = r12;
+if(!(r10 !=0)) //_LBB102_37
+{
+break _43;
+}
+}
+}
+} while(0);
+ if(r1 !=0) //_LBB102_40
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r9 = heap32[(r5)];
+ r9 = (r9 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r5)] = r9;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+ r5 = r7;
+ r1 = r8;
+}
+else{
+ r5 = r7;
+ r1 = r8;
+}
+}
+}
+ r7 = (r1 + r4)|0;
+ r4 = (r0 + 1)|0;
+ r0 = r7 >> 2;
+ heap32[(r0)] = r6;
+}
+}
+}
+}
+}
+}
+}
+if(!(r4 >0)) //_LBB102_5
+{
+break _6;
+}
+}
+if(!(r1 ==0)) //_LBB102_46
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r2 = heap32[(r0)];
+ r2 = (r2 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r0)] = r2;
+ r0 = heap32[(r1+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+}
+ return;
+}
+
+function _ZN16btDbvtBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -56;var g0 = i7>>2; // save stack
+ r0 = _ZTV20BroadphaseAabbTester;
+ r1 = sp + -8;
+ r0 = (r0 + 8)|0;
+ r2 = heap32[(fp+1)];
+ r3 = r1 >> 2;
+ r4 = heap32[(fp+3)];
+ heap32[(fp+-2)] = r0;
+ r0 = sp + -40;
+ r2 = r2 >> 2;
+ heap32[(r3+1)] = r4;
+ r3 = r0 >> 2;
+ heap32[(fp+-10)] = heap32[(r2)];
+ heap32[(r3+1)] = heap32[(r2+1)];
+ r4 = heap32[(fp+2)];
+ heap32[(r3+2)] = heap32[(r2+2)];
+ r4 = r4 >> 2;
+ heap32[(r3+3)] = heap32[(r2+3)];
+ heap32[(r3+4)] = heap32[(r4)];
+ heap32[(r3+5)] = heap32[(r4+1)];
+ r2 = heap32[(fp)];
+ heap32[(r3+6)] = heap32[(r4+2)];
+ r2 = r2 >> 2;
+ heap32[(r3+7)] = heap32[(r4+3)];
+ r3 = heap32[(r2+1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r1;
+ _ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(i7);
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r1;
+ _ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(i7);
+ return;
+}
+
+function _ZN16btDbvtBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -64;var g0 = i7>>2; // save stack
+ r0 = gNumAlignedAllocs;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = (r1 + 1)|0;
+ heap32[(r0)] = r2;
+ heap32[(g0)] = 83;
+ malloc(i7);
+ r2 = r_g0;
+ r3 = heap32[(fp)];
+ r4 = heap32[(fp+1)];
+ r5 = heap32[(fp+2)];
+ r6 = heap32[(fp+4)];
+ r7 = heap32[(fp+5)];
+ r8 = heap32[(fp+6)];
+ if(r2 !=0) //_LBB104_2
+{
+ r9 = 0;
+ r10 = (r2 + 4)|0;
+ r9 = (r9 - r10)|0;
+ r9 = r9 & 15;
+ r9 = (r2 + r9)|0;
+ r10 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r2;
+ r2 = r10;
+}
+ r9 = r2 >> 2;
+ heap32[(r9)] = r6;
+ heap16[(r2+4)>>1] = r7;
+ r4 = r4 >> 2;
+ heap16[(r2+6)>>1] = r8;
+ f0 = heapFloat[(r4)];
+ heapFloat[(r9+4)] = f0;
+ f1 = heapFloat[(r4+1)];
+ heapFloat[(r9+5)] = f1;
+ f2 = heapFloat[(r4+2)];
+ heapFloat[(r9+6)] = f2;
+ f3 = heapFloat[(r4+3)];
+ r4 = r5 >> 2;
+ heapFloat[(r9+7)] = f3;
+ f4 = heapFloat[(r4)];
+ heapFloat[(r9+8)] = f4;
+ f5 = heapFloat[(r4+1)];
+ heapFloat[(r9+9)] = f5;
+ f6 = heapFloat[(r4+2)];
+ heapFloat[(r9+10)] = f6;
+ f7 = heapFloat[(r4+3)];
+ heapFloat[(r9+11)] = f7;
+ heap32[(r9+2)] = 0;
+ heap32[(r9+14)] = 0;
+ r4 = sp + -32;
+ heap32[(r9+13)] = 0;
+ r5 = r4 >> 2;
+ heapFloat[(fp+-8)] = f0;
+ heapFloat[(r5+1)] = f1;
+ heapFloat[(r5+2)] = f2;
+ heapFloat[(r5+3)] = f3;
+ heapFloat[(r5+4)] = f4;
+ heapFloat[(r5+5)] = f5;
+ heapFloat[(r5+6)] = f6;
+ r6 = r3 >> 2;
+ heapFloat[(r5+7)] = f7;
+ r5 = heap32[(r6+26)];
+ heap32[(r9+15)] = r5;
+ r5 = heap32[(r6+37)];
+ r5 = (r5 + 1)|0;
+ heap32[(r6+37)] = r5;
+ heap32[(r9+3)] = r5;
+ r5 = heap32[(r6+2)];
+ r7 = (r3 + 4)|0;
+ if(r5 ==0) //_LBB104_5
+{
+ r5 = (r1 + 2)|0;
+ heap32[(r0)] = r5;
+ heap32[(g0)] = 63;
+ malloc(i7);
+ r5 = r_g0;
+ if(r5 !=0) //_LBB104_7
+{
+ r0 = 0;
+ r1 = (r5 + 4)|0;
+ r0 = (r0 - r1)|0;
+ r0 = r0 & 15;
+ r0 = (r5 + r0)|0;
+ r1 = (r0 + 4)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r5;
+ r5 = r1;
+}
+}
+else{
+ heap32[(r6+2)] = 0;
+}
+ r0 = r5 >> 2;
+ heap32[(r0+8)] = 0;
+ heap32[(r0+9)] = r2;
+ heap32[(r0+10)] = 0;
+ heapFloat[(r0)] = f0;
+ heapFloat[(r0+1)] = f1;
+ heapFloat[(r0+2)] = f2;
+ heapFloat[(r0+3)] = f3;
+ heapFloat[(r0+4)] = f4;
+ heapFloat[(r0+5)] = f5;
+ heapFloat[(r0+6)] = f6;
+ heapFloat[(r0+7)] = f7;
+ r0 = heap32[(r6+1)];
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r5;
+ _ZL10insertleafP6btDbvtP10btDbvtNodeS2_(i7);
+ r0 = heap32[(r6+4)];
+ r0 = (r0 + 1)|0;
+ heap32[(r6+4)] = r0;
+ heap32[(r9+12)] = r5;
+ r0 = heap32[(r6+26)];
+ r0 = r0 << 2;
+ r0 = (r3 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r9+13)] = 0;
+ r1 = heap32[(r0+21)];
+ heap32[(r9+14)] = r1;
+if(!(r1 ==0)) //_LBB104_10
+{
+ r1 = r1 >> 2;
+ heap32[(r1+13)] = r2;
+}
+ heap32[(r0+21)] = r2;
+ r0 = heapU8[r3+153];
+if(!(r0 !=0)) //_LBB104_12
+{
+ r0 = _ZTV18btDbvtTreeCollider;
+ r0 = (r0 + 8)|0;
+ r1 = sp + -48;
+ r5 = r1 >> 2;
+ heap32[(fp+-12)] = r0;
+ heap32[(r5+1)] = r3;
+ heap32[(r5+2)] = r2;
+ r3 = heap32[(r6+1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ _ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(i7);
+ r3 = heap32[(r6+11)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ _ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(i7);
+ heap32[(fp+-12)] = r0;
+}
+ r_g0 = r2;
+ return;
+}
+
+function _ZNK6btDbvt15rayTestInternalEPK10btDbvtNodeRK9btVector3S5_S5_PjfS5_S5_RNS_8ICollideE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+if(!(r0 ==0)) //_LBB105_43
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ f0 = heapFloat[(fp+4)];
+ r4 = heap32[(fp+5)];
+ r5 = heap32[(fp+6)];
+ r6 = heap32[(fp+7)];
+ r7 = gNumAlignedAllocs;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7)];
+ r8 = (r8 + 1)|0;
+ heap32[(r7)] = r8;
+ heap32[(g0)] = 531;
+ malloc(i7);
+ r8 = r_g0;
+ if(r8 !=0) //_LBB105_3
+{
+ r9 = 0;
+ r10 = (r8 + 4)|0;
+ r9 = (r9 - r10)|0;
+ r9 = r9 & 15;
+ r9 = (r8 + r9)|0;
+ r10 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r8;
+ r8 = r10;
+}
+ r9 = 0;
+_6: while(true){
+ r10 = r9 << 2;
+ r10 = (r8 + r10)|0;
+ r9 = (r9 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = 0;
+if(!(r9 !=128)) //_LBB105_5
+{
+break _6;
+}
+}
+ r9 = 128;
+ r10 = 1;
+ r11 = 126;
+ r12 = r8 >> 2;
+ heap32[(r12)] = r0;
+ r0 = r9;
+ r12 = r10;
+_9: while(true){
+ r13 = r12;
+ r12 = (r13 + -1)|0;
+ r14 = r12 << 2;
+ r14 = (r8 + r14)|0;
+ r14 = r14 >> 2;
+ r14 = heap32[(r14)];
+ r15 = r14 >> 2;
+ r16 = r5 >> 2;
+ f1 = heapFloat[(r15+2)];
+ f2 = heapFloat[(r16+2)];
+ f3 = heapFloat[(r15+1)];
+ f4 = heapFloat[(r16+1)];
+ f5 = heapFloat[(r15)];
+ f6 = heapFloat[(r16)];
+ r16 = sp + -32;
+ f5 = f5-f6;
+ r17 = r16 >> 2;
+ f3 = f3-f4;
+ heapFloat[(fp+-8)] = f5;
+ f1 = f1-f2;
+ heapFloat[(r17+1)] = f3;
+ heapFloat[(r17+2)] = f1;
+ heap32[(r17+3)] = 0;
+ r18 = r4 >> 2;
+ f1 = heapFloat[(r15+6)];
+ f2 = heapFloat[(r18+2)];
+ f3 = heapFloat[(r15+5)];
+ f4 = heapFloat[(r18+1)];
+ f5 = heapFloat[(r15+4)];
+ f6 = heapFloat[(r18)];
+ f5 = f5-f6;
+ f3 = f3-f4;
+ heapFloat[(r17+4)] = f5;
+ f1 = f1-f2;
+ heapFloat[(r17+5)] = f3;
+ heapFloat[(r17+6)] = f1;
+ r18 = r3 >> 2;
+ heap32[(r17+7)] = 0;
+ r17 = heap32[(r18)];
+ r19 = heap32[(r18+1)];
+ r20 = (r10 - r19)|0;
+ r21 = r17 << 4;
+ r20 = r20 << 4;
+ r21 = (r16 + r21)|0;
+ r20 = (r16 + r20)|0;
+ r22 = r1 >> 2;
+ r21 = r21 >> 2;
+ r20 = r20 >> 2;
+ r23 = r2 >> 2;
+ f1 = heapFloat[(r21)];
+ f2 = heapFloat[(r22)];
+ f3 = heapFloat[(r20+1)];
+ f4 = heapFloat[(r22+1)];
+ f1 = f1-f2;
+ f5 = heapFloat[(r23)];
+ f3 = f3-f4;
+ f6 = heapFloat[(r23+1)];
+ f1 = f1*f5;
+ f3 = f3*f6;
+if(!(f1 >f3)) //_LBB105_9
+{
+ r17 = (r10 - r17)|0;
+ r17 = r17 << 4;
+ r19 = r19 << 4;
+ r17 = (r16 + r17)|0;
+ r19 = (r16 + r19)|0;
+ r17 = r17 >> 2;
+ r19 = r19 >> 2;
+ f7 = heapFloat[(r17)];
+ f8 = heapFloat[(r19+1)];
+ f2 = f7-f2;
+ f4 = f8-f4;
+ f2 = f2*f5;
+ f4 = f4*f6;
+ if(f4 <=f2) //_LBB105_10
+{
+ r17 = heap32[(r18+2)];
+ r18 = 1;
+ r18 = (r18 - r17)|0;
+ r18 = r18 << 4;
+ r18 = (r16 + r18)|0;
+ r18 = r18 >> 2;
+ f5 = heapFloat[(r18+2)];
+ f6 = heapFloat[(r22+2)];
+ f5 = f5-f6;
+ f7 = heapFloat[(r23+2)];
+ f1 = f1 < f4 ? f4 : f1;
+ f4 = f5*f7;
+if(!(f1 >f4)) //_LBB105_9
+{
+ r17 = r17 << 4;
+ r16 = (r16 + r17)|0;
+ r16 = r16 >> 2;
+ f5 = heapFloat[(r16+2)];
+ f5 = f5-f6;
+ f2 = f3 < f2 ? f3 : f2;
+ f3 = f5*f7;
+if(!(f3 >f2)) //_LBB105_9
+{
+ f1 = f1 < f3 ? f3 : f1;
+if(!(f1 >=f0)) //_LBB105_9
+{
+ f1 = f4 < f2 ? f4 : f2;
+ f2 = 0;
+if(!(f1 <=f2)) //_LBB105_9
+{
+ r16 = heap32[(r15+10)];
+ if(r16 ==0) //_LBB105_39
+{
+ r13 = r6 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+3)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r14;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+}
+else{
+ if(r12 >r11) //_LBB105_17
+{
+ r14 = r0 << 1;
+_23: do {
+ if(r0 <=r14) //_LBB105_19
+{
+if(!(r0 >=r14)) //_LBB105_18
+{
+ if(r9 <r14) //_LBB105_22
+{
+ if(r14 !=0) //_LBB105_24
+{
+ r9 = heap32[(r7)];
+ r11 = r0 << 3;
+ r9 = (r9 + 1)|0;
+ r11 = r11 | 3;
+ heap32[(r7)] = r9;
+ r9 = (r11 + 16)|0;
+ heap32[(g0)] = r9;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB105_26
+{
+ r11 = 0;
+ r12 = (r9 + 4)|0;
+ r11 = (r11 - r12)|0;
+ r11 = r11 & 15;
+ r11 = (r9 + r11)|0;
+ r12 = (r11 + 4)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = r9;
+ r9 = r12;
+}
+}
+else{
+ r9 = 0;
+}
+if(!(r0 <1)) //_LBB105_30
+{
+ r11 = r8;
+ r12 = r9;
+ r16 = r0;
+_35: while(true){
+ r17 = r11 >> 2;
+ r16 = (r16 + -1)|0;
+ r18 = (r12 + 4)|0;
+ r11 = (r11 + 4)|0;
+ r12 = r12 >> 2;
+ r17 = heap32[(r17)];
+ heap32[(r12)] = r17;
+ r12 = r18;
+if(!(r16 !=0)) //_LBB105_29
+{
+break _35;
+}
+}
+}
+if(!(r8 ==0)) //_LBB105_32
+{
+ r11 = gNumAlignedFree;
+ r11 = r11 >> 2;
+ r12 = heap32[(r11)];
+ r12 = (r12 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r11)] = r12;
+ r8 = heap32[(r8+-1)];
+ heap32[(g0)] = r8;
+ free(i7);
+}
+ if(r0 <r14) //_LBB105_34
+{
+ r8 = r9;
+ r9 = r14;
+}
+else{
+ r8 = r9;
+ r9 = r14;
+break _23;
+}
+}
+ r11 = r0;
+_45: while(true){
+ r12 = r0 << 2;
+ r12 = (r8 + r12)|0;
+ r11 = (r11 + -1)|0;
+ r0 = (r0 + 1)|0;
+ r12 = r12 >> 2;
+ heap32[(r12)] = 0;
+if(!(r11 !=0)) //_LBB105_36
+{
+break _23;
+}
+}
+}
+}
+} while(0);
+ r11 = (r14 + -2)|0;
+}
+else{
+ r14 = r0;
+}
+ r0 = r13 << 2;
+ r0 = (r8 + r0)|0;
+ r0 = r0 >> 2;
+ r12 = heap32[(r15+9)];
+ heap32[(r0+-1)] = r12;
+ r15 = heap32[(r15+10)];
+ r12 = (r13 + 1)|0;
+ heap32[(r0)] = r15;
+ r0 = r14;
+}
+}
+}
+}
+}
+}
+}
+if(!(r12 !=0)) //_LBB105_7
+{
+break _9;
+}
+}
+if(!(r8 ==0)) //_LBB105_43
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ r2 = r8 >> 2;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+}
+ return;
+}
+
+function _ZN16btDbvtBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = _ZTV19BroadphaseRayTester;
+ r1 = sp + -8;
+ r0 = (r0 + 8)|0;
+ r2 = heap32[(fp+3)];
+ r3 = heap32[(fp)];
+ r4 = r1 >> 2;
+ heap32[(fp+-2)] = r0;
+ heap32[(r4+1)] = r2;
+ r0 = r2 >> 2;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r0+8)];
+ r4 = heap32[(r3+1)];
+ r5 = heap32[(fp+1)];
+ r6 = (r2 + 4)|0;
+ r2 = (r2 + 20)|0;
+ r7 = heap32[(fp+4)];
+ r8 = heap32[(fp+5)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r2;
+ heapFloat[(g0+4)] = f0;
+ heap32[(g0+5)] = r7;
+ heap32[(g0+6)] = r8;
+ heap32[(g0+7)] = r1;
+ _ZNK6btDbvt15rayTestInternalEPK10btDbvtNodeRK9btVector3S5_S5_PjfS5_S5_RNS_8ICollideE(i7);
+ f0 = heapFloat[(r0+8)];
+ r0 = heap32[(r3+11)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r2;
+ heapFloat[(g0+4)] = f0;
+ heap32[(g0+5)] = r7;
+ heap32[(g0+6)] = r8;
+ heap32[(g0+7)] = r1;
+ _ZNK6btDbvt15rayTestInternalEPK10btDbvtNodeRK9btVector3S5_S5_PjfS5_S5_RNS_8ICollideE(i7);
+ return;
+}
+
+function _ZN16btDbvtBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(r1+12)];
+ r5 = heap32[(r1+15)];
+ if(r5 !=2) //_LBB107_4
+{
+ r5 = (r2 + 4)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ r5 = r2 >> 2;
+ _ZL10removeleafP6btDbvtP10btDbvtNode(i7);
+ r6 = heap32[(r5+2)];
+if(!(r6 ==0)) //_LBB107_6
+{
+ r7 = gNumAlignedFree;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7)];
+ r8 = (r8 + 1)|0;
+ r6 = r6 >> 2;
+ heap32[(r7)] = r8;
+ r6 = heap32[(r6+-1)];
+ heap32[(g0)] = r6;
+ free(i7);
+}
+ heap32[(r5+2)] = r4;
+ r4 = heap32[(r5+4)];
+ r4 = (r4 + -1)|0;
+ heap32[(r5+4)] = r4;
+}
+else{
+ r5 = (r2 + 44)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ r5 = r2 >> 2;
+ _ZL10removeleafP6btDbvtP10btDbvtNode(i7);
+ r6 = heap32[(r5+12)];
+if(!(r6 ==0)) //_LBB107_3
+{
+ r7 = gNumAlignedFree;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7)];
+ r8 = (r8 + 1)|0;
+ r6 = r6 >> 2;
+ heap32[(r7)] = r8;
+ r6 = heap32[(r6+-1)];
+ heap32[(g0)] = r6;
+ free(i7);
+}
+ heap32[(r5+12)] = r4;
+ r4 = heap32[(r5+14)];
+ r4 = (r4 + -1)|0;
+ heap32[(r5+14)] = r4;
+}
+ r4 = heap32[(r1+13)];
+ r5 = heap32[(r1+14)];
+ if(r4 ==0) //_LBB107_9
+{
+ r4 = heap32[(r1+15)];
+ r4 = r4 << 2;
+ r4 = (r2 + r4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4+21)] = r5;
+}
+else{
+ r4 = r4 >> 2;
+ heap32[(r4+14)] = r5;
+}
+ r4 = heap32[(r1+14)];
+if(!(r4 ==0)) //_LBB107_12
+{
+ r4 = r4 >> 2;
+ r5 = heap32[(r1+13)];
+ heap32[(r4+13)] = r5;
+}
+ r4 = r2 >> 2;
+ r4 = heap32[(r4+24)];
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+4)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+if(!(r0 ==0)) //_LBB107_14
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r3 = heap32[(r0)];
+ r3 = (r3 + 1)|0;
+ heap32[(r0)] = r3;
+ r0 = heap32[(r1+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = 1;
+ heap8[r2+154] = r0;
+ return;
+}
+
+function _ZN16btDbvtBroadphase25calculateOverlappingPairsEP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+4)];
+ r3 = heap32[(r1+28)];
+ r2 = (r3 * r2)|0;
+ r2 = (r2 / 100)|0;
+ r3 = (r0 + 4)|0;
+ r2 = (r2 + 1)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ _ZN6btDbvt19optimizeIncrementalEi(i7);
+ r2 = heap32[(r1+31)];
+if(!(r2 ==0)) //_LBB108_2
+{
+ r2 = heap32[(r1+14)];
+ r4 = heap32[(r1+27)];
+ r2 = (r4 * r2)|0;
+ r4 = (r2 / 100)|0;
+ r5 = (r0 + 44)|0;
+ r4 = (r4 + 1)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ _ZN6btDbvt19optimizeIncrementalEi(i7);
+ r2 = (r2 / -100)|0;
+ r4 = heap32[(r1+31)];
+ r2 = (r2 + r4)|0;
+ r2 = (r2 + -1)|0;
+ r4 = 0;
+ r2 = r2 < 0 ? r4 : r2;
+ heap32[(r1+31)] = r2;
+}
+ r2 = heap32[(r1+26)];
+ r2 = (r2 + 1)|0;
+ r4 = r2 >>> 31;
+ r4 = (r2 + r4)|0;
+ r4 = r4 & -2;
+ r2 = (r2 - r4)|0;
+ r4 = r2 << 2;
+ r4 = (r0 + r4)|0;
+ r4 = r4 >> 2;
+ heap32[(r1+26)] = r2;
+ r2 = heap32[(r4+21)];
+if(!(r2 ==0)) //_LBB108_20
+{
+ r4 = (r0 + 44)|0;
+_6: while(true){
+ r5 = r2 >> 2;
+ r6 = heap32[(r5+13)];
+ r7 = heap32[(r5+14)];
+ if(r6 ==0) //_LBB108_6
+{
+ r6 = heap32[(r5+15)];
+ r6 = r6 << 2;
+ r6 = (r0 + r6)|0;
+ r6 = r6 >> 2;
+ heap32[(r6+21)] = r7;
+}
+else{
+ r6 = r6 >> 2;
+ heap32[(r6+14)] = r7;
+}
+ r6 = heap32[(r5+14)];
+if(!(r6 ==0)) //_LBB108_9
+{
+ r6 = r6 >> 2;
+ r8 = heap32[(r5+13)];
+ heap32[(r6+13)] = r8;
+}
+ heap32[(r5+13)] = 0;
+ r6 = heap32[(r1+23)];
+ heap32[(r5+14)] = r6;
+ r6 = heap32[(r1+23)];
+if(!(r6 ==0)) //_LBB108_11
+{
+ r6 = r6 >> 2;
+ heap32[(r6+13)] = r2;
+}
+ heap32[(r1+23)] = r2;
+ r6 = heap32[(r5+12)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r6;
+ _ZL10removeleafP6btDbvtP10btDbvtNode(i7);
+ r8 = heap32[(r1+2)];
+if(!(r8 ==0)) //_LBB108_13
+{
+ r9 = gNumAlignedFree;
+ r9 = r9 >> 2;
+ r10 = heap32[(r9)];
+ r10 = (r10 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r9)] = r10;
+ r8 = heap32[(r8+-1)];
+ heap32[(g0)] = r8;
+ free(i7);
+}
+ heap32[(r1+2)] = r6;
+ r6 = heap32[(r1+4)];
+ r6 = (r6 + -1)|0;
+ heap32[(r1+4)] = r6;
+ r6 = heap32[(r1+12)];
+ f0 = heapFloat[(r5+4)];
+ f1 = heapFloat[(r5+5)];
+ f2 = heapFloat[(r5+6)];
+ f3 = heapFloat[(r5+7)];
+ f4 = heapFloat[(r5+8)];
+ f5 = heapFloat[(r5+9)];
+ f6 = heapFloat[(r5+10)];
+ f7 = heapFloat[(r5+11)];
+ if(r6 ==0) //_LBB108_15
+{
+ r6 = gNumAlignedAllocs;
+ r6 = r6 >> 2;
+ r8 = heap32[(r6)];
+ r8 = (r8 + 1)|0;
+ heap32[(r6)] = r8;
+ heap32[(g0)] = 63;
+ malloc(i7);
+ r6 = r_g0;
+ if(r6 !=0) //_LBB108_17
+{
+ r8 = 0;
+ r9 = (r6 + 4)|0;
+ r8 = (r8 - r9)|0;
+ r8 = r8 & 15;
+ r8 = (r6 + r8)|0;
+ r9 = (r8 + 4)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r6;
+ r6 = r9;
+}
+}
+else{
+ heap32[(r1+12)] = 0;
+}
+ r8 = r6 >> 2;
+ heap32[(r8+8)] = 0;
+ heap32[(r8+9)] = r2;
+ heap32[(r8+10)] = 0;
+ heapFloat[(r8)] = f0;
+ heapFloat[(r8+1)] = f1;
+ heapFloat[(r8+2)] = f2;
+ heapFloat[(r8+3)] = f3;
+ heapFloat[(r8+4)] = f4;
+ heapFloat[(r8+5)] = f5;
+ heapFloat[(r8+6)] = f6;
+ heapFloat[(r8+7)] = f7;
+ r2 = heap32[(r1+11)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r6;
+ _ZL10insertleafP6btDbvtP10btDbvtNodeS2_(i7);
+ r2 = heap32[(r1+14)];
+ r2 = (r2 + 1)|0;
+ heap32[(r1+14)] = r2;
+ heap32[(r5+12)] = r6;
+ heap32[(r5+15)] = 2;
+ r2 = r7;
+if(!(r7 !=0)) //_LBB108_4
+{
+break _6;
+}
+}
+ r2 = heap32[(r1+14)];
+ r4 = 1;
+ heap32[(r1+31)] = r2;
+ heap8[r0+154] = r4;
+}
+ r2 = _ZTV18btDbvtTreeCollider;
+ r4 = sp + -32;
+ r2 = (r2 + 8)|0;
+ r5 = r4 >> 2;
+ heap32[(fp+-8)] = r2;
+ heap32[(r5+1)] = r0;
+ r5 = heapU8[r0+153];
+if(!(r5 ==0)) //_LBB108_23
+{
+ r5 = heap32[(r1+11)];
+ r6 = heap32[(r1+1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r4;
+ _ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(i7);
+ r5 = heapU8[r0+153];
+if(!(r5 ==0)) //_LBB108_23
+{
+ r5 = heap32[(r1+1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r4;
+ _ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(i7);
+}
+}
+ r3 = heap32[(fp+1)];
+ heap32[(fp+-8)] = r2;
+ r2 = heapU8[r0+154];
+_32: do {
+if(!(r2 ==0)) //_LBB108_40
+{
+ r2 = heap32[(r1+24)];
+ r4 = r2 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r2 = r_g0;
+ r4 = r2 >> 2;
+ r4 = heap32[(r4+1)];
+if(!(r4 <1)) //_LBB108_40
+{
+ r5 = heap32[(r1+29)];
+ r5 = (r5 * r4)|0;
+ r6 = heap32[(r1+30)];
+ r5 = (r5 / 100)|0;
+ r5 = r6 > r5 ? r6 : r5;
+ r5 = r4 < r5 ? r4 : r5;
+ if(r5 >0) //_LBB108_27
+{
+ r4 = 0;
+_37: while(true){
+ r6 = r2 >> 2;
+ r7 = heap32[(r1+36)];
+ r7 = (r7 + r4)|0;
+ r8 = heap32[(r6+1)];
+ r7 = (r7 % r8)|0;
+ r8 = heap32[(r6+3)];
+ r7 = r7 << 4;
+ r7 = (r8 + r7)|0;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7+1)];
+ r7 = heap32[(r7)];
+ r9 = r8 >> 2;
+ r10 = r7 >> 2;
+ r9 = heap32[(r9+12)];
+ r10 = heap32[(r10+12)];
+ r10 = r10 >> 2;
+ r9 = r9 >> 2;
+ f0 = heapFloat[(r10)];
+ f1 = heapFloat[(r9+4)];
+ if(f0 >f1) //_LBB108_35
+{
+__label__ = 32;
+}
+else{
+ f0 = heapFloat[(r10+4)];
+ f1 = heapFloat[(r9)];
+ if(f0 <f1) //_LBB108_35
+{
+__label__ = 32;
+}
+else{
+ f0 = heapFloat[(r10+1)];
+ f1 = heapFloat[(r9+5)];
+ if(f0 >f1) //_LBB108_35
+{
+__label__ = 32;
+}
+else{
+ f0 = heapFloat[(r10+5)];
+ f1 = heapFloat[(r9+1)];
+ if(f0 <f1) //_LBB108_35
+{
+__label__ = 32;
+}
+else{
+ f0 = heapFloat[(r10+2)];
+ f1 = heapFloat[(r9+6)];
+ if(f0 >f1) //_LBB108_35
+{
+__label__ = 32;
+}
+else{
+ f0 = heapFloat[(r10+6)];
+ f1 = heapFloat[(r9+2)];
+ if(f0 <f1) //_LBB108_35
+{
+__label__ = 32;
+}
+else{
+__label__ = 33;
+}
+}
+}
+}
+}
+}
+if (__label__ == 32){
+ r9 = heap32[(r1+24)];
+ r10 = r9 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+3)];
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r3;
+ r5 = (r5 + -1)|0;
+ r4 = (r4 + -1)|0;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+}
+ r4 = (r4 + 1)|0;
+if(!(r4 <r5)) //_LBB108_28
+{
+break _37;
+}
+}
+ r4 = heap32[(r6+1)];
+ if(r4 <1) //_LBB108_39
+{
+ heap32[(r1+36)] = 0;
+break _32;
+}
+}
+ r2 = heap32[(r1+36)];
+ r2 = (r2 + r5)|0;
+ r2 = (r2 % r4)|0;
+ heap32[(r1+36)] = r2;
+}
+}
+} while(0);
+ r2 = heap32[(r1+35)];
+ r2 = (r2 + 1)|0;
+ heap32[(r1+35)] = r2;
+ r2 = 0;
+ heap32[(r1+30)] = 1;
+ heap8[r0+154] = r2;
+ r0 = heap32[(r1+32)];
+ if(r0 ==0) //_LBB108_42
+{
+ heap32[(r1+34)] = 0;
+ r4 = heap32[(r1+33)];
+}
+else{
+ r4 = heap32[(r1+33)];
+ f0 = uint(r4); //fuitos r4, f0
+ f1 = uint(r0); //fuitos r0, f1
+ f0 = f0/f1;
+ heapFloat[(r1+34)] = f0;
+}
+ r4 = r4 >>> 1;
+ r0 = r0 >>> 1;
+ heap32[(r1+33)] = r4;
+ heap32[(r1+32)] = r0;
+ r0 = heap32[(r1+24)];
+ r4 = r0 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+14)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB108_65
+{
+ r0 = heap32[(r1+24)];
+ r4 = r0 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r0 = r_g0;
+ r4 = r0 >> 2;
+ r4 = heap32[(r4+1)];
+if(!(r4 <2)) //_LBB108_46
+{
+ r4 = (r4 + -1)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r4;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(i7);
+}
+ r4 = r2;
+ r5 = r2;
+ r6 = r2;
+ r7 = r2;
+_61: while(true){
+ r8 = r0 >> 2;
+ r9 = heap32[(r8+1)];
+ if(r9 >r7) //_LBB108_47
+{
+ r8 = heap32[(r8+3)];
+ r9 = r7 << 4;
+ r9 = (r8 + r9)|0;
+ r9 = r9 >> 2;
+ r10 = heap32[(r9)];
+ r11 = r7 << 2;
+ r12 = heap32[(r9+1)];
+ if(r10 !=r4) //_LBB108_49
+{
+__label__ = 46;
+}
+else{
+ if(r12 ==r5) //_LBB108_56
+{
+ r4 = heap32[(r9+2)];
+ if(r4 ==0) //_LBB108_58
+{
+__label__ = 54;
+}
+else{
+__label__ = 53;
+break _61;
+}
+}
+else{
+__label__ = 46;
+}
+}
+if (__label__ == 46){
+ r4 = r12 >> 2;
+ r5 = r10 >> 2;
+ r4 = heap32[(r4+12)];
+ r5 = heap32[(r5+12)];
+ r5 = r5 >> 2;
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r5)];
+ f1 = heapFloat[(r4+4)];
+ if(f0 >f1) //_LBB108_58
+{
+__label__ = 54;
+}
+else{
+ f0 = heapFloat[(r5+4)];
+ f1 = heapFloat[(r4)];
+ if(f0 <f1) //_LBB108_58
+{
+__label__ = 54;
+}
+else{
+ f0 = heapFloat[(r5+1)];
+ f1 = heapFloat[(r4+5)];
+ if(f0 >f1) //_LBB108_58
+{
+__label__ = 54;
+}
+else{
+ f0 = heapFloat[(r5+5)];
+ f1 = heapFloat[(r4+1)];
+ if(f0 <f1) //_LBB108_58
+{
+__label__ = 54;
+}
+else{
+ f0 = heapFloat[(r5+2)];
+ f1 = heapFloat[(r4+6)];
+ if(f0 >f1) //_LBB108_58
+{
+__label__ = 54;
+}
+else{
+ f0 = heapFloat[(r5+6)];
+ f1 = heapFloat[(r4+2)];
+ if(f0 <f1) //_LBB108_58
+{
+__label__ = 54;
+}
+else{
+__label__ = 55;
+}
+}
+}
+}
+}
+}
+}
+if (__label__ == 54){
+ r4 = heap32[(r1+24)];
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+8)];
+ r9 = (r8 + r2)|0;
+ r11 = r11 << 2;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r3;
+ r4 = (r8 + r11)|0;
+ r4 = r4 >> 2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r6 = (r6 + 1)|0;
+ heap32[(r4)] = 0;
+ heap32[(r4+1)] = 0;
+}
+ r7 = (r7 + 1)|0;
+ r2 = (r2 + 16)|0;
+ r4 = r10;
+ r5 = r12;
+}
+else{
+__label__ = 57;
+break _61;
+}
+}
+switch(__label__ ){//multiple entries
+case 57:
+ if(r9 >1) //_LBB108_63
+{
+ r9 = (r9 + -1)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r9;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(i7);
+ r9 = heap32[(r8+1)];
+}
+ r1 = sp + -16;
+ r2 = r1 >> 2;
+ heap32[(fp+-4)] = 0;
+ heap32[(r2+1)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ r2 = (r9 - r6)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r1;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(i7);
+break;
+case 53:
+ r8 = _2E_str314;
+ r0 = _2E_str18;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 469;
+ _assert(i7);
+break;
+}
+}
+ return;
+}
+
+function _ZN16btDbvtBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+var __label__ = 0;
+ i7 = sp + -88;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0)];
+ r1 = sp + -32;
+ heapFloat[(fp+-8)] = f0;
+ f1 = heapFloat[(r0+1)];
+ r2 = r1 >> 2;
+ heapFloat[(r2+1)] = f1;
+ f2 = heapFloat[(r0+2)];
+ heapFloat[(r2+2)] = f2;
+ f3 = heapFloat[(r0+3)];
+ r3 = heap32[(fp+3)];
+ r3 = r3 >> 2;
+ heapFloat[(r2+3)] = f3;
+ f4 = heapFloat[(r3)];
+ heapFloat[(r2+4)] = f4;
+ f5 = heapFloat[(r3+1)];
+ heapFloat[(r2+5)] = f5;
+ f6 = heapFloat[(r3+2)];
+ heapFloat[(r2+6)] = f6;
+ f7 = heapFloat[(r3+3)];
+ r4 = heap32[(fp+1)];
+ r5 = heap32[(fp)];
+ r6 = r4 >> 2;
+ heapFloat[(r2+7)] = f7;
+ r7 = heap32[(r6+15)];
+_1: do {
+ if(r7 !=2) //_LBB109_9
+{
+ r2 = r5 >> 2;
+ r8 = heap32[(r2+32)];
+ r8 = (r8 + 1)|0;
+ heap32[(r2+32)] = r8;
+ r8 = heap32[(r6+12)];
+ r7 = r8 >> 2;
+ f8 = heapFloat[(r7)];
+if(!(f8 >f4)) //_LBB109_24
+{
+ f8 = heapFloat[(r7+4)];
+if(!(f8 <f0)) //_LBB109_24
+{
+ f8 = heapFloat[(r7+1)];
+if(!(f8 >f5)) //_LBB109_24
+{
+ f8 = heapFloat[(r7+5)];
+if(!(f8 <f1)) //_LBB109_24
+{
+ f8 = heapFloat[(r7+2)];
+if(!(f8 >f6)) //_LBB109_24
+{
+ f8 = heapFloat[(r7+6)];
+if(!(f8 <f2)) //_LBB109_24
+{
+ f0 = heapFloat[(r6+4)];
+ f1 = heapFloat[(r6+8)];
+ f1 = f1-f0;
+ f2 = 0.5;
+ f3 = heapFloat[(r6+5)];
+ f4 = heapFloat[(r6+9)];
+ f4 = f4-f3;
+ f5 = heapFloat[(r0+1)];
+ f6 = heapFloat[(r0)];
+ f1 = f1*f2;
+ f7 = heapFloat[(r2+25)];
+ f8 = heapFloat[(r0+2)];
+ f9 = heapFloat[(r6+6)];
+ f10 = heapFloat[(r6+10)];
+ r7 = sp + -48;
+ f10 = f10-f9;
+ f4 = f4*f2;
+ f1 = f1*f7;
+ f2 = f10*f2;
+ f4 = f4*f7;
+ r9 = r7 >> 2;
+ heapFloat[(fp+-12)] = f1;
+ f2 = f2*f7;
+ heapFloat[(r9+1)] = f4;
+ heapFloat[(r9+2)] = f2;
+ heap32[(r9+3)] = 0;
+ f0 = f6-f0;
+ f6 = 0;
+if(!(f0 >=f6)) //_LBB109_17
+{
+ f0 = -f1;
+ heapFloat[(fp+-12)] = f0;
+}
+ f0 = f5-f3;
+if(!(f0 >=f6)) //_LBB109_19
+{
+ f0 = -f4;
+ heapFloat[(r9+1)] = f0;
+}
+ f0 = f8-f9;
+if(!(f0 >=f6)) //_LBB109_21
+{
+ f0 = -f2;
+ heapFloat[(r9+2)] = f0;
+}
+ r9 = (r5 + 4)|0;
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = 1028443341;
+ _ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3f(i7);
+ r8 = r_g0;
+ if(r8 !=0) //_LBB109_23
+{
+ r7 = heap32[(r2+33)];
+ r8 = 1;
+ r7 = (r7 + 1)|0;
+ heap32[(r2+33)] = r7;
+break _1;
+}
+else{
+ r8 = 0;
+break _1;
+}
+}
+}
+}
+}
+}
+}
+ r1 = (r5 + 4)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r8;
+ _ZL10removeleafP6btDbvtP10btDbvtNode(i7);
+ r9 = r_g0;
+_23: do {
+ if(r9 !=0) //_LBB109_26
+{
+ r11 = heap32[(r2+3)];
+ if(r11 <0) //_LBB109_31
+{
+ r10 = heap32[(r2+1)];
+}
+else{
+ r12 = -1;
+_28: while(true){
+ r10 = r9;
+ r12 = (r12 + 1)|0;
+ if(r11 >r12) //_LBB109_30
+{
+ r9 = r10 >> 2;
+ r9 = heap32[(r9+8)];
+ if(r9 ==0) //_LBB109_29
+{
+break _23;
+}
+}
+else{
+break _23;
+}
+}
+}
+}
+else{
+ r10 = 0;
+}
+} while(0);
+ heapFloat[(r7)] = f0;
+ heapFloat[(r7+1)] = f1;
+ heapFloat[(r7+2)] = f2;
+ heapFloat[(r7+3)] = f3;
+ heapFloat[(r7+4)] = f4;
+ heapFloat[(r7+5)] = f5;
+ heapFloat[(r7+6)] = f6;
+ heapFloat[(r7+7)] = f7;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r8;
+ _ZL10insertleafP6btDbvtP10btDbvtNodeS2_(i7);
+ r1 = heap32[(r2+33)];
+ r8 = 1;
+ r1 = (r1 + 1)|0;
+ heap32[(r2+33)] = r1;
+}
+else{
+ r1 = heap32[(r6+12)];
+ r7 = (r5 + 44)|0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r1;
+ r7 = r5 >> 2;
+ _ZL10removeleafP6btDbvtP10btDbvtNode(i7);
+ r8 = heap32[(r7+12)];
+if(!(r8 ==0)) //_LBB109_3
+{
+ r9 = gNumAlignedFree;
+ r9 = r9 >> 2;
+ r10 = heap32[(r9)];
+ r10 = (r10 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r9)] = r10;
+ r8 = heap32[(r8+-1)];
+ heap32[(g0)] = r8;
+ free(i7);
+}
+ heap32[(r7+12)] = r1;
+ r1 = heap32[(r7+14)];
+ r1 = (r1 + -1)|0;
+ heap32[(r7+14)] = r1;
+ r1 = heap32[(r7+2)];
+ r8 = (r5 + 4)|0;
+ if(r1 ==0) //_LBB109_5
+{
+ r1 = gNumAlignedAllocs;
+ r1 = r1 >> 2;
+ r9 = heap32[(r1)];
+ r9 = (r9 + 1)|0;
+ heap32[(r1)] = r9;
+ heap32[(g0)] = 63;
+ malloc(i7);
+ r1 = r_g0;
+ if(r1 !=0) //_LBB109_7
+{
+ r9 = 0;
+ r10 = (r1 + 4)|0;
+ r9 = (r9 - r10)|0;
+ r9 = r9 & 15;
+ r9 = (r1 + r9)|0;
+ r10 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r1;
+ r1 = r10;
+}
+}
+else{
+ heap32[(r7+2)] = 0;
+}
+ r9 = r1 >> 2;
+ heap32[(r9+8)] = 0;
+ heap32[(r9+9)] = r4;
+ heap32[(r9+10)] = 0;
+ heap32[(r9)] = heap32[(fp+-8)];
+ heap32[(r9+1)] = heap32[(r2+1)];
+ heap32[(r9+2)] = heap32[(r2+2)];
+ heap32[(r9+3)] = heap32[(r2+3)];
+ heapFloat[(r9+4)] = f4;
+ heapFloat[(r9+5)] = f5;
+ heapFloat[(r9+6)] = f6;
+ heapFloat[(r9+7)] = f7;
+ r2 = heap32[(r7+1)];
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r1;
+ _ZL10insertleafP6btDbvtP10btDbvtNodeS2_(i7);
+ r2 = heap32[(r7+4)];
+ r2 = (r2 + 1)|0;
+ r8 = 1;
+ heap32[(r7+4)] = r2;
+ heap32[(r6+12)] = r1;
+}
+} while(0);
+ r1 = heap32[(r6+13)];
+ r2 = heap32[(r6+14)];
+ if(r1 ==0) //_LBB109_35
+{
+ r1 = heap32[(r6+15)];
+ r1 = r1 << 2;
+ r1 = (r5 + r1)|0;
+ r1 = r1 >> 2;
+ heap32[(r1+21)] = r2;
+}
+else{
+ r1 = r1 >> 2;
+ heap32[(r1+14)] = r2;
+}
+ r1 = heap32[(r6+14)];
+if(!(r1 ==0)) //_LBB109_38
+{
+ r1 = r1 >> 2;
+ r2 = heap32[(r6+13)];
+ heap32[(r1+13)] = r2;
+}
+ heap32[(r6+4)] = heap32[(r0)];
+ heap32[(r6+5)] = heap32[(r0+1)];
+ heap32[(r6+6)] = heap32[(r0+2)];
+ heap32[(r6+7)] = heap32[(r0+3)];
+ heap32[(r6+8)] = heap32[(r3)];
+ heap32[(r6+9)] = heap32[(r3+1)];
+ heap32[(r6+10)] = heap32[(r3+2)];
+ r0 = r5 >> 2;
+ heap32[(r6+11)] = heap32[(r3+3)];
+ r1 = heap32[(r0+26)];
+ heap32[(r6+15)] = r1;
+ r1 = heap32[(r0+26)];
+ r1 = r1 << 2;
+ r1 = (r5 + r1)|0;
+ r1 = r1 >> 2;
+ heap32[(r6+13)] = 0;
+ r2 = heap32[(r1+21)];
+ heap32[(r6+14)] = r2;
+ r2 = heap32[(r1+21)];
+if(!(r2 ==0)) //_LBB109_40
+{
+ r2 = r2 >> 2;
+ heap32[(r2+13)] = r4;
+}
+ r2 = r8 & 1;
+ heap32[(r1+21)] = r4;
+if(!(r2 ==0)) //_LBB109_43
+{
+ r1 = 1;
+ heap8[r5+154] = r1;
+ r1 = heapU8[r5+153];
+if(!(r1 !=0)) //_LBB109_43
+{
+ r1 = _ZTV18btDbvtTreeCollider;
+ r2 = sp + -64;
+ r1 = (r1 + 8)|0;
+ r3 = r2 >> 2;
+ heap32[(fp+-16)] = r1;
+ heap32[(r3+1)] = r5;
+ r1 = heap32[(r6+12)];
+ r3 = heap32[(r0+11)];
+ r4 = (r5 + 44)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r2;
+ _ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(i7);
+ r1 = heap32[(r6+12)];
+ r0 = heap32[(r0+1)];
+ r3 = (r5 + 4)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r2;
+ _ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(i7);
+}
+}
+ return;
+}
+
+function _ZN16btDbvtBroadphaseD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btDbvtBroadphase;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+152];
+if(!(r1 ==0)) //_LBB110_3
+{
+ r1 = heap32[(r2+24)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+24)];
+if(!(r1 ==0)) //_LBB110_3
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r3 = heap32[(r2)];
+ r3 = (r3 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r2)] = r3;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = (r0 + 4)|0;
+if(!(r1 ==0)) //_LBB110_15
+{
+ r2 = (r1 + 80)|0;
+if(!(r2 ==r1)) //_LBB110_15
+{
+ r1 = (r0 + 44)|0;
+ r2 = 0;
+_8: while(true){
+ r3 = (r0 + r2)|0;
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+11)];
+if(!(r5 ==0)) //_LBB110_8
+{
+ r6 = (r1 + r2)|0;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r5;
+ _ZL17recursedeletenodeP6btDbvtP10btDbvtNode(i7);
+}
+ r5 = heap32[(r4+12)];
+if(!(r5 ==0)) //_LBB110_10
+{
+ r6 = gNumAlignedFree;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r7 = (r7 + 1)|0;
+ r5 = r5 >> 2;
+ heap32[(r6)] = r7;
+ r5 = heap32[(r5+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+}
+ heap32[(r4+12)] = 0;
+ heap32[(r4+13)] = -1;
+ r5 = heap32[(r4+19)];
+if(!(r5 ==0)) //_LBB110_14
+{
+ r6 = heapU8[r3+80];
+if(!(r6 ==0)) //_LBB110_13
+{
+ r6 = gNumAlignedFree;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r7 = (r7 + 1)|0;
+ r5 = r5 >> 2;
+ heap32[(r6)] = r7;
+ r5 = heap32[(r5+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+}
+ heap32[(r4+19)] = 0;
+}
+ r5 = 1;
+ heap32[(r4+15)] = 0;
+ heap8[r3+80] = r5;
+ heap32[(r4+19)] = 0;
+ r2 = (r2 + -40)|0;
+ heap32[(r4+17)] = 0;
+ heap32[(r4+18)] = 0;
+ if(r2 !=-80) //_LBB110_6
+{
+continue _8;
+}
+else{
+break _8;
+}
+}
+}
+}
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN16btDbvtBroadphaseD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btDbvtBroadphase;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+152];
+if(!(r1 ==0)) //_LBB111_3
+{
+ r1 = heap32[(r2+24)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+24)];
+if(!(r1 ==0)) //_LBB111_3
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r3 = heap32[(r2)];
+ r3 = (r3 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r2)] = r3;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = (r0 + 4)|0;
+if(!(r1 ==0)) //_LBB111_15
+{
+ r2 = (r1 + 80)|0;
+if(!(r2 ==r1)) //_LBB111_15
+{
+ r1 = (r0 + 44)|0;
+ r2 = 0;
+_8: while(true){
+ r3 = (r0 + r2)|0;
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+11)];
+if(!(r5 ==0)) //_LBB111_8
+{
+ r6 = (r1 + r2)|0;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r5;
+ _ZL17recursedeletenodeP6btDbvtP10btDbvtNode(i7);
+}
+ r5 = heap32[(r4+12)];
+if(!(r5 ==0)) //_LBB111_10
+{
+ r6 = gNumAlignedFree;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r7 = (r7 + 1)|0;
+ r5 = r5 >> 2;
+ heap32[(r6)] = r7;
+ r5 = heap32[(r5+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+}
+ heap32[(r4+12)] = 0;
+ heap32[(r4+13)] = -1;
+ r5 = heap32[(r4+19)];
+if(!(r5 ==0)) //_LBB111_14
+{
+ r6 = heapU8[r3+80];
+if(!(r6 ==0)) //_LBB111_13
+{
+ r6 = gNumAlignedFree;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r7 = (r7 + 1)|0;
+ r5 = r5 >> 2;
+ heap32[(r6)] = r7;
+ r5 = heap32[(r5+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+}
+ heap32[(r4+19)] = 0;
+}
+ r5 = 1;
+ heap32[(r4+15)] = 0;
+ heap8[r3+80] = r5;
+ heap32[(r4+19)] = 0;
+ r2 = (r2 + -40)|0;
+ heap32[(r4+17)] = 0;
+ heap32[(r4+18)] = 0;
+ if(r2 !=-80) //_LBB111_6
+{
+continue _8;
+}
+else{
+break _8;
+}
+}
+}
+}
+ return;
+}
+
+function _ZN12btDispatcherD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btDispatcher;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN12btDispatcherD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btDispatcher;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZNK14btQuantizedBvh8quantizeEPtRK9btVector3i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+60];
+ if(r1 !=0) //_LBB114_2
+{
+ r1 = heap32[(fp+2)];
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r1)];
+ r0 = r0 >> 2;
+ f1 = heapFloat[(r0+5)];
+ if(f0 <=f1) //_LBB114_4
+{
+ f1 = heapFloat[(r1+1)];
+ f2 = heapFloat[(r0+6)];
+ if(f1 <=f2) //_LBB114_6
+{
+ f2 = heapFloat[(r1+2)];
+ f3 = heapFloat[(r0+7)];
+ if(f2 <=f3) //_LBB114_8
+{
+ f3 = heapFloat[(r0+1)];
+ if(f0 >=f3) //_LBB114_10
+{
+ f4 = heapFloat[(r0+2)];
+ if(f1 >=f4) //_LBB114_12
+{
+ f5 = heapFloat[(r0+3)];
+ if(f2 >=f5) //_LBB114_14
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+3)];
+ f2 = f2-f5;
+ f5 = heapFloat[(r0+11)];
+ f1 = f1-f4;
+ f4 = heapFloat[(r0+10)];
+ f0 = f0-f3;
+ f3 = heapFloat[(r0+9)];
+ f2 = f2*f5;
+ f1 = f1*f4;
+ f0 = f0*f3;
+ if(r2 ==0) //_LBB114_16
+{
+ r0 = Math.floor(f0);
+ r2 = Math.floor(f1);
+ r0 = r0 & 65534;
+ r3 = Math.floor(f2);
+ r2 = r2 & 65534;
+ heap16[(r1)>>1] = r0;
+ r0 = r3 & 65534;
+}
+else{
+ f3 = 1;
+ f0 = f0+f3;
+ f1 = f1+f3;
+ r0 = Math.floor(f0);
+ f0 = f2+f3;
+ r2 = Math.floor(f1);
+ r0 = r0 | 1;
+ r3 = Math.floor(f0);
+ r2 = r2 | 1;
+ heap16[(r1)>>1] = r0;
+ r0 = r3 | 1;
+}
+ heap16[(r1+2)>>1] = r2;
+ heap16[(r1+4)>>1] = r0;
+ return;
+}
+else{
+ r0 = _2E_str9;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 361;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str820;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 360;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str717;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 359;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str616;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 357;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str515;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 356;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str414;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 355;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str212;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 353;
+ _assert(i7);
+}
+}
+
+function _ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 >> 2;
+ r3 = heap32[(r2+2)];
+if(!(r3 >=r1)) //_LBB115_16
+{
+ if(r1 !=0) //_LBB115_3
+{
+ r3 = gNumAlignedAllocs;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r5 = r1 << 4;
+ r4 = (r4 + 1)|0;
+ r5 = r5 | 3;
+ heap32[(r3)] = r4;
+ r3 = (r5 + 16)|0;
+ heap32[(g0)] = r3;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB115_5
+{
+ r4 = 0;
+ r5 = (r3 + 4)|0;
+ r4 = (r4 - r5)|0;
+ r4 = r4 & 15;
+ r4 = (r3 + r4)|0;
+ r5 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = r5;
+}
+}
+else{
+ r3 = 0;
+}
+ r4 = heap32[(r2+1)];
+ r5 = (r0 + 12)|0;
+ if(r4 <1) //_LBB115_8
+{
+ r4 = r5 >> 2;
+ r7 = heap32[(r4)];
+}
+else{
+ r6 = 0;
+_11: while(true){
+ r7 = r5 >> 2;
+ r7 = heap32[(r7)];
+ r8 = r6 << 4;
+ r9 = heapU16[(r7+r8)>>1];
+ r10 = (r7 + r8)|0;
+ heap16[(r3+r8)>>1] = r9;
+ r8 = (r3 + r8)|0;
+ r9 = heapU16[(r10+2)>>1];
+ heap16[(r8+2)>>1] = r9;
+ r9 = heapU16[(r10+4)>>1];
+ heap16[(r8+4)>>1] = r9;
+ r9 = heapU16[(r10+6)>>1];
+ heap16[(r8+6)>>1] = r9;
+ r9 = heapU16[(r10+8)>>1];
+ heap16[(r8+8)>>1] = r9;
+ r9 = heapU16[(r10+10)>>1];
+ r10 = r10 >> 2;
+ heap16[(r8+10)>>1] = r9;
+ r6 = (r6 + 1)|0;
+ r8 = r8 >> 2;
+ r9 = heap32[(r10+3)];
+ heap32[(r8+3)] = r9;
+if(!(r4 !=r6)) //_LBB115_9
+{
+break _11;
+}
+}
+ r5 = (r0 + 12)|0;
+}
+if(!(r7 ==0)) //_LBB115_15
+{
+ r4 = heapU8[r0+16];
+if(!(r4 ==0)) //_LBB115_14
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r6 = heap32[(r4)];
+ r6 = (r6 + 1)|0;
+ r7 = r7 >> 2;
+ heap32[(r4)] = r6;
+ r4 = heap32[(r7+-1)];
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ r4 = r5 >> 2;
+ heap32[(r4)] = 0;
+}
+ r4 = 1;
+ r5 = r5 >> 2;
+ heap8[r0+16] = r4;
+ heap32[(r5)] = r3;
+ heap32[(r2+2)] = r1;
+}
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache23getOverlappingPairArrayEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = (r0 + 4)|0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ heap32[(r0+6)] = r1;
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache18hasDeferredRemovalEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ heap32[(r0+18)] = r1;
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+2)];
+if(!(r1 ==0)) //_LBB120_2
+{
+ r2 = heap32[(fp+2)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = r2 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+13)];
+ r3 = heap32[(r0+2)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ heap32[(r0+2)] = 0;
+}
+ return;
+}
+
+function _ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(r0+1)];
+ r3 = r1 >> 2;
+ r4 = heap32[(r3)];
+ if(r4 ==r2) //_LBB123_2
+{
+__label__ = 2;
+}
+else{
+ r3 = heap32[(r3+1)];
+ if(r3 !=r2) //_LBB123_3
+{
+__label__ = 3;
+}
+else{
+__label__ = 2;
+}
+}
+if (__label__ == 2){
+ r2 = heap32[(r0+2)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+8)];
+ r0 = heap32[(r0+3)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r0 = heap32[(r0+1)];
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ if(r2 ==r0) //_LBB126_2
+{
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+else{
+ r1 = heap32[(r1+1)];
+ r0 = r1 == r0;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK28btHashedOverlappingPairCache22getNumOverlappingPairsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+2)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = 0;
+ r4 = r3;
+_1: while(true){
+ r5 = r4 << 2;
+_3: while(true){
+ r6 = r0 >> 2;
+ r7 = heap32[(r6+2)];
+ if(r7 >r4) //_LBB130_1
+{
+ r7 = r1 >> 2;
+ r7 = heap32[(r7)];
+ r7 = r7 >> 2;
+ r8 = heap32[(r6+4)];
+ r7 = heap32[(r7+2)];
+ r9 = (r8 + r3)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r9;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r7 = r_g0;
+ if(r7 ==0) //_LBB130_3
+{
+break _3;
+}
+else{
+ r7 = r5 << 2;
+ r6 = heap32[(r6)];
+ r7 = (r8 + r7)|0;
+ r7 = r7 >> 2;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+3)];
+ r8 = heap32[(r7+1)];
+ r7 = heap32[(r7)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r2;
+ r7 = gOverlappingPairs;
+ r7 = r7 >> 2;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = heap32[(r7)];
+ r6 = (r6 + -1)|0;
+ heap32[(r7)] = r6;
+continue _3;
+}
+}
+else{
+break _1;
+}
+}
+ r4 = (r4 + 1)|0;
+ r3 = (r3 + 16)|0;
+continue _1;
+}
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = _ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback;
+ r1 = sp + -8;
+ r0 = (r0 + 8)|0;
+ r2 = heap32[(fp)];
+ r3 = r1 >> 2;
+ r4 = heap32[(fp+1)];
+ heap32[(fp+-2)] = r0;
+ r0 = r2 >> 2;
+ heap32[(r3+1)] = r4;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+12)];
+ r3 = heap32[(fp+2)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = _ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback;
+ r1 = sp + -16;
+ r0 = (r0 + 8)|0;
+ r2 = r1 >> 2;
+ r3 = heap32[(fp+1)];
+ heap32[(fp+-4)] = r0;
+ r0 = heap32[(fp)];
+ heap32[(r2+1)] = r3;
+ r3 = heap32[(fp+2)];
+ heap32[(r2+2)] = r0;
+ r4 = r0 >> 2;
+ heap32[(r2+3)] = r3;
+ r2 = heap32[(r4)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCacheD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV28btHashedOverlappingPairCache;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+16)];
+if(!(r1 ==0)) //_LBB133_4
+{
+ r3 = heapU8[r0+68];
+if(!(r3 ==0)) //_LBB133_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+16)] = 0;
+}
+ r1 = 1;
+ heap8[r0+68] = r1;
+ heap32[(r2+16)] = 0;
+ heap32[(r2+14)] = 0;
+ heap32[(r2+15)] = 0;
+ r3 = heap32[(r2+11)];
+if(!(r3 ==0)) //_LBB133_8
+{
+ r4 = heapU8[r0+48];
+if(!(r4 ==0)) //_LBB133_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+11)] = 0;
+}
+ heap8[r0+48] = r1;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 0;
+ r3 = heap32[(r2+4)];
+if(!(r3 ==0)) //_LBB133_12
+{
+ r4 = heapU8[r0+20];
+if(!(r4 ==0)) //_LBB133_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+4)] = 0;
+}
+ heap8[r0+20] = r1;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCacheD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV28btHashedOverlappingPairCache;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+16)];
+if(!(r1 ==0)) //_LBB134_4
+{
+ r3 = heapU8[r0+68];
+if(!(r3 ==0)) //_LBB134_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+16)] = 0;
+}
+ r1 = 1;
+ heap8[r0+68] = r1;
+ heap32[(r2+16)] = 0;
+ heap32[(r2+14)] = 0;
+ heap32[(r2+15)] = 0;
+ r3 = heap32[(r2+11)];
+if(!(r3 ==0)) //_LBB134_8
+{
+ r4 = heapU8[r0+48];
+if(!(r4 ==0)) //_LBB134_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+11)] = 0;
+}
+ heap8[r0+48] = r1;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 0;
+ r3 = heap32[(r2+4)];
+if(!(r3 ==0)) //_LBB134_12
+{
+ r4 = heapU8[r0+20];
+if(!(r4 ==0)) //_LBB134_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+4)] = 0;
+}
+ heap8[r0+20] = r1;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = gAddedPairs;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = heap32[(fp)];
+ r1 = (r1 + 1)|0;
+ r3 = r2 >> 2;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r3+6)];
+ r1 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ if(r0 ==0) //_LBB135_2
+{
+ r0 = heapU16[(r4+6)>>1];
+ r5 = heapU16[(r1+4)>>1];
+ r0 = r0 & r5;
+ r0 = r0 & 65535;
+ if(r0 ==0) //_LBB135_25
+{
+__label__ = 23;
+}
+else{
+ r0 = heapU16[(r1+6)>>1];
+ r5 = heapU16[(r4+4)>>1];
+ r0 = r0 & r5;
+ r0 = r0 & 65535;
+ r5 = 0;
+ r0 = r0 != r5;
+ r0 = r0 & 1;
+__label__ = 4;
+}
+}
+else{
+ r5 = r0 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r0 = r_g0;
+__label__ = 4;
+}
+if (__label__ == 4){
+ r0 = r0 & 255;
+if(!(r0 ==0)) //_LBB135_25
+{
+ r0 = r1 >> 2;
+ r5 = r4 >> 2;
+ r0 = heap32[(r0+3)];
+ r5 = heap32[(r5+3)];
+ r6 = r0 > r5 ? r1 : r4;
+ r0 = r0 > r5 ? r4 : r1;
+ r1 = r6 >> 2;
+ r4 = heap32[(r1+3)];
+ r5 = r0 >> 2;
+ r7 = heap32[(r5+3)];
+ r8 = r4 << 16;
+ r8 = r8 | r7;
+ r9 = r8 << 15;
+ r9 = r9 ^ -1;
+ r8 = (r8 + r9)|0;
+ r9 = r8 >> 10;
+ r8 = r9 ^ r8;
+ r8 = (r8 * 9)|0;
+ r9 = r8 >> 6;
+ r8 = r9 ^ r8;
+ r9 = r8 << 11;
+ r9 = r9 ^ -1;
+ r8 = (r8 + r9)|0;
+ r9 = heap32[(r3+3)];
+ r10 = r8 >> 16;
+ r8 = r10 ^ r8;
+ r10 = (r9 + -1)|0;
+ r10 = r8 & r10;
+ r11 = heap32[(r3+11)];
+ r12 = r10 << 2;
+ r11 = (r11 + r12)|0;
+_8: while(true){
+ r11 = r11 >> 2;
+ r11 = heap32[(r11)];
+ if(r11 ==-1) //_LBB135_14
+{
+__label__ = 13;
+break _8;
+}
+else{
+ r12 = heap32[(r3+4)];
+ r13 = r11 << 4;
+ r12 = (r12 + r13)|0;
+ r13 = r12 >> 2;
+ r14 = heap32[(r13)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+3)];
+if(!(r14 !=r7)) //_LBB135_6
+{
+ r13 = heap32[(r13+1)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+3)];
+if(!(r13 !=r4)) //_LBB135_6
+{
+__label__ = 10;
+break _8;
+}
+}
+ r12 = heap32[(r3+16)];
+ r11 = r11 << 2;
+ r11 = (r12 + r11)|0;
+}
+}
+_14: do {
+switch(__label__ ){//multiple entries
+case 13:
+ r4 = heap32[(r3+2)];
+__label__ = 14;
+break _14;
+break;
+case 10:
+ r4 = heap32[(r3+2)];
+ if(r4 >r11) //_LBB135_12
+{
+ if(r12 !=0) //_LBB135_24
+{
+__label__ = 22;
+}
+else{
+__label__ = 14;
+}
+}
+else{
+ r0 = _2E_str222;
+ r1 = _2E_str323;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 250;
+ _assert(i7);
+}
+break;
+}
+} while(0);
+if (__label__ == 14){
+ r12 = (r2 + 4)|0;
+ heap32[(g0)] = r12;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE21expandNonInitializingEv(i7);
+ r12 = r_g0;
+ r7 = heap32[(r3+18)];
+if(!(r7 ==0)) //_LBB135_17
+{
+ r11 = r7 >> 2;
+ r11 = heap32[(r11)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+2)];
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r6;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+}
+ r7 = heap32[(r3+3)];
+ if(r9 <r7) //_LBB135_19
+{
+ heap32[(g0)] = r2;
+ _ZN28btHashedOverlappingPairCache10growTablesEv(i7);
+ r10 = heap32[(r3+3)];
+ r10 = (r10 + -1)|0;
+ r10 = r10 & r8;
+}
+ r2 = heap32[(r5+3)];
+ r1 = heap32[(r1+3)];
+ if(r2 >=r1) //_LBB135_22
+{
+ r1 = r12 >> 2;
+ heap32[(r1)] = r6;
+ heap32[(r1+1)] = r0;
+}
+else{
+ r1 = r12 >> 2;
+ heap32[(r1)] = r0;
+ heap32[(r1+1)] = r6;
+}
+ r0 = r12 >> 2;
+ heap32[(r0+2)] = 0;
+ heap32[(r0+3)] = 0;
+ r0 = r10 << 2;
+ r1 = heap32[(r3+11)];
+ r1 = (r1 + r0)|0;
+ r1 = r1 >> 2;
+ r2 = r4 << 2;
+ r5 = heap32[(r3+16)];
+ r2 = (r5 + r2)|0;
+ r1 = heap32[(r1)];
+ r2 = r2 >> 2;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r3+11)];
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r4;
+}
+ r_g0 = r12;
+ return;
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = gRemovePairs;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+1)];
+ r1 = (r1 + 1)|0;
+ r4 = r3 >> 2;
+ heap32[(r0)] = r1;
+ r0 = r2 >> 2;
+ r1 = heap32[(r4+3)];
+ r0 = heap32[(r0+3)];
+ r4 = r1 > r0 ? r3 : r2;
+ r0 = r1 > r0 ? r2 : r3;
+ r1 = r4 >> 2;
+ r1 = heap32[(r1+3)];
+ r2 = r0 >> 2;
+ r2 = heap32[(r2+3)];
+ r3 = r1 << 16;
+ r3 = r3 | r2;
+ r5 = r3 << 15;
+ r5 = r5 ^ -1;
+ r3 = (r3 + r5)|0;
+ r5 = r3 >> 10;
+ r3 = r5 ^ r3;
+ r3 = (r3 * 9)|0;
+ r5 = r3 >> 6;
+ r3 = r5 ^ r3;
+ r5 = r3 << 11;
+ r6 = heap32[(fp)];
+ r5 = r5 ^ -1;
+ r7 = r6 >> 2;
+ r3 = (r3 + r5)|0;
+ r5 = r3 >> 16;
+ r8 = heap32[(r7+3)];
+ r3 = r5 ^ r3;
+ r5 = (r8 + -1)|0;
+ r3 = r3 & r5;
+ r5 = heap32[(r7+11)];
+ r3 = r3 << 2;
+ r8 = heap32[(fp+3)];
+ r5 = (r5 + r3)|0;
+_1: while(true){
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ if(r5 ==-1) //_LBB136_35
+{
+__label__ = 33;
+break _1;
+}
+else{
+ r9 = heap32[(r7+4)];
+ r10 = r5 << 4;
+ r9 = (r9 + r10)|0;
+ r10 = r9 >> 2;
+ r11 = heap32[(r10)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+3)];
+if(!(r11 !=r2)) //_LBB136_1
+{
+ r11 = heap32[(r10+1)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+3)];
+if(!(r11 !=r1)) //_LBB136_1
+{
+__label__ = 5;
+break _1;
+}
+}
+ r9 = heap32[(r7+16)];
+ r5 = r5 << 2;
+ r5 = (r9 + r5)|0;
+continue _1;
+}
+}
+if (__label__ == 5){
+ r11 = heap32[(r7+2)];
+ if(r11 >r5) //_LBB136_7
+{
+if(!(r9 ==0)) //_LBB136_35
+{
+ r5 = heap32[(r7)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+8)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r5 = heap32[(r10)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+3)];
+ if(r5 ==r2) //_LBB136_10
+{
+ r2 = heap32[(r10+1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+3)];
+ if(r2 ==r1) //_LBB136_12
+{
+ r1 = heap32[(r7+4)];
+ r1 = (r9 - r1)|0;
+ r1 = r1 >> 4;
+ r2 = heap32[(r7+2)];
+ if(r2 >r1) //_LBB136_14
+{
+ r2 = heap32[(r7+11)];
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r3 = heap32[(r2)];
+ if(r3 ==-1) //_LBB136_17
+{
+ r0 = _2E_str727;
+ r1 = _2E_str121;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 304;
+ _assert(i7);
+}
+else{
+ r5 = heap32[(r10+3)];
+ r6 = heap32[(r7+16)];
+ if(r3 ==r1) //_LBB136_21
+{
+__label__ = 20;
+}
+else{
+_22: while(true){
+ r9 = r3;
+ r3 = r9 << 2;
+ r3 = (r6 + r3)|0;
+ r10 = r3 >> 2;
+ r3 = heap32[(r10)];
+if(!(r3 !=r1)) //_LBB136_18
+{
+break _22;
+}
+}
+ if(r9 ==-1) //_LBB136_21
+{
+__label__ = 20;
+}
+else{
+ r2 = r1 << 2;
+ r2 = (r6 + r2)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ heap32[(r10)] = r2;
+__label__ = 21;
+}
+}
+if (__label__ == 20){
+ r3 = r1 << 2;
+ r3 = (r6 + r3)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(r2)] = r3;
+}
+ r2 = heap32[(r7+2)];
+ r3 = heap32[(r7+18)];
+if(!(r3 ==0)) //_LBB136_24
+{
+ r6 = r3 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+3)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r8;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+}
+ r0 = (r2 + -1)|0;
+ if(r0 !=r1) //_LBB136_26
+{
+ r3 = heap32[(r7+4)];
+ r4 = r2 << 4;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r6 = heap32[(r3+-3)];
+ r3 = heap32[(r3+-4)];
+ r6 = r6 >> 2;
+ r3 = r3 >> 2;
+ r6 = heap32[(r6+3)];
+ r3 = heap32[(r3+3)];
+ r6 = r6 << 16;
+ r3 = r3 | r6;
+ r6 = r3 << 15;
+ r6 = r6 ^ -1;
+ r3 = (r3 + r6)|0;
+ r6 = r3 >> 10;
+ r3 = r6 ^ r3;
+ r3 = (r3 * 9)|0;
+ r6 = r3 >> 6;
+ r3 = r6 ^ r3;
+ r6 = r3 << 11;
+ r6 = r6 ^ -1;
+ r3 = (r3 + r6)|0;
+ r6 = r3 >> 16;
+ r8 = heap32[(r7+3)];
+ r3 = r6 ^ r3;
+ r6 = (r8 + -1)|0;
+ r3 = r3 & r6;
+ r6 = heap32[(r7+11)];
+ r3 = r3 << 2;
+ r6 = (r6 + r3)|0;
+ r6 = r6 >> 2;
+ r8 = heap32[(r6)];
+ if(r8 ==-1) //_LBB136_29
+{
+ r0 = _2E_str727;
+ r1 = _2E_str121;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 345;
+ _assert(i7);
+}
+else{
+ r9 = heap32[(r7+16)];
+ if(r8 ==r0) //_LBB136_33
+{
+__label__ = 31;
+}
+else{
+_38: while(true){
+ r10 = r8;
+ r8 = r10 << 2;
+ r8 = (r9 + r8)|0;
+ r11 = r8 >> 2;
+ r8 = heap32[(r11)];
+if(!(r8 !=r0)) //_LBB136_30
+{
+break _38;
+}
+}
+ if(r10 ==-1) //_LBB136_33
+{
+__label__ = 31;
+}
+else{
+ r2 = r2 << 2;
+ r2 = (r9 + r2)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+-1)];
+ heap32[(r11)] = r2;
+__label__ = 32;
+}
+}
+if (__label__ == 31){
+ r0 = r2 << 2;
+ r0 = (r9 + r0)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+-1)];
+ heap32[(r6)] = r0;
+}
+ r0 = heap32[(r7+4)];
+ r2 = (r0 + r4)|0;
+ r4 = r1 << 4;
+ r2 = r2 >> 2;
+ r0 = (r0 + r4)|0;
+ r4 = heap32[(r2+-4)];
+ r0 = r0 >> 2;
+ heap32[(r0)] = r4;
+ r4 = heap32[(r2+-3)];
+ heap32[(r0+1)] = r4;
+ r4 = heap32[(r2+-2)];
+ heap32[(r0+2)] = r4;
+ r2 = heap32[(r2+-1)];
+ heap32[(r0+3)] = r2;
+ r0 = heap32[(r7+11)];
+ r0 = (r0 + r3)|0;
+ r0 = r0 >> 2;
+ r2 = r1 << 2;
+ r4 = heap32[(r7+16)];
+ r2 = (r4 + r2)|0;
+ r0 = heap32[(r0)];
+ r2 = r2 >> 2;
+ heap32[(r2)] = r0;
+ r0 = heap32[(r7+11)];
+ r0 = (r0 + r3)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r1;
+}
+}
+ r0 = heap32[(r7+2)];
+ r0 = (r0 + -1)|0;
+ heap32[(r7+2)] = r0;
+ r_g0 = r5;
+ return;
+}
+}
+else{
+ r0 = _2E_str626;
+ r1 = _2E_str121;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 300;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str525;
+ r3 = _2E_str121;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 297;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str424;
+ r1 = _2E_str121;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 296;
+ _assert(i7);
+}
+}
+}
+else{
+ r0 = _2E_str222;
+ r1 = _2E_str323;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 250;
+ _assert(i7);
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = gFindPairs;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r1 = (r1 + 1)|0;
+ r4 = r2 >> 2;
+ heap32[(r0)] = r1;
+ r0 = r3 >> 2;
+ r1 = heap32[(r4+3)];
+ r0 = heap32[(r0+3)];
+ r4 = r1 > r0 ? r2 : r3;
+ r0 = r1 > r0 ? r3 : r2;
+ r1 = r4 >> 2;
+ r1 = heap32[(r1+3)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+3)];
+ r2 = r1 << 16;
+ r2 = r2 | r0;
+ r3 = r2 << 15;
+ r3 = r3 ^ -1;
+ r2 = (r2 + r3)|0;
+ r3 = r2 >> 10;
+ r2 = r3 ^ r2;
+ r2 = (r2 * 9)|0;
+ r3 = r2 >> 6;
+ r2 = r3 ^ r2;
+ r3 = r2 << 11;
+ r4 = heap32[(fp)];
+ r3 = r3 ^ -1;
+ r4 = r4 >> 2;
+ r2 = (r2 + r3)|0;
+ r3 = r2 >> 16;
+ r5 = heap32[(r4+3)];
+ r2 = r3 ^ r2;
+ r3 = (r5 + -1)|0;
+ r2 = r2 & r3;
+ r3 = heap32[(r4+9)];
+_1: do {
+if(!(r3 <=r2)) //_LBB137_9
+{
+ r3 = heap32[(r4+11)];
+ r2 = r2 << 2;
+ r2 = (r3 + r2)|0;
+_3: while(true){
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ if(r2 ==-1) //_LBB137_9
+{
+break _1;
+}
+else{
+ r3 = heap32[(r4+4)];
+ r5 = r2 << 4;
+ r3 = (r3 + r5)|0;
+ r5 = r3 >> 2;
+ r6 = heap32[(r5)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+3)];
+if(!(r6 !=r0)) //_LBB137_2
+{
+ r5 = heap32[(r5+1)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+3)];
+if(!(r5 !=r1)) //_LBB137_2
+{
+break _3;
+}
+}
+ r3 = heap32[(r4+16)];
+ r2 = r2 << 2;
+ r2 = (r3 + r2)|0;
+}
+}
+ r0 = heap32[(r4+2)];
+ if(r0 >r2) //_LBB137_8
+{
+ r_g0 = r3;
+ return;
+}
+else{
+ r3 = _2E_str222;
+ r0 = _2E_str121;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 165;
+ _assert(i7);
+}
+}
+} while(0);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = sp + -24;
+ r1 = 1;
+ r2 = r0 >> 2;
+ heap8[sp+-8] = r1;
+ heap32[(r2+3)] = 0;
+ r3 = heap32[(fp)];
+ heap32[(r2+1)] = 0;
+ r4 = r3 >> 2;
+ heap32[(r2+2)] = 0;
+ r5 = heap32[(r4+2)];
+_1: do {
+ if(r5 >0) //_LBB138_2
+{
+ r6 = heap32[(fp+1)];
+ r7 = 0;
+ r5 = r7;
+_3: while(true){
+ r8 = heap32[(r4+4)];
+ if(r7 ==r5) //_LBB138_5
+{
+ r9 = 1;
+ r10 = r5 << 1;
+ r10 = r5 == 0 ? r9 : r10;
+if(!(r7 >=r10)) //_LBB138_4
+{
+ if(r10 !=0) //_LBB138_8
+{
+ r7 = gNumAlignedAllocs;
+ r7 = r7 >> 2;
+ r11 = heap32[(r7)];
+ r12 = r10 << 4;
+ r11 = (r11 + 1)|0;
+ r12 = r12 | 3;
+ heap32[(r7)] = r11;
+ r7 = (r12 + 16)|0;
+ heap32[(g0)] = r7;
+ malloc(i7);
+ r7 = r_g0;
+ if(r7 !=0) //_LBB138_10
+{
+ r11 = 0;
+ r12 = (r7 + 4)|0;
+ r11 = (r11 - r12)|0;
+ r11 = r11 & 15;
+ r11 = (r7 + r11)|0;
+ r12 = (r11 + 4)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = r7;
+ r7 = r12;
+}
+}
+else{
+ r7 = 0;
+}
+ if(r5 <1) //_LBB138_13
+{
+ r13 = heap32[(r2+3)];
+}
+else{
+ r11 = 0;
+ r12 = (r11 - r5)|0;
+_16: while(true){
+ r13 = heap32[(r2+3)];
+ r14 = r11 << 4;
+ r15 = (r13 - r14)|0;
+ r15 = r15 >> 2;
+ r14 = (r7 - r14)|0;
+ r16 = heap32[(r15)];
+ r14 = r14 >> 2;
+ heap32[(r14)] = r16;
+ r16 = heap32[(r15+1)];
+ heap32[(r14+1)] = r16;
+ r16 = heap32[(r15+2)];
+ heap32[(r14+2)] = r16;
+ r15 = heap32[(r15+3)];
+ r11 = (r11 + -1)|0;
+ heap32[(r14+3)] = r15;
+if(!(r12 !=r11)) //_LBB138_14
+{
+break _16;
+}
+}
+}
+ if(r13 !=0) //_LBB138_17
+{
+ r11 = heapU8[sp+-8];
+ if(r11 !=0) //_LBB138_19
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r11 = heap32[(r5)];
+ r11 = (r11 + 1)|0;
+ r12 = r13 >> 2;
+ heap32[(r5)] = r11;
+ r5 = heap32[(r12+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+ r5 = heap32[(r2+1)];
+}
+ heap32[(r2+3)] = 0;
+}
+ heap8[sp+-8] = r9;
+ heap32[(r2+3)] = r7;
+ heap32[(r2+2)] = r10;
+}
+}
+ r7 = r1 << 4;
+ r7 = (r8 + r7)|0;
+ r7 = r7 >> 2;
+ r5 = r5 << 4;
+ r8 = heap32[(r2+3)];
+ r5 = (r8 + r5)|0;
+ r8 = heap32[(r7+-4)];
+ r5 = r5 >> 2;
+ heap32[(r5)] = r8;
+ r8 = heap32[(r7+-3)];
+ heap32[(r5+1)] = r8;
+ r8 = heap32[(r7+-2)];
+ heap32[(r5+2)] = r8;
+ r7 = heap32[(r7+-1)];
+ heap32[(r5+3)] = r7;
+ r5 = heap32[(r2+1)];
+ r5 = (r5 + 1)|0;
+ heap32[(r2+1)] = r5;
+ r7 = heap32[(r4+2)];
+ if(r7 <=r1) //_LBB138_24
+{
+break _3;
+}
+else{
+ r7 = heap32[(r2+2)];
+ r1 = (r1 + 1)|0;
+}
+}
+ if(r5 >0) //_LBB138_26
+{
+ r1 = 0;
+_29: while(true){
+ r5 = heap32[(r2+3)];
+ r7 = r1 << 4;
+ r8 = heap32[(r4)];
+ r5 = (r5 + r7)|0;
+ r5 = r5 >> 2;
+ r7 = r8 >> 2;
+ r7 = heap32[(r7+3)];
+ r8 = heap32[(r5+1)];
+ r5 = heap32[(r5)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r5 = heap32[(r2+1)];
+ r1 = (r1 + 1)|0;
+ if(r5 >r1) //_LBB138_27
+{
+continue _29;
+}
+else{
+break _1;
+}
+}
+}
+}
+else{
+ r5 = 0;
+}
+} while(0);
+ r1 = heap32[(r4+14)];
+ if(r1 >0) //_LBB138_30
+{
+ r5 = 0;
+_35: while(true){
+ r1 = r5 << 2;
+ r6 = heap32[(r4+16)];
+ r1 = (r6 + r1)|0;
+ r5 = (r5 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r1)] = -1;
+ r1 = heap32[(r4+14)];
+if(!(r1 >r5)) //_LBB138_31
+{
+break _35;
+}
+}
+ r5 = heap32[(r2+1)];
+}
+ if(r5 >1) //_LBB138_35
+{
+ r5 = (r5 + -1)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r5;
+ _ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(i7);
+ r5 = heap32[(r2+1)];
+}
+_42: do {
+if(!(r5 <1)) //_LBB138_39
+{
+ r0 = 0;
+_44: while(true){
+ r1 = heap32[(r2+3)];
+ r5 = r0 << 4;
+ r6 = heap32[(r4)];
+ r1 = (r1 + r5)|0;
+ r1 = r1 >> 2;
+ r5 = r6 >> 2;
+ r5 = heap32[(r5+2)];
+ r6 = heap32[(r1+1)];
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r6;
+ r0 = (r0 + 1)|0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r1 = heap32[(r2+1)];
+ if(r1 >r0) //_LBB138_38
+{
+continue _44;
+}
+else{
+break _42;
+}
+}
+}
+} while(0);
+ r0 = heap32[(r2+3)];
+if(!(r0 ==0)) //_LBB138_42
+{
+ r1 = heapU8[sp+-8];
+if(!(r1 ==0)) //_LBB138_42
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ r2 = (r2 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r2;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+}
+ return;
+}
+
+function _ZN20btAlignedObjectArrayI16btBroadphasePairE21expandNonInitializingEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+2)];
+ r3 = heap32[(r1+1)];
+ if(r2 ==r3) //_LBB139_2
+{
+ r4 = 1;
+ r5 = r3 << 1;
+ r5 = r3 == 0 ? r4 : r5;
+ if(r2 >=r5) //_LBB139_1
+{
+__label__ = 1;
+}
+else{
+ if(r5 !=0) //_LBB139_5
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r6 = heap32[(r2)];
+ r7 = r5 << 4;
+ r6 = (r6 + 1)|0;
+ r7 = r7 | 3;
+ heap32[(r2)] = r6;
+ r2 = (r7 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r6 = r_g0;
+ if(r6 !=0) //_LBB139_7
+{
+ r2 = 0;
+ r7 = (r6 + 4)|0;
+ r2 = (r2 - r7)|0;
+ r2 = r2 & 15;
+ r2 = (r6 + r2)|0;
+ r7 = (r2 + 4)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = r6;
+ r6 = r7;
+}
+}
+else{
+ r6 = 0;
+}
+ r7 = (r0 + 12)|0;
+ if(r3 <1) //_LBB139_10
+{
+ r2 = r7 >> 2;
+ r9 = heap32[(r2)];
+}
+else{
+ r2 = 0;
+ r8 = (r2 - r3)|0;
+_12: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r2 << 4;
+ r11 = (r9 - r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r6 - r10)|0;
+ r12 = heap32[(r11)];
+ r10 = r10 >> 2;
+ heap32[(r10)] = r12;
+ r12 = heap32[(r11+1)];
+ heap32[(r10+1)] = r12;
+ r12 = heap32[(r11+2)];
+ heap32[(r10+2)] = r12;
+ r11 = heap32[(r11+3)];
+ r2 = (r2 + -1)|0;
+ heap32[(r10+3)] = r11;
+if(!(r8 !=r2)) //_LBB139_11
+{
+break _12;
+}
+}
+ r7 = (r0 + 12)|0;
+}
+ if(r9 !=0) //_LBB139_15
+{
+ r2 = heapU8[r0+16];
+ if(r2 !=0) //_LBB139_17
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r8 = heap32[(r2)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r2)] = r8;
+ r2 = heap32[(r9+-1)];
+ heap32[(g0)] = r2;
+ free(i7);
+ r2 = heap32[(r1+1)];
+}
+else{
+ r2 = r3;
+}
+ r8 = r7 >> 2;
+ heap32[(r8)] = 0;
+}
+else{
+ r2 = r3;
+}
+ r7 = r7 >> 2;
+ heap8[r0+16] = r4;
+ heap32[(r7)] = r6;
+ heap32[(r1+2)] = r5;
+__label__ = 19;
+}
+}
+else{
+__label__ = 1;
+}
+if (__label__ == 1){
+ r2 = r3;
+}
+ r0 = (r2 + 1)|0;
+ heap32[(r1+1)] = r0;
+ r0 = heap32[(r1+3)];
+ r1 = r3 << 4;
+ r0 = (r0 + r1)|0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCache10growTablesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+9)];
+ r3 = heap32[(r1+3)];
+_1: do {
+if(!(r2 >=r3)) //_LBB140_48
+{
+_3: do {
+if(!(r2 >r3)) //_LBB140_20
+{
+ r4 = heap32[(r1+10)];
+if(!(r4 >=r3)) //_LBB140_18
+{
+ if(r3 !=0) //_LBB140_5
+{
+ r4 = gNumAlignedAllocs;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r6 = r3 << 2;
+ r5 = (r5 + 1)|0;
+ r6 = r6 | 3;
+ heap32[(r4)] = r5;
+ r4 = (r6 + 16)|0;
+ heap32[(g0)] = r4;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB140_7
+{
+ r5 = 0;
+ r6 = (r4 + 4)|0;
+ r5 = (r5 - r6)|0;
+ r5 = r5 & 15;
+ r5 = (r4 + r5)|0;
+ r6 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r4;
+ r4 = r6;
+}
+}
+else{
+ r4 = 0;
+}
+ r5 = (r0 + 44)|0;
+ if(r2 <1) //_LBB140_10
+{
+ r6 = r5 >> 2;
+ r7 = heap32[(r6)];
+}
+else{
+ r6 = 0;
+_15: while(true){
+ r7 = r5 >> 2;
+ r7 = heap32[(r7)];
+ r8 = r6 << 2;
+ r9 = (r7 + r8)|0;
+ r9 = r9 >> 2;
+ r8 = (r4 + r8)|0;
+ r9 = heap32[(r9)];
+ r6 = (r6 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r9;
+if(!(r2 !=r6)) //_LBB140_11
+{
+break _15;
+}
+}
+ r5 = (r0 + 44)|0;
+}
+if(!(r7 ==0)) //_LBB140_17
+{
+ r6 = heapU8[r0+48];
+if(!(r6 ==0)) //_LBB140_16
+{
+ r6 = gNumAlignedFree;
+ r6 = r6 >> 2;
+ r8 = heap32[(r6)];
+ r8 = (r8 + 1)|0;
+ r7 = r7 >> 2;
+ heap32[(r6)] = r8;
+ r6 = heap32[(r7+-1)];
+ heap32[(g0)] = r6;
+ free(i7);
+}
+ r6 = r5 >> 2;
+ heap32[(r6)] = 0;
+}
+ r6 = 1;
+ r5 = r5 >> 2;
+ heap8[r0+48] = r6;
+ heap32[(r5)] = r4;
+ heap32[(r1+10)] = r3;
+}
+ r4 = r2;
+_26: while(true){
+ r5 = r4 << 2;
+ r6 = heap32[(r1+11)];
+ r5 = (r6 + r5)|0;
+ r4 = (r4 + 1)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = 0;
+if(!(r3 !=r4)) //_LBB140_19
+{
+break _3;
+}
+}
+}
+} while(0);
+ heap32[(r1+9)] = r3;
+ r4 = heap32[(r1+14)];
+_29: do {
+if(!(r4 >r3)) //_LBB140_39
+{
+if(!(r4 >=r3)) //_LBB140_39
+{
+ r5 = heap32[(r1+15)];
+if(!(r5 >=r3)) //_LBB140_38
+{
+ if(r3 !=0) //_LBB140_25
+{
+ r5 = gNumAlignedAllocs;
+ r5 = r5 >> 2;
+ r6 = heap32[(r5)];
+ r7 = r3 << 2;
+ r6 = (r6 + 1)|0;
+ r7 = r7 | 3;
+ heap32[(r5)] = r6;
+ r5 = (r7 + 16)|0;
+ heap32[(g0)] = r5;
+ malloc(i7);
+ r5 = r_g0;
+ if(r5 !=0) //_LBB140_27
+{
+ r6 = 0;
+ r7 = (r5 + 4)|0;
+ r6 = (r6 - r7)|0;
+ r6 = r6 & 15;
+ r6 = (r5 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r5;
+ r5 = r7;
+}
+}
+else{
+ r5 = 0;
+}
+ r6 = (r0 + 64)|0;
+ if(r4 <1) //_LBB140_30
+{
+ r7 = r6 >> 2;
+ r8 = heap32[(r7)];
+}
+else{
+ r7 = 0;
+_42: while(true){
+ r8 = r6 >> 2;
+ r8 = heap32[(r8)];
+ r9 = r7 << 2;
+ r10 = (r8 + r9)|0;
+ r10 = r10 >> 2;
+ r9 = (r5 + r9)|0;
+ r10 = heap32[(r10)];
+ r7 = (r7 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r10;
+if(!(r4 !=r7)) //_LBB140_31
+{
+break _42;
+}
+}
+ r6 = (r0 + 64)|0;
+}
+if(!(r8 ==0)) //_LBB140_37
+{
+ r7 = heapU8[r0+68];
+if(!(r7 ==0)) //_LBB140_36
+{
+ r7 = gNumAlignedFree;
+ r7 = r7 >> 2;
+ r9 = heap32[(r7)];
+ r9 = (r9 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r7)] = r9;
+ r7 = heap32[(r8+-1)];
+ heap32[(g0)] = r7;
+ free(i7);
+}
+ r7 = r6 >> 2;
+ heap32[(r7)] = 0;
+}
+ r7 = 1;
+ r6 = r6 >> 2;
+ heap8[r0+68] = r7;
+ heap32[(r6)] = r5;
+ heap32[(r1+15)] = r3;
+ if(r4 >=r3) //_LBB140_39
+{
+break _29;
+}
+}
+_52: while(true){
+ r0 = r4 << 2;
+ r5 = heap32[(r1+16)];
+ r0 = (r5 + r0)|0;
+ r4 = (r4 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+if(!(r3 !=r4)) //_LBB140_38
+{
+break _29;
+}
+}
+}
+}
+} while(0);
+ heap32[(r1+14)] = r3;
+_55: do {
+if(!(r3 <1)) //_LBB140_45
+{
+ r0 = 0;
+_57: while(true){
+ r4 = r0 << 2;
+ r5 = heap32[(r1+11)];
+ r4 = (r5 + r4)|0;
+ r0 = (r0 + 1)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = -1;
+if(!(r3 !=r0)) //_LBB140_41
+{
+break _57;
+}
+}
+if(!(r3 <1)) //_LBB140_45
+{
+ r0 = 0;
+_61: while(true){
+ r4 = r0 << 2;
+ r5 = heap32[(r1+16)];
+ r4 = (r5 + r4)|0;
+ r0 = (r0 + 1)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = -1;
+if(!(r3 !=r0)) //_LBB140_44
+{
+break _55;
+}
+}
+}
+}
+} while(0);
+if(!(r2 <1)) //_LBB140_48
+{
+ r0 = 0;
+_65: while(true){
+ r3 = heap32[(r1+4)];
+ r4 = r0 << 4;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3+1)];
+ r3 = heap32[(r3)];
+ r4 = r4 >> 2;
+ r3 = r3 >> 2;
+ r4 = heap32[(r4+3)];
+ r4 = r4 << 16;
+ r3 = heap32[(r3+3)];
+ r3 = r4 | r3;
+ r4 = r3 << 15;
+ r4 = r4 ^ -1;
+ r3 = (r3 + r4)|0;
+ r4 = r3 >> 10;
+ r3 = r4 ^ r3;
+ r3 = (r3 * 9)|0;
+ r4 = r3 >> 6;
+ r3 = r4 ^ r3;
+ r4 = r3 << 11;
+ r4 = r4 ^ -1;
+ r3 = (r3 + r4)|0;
+ r4 = r3 >> 16;
+ r5 = heap32[(r1+3)];
+ r3 = r4 ^ r3;
+ r4 = (r5 + -1)|0;
+ r3 = r3 & r4;
+ r3 = r3 << 2;
+ r4 = heap32[(r1+11)];
+ r4 = (r4 + r3)|0;
+ r4 = r4 >> 2;
+ r5 = r0 << 2;
+ r6 = heap32[(r1+16)];
+ r5 = (r6 + r5)|0;
+ r4 = heap32[(r4)];
+ r5 = r5 >> 2;
+ heap32[(r5)] = r4;
+ r4 = heap32[(r1+11)];
+ r3 = (r4 + r3)|0;
+ r4 = (r0 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r0;
+ r0 = r4;
+ if(r2 !=r4) //_LBB140_47
+{
+continue _65;
+}
+else{
+break _1;
+}
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN28btHashedOverlappingPairCacheC1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV28btHashedOverlappingPairCache;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ r3 = 1;
+ heap32[(r2)] = r1;
+ heap8[r0+20] = r3;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ r1 = 0;
+ heap32[(r2+6)] = 0;
+ heap8[r0+28] = r1;
+ heap8[r0+48] = r3;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 0;
+ heap8[r0+68] = r3;
+ heap32[(r2+16)] = 0;
+ heap32[(r2+14)] = 0;
+ r4 = gNumAlignedAllocs;
+ heap32[(r2+15)] = 0;
+ r4 = r4 >> 2;
+ heap32[(r2+18)] = 0;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ heap32[(r4)] = r5;
+ heap32[(g0)] = 51;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB141_2
+{
+ r5 = (r4 + 4)|0;
+ r1 = (r1 - r5)|0;
+ r1 = r1 & 15;
+ r1 = (r4 + r1)|0;
+ r5 = (r1 + 4)|0;
+ r1 = r1 >> 2;
+ heap32[(r1)] = r4;
+ r4 = r5;
+}
+ heap8[r0+20] = r3;
+ heap32[(r2+4)] = r4;
+ heap32[(r2+3)] = 2;
+ heap32[(g0)] = r0;
+ _ZN28btHashedOverlappingPairCache10growTablesEv(i7);
+ return;
+}
+
+function _ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 84;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK14btQuantizedBvh9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r2 = r1 >> 2;
+ heap32[(r0+4)] = heap32[(r2+5)];
+ heap32[(r0+5)] = heap32[(r2+6)];
+ heap32[(r0+6)] = heap32[(r2+7)];
+ heap32[(r0+7)] = heap32[(r2+8)];
+ heap32[(r0)] = heap32[(r2+1)];
+ heap32[(r0+1)] = heap32[(r2+2)];
+ heap32[(r0+2)] = heap32[(r2+3)];
+ heap32[(r0+3)] = heap32[(r2+4)];
+ heap32[(r0+8)] = heap32[(r2+9)];
+ heap32[(r0+9)] = heap32[(r2+10)];
+ heap32[(r0+10)] = heap32[(r2+11)];
+ heap32[(r0+11)] = heap32[(r2+12)];
+ r3 = heap32[(r2+14)];
+ heap32[(r0+12)] = r3;
+ r1 = heapU8[r1+60];
+ heap32[(r0+13)] = r1;
+ r1 = heap32[(r2+22)];
+ r3 = heap32[(fp+2)];
+ heap32[(r0+14)] = r1;
+ r1 = heap32[(r2+22)];
+ if(r1 !=0) //_LBB143_2
+{
+ r1 = r3 >> 2;
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ r5 = heap32[(r2+24)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+ heap32[(r0+16)] = r4;
+if(!(r4 ==0)) //_LBB143_7
+{
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r5 = heap32[(r2+22)];
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 48;
+ heap32[(g0+2)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+if(!(r5 <1)) //_LBB143_6
+{
+ r6 = r4 >> 2;
+ r7 = 0;
+ r6 = heap32[(r6+2)];
+ r5 = (r7 - r5)|0;
+_6: while(true){
+ r8 = (r7 * -12)|0;
+ r8 = r8 << 2;
+ r9 = r7 << 6;
+ r10 = heap32[(r2+24)];
+ r8 = (r6 + r8)|0;
+ r10 = (r10 - r9)|0;
+ r8 = r8 >> 2;
+ r10 = r10 >> 2;
+ heap32[(r8+4)] = heap32[(r10+4)];
+ heap32[(r8+5)] = heap32[(r10+5)];
+ heap32[(r8+6)] = heap32[(r10+6)];
+ heap32[(r8+7)] = heap32[(r10+7)];
+ r10 = heap32[(r2+24)];
+ r10 = (r10 - r9)|0;
+ r10 = r10 >> 2;
+ heap32[(r8)] = heap32[(r10)];
+ heap32[(r8+1)] = heap32[(r10+1)];
+ heap32[(r8+2)] = heap32[(r10+2)];
+ heap32[(r8+3)] = heap32[(r10+3)];
+ r10 = heap32[(r2+24)];
+ r10 = (r10 - r9)|0;
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+8)];
+ heap32[(r8+8)] = r10;
+ r10 = heap32[(r2+24)];
+ r10 = (r10 - r9)|0;
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+9)];
+ heap32[(r8+9)] = r10;
+ r10 = heap32[(r2+24)];
+ r9 = (r10 - r9)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+10)];
+ r7 = (r7 + -1)|0;
+ heap32[(r8+10)] = r9;
+if(!(r5 !=r7)) //_LBB143_5
+{
+break _6;
+}
+}
+}
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ r5 = heap32[(r2+24)];
+ r6 = _2E_str32;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = 1497453121;
+ heap32[(g0+4)] = r5;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+}
+else{
+ heap32[(r0+16)] = 0;
+}
+ r1 = heap32[(r2+32)];
+ heap32[(r0+15)] = r1;
+ r1 = heap32[(r2+32)];
+ if(r1 !=0) //_LBB143_9
+{
+ r1 = r3 >> 2;
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ r5 = heap32[(r2+34)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+ heap32[(r0+17)] = r4;
+if(!(r4 ==0)) //_LBB143_14
+{
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r5 = heap32[(r2+32)];
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 16;
+ heap32[(g0+2)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+_14: do {
+if(!(r5 <1)) //_LBB143_13
+{
+ r6 = r4 >> 2;
+ r7 = 0;
+ r6 = heap32[(r6+2)];
+ r5 = (r7 - r5)|0;
+_16: while(true){
+ r8 = r7 << 4;
+ r9 = heap32[(r2+34)];
+ r9 = (r9 - r8)|0;
+ r9 = r9 >> 2;
+ r10 = (r6 - r8)|0;
+ r9 = heap32[(r9+3)];
+ r11 = r10 >> 2;
+ heap32[(r11+3)] = r9;
+ r9 = heap32[(r2+34)];
+ r9 = (r9 - r8)|0;
+ r9 = heapU16[(r9+6)>>1];
+ heap16[(r10+6)>>1] = r9;
+ r9 = heap32[(r2+34)];
+ r9 = (r9 - r8)|0;
+ r9 = heapU16[(r9+8)>>1];
+ heap16[(r10+8)>>1] = r9;
+ r9 = heap32[(r2+34)];
+ r9 = (r9 - r8)|0;
+ r9 = heapU16[(r9+10)>>1];
+ heap16[(r10+10)>>1] = r9;
+ r9 = heap32[(r2+34)];
+ r9 = (r9 - r8)|0;
+ r9 = heapU16[(r9)>>1];
+ heap16[(r10)>>1] = r9;
+ r9 = heap32[(r2+34)];
+ r9 = (r9 - r8)|0;
+ r9 = heapU16[(r9+2)>>1];
+ heap16[(r10+2)>>1] = r9;
+ r9 = heap32[(r2+34)];
+ r8 = (r9 - r8)|0;
+ r8 = heapU16[(r8+4)>>1];
+ r7 = (r7 + -1)|0;
+ heap16[(r10+4)>>1] = r8;
+if(!(r5 !=r7)) //_LBB143_12
+{
+break _14;
+}
+}
+}
+} while(0);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ r5 = heap32[(r2+34)];
+ r6 = _2E_str133;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = 1497453121;
+ heap32[(g0+4)] = r5;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+}
+else{
+ heap32[(r0+17)] = 0;
+}
+ r1 = heap32[(r2+36)];
+ heap32[(r0+19)] = r1;
+ r1 = heap32[(r2+38)];
+ heap32[(r0+20)] = r1;
+ r1 = heap32[(r2+38)];
+ if(r1 !=0) //_LBB143_16
+{
+ r1 = r3 >> 2;
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ r5 = heap32[(r2+40)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+ heap32[(r0+18)] = r4;
+if(!(r4 ==0)) //_LBB143_21
+{
+ r0 = heap32[(r1)];
+ r0 = r0 >> 2;
+ r4 = heap32[(r2+38)];
+ r0 = heap32[(r0+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 20;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ r0 = r_g0;
+_24: do {
+if(!(r4 <1)) //_LBB143_20
+{
+ r5 = r0 >> 2;
+ r6 = 0;
+ r5 = heap32[(r5+2)];
+ r4 = (r6 - r4)|0;
+_26: while(true){
+ r7 = r6 << 5;
+ r8 = heap32[(r2+40)];
+ r9 = (r6 * -10)|0;
+ r8 = (r8 - r7)|0;
+ r8 = heapU16[(r8+6)>>1];
+ r9 = r9 << 1;
+ r9 = (r5 + r9)|0;
+ heap16[(r9+14)>>1] = r8;
+ r8 = heap32[(r2+40)];
+ r8 = (r8 - r7)|0;
+ r8 = heapU16[(r8+8)>>1];
+ heap16[(r9+16)>>1] = r8;
+ r8 = heap32[(r2+40)];
+ r8 = (r8 - r7)|0;
+ r8 = heapU16[(r8+10)>>1];
+ heap16[(r9+18)>>1] = r8;
+ r8 = heap32[(r2+40)];
+ r8 = (r8 - r7)|0;
+ r8 = heapU16[(r8)>>1];
+ heap16[(r9+8)>>1] = r8;
+ r8 = heap32[(r2+40)];
+ r8 = (r8 - r7)|0;
+ r8 = heapU16[(r8+2)>>1];
+ heap16[(r9+10)>>1] = r8;
+ r8 = heap32[(r2+40)];
+ r8 = (r8 - r7)|0;
+ r8 = heapU16[(r8+4)>>1];
+ heap16[(r9+12)>>1] = r8;
+ r8 = heap32[(r2+40)];
+ r9 = (r6 * -5)|0;
+ r8 = (r8 - r7)|0;
+ r9 = r9 << 2;
+ r8 = r8 >> 2;
+ r9 = (r5 + r9)|0;
+ r8 = heap32[(r8+3)];
+ r9 = r9 >> 2;
+ heap32[(r9)] = r8;
+ r8 = heap32[(r2+40)];
+ r7 = (r8 - r7)|0;
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+4)];
+ r6 = (r6 + -1)|0;
+ heap32[(r9+1)] = r7;
+if(!(r4 !=r6)) //_LBB143_19
+{
+break _24;
+}
+}
+}
+} while(0);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ r2 = heap32[(r2+40)];
+ r4 = _2E_str234;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = 1497453121;
+ heap32[(g0+4)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+}
+else{
+ heap32[(r0+18)] = 0;
+}
+ r0 = _2E_str335;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN14btQuantizedBvhD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ _ZN14btQuantizedBvhD2Ev(i7);
+ return;
+}
+
+function _ZN14btQuantizedBvhD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV14btQuantizedBvh;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+40)];
+if(!(r1 ==0)) //_LBB145_4
+{
+ r3 = heapU8[r0+164];
+if(!(r3 ==0)) //_LBB145_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+40)] = 0;
+}
+ r1 = 1;
+ heap8[r0+164] = r1;
+ heap32[(r2+40)] = 0;
+ heap32[(r2+38)] = 0;
+ heap32[(r2+39)] = 0;
+ r3 = heap32[(r2+34)];
+if(!(r3 ==0)) //_LBB145_8
+{
+ r4 = heapU8[r0+140];
+if(!(r4 ==0)) //_LBB145_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+34)] = 0;
+}
+ heap8[r0+140] = r1;
+ heap32[(r2+34)] = 0;
+ heap32[(r2+32)] = 0;
+ heap32[(r2+33)] = 0;
+ r3 = heap32[(r2+29)];
+if(!(r3 ==0)) //_LBB145_12
+{
+ r4 = heapU8[r0+120];
+if(!(r4 ==0)) //_LBB145_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+29)] = 0;
+}
+ heap8[r0+120] = r1;
+ heap32[(r2+29)] = 0;
+ heap32[(r2+27)] = 0;
+ heap32[(r2+28)] = 0;
+ r3 = heap32[(r2+24)];
+if(!(r3 ==0)) //_LBB145_16
+{
+ r4 = heapU8[r0+100];
+if(!(r4 ==0)) //_LBB145_15
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+24)] = 0;
+}
+ heap8[r0+100] = r1;
+ heap32[(r2+24)] = 0;
+ heap32[(r2+22)] = 0;
+ heap32[(r2+23)] = 0;
+ r3 = heap32[(r2+19)];
+if(!(r3 ==0)) //_LBB145_20
+{
+ r4 = heapU8[r0+80];
+if(!(r4 ==0)) //_LBB145_19
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+19)] = 0;
+}
+ heap8[r0+80] = r1;
+ heap32[(r2+19)] = 0;
+ heap32[(r2+17)] = 0;
+ heap32[(r2+18)] = 0;
+if(!(r0 ==0)) //_LBB145_22
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZNK14btQuantizedBvh9serializeEPvjb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+38)];
+ r3 = heap32[(r1+42)];
+ if(r3 ==r2) //_LBB146_2
+{
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+3)];
+ r5 = _ZTV14btQuantizedBvh;
+ r6 = r3 >> 2;
+ r5 = (r5 + 8)|0;
+ heap32[(r1+42)] = r2;
+ heap32[(r6)] = r5;
+ r2 = 0;
+ heap32[(r6+13)] = 277;
+ r5 = 1;
+ heap8[r3+60] = r2;
+ heap8[r3+80] = r5;
+ heap32[(r6+19)] = 0;
+ heap32[(r6+17)] = 0;
+ heap32[(r6+18)] = 0;
+ heap8[r3+100] = r5;
+ heap32[(r6+24)] = 0;
+ heap32[(r6+22)] = 0;
+ heap32[(r6+23)] = 0;
+ heap8[r3+120] = r5;
+ heap32[(r6+29)] = 0;
+ heap32[(r6+27)] = 0;
+ heap32[(r6+28)] = 0;
+ heap8[r3+140] = r5;
+ heap32[(r6+34)] = 0;
+ heap32[(r6+32)] = 0;
+ heap32[(r6+33)] = 0;
+ heap32[(r6+36)] = 0;
+ heap8[r3+164] = r5;
+ heap32[(r6+40)] = 0;
+ heap32[(r6+38)] = 0;
+ heap32[(r6+39)] = 0;
+ heap32[(r6+42)] = 0;
+ heap32[(r6+1)] = -8388609;
+ heap32[(r6+2)] = -8388609;
+ heap32[(r6+3)] = -8388609;
+ heap32[(r6+4)] = 0;
+ heap32[(r6+5)] = 2139095039;
+ heap32[(r6+6)] = 2139095039;
+ heap32[(r6+7)] = 2139095039;
+ heap32[(r6+8)] = 0;
+ r7 = heap32[(r1+14)];
+ if(r4 ==0) //_LBB146_4
+{
+ heap32[(r6+14)] = r7;
+ heap32[(r6+1)] = heap32[(r1+1)];
+ heap32[(r6+2)] = heap32[(r1+2)];
+ heap32[(r6+3)] = heap32[(r1+3)];
+ heap32[(r6+4)] = heap32[(r1+4)];
+ heap32[(r6+5)] = heap32[(r1+5)];
+ heap32[(r6+6)] = heap32[(r1+6)];
+ heap32[(r6+7)] = heap32[(r1+7)];
+ heap32[(r6+8)] = heap32[(r1+8)];
+ heap32[(r6+9)] = heap32[(r1+9)];
+ heap32[(r6+10)] = heap32[(r1+10)];
+ heap32[(r6+11)] = heap32[(r1+11)];
+ heap32[(r6+12)] = heap32[(r1+12)];
+ r7 = heap32[(r1+36)];
+ heap32[(r6+36)] = r7;
+ r7 = heap32[(r1+42)];
+}
+else{
+ r8 = r7 << 8;
+ r9 = r7 >>> 8;
+ r10 = r7 << 24;
+ r8 = r8 & 16711680;
+ r9 = r9 & 65280;
+ r7 = r7 >>> 24;
+ r8 = r10 | r8;
+ r7 = r9 | r7;
+ r7 = r8 | r7;
+ heap32[(r6+14)] = r7;
+ r7 = heapU8[r0+7];
+ heap8[r3+4] = r7;
+ r7 = heapU8[r0+6];
+ heap8[r3+5] = r7;
+ r7 = heapU8[r0+5];
+ heap8[r3+6] = r7;
+ r7 = heapU8[r0+4];
+ heap8[r3+7] = r7;
+ r7 = heapU8[r0+11];
+ heap8[r3+8] = r7;
+ r7 = heapU8[r0+10];
+ heap8[r3+9] = r7;
+ r7 = heapU8[r0+9];
+ heap8[r3+10] = r7;
+ r7 = heapU8[r0+8];
+ heap8[r3+11] = r7;
+ r7 = heapU8[r0+15];
+ heap8[r3+12] = r7;
+ r7 = heapU8[r0+14];
+ heap8[r3+13] = r7;
+ r7 = heapU8[r0+13];
+ heap8[r3+14] = r7;
+ r7 = heapU8[r0+12];
+ heap8[r3+15] = r7;
+ r7 = heapU8[r0+19];
+ heap8[r3+16] = r7;
+ r7 = heapU8[r0+18];
+ heap8[r3+17] = r7;
+ r7 = heapU8[r0+17];
+ heap8[r3+18] = r7;
+ r7 = heapU8[r0+16];
+ heap8[r3+19] = r7;
+ r7 = heapU8[r0+23];
+ heap8[r3+20] = r7;
+ r7 = heapU8[r0+22];
+ heap8[r3+21] = r7;
+ r7 = heapU8[r0+21];
+ heap8[r3+22] = r7;
+ r7 = heapU8[r0+20];
+ heap8[r3+23] = r7;
+ r7 = heapU8[r0+27];
+ heap8[r3+24] = r7;
+ r7 = heapU8[r0+26];
+ heap8[r3+25] = r7;
+ r7 = heapU8[r0+25];
+ heap8[r3+26] = r7;
+ r7 = heapU8[r0+24];
+ heap8[r3+27] = r7;
+ r7 = heapU8[r0+31];
+ heap8[r3+28] = r7;
+ r7 = heapU8[r0+30];
+ heap8[r3+29] = r7;
+ r7 = heapU8[r0+29];
+ heap8[r3+30] = r7;
+ r7 = heapU8[r0+28];
+ heap8[r3+31] = r7;
+ r7 = heapU8[r0+35];
+ heap8[r3+32] = r7;
+ r7 = heapU8[r0+34];
+ heap8[r3+33] = r7;
+ r7 = heapU8[r0+33];
+ heap8[r3+34] = r7;
+ r7 = heapU8[r0+32];
+ heap8[r3+35] = r7;
+ r7 = heapU8[r0+39];
+ heap8[r3+36] = r7;
+ r7 = heapU8[r0+38];
+ heap8[r3+37] = r7;
+ r7 = heapU8[r0+37];
+ heap8[r3+38] = r7;
+ r7 = heapU8[r0+36];
+ heap8[r3+39] = r7;
+ r7 = heapU8[r0+43];
+ heap8[r3+40] = r7;
+ r7 = heapU8[r0+42];
+ heap8[r3+41] = r7;
+ r7 = heapU8[r0+41];
+ heap8[r3+42] = r7;
+ r7 = heapU8[r0+40];
+ heap8[r3+43] = r7;
+ r7 = heapU8[r0+47];
+ heap8[r3+44] = r7;
+ r7 = heapU8[r0+46];
+ heap8[r3+45] = r7;
+ r7 = heapU8[r0+45];
+ heap8[r3+46] = r7;
+ r7 = heapU8[r0+44];
+ heap8[r3+47] = r7;
+ r7 = heapU8[r0+51];
+ heap8[r3+48] = r7;
+ r7 = heapU8[r0+50];
+ heap8[r3+49] = r7;
+ r7 = heapU8[r0+49];
+ heap8[r3+50] = r7;
+ r7 = heapU8[r0+48];
+ heap8[r3+51] = r7;
+ r7 = heap32[(r1+36)];
+ r8 = r7 << 8;
+ r9 = r7 >>> 8;
+ r10 = r7 << 24;
+ r8 = r8 & 16711680;
+ r9 = r9 & 65280;
+ r7 = r7 >>> 24;
+ r8 = r10 | r8;
+ r7 = r9 | r7;
+ r7 = r8 | r7;
+ heap32[(r6+36)] = r7;
+ r7 = heap32[(r1+42)];
+ r8 = r7 << 8;
+ r9 = r7 >>> 8;
+ r10 = r7 << 24;
+ r8 = r8 & 16711680;
+ r9 = r9 & 65280;
+ r7 = r7 >>> 24;
+ r8 = r10 | r8;
+ r7 = r9 | r7;
+ r7 = r8 | r7;
+}
+ heap32[(r6+42)] = r7;
+ r7 = heapU8[r0+60];
+ heap8[r3+60] = r7;
+ r7 = (r3 + 172)|0;
+ r8 = heap32[(r1+14)];
+ r0 = heapU8[r0+60];
+ if(r0 ==0) //_LBB146_20
+{
+ r0 = 0;
+ heap8[r3+100] = r0;
+ heap32[(r6+24)] = r7;
+ heap32[(r6+22)] = r8;
+ heap32[(r6+23)] = r8;
+_9: do {
+ if(r4 !=0) //_LBB146_22
+{
+if(!(r8 <1)) //_LBB146_29
+{
+ r5 = (r5 - r8)|0;
+_12: while(true){
+ r2 = r0 << 6;
+ r9 = heap32[(r1+24)];
+ r9 = (r9 - r2)|0;
+ r10 = heapU8[r9+3];
+ r7 = (r7 - r2)|0;
+ heap8[r7] = r10;
+ r10 = heapU8[r9+2];
+ heap8[r7+1] = r10;
+ r10 = heapU8[r9+1];
+ heap8[r7+2] = r10;
+ r10 = heapU8[r9];
+ heap8[r7+3] = r10;
+ r10 = heapU8[r9+7];
+ heap8[r7+4] = r10;
+ r10 = heapU8[r9+6];
+ heap8[r7+5] = r10;
+ r10 = heapU8[r9+5];
+ heap8[r7+6] = r10;
+ r10 = heapU8[r9+4];
+ heap8[r7+7] = r10;
+ r10 = heapU8[r9+11];
+ heap8[r7+8] = r10;
+ r10 = heapU8[r9+10];
+ heap8[r7+9] = r10;
+ r10 = heapU8[r9+9];
+ heap8[r7+10] = r10;
+ r10 = heapU8[r9+8];
+ heap8[r7+11] = r10;
+ r10 = heapU8[r9+15];
+ heap8[r7+12] = r10;
+ r10 = heapU8[r9+14];
+ heap8[r7+13] = r10;
+ r10 = heapU8[r9+13];
+ heap8[r7+14] = r10;
+ r9 = heapU8[r9+12];
+ heap8[r7+15] = r9;
+ r7 = heap32[(r1+24)];
+ r7 = (r7 - r2)|0;
+ r9 = heap32[(r6+24)];
+ r10 = heapU8[r7+19];
+ r9 = (r9 - r2)|0;
+ heap8[r9+16] = r10;
+ r10 = heapU8[r7+18];
+ heap8[r9+17] = r10;
+ r10 = heapU8[r7+17];
+ heap8[r9+18] = r10;
+ r10 = heapU8[r7+16];
+ heap8[r9+19] = r10;
+ r10 = heapU8[r7+23];
+ heap8[r9+20] = r10;
+ r10 = heapU8[r7+22];
+ heap8[r9+21] = r10;
+ r10 = heapU8[r7+21];
+ heap8[r9+22] = r10;
+ r10 = heapU8[r7+20];
+ heap8[r9+23] = r10;
+ r10 = heapU8[r7+27];
+ heap8[r9+24] = r10;
+ r10 = heapU8[r7+26];
+ heap8[r9+25] = r10;
+ r10 = heapU8[r7+25];
+ heap8[r9+26] = r10;
+ r10 = heapU8[r7+24];
+ heap8[r9+27] = r10;
+ r10 = heapU8[r7+31];
+ heap8[r9+28] = r10;
+ r10 = heapU8[r7+30];
+ heap8[r9+29] = r10;
+ r10 = heapU8[r7+29];
+ heap8[r9+30] = r10;
+ r7 = heapU8[r7+28];
+ heap8[r9+31] = r7;
+ r7 = heap32[(r1+24)];
+ r7 = (r7 - r2)|0;
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+8)];
+ r9 = r7 << 8;
+ r10 = r7 >>> 8;
+ r11 = heap32[(r6+24)];
+ r12 = r7 << 24;
+ r9 = r9 & 16711680;
+ r10 = r10 & 65280;
+ r7 = r7 >>> 24;
+ r11 = (r11 - r2)|0;
+ r9 = r12 | r9;
+ r7 = r10 | r7;
+ r10 = r11 >> 2;
+ r7 = r9 | r7;
+ heap32[(r10+8)] = r7;
+ r7 = heap32[(r1+24)];
+ r7 = (r7 - r2)|0;
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+9)];
+ r9 = r7 << 8;
+ r10 = r7 >>> 8;
+ r11 = heap32[(r6+24)];
+ r12 = r7 << 24;
+ r9 = r9 & 16711680;
+ r10 = r10 & 65280;
+ r7 = r7 >>> 24;
+ r11 = (r11 - r2)|0;
+ r9 = r12 | r9;
+ r7 = r10 | r7;
+ r10 = r11 >> 2;
+ r7 = r9 | r7;
+ heap32[(r10+9)] = r7;
+ r7 = heap32[(r1+24)];
+ r7 = (r7 - r2)|0;
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+10)];
+ r9 = r7 << 8;
+ r10 = r7 >>> 8;
+ r11 = heap32[(r6+24)];
+ r12 = r7 << 24;
+ r9 = r9 & 16711680;
+ r10 = r10 & 65280;
+ r7 = r7 >>> 24;
+ r2 = (r11 - r2)|0;
+ r9 = r12 | r9;
+ r7 = r10 | r7;
+ r2 = r2 >> 2;
+ r7 = r9 | r7;
+ heap32[(r2+10)] = r7;
+ if(r5 ==r0) //_LBB146_29
+{
+break _9;
+}
+else{
+ r7 = heap32[(r6+24)];
+ r0 = (r0 + -1)|0;
+}
+}
+}
+}
+else{
+ if(r8 >0) //_LBB146_26
+{
+ r5 = (r5 - r8)|0;
+ r0 = 0;
+_17: while(true){
+ r2 = r0 << 6;
+ r9 = heap32[(r1+24)];
+ r7 = (r7 - r2)|0;
+ r9 = (r9 - r2)|0;
+ r7 = r7 >> 2;
+ r9 = r9 >> 2;
+ heap32[(r7)] = heap32[(r9)];
+ heap32[(r7+1)] = heap32[(r9+1)];
+ heap32[(r7+2)] = heap32[(r9+2)];
+ heap32[(r7+3)] = heap32[(r9+3)];
+ r7 = heap32[(r6+24)];
+ r9 = heap32[(r1+24)];
+ r7 = (r7 - r2)|0;
+ r9 = (r9 - r2)|0;
+ r7 = r7 >> 2;
+ r9 = r9 >> 2;
+ heap32[(r7+4)] = heap32[(r9+4)];
+ heap32[(r7+5)] = heap32[(r9+5)];
+ heap32[(r7+6)] = heap32[(r9+6)];
+ heap32[(r7+7)] = heap32[(r9+7)];
+ r7 = heap32[(r1+24)];
+ r7 = (r7 - r2)|0;
+ r7 = r7 >> 2;
+ r9 = heap32[(r6+24)];
+ r9 = (r9 - r2)|0;
+ r7 = heap32[(r7+8)];
+ r9 = r9 >> 2;
+ heap32[(r9+8)] = r7;
+ r7 = heap32[(r1+24)];
+ r7 = (r7 - r2)|0;
+ r7 = r7 >> 2;
+ r9 = heap32[(r6+24)];
+ r9 = (r9 - r2)|0;
+ r7 = heap32[(r7+9)];
+ r9 = r9 >> 2;
+ heap32[(r9+9)] = r7;
+ r7 = heap32[(r1+24)];
+ r7 = (r7 - r2)|0;
+ r7 = r7 >> 2;
+ r9 = heap32[(r6+24)];
+ r2 = (r9 - r2)|0;
+ r7 = heap32[(r7+10)];
+ r2 = r2 >> 2;
+ heap32[(r2+10)] = r7;
+ if(r5 ==r0) //_LBB146_29
+{
+break _9;
+}
+else{
+ r7 = heap32[(r6+24)];
+ r0 = (r0 + -1)|0;
+}
+}
+}
+}
+} while(0);
+ r5 = heap32[(r6+24)];
+if(!(r5 ==0)) //_LBB146_33
+{
+ r0 = heapU8[r3+100];
+if(!(r0 ==0)) //_LBB146_32
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r2 = heap32[(r0)];
+ r2 = (r2 + 1)|0;
+ r5 = r5 >> 2;
+ heap32[(r0)] = r2;
+ r5 = heap32[(r5+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+}
+ heap32[(r6+24)] = 0;
+}
+ r5 = r8 << 6;
+ r0 = 0;
+ heap8[r3+100] = r0;
+ heap32[(r6+24)] = 0;
+ heap32[(r6+22)] = 0;
+ heap32[(r6+23)] = 0;
+}
+else{
+ heap8[r3+140] = r2;
+ heap32[(r6+34)] = r7;
+ heap32[(r6+32)] = r8;
+ heap32[(r6+33)] = r8;
+_28: do {
+ if(r4 !=0) //_LBB146_8
+{
+if(!(r8 <1)) //_LBB146_15
+{
+ r5 = (r5 - r8)|0;
+_31: while(true){
+ r0 = heap32[(r1+34)];
+ r9 = r2 << 4;
+ r0 = (r0 - r9)|0;
+ r0 = heapU16[(r0)>>1];
+ r10 = r0 << 8;
+ r0 = r0 << 24;
+ r10 = r10 & 16711680;
+ r0 = r0 | r10;
+ r7 = (r7 - r9)|0;
+ r0 = r0 >>> 16;
+ heap16[(r7)>>1] = r0;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r9)|0;
+ r7 = heapU16[(r7+2)>>1];
+ r0 = r7 << 8;
+ r7 = r7 << 24;
+ r0 = r0 & 16711680;
+ r10 = heap32[(r6+34)];
+ r7 = r7 | r0;
+ r0 = (r10 - r9)|0;
+ r7 = r7 >>> 16;
+ heap16[(r0+2)>>1] = r7;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r9)|0;
+ r7 = heapU16[(r7+4)>>1];
+ r0 = r7 << 8;
+ r7 = r7 << 24;
+ r0 = r0 & 16711680;
+ r10 = heap32[(r6+34)];
+ r7 = r7 | r0;
+ r0 = (r10 - r9)|0;
+ r7 = r7 >>> 16;
+ heap16[(r0+4)>>1] = r7;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r9)|0;
+ r7 = heapU16[(r7+6)>>1];
+ r0 = r7 << 8;
+ r7 = r7 << 24;
+ r0 = r0 & 16711680;
+ r10 = heap32[(r6+34)];
+ r7 = r7 | r0;
+ r0 = (r10 - r9)|0;
+ r7 = r7 >>> 16;
+ heap16[(r0+6)>>1] = r7;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r9)|0;
+ r7 = heapU16[(r7+8)>>1];
+ r0 = r7 << 8;
+ r7 = r7 << 24;
+ r0 = r0 & 16711680;
+ r10 = heap32[(r6+34)];
+ r7 = r7 | r0;
+ r0 = (r10 - r9)|0;
+ r7 = r7 >>> 16;
+ heap16[(r0+8)>>1] = r7;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r9)|0;
+ r7 = heapU16[(r7+10)>>1];
+ r0 = r7 << 8;
+ r7 = r7 << 24;
+ r0 = r0 & 16711680;
+ r10 = heap32[(r6+34)];
+ r7 = r7 | r0;
+ r0 = (r10 - r9)|0;
+ r7 = r7 >>> 16;
+ heap16[(r0+10)>>1] = r7;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r9)|0;
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+3)];
+ r0 = r7 << 8;
+ r10 = r7 >>> 8;
+ r11 = heap32[(r6+34)];
+ r12 = r7 << 24;
+ r0 = r0 & 16711680;
+ r10 = r10 & 65280;
+ r7 = r7 >>> 24;
+ r9 = (r11 - r9)|0;
+ r0 = r12 | r0;
+ r7 = r10 | r7;
+ r9 = r9 >> 2;
+ r7 = r0 | r7;
+ heap32[(r9+3)] = r7;
+ if(r5 ==r2) //_LBB146_15
+{
+break _28;
+}
+else{
+ r7 = heap32[(r6+34)];
+ r2 = (r2 + -1)|0;
+}
+}
+}
+}
+else{
+ if(r8 >0) //_LBB146_12
+{
+ r5 = (r5 - r8)|0;
+ r0 = 0;
+_36: while(true){
+ r2 = r0 << 4;
+ r9 = heap32[(r1+34)];
+ r9 = (r9 - r2)|0;
+ r9 = heapU16[(r9)>>1];
+ r7 = (r7 - r2)|0;
+ heap16[(r7)>>1] = r9;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r2)|0;
+ r9 = heap32[(r6+34)];
+ r7 = heapU16[(r7+2)>>1];
+ r9 = (r9 - r2)|0;
+ heap16[(r9+2)>>1] = r7;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r2)|0;
+ r9 = heap32[(r6+34)];
+ r7 = heapU16[(r7+4)>>1];
+ r9 = (r9 - r2)|0;
+ heap16[(r9+4)>>1] = r7;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r2)|0;
+ r9 = heap32[(r6+34)];
+ r7 = heapU16[(r7+6)>>1];
+ r9 = (r9 - r2)|0;
+ heap16[(r9+6)>>1] = r7;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r2)|0;
+ r9 = heap32[(r6+34)];
+ r7 = heapU16[(r7+8)>>1];
+ r9 = (r9 - r2)|0;
+ heap16[(r9+8)>>1] = r7;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r2)|0;
+ r9 = heap32[(r6+34)];
+ r7 = heapU16[(r7+10)>>1];
+ r9 = (r9 - r2)|0;
+ heap16[(r9+10)>>1] = r7;
+ r7 = heap32[(r1+34)];
+ r7 = (r7 - r2)|0;
+ r7 = r7 >> 2;
+ r9 = heap32[(r6+34)];
+ r2 = (r9 - r2)|0;
+ r7 = heap32[(r7+3)];
+ r2 = r2 >> 2;
+ heap32[(r2+3)] = r7;
+ if(r5 ==r0) //_LBB146_15
+{
+break _28;
+}
+else{
+ r7 = heap32[(r6+34)];
+ r0 = (r0 + -1)|0;
+}
+}
+}
+}
+} while(0);
+ r5 = heap32[(r6+34)];
+if(!(r5 ==0)) //_LBB146_19
+{
+ r7 = heapU8[r3+140];
+if(!(r7 ==0)) //_LBB146_18
+{
+ r7 = gNumAlignedFree;
+ r7 = r7 >> 2;
+ r0 = heap32[(r7)];
+ r0 = (r0 + 1)|0;
+ r5 = r5 >> 2;
+ heap32[(r7)] = r0;
+ r5 = heap32[(r5+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+}
+ heap32[(r6+34)] = 0;
+}
+ r5 = r8 << 4;
+ r7 = 0;
+ heap8[r3+140] = r7;
+ heap32[(r6+34)] = 0;
+ heap32[(r6+32)] = 0;
+ heap32[(r6+33)] = 0;
+}
+ r0 = heap32[(r6+40)];
+ r2 = heap32[(r1+42)];
+if(!(r0 ==0)) //_LBB146_38
+{
+ r7 = heapU8[r3+164];
+if(!(r7 ==0)) //_LBB146_37
+{
+ r7 = gNumAlignedFree;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7)];
+ r8 = (r8 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r7)] = r8;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ heap32[(r6+40)] = 0;
+}
+ r0 = (r5 + r3)|0;
+ r0 = (r0 + 172)|0;
+ r5 = 0;
+ heap8[r3+164] = r5;
+ heap32[(r6+40)] = r0;
+ heap32[(r6+38)] = r2;
+ heap32[(r6+39)] = r2;
+ r2 = heap32[(r1+42)];
+_53: do {
+ if(r4 !=0) //_LBB146_40
+{
+if(!(r2 <1)) //_LBB146_46
+{
+__label__ = 41; //SET chanka
+_55: while(true){
+ r2 = r5 << 5;
+ r4 = heap32[(r1+40)];
+ r4 = heapU16[(r4+r2)>>1];
+ r7 = r4 << 8;
+ r4 = r4 << 24;
+ r7 = r7 & 16711680;
+ r4 = r4 | r7;
+ r4 = r4 >>> 16;
+ heap16[(r0+r2)>>1] = r4;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r2)|0;
+ r0 = heapU16[(r0+2)>>1];
+ r4 = r0 << 8;
+ r0 = r0 << 24;
+ r4 = r4 & 16711680;
+ r7 = heap32[(r6+40)];
+ r0 = r0 | r4;
+ r4 = (r7 + r2)|0;
+ r0 = r0 >>> 16;
+ heap16[(r4+2)>>1] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r2)|0;
+ r0 = heapU16[(r0+4)>>1];
+ r4 = r0 << 8;
+ r0 = r0 << 24;
+ r4 = r4 & 16711680;
+ r7 = heap32[(r6+40)];
+ r0 = r0 | r4;
+ r4 = (r7 + r2)|0;
+ r0 = r0 >>> 16;
+ heap16[(r4+4)>>1] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r2)|0;
+ r0 = heapU16[(r0+6)>>1];
+ r4 = r0 << 8;
+ r0 = r0 << 24;
+ r4 = r4 & 16711680;
+ r7 = heap32[(r6+40)];
+ r0 = r0 | r4;
+ r4 = (r7 + r2)|0;
+ r0 = r0 >>> 16;
+ heap16[(r4+6)>>1] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r2)|0;
+ r0 = heapU16[(r0+8)>>1];
+ r4 = r0 << 8;
+ r0 = r0 << 24;
+ r4 = r4 & 16711680;
+ r7 = heap32[(r6+40)];
+ r0 = r0 | r4;
+ r4 = (r7 + r2)|0;
+ r0 = r0 >>> 16;
+ heap16[(r4+8)>>1] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r2)|0;
+ r0 = heapU16[(r0+10)>>1];
+ r4 = r0 << 8;
+ r0 = r0 << 24;
+ r4 = r4 & 16711680;
+ r7 = heap32[(r6+40)];
+ r0 = r0 | r4;
+ r4 = (r7 + r2)|0;
+ r0 = r0 >>> 16;
+ heap16[(r4+10)>>1] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r2)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+3)];
+ r4 = r0 << 8;
+ r7 = r0 >>> 8;
+ r8 = heap32[(r6+40)];
+ r9 = r0 << 24;
+ r4 = r4 & 16711680;
+ r7 = r7 & 65280;
+ r0 = r0 >>> 24;
+ r8 = (r8 + r2)|0;
+ r4 = r9 | r4;
+ r0 = r7 | r0;
+ r7 = r8 >> 2;
+ r0 = r4 | r0;
+ heap32[(r7+3)] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r2)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ r4 = r0 << 8;
+ r7 = r0 >>> 8;
+ r8 = heap32[(r6+40)];
+ r9 = r0 << 24;
+ r4 = r4 & 16711680;
+ r7 = r7 & 65280;
+ r0 = r0 >>> 24;
+ r2 = (r8 + r2)|0;
+ r4 = r9 | r4;
+ r0 = r7 | r0;
+ r5 = (r5 + 1)|0;
+ r2 = r2 >> 2;
+ r0 = r4 | r0;
+ heap32[(r2+4)] = r0;
+ r0 = heap32[(r1+42)];
+ if(r0 <=r5) //_LBB146_46
+{
+break _53;
+}
+else{
+ r0 = heap32[(r6+40)];
+}
+}
+}
+}
+else{
+ if(r2 >0) //_LBB146_43
+{
+ r2 = 0;
+_60: while(true){
+ r4 = r2 << 5;
+ r5 = heap32[(r1+40)];
+ r5 = heapU16[(r5+r4)>>1];
+ heap16[(r0+r4)>>1] = r5;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r4)|0;
+ r5 = heap32[(r6+40)];
+ r0 = heapU16[(r0+2)>>1];
+ r5 = (r5 + r4)|0;
+ heap16[(r5+2)>>1] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r4)|0;
+ r5 = heap32[(r6+40)];
+ r0 = heapU16[(r0+4)>>1];
+ r5 = (r5 + r4)|0;
+ heap16[(r5+4)>>1] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r4)|0;
+ r5 = heap32[(r6+40)];
+ r0 = heapU16[(r0+6)>>1];
+ r5 = (r5 + r4)|0;
+ heap16[(r5+6)>>1] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r4)|0;
+ r5 = heap32[(r6+40)];
+ r0 = heapU16[(r0+8)>>1];
+ r5 = (r5 + r4)|0;
+ heap16[(r5+8)>>1] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r4)|0;
+ r5 = heap32[(r6+40)];
+ r0 = heapU16[(r0+10)>>1];
+ r5 = (r5 + r4)|0;
+ heap16[(r5+10)>>1] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r4)|0;
+ r0 = r0 >> 2;
+ r5 = heap32[(r6+40)];
+ r5 = (r5 + r4)|0;
+ r0 = heap32[(r0+3)];
+ r5 = r5 >> 2;
+ heap32[(r5+3)] = r0;
+ r0 = heap32[(r1+40)];
+ r0 = (r0 + r4)|0;
+ r0 = r0 >> 2;
+ r5 = heap32[(r6+40)];
+ r5 = (r5 + r4)|0;
+ r0 = heap32[(r0+4)];
+ r5 = r5 >> 2;
+ heap32[(r5+4)] = r0;
+ r0 = heap32[(r6+40)];
+ r0 = (r0 + r4)|0;
+ r0 = r0 >> 2;
+ heap32[(r0+5)] = 0;
+ r0 = heap32[(r6+40)];
+ r0 = (r0 + r4)|0;
+ r0 = r0 >> 2;
+ heap32[(r0+6)] = 0;
+ r0 = heap32[(r6+40)];
+ r0 = (r0 + r4)|0;
+ r2 = (r2 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r0+7)] = 0;
+ r0 = heap32[(r1+42)];
+ if(r0 <=r2) //_LBB146_46
+{
+break _53;
+}
+else{
+ r0 = heap32[(r6+40)];
+}
+}
+}
+}
+} while(0);
+ r0 = heap32[(r6+40)];
+if(!(r0 ==0)) //_LBB146_50
+{
+ r1 = heapU8[r3+164];
+if(!(r1 ==0)) //_LBB146_49
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ r2 = (r2 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r2;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ heap32[(r6+40)] = 0;
+}
+ r0 = 0;
+ heap8[r3+164] = r0;
+ heap32[(r6+40)] = 0;
+ heap32[(r6+38)] = 0;
+ heap32[(r6+39)] = 0;
+ heap32[(r6)] = 0;
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+else{
+ r0 = _2E_str638;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 847;
+ _assert(i7);
+}
+}
+
+function _ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r1 = r1 >> 2;
+ r2 = r0 >> 2;
+ heap32[(r2+5)] = heap32[(r1+4)];
+ heap32[(r2+6)] = heap32[(r1+5)];
+ heap32[(r2+7)] = heap32[(r1+6)];
+ heap32[(r2+8)] = heap32[(r1+7)];
+ heap32[(r2+1)] = heap32[(r1)];
+ heap32[(r2+2)] = heap32[(r1+1)];
+ heap32[(r2+3)] = heap32[(r1+2)];
+ heap32[(r2+4)] = heap32[(r1+3)];
+ heap32[(r2+9)] = heap32[(r1+8)];
+ heap32[(r2+10)] = heap32[(r1+9)];
+ heap32[(r2+11)] = heap32[(r1+10)];
+ heap32[(r2+12)] = heap32[(r1+11)];
+ r3 = heap32[(r1+12)];
+ heap32[(r2+14)] = r3;
+ r3 = 0;
+ r4 = heap32[(r1+13)];
+ r4 = r4 != r3;
+ r4 = r4 & 1;
+ heap8[r0+60] = r4;
+ r4 = heap32[(r2+22)];
+ r5 = heap32[(r1+14)];
+if(!(r4 >=r5)) //_LBB147_17
+{
+ r6 = heap32[(r2+23)];
+if(!(r6 >=r5)) //_LBB147_17
+{
+ if(r5 !=0) //_LBB147_4
+{
+ r6 = gNumAlignedAllocs;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r7 = (r7 + 1)|0;
+ r8 = r5 << 6;
+ heap32[(r6)] = r7;
+ r6 = r8 | 19;
+ heap32[(g0)] = r6;
+ malloc(i7);
+ r6 = r_g0;
+ if(r6 !=0) //_LBB147_6
+{
+ r7 = 0;
+ r8 = (r6 + 4)|0;
+ r7 = (r7 - r8)|0;
+ r7 = r7 & 15;
+ r7 = (r6 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r6;
+ r6 = r8;
+}
+}
+else{
+ r6 = 0;
+}
+ r7 = (r0 + 96)|0;
+ if(r4 <1) //_LBB147_9
+{
+ r4 = r7 >> 2;
+ r9 = heap32[(r4)];
+}
+else{
+ r8 = 0;
+_12: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = (r6 + r8)|0;
+ r11 = (r9 + r8)|0;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = 64;
+ r4 = (r4 + -1)|0;
+ r8 = (r8 + 64)|0;
+ memcpy(i7);
+if(!(r4 !=0)) //_LBB147_10
+{
+break _12;
+}
+}
+ r7 = (r0 + 96)|0;
+}
+if(!(r9 ==0)) //_LBB147_16
+{
+ r4 = heapU8[r0+100];
+if(!(r4 ==0)) //_LBB147_15
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r8 = heap32[(r4)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r4)] = r8;
+ r4 = heap32[(r9+-1)];
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ r4 = r7 >> 2;
+ heap32[(r4)] = 0;
+}
+ r4 = 1;
+ r7 = r7 >> 2;
+ heap8[r0+100] = r4;
+ heap32[(r7)] = r6;
+ heap32[(r2+23)] = r5;
+}
+}
+ heap32[(r2+22)] = r5;
+_23: do {
+if(!(r5 <1)) //_LBB147_20
+{
+ r4 = 0;
+ r6 = heap32[(r1+16)];
+ r5 = (r4 - r5)|0;
+_25: while(true){
+ r7 = (r4 * -12)|0;
+ r7 = r7 << 2;
+ r8 = r4 << 6;
+ r9 = heap32[(r2+24)];
+ r7 = (r6 + r7)|0;
+ r9 = (r9 - r8)|0;
+ r7 = r7 >> 2;
+ r9 = r9 >> 2;
+ heap32[(r9+4)] = heap32[(r7+4)];
+ heap32[(r9+5)] = heap32[(r7+5)];
+ heap32[(r9+6)] = heap32[(r7+6)];
+ heap32[(r9+7)] = heap32[(r7+7)];
+ r9 = heap32[(r2+24)];
+ r9 = (r9 - r8)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = heap32[(r7)];
+ heap32[(r9+1)] = heap32[(r7+1)];
+ heap32[(r9+2)] = heap32[(r7+2)];
+ heap32[(r9+3)] = heap32[(r7+3)];
+ r9 = heap32[(r2+24)];
+ r9 = (r9 - r8)|0;
+ r10 = heap32[(r7+8)];
+ r9 = r9 >> 2;
+ heap32[(r9+8)] = r10;
+ r9 = heap32[(r2+24)];
+ r9 = (r9 - r8)|0;
+ r10 = heap32[(r7+9)];
+ r9 = r9 >> 2;
+ heap32[(r9+9)] = r10;
+ r9 = heap32[(r2+24)];
+ r8 = (r9 - r8)|0;
+ r7 = heap32[(r7+10)];
+ r4 = (r4 + -1)|0;
+ r8 = r8 >> 2;
+ heap32[(r8+10)] = r7;
+ if(r5 !=r4) //_LBB147_19
+{
+continue _25;
+}
+else{
+break _23;
+}
+}
+}
+} while(0);
+ r4 = heap32[(r2+32)];
+ r5 = heap32[(r1+15)];
+_28: do {
+if(!(r4 >=r5)) //_LBB147_23
+{
+ r6 = (r0 + 124)|0;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r5;
+ r6 = (r5 - r4)|0;
+ r4 = r4 << 4;
+ _ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(i7);
+_30: while(true){
+ r7 = heap32[(r2+34)];
+ r7 = (r7 + r4)|0;
+ r7 = r7 >> 2;
+ r6 = (r6 + -1)|0;
+ r4 = (r4 + 16)|0;
+ heap32[(r7)] = 0;
+ heap32[(r7+1)] = 0;
+ heap32[(r7+2)] = 0;
+ heap32[(r7+3)] = 0;
+ if(r6 !=0) //_LBB147_22
+{
+continue _30;
+}
+else{
+break _28;
+}
+}
+}
+} while(0);
+ heap32[(r2+32)] = r5;
+_33: do {
+if(!(r5 <1)) //_LBB147_26
+{
+ r4 = 0;
+ r6 = heap32[(r1+17)];
+ r5 = (r4 - r5)|0;
+_35: while(true){
+ r7 = r4 << 4;
+ r8 = (r6 - r7)|0;
+ r9 = r8 >> 2;
+ r10 = heap32[(r2+34)];
+ r10 = (r10 - r7)|0;
+ r9 = heap32[(r9+3)];
+ r10 = r10 >> 2;
+ heap32[(r10+3)] = r9;
+ r9 = heap32[(r2+34)];
+ r10 = heapU16[(r8+6)>>1];
+ r9 = (r9 - r7)|0;
+ heap16[(r9+6)>>1] = r10;
+ r9 = heap32[(r2+34)];
+ r10 = heapU16[(r8+8)>>1];
+ r9 = (r9 - r7)|0;
+ heap16[(r9+8)>>1] = r10;
+ r9 = heap32[(r2+34)];
+ r10 = heapU16[(r8+10)>>1];
+ r9 = (r9 - r7)|0;
+ heap16[(r9+10)>>1] = r10;
+ r9 = heap32[(r2+34)];
+ r10 = heapU16[(r8)>>1];
+ r9 = (r9 - r7)|0;
+ heap16[(r9)>>1] = r10;
+ r9 = heap32[(r2+34)];
+ r10 = heapU16[(r8+2)>>1];
+ r9 = (r9 - r7)|0;
+ heap16[(r9+2)>>1] = r10;
+ r9 = heap32[(r2+34)];
+ r8 = heapU16[(r8+4)>>1];
+ r4 = (r4 + -1)|0;
+ r7 = (r9 - r7)|0;
+ heap16[(r7+4)>>1] = r8;
+ if(r5 !=r4) //_LBB147_25
+{
+continue _35;
+}
+else{
+break _33;
+}
+}
+}
+} while(0);
+ r4 = heap32[(r1+19)];
+ heap32[(r2+36)] = r4;
+ r4 = heap32[(r2+38)];
+ r5 = heap32[(r1+20)];
+if(!(r4 >=r5)) //_LBB147_43
+{
+ r6 = heap32[(r2+39)];
+if(!(r6 >=r5)) //_LBB147_43
+{
+ if(r5 !=0) //_LBB147_30
+{
+ r6 = gNumAlignedAllocs;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r7 = (r7 + 1)|0;
+ r8 = r5 << 5;
+ heap32[(r6)] = r7;
+ r6 = r8 | 19;
+ heap32[(g0)] = r6;
+ malloc(i7);
+ r6 = r_g0;
+ if(r6 !=0) //_LBB147_32
+{
+ r7 = 0;
+ r8 = (r6 + 4)|0;
+ r7 = (r7 - r8)|0;
+ r7 = r7 & 15;
+ r7 = (r6 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r6;
+ r6 = r8;
+}
+}
+else{
+ r6 = 0;
+}
+ r7 = (r0 + 160)|0;
+ if(r4 <1) //_LBB147_35
+{
+ r4 = r7 >> 2;
+ r9 = heap32[(r4)];
+}
+else{
+ r8 = 0;
+_49: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = (r9 + r8)|0;
+ r10 = r10 >> 2;
+ r11 = (r6 + r8)|0;
+ r4 = (r4 + -1)|0;
+ r8 = (r8 + 32)|0;
+ r12 = heap32[(r10)];
+ r11 = r11 >> 2;
+ r13 = heap32[(r10+1)];
+ r14 = heap32[(r10+2)];
+ r15 = heap32[(r10+3)];
+ r16 = heap32[(r10+4)];
+ r17 = heap32[(r10+5)];
+ r18 = heap32[(r10+6)];
+ r10 = heap32[(r10+7)];
+ heap32[(r11)] = r12;
+ heap32[(r11+1)] = r13;
+ heap32[(r11+2)] = r14;
+ heap32[(r11+3)] = r15;
+ heap32[(r11+4)] = r16;
+ heap32[(r11+5)] = r17;
+ heap32[(r11+6)] = r18;
+ heap32[(r11+7)] = r10;
+if(!(r4 !=0)) //_LBB147_36
+{
+break _49;
+}
+}
+ r7 = (r0 + 160)|0;
+}
+if(!(r9 ==0)) //_LBB147_42
+{
+ r4 = heapU8[r0+164];
+if(!(r4 ==0)) //_LBB147_41
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r8 = heap32[(r4)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r4)] = r8;
+ r4 = heap32[(r9+-1)];
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ r4 = r7 >> 2;
+ heap32[(r4)] = 0;
+}
+ r4 = 1;
+ r7 = r7 >> 2;
+ heap8[r0+164] = r4;
+ heap32[(r7)] = r6;
+ heap32[(r2+39)] = r5;
+}
+}
+ heap32[(r2+38)] = r5;
+_60: do {
+if(!(r5 <1)) //_LBB147_46
+{
+ r0 = heap32[(r1+18)];
+ r1 = (r3 - r5)|0;
+_62: while(true){
+ r4 = (r3 * -10)|0;
+ r4 = r4 << 1;
+ r4 = (r0 + r4)|0;
+ r5 = r3 << 5;
+ r6 = heap32[(r2+40)];
+ r7 = heapU16[(r4+14)>>1];
+ r6 = (r6 - r5)|0;
+ heap16[(r6+6)>>1] = r7;
+ r6 = heap32[(r2+40)];
+ r7 = heapU16[(r4+16)>>1];
+ r6 = (r6 - r5)|0;
+ heap16[(r6+8)>>1] = r7;
+ r6 = heap32[(r2+40)];
+ r7 = heapU16[(r4+18)>>1];
+ r6 = (r6 - r5)|0;
+ heap16[(r6+10)>>1] = r7;
+ r6 = heap32[(r2+40)];
+ r7 = heapU16[(r4+8)>>1];
+ r6 = (r6 - r5)|0;
+ heap16[(r6)>>1] = r7;
+ r6 = heap32[(r2+40)];
+ r7 = heapU16[(r4+10)>>1];
+ r6 = (r6 - r5)|0;
+ heap16[(r6+2)>>1] = r7;
+ r6 = (r3 * -5)|0;
+ r7 = heap32[(r2+40)];
+ r4 = heapU16[(r4+12)>>1];
+ r6 = r6 << 2;
+ r7 = (r7 - r5)|0;
+ r6 = (r0 + r6)|0;
+ heap16[(r7+4)>>1] = r4;
+ r4 = r6 >> 2;
+ r6 = heap32[(r2+40)];
+ r6 = (r6 - r5)|0;
+ r7 = heap32[(r4)];
+ r6 = r6 >> 2;
+ heap32[(r6+3)] = r7;
+ r6 = heap32[(r2+40)];
+ r5 = (r6 - r5)|0;
+ r4 = heap32[(r4+1)];
+ r3 = (r3 + -1)|0;
+ r5 = r5 >> 2;
+ heap32[(r5+4)] = r4;
+ if(r1 !=r3) //_LBB147_45
+{
+continue _62;
+}
+else{
+break _60;
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ f0 = llvm_readDouble((r0+32));
+ r2 = r1 >> 2;
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+5)] = f0;
+ f0 = llvm_readDouble((r0+40));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+6)] = f0;
+ f0 = llvm_readDouble((r0+48));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+7)] = f0;
+ f0 = llvm_readDouble((r0+56));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+8)] = f0;
+ f0 = llvm_readDouble((r0));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+1)] = f0;
+ f0 = llvm_readDouble((r0+8));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+2)] = f0;
+ f0 = llvm_readDouble((r0+16));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+3)] = f0;
+ f0 = llvm_readDouble((r0+24));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+4)] = f0;
+ f0 = llvm_readDouble((r0+64));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+9)] = f0;
+ f0 = llvm_readDouble((r0+72));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+10)] = f0;
+ f0 = llvm_readDouble((r0+80));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r2+11)] = f0;
+ f0 = llvm_readDouble((r0+88));
+ f0 = f0; //fdtos f0, f0
+ r0 = r0 >> 2;
+ heapFloat[(r2+12)] = f0;
+ r3 = heap32[(r0+24)];
+ heap32[(r2+14)] = r3;
+ r3 = 0;
+ r4 = heap32[(r0+25)];
+ r4 = r4 != r3;
+ r4 = r4 & 1;
+ heap8[r1+60] = r4;
+ r4 = heap32[(r2+22)];
+ r5 = heap32[(r0+26)];
+if(!(r4 >=r5)) //_LBB148_17
+{
+ r6 = heap32[(r2+23)];
+if(!(r6 >=r5)) //_LBB148_17
+{
+ if(r5 !=0) //_LBB148_4
+{
+ r6 = gNumAlignedAllocs;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r7 = (r7 + 1)|0;
+ r8 = r5 << 6;
+ heap32[(r6)] = r7;
+ r6 = r8 | 19;
+ heap32[(g0)] = r6;
+ malloc(i7);
+ r6 = r_g0;
+ if(r6 !=0) //_LBB148_6
+{
+ r7 = 0;
+ r8 = (r6 + 4)|0;
+ r7 = (r7 - r8)|0;
+ r7 = r7 & 15;
+ r7 = (r6 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r6;
+ r6 = r8;
+}
+}
+else{
+ r6 = 0;
+}
+ r7 = (r1 + 96)|0;
+ if(r4 <1) //_LBB148_9
+{
+ r4 = r7 >> 2;
+ r9 = heap32[(r4)];
+}
+else{
+ r8 = 0;
+_12: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = (r6 + r8)|0;
+ r11 = (r9 + r8)|0;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = 64;
+ r4 = (r4 + -1)|0;
+ r8 = (r8 + 64)|0;
+ memcpy(i7);
+if(!(r4 !=0)) //_LBB148_10
+{
+break _12;
+}
+}
+ r7 = (r1 + 96)|0;
+}
+if(!(r9 ==0)) //_LBB148_16
+{
+ r4 = heapU8[r1+100];
+if(!(r4 ==0)) //_LBB148_15
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r8 = heap32[(r4)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r4)] = r8;
+ r4 = heap32[(r9+-1)];
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ r4 = r7 >> 2;
+ heap32[(r4)] = 0;
+}
+ r4 = 1;
+ r7 = r7 >> 2;
+ heap8[r1+100] = r4;
+ heap32[(r7)] = r6;
+ heap32[(r2+23)] = r5;
+}
+}
+ heap32[(r2+22)] = r5;
+_23: do {
+if(!(r5 <1)) //_LBB148_20
+{
+ r4 = 0;
+ r6 = heap32[(r0+28)];
+ r5 = (r4 - r5)|0;
+_25: while(true){
+ r7 = (r4 * -10)|0;
+ r7 = r7 << 3;
+ r8 = (r6 + r7)|0;
+ r9 = r4 << 6;
+ r10 = heap32[(r2+24)];
+ f0 = llvm_readDouble((r8+32));
+ r10 = (r10 - r9)|0;
+ r10 = r10 >> 2;
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r10+4)] = f0;
+ f0 = llvm_readDouble((r8+40));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r10+5)] = f0;
+ f0 = llvm_readDouble((r8+48));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r10+6)] = f0;
+ f0 = llvm_readDouble((r8+56));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r10+7)] = f0;
+ r10 = heap32[(r2+24)];
+ f0 = llvm_readDouble((r6+r7));
+ r7 = (r10 - r9)|0;
+ r7 = r7 >> 2;
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r7)] = f0;
+ f0 = llvm_readDouble((r8+8));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r7+1)] = f0;
+ f0 = llvm_readDouble((r8+16));
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r7+2)] = f0;
+ r10 = (r4 * -20)|0;
+ f0 = llvm_readDouble((r8+24));
+ r8 = r10 << 2;
+ f0 = f0; //fdtos f0, f0
+ r8 = (r6 + r8)|0;
+ heapFloat[(r7+3)] = f0;
+ r7 = r8 >> 2;
+ r8 = heap32[(r2+24)];
+ r8 = (r8 - r9)|0;
+ r10 = heap32[(r7+16)];
+ r8 = r8 >> 2;
+ heap32[(r8+8)] = r10;
+ r8 = heap32[(r2+24)];
+ r8 = (r8 - r9)|0;
+ r10 = heap32[(r7+17)];
+ r8 = r8 >> 2;
+ heap32[(r8+9)] = r10;
+ r8 = heap32[(r2+24)];
+ r8 = (r8 - r9)|0;
+ r7 = heap32[(r7+18)];
+ r4 = (r4 + -1)|0;
+ r8 = r8 >> 2;
+ heap32[(r8+10)] = r7;
+ if(r5 !=r4) //_LBB148_19
+{
+continue _25;
+}
+else{
+break _23;
+}
+}
+}
+} while(0);
+ r4 = heap32[(r2+32)];
+ r5 = heap32[(r0+27)];
+_28: do {
+if(!(r4 >=r5)) //_LBB148_23
+{
+ r6 = (r1 + 124)|0;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r5;
+ r6 = (r5 - r4)|0;
+ r4 = r4 << 4;
+ _ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(i7);
+_30: while(true){
+ r7 = heap32[(r2+34)];
+ r7 = (r7 + r4)|0;
+ r7 = r7 >> 2;
+ r6 = (r6 + -1)|0;
+ r4 = (r4 + 16)|0;
+ heap32[(r7)] = 0;
+ heap32[(r7+1)] = 0;
+ heap32[(r7+2)] = 0;
+ heap32[(r7+3)] = 0;
+ if(r6 !=0) //_LBB148_22
+{
+continue _30;
+}
+else{
+break _28;
+}
+}
+}
+} while(0);
+ heap32[(r2+32)] = r5;
+_33: do {
+if(!(r5 <1)) //_LBB148_26
+{
+ r4 = 0;
+ r6 = heap32[(r0+29)];
+ r5 = (r4 - r5)|0;
+_35: while(true){
+ r7 = r4 << 4;
+ r8 = (r6 - r7)|0;
+ r9 = r8 >> 2;
+ r10 = heap32[(r2+34)];
+ r10 = (r10 - r7)|0;
+ r9 = heap32[(r9+3)];
+ r10 = r10 >> 2;
+ heap32[(r10+3)] = r9;
+ r9 = heap32[(r2+34)];
+ r10 = heapU16[(r8+6)>>1];
+ r9 = (r9 - r7)|0;
+ heap16[(r9+6)>>1] = r10;
+ r9 = heap32[(r2+34)];
+ r10 = heapU16[(r8+8)>>1];
+ r9 = (r9 - r7)|0;
+ heap16[(r9+8)>>1] = r10;
+ r9 = heap32[(r2+34)];
+ r10 = heapU16[(r8+10)>>1];
+ r9 = (r9 - r7)|0;
+ heap16[(r9+10)>>1] = r10;
+ r9 = heap32[(r2+34)];
+ r10 = heapU16[(r8)>>1];
+ r9 = (r9 - r7)|0;
+ heap16[(r9)>>1] = r10;
+ r9 = heap32[(r2+34)];
+ r10 = heapU16[(r8+2)>>1];
+ r9 = (r9 - r7)|0;
+ heap16[(r9+2)>>1] = r10;
+ r9 = heap32[(r2+34)];
+ r8 = heapU16[(r8+4)>>1];
+ r4 = (r4 + -1)|0;
+ r7 = (r9 - r7)|0;
+ heap16[(r7+4)>>1] = r8;
+ if(r5 !=r4) //_LBB148_25
+{
+continue _35;
+}
+else{
+break _33;
+}
+}
+}
+} while(0);
+ r4 = heap32[(r0+30)];
+ heap32[(r2+36)] = r4;
+ r4 = heap32[(r2+38)];
+ r5 = heap32[(r0+31)];
+if(!(r4 >=r5)) //_LBB148_43
+{
+ r6 = heap32[(r2+39)];
+if(!(r6 >=r5)) //_LBB148_43
+{
+ if(r5 !=0) //_LBB148_30
+{
+ r6 = gNumAlignedAllocs;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r7 = (r7 + 1)|0;
+ r8 = r5 << 5;
+ heap32[(r6)] = r7;
+ r6 = r8 | 19;
+ heap32[(g0)] = r6;
+ malloc(i7);
+ r6 = r_g0;
+ if(r6 !=0) //_LBB148_32
+{
+ r7 = 0;
+ r8 = (r6 + 4)|0;
+ r7 = (r7 - r8)|0;
+ r7 = r7 & 15;
+ r7 = (r6 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r6;
+ r6 = r8;
+}
+}
+else{
+ r6 = 0;
+}
+ r7 = (r1 + 160)|0;
+ if(r4 <1) //_LBB148_35
+{
+ r4 = r7 >> 2;
+ r9 = heap32[(r4)];
+}
+else{
+ r8 = 0;
+_49: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = (r9 + r8)|0;
+ r10 = r10 >> 2;
+ r11 = (r6 + r8)|0;
+ r4 = (r4 + -1)|0;
+ r8 = (r8 + 32)|0;
+ r12 = heap32[(r10)];
+ r11 = r11 >> 2;
+ r13 = heap32[(r10+1)];
+ r14 = heap32[(r10+2)];
+ r15 = heap32[(r10+3)];
+ r16 = heap32[(r10+4)];
+ r17 = heap32[(r10+5)];
+ r18 = heap32[(r10+6)];
+ r10 = heap32[(r10+7)];
+ heap32[(r11)] = r12;
+ heap32[(r11+1)] = r13;
+ heap32[(r11+2)] = r14;
+ heap32[(r11+3)] = r15;
+ heap32[(r11+4)] = r16;
+ heap32[(r11+5)] = r17;
+ heap32[(r11+6)] = r18;
+ heap32[(r11+7)] = r10;
+if(!(r4 !=0)) //_LBB148_36
+{
+break _49;
+}
+}
+ r7 = (r1 + 160)|0;
+}
+if(!(r9 ==0)) //_LBB148_42
+{
+ r4 = heapU8[r1+164];
+if(!(r4 ==0)) //_LBB148_41
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r8 = heap32[(r4)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r4)] = r8;
+ r4 = heap32[(r9+-1)];
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ r4 = r7 >> 2;
+ heap32[(r4)] = 0;
+}
+ r4 = 1;
+ r7 = r7 >> 2;
+ heap8[r1+164] = r4;
+ heap32[(r7)] = r6;
+ heap32[(r2+39)] = r5;
+}
+}
+ heap32[(r2+38)] = r5;
+_60: do {
+if(!(r5 <1)) //_LBB148_46
+{
+ r0 = heap32[(r0+32)];
+ r1 = (r3 - r5)|0;
+_62: while(true){
+ r4 = (r3 * -10)|0;
+ r4 = r4 << 1;
+ r4 = (r0 + r4)|0;
+ r5 = r3 << 5;
+ r6 = heap32[(r2+40)];
+ r7 = heapU16[(r4+14)>>1];
+ r6 = (r6 - r5)|0;
+ heap16[(r6+6)>>1] = r7;
+ r6 = heap32[(r2+40)];
+ r7 = heapU16[(r4+16)>>1];
+ r6 = (r6 - r5)|0;
+ heap16[(r6+8)>>1] = r7;
+ r6 = heap32[(r2+40)];
+ r7 = heapU16[(r4+18)>>1];
+ r6 = (r6 - r5)|0;
+ heap16[(r6+10)>>1] = r7;
+ r6 = heap32[(r2+40)];
+ r7 = heapU16[(r4+8)>>1];
+ r6 = (r6 - r5)|0;
+ heap16[(r6)>>1] = r7;
+ r6 = heap32[(r2+40)];
+ r7 = heapU16[(r4+10)>>1];
+ r6 = (r6 - r5)|0;
+ heap16[(r6+2)>>1] = r7;
+ r6 = (r3 * -5)|0;
+ r7 = heap32[(r2+40)];
+ r4 = heapU16[(r4+12)>>1];
+ r6 = r6 << 2;
+ r7 = (r7 - r5)|0;
+ r6 = (r0 + r6)|0;
+ heap16[(r7+4)>>1] = r4;
+ r4 = r6 >> 2;
+ r6 = heap32[(r2+40)];
+ r6 = (r6 - r5)|0;
+ r7 = heap32[(r4)];
+ r6 = r6 >> 2;
+ heap32[(r6+3)] = r7;
+ r6 = heap32[(r2+40)];
+ r5 = (r6 - r5)|0;
+ r4 = heap32[(r4+1)];
+ r3 = (r3 + -1)|0;
+ r5 = r5 >> 2;
+ heap32[(r5+4)] = r4;
+ if(r1 !=r3) //_LBB148_45
+{
+continue _62;
+}
+else{
+break _60;
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN14btQuantizedBvhD2Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV14btQuantizedBvh;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+40)];
+if(!(r1 ==0)) //_LBB149_4
+{
+ r3 = heapU8[r0+164];
+if(!(r3 ==0)) //_LBB149_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+40)] = 0;
+}
+ r1 = 1;
+ heap8[r0+164] = r1;
+ heap32[(r2+40)] = 0;
+ heap32[(r2+38)] = 0;
+ heap32[(r2+39)] = 0;
+ r3 = heap32[(r2+34)];
+if(!(r3 ==0)) //_LBB149_8
+{
+ r4 = heapU8[r0+140];
+if(!(r4 ==0)) //_LBB149_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+34)] = 0;
+}
+ heap8[r0+140] = r1;
+ heap32[(r2+34)] = 0;
+ heap32[(r2+32)] = 0;
+ heap32[(r2+33)] = 0;
+ r3 = heap32[(r2+29)];
+if(!(r3 ==0)) //_LBB149_12
+{
+ r4 = heapU8[r0+120];
+if(!(r4 ==0)) //_LBB149_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+29)] = 0;
+}
+ heap8[r0+120] = r1;
+ heap32[(r2+29)] = 0;
+ heap32[(r2+27)] = 0;
+ heap32[(r2+28)] = 0;
+ r3 = heap32[(r2+24)];
+if(!(r3 ==0)) //_LBB149_16
+{
+ r4 = heapU8[r0+100];
+if(!(r4 ==0)) //_LBB149_15
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+24)] = 0;
+}
+ heap8[r0+100] = r1;
+ heap32[(r2+24)] = 0;
+ heap32[(r2+22)] = 0;
+ heap32[(r2+23)] = 0;
+ r3 = heap32[(r2+19)];
+if(!(r3 ==0)) //_LBB149_20
+{
+ r4 = heapU8[r0+80];
+if(!(r4 ==0)) //_LBB149_19
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+19)] = 0;
+}
+ heap8[r0+80] = r1;
+ heap32[(r2+19)] = 0;
+ heap32[(r2+17)] = 0;
+ heap32[(r2+18)] = 0;
+ return;
+}
+
+function _ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+60];
+ if(r1 !=0) //_LBB150_2
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r4 = heap32[(fp+4)];
+ r5 = heap32[(fp+5)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+34)];
+ r6 = r4 << 4;
+ r7 = (r5 - r4)|0;
+ r0 = (r0 + r6)|0;
+ r6 = 0;
+_3: while(true){
+ if(r4 <r5) //_LBB150_3
+{
+ if(r6 <r7) //_LBB150_5
+{
+ r8 = heapU16[(r2)>>1];
+ r9 = heapU16[(r0+6)>>1];
+ r10 = heapU16[(r3)>>1];
+ r11 = heapU16[(r0)>>1];
+ r8 = uint(r8) > uint(r9);
+ r9 = uint(r10) < uint(r11);
+ r10 = heapU16[(r2+4)>>1];
+ r11 = heapU16[(r0+10)>>1];
+ r8 = r8 | r9;
+ r9 = uint(r10) > uint(r11);
+ r10 = heapU16[(r3+4)>>1];
+ r11 = heapU16[(r0+4)>>1];
+ r8 = r8 | r9;
+ r9 = uint(r10) < uint(r11);
+ r10 = heapU16[(r2+2)>>1];
+ r11 = heapU16[(r0+8)>>1];
+ r8 = r8 | r9;
+ r9 = uint(r10) > uint(r11);
+ r10 = heapU16[(r3+2)>>1];
+ r11 = heapU16[(r0+2)>>1];
+ r12 = r0 >> 2;
+ r8 = r8 | r9;
+ r9 = uint(r10) < uint(r11);
+ r10 = heap32[(r12+3)];
+ r6 = (r6 + 1)|0;
+ r8 = r8 | r9;
+ if(r10 <0) //_LBB150_10
+{
+__label__ = 10;
+}
+else{
+ if(r8 != 0) //_LBB150_10
+{
+__label__ = 10;
+}
+else{
+ if(r10 >-1) //_LBB150_9
+{
+ r8 = r1 >> 2;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ r12 = r10 >> 21;
+ r10 = r10 & 2097151;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r10;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+__label__ = 11;
+}
+else{
+__label__ = 8;
+break _3;
+}
+}
+}
+if (__label__ == 10){
+ r9 = 0;
+ r9 = r10 < r9;
+ r8 = r9 & r8;
+ if(r8 != 0) //_LBB150_12
+{
+ r8 = heap32[(r12+3)];
+ if(r8 <0) //_LBB150_14
+{
+ r9 = r8 << 4;
+ r0 = (r0 - r9)|0;
+ r4 = (r4 - r8)|0;
+continue _3;
+}
+else{
+__label__ = 13;
+break _3;
+}
+}
+}
+ r0 = (r0 + 16)|0;
+ r4 = (r4 + 1)|0;
+}
+else{
+__label__ = 4;
+break _3;
+}
+}
+else{
+__label__ = 16;
+break _3;
+}
+}
+switch(__label__ ){//multiple entries
+case 16:
+ r0 = maxIterations;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+if(!(r1 >=r6)) //_LBB150_18
+{
+ heap32[(r0)] = r6;
+}
+ return;
+break;
+case 13:
+ r0 = _2E_str941;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 75;
+ _assert(i7);
+break;
+case 8:
+ r0 = _2E_str739;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 80;
+ _assert(i7);
+break;
+case 4:
+ r0 = _2E_str1143;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 703;
+ _assert(i7);
+break;
+}
+}
+else{
+ r0 = _2E_str212;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 669;
+ _assert(i7);
+}
+}
+
+function _ZNK14btQuantizedBvh17quantizeWithClampEPtRK9btVector3i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+60];
+ if(r1 !=0) //_LBB151_2
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2)];
+ r4 = sp + -16;
+ heapFloat[(fp+-4)] = f0;
+ f1 = heapFloat[(r2+1)];
+ r5 = r4 >> 2;
+ heapFloat[(r5+1)] = f1;
+ f2 = heapFloat[(r2+2)];
+ heapFloat[(r5+2)] = f2;
+ f3 = heapFloat[(r2+3)];
+ r2 = r0 >> 2;
+ heapFloat[(r5+3)] = f3;
+ f4 = heapFloat[(r2+1)];
+ if(f0 <f4) //_LBB151_4
+{
+ heapFloat[(fp+-4)] = f4;
+ f0 = f4;
+}
+ f4 = heapFloat[(r2+2)];
+ if(f1 <f4) //_LBB151_7
+{
+ heapFloat[(r5+1)] = f4;
+ f1 = f4;
+}
+ f4 = heapFloat[(r2+3)];
+ if(f2 <f4) //_LBB151_10
+{
+ heapFloat[(r5+2)] = f4;
+ f2 = f4;
+}
+ f4 = heapFloat[(r2+4)];
+ if(f3 <f4) //_LBB151_13
+{
+ heapFloat[(r5+3)] = f4;
+ f3 = f4;
+}
+ f4 = heapFloat[(r2+5)];
+if(!(f4 >=f0)) //_LBB151_16
+{
+ heapFloat[(fp+-4)] = f4;
+}
+ f0 = heapFloat[(r2+6)];
+if(!(f0 >=f1)) //_LBB151_18
+{
+ heapFloat[(r5+1)] = f0;
+}
+ f0 = heapFloat[(r2+7)];
+if(!(f0 >=f2)) //_LBB151_20
+{
+ heapFloat[(r5+2)] = f0;
+}
+ f0 = heapFloat[(r2+8)];
+if(!(f0 >=f3)) //_LBB151_22
+{
+ heapFloat[(r5+3)] = f0;
+}
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r3;
+ _ZNK14btQuantizedBvh8quantizeEPtRK9btVector3i(i7);
+ return;
+}
+else{
+ r0 = _2E_str212;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 420;
+ _assert(i7);
+}
+}
+
+function _ZNK14btQuantizedBvh42walkRecursiveQuantizedTreeAgainstQueryAabbEPK18btQuantizedBvhNodeP21btNodeOverlapCallbackPtS5_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r4 = heap32[(fp+4)];
+_1: while(true){
+ r5 = heapU8[r0+60];
+ if(r5 !=0) //_LBB152_3
+{
+ r5 = heapU16[(r3)>>1];
+ r6 = heapU16[(r1+6)>>1];
+ if(uint(r5) >uint(r6)) //_LBB152_14
+{
+__label__ = 14;
+break _1;
+}
+else{
+ r5 = heapU16[(r4)>>1];
+ r6 = heapU16[(r1)>>1];
+ r5 = r5 & 65535;
+ r6 = r6 & 65535;
+ if(uint(r5) <uint(r6)) //_LBB152_14
+{
+__label__ = 14;
+break _1;
+}
+else{
+ r5 = heapU16[(r3+4)>>1];
+ r6 = heapU16[(r1+10)>>1];
+ r5 = r5 & 65535;
+ r6 = r6 & 65535;
+ if(uint(r5) >uint(r6)) //_LBB152_14
+{
+__label__ = 14;
+break _1;
+}
+else{
+ r5 = heapU16[(r4+4)>>1];
+ r6 = heapU16[(r1+4)>>1];
+ r5 = r5 & 65535;
+ r6 = r6 & 65535;
+ if(uint(r5) <uint(r6)) //_LBB152_14
+{
+__label__ = 14;
+break _1;
+}
+else{
+ r5 = heapU16[(r3+2)>>1];
+ r6 = heapU16[(r1+8)>>1];
+ r5 = r5 & 65535;
+ r6 = r6 & 65535;
+ if(uint(r5) >uint(r6)) //_LBB152_14
+{
+__label__ = 14;
+break _1;
+}
+else{
+ r5 = heapU16[(r4+2)>>1];
+ r6 = heapU16[(r1+2)>>1];
+ r5 = r5 & 65535;
+ r6 = r6 & 65535;
+ if(uint(r5) <uint(r6)) //_LBB152_14
+{
+__label__ = 14;
+break _1;
+}
+else{
+ r5 = r1 >> 2;
+ r6 = heap32[(r5+3)];
+ if(r6 <0) //_LBB152_11
+{
+ r6 = (r1 + 16)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r4;
+ _ZNK14btQuantizedBvh42walkRecursiveQuantizedTreeAgainstQueryAabbEPK18btQuantizedBvhNodeP21btNodeOverlapCallbackPtS5_(i7);
+ r5 = heap32[(r5+7)];
+ if(r5 <0) //_LBB152_13
+{
+ r6 = 1;
+ r5 = (r6 - r5)|0;
+ r5 = r5 << 4;
+ r1 = (r1 + r5)|0;
+continue _1;
+}
+else{
+ r1 = (r1 + 32)|0;
+continue _1;
+}
+}
+else{
+__label__ = 10;
+break _1;
+}
+}
+}
+}
+}
+}
+}
+}
+else{
+__label__ = 2;
+break _1;
+}
+}
+switch(__label__ ){//multiple entries
+case 14:
+ return;
+break;
+case 2:
+ r0 = _2E_str212;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 419;
+ _assert(i7);
+break;
+case 10:
+ r0 = r2 >> 2;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+2)];
+ r1 = r6 >> 21;
+ r3 = r6 & 2097151;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ return;
+break;
+}
+}
+
+function _ZNK14btQuantizedBvh26reportAabbOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r4 = heapU8[r0+60];
+_1: do {
+ if(r4 ==0) //_LBB153_20
+{
+ r0 = r0 >> 2;
+ r4 = heap32[(r0+24)];
+ r5 = 0;
+ r6 = r5;
+_3: while(true){
+ r7 = heap32[(r0+14)];
+ if(r7 >r5) //_LBB153_21
+{
+ if(r7 >r6) //_LBB153_23
+{
+ r7 = r2 >> 2;
+ r8 = r4 >> 2;
+ r6 = (r6 + 1)|0;
+ f0 = heapFloat[(r7)];
+ f1 = heapFloat[(r8+4)];
+ if(f0 >f1) //_LBB153_26
+{
+__label__ = 26;
+}
+else{
+ r9 = r3 >> 2;
+ f0 = heapFloat[(r9)];
+ f1 = heapFloat[(r8)];
+ if(f0 <f1) //_LBB153_26
+{
+__label__ = 26;
+}
+else{
+ r9 = 1;
+__label__ = 27;
+}
+}
+if (__label__ == 26){
+ r9 = 0;
+}
+ f0 = heapFloat[(r7+2)];
+ f1 = heapFloat[(r8+6)];
+ if(f0 >f1) //_LBB153_30
+{
+__label__ = 29;
+}
+else{
+ r10 = r3 >> 2;
+ f0 = heapFloat[(r10+2)];
+ f1 = heapFloat[(r8+2)];
+ if(f0 <f1) //_LBB153_30
+{
+__label__ = 29;
+}
+else{
+__label__ = 30;
+}
+}
+if (__label__ == 29){
+ r9 = 0;
+}
+ f0 = heapFloat[(r7+1)];
+ f1 = heapFloat[(r8+5)];
+ if(f0 <=f1) //_LBB153_33
+{
+ r7 = r3 >> 2;
+ f0 = heapFloat[(r7+1)];
+ f1 = heapFloat[(r8+1)];
+ r7 = 0;
+ r10 = heap32[(r8+8)];
+ r11 = -1;
+ r9 = f0 < f1 ? r7 : r9;
+ r7 = r10 == r11;
+ r12 = r9 & 255;
+if(!(r12 ==0)) //_LBB153_35
+{
+ r10 = r10 != r11;
+ r10 = r10 & 1;
+ if(r10 ==0) //_LBB153_36
+{
+ r10 = r1 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+2)];
+ r11 = heap32[(r8+10)];
+ r12 = heap32[(r8+9)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r11;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+}
+}
+}
+else{
+ r7 = heap32[(r8+8)];
+ r9 = -1;
+ r7 = r7 == r9;
+ r9 = 0;
+}
+ r9 = r9 & 255;
+if(!(r9 !=0)) //_LBB153_39
+{
+ r7 = r7 & 1;
+ if(r7 ==0) //_LBB153_40
+{
+ r7 = heap32[(r8+8)];
+ r8 = r7 << 6;
+ r4 = (r4 + r8)|0;
+ r5 = (r7 + r5)|0;
+continue _3;
+}
+}
+ r4 = (r4 + 64)|0;
+ r5 = (r5 + 1)|0;
+}
+else{
+__label__ = 22;
+break _3;
+}
+}
+else{
+__label__ = 40;
+break _3;
+}
+}
+switch(__label__ ){//multiple entries
+case 40:
+ r0 = maxIterations;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ if(r1 >=r6) //_LBB153_17
+{
+break _1;
+}
+else{
+ heap32[(r0)] = r6;
+ return;
+}
+break;
+case 22:
+ r0 = _2E_str1921;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 367;
+ _assert(i7);
+break;
+}
+}
+else{
+ r4 = sp + -6;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = 0;
+ _ZNK14btQuantizedBvh17quantizeWithClampEPtRK9btVector3i(i7);
+ r2 = sp + -12;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = 1;
+ r3 = r0 >> 2;
+ _ZNK14btQuantizedBvh17quantizeWithClampEPtRK9btVector3i(i7);
+ r5 = heap32[(r3+36)];
+ if(r5 ==2) //_LBB153_18
+{
+ r3 = heap32[(r3+34)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = r2;
+ _ZNK14btQuantizedBvh42walkRecursiveQuantizedTreeAgainstQueryAabbEPK18btQuantizedBvhNodeP21btNodeOverlapCallbackPtS5_(i7);
+ return;
+}
+else{
+ if(r5 ==1) //_LBB153_5
+{
+ r5 = heapU8[r0+60];
+ if(r5 ==0) //_LBB153_7
+{
+ r2 = _2E_str212;
+ r3 = _2E_str537;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 735;
+ _assert(i7);
+}
+else{
+ r5 = heap32[(r3+38)];
+ if(r5 >0) //_LBB153_8
+{
+ r5 = 0;
+_42: while(true){
+ r6 = heap32[(r3+40)];
+ r7 = r5 << 5;
+ r8 = (r6 + r7)|0;
+ r9 = heapU16[(sp+-6)>>1];
+ r10 = heapU16[(r8+6)>>1];
+if(!(uint(r9) >uint(r10))) //_LBB153_16
+{
+ r9 = heapU16[(sp+-12)>>1];
+ r6 = heapU16[(r6+r7)>>1];
+ r7 = r9 & 65535;
+ r6 = r6 & 65535;
+if(!(uint(r7) <uint(r6))) //_LBB153_16
+{
+ r6 = heapU16[(sp+-2)>>1];
+ r7 = heapU16[(r8+10)>>1];
+ r6 = r6 & 65535;
+ r7 = r7 & 65535;
+if(!(uint(r6) >uint(r7))) //_LBB153_16
+{
+ r6 = heapU16[(sp+-8)>>1];
+ r7 = heapU16[(r8+4)>>1];
+ r6 = r6 & 65535;
+ r7 = r7 & 65535;
+if(!(uint(r6) <uint(r7))) //_LBB153_16
+{
+ r6 = heapU16[(sp+-4)>>1];
+ r7 = heapU16[(r8+8)>>1];
+ r6 = r6 & 65535;
+ r7 = r7 & 65535;
+if(!(uint(r6) >uint(r7))) //_LBB153_16
+{
+ r6 = heapU16[(sp+-10)>>1];
+ r7 = heapU16[(r8+2)>>1];
+ r6 = r6 & 65535;
+ r7 = r7 & 65535;
+if(!(uint(r6) <uint(r7))) //_LBB153_16
+{
+ r6 = r8 >> 2;
+ r7 = heap32[(r6+3)];
+ r6 = heap32[(r6+4)];
+ r6 = (r6 + r7)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r2;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r6;
+ _ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii(i7);
+}
+}
+}
+}
+}
+}
+ r5 = (r5 + 1)|0;
+ r6 = heap32[(r3+38)];
+ if(r6 >r5) //_LBB153_9
+{
+continue _42;
+}
+else{
+break _1;
+}
+}
+}
+else{
+break _1;
+}
+}
+}
+else{
+ if(r5 !=0) //_LBB153_19
+{
+ r0 = _2E_str10;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 341;
+ _assert(i7);
+}
+else{
+ r3 = heap32[(r3+14)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r2;
+ heap32[(g0+4)] = 0;
+ heap32[(g0+5)] = r3;
+ _ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii(i7);
+ return;
+}
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN14btQuantizedBvh9buildTreeEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var r25;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+var __label__ = 0;
+ i7 = sp + -112;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+2)];
+ r2 = (r1 - r0)|0;
+ if(r2 >0) //_LBB154_2
+{
+ r3 = heap32[(fp)];
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+14)];
+ if(r2 !=1) //_LBB154_7
+{
+_5: do {
+ if(r0 <r1) //_LBB154_9
+{
+ r6 = heapU8[r3+60];
+ f1 = 0;
+ r7 = r0;
+ f2 = f1;
+ f3 = f1;
+_7: while(true){
+ r8 = r6 & 255;
+ if(r8 ==0) //_LBB154_12
+{
+ r9 = heap32[(r4+19)];
+ r10 = r7 << 6;
+ r9 = (r9 + r10)|0;
+ r9 = r9 >> 2;
+ f0 = heapFloat[(r9)];
+ f5 = heapFloat[(r9+1)];
+ f8 = heapFloat[(r9+2)];
+ f4 = heapFloat[(r9+4)];
+ f6 = heapFloat[(r9+5)];
+ f7 = heapFloat[(r9+6)];
+}
+else{
+ r9 = heap32[(r4+29)];
+ r10 = r7 << 4;
+ r11 = (r9 + r10)|0;
+ r9 = heapU16[(r9+r10)>>1];
+ r10 = heapU16[(r11+2)>>1];
+ r12 = heapU16[(r11+4)>>1];
+ r13 = heapU16[(r11+6)>>1];
+ r14 = heapU16[(r11+8)>>1];
+ r11 = heapU16[(r11+10)>>1];
+ f0 = uint(r9); //fuitos r9, f0
+ f4 = heapFloat[(r4+9)];
+ f5 = uint(r13); //fuitos r13, f5
+ f6 = uint(r10); //fuitos r10, f6
+ f7 = heapFloat[(r4+10)];
+ f8 = uint(r14); //fuitos r14, f8
+ f9 = uint(r12); //fuitos r12, f9
+ f10 = heapFloat[(r4+11)];
+ f11 = uint(r11); //fuitos r11, f11
+ f0 = f0/f4;
+ f12 = heapFloat[(r4+1)];
+ f4 = f5/f4;
+ f5 = f6/f7;
+ f6 = heapFloat[(r4+2)];
+ f7 = f8/f7;
+ f8 = f9/f10;
+ f9 = heapFloat[(r4+3)];
+ f10 = f11/f10;
+ f0 = f0+f12;
+ f5 = f5+f6;
+ f8 = f8+f9;
+ f4 = f4+f12;
+ f6 = f7+f6;
+ f7 = f10+f9;
+}
+ f0 = f4+f0;
+ f4 = 0.5;
+ f5 = f6+f5;
+ f6 = f7+f8;
+ f0 = f0*f4;
+ f5 = f5*f4;
+ f6 = f6*f4;
+ r7 = (r7 + 1)|0;
+ f3 = f3+f0;
+ f2 = f2+f5;
+ f1 = f1+f6;
+if(!(r1 !=r7)) //_LBB154_10
+{
+break _7;
+}
+}
+ f0 = r2; //fitos r2, f0
+ if(r0 <r1) //_LBB154_16
+{
+ f5 = 1;
+ f5 = f5/f0;
+ f6 = f3*f5;
+ f7 = f2*f5;
+ f5 = f1*f5;
+ f1 = 0;
+ r6 = r0;
+ f2 = f1;
+ f3 = f1;
+_16: while(true){
+ if(r8 ==0) //_LBB154_19
+{
+ r7 = heap32[(r4+19)];
+ r9 = r6 << 6;
+ r7 = (r7 + r9)|0;
+ r7 = r7 >> 2;
+ f8 = heapFloat[(r7)];
+ f10 = heapFloat[(r7+1)];
+ f13 = heapFloat[(r7+2)];
+ f9 = heapFloat[(r7+4)];
+ f11 = heapFloat[(r7+5)];
+ f12 = heapFloat[(r7+6)];
+}
+else{
+ r7 = heap32[(r4+29)];
+ r9 = r6 << 4;
+ r10 = (r7 + r9)|0;
+ r7 = heapU16[(r7+r9)>>1];
+ r9 = heapU16[(r10+2)>>1];
+ r11 = heapU16[(r10+4)>>1];
+ r12 = heapU16[(r10+6)>>1];
+ r13 = heapU16[(r10+8)>>1];
+ r10 = heapU16[(r10+10)>>1];
+ f8 = uint(r7); //fuitos r7, f8
+ f9 = heapFloat[(r4+9)];
+ f10 = uint(r12); //fuitos r12, f10
+ f11 = uint(r9); //fuitos r9, f11
+ f12 = heapFloat[(r4+10)];
+ f13 = uint(r13); //fuitos r13, f13
+ f14 = uint(r11); //fuitos r11, f14
+ f15 = heapFloat[(r4+11)];
+ f16 = uint(r10); //fuitos r10, f16
+ f8 = f8/f9;
+ f17 = heapFloat[(r4+1)];
+ f9 = f10/f9;
+ f10 = f11/f12;
+ f11 = heapFloat[(r4+2)];
+ f12 = f13/f12;
+ f13 = f14/f15;
+ f14 = heapFloat[(r4+3)];
+ f15 = f16/f15;
+ f8 = f8+f17;
+ f10 = f10+f11;
+ f13 = f13+f14;
+ f9 = f9+f17;
+ f11 = f12+f11;
+ f12 = f15+f14;
+}
+ f8 = f9+f8;
+ f9 = f11+f10;
+ f10 = f12+f13;
+ f8 = f8*f4;
+ f9 = f9*f4;
+ f10 = f10*f4;
+ f8 = f8-f6;
+ f9 = f9-f7;
+ f10 = f10-f5;
+ f8 = f8*f8;
+ f9 = f9*f9;
+ f10 = f10*f10;
+ r6 = (r6 + 1)|0;
+ f3 = f3+f8;
+ f2 = f2+f9;
+ f1 = f1+f10;
+if(!(r1 !=r6)) //_LBB154_17
+{
+break _5;
+}
+}
+}
+else{
+ f1 = 0;
+ f2 = f1;
+ f3 = f1;
+}
+}
+else{
+ f0 = r2; //fitos r2, f0
+ f1 = 0;
+ f2 = f1;
+ f3 = f1;
+}
+} while(0);
+ f4 = -1;
+ f5 = 1;
+ f0 = f0+f4;
+ f0 = f5/f0;
+ f3 = f3*f0;
+ f2 = f2*f0;
+ f0 = f1*f0;
+ if(f3 >=f2) //_LBB154_23
+{
+ r6 = 2;
+ r7 = 0;
+ r6 = f3 < f0 ? r6 : r7;
+}
+else{
+ r6 = 2;
+ r7 = 1;
+ r6 = f2 < f0 ? r6 : r7;
+}
+ r7 = sp + -32;
+ r8 = r7 >> 2;
+ heap32[(fp+-8)] = 0;
+ heap32[(r8+1)] = 0;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 0;
+ if(r0 <r1) //_LBB154_26
+{
+ r9 = heapU8[r3+60];
+ f0 = 0;
+ r10 = r0;
+ f1 = f0;
+ f2 = f0;
+_31: while(true){
+ r11 = r9 & 255;
+ if(r11 ==0) //_LBB154_29
+{
+ r11 = heap32[(r4+19)];
+ r12 = r10 << 6;
+ r11 = (r11 + r12)|0;
+ r11 = r11 >> 2;
+ f3 = heapFloat[(r11)];
+ f6 = heapFloat[(r11+1)];
+ f9 = heapFloat[(r11+2)];
+ f4 = heapFloat[(r11+4)];
+ f7 = heapFloat[(r11+5)];
+ f8 = heapFloat[(r11+6)];
+}
+else{
+ r11 = heap32[(r4+29)];
+ r12 = r10 << 4;
+ r13 = (r11 + r12)|0;
+ r11 = heapU16[(r11+r12)>>1];
+ r12 = heapU16[(r13+2)>>1];
+ r14 = heapU16[(r13+4)>>1];
+ r15 = heapU16[(r13+6)>>1];
+ r16 = heapU16[(r13+8)>>1];
+ r13 = heapU16[(r13+10)>>1];
+ f3 = uint(r11); //fuitos r11, f3
+ f4 = heapFloat[(r4+9)];
+ f6 = uint(r15); //fuitos r15, f6
+ f7 = uint(r12); //fuitos r12, f7
+ f8 = heapFloat[(r4+10)];
+ f9 = uint(r16); //fuitos r16, f9
+ f10 = uint(r14); //fuitos r14, f10
+ f11 = heapFloat[(r4+11)];
+ f12 = uint(r13); //fuitos r13, f12
+ f3 = f3/f4;
+ f13 = heapFloat[(r4+1)];
+ f4 = f6/f4;
+ f6 = f7/f8;
+ f7 = heapFloat[(r4+2)];
+ f8 = f9/f8;
+ f9 = f10/f11;
+ f10 = heapFloat[(r4+3)];
+ f11 = f12/f11;
+ f3 = f3+f13;
+ f6 = f6+f7;
+ f9 = f9+f10;
+ f4 = f4+f13;
+ f7 = f8+f7;
+ f8 = f11+f10;
+}
+ f3 = f4+f3;
+ f4 = 0.5;
+ f6 = f7+f6;
+ f7 = f8+f9;
+ f3 = f3*f4;
+ f6 = f6*f4;
+ f4 = f7*f4;
+ r10 = (r10 + 1)|0;
+ f2 = f2+f3;
+ f1 = f1+f6;
+ f0 = f0+f4;
+if(!(r1 !=r10)) //_LBB154_27
+{
+break _31;
+}
+}
+ heapFloat[(r8+2)] = f0;
+ heapFloat[(r8+1)] = f1;
+ heapFloat[(fp+-8)] = f2;
+}
+else{
+ f0 = 0;
+ f1 = f0;
+ f2 = f0;
+}
+ f3 = r2; //fitos r2, f3
+ f3 = f5/f3;
+ f2 = f2*f3;
+ f1 = f1*f3;
+ heapFloat[(fp+-8)] = f2;
+ f0 = f0*f3;
+ heapFloat[(r8+1)] = f1;
+ heapFloat[(r8+2)] = f0;
+_40: do {
+ if(r0 <r1) //_LBB154_34
+{
+ r8 = r6 << 2;
+ r6 = (r7 + r8)|0;
+ r6 = r6 >> 2;
+ f0 = heapFloat[(r6)];
+ r6 = r0 << 4;
+ r7 = (r0 - r1)|0;
+ r9 = r0 << 6;
+ r10 = r6 | 12;
+ r11 = 0;
+ r12 = r9;
+ r6 = r0;
+_42: while(true){
+ r13 = heapU8[r3+60];
+ if(r13 ==0) //_LBB154_37
+{
+ r14 = r11 << 4;
+ r15 = heap32[(r4+19)];
+ r15 = (r15 + r9)|0;
+ r14 = r14 << 2;
+ r14 = (r15 - r14)|0;
+ r14 = r14 >> 2;
+ f1 = heapFloat[(r14)];
+ f3 = heapFloat[(r14+1)];
+ f6 = heapFloat[(r14+2)];
+ f2 = heapFloat[(r14+4)];
+ f4 = heapFloat[(r14+5)];
+ f5 = heapFloat[(r14+6)];
+}
+else{
+ r14 = heap32[(r4+29)];
+ r14 = (r14 + r10)|0;
+ r15 = r11 << 4;
+ r14 = (r14 - r15)|0;
+ r15 = heapU16[(r14+-12)>>1];
+ r16 = heapU16[(r14+-10)>>1];
+ r17 = heapU16[(r14+-8)>>1];
+ r18 = heapU16[(r14+-6)>>1];
+ r19 = heapU16[(r14+-4)>>1];
+ r14 = heapU16[(r14+-2)>>1];
+ f1 = uint(r15); //fuitos r15, f1
+ f2 = heapFloat[(r4+9)];
+ f3 = uint(r18); //fuitos r18, f3
+ f4 = uint(r16); //fuitos r16, f4
+ f5 = heapFloat[(r4+10)];
+ f6 = uint(r19); //fuitos r19, f6
+ f7 = uint(r17); //fuitos r17, f7
+ f8 = heapFloat[(r4+11)];
+ f9 = uint(r14); //fuitos r14, f9
+ f1 = f1/f2;
+ f10 = heapFloat[(r4+1)];
+ f2 = f3/f2;
+ f3 = f4/f5;
+ f4 = heapFloat[(r4+2)];
+ f5 = f6/f5;
+ f6 = f7/f8;
+ f7 = heapFloat[(r4+3)];
+ f8 = f9/f8;
+ f1 = f1+f10;
+ f3 = f3+f4;
+ f6 = f6+f7;
+ f2 = f2+f10;
+ f4 = f5+f4;
+ f5 = f8+f7;
+}
+ f1 = f2+f1;
+ f2 = 0.5;
+ r14 = sp + -48;
+ f3 = f4+f3;
+ f1 = f1*f2;
+ f4 = f5+f6;
+ r15 = r14 >> 2;
+ f3 = f3*f2;
+ heapFloat[(fp+-12)] = f1;
+ f1 = f4*f2;
+ heapFloat[(r15+1)] = f3;
+ r14 = (r14 + r8)|0;
+ heapFloat[(r15+2)] = f1;
+ r14 = r14 >> 2;
+ heap32[(r15+3)] = 0;
+ f1 = heapFloat[(r14)];
+ if(f1 >f0) //_LBB154_40
+{
+ if(r13 ==0) //_LBB154_42
+{
+ r13 = r11 << 4;
+ r14 = heap32[(r4+19)];
+ r15 = (r14 + r9)|0;
+ r13 = r13 << 2;
+ r13 = (r15 - r13)|0;
+ r13 = r13 >> 2;
+ r15 = heap32[(r13+15)];
+ r16 = heap32[(r13+14)];
+ r17 = heap32[(r13+13)];
+ r18 = heap32[(r13+12)];
+ r19 = heap32[(r13+11)];
+ r20 = heap32[(r13+10)];
+ r21 = heap32[(r13+9)];
+ r22 = heap32[(r13+8)];
+ f1 = heapFloat[(r13+7)];
+ f2 = heapFloat[(r13+6)];
+ f3 = heapFloat[(r13+5)];
+ f4 = heapFloat[(r13+4)];
+ f5 = heapFloat[(r13+3)];
+ f6 = heapFloat[(r13+2)];
+ f7 = heapFloat[(r13+1)];
+ f8 = heapFloat[(r13)];
+ r13 = r6 << 6;
+ r23 = (r14 + r12)|0;
+ r14 = (r14 + r13)|0;
+ heap32[(g0)] = r23;
+ heap32[(g0+1)] = r14;
+ heap32[(g0+2)] = 64;
+ memcpy(i7);
+ r14 = heap32[(r4+19)];
+ r13 = (r14 + r13)|0;
+ r13 = r13 >> 2;
+ heapFloat[(r13)] = f8;
+ heapFloat[(r13+1)] = f7;
+ heapFloat[(r13+2)] = f6;
+ heapFloat[(r13+3)] = f5;
+ heapFloat[(r13+4)] = f4;
+ heapFloat[(r13+5)] = f3;
+ heapFloat[(r13+6)] = f2;
+ heapFloat[(r13+7)] = f1;
+ heap32[(r13+8)] = r22;
+ heap32[(r13+9)] = r21;
+ heap32[(r13+10)] = r20;
+ heap32[(r13+11)] = r19;
+ heap32[(r13+12)] = r18;
+ heap32[(r13+13)] = r17;
+ heap32[(r13+14)] = r16;
+ heap32[(r13+15)] = r15;
+}
+else{
+ r13 = heap32[(r4+29)];
+ r14 = (r13 + r10)|0;
+ r15 = r11 << 4;
+ r14 = (r14 - r15)|0;
+ r15 = r6 << 4;
+ r16 = r14 >> 2;
+ r17 = heap32[(r16)];
+ r18 = heapU16[(r14+-2)>>1];
+ r19 = heapU16[(r14+-4)>>1];
+ r20 = heapU16[(r14+-6)>>1];
+ r21 = heapU16[(r14+-8)>>1];
+ r22 = heapU16[(r14+-10)>>1];
+ r23 = heapU16[(r13+r15)>>1];
+ r24 = heapU16[(r14+-12)>>1];
+ r13 = (r13 + r15)|0;
+ heap16[(r14+-12)>>1] = r23;
+ r23 = heapU16[(r13+2)>>1];
+ heap16[(r14+-10)>>1] = r23;
+ r23 = heapU16[(r13+4)>>1];
+ heap16[(r14+-8)>>1] = r23;
+ r23 = heapU16[(r13+6)>>1];
+ heap16[(r14+-6)>>1] = r23;
+ r23 = heapU16[(r13+8)>>1];
+ heap16[(r14+-4)>>1] = r23;
+ r23 = heapU16[(r13+10)>>1];
+ r13 = r13 >> 2;
+ heap16[(r14+-2)>>1] = r23;
+ r13 = heap32[(r13+3)];
+ heap32[(r16)] = r13;
+ r13 = heap32[(r4+29)];
+ r14 = (r13 + r15)|0;
+ heap16[(r13+r15)>>1] = r24;
+ heap16[(r14+2)>>1] = r22;
+ heap16[(r14+4)>>1] = r21;
+ heap16[(r14+6)>>1] = r20;
+ heap16[(r14+8)>>1] = r19;
+ r13 = r14 >> 2;
+ heap16[(r14+10)>>1] = r18;
+ heap32[(r13+3)] = r17;
+}
+ r6 = (r6 + 1)|0;
+}
+ r11 = (r11 + -1)|0;
+ r12 = (r12 + 64)|0;
+if(!(r7 !=r11)) //_LBB154_35
+{
+break _40;
+}
+}
+}
+else{
+ r6 = r0;
+}
+} while(0);
+ r7 = (r2 / 3)|0;
+ r8 = (r7 + r0)|0;
+ if(r8 >=r6) //_LBB154_48
+{
+__label__ = 46;
+}
+else{
+ r8 = (r1 + -1)|0;
+ r7 = (r8 - r7)|0;
+ if(r7 <=r6) //_LBB154_48
+{
+__label__ = 46;
+}
+else{
+__label__ = 47;
+}
+}
+if (__label__ == 46){
+ r6 = r2 >> 1;
+ r6 = (r6 + r0)|0;
+}
+if(!(r6 ==r0)) //_LBB154_51
+{
+ if(r6 !=r1) //_LBB154_52
+{
+ r2 = heap32[(r4+14)];
+ heap32[(fp+-21)] = r2;
+ r2 = heapU8[r3+60];
+ if(r2 ==0) //_LBB154_54
+{
+ r2 = heap32[(fp+-21)];
+ r2 = r2 << 6;
+ r7 = heap32[(r4+24)];
+ r2 = (r7 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = heap32[(r4+5)];
+ heap32[(r2+1)] = heap32[(r4+6)];
+ heap32[(r2+2)] = heap32[(r4+7)];
+ heap32[(r2+3)] = heap32[(r4+8)];
+}
+else{
+ r2 = heap32[(r4+34)];
+ r7 = heap32[(fp+-21)];
+ r7 = r7 << 4;
+ r2 = (r2 + r7)|0;
+ r7 = (r3 + 20)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = 0;
+ _ZNK14btQuantizedBvh8quantizeEPtRK9btVector3i(i7);
+}
+ r2 = heap32[(r4+14)];
+ r7 = heapU8[r3+60];
+ if(r7 ==0) //_LBB154_57
+{
+ r2 = r2 << 6;
+ r7 = heap32[(r4+24)];
+ r2 = (r7 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2+4)] = heap32[(r4+1)];
+ heap32[(r2+5)] = heap32[(r4+2)];
+ heap32[(r2+6)] = heap32[(r4+3)];
+ heap32[(r2+7)] = heap32[(r4+4)];
+}
+else{
+ r7 = heap32[(r4+34)];
+ r2 = r2 << 4;
+ r2 = (r7 + r2)|0;
+ r2 = (r2 + 6)|0;
+ r7 = (r3 + 4)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = 1;
+ _ZNK14btQuantizedBvh8quantizeEPtRK9btVector3i(i7);
+}
+_73: do {
+if(!(r0 >=r1)) //_LBB154_95
+{
+ r2 = r0;
+_75: while(true){
+ r7 = heapU8[r3+60];
+_77: do {
+ if(r7 ==0) //_LBB154_69
+{
+ r7 = heap32[(r4+19)];
+ r8 = r2 << 6;
+ r7 = (r7 + r8)|0;
+ r7 = r7 >> 2;
+ f0 = heapFloat[(r7+4)];
+ r8 = sp + -80;
+ heapFloat[(fp+-20)] = f0;
+ f1 = heapFloat[(r7+5)];
+ r8 = r8 >> 2;
+ heapFloat[(r8+1)] = f1;
+ f2 = heapFloat[(r7+6)];
+ heapFloat[(r8+2)] = f2;
+ f3 = heapFloat[(r7+7)];
+ heapFloat[(r8+3)] = f3;
+ f4 = heapFloat[(r7)];
+ r8 = sp + -64;
+ heapFloat[(fp+-16)] = f4;
+ f5 = heapFloat[(r7+1)];
+ r8 = r8 >> 2;
+ heapFloat[(r8+1)] = f5;
+ f6 = heapFloat[(r7+2)];
+ heapFloat[(r8+2)] = f6;
+ f7 = heapFloat[(r7+3)];
+ heapFloat[(r8+3)] = f7;
+ r7 = heap32[(r4+14)];
+ r8 = heap32[(r4+24)];
+ r7 = r7 << 6;
+ r8 = (r8 + r7)|0;
+ r8 = r8 >> 2;
+ f8 = heapFloat[(r8)];
+if(!(f4 >=f8)) //_LBB154_71
+{
+ heapFloat[(r8)] = f4;
+}
+ f4 = heapFloat[(r8+1)];
+if(!(f5 >=f4)) //_LBB154_73
+{
+ heapFloat[(r8+1)] = f5;
+}
+ f4 = heapFloat[(r8+2)];
+if(!(f6 >=f4)) //_LBB154_75
+{
+ heapFloat[(r8+2)] = f6;
+}
+ f4 = heapFloat[(r8+3)];
+if(!(f7 >=f4)) //_LBB154_77
+{
+ heapFloat[(r8+3)] = f7;
+}
+ r8 = heap32[(r4+24)];
+ r7 = (r8 + r7)|0;
+ r7 = r7 >> 2;
+ f4 = heapFloat[(r7+4)];
+if(!(f4 >=f0)) //_LBB154_79
+{
+ heapFloat[(r7+4)] = f0;
+}
+ f0 = heapFloat[(r7+5)];
+if(!(f0 >=f1)) //_LBB154_81
+{
+ heapFloat[(r7+5)] = f1;
+}
+ f0 = heapFloat[(r7+6)];
+if(!(f0 >=f2)) //_LBB154_83
+{
+ heapFloat[(r7+6)] = f2;
+}
+ f0 = heapFloat[(r7+7)];
+ if(f0 >=f3) //_LBB154_94
+{
+break _77;
+}
+else{
+ heapFloat[(r7+7)] = f3;
+}
+}
+else{
+ r7 = heap32[(r4+29)];
+ r8 = r2 << 4;
+ r9 = (r7 + r8)|0;
+ r10 = sp + -80;
+ r11 = heapU16[(r9+10)>>1];
+ r12 = heapU16[(r9+8)>>1];
+ r13 = heapU16[(r9+6)>>1];
+ f0 = heapFloat[(r4+11)];
+ f1 = heapFloat[(r4+10)];
+ f2 = heapFloat[(r4+9)];
+ r14 = r10 >> 2;
+ f3 = uint(r13); //fuitos r13, f3
+ heap32[(r14+3)] = 0;
+ f3 = f3/f2;
+ f4 = heapFloat[(r4+1)];
+ f3 = f3+f4;
+ f5 = uint(r12); //fuitos r12, f5
+ heapFloat[(fp+-20)] = f3;
+ f3 = f5/f1;
+ f5 = heapFloat[(r4+2)];
+ f3 = f3+f5;
+ f6 = uint(r11); //fuitos r11, f6
+ heapFloat[(r14+1)] = f3;
+ f3 = f6/f0;
+ f6 = heapFloat[(r4+3)];
+ f3 = f3+f6;
+ heapFloat[(r14+2)] = f3;
+ r7 = heapU16[(r7+r8)>>1];
+ r8 = sp + -64;
+ f3 = uint(r7); //fuitos r7, f3
+ r7 = heapU16[(r9+4)>>1];
+ r9 = heapU16[(r9+2)>>1];
+ f7 = uint(r9); //fuitos r9, f7
+ f2 = f3/f2;
+ r9 = r8 >> 2;
+ f3 = uint(r7); //fuitos r7, f3
+ f1 = f7/f1;
+ f2 = f2+f4;
+ heap32[(r9+3)] = 0;
+ f0 = f3/f0;
+ f1 = f1+f5;
+ heapFloat[(fp+-16)] = f2;
+ f0 = f0+f6;
+ heapFloat[(r9+1)] = f1;
+ heapFloat[(r9+2)] = f0;
+ r7 = heap32[(r4+14)];
+ r9 = sp + -6;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = 0;
+ _ZNK14btQuantizedBvh8quantizeEPtRK9btVector3i(i7);
+ r8 = sp + -12;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = 1;
+ _ZNK14btQuantizedBvh8quantizeEPtRK9btVector3i(i7);
+ r8 = heapU16[(sp+-6)>>1];
+ r9 = heap32[(r4+34)];
+ r7 = r7 << 4;
+ r10 = heapU16[(r9+r7)>>1];
+ if(uint(r10) >uint(r8)) //_LBB154_63
+{
+ heap16[(r9+r7)>>1] = r8;
+ r9 = heap32[(r4+34)];
+}
+ r8 = (r9 + r7)|0;
+ r10 = heapU16[(sp+-12)>>1];
+ r11 = heapU16[(r8+6)>>1];
+ if(uint(r11) <uint(r10)) //_LBB154_66
+{
+ heap16[(r8+6)>>1] = r10;
+ r9 = heap32[(r4+34)];
+}
+ r8 = (r9 + r7)|0;
+ r10 = heapU16[(sp+-4)>>1];
+ r11 = heapU16[(r8+2)>>1];
+ if(uint(r11) >uint(r10)) //_LBB154_89
+{
+ heap16[(r8+2)>>1] = r10;
+ r9 = heap32[(r4+34)];
+}
+ r8 = (r9 + r7)|0;
+ r10 = heapU16[(sp+-10)>>1];
+ r11 = heapU16[(r8+8)>>1];
+ if(uint(r11) <uint(r10)) //_LBB154_90
+{
+ heap16[(r8+8)>>1] = r10;
+ r9 = heap32[(r4+34)];
+}
+ r8 = (r9 + r7)|0;
+ r10 = heapU16[(sp+-2)>>1];
+ r11 = heapU16[(r8+4)>>1];
+ if(uint(r11) >uint(r10)) //_LBB154_92
+{
+ heap16[(r8+4)>>1] = r10;
+ r9 = heap32[(r4+34)];
+}
+ r7 = (r9 + r7)|0;
+ r8 = heapU16[(sp+-8)>>1];
+ r9 = heapU16[(r7+10)>>1];
+ if(uint(r9) <uint(r8)) //_LBB154_93
+{
+ heap16[(r7+10)>>1] = r8;
+}
+}
+} while(0);
+ r2 = (r2 + 1)|0;
+if(!(r1 !=r2)) //_LBB154_60
+{
+break _73;
+}
+}
+}
+} while(0);
+ r2 = heap32[(r4+14)];
+ r7 = (r2 + 1)|0;
+ heap32[(r4+14)] = r7;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r6;
+ _ZN14btQuantizedBvh9buildTreeEii(i7);
+ r0 = heap32[(r4+14)];
+ heap32[(fp+-23)] = r0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r1;
+ _ZN14btQuantizedBvh9buildTreeEii(i7);
+ r0 = heap32[(r4+14)];
+ r0 = (r0 - r5)|0;
+ heap32[(fp+-22)] = r0;
+ r0 = heapU8[r3+60];
+_120: do {
+if(!(r0 ==0)) //_LBB154_143
+{
+ r0 = heap32[(fp+-22)];
+ r0 = r0 << 4;
+if(!(r0 <2049)) //_LBB154_142
+{
+ r0 = heap32[(r4+34)];
+ r1 = heap32[(fp+-23)];
+ r1 = r1 << 4;
+ heap32[(fp+-24)] = r1;
+ r2 = r2 << 4;
+ r1 = (r0 + r1)|0;
+ r2 = (r0 + r2)|0;
+ r5 = r1 >> 2;
+ r6 = r2 >> 2;
+ r5 = heap32[(r5+3)];
+ r8 = 0;
+ r6 = heap32[(r6+7)];
+ r9 = 1;
+ r10 = (r8 - r6)|0;
+ r6 = r6 < 0 ? r10 : r9;
+ r10 = r6 << 4;
+if(!(r10 >2048)) //_LBB154_119
+{
+ r10 = heap32[(r4+39)];
+ r11 = heap32[(r4+38)];
+ if(r10 ==r11) //_LBB154_100
+{
+ r12 = r11 << 1;
+ r12 = r11 == 0 ? r9 : r12;
+ if(r10 >=r12) //_LBB154_99
+{
+__label__ = 92;
+}
+else{
+ if(r12 !=0) //_LBB154_103
+{
+ r10 = gNumAlignedAllocs;
+ r10 = r10 >> 2;
+ r13 = heap32[(r10)];
+ r13 = (r13 + 1)|0;
+ r14 = r12 << 5;
+ heap32[(r10)] = r13;
+ r10 = r14 | 19;
+ heap32[(g0)] = r10;
+ malloc(i7);
+ r13 = r_g0;
+ if(r13 !=0) //_LBB154_105
+{
+ r10 = 0;
+ r14 = (r13 + 4)|0;
+ r10 = (r10 - r14)|0;
+ r10 = r10 & 15;
+ r10 = (r13 + r10)|0;
+ r14 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r13;
+ r13 = r14;
+}
+}
+else{
+ r13 = 0;
+}
+ r14 = (r3 + 160)|0;
+ if(r11 <1) //_LBB154_108
+{
+ r10 = r14 >> 2;
+ r16 = heap32[(r10)];
+}
+else{
+ r10 = 0;
+ r15 = r11;
+_137: while(true){
+ r16 = r14 >> 2;
+ r16 = heap32[(r16)];
+ r17 = (r16 + r10)|0;
+ r17 = r17 >> 2;
+ r18 = (r13 + r10)|0;
+ r15 = (r15 + -1)|0;
+ r10 = (r10 + 32)|0;
+ r19 = heap32[(r17)];
+ r18 = r18 >> 2;
+ r20 = heap32[(r17+1)];
+ r21 = heap32[(r17+2)];
+ r22 = heap32[(r17+3)];
+ r23 = heap32[(r17+4)];
+ r24 = heap32[(r17+5)];
+ r25 = heap32[(r17+6)];
+ r17 = heap32[(r17+7)];
+ heap32[(r18)] = r19;
+ heap32[(r18+1)] = r20;
+ heap32[(r18+2)] = r21;
+ heap32[(r18+3)] = r22;
+ heap32[(r18+4)] = r23;
+ heap32[(r18+5)] = r24;
+ heap32[(r18+6)] = r25;
+ heap32[(r18+7)] = r17;
+if(!(r15 !=0)) //_LBB154_109
+{
+break _137;
+}
+}
+ r14 = (r3 + 160)|0;
+}
+ if(r16 !=0) //_LBB154_113
+{
+ r10 = heapU8[r3+164];
+ if(r10 !=0) //_LBB154_115
+{
+ r10 = gNumAlignedFree;
+ r10 = r10 >> 2;
+ r15 = heap32[(r10)];
+ r15 = (r15 + 1)|0;
+ r16 = r16 >> 2;
+ heap32[(r10)] = r15;
+ r10 = heap32[(r16+-1)];
+ heap32[(g0)] = r10;
+ free(i7);
+ r10 = heap32[(r4+38)];
+}
+else{
+ r10 = r11;
+}
+ r15 = r14 >> 2;
+ heap32[(r15)] = 0;
+}
+else{
+ r10 = r11;
+}
+ r14 = r14 >> 2;
+ heap8[r3+164] = r9;
+ heap32[(r14)] = r13;
+ heap32[(r4+39)] = r12;
+__label__ = 110;
+}
+}
+else{
+__label__ = 92;
+}
+if (__label__ == 92){
+ r10 = r11;
+}
+ r10 = (r10 + 1)|0;
+ heap32[(r4+38)] = r10;
+ r10 = heap32[(r4+40)];
+ r12 = heapU16[(r2+16)>>1];
+ r11 = r11 << 5;
+ heap16[(r10+r11)>>1] = r12;
+ r10 = (r10 + r11)|0;
+ r11 = heapU16[(r2+18)>>1];
+ heap16[(r10+2)>>1] = r11;
+ r11 = heapU16[(r2+20)>>1];
+ heap16[(r10+4)>>1] = r11;
+ r11 = heapU16[(r2+22)>>1];
+ heap16[(r10+6)>>1] = r11;
+ r11 = heapU16[(r2+24)>>1];
+ heap16[(r10+8)>>1] = r11;
+ r2 = heapU16[(r2+26)>>1];
+ r11 = r10 >> 2;
+ heap16[(r10+10)>>1] = r2;
+ heap32[(r11+3)] = r7;
+ heap32[(r11+4)] = r6;
+}
+ r2 = (r8 - r5)|0;
+ r2 = r5 < 0 ? r2 : r9;
+ r5 = r2 << 4;
+if(!(r5 >2048)) //_LBB154_141
+{
+ r5 = heap32[(r4+39)];
+ r6 = heap32[(r4+38)];
+ if(r5 ==r6) //_LBB154_122
+{
+ r7 = r6 << 1;
+ r7 = r6 == 0 ? r9 : r7;
+ if(r5 >=r7) //_LBB154_121
+{
+__label__ = 113;
+}
+else{
+ if(r7 !=0) //_LBB154_125
+{
+ r5 = gNumAlignedAllocs;
+ r5 = r5 >> 2;
+ r10 = heap32[(r5)];
+ r10 = (r10 + 1)|0;
+ r11 = r7 << 5;
+ heap32[(r5)] = r10;
+ r5 = r11 | 19;
+ heap32[(g0)] = r5;
+ malloc(i7);
+ r10 = r_g0;
+ if(r10 !=0) //_LBB154_127
+{
+ r5 = (r10 + 4)|0;
+ r5 = (r8 - r5)|0;
+ r5 = r5 & 15;
+ r5 = (r10 + r5)|0;
+ r11 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r10;
+ r10 = r11;
+}
+}
+else{
+ r10 = 0;
+}
+ r11 = (r3 + 160)|0;
+ if(r6 <1) //_LBB154_130
+{
+ r5 = r11 >> 2;
+ r12 = heap32[(r5)];
+}
+else{
+ r5 = r6;
+_166: while(true){
+ r12 = r11 >> 2;
+ r12 = heap32[(r12)];
+ r13 = (r12 + r8)|0;
+ r13 = r13 >> 2;
+ r14 = (r10 + r8)|0;
+ r5 = (r5 + -1)|0;
+ r8 = (r8 + 32)|0;
+ r15 = heap32[(r13)];
+ r14 = r14 >> 2;
+ r16 = heap32[(r13+1)];
+ r17 = heap32[(r13+2)];
+ r18 = heap32[(r13+3)];
+ r19 = heap32[(r13+4)];
+ r20 = heap32[(r13+5)];
+ r21 = heap32[(r13+6)];
+ r13 = heap32[(r13+7)];
+ heap32[(r14)] = r15;
+ heap32[(r14+1)] = r16;
+ heap32[(r14+2)] = r17;
+ heap32[(r14+3)] = r18;
+ heap32[(r14+4)] = r19;
+ heap32[(r14+5)] = r20;
+ heap32[(r14+6)] = r21;
+ heap32[(r14+7)] = r13;
+if(!(r5 !=0)) //_LBB154_131
+{
+break _166;
+}
+}
+ r11 = (r3 + 160)|0;
+}
+ if(r12 !=0) //_LBB154_135
+{
+ r5 = heapU8[r3+164];
+ if(r5 !=0) //_LBB154_137
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r8 = heap32[(r5)];
+ r8 = (r8 + 1)|0;
+ r12 = r12 >> 2;
+ heap32[(r5)] = r8;
+ r5 = heap32[(r12+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+ r5 = heap32[(r4+38)];
+}
+else{
+ r5 = r6;
+}
+ r8 = r11 >> 2;
+ heap32[(r8)] = 0;
+}
+else{
+ r5 = r6;
+}
+ r8 = r11 >> 2;
+ heap8[r3+164] = r9;
+ heap32[(r8)] = r10;
+ heap32[(r4+39)] = r7;
+__label__ = 131;
+}
+}
+else{
+__label__ = 113;
+}
+if (__label__ == 113){
+ r5 = r6;
+}
+ r5 = (r5 + 1)|0;
+ heap32[(r4+38)] = r5;
+ r5 = heap32[(r4+40)];
+ r7 = heap32[(fp+-24)];
+ r0 = heapU16[(r0+r7)>>1];
+ r6 = r6 << 5;
+ heap16[(r5+r6)>>1] = r0;
+ r0 = (r5 + r6)|0;
+ r5 = heapU16[(r1+2)>>1];
+ heap16[(r0+2)>>1] = r5;
+ r5 = heapU16[(r1+4)>>1];
+ heap16[(r0+4)>>1] = r5;
+ r5 = heapU16[(r1+6)>>1];
+ heap16[(r0+6)>>1] = r5;
+ r5 = heapU16[(r1+8)>>1];
+ heap16[(r0+8)>>1] = r5;
+ r1 = heapU16[(r1+10)>>1];
+ r5 = r0 >> 2;
+ heap16[(r0+10)>>1] = r1;
+ r0 = heap32[(fp+-23)];
+ heap32[(r5+3)] = r0;
+ heap32[(r5+4)] = r2;
+}
+ r0 = heap32[(r4+38)];
+ heap32[(r4+42)] = r0;
+ r0 = heapU8[r3+60];
+ if(r0 ==0) //_LBB154_143
+{
+break _120;
+}
+}
+ r0 = heap32[(fp+-21)];
+ r0 = r0 << 4;
+ r4 = heap32[(r4+34)];
+ r4 = (r4 + r0)|0;
+ r0 = 0;
+ r4 = r4 >> 2;
+ r1 = heap32[(fp+-22)];
+ r0 = (r0 - r1)|0;
+ heap32[(r4+3)] = r0;
+ return;
+}
+} while(0);
+ r0 = heap32[(fp+-21)];
+ r0 = r0 << 6;
+ r1 = heap32[(r4+24)];
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+-22)];
+ heap32[(r0+8)] = r1;
+ return;
+}
+}
+ r0 = _2E_str21;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 278;
+ _assert(i7);
+}
+else{
+ r1 = heapU8[r3+60];
+ if(r1 ==0) //_LBB154_5
+{
+ r1 = heap32[(r4+24)];
+ r2 = heap32[(r4+19)];
+ r3 = r5 << 6;
+ r0 = r0 << 6;
+ r1 = (r1 + r3)|0;
+ r0 = (r2 + r0)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 64;
+ memcpy(i7);
+}
+else{
+ r0 = r0 << 4;
+ r1 = heap32[(r4+29)];
+ r2 = heap32[(r4+34)];
+ r3 = heapU16[(r1+r0)>>1];
+ r5 = r5 << 4;
+ r0 = (r1 + r0)|0;
+ heap16[(r2+r5)>>1] = r3;
+ r1 = (r2 + r5)|0;
+ r2 = heapU16[(r0+2)>>1];
+ heap16[(r1+2)>>1] = r2;
+ r2 = heapU16[(r0+4)>>1];
+ heap16[(r1+4)>>1] = r2;
+ r2 = heapU16[(r0+6)>>1];
+ heap16[(r1+6)>>1] = r2;
+ r2 = heapU16[(r0+8)>>1];
+ heap16[(r1+8)>>1] = r2;
+ r2 = heapU16[(r0+10)>>1];
+ r0 = r0 >> 2;
+ heap16[(r1+10)>>1] = r2;
+ r1 = r1 >> 2;
+ r0 = heap32[(r0+3)];
+ heap32[(r1+3)] = r0;
+}
+ r0 = heap32[(r4+14)];
+ r0 = (r0 + 1)|0;
+ heap32[(r4+14)] = r0;
+ return;
+}
+}
+else{
+ r0 = _2E_str2246;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 127;
+ _assert(i7);
+}
+}
+
+function _ZNK14btQuantizedBvh36walkStacklessQuantizedTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+var __label__ = 0;
+ i7 = sp + -96;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+60];
+ if(r1 !=0) //_LBB155_2
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r4 = heap32[(fp+4)];
+ r5 = heap32[(fp+5)];
+ r6 = heap32[(fp+6)];
+ r3 = r3 >> 2;
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r3)];
+ f1 = heapFloat[(r2)];
+ f2 = heapFloat[(r3+1)];
+ f3 = heapFloat[(r2+1)];
+ f0 = f0-f1;
+ r7 = r0 >> 2;
+ f1 = f2-f3;
+ f2 = heapFloat[(r3+2)];
+ f3 = heapFloat[(r2+2)];
+ r8 = heap32[(r7+34)];
+ f2 = f2-f3;
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f4 = 1;
+ f3 = f4/f_g0;
+ f5 = heapFloat[(r3)];
+ f6 = heapFloat[(r2)];
+ f7 = heapFloat[(r3+1)];
+ f8 = heapFloat[(r2+1)];
+ f0 = f0*f3;
+ f9 = f5-f6;
+ f1 = f1*f3;
+ f10 = f7-f8;
+ f11 = heapFloat[(r3+2)];
+ f12 = heapFloat[(r2+2)];
+ f2 = f2*f3;
+ f3 = f11-f12;
+ f9 = f0*f9;
+ f10 = f1*f10;
+ f9 = f9+f10;
+ f3 = f2*f3;
+ f3 = f9+f3;
+ f9 = 0;
+ if(f0 !=f9) //_LBB155_4
+{
+ f0 = f4/f0;
+}
+else{
+ f0 = 999999984306749440;
+}
+ if(f1 !=f9) //_LBB155_7
+{
+ f1 = f4/f1;
+}
+else{
+ f1 = 999999984306749440;
+}
+ if(f2 !=f9) //_LBB155_10
+{
+ f2 = f4/f2;
+}
+else{
+ f2 = 999999984306749440;
+}
+ r9 = heapU8[r0+60];
+ if(r9 !=0) //_LBB155_13
+{
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ r9 = f0 < f9;
+ r10 = f1 < f9;
+ r11 = f2 < f9;
+ f4 = heapFloat[(r2+3)];
+ f10 = heapFloat[(r3+3)];
+ f13 = f5 < f6 ? f5 : f6;
+ f14 = heapFloat[(r4)];
+ f15 = f7 < f8 ? f7 : f8;
+ f16 = heapFloat[(r4+1)];
+ f17 = f11 < f12 ? f11 : f12;
+ f18 = heapFloat[(r4+2)];
+ f5 = f6 < f5 ? f5 : f6;
+ f6 = heapFloat[(r5)];
+ f7 = f8 < f7 ? f7 : f8;
+ f8 = heapFloat[(r5+1)];
+ f11 = f12 < f11 ? f11 : f12;
+ f12 = heapFloat[(r5+2)];
+ r3 = r9 & 1;
+ r9 = r10 & 1;
+ r10 = r11 & 1;
+ f19 = f10 < f4 ? f10 : f4;
+ f4 = f4 < f10 ? f10 : f4;
+ f10 = f13+f14;
+ f13 = f15+f16;
+ f14 = f17+f18;
+ f5 = f5+f6;
+ f6 = f7+f8;
+ f7 = f11+f12;
+ r11 = sp + -16;
+ r12 = r11 >> 2;
+ heapFloat[(fp+-4)] = f10;
+ heapFloat[(r12+1)] = f13;
+ heapFloat[(r12+2)] = f14;
+ heapFloat[(r12+3)] = f19;
+ f8 = heapFloat[(r7+1)];
+ if(f10 <f8) //_LBB155_15
+{
+ heapFloat[(fp+-4)] = f8;
+ f10 = f8;
+}
+ f8 = heapFloat[(r7+2)];
+ if(f13 <f8) //_LBB155_18
+{
+ heapFloat[(r12+1)] = f8;
+ f13 = f8;
+}
+ f8 = heapFloat[(r7+3)];
+ if(f14 <f8) //_LBB155_21
+{
+ heapFloat[(r12+2)] = f8;
+ f14 = f8;
+}
+ f8 = heapFloat[(r7+4)];
+ if(f19 <f8) //_LBB155_24
+{
+ heapFloat[(r12+3)] = f8;
+ f19 = f8;
+}
+ f8 = heapFloat[(r7+5)];
+if(!(f8 >=f10)) //_LBB155_27
+{
+ heapFloat[(fp+-4)] = f8;
+}
+ f8 = heapFloat[(r7+6)];
+if(!(f8 >=f13)) //_LBB155_29
+{
+ heapFloat[(r12+1)] = f8;
+}
+ f8 = heapFloat[(r7+7)];
+if(!(f8 >=f14)) //_LBB155_31
+{
+ heapFloat[(r12+2)] = f8;
+}
+ f8 = heapFloat[(r7+8)];
+if(!(f8 >=f19)) //_LBB155_33
+{
+ heapFloat[(r12+3)] = f8;
+}
+ r12 = sp + -38;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = 0;
+ _ZNK14btQuantizedBvh8quantizeEPtRK9btVector3i(i7);
+ r11 = heapU8[r0+60];
+ if(r11 !=0) //_LBB155_35
+{
+ r11 = sp + -32;
+ r12 = r11 >> 2;
+ heapFloat[(fp+-8)] = f5;
+ heapFloat[(r12+1)] = f6;
+ heapFloat[(r12+2)] = f7;
+ heapFloat[(r12+3)] = f4;
+ f8 = heapFloat[(r7+1)];
+ if(f5 <f8) //_LBB155_37
+{
+ heapFloat[(fp+-8)] = f8;
+ f5 = f8;
+}
+ f8 = heapFloat[(r7+2)];
+ if(f6 <f8) //_LBB155_40
+{
+ heapFloat[(r12+1)] = f8;
+ f6 = f8;
+}
+ f8 = heapFloat[(r7+3)];
+ if(f7 <f8) //_LBB155_43
+{
+ heapFloat[(r12+2)] = f8;
+ f7 = f8;
+}
+ f8 = heapFloat[(r7+4)];
+ if(f4 <f8) //_LBB155_46
+{
+ heapFloat[(r12+3)] = f8;
+ f4 = f8;
+}
+ f8 = heapFloat[(r7+5)];
+if(!(f8 >=f5)) //_LBB155_49
+{
+ heapFloat[(fp+-8)] = f8;
+}
+ f5 = heapFloat[(r7+6)];
+if(!(f5 >=f6)) //_LBB155_51
+{
+ heapFloat[(r12+1)] = f5;
+}
+ f5 = heapFloat[(r7+7)];
+if(!(f5 >=f7)) //_LBB155_53
+{
+ heapFloat[(r12+2)] = f5;
+}
+ f5 = heapFloat[(r7+8)];
+if(!(f5 >=f4)) //_LBB155_55
+{
+ heapFloat[(r12+3)] = f5;
+}
+ r12 = sp + -44;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = 1;
+ r0 = r3 ^ 1;
+ r11 = r9 ^ 1;
+ r12 = r10 ^ 1;
+ r13 = 0;
+ _ZNK14btQuantizedBvh8quantizeEPtRK9btVector3i(i7);
+ r14 = r13;
+_66: while(true){
+ if(r13 <r6) //_LBB155_56
+{
+ if(r14 <r6) //_LBB155_58
+{
+ r15 = r8 >> 2;
+ r16 = heap32[(r15+3)];
+ r14 = (r14 + 1)|0;
+ r16 = r16 >>> 31;
+ r17 = heapU16[(sp+-38)>>1];
+ r18 = heapU16[(r8+6)>>1];
+ if(uint(r17) >uint(r18)) //_LBB155_64
+{
+__label__ = 55;
+}
+else{
+ r17 = heapU16[(r8)>>1];
+ r18 = heapU16[(sp+-44)>>1];
+ r18 = r18 & 65535;
+ r17 = r17 & 65535;
+ if(uint(r18) <uint(r17)) //_LBB155_64
+{
+__label__ = 55;
+}
+else{
+ r18 = heapU16[(sp+-34)>>1];
+ r19 = heapU16[(r8+10)>>1];
+ r18 = r18 & 65535;
+ r19 = r19 & 65535;
+ if(uint(r18) >uint(r19)) //_LBB155_64
+{
+__label__ = 55;
+}
+else{
+ r18 = heapU16[(r8+4)>>1];
+ r19 = heapU16[(sp+-40)>>1];
+ r19 = r19 & 65535;
+ r18 = r18 & 65535;
+ if(uint(r19) <uint(r18)) //_LBB155_64
+{
+__label__ = 55;
+}
+else{
+ r19 = heapU16[(sp+-36)>>1];
+ r20 = heapU16[(r8+8)>>1];
+ r19 = r19 & 65535;
+ r20 = r20 & 65535;
+ if(uint(r19) >uint(r20)) //_LBB155_64
+{
+__label__ = 55;
+}
+else{
+ r19 = heapU16[(r8+2)>>1];
+ r20 = heapU16[(sp+-42)>>1];
+ r20 = r20 & 65535;
+ r19 = r19 & 65535;
+ if(uint(r20) >=uint(r19)) //_LBB155_65
+{
+ f4 = uint(r17); //fuitos r17, f4
+ f5 = heapFloat[(r7+9)];
+ f6 = uint(r19); //fuitos r19, f6
+ f7 = heapFloat[(r7+10)];
+ f4 = f4/f5;
+ f8 = heapFloat[(r7+1)];
+ f10 = heapFloat[(r7+11)];
+ f11 = heapFloat[(r7+2)];
+ f12 = heapFloat[(r7+3)];
+ r17 = sp + -80;
+ f13 = uint(r18); //fuitos r18, f13
+ f6 = f6/f7;
+ f4 = f4+f8;
+ f13 = f13/f10;
+ r18 = r17 >> 2;
+ f6 = f6+f11;
+ heapFloat[(fp+-20)] = f4;
+ f13 = f13+f12;
+ heapFloat[(r18+1)] = f6;
+ heapFloat[(r18+2)] = f13;
+ heap32[(r18+3)] = 0;
+ r19 = heapU16[(r8+10)>>1];
+ r20 = heapU16[(r8+8)>>1];
+ r21 = heapU16[(r8+6)>>1];
+ heap32[(r18+7)] = 0;
+ f14 = heapFloat[(r5)];
+ f4 = f4-f14;
+ heapFloat[(fp+-20)] = f4;
+ f4 = heapFloat[(r5+1)];
+ f4 = f6-f4;
+ heapFloat[(r18+1)] = f4;
+ f4 = heapFloat[(r5+2)];
+ f6 = uint(r21); //fuitos r21, f6
+ f4 = f13-f4;
+ f5 = f6/f5;
+ heapFloat[(r18+2)] = f4;
+ f4 = f5+f8;
+ f5 = heapFloat[(r4)];
+ f6 = uint(r20); //fuitos r20, f6
+ f4 = f4-f5;
+ f5 = f6/f7;
+ heapFloat[(r18+4)] = f4;
+ f4 = f5+f11;
+ f5 = heapFloat[(r4+1)];
+ f6 = uint(r19); //fuitos r19, f6
+ f4 = f4-f5;
+ f5 = f6/f10;
+ heapFloat[(r18+5)] = f4;
+ r19 = r3 << 4;
+ r20 = r11 << 4;
+ f4 = f5+f12;
+ f5 = heapFloat[(r4+2)];
+ r19 = (r17 + r19)|0;
+ r20 = (r17 + r20)|0;
+ f4 = f4-f5;
+ r19 = r19 >> 2;
+ heapFloat[(r18+6)] = f4;
+ r18 = r20 >> 2;
+ f4 = heapFloat[(r19)];
+ f5 = heapFloat[(r2)];
+ f6 = heapFloat[(r18+1)];
+ f7 = heapFloat[(r2+1)];
+ f4 = f4-f5;
+ f6 = f6-f7;
+ f4 = f4*f0;
+ f6 = f6*f1;
+ if(f4 >f6) //_LBB155_64
+{
+__label__ = 55;
+}
+else{
+ r18 = r0 << 4;
+ r19 = r9 << 4;
+ r18 = (r17 + r18)|0;
+ r19 = (r17 + r19)|0;
+ r18 = r18 >> 2;
+ r19 = r19 >> 2;
+ f8 = heapFloat[(r18)];
+ f10 = heapFloat[(r19+1)];
+ f5 = f8-f5;
+ f7 = f10-f7;
+ f5 = f5*f0;
+ f7 = f7*f1;
+ if(f7 >f5) //_LBB155_64
+{
+__label__ = 55;
+}
+else{
+ r18 = r12 << 4;
+ r18 = (r17 + r18)|0;
+ r18 = r18 >> 2;
+ f8 = heapFloat[(r18+2)];
+ f10 = heapFloat[(r2+2)];
+ f8 = f8-f10;
+ f4 = f4 < f7 ? f7 : f4;
+ f7 = f8*f2;
+ if(f4 >f7) //_LBB155_64
+{
+__label__ = 55;
+}
+else{
+ r18 = r10 << 4;
+ r17 = (r17 + r18)|0;
+ r17 = r17 >> 2;
+ f8 = heapFloat[(r17+2)];
+ f8 = f8-f10;
+ f5 = f6 < f5 ? f6 : f5;
+ f6 = f8*f2;
+ if(f6 >f5) //_LBB155_64
+{
+__label__ = 55;
+}
+else{
+ f4 = f4 < f6 ? f6 : f4;
+ f5 = f7 < f5 ? f7 : f5;
+ r17 = f4 >= f3;
+ r18 = f5 <= f9;
+ r17 = r17 | r18;
+ r18 = r17 & 1;
+ r17 = r18 ^ 1;
+ if(r16 != 0) //_LBB155_71
+{
+__label__ = 65;
+}
+else{
+ if(r18 ==0) //_LBB155_72
+{
+ r18 = heap32[(r15+3)];
+ if(r18 >-1) //_LBB155_74
+{
+ r19 = r1 >> 2;
+ r19 = heap32[(r19)];
+ r19 = r19 >> 2;
+ r19 = heap32[(r19+2)];
+ r20 = r18 >> 21;
+ r18 = r18 & 2097151;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r20;
+ heap32[(g0+2)] = r18;
+ __FUNCTION_TABLE__[(r19)>>2](i7);
+__label__ = 65;
+}
+else{
+__label__ = 63;
+break _66;
+}
+}
+else{
+__label__ = 65;
+}
+}
+}
+}
+}
+}
+}
+else{
+__label__ = 55;
+}
+}
+}
+}
+}
+}
+if (__label__ == 55){
+ r17 = 0;
+}
+if(!(r17 !=0)) //_LBB155_77
+{
+ if(r16 != 0) //_LBB155_78
+{
+ r15 = heap32[(r15+3)];
+ if(r15 <0) //_LBB155_80
+{
+ r16 = r15 << 4;
+ r8 = (r8 - r16)|0;
+ r13 = (r13 - r15)|0;
+continue _66;
+}
+else{
+__label__ = 69;
+break _66;
+}
+}
+}
+ r8 = (r8 + 16)|0;
+ r13 = (r13 + 1)|0;
+}
+else{
+__label__ = 48;
+break _66;
+}
+}
+else{
+__label__ = 72;
+break _66;
+}
+}
+switch(__label__ ){//multiple entries
+case 72:
+ r0 = maxIterations;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+if(!(r1 >=r14)) //_LBB155_84
+{
+ heap32[(r0)] = r14;
+}
+ return;
+break;
+case 69:
+ r0 = _2E_str941;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 75;
+ _assert(i7);
+break;
+case 63:
+ r0 = _2E_str739;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 80;
+ _assert(i7);
+break;
+case 48:
+ r0 = _2E_str1143;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 606;
+ _assert(i7);
+break;
+}
+}
+}
+ r0 = _2E_str212;
+ r1 = _2E_str313;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 420;
+ _assert(i7);
+}
+else{
+ r0 = _2E_str212;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 543;
+ _assert(i7);
+}
+}
+
+function _ZNK14btQuantizedBvh27walkStacklessTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+60];
+ if(r1 ==0) //_LBB156_2
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r4 = heap32[(fp+4)];
+ r5 = heap32[(fp+5)];
+ r3 = r3 >> 2;
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2)];
+ f1 = heapFloat[(r3)];
+ f2 = heapFloat[(r3+1)];
+ f3 = heapFloat[(r2+1)];
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ f4 = f1-f0;
+ r0 = r0 >> 2;
+ f5 = f2-f3;
+ f6 = heapFloat[(r3+2)];
+ f7 = heapFloat[(r2+2)];
+ r6 = heap32[(r0+24)];
+ f8 = f6-f7;
+ f9 = f4*f4;
+ f10 = f5*f5;
+ f11 = heapFloat[(r4)];
+ f12 = heapFloat[(r4+1)];
+ f13 = heapFloat[(r4+2)];
+ f14 = heapFloat[(r5)];
+ f15 = heapFloat[(r5+1)];
+ f16 = heapFloat[(r5+2)];
+ f9 = f9+f10;
+ f10 = f8*f8;
+ f9 = f9+f10;
+ heapFloat[(g0)] = f9;
+ sqrtf(i7);
+ f10 = 1;
+ f9 = f10/f_g0;
+ f17 = heapFloat[(r3)];
+ f18 = heapFloat[(r2)];
+ f19 = heapFloat[(r3+1)];
+ f20 = heapFloat[(r2+1)];
+ f4 = f4*f9;
+ f17 = f17-f18;
+ f5 = f5*f9;
+ f18 = f19-f20;
+ f19 = heapFloat[(r3+2)];
+ f20 = heapFloat[(r2+2)];
+ f8 = f8*f9;
+ f9 = f19-f20;
+ f17 = f4*f17;
+ f18 = f5*f18;
+ f19 = f1 < f0 ? f1 : f0;
+ f20 = f2 < f3 ? f2 : f3;
+ f21 = f6 < f7 ? f6 : f7;
+ f0 = f0 < f1 ? f1 : f0;
+ f1 = f3 < f2 ? f2 : f3;
+ f2 = f7 < f6 ? f6 : f7;
+ f3 = f17+f18;
+ f6 = f8*f9;
+ f7 = f19+f11;
+ f9 = f20+f12;
+ f11 = f21+f13;
+ f0 = f0+f14;
+ f1 = f1+f15;
+ f2 = f2+f16;
+ f3 = f3+f6;
+ f6 = 0;
+ if(f4 !=f6) //_LBB156_4
+{
+ f4 = f10/f4;
+}
+else{
+ f4 = 999999984306749440;
+}
+ if(f5 !=f6) //_LBB156_7
+{
+ f5 = f10/f5;
+}
+else{
+ f5 = 999999984306749440;
+}
+ if(f8 !=f6) //_LBB156_10
+{
+ f8 = f10/f8;
+}
+else{
+ f8 = 999999984306749440;
+}
+ r3 = f4 < f6;
+ r7 = f5 < f6;
+ r8 = f8 < f6;
+ r3 = r3 & 1;
+ r7 = r7 & 1;
+ r8 = r8 & 1;
+ r9 = r3 ^ 1;
+ r10 = r7 ^ 1;
+ r11 = r8 ^ 1;
+ r12 = 0;
+ r13 = r12;
+_15: while(true){
+ r14 = heap32[(r0+14)];
+ if(r14 >r12) //_LBB156_12
+{
+ if(r14 >r13) //_LBB156_14
+{
+ r14 = r6 >> 2;
+ f10 = heapFloat[(r14)];
+ r15 = sp + -32;
+ heapFloat[(fp+-8)] = f10;
+ r16 = r15 >> 2;
+ f12 = heapFloat[(r14+1)];
+ heapFloat[(r16+1)] = f12;
+ f13 = heapFloat[(r14+2)];
+ heapFloat[(r16+2)] = f13;
+ heap32[(r16+3)] = heap32[(r14+3)];
+ f14 = heapFloat[(r14+4)];
+ heapFloat[(r16+4)] = f14;
+ f15 = heapFloat[(r14+5)];
+ heapFloat[(r16+5)] = f15;
+ f16 = heapFloat[(r14+6)];
+ heapFloat[(r16+6)] = f16;
+ heap32[(r16+7)] = heap32[(r14+7)];
+ f17 = heapFloat[(r5)];
+ f10 = f10-f17;
+ heapFloat[(fp+-8)] = f10;
+ f10 = heapFloat[(r5+1)];
+ f10 = f12-f10;
+ heapFloat[(r16+1)] = f10;
+ f10 = heapFloat[(r5+2)];
+ f10 = f13-f10;
+ heapFloat[(r16+2)] = f10;
+ f10 = heapFloat[(r4)];
+ f10 = f14-f10;
+ heapFloat[(r16+4)] = f10;
+ f10 = heapFloat[(r4+1)];
+ f10 = f15-f10;
+ heapFloat[(r16+5)] = f10;
+ f10 = heapFloat[(r4+2)];
+ r13 = (r13 + 1)|0;
+ f10 = f16-f10;
+ heapFloat[(r16+6)] = f10;
+ f10 = heapFloat[(r14+4)];
+ if(f7 >f10) //_LBB156_17
+{
+__label__ = 17;
+}
+else{
+ f10 = heapFloat[(r14)];
+ if(f0 <f10) //_LBB156_17
+{
+__label__ = 17;
+}
+else{
+ r16 = 1;
+__label__ = 18;
+}
+}
+if (__label__ == 17){
+ r16 = 0;
+}
+ f10 = heapFloat[(r14+6)];
+ if(f11 >f10) //_LBB156_21
+{
+__label__ = 20;
+}
+else{
+ f10 = heapFloat[(r14+2)];
+ if(f2 <f10) //_LBB156_21
+{
+__label__ = 20;
+}
+else{
+__label__ = 21;
+}
+}
+if (__label__ == 20){
+ r16 = 0;
+}
+ f10 = heapFloat[(r14+5)];
+ if(f9 >f10) //_LBB156_32
+{
+__label__ = 30;
+}
+else{
+ f10 = heapFloat[(r14+1)];
+ if(f1 <f10) //_LBB156_32
+{
+__label__ = 30;
+}
+else{
+ r16 = r16 & 255;
+ if(r16 ==0) //_LBB156_32
+{
+__label__ = 30;
+}
+else{
+ r16 = r3 << 4;
+ r17 = r10 << 4;
+ r16 = (r15 + r16)|0;
+ r17 = (r15 + r17)|0;
+ r16 = r16 >> 2;
+ r17 = r17 >> 2;
+ f10 = heapFloat[(r16)];
+ f12 = heapFloat[(r2)];
+ f13 = heapFloat[(r17+1)];
+ f14 = heapFloat[(r2+1)];
+ f10 = f10-f12;
+ f13 = f13-f14;
+ f10 = f10*f4;
+ f13 = f13*f5;
+ if(f10 >f13) //_LBB156_32
+{
+__label__ = 30;
+}
+else{
+ r16 = r9 << 4;
+ r17 = r7 << 4;
+ r16 = (r15 + r16)|0;
+ r17 = (r15 + r17)|0;
+ r16 = r16 >> 2;
+ r17 = r17 >> 2;
+ f15 = heapFloat[(r16)];
+ f16 = heapFloat[(r17+1)];
+ f12 = f15-f12;
+ f14 = f16-f14;
+ f12 = f12*f4;
+ f14 = f14*f5;
+ if(f14 >f12) //_LBB156_32
+{
+__label__ = 30;
+}
+else{
+ r16 = r11 << 4;
+ r16 = (r15 + r16)|0;
+ r16 = r16 >> 2;
+ f15 = heapFloat[(r16+2)];
+ f16 = heapFloat[(r2+2)];
+ f15 = f15-f16;
+ f10 = f10 < f14 ? f14 : f10;
+ f14 = f15*f8;
+ if(f10 >f14) //_LBB156_32
+{
+__label__ = 30;
+}
+else{
+ r16 = r8 << 4;
+ r15 = (r15 + r16)|0;
+ r15 = r15 >> 2;
+ f15 = heapFloat[(r15+2)];
+ f15 = f15-f16;
+ f12 = f13 < f12 ? f13 : f12;
+ f13 = f15*f8;
+ if(f13 >f12) //_LBB156_32
+{
+__label__ = 30;
+}
+else{
+ f10 = f10 < f13 ? f13 : f10;
+ f12 = f14 < f12 ? f14 : f12;
+ r15 = f10 >= f3;
+ r16 = f12 <= f6;
+ r15 = r15 | r16;
+ r16 = r15 & 1;
+ r17 = heap32[(r14+8)];
+ r18 = -1;
+ r16 = r16 ^ 1;
+ r19 = r17 == r18;
+ if(r15 != 0) //_LBB156_31
+{
+__label__ = 32;
+}
+else{
+ r15 = r17 != r18;
+ r15 = r15 & 1;
+ if(r15 ==0) //_LBB156_33
+{
+ r15 = r1 >> 2;
+ r15 = heap32[(r15)];
+ r15 = r15 >> 2;
+ r15 = heap32[(r15+2)];
+ r17 = heap32[(r14+10)];
+ r18 = heap32[(r14+9)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r18;
+ heap32[(g0+2)] = r17;
+ __FUNCTION_TABLE__[(r15)>>2](i7);
+__label__ = 32;
+}
+else{
+__label__ = 32;
+}
+}
+}
+}
+}
+}
+}
+}
+}
+if (__label__ == 30){
+ r16 = heap32[(r14+8)];
+ r19 = -1;
+ r19 = r16 == r19;
+ r16 = 0;
+}
+if(!(r16 !=0)) //_LBB156_36
+{
+ r15 = r19 & 1;
+ if(r15 ==0) //_LBB156_37
+{
+ r14 = heap32[(r14+8)];
+ r15 = r14 << 6;
+ r6 = (r6 + r15)|0;
+ r12 = (r14 + r12)|0;
+continue _15;
+}
+}
+ r6 = (r6 + 64)|0;
+ r12 = (r12 + 1)|0;
+}
+else{
+__label__ = 13;
+break _15;
+}
+}
+else{
+__label__ = 37;
+break _15;
+}
+}
+switch(__label__ ){//multiple entries
+case 37:
+ r0 = maxIterations;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+if(!(r1 >=r13)) //_LBB156_41
+{
+ heap32[(r0)] = r13;
+}
+ return;
+break;
+case 13:
+ r0 = _2E_str1921;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 490;
+ _assert(i7);
+break;
+}
+}
+else{
+ r0 = _2E_str1844;
+ r1 = _2E_str537;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 451;
+ _assert(i7);
+}
+}
+
+function _ZN30btActivatingCollisionAlgorithmD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV30btActivatingCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN30btActivatingCollisionAlgorithmD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV30btActivatingCollisionAlgorithm;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN26btBoxBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var f0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ f0 = 1;
+ f_g0 = f0;
+ return;
+}
+
+function _ZN26btBoxBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+3)];
+if(!(r2 ==0)) //_LBB160_23
+{
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB160_23
+{
+ r0 = heap32[(fp+1)];
+ r3 = r0 >> 2;
+ r4 = heap32[(r3+2)];
+ r5 = heap32[(r3+1)];
+ if(r4 ==r5) //_LBB160_4
+{
+ r6 = 1;
+ r7 = r5 << 1;
+ r7 = r5 == 0 ? r6 : r7;
+if(!(r4 >=r7)) //_LBB160_3
+{
+ if(r7 !=0) //_LBB160_7
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r4 = heap32[(r2)];
+ r8 = r7 << 2;
+ r4 = (r4 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r2)] = r4;
+ r2 = (r8 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB160_9
+{
+ r4 = 0;
+ r8 = (r2 + 4)|0;
+ r4 = (r4 - r8)|0;
+ r4 = r4 & 15;
+ r4 = (r2 + r4)|0;
+ r8 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r2;
+ r2 = r8;
+}
+}
+else{
+ r2 = 0;
+}
+ r4 = (r0 + 12)|0;
+ if(r5 <1) //_LBB160_12
+{
+ r8 = r4 >> 2;
+ r9 = heap32[(r8)];
+}
+else{
+ r8 = 0;
+_15: while(true){
+ r9 = r4 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r8 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r2 + r10)|0;
+ r11 = heap32[(r11)];
+ r8 = (r8 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r11;
+if(!(r5 !=r8)) //_LBB160_13
+{
+break _15;
+}
+}
+ r4 = (r0 + 12)|0;
+}
+ if(r9 !=0) //_LBB160_17
+{
+ r8 = heapU8[r0+16];
+ if(r8 !=0) //_LBB160_19
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r8 = heap32[(r5)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r5)] = r8;
+ r5 = heap32[(r9+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+ r5 = heap32[(r3+1)];
+}
+ r8 = r4 >> 2;
+ heap32[(r8)] = 0;
+}
+ r4 = r4 >> 2;
+ heap8[r0+16] = r6;
+ heap32[(r4)] = r2;
+ heap32[(r3+2)] = r7;
+ r2 = heap32[(r1+3)];
+}
+}
+ r0 = r5 << 2;
+ r1 = heap32[(r3+3)];
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r2;
+ r0 = heap32[(r3+1)];
+ r0 = (r0 + 1)|0;
+ heap32[(r3+1)] = r0;
+}
+}
+ return;
+}
+
+function _ZN26btBoxBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+var __label__ = 0;
+ i7 = sp + -176;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1+3)];
+if(!(r1 ==0)) //_LBB161_8
+{
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+ r5 = heap32[(fp+4)];
+ r3 = r3 >> 2;
+ r2 = r2 >> 2;
+ r6 = heap32[(r3+48)];
+ r7 = heap32[(r2+48)];
+ r8 = sp + -136;
+ r9 = r5 >> 2;
+ r10 = r8 >> 2;
+ heap32[(r9+1)] = r1;
+ heap32[(r10+33)] = 0;
+ heap32[(r10+32)] = 1566444395;
+ heap32[(fp+-34)] = heap32[(r2+1)];
+ heap32[(r10+1)] = heap32[(r2+2)];
+ heap32[(r10+2)] = heap32[(r2+3)];
+ heap32[(r10+3)] = heap32[(r2+4)];
+ heap32[(r10+4)] = heap32[(r2+5)];
+ heap32[(r10+5)] = heap32[(r2+6)];
+ heap32[(r10+6)] = heap32[(r2+7)];
+ heap32[(r10+7)] = heap32[(r2+8)];
+ heap32[(r10+8)] = heap32[(r2+9)];
+ heap32[(r10+9)] = heap32[(r2+10)];
+ heap32[(r10+10)] = heap32[(r2+11)];
+ heap32[(r10+11)] = heap32[(r2+12)];
+ heap32[(r10+12)] = heap32[(r2+13)];
+ heap32[(r10+13)] = heap32[(r2+14)];
+ heap32[(r10+14)] = heap32[(r2+15)];
+ heap32[(r10+15)] = heap32[(r2+16)];
+ heap32[(r10+16)] = heap32[(r3+1)];
+ heap32[(r10+17)] = heap32[(r3+2)];
+ heap32[(r10+18)] = heap32[(r3+3)];
+ heap32[(r10+19)] = heap32[(r3+4)];
+ heap32[(r10+20)] = heap32[(r3+5)];
+ heap32[(r10+21)] = heap32[(r3+6)];
+ heap32[(r10+22)] = heap32[(r3+7)];
+ heap32[(r10+23)] = heap32[(r3+8)];
+ heap32[(r10+24)] = heap32[(r3+9)];
+ heap32[(r10+25)] = heap32[(r3+10)];
+ heap32[(r10+26)] = heap32[(r3+11)];
+ heap32[(r10+27)] = heap32[(r3+12)];
+ heap32[(r10+28)] = heap32[(r3+13)];
+ heap32[(r10+29)] = heap32[(r3+14)];
+ r1 = _ZTV16btBoxBoxDetector;
+ heap32[(r10+30)] = heap32[(r3+15)];
+ r2 = sp + -152;
+ r1 = (r1 + 8)|0;
+ heap32[(r10+31)] = heap32[(r3+16)];
+ r3 = r2 >> 2;
+ heap32[(fp+-38)] = r1;
+ heap32[(r3+1)] = r7;
+ r1 = r4 >> 2;
+ heap32[(r3+2)] = r6;
+ r1 = heap32[(r1+5)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = 0;
+ _ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(i7);
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB161_8
+{
+ r0 = heap32[(r9+1)];
+ if(r0 !=0) //_LBB161_4
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+279)];
+if(!(r2 ==0)) //_LBB161_8
+{
+ r1 = heap32[(r1+277)];
+ r2 = heap32[(r9+34)];
+ if(r1 ==r2) //_LBB161_7
+{
+ r1 = (r5 + 8)|0;
+ r2 = (r5 + 72)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+}
+else{
+ r1 = (r5 + 72)|0;
+ r5 = (r5 + 8)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r5;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+ return;
+}
+}
+}
+else{
+ r0 = _2E_str59;
+ r5 = _2E_str160;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = 101;
+ _assert(i7);
+}
+}
+}
+ return;
+}
+
+function _ZN26btBoxBoxCollisionAlgorithmD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV26btBoxBoxCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+8];
+if(!(r1 ==0)) //_LBB162_3
+{
+ r1 = heap32[(r2+3)];
+if(!(r1 ==0)) //_LBB162_3
+{
+ r3 = heap32[(r2+1)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+}
+ r1 = _ZTV30btActivatingCollisionAlgorithm;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN26btBoxBoxCollisionAlgorithmD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV26btBoxBoxCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB163_3
+{
+ r0 = heap32[(r2+3)];
+if(!(r0 ==0)) //_LBB163_3
+{
+ r1 = heap32[(r2+1)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+}
+ r0 = _ZTV30btActivatingCollisionAlgorithm;
+ r0 = (r0 + 8)|0;
+ heap32[(r2)] = r0;
+ return;
+}
+
+function _ZN16btBoxBoxDetectorD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btBoxBoxDetector;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN16btBoxBoxDetectorD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btBoxBoxDetector;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var r25;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -808;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = sp + -640;
+ heap32[(fp+-160)] = heap32[(r1)];
+ r3 = sp + -688;
+ heap32[(fp+-172)] = heap32[(r1+16)];
+ r4 = r2 >> 2;
+ r5 = r3 >> 2;
+ heap32[(r4+1)] = heap32[(r1+1)];
+ heap32[(r5+1)] = heap32[(r1+17)];
+ heap32[(r4+2)] = heap32[(r1+2)];
+ heap32[(r5+2)] = heap32[(r1+18)];
+ heap32[(r4+4)] = heap32[(r1+4)];
+ heap32[(r5+4)] = heap32[(r1+20)];
+ heap32[(r4+5)] = heap32[(r1+5)];
+ heap32[(r5+5)] = heap32[(r1+21)];
+ heap32[(r4+6)] = heap32[(r1+6)];
+ heap32[(r5+6)] = heap32[(r1+22)];
+ heap32[(r4+8)] = heap32[(r1+8)];
+ heap32[(r5+8)] = heap32[(r1+24)];
+ heap32[(r4+9)] = heap32[(r1+9)];
+ heap32[(r5+9)] = heap32[(r1+25)];
+ r6 = heap32[(fp)];
+ heap32[(r4+10)] = heap32[(r1+10)];
+ r6 = r6 >> 2;
+ heap32[(r5+10)] = heap32[(r1+26)];
+ r7 = heap32[(r6+2)];
+ r8 = r7 >> 2;
+ r9 = heap32[(r8)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+11)];
+ f0 = heapFloat[(r8+7)];
+ f1 = heapFloat[(r8+8)];
+ f2 = heapFloat[(r8+9)];
+ heap32[(g0)] = r7;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ f3 = f_g0;
+ r9 = heap32[(r8)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+11)];
+ heap32[(g0)] = r7;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ f4 = f_g0;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+11)];
+ heap32[(g0)] = r7;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ f5 = f_g0;
+ r6 = heap32[(r6+1)];
+ r7 = r6 >> 2;
+ r8 = heap32[(r7)];
+ r8 = r8 >> 2;
+ f6 = heapFloat[(r7+8)];
+ r8 = heap32[(r8+11)];
+ f7 = heapFloat[(r7+9)];
+ f8 = heapFloat[(r7+7)];
+ heap32[(g0)] = r6;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ f9 = f_g0;
+ r8 = heap32[(r7)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+11)];
+ heap32[(g0)] = r6;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ f10 = f_g0;
+ r7 = heap32[(r7)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+11)];
+ heap32[(g0)] = r6;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ f8 = f8+f_g0;
+ f6 = f6+f10;
+ f8 = f8+f8;
+ f10 = 0.5;
+ heapFloat[(fp+-187)] = f10;
+ f11 = heapFloat[(r1+30)];
+ f12 = heapFloat[(r1+14)];
+ f13 = heapFloat[(r1+29)];
+ f14 = heapFloat[(r1+13)];
+ f15 = heapFloat[(r1+28)];
+ f16 = heapFloat[(r1+12)];
+ f17 = heapFloat[(fp+-160)];
+ f18 = heapFloat[(r4+4)];
+ f19 = heapFloat[(r4+8)];
+ f20 = heapFloat[(r4+1)];
+ f21 = heapFloat[(r4+5)];
+ f22 = heapFloat[(r4+9)];
+ f23 = heapFloat[(r4+2)];
+ f24 = heapFloat[(r4+6)];
+ f25 = heapFloat[(r4+10)];
+ r4 = sp + -236;
+ f7 = f7+f9;
+ f6 = f6+f6;
+ f8 = f8*f10;
+ heapFloat[(fp+-179)] = f8;
+ f0 = f0+f5;
+ f5 = f7+f7;
+ f6 = f6*f10;
+ heapFloat[(fp+-178)] = f6;
+ r6 = r4 >> 2;
+ heapFloat[(fp+-59)] = f8;
+ f1 = f1+f4;
+ f0 = f0+f0;
+ f4 = f5*f10;
+ heapFloat[(fp+-177)] = f4;
+ heapFloat[(r6+1)] = f6;
+ r7 = sp + -248;
+ heap32[(fp+-186)] = r7;
+ f2 = f2+f3;
+ f1 = f1+f1;
+ f0 = f0*f10;
+ heapFloat[(fp+-181)] = f0;
+ heapFloat[(r6+2)] = f4;
+ f2 = f2+f2;
+ f1 = f1*f10;
+ heapFloat[(fp+-182)] = f1;
+ r6 = r7 >> 2;
+ heapFloat[(fp+-62)] = f0;
+ f0 = f2*f10;
+ heapFloat[(fp+-180)] = f0;
+ heapFloat[(r6+1)] = f1;
+ heapFloat[(r6+2)] = f0;
+ f0 = f15-f16;
+ heapFloat[(fp+-183)] = f0;
+ f1 = f13-f14;
+ heapFloat[(fp+-184)] = f1;
+ f2 = heapFloat[(fp+-172)];
+ heapFloat[(fp+-194)] = f2;
+ f3 = heapFloat[(r5+4)];
+ heapFloat[(fp+-195)] = f3;
+ f4 = heapFloat[(r5+1)];
+ heapFloat[(fp+-191)] = f4;
+ f5 = heapFloat[(r5+5)];
+ heapFloat[(fp+-192)] = f5;
+ f6 = heapFloat[(r5+2)];
+ heapFloat[(fp+-188)] = f6;
+ f7 = heapFloat[(r5+6)];
+ heapFloat[(fp+-189)] = f7;
+ f8 = f11-f12;
+ heapFloat[(fp+-185)] = f8;
+ f9 = heapFloat[(r5+8)];
+ heapFloat[(fp+-196)] = f9;
+ f10 = heapFloat[(r5+9)];
+ heapFloat[(fp+-193)] = f10;
+ f11 = heapFloat[(r5+10)];
+ heapFloat[(fp+-190)] = f11;
+ f12 = f17*f2;
+ f13 = f18*f3;
+ f14 = f17*f0;
+ f15 = f18*f1;
+ f16 = f20*f0;
+ f26 = f21*f1;
+ f0 = f23*f0;
+ heapFloat[(fp+-198)] = f0;
+ f1 = f24*f1;
+ f27 = f17*f4;
+ f28 = f18*f5;
+ f17 = f17*f6;
+ f18 = f18*f7;
+ f29 = f20*f2;
+ f30 = f21*f3;
+ f0 = f20*f4;
+ heapFloat[(fp+-197)] = f0;
+ f0 = f21*f5;
+ f20 = f20*f6;
+ f21 = f21*f7;
+ f2 = f23*f2;
+ f3 = f24*f3;
+ f4 = f23*f4;
+ f5 = f24*f5;
+ f6 = f23*f6;
+ f7 = f24*f7;
+ f12 = f12+f13;
+ f13 = f19*f9;
+ f14 = f14+f15;
+ f15 = f19*f8;
+ f16 = f16+f26;
+ f23 = f22*f8;
+ f24 = heapFloat[(fp+-198)];
+ f1 = f24+f1;
+ f8 = f25*f8;
+ f24 = f27+f28;
+ f26 = f19*f10;
+ f17 = f17+f18;
+ f18 = f19*f11;
+ f19 = f29+f30;
+ f27 = f22*f9;
+ f28 = heapFloat[(fp+-197)];
+ f0 = f28+f0;
+ f28 = f22*f10;
+ f20 = f20+f21;
+ f21 = f22*f11;
+ f2 = f2+f3;
+ f3 = f25*f9;
+ f4 = f4+f5;
+ f5 = f25*f10;
+ f6 = f6+f7;
+ f7 = f25*f11;
+ f9 = f12+f13;
+ r5 = heap32[(fp+2)];
+ r6 = (r2 + 4)|0;
+ r7 = (r3 + 4)|0;
+ r8 = (r2 + 8)|0;
+ r9 = (r3 + 8)|0;
+ r10 = (r0 + 112)|0;
+ r0 = (r0 + 48)|0;
+ f10 = f14+f15;
+ f11 = f16+f23;
+ f1 = f1+f8;
+ f8 = f24+f26;
+ f12 = f17+f18;
+ f13 = f19+f27;
+ f0 = f0+f28;
+ f14 = f20+f21;
+ f2 = f2+f3;
+ f3 = f4+f5;
+ f4 = f6+f7;
+ f5 = 0;
+ if(f9 <f5) //_LBB166_2
+{
+ f6 = -f9;
+}
+else{
+ f6 = f9;
+}
+ if(f8 <f5) //_LBB166_5
+{
+ f7 = -f8;
+}
+else{
+ f7 = f8;
+}
+ if(f12 <f5) //_LBB166_8
+{
+ f15 = -f12;
+}
+else{
+ f15 = f12;
+}
+ if(f13 <f5) //_LBB166_11
+{
+ f16 = -f13;
+}
+else{
+ f16 = f13;
+}
+ if(f0 <f5) //_LBB166_14
+{
+ f17 = -f0;
+}
+else{
+ f17 = f0;
+}
+ if(f14 <f5) //_LBB166_17
+{
+ f18 = -f14;
+}
+else{
+ f18 = f14;
+}
+ if(f2 <f5) //_LBB166_20
+{
+ f19 = -f2;
+}
+else{
+ f19 = f2;
+}
+ if(f3 <f5) //_LBB166_23
+{
+ f20 = -f3;
+}
+else{
+ f20 = f3;
+}
+ if(f4 <f5) //_LBB166_26
+{
+ f21 = -f4;
+}
+else{
+ f21 = f4;
+}
+ if(f10 <f5) //_LBB166_29
+{
+ f22 = -f10;
+}
+else{
+ f22 = f10;
+}
+ f23 = heapFloat[(fp+-181)];
+ f23 = f23*f6;
+ f24 = heapFloat[(fp+-179)];
+ f23 = f24+f23;
+ f24 = heapFloat[(fp+-182)];
+ f24 = f24*f7;
+ f23 = f23+f24;
+ f24 = heapFloat[(fp+-180)];
+ f24 = f24*f15;
+ f23 = f23+f24;
+ f22 = f22-f23;
+_41: do {
+if(!(f22 >f5)) //_LBB166_268
+{
+ f23 = -3.4028234663852886e+038;
+ if(f22 >f23) //_LBB166_33
+{
+ f23 = 0;
+ r11 = f10 < f23;
+ r13 = sp + -640;
+ r11 = r11 & 1;
+ r12 = 1;
+ f23 = f22;
+}
+else{
+ r11 = 0;
+ r12 = r11;
+ r13 = r11;
+}
+ if(f11 <f5) //_LBB166_36
+{
+ f22 = -f11;
+}
+else{
+ f22 = f11;
+}
+ f24 = heapFloat[(fp+-181)];
+ f24 = f24*f16;
+ f25 = heapFloat[(fp+-178)];
+ f24 = f25+f24;
+ f25 = heapFloat[(fp+-182)];
+ f25 = f25*f17;
+ f24 = f24+f25;
+ f25 = heapFloat[(fp+-180)];
+ f25 = f25*f18;
+ f24 = f24+f25;
+ f22 = f22-f24;
+if(!(f22 >f5)) //_LBB166_268
+{
+ if(f22 >f23) //_LBB166_40
+{
+ f23 = 0;
+ r11 = f11 < f23;
+ r11 = r11 & 1;
+ r12 = 2;
+ f23 = f22;
+ r13 = r6;
+}
+ if(f1 <f5) //_LBB166_43
+{
+ f22 = -f1;
+}
+else{
+ f22 = f1;
+}
+ f24 = heapFloat[(fp+-181)];
+ f24 = f24*f19;
+ f25 = heapFloat[(fp+-177)];
+ f24 = f25+f24;
+ f25 = heapFloat[(fp+-182)];
+ f25 = f25*f20;
+ f24 = f24+f25;
+ f25 = heapFloat[(fp+-180)];
+ f25 = f25*f21;
+ f24 = f24+f25;
+ f22 = f22-f24;
+if(!(f22 >f5)) //_LBB166_268
+{
+ if(f22 >f23) //_LBB166_47
+{
+ f23 = 0;
+ r11 = f1 < f23;
+ r11 = r11 & 1;
+ r12 = 3;
+ f23 = f22;
+ r13 = r8;
+}
+ f24 = heapFloat[(fp+-183)];
+ f22 = heapFloat[(fp+-194)];
+ f22 = f22*f24;
+ f25 = heapFloat[(fp+-184)];
+ f24 = heapFloat[(fp+-195)];
+ f24 = f24*f25;
+ f22 = f22+f24;
+ f25 = heapFloat[(fp+-185)];
+ f24 = heapFloat[(fp+-196)];
+ f24 = f24*f25;
+ f22 = f22+f24;
+ if(f22 <f5) //_LBB166_50
+{
+ f24 = -f22;
+}
+else{
+ f24 = f22;
+}
+ f25 = heapFloat[(fp+-179)];
+ f25 = f25*f6;
+ f26 = heapFloat[(fp+-178)];
+ f26 = f26*f16;
+ f25 = f25+f26;
+ f26 = heapFloat[(fp+-177)];
+ f26 = f26*f19;
+ f25 = f25+f26;
+ f26 = heapFloat[(fp+-181)];
+ f25 = f25+f26;
+ f24 = f24-f25;
+if(!(f24 >f5)) //_LBB166_268
+{
+ if(f24 >f23) //_LBB166_54
+{
+ f23 = 0;
+ r11 = f22 < f23;
+ r13 = sp + -688;
+ r11 = r11 & 1;
+ r12 = 4;
+ f23 = f24;
+}
+ f24 = heapFloat[(fp+-183)];
+ f22 = heapFloat[(fp+-191)];
+ f22 = f22*f24;
+ f25 = heapFloat[(fp+-184)];
+ f24 = heapFloat[(fp+-192)];
+ f24 = f24*f25;
+ f22 = f22+f24;
+ f25 = heapFloat[(fp+-185)];
+ f24 = heapFloat[(fp+-193)];
+ f24 = f24*f25;
+ f22 = f22+f24;
+ if(f22 <f5) //_LBB166_57
+{
+ f24 = -f22;
+}
+else{
+ f24 = f22;
+}
+ f25 = heapFloat[(fp+-179)];
+ f25 = f25*f7;
+ f26 = heapFloat[(fp+-178)];
+ f26 = f26*f17;
+ f25 = f25+f26;
+ f26 = heapFloat[(fp+-177)];
+ f26 = f26*f20;
+ f25 = f25+f26;
+ f26 = heapFloat[(fp+-182)];
+ f25 = f25+f26;
+ f24 = f24-f25;
+if(!(f24 >f5)) //_LBB166_268
+{
+ if(f24 >f23) //_LBB166_61
+{
+ f23 = 0;
+ r11 = f22 < f23;
+ r11 = r11 & 1;
+ r12 = 5;
+ f23 = f24;
+ r13 = r7;
+}
+ f24 = heapFloat[(fp+-183)];
+ f22 = heapFloat[(fp+-188)];
+ f22 = f22*f24;
+ f25 = heapFloat[(fp+-184)];
+ f24 = heapFloat[(fp+-189)];
+ f24 = f24*f25;
+ f22 = f22+f24;
+ f25 = heapFloat[(fp+-185)];
+ f24 = heapFloat[(fp+-190)];
+ f24 = f24*f25;
+ f22 = f22+f24;
+ if(f22 <f5) //_LBB166_64
+{
+ f24 = -f22;
+}
+else{
+ f24 = f22;
+}
+ f25 = heapFloat[(fp+-179)];
+ f25 = f25*f15;
+ f26 = heapFloat[(fp+-178)];
+ f26 = f26*f18;
+ f25 = f25+f26;
+ f26 = heapFloat[(fp+-177)];
+ f26 = f26*f21;
+ f25 = f25+f26;
+ f26 = heapFloat[(fp+-180)];
+ f25 = f25+f26;
+ f24 = f24-f25;
+if(!(f24 >f5)) //_LBB166_268
+{
+ if(f24 >f23) //_LBB166_68
+{
+ f23 = 0;
+ r11 = f22 < f23;
+ r11 = r11 & 1;
+ r12 = 6;
+ f23 = f24;
+ r13 = r9;
+}
+ f22 = f1*f13;
+ f24 = f11*f2;
+ f25 = 9.9999997473787516e-006;
+ f22 = f22-f24;
+ f6 = f6+f25;
+ f7 = f7+f25;
+ f15 = f15+f25;
+ heapFloat[(fp+-183)] = f15;
+ f15 = f16+f25;
+ f16 = f17+f25;
+ f17 = f18+f25;
+ f18 = f19+f25;
+ heapFloat[(fp+-184)] = f18;
+ f18 = f20+f25;
+ heapFloat[(fp+-185)] = f18;
+ f18 = f21+f25;
+ if(f22 <f5) //_LBB166_71
+{
+ f19 = -f22;
+}
+else{
+ f19 = f22;
+}
+ f21 = heapFloat[(fp+-184)];
+ f20 = heapFloat[(fp+-178)];
+ f20 = f20*f21;
+ f21 = heapFloat[(fp+-177)];
+ f21 = f21*f15;
+ f20 = f20+f21;
+ f24 = heapFloat[(fp+-183)];
+ f21 = heapFloat[(fp+-182)];
+ f21 = f21*f24;
+ f20 = f20+f21;
+ f21 = heapFloat[(fp+-180)];
+ f21 = f21*f7;
+ f20 = f20+f21;
+ f19 = f19-f20;
+ f20 = 1.1920928955078125e-007;
+if(!(f19 >f20)) //_LBB166_268
+{
+ f21 = f2*f2;
+ f21 = f21+f5;
+ f24 = f13*f13;
+ heapFloat[(fp+-188)] = f24;
+ f24 = f21+f24;
+ heapFloat[(g0)] = f24;
+ sqrtf(i7);
+ f24 = f_g0;
+ if(f24 >f20) //_LBB166_75
+{
+ f25 = f19/f24;
+ f19 = 1.0499999523162842;
+ f19 = f25*f19;
+ if(f19 <=f23) //_LBB166_74
+{
+__label__ = 69;
+}
+else{
+ f19 = 0;
+ f23 = -f2;
+ r11 = f22 < f19;
+ f19 = f19/f24;
+ f22 = f23/f24;
+ f24 = f13/f24;
+ r11 = r11 & 1;
+ r12 = 7;
+ r13 = 0;
+ f23 = f25;
+__label__ = 72;
+}
+}
+else{
+__label__ = 69;
+}
+if (__label__ == 69){
+ f19 = f5;
+ f22 = f5;
+ f24 = f5;
+}
+ f25 = f1*f0;
+ f26 = f11*f3;
+ f25 = f25-f26;
+ if(f25 <f5) //_LBB166_79
+{
+ f5 = -f25;
+}
+else{
+ f5 = f25;
+}
+ f27 = heapFloat[(fp+-185)];
+ f26 = heapFloat[(fp+-178)];
+ f26 = f26*f27;
+ f27 = heapFloat[(fp+-177)];
+ f27 = f27*f16;
+ f26 = f26+f27;
+ f28 = heapFloat[(fp+-183)];
+ f27 = heapFloat[(fp+-181)];
+ f27 = f27*f28;
+ f26 = f26+f27;
+ f27 = heapFloat[(fp+-180)];
+ f27 = f27*f6;
+ f26 = f26+f27;
+ f5 = f5-f26;
+if(!(f5 >f20)) //_LBB166_268
+{
+ f26 = f3*f3;
+ f27 = 0;
+ f26 = f26+f27;
+ f28 = f0*f0;
+ heapFloat[(fp+-189)] = f28;
+ f28 = f26+f28;
+ heapFloat[(g0)] = f28;
+ sqrtf(i7);
+ f28 = f_g0;
+ if(f28 >f20) //_LBB166_83
+{
+ f5 = f5/f28;
+ f29 = 1.0499999523162842;
+ f29 = f5*f29;
+if(!(f29 <=f23)) //_LBB166_82
+{
+ f19 = 0;
+ f22 = -f3;
+ r11 = f25 < f19;
+ f19 = f19/f28;
+ f22 = f22/f28;
+ f24 = f0/f28;
+ r11 = r11 & 1;
+ r12 = 8;
+ r13 = 0;
+ f23 = f5;
+}
+}
+ f5 = f1*f14;
+ f25 = f11*f4;
+ f5 = f5-f25;
+ if(f5 <f27) //_LBB166_87
+{
+ f25 = -f5;
+}
+else{
+ f25 = f5;
+}
+ f28 = heapFloat[(fp+-178)];
+ f28 = f28*f18;
+ f29 = heapFloat[(fp+-177)];
+ f29 = f29*f17;
+ f28 = f28+f29;
+ f29 = heapFloat[(fp+-181)];
+ f29 = f29*f7;
+ f28 = f28+f29;
+ f29 = heapFloat[(fp+-182)];
+ f29 = f29*f6;
+ f28 = f28+f29;
+ f25 = f25-f28;
+if(!(f25 >f20)) //_LBB166_268
+{
+ f28 = f4*f4;
+ f28 = f28+f27;
+ f29 = f14*f14;
+ heapFloat[(fp+-190)] = f29;
+ f29 = f28+f29;
+ heapFloat[(g0)] = f29;
+ sqrtf(i7);
+ f29 = f_g0;
+ if(f29 >f20) //_LBB166_91
+{
+ f25 = f25/f29;
+ f30 = 1.0499999523162842;
+ f30 = f25*f30;
+if(!(f30 <=f23)) //_LBB166_90
+{
+ f19 = 0;
+ f22 = -f4;
+ r11 = f5 < f19;
+ f19 = f19/f29;
+ f22 = f22/f29;
+ f24 = f14/f29;
+ r11 = r11 & 1;
+ r12 = 9;
+ r13 = 0;
+ f23 = f25;
+}
+}
+ f5 = f10*f2;
+ f25 = f1*f9;
+ f5 = f5-f25;
+ if(f5 <f27) //_LBB166_95
+{
+ f25 = -f5;
+}
+else{
+ f25 = f5;
+}
+ f30 = heapFloat[(fp+-184)];
+ f29 = heapFloat[(fp+-179)];
+ f29 = f29*f30;
+ f30 = heapFloat[(fp+-177)];
+ f30 = f30*f6;
+ f29 = f29+f30;
+ f30 = heapFloat[(fp+-182)];
+ f30 = f30*f17;
+ f29 = f29+f30;
+ f30 = heapFloat[(fp+-180)];
+ f30 = f30*f16;
+ f29 = f29+f30;
+ f25 = f25-f29;
+if(!(f25 >f20)) //_LBB166_268
+{
+ f29 = f9*f9;
+ f21 = f21+f29;
+ heapFloat[(g0)] = f21;
+ sqrtf(i7);
+ f21 = f_g0;
+ if(f21 >f20) //_LBB166_99
+{
+ f25 = f25/f21;
+ f30 = 1.0499999523162842;
+ f30 = f25*f30;
+if(!(f30 <=f23)) //_LBB166_98
+{
+ f22 = 0;
+ f23 = -f9;
+ r11 = f5 < f22;
+ f19 = f2/f21;
+ f22 = f22/f21;
+ f24 = f23/f21;
+ r11 = r11 & 1;
+ r12 = 10;
+ r13 = 0;
+ f23 = f25;
+}
+}
+ f2 = f10*f3;
+ f5 = f1*f8;
+ f2 = f2-f5;
+ if(f2 <f27) //_LBB166_103
+{
+ f5 = -f2;
+}
+else{
+ f5 = f2;
+}
+ f25 = heapFloat[(fp+-185)];
+ f21 = heapFloat[(fp+-179)];
+ f21 = f21*f25;
+ f25 = heapFloat[(fp+-177)];
+ f25 = f25*f7;
+ f21 = f21+f25;
+ f25 = heapFloat[(fp+-181)];
+ f25 = f25*f17;
+ f21 = f21+f25;
+ f25 = heapFloat[(fp+-180)];
+ f25 = f25*f15;
+ f21 = f21+f25;
+ f5 = f5-f21;
+if(!(f5 >f20)) //_LBB166_268
+{
+ f21 = f8*f8;
+ f25 = f26+f21;
+ heapFloat[(g0)] = f25;
+ sqrtf(i7);
+ f25 = f_g0;
+ if(f25 >f20) //_LBB166_107
+{
+ f5 = f5/f25;
+ f26 = 1.0499999523162842;
+ f26 = f5*f26;
+if(!(f26 <=f23)) //_LBB166_106
+{
+ f22 = 0;
+ f23 = -f8;
+ r11 = f2 < f22;
+ f19 = f3/f25;
+ f22 = f22/f25;
+ f24 = f23/f25;
+ r11 = r11 & 1;
+ r12 = 11;
+ r13 = 0;
+ f23 = f5;
+}
+}
+ f2 = f10*f4;
+ f1 = f1*f12;
+ f1 = f2-f1;
+ if(f1 <f27) //_LBB166_111
+{
+ f2 = -f1;
+}
+else{
+ f2 = f1;
+}
+ f3 = heapFloat[(fp+-179)];
+ f3 = f3*f18;
+ f25 = heapFloat[(fp+-183)];
+ f5 = heapFloat[(fp+-177)];
+ f5 = f5*f25;
+ f3 = f3+f5;
+ f5 = heapFloat[(fp+-181)];
+ f5 = f5*f16;
+ f3 = f3+f5;
+ f5 = heapFloat[(fp+-182)];
+ f5 = f5*f15;
+ f3 = f3+f5;
+ f2 = f2-f3;
+if(!(f2 >f20)) //_LBB166_268
+{
+ f3 = f12*f12;
+ f5 = f28+f3;
+ heapFloat[(g0)] = f5;
+ sqrtf(i7);
+ f5 = f_g0;
+ if(f5 >f20) //_LBB166_115
+{
+ f2 = f2/f5;
+ f25 = 1.0499999523162842;
+ f25 = f2*f25;
+if(!(f25 <=f23)) //_LBB166_114
+{
+ f22 = 0;
+ f23 = -f12;
+ r11 = f1 < f22;
+ f19 = f4/f5;
+ f22 = f22/f5;
+ f24 = f23/f5;
+ r11 = r11 & 1;
+ r12 = 12;
+ r13 = 0;
+ f23 = f2;
+}
+}
+ f1 = f11*f9;
+ f2 = f10*f13;
+ f1 = f1-f2;
+ if(f1 <f27) //_LBB166_119
+{
+ f2 = -f1;
+}
+else{
+ f2 = f1;
+}
+ f4 = heapFloat[(fp+-179)];
+ f4 = f4*f15;
+ f5 = heapFloat[(fp+-178)];
+ f5 = f5*f6;
+ f4 = f4+f5;
+ f5 = heapFloat[(fp+-182)];
+ f5 = f5*f18;
+ f4 = f4+f5;
+ f6 = heapFloat[(fp+-185)];
+ f5 = heapFloat[(fp+-180)];
+ f5 = f5*f6;
+ f4 = f4+f5;
+ f2 = f2-f4;
+if(!(f2 >f20)) //_LBB166_268
+{
+ f4 = heapFloat[(fp+-188)];
+ f4 = f4+f29;
+ f4 = f4+f27;
+ heapFloat[(g0)] = f4;
+ sqrtf(i7);
+ f4 = f_g0;
+ if(f4 >f20) //_LBB166_123
+{
+ f2 = f2/f4;
+ f5 = 1.0499999523162842;
+ f5 = f2*f5;
+if(!(f5 <=f23)) //_LBB166_122
+{
+ f23 = 0;
+ f19 = -f13;
+ r11 = f1 < f23;
+ f19 = f19/f4;
+ f22 = f9/f4;
+ f24 = f23/f4;
+ r11 = r11 & 1;
+ r12 = 13;
+ r13 = 0;
+ f23 = f2;
+}
+}
+ f1 = f11*f8;
+ f2 = f10*f0;
+ f1 = f1-f2;
+ if(f1 <f27) //_LBB166_127
+{
+ f2 = -f1;
+}
+else{
+ f2 = f1;
+}
+ f4 = heapFloat[(fp+-179)];
+ f4 = f4*f16;
+ f5 = heapFloat[(fp+-178)];
+ f5 = f5*f7;
+ f4 = f4+f5;
+ f5 = heapFloat[(fp+-181)];
+ f5 = f5*f18;
+ f4 = f4+f5;
+ f6 = heapFloat[(fp+-184)];
+ f5 = heapFloat[(fp+-180)];
+ f5 = f5*f6;
+ f4 = f4+f5;
+ f2 = f2-f4;
+if(!(f2 >f20)) //_LBB166_268
+{
+ f4 = heapFloat[(fp+-189)];
+ f4 = f4+f21;
+ f4 = f4+f27;
+ heapFloat[(g0)] = f4;
+ sqrtf(i7);
+ f4 = f_g0;
+ if(f4 >f20) //_LBB166_131
+{
+ f2 = f2/f4;
+ f5 = 1.0499999523162842;
+ f5 = f2*f5;
+if(!(f5 <=f23)) //_LBB166_130
+{
+ f23 = 0;
+ f19 = -f0;
+ r11 = f1 < f23;
+ f19 = f19/f4;
+ f22 = f8/f4;
+ f24 = f23/f4;
+ r11 = r11 & 1;
+ r12 = 14;
+ r13 = 0;
+ f23 = f2;
+}
+}
+ f0 = f11*f12;
+ f1 = f10*f14;
+ f0 = f0-f1;
+ if(f0 <f27) //_LBB166_135
+{
+ f1 = -f0;
+}
+else{
+ f1 = f0;
+}
+ f2 = heapFloat[(fp+-179)];
+ f2 = f2*f17;
+ f5 = heapFloat[(fp+-183)];
+ f4 = heapFloat[(fp+-178)];
+ f4 = f4*f5;
+ f2 = f2+f4;
+ f5 = heapFloat[(fp+-185)];
+ f4 = heapFloat[(fp+-181)];
+ f4 = f4*f5;
+ f2 = f2+f4;
+ f5 = heapFloat[(fp+-184)];
+ f4 = heapFloat[(fp+-182)];
+ f4 = f4*f5;
+ f2 = f2+f4;
+ f1 = f1-f2;
+if(!(f1 >f20)) //_LBB166_268
+{
+ f2 = heapFloat[(fp+-190)];
+ f2 = f2+f3;
+ f2 = f2+f27;
+ heapFloat[(g0)] = f2;
+ sqrtf(i7);
+ f2 = f_g0;
+ if(f2 <=f20) //_LBB166_140
+{
+__label__ = 128;
+}
+else{
+ f1 = f1/f2;
+ heapFloat[(fp+-183)] = f1;
+ f3 = 1.0499999523162842;
+ f1 = f1*f3;
+ if(f1 <=f23) //_LBB166_140
+{
+__label__ = 128;
+}
+else{
+ f23 = 0;
+ f19 = -f14;
+ r11 = f0 < f23;
+ f19 = f19/f2;
+ f22 = f12/f2;
+ f24 = f23/f2;
+ r11 = r11 & 1;
+ r13 = sp + -704;
+ r12 = 15;
+__label__ = 132;
+}
+}
+if (__label__ == 128){
+ if(r12 ==0) //_LBB166_268
+{
+break _41;
+}
+else{
+ if(r13 !=0) //_LBB166_143
+{
+ r13 = r13 >> 2;
+ f0 = heapFloat[(r13)];
+ r6 = sp + -704;
+ heapFloat[(fp+-176)] = f0;
+ f1 = heapFloat[(r13+4)];
+ r6 = r6 >> 2;
+ heapFloat[(r6+1)] = f1;
+ f19 = heapFloat[(r13+8)];
+ heapFloat[(r6+2)] = f19;
+ heapFloat[(fp+-183)] = f23;
+__label__ = 133;
+}
+else{
+ r13 = sp + -704;
+ heapFloat[(fp+-183)] = f23;
+__label__ = 132;
+}
+}
+}
+if (__label__ == 132){
+ r6 = sp + -640;
+ r6 = r6 >> 2;
+ f0 = heapFloat[(fp+-160)];
+ f1 = heapFloat[(r6+1)];
+ f2 = heapFloat[(r6+2)];
+ f0 = f0*f19;
+ f1 = f1*f22;
+ f0 = f0+f1;
+ f1 = f2*f24;
+ f0 = f0+f1;
+ r7 = r13 >> 2;
+ heapFloat[(r7)] = f0;
+ f1 = heapFloat[(r6+4)];
+ f2 = heapFloat[(r6+5)];
+ f3 = heapFloat[(r6+6)];
+ f1 = f1*f19;
+ f2 = f2*f22;
+ r7 = sp + -704;
+ f1 = f1+f2;
+ f2 = f3*f24;
+ f1 = f1+f2;
+ r7 = r7 >> 2;
+ heapFloat[(r7+1)] = f1;
+ f2 = heapFloat[(r6+8)];
+ f3 = heapFloat[(r6+9)];
+ f4 = heapFloat[(r6+10)];
+ f19 = f2*f19;
+ f2 = f3*f22;
+ f19 = f19+f2;
+ f2 = f4*f24;
+ f19 = f19+f2;
+ heapFloat[(r7+2)] = f19;
+}
+ if(r11 !=0) //_LBB166_147
+{
+ f0 = -f0;
+ r6 = sp + -704;
+ f1 = -f1;
+ r6 = r6 >> 2;
+ heapFloat[(fp+-176)] = f0;
+ f19 = -f19;
+ heapFloat[(r6+1)] = f1;
+ heapFloat[(r6+2)] = f19;
+}
+ if(r12 <7) //_LBB166_153
+{
+ if(r12 >3) //_LBB166_155
+{
+ f0 = -f0;
+ f1 = -f1;
+ f19 = -f19;
+ r1 = r0;
+ r0 = r10;
+}
+else{
+ r3 = sp + -640;
+ r2 = sp + -688;
+ r4 = sp + -236;
+ heap32[(fp+-186)] = r4;
+ r4 = sp + -248;
+ r1 = r10;
+}
+ r6 = r2 >> 2;
+ f2 = heapFloat[(r6)];
+ f3 = heapFloat[(r6+4)];
+ f4 = heapFloat[(r6+8)];
+ f2 = f2*f0;
+ f3 = f3*f1;
+ f2 = f2+f3;
+ f3 = f4*f19;
+ f2 = f2+f3;
+ heapFloat[(fp+-66)] = f2;
+ f3 = heapFloat[(r6+1)];
+ f4 = heapFloat[(r6+5)];
+ f5 = heapFloat[(r6+9)];
+ f3 = f3*f0;
+ f4 = f4*f1;
+ r7 = sp + -264;
+ f3 = f3+f4;
+ f4 = f5*f19;
+ f3 = f3+f4;
+ r8 = r7 >> 2;
+ heapFloat[(r8+1)] = f3;
+ f4 = heapFloat[(r6+2)];
+ f5 = heapFloat[(r6+6)];
+ f6 = heapFloat[(r6+10)];
+ f4 = f4*f0;
+ f5 = f5*f1;
+ f4 = f4+f5;
+ f5 = f6*f19;
+ f4 = f4+f5;
+ heapFloat[(r8+2)] = f4;
+ if(f2 <f27) //_LBB166_158
+{
+ f2 = -f2;
+}
+ if(f3 <f27) //_LBB166_161
+{
+ f3 = -f3;
+}
+ if(f4 <f27) //_LBB166_164
+{
+ f4 = -f4;
+}
+ if(f3 <=f2) //_LBB166_169
+{
+ if(f2 <=f4) //_LBB166_171
+{
+ r6 = 2;
+ r8 = 0;
+ r9 = 1;
+}
+else{
+ r6 = 0;
+ r8 = 1;
+ r9 = 2;
+}
+}
+else{
+ if(f3 <=f4) //_LBB166_168
+{
+ r6 = 2;
+ r8 = 0;
+ r9 = 1;
+}
+else{
+ r6 = 1;
+ r8 = 0;
+ r9 = 2;
+}
+}
+ r10 = r6 << 2;
+ r11 = (r4 + r10)|0;
+ r13 = (r2 + r10)|0;
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ r11 = r11 >> 2;
+ r13 = r13 >> 2;
+ f2 = heapFloat[(r11)];
+ f3 = heapFloat[(r13)];
+ f4 = heapFloat[(r1)];
+ f5 = heapFloat[(r0)];
+ r7 = (r7 + r10)|0;
+ f4 = f4-f5;
+ f3 = f2*f3;
+ r7 = r7 >> 2;
+ f5 = heapFloat[(r7)];
+ if(f5 <f27) //_LBB166_174
+{
+ r7 = r6 | 4;
+ r6 = r6 | 8;
+ r7 = r7 << 2;
+ r6 = r6 << 2;
+ r7 = (r2 + r7)|0;
+ r6 = (r2 + r6)|0;
+ r7 = r7 >> 2;
+ r6 = r6 >> 2;
+ f5 = heapFloat[(r1+1)];
+ f6 = heapFloat[(r0+1)];
+ f7 = heapFloat[(r7)];
+ f8 = heapFloat[(r6)];
+ f9 = heapFloat[(r1+2)];
+ f10 = heapFloat[(r0+2)];
+ f5 = f5-f6;
+ f6 = f2*f7;
+ f7 = f9-f10;
+ f2 = f2*f8;
+ f3 = f4+f3;
+ f4 = f5+f6;
+ f2 = f7+f2;
+}
+else{
+ r7 = r6 | 4;
+ r6 = r6 | 8;
+ r7 = r7 << 2;
+ r6 = r6 << 2;
+ r7 = (r2 + r7)|0;
+ r6 = (r2 + r6)|0;
+ r7 = r7 >> 2;
+ r6 = r6 >> 2;
+ f5 = heapFloat[(r1+1)];
+ f6 = heapFloat[(r0+1)];
+ f7 = heapFloat[(r7)];
+ f8 = heapFloat[(r6)];
+ f9 = heapFloat[(r1+2)];
+ f10 = heapFloat[(r0+2)];
+ f5 = f5-f6;
+ f6 = f2*f7;
+ f7 = f9-f10;
+ f2 = f2*f8;
+ f3 = f4-f3;
+ f4 = f5-f6;
+ f2 = f7-f2;
+}
+ r1 = -1;
+ r6 = -4;
+ r6 = r12 < 4 ? r1 : r6;
+ r6 = (r6 + r12)|0;
+ if(r6 ==1) //_LBB166_178
+{
+ r7 = 0;
+ r10 = 2;
+}
+else{
+ if(r6 !=0) //_LBB166_179
+{
+ r7 = 0;
+ r10 = 1;
+}
+else{
+ r7 = 1;
+ r10 = 2;
+}
+}
+ r11 = r8 | 4;
+ r13 = r7 | 4;
+ r14 = r8 | 8;
+ r15 = r9 | 4;
+ r16 = r7 | 8;
+ r17 = r10 | 4;
+ r7 = r7 << 2;
+ r13 = r13 << 2;
+ r11 = r11 << 2;
+ r8 = r8 << 2;
+ r18 = r9 | 8;
+ r19 = (r3 + r7)|0;
+ r13 = (r3 + r13)|0;
+ r16 = r16 << 2;
+ r20 = r10 << 2;
+ r17 = r17 << 2;
+ r10 = r10 | 8;
+ r21 = (r2 + r8)|0;
+ r11 = (r2 + r11)|0;
+ r14 = r14 << 2;
+ r15 = r15 << 2;
+ r9 = r9 << 2;
+ r19 = r19 >> 2;
+ r13 = r13 >> 2;
+ r16 = (r3 + r16)|0;
+ r22 = (r3 + r20)|0;
+ r17 = (r3 + r17)|0;
+ r10 = r10 << 2;
+ r21 = r21 >> 2;
+ heap32[(fp+-178)] = r21;
+ r11 = r11 >> 2;
+ heap32[(fp+-177)] = r11;
+ r14 = (r2 + r14)|0;
+ r23 = (r2 + r9)|0;
+ r15 = (r2 + r15)|0;
+ r18 = r18 << 2;
+ r16 = r16 >> 2;
+ r22 = r22 >> 2;
+ r17 = r17 >> 2;
+ r3 = (r3 + r10)|0;
+ r10 = r14 >> 2;
+ heap32[(fp+-179)] = r10;
+ r14 = r23 >> 2;
+ heap32[(fp+-180)] = r14;
+ r15 = r15 >> 2;
+ r2 = (r2 + r18)|0;
+ f5 = heapFloat[(r19)];
+ f6 = heapFloat[(r21)];
+ f7 = heapFloat[(r13)];
+ f8 = heapFloat[(r11)];
+ f9 = heapFloat[(r22)];
+ f10 = heapFloat[(r14)];
+ f11 = heapFloat[(r17)];
+ f12 = heapFloat[(r15)];
+ r3 = r3 >> 2;
+ r2 = r2 >> 2;
+ r8 = (r4 + r8)|0;
+ f13 = f5*f6;
+ f14 = f7*f8;
+ f15 = heapFloat[(r16)];
+ f16 = heapFloat[(r10)];
+ f17 = heapFloat[(r3)];
+ f18 = heapFloat[(r2)];
+ r3 = r8 >> 2;
+ r4 = (r4 + r9)|0;
+ f6 = f9*f6;
+ f8 = f11*f8;
+ f21 = f3*f5;
+ f22 = f4*f7;
+ f13 = f13+f14;
+ f14 = f15*f16;
+ f5 = f5*f10;
+ f7 = f7*f12;
+ f13 = f13+f14;
+ f14 = heapFloat[(r3)];
+ r3 = r4 >> 2;
+ f23 = f3*f9;
+ f24 = f4*f11;
+ f6 = f6+f8;
+ f8 = f17*f16;
+ f9 = f9*f10;
+ f10 = f11*f12;
+ f11 = f21+f22;
+ f12 = f2*f15;
+ f5 = f5+f7;
+ f7 = f15*f18;
+ f6 = f6+f8;
+ f8 = f11+f12;
+ f11 = f14*f13;
+ f5 = f5+f7;
+ f7 = heapFloat[(r3)];
+ f12 = f23+f24;
+ f15 = f2*f17;
+ f9 = f9+f10;
+ f10 = f17*f18;
+ f9 = f9+f10;
+ f10 = f12+f15;
+ f12 = f14*f6;
+ f14 = f8-f11;
+ f15 = f7*f5;
+ r3 = sp + -296;
+ f16 = f10-f12;
+ f7 = f7*f9;
+ f17 = f14-f15;
+ r4 = r3 >> 2;
+ f18 = f16-f7;
+ heapFloat[(fp+-74)] = f17;
+ f14 = f14+f15;
+ heapFloat[(r4+1)] = f18;
+ f11 = f8+f11;
+ f16 = f16+f7;
+ heapFloat[(r4+2)] = f14;
+ f12 = f10+f12;
+ f14 = f11+f15;
+ heapFloat[(r4+3)] = f16;
+ f16 = f12+f7;
+ heapFloat[(r4+4)] = f14;
+ f11 = f11-f15;
+ heapFloat[(r4+5)] = f16;
+ r8 = heap32[(fp+-186)];
+ r7 = (r8 + r7)|0;
+ f7 = f12-f7;
+ heapFloat[(r4+6)] = f11;
+ r9 = sp + -304;
+ r8 = (r8 + r20)|0;
+ r7 = r7 >> 2;
+ heapFloat[(r4+7)] = f7;
+ r4 = sp + -368;
+ r10 = 0;
+ r11 = 4;
+ r13 = r9 >> 2;
+ r8 = r8 >> 2;
+ heap32[(fp+-76)] = heap32[(r7)];
+ heap32[(r13+1)] = heap32[(r8)];
+ r7 = r10;
+_217: while(true){
+ if(r7 <2) //_LBB166_199
+{
+ r18 = 0;
+ r17 = (r18 - r7)|0;
+ r14 = r1;
+ r8 = r4;
+_220: while(true){
+ r4 = r8;
+ if(r14 >1) //_LBB166_196
+{
+break _220;
+}
+else{
+ f7 = r14; //fitos r14, f7
+ r16 = (r3 + 8)|0;
+ r8 = r18;
+ r10 = r18;
+ r13 = r4;
+_223: while(true){
+ if(r11 >0) //_LBB166_181
+{
+ r19 = (r3 + r8)|0;
+ r20 = (r16 + r8)|0;
+ r21 = r7 << 2;
+ r22 = (r9 + r21)|0;
+ r23 = (r19 + r21)|0;
+ r22 = r22 >> 2;
+ r23 = r23 >> 2;
+ f11 = heapFloat[(r22)];
+ f12 = heapFloat[(r23)];
+ f14 = f7*f12;
+ if(f14 <f11) //_LBB166_183
+{
+ r24 = r13 >> 2;
+ r25 = r19 >> 2;
+ r10 = (r10 + 1)|0;
+ heap32[(r24)] = heap32[(r25)];
+ heap32[(r24+1)] = heap32[(r25+1)];
+ r24 = r10 & 8;
+ if(r24 ==0) //_LBB166_185
+{
+ r13 = (r13 + 8)|0;
+ f12 = heapFloat[(r23)];
+ f11 = heapFloat[(r22)];
+}
+else{
+__label__ = 179;
+break _217;
+}
+}
+ r20 = r11 > 1 ? r20 : r3;
+ r23 = (r20 + r21)|0;
+ r23 = r23 >> 2;
+ f14 = heapFloat[(r23)];
+ f15 = f7*f12;
+ f16 = f7*f14;
+ r23 = f15 < f11;
+ r24 = f16 < f11;
+ r23 = r23 ^ r24;
+ if(r23 != 0) //_LBB166_188
+{
+ r23 = r17 << 2;
+ r19 = (r19 + r23)|0;
+ r20 = (r20 + r23)|0;
+ r19 = r19 >> 2;
+ r20 = r20 >> 2;
+ f15 = heapFloat[(r19+1)];
+ f16 = heapFloat[(r20+1)];
+ f11 = f7*f11;
+ f16 = f16-f15;
+ f14 = f14-f12;
+ f14 = f16/f14;
+ f11 = f11-f12;
+ r19 = (r13 + r23)|0;
+ f11 = f14*f11;
+ r19 = r19 >> 2;
+ f11 = f15+f11;
+ heapFloat[(r19+1)] = f11;
+ r19 = (r13 + r21)|0;
+ f11 = heapFloat[(r22)];
+ r10 = (r10 + 1)|0;
+ r19 = r19 >> 2;
+ f11 = f7*f11;
+ heapFloat[(r19)] = f11;
+ r19 = r10 & 8;
+ if(r19 ==0) //_LBB166_190
+{
+ r13 = (r13 + 8)|0;
+}
+else{
+__label__ = 179;
+break _217;
+}
+}
+ r11 = (r11 + -1)|0;
+ r8 = (r8 + 8)|0;
+}
+else{
+break _223;
+}
+}
+ r3 = sp + -368;
+ r8 = sp + -128;
+ r8 = r4 == r3 ? r8 : r3;
+ r14 = (r14 + 2)|0;
+ r3 = r4;
+ r11 = r10;
+}
+}
+ r7 = (r7 + 1)|0;
+}
+else{
+__label__ = 177;
+break _217;
+}
+}
+if (__label__ == 177){
+ r4 = r3;
+}
+ r1 = sp + -368;
+if(!(r4 ==r1)) //_LBB166_202
+{
+ r3 = r10 << 3;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r3;
+ memcpy(i7);
+}
+ if(r10 <1) //_LBB166_268
+{
+break _41;
+}
+else{
+ f7 = f13*f9;
+ f11 = f5*f6;
+ f12 = 1;
+ f7 = f7-f11;
+ r3 = r6 << 2;
+ f7 = f12/f7;
+ r4 = heap32[(fp+-186)];
+ r3 = (r4 + r3)|0;
+ f6 = f6*f7;
+ r3 = r3 >> 2;
+ f11 = f13*f7;
+ f5 = f5*f7;
+ f7 = f9*f7;
+ f6 = -f6;
+ f9 = heapFloat[(r3)];
+ r3 = heap32[(fp+-178)];
+ f13 = heapFloat[(r3)];
+ r3 = heap32[(fp+-180)];
+ f14 = heapFloat[(r3)];
+ r3 = heap32[(fp+-177)];
+ f15 = heapFloat[(r3)];
+ f16 = heapFloat[(r15)];
+ r3 = heap32[(fp+-179)];
+ f17 = heapFloat[(r3)];
+ f18 = heapFloat[(r2)];
+ r2 = (r1 + 4)|0;
+ r3 = 0;
+_243: while(true){
+ r4 = r2 >> 2;
+ f21 = heapFloat[(r4+-1)];
+ f22 = heapFloat[(r4)];
+ f23 = f21-f8;
+ f24 = f22-f10;
+ f25 = f23*f7;
+ f26 = f24*f5;
+ f25 = f25-f26;
+ f23 = f23*f6;
+ f24 = f24*f11;
+ r4 = (r3 * 3)|0;
+ f26 = f15*f25;
+ f23 = f23+f24;
+ f24 = f13*f25;
+ r6 = sp + -464;
+ r4 = r4 << 2;
+ f25 = f17*f25;
+ f26 = f4+f26;
+ f28 = f16*f23;
+ f24 = f3+f24;
+ f29 = f14*f23;
+ r4 = (r6 + r4)|0;
+ f24 = f24+f29;
+ f26 = f26+f28;
+ f25 = f2+f25;
+ f23 = f18*f23;
+ f28 = f0*f24;
+ f29 = f1*f26;
+ f23 = f25+f23;
+ r4 = r4 >> 2;
+ heapFloat[(r4)] = f24;
+ f24 = f28+f29;
+ f25 = f19*f23;
+ r7 = sp + -496;
+ r8 = r3 << 2;
+ r8 = (r7 + r8)|0;
+ heapFloat[(r4+1)] = f26;
+ f24 = f24+f25;
+ f24 = f9-f24;
+ r8 = r8 >> 2;
+ heapFloat[(r4+2)] = f23;
+ heapFloat[(r8)] = f24;
+ if(f24 >=f27) //_LBB166_206
+{
+ r4 = r3 << 3;
+ r8 = r4 | 4;
+ r4 = (r1 + r4)|0;
+ r8 = (r1 + r8)|0;
+ r4 = r4 >> 2;
+ r3 = (r3 + 1)|0;
+ r8 = r8 >> 2;
+ heapFloat[(r4)] = f21;
+ heapFloat[(r8)] = f22;
+}
+ r10 = (r10 + -1)|0;
+ r2 = (r2 + 8)|0;
+if(!(r10 !=0)) //_LBB166_204
+{
+break _243;
+}
+}
+ if(r3 <1) //_LBB166_268
+{
+break _41;
+}
+else{
+ r2 = 4;
+ r2 = r3 < 4 ? r3 : r2;
+ r4 = 1;
+ r8 = r2 < 1 ? r4 : r2;
+ if(r3 >r8) //_LBB166_215
+{
+_252: do {
+ if(r3 >1) //_LBB166_217
+{
+ f0 = heapFloat[(fp+-124)];
+ r9 = 1;
+ r7 = 0;
+_254: while(true){
+ r10 = sp + -496;
+ r11 = r9 << 2;
+ r10 = (r10 + r11)|0;
+ r10 = r10 >> 2;
+ f1 = heapFloat[(r10)];
+ r10 = (r9 + 1)|0;
+ r7 = f1 > f0 ? r9 : r7;
+ f0 = f1 > f0 ? f1 : f0;
+ r9 = r10;
+if(!(r3 !=r10)) //_LBB166_218
+{
+break _252;
+}
+}
+}
+else{
+ r7 = 0;
+}
+} while(0);
+_258: do {
+ if(r3 ==1) //_LBB166_224
+{
+ r9 = r1 >> 2;
+ f0 = heapFloat[(fp+-92)];
+ f1 = heapFloat[(r9+1)];
+__label__ = 214;
+break _258;
+}
+else{
+ if(r3 ==2) //_LBB166_225
+{
+ r9 = r1 >> 2;
+ f0 = heapFloat[(fp+-92)];
+ f1 = heapFloat[(r9+2)];
+ f2 = heapFloat[(r9+1)];
+ f12 = heapFloat[(r9+3)];
+ f0 = f0+f1;
+ f1 = f2+f12;
+ f2 = heapFloat[(fp+-187)];
+ f0 = f0*f2;
+ f1 = f1*f2;
+__label__ = 214;
+break _258;
+}
+else{
+ r9 = (r3 + -1)|0;
+_264: do {
+ if(r9 >0) //_LBB166_223
+{
+ r10 = (r1 + 8)|0;
+ f0 = 0;
+ f1 = f0;
+ f2 = f0;
+_266: while(true){
+ r11 = r10 >> 2;
+ f3 = heapFloat[(r11+-2)];
+ f4 = heapFloat[(r11+1)];
+ f5 = heapFloat[(r11)];
+ f6 = heapFloat[(r11+-1)];
+ f7 = f3*f4;
+ f8 = f5*f6;
+ f3 = f3+f5;
+ f5 = f7-f8;
+ f4 = f6+f4;
+ f3 = f3*f5;
+ f4 = f4*f5;
+ r9 = (r9 + -1)|0;
+ f2 = f2+f5;
+ f1 = f3+f1;
+ f0 = f4+f0;
+ r10 = (r10 + 8)|0;
+if(!(r9 !=0)) //_LBB166_226
+{
+break _264;
+}
+}
+}
+else{
+ f0 = f27;
+ f1 = f27;
+ f2 = f27;
+}
+} while(0);
+ r9 = r3 << 3;
+ r9 = (r9 + r1)|0;
+ r9 = r9 >> 2;
+ r10 = r1 >> 2;
+ f3 = heapFloat[(r9+-2)];
+ f4 = heapFloat[(r10+1)];
+ f5 = heapFloat[(fp+-92)];
+ f6 = heapFloat[(r9+-1)];
+ f7 = f3*f4;
+ f8 = f5*f6;
+ f7 = f7-f8;
+ f2 = f2+f7;
+ if(f2 <f27) //_LBB166_229
+{
+ f8 = -f2;
+}
+else{
+ f8 = f2;
+}
+ if(f8 >f20) //_LBB166_232
+{
+ f8 = 3;
+ f2 = f2*f8;
+ f2 = f12/f2;
+}
+else{
+ f2 = 999999984306749440;
+}
+ if(r3 >0) //_LBB166_235
+{
+ f3 = f3+f5;
+ f4 = f6+f4;
+ f3 = f3*f7;
+ f4 = f4*f7;
+ f1 = f3+f1;
+ f3 = f4+f0;
+ f0 = f1*f2;
+ f1 = f3*f2;
+__label__ = 214;
+}
+else{
+ r1 = 0;
+__label__ = 219;
+}
+}
+}
+} while(0);
+if (__label__ == 214){
+ r1 = (r1 + 4)|0;
+ r9 = sp + -32;
+ r10 = r3;
+_283: while(true){
+ r11 = r1 >> 2;
+ f2 = heapFloat[(r11+-1)];
+ f3 = heapFloat[(r11)];
+ f3 = f3-f1;
+ f2 = f2-f0;
+ heapFloat[(g0)] = f3;
+ heapFloat[(g0+1)] = f2;
+ r10 = (r10 + -1)|0;
+ r1 = (r1 + 8)|0;
+ r11 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ atan2f(i7);
+ heapFloat[(r9)] = f_g0;
+ r9 = r11;
+if(!(r10 !=0)) //_LBB166_237
+{
+break _283;
+}
+}
+ r1 = sp + -64;
+ r9 = r3;
+_286: while(true){
+ r9 = (r9 + -1)|0;
+ r10 = (r1 + 4)|0;
+ r1 = r1 >> 2;
+ heap32[(r1)] = 1;
+ r1 = r10;
+if(!(r9 !=0)) //_LBB166_239
+{
+break _286;
+}
+}
+ r1 = 1;
+}
+ r9 = sp + -64;
+ r10 = r7 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ f0 = 6.2831854820251465;
+ f1 = r8; //fitos r8, f1
+ f1 = f0/f1;
+ heap32[(r11)] = 0;
+ heap32[(fp+-144)] = r7;
+ f6 = 0;
+_290: while(true){
+ if(r4 <r8) //_LBB166_242
+{
+ r11 = sp + -32;
+ r13 = (r11 + r10)|0;
+ r13 = r13 >> 2;
+ f2 = r4; //fitos r4, f2
+ f2 = f2*f1;
+ f3 = heapFloat[(r13)];
+ f2 = f2+f3;
+ f3 = 3.1415927410125732;
+ if(f2 >f3) //_LBB166_244
+{
+ f4 = -6.2831854820251465;
+ f2 = f2+f4;
+}
+ r13 = sp + -576;
+ r14 = r4 << 2;
+ r13 = (r13 + r14)|0;
+ r13 = r13 >> 2;
+ r14 = r1 & 1;
+ heap32[(r13)] = r7;
+ if(r14 ==0) //_LBB166_259
+{
+__label__ = 233;
+break _290;
+}
+else{
+ f4 = 1000000000;
+ r14 = 0;
+ r15 = r7;
+_297: while(true){
+ r16 = r14 << 2;
+ r17 = (r9 + r16)|0;
+ r17 = r17 >> 2;
+ r17 = heap32[(r17)];
+ if(r17 !=0) //_LBB166_249
+{
+ r16 = (r11 + r16)|0;
+ r16 = r16 >> 2;
+ f5 = heapFloat[(r16)];
+ f5 = f5-f2;
+ if(f5 <f6) //_LBB166_251
+{
+ f5 = -f5;
+}
+ if(f5 >f3) //_LBB166_254
+{
+ f5 = f0-f5;
+}
+if(!(f5 >=f4)) //_LBB166_248
+{
+ heap32[(r13)] = r14;
+ r15 = r14;
+ f4 = f5;
+}
+}
+ r14 = (r14 + 1)|0;
+if(!(r3 !=r14)) //_LBB166_247
+{
+break _297;
+}
+}
+ if(r15 !=r7) //_LBB166_260
+{
+ r11 = r15 << 2;
+ r11 = (r9 + r11)|0;
+ r4 = (r4 + 1)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = 0;
+}
+else{
+__label__ = 233;
+break _290;
+}
+}
+}
+else{
+__label__ = 236;
+break _290;
+}
+}
+switch(__label__ ){//multiple entries
+case 233:
+ r0 = _2E_str65;
+ r1 = _2E_str166;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 248;
+ _assert(i7);
+break;
+case 236:
+ if(r8 >0) //_LBB166_267
+{
+ r1 = 0;
+_315: while(true){
+ r3 = sp + -576;
+ r4 = r1 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r4 = (r3 * 3)|0;
+ r4 = r4 << 2;
+ r4 = (r6 + r4)|0;
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r4)];
+ f1 = heapFloat[(r0)];
+ f0 = f0+f1;
+ heapFloat[(fp+-148)] = f0;
+ r7 = sp + -592;
+ f1 = heapFloat[(r4+1)];
+ f2 = heapFloat[(r0+1)];
+ f1 = f1+f2;
+ r8 = r7 >> 2;
+ heapFloat[(r8+1)] = f1;
+ f2 = heapFloat[(r4+2)];
+ f3 = heapFloat[(r0+2)];
+ f2 = f2+f3;
+ r4 = sp + -496;
+ r3 = r3 << 2;
+ r3 = (r4 + r3)|0;
+ r4 = r5 >> 2;
+ heapFloat[(r8+2)] = f2;
+ r4 = heap32[(r4)];
+ r3 = r3 >> 2;
+ r8 = sp + -704;
+ f3 = heapFloat[(r3)];
+ r3 = r4 >> 2;
+ r4 = r8 >> 2;
+ r3 = heap32[(r3+4)];
+ f4 = -f3;
+ f5 = heapFloat[(r4+2)];
+ if(r12 >3) //_LBB166_265
+{
+ f6 = heapFloat[(fp+-176)];
+ f7 = heapFloat[(r4+1)];
+ f8 = f6*f3;
+ r4 = sp + -160;
+ f9 = f7*f3;
+ f0 = f0-f8;
+ r7 = r4 >> 2;
+ f3 = f5*f3;
+ f1 = f1-f9;
+ heapFloat[(fp+-40)] = f0;
+ f0 = f2-f3;
+ heapFloat[(r7+1)] = f1;
+ heapFloat[(r7+2)] = f0;
+ r8 = sp + -144;
+ f0 = -f6;
+ heap32[(r7+3)] = 0;
+ r7 = r8 >> 2;
+ f1 = -f7;
+ heapFloat[(fp+-36)] = f0;
+ f0 = -f5;
+ heapFloat[(r7+1)] = f1;
+ heapFloat[(r7+2)] = f0;
+ heap32[(r7+3)] = 0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r4;
+ heapFloat[(g0+3)] = f4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+else{
+ f0 = heapFloat[(r4+1)];
+ f1 = heapFloat[(fp+-176)];
+ r4 = sp + -176;
+ f1 = -f1;
+ r8 = r4 >> 2;
+ f0 = -f0;
+ heapFloat[(fp+-44)] = f1;
+ f1 = -f5;
+ heapFloat[(r8+1)] = f0;
+ heapFloat[(r8+2)] = f1;
+ heap32[(r8+3)] = 0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r7;
+ heapFloat[(g0+3)] = f4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+ r1 = (r1 + 1)|0;
+ if(r1 >=r2) //_LBB166_268
+{
+break _41;
+}
+else{
+continue _315;
+}
+}
+}
+else{
+break _41;
+}
+break;
+}
+}
+else{
+ if(r12 <4) //_LBB166_212
+{
+ r1 = (r6 + 8)|0;
+ r2 = sp + -496;
+_324: while(true){
+ r4 = r1 >> 2;
+ f12 = heapFloat[(r4+-2)];
+ f20 = heapFloat[(r0)];
+ f12 = f12+f20;
+ heapFloat[(fp+-132)] = f12;
+ r6 = sp + -528;
+ f12 = heapFloat[(r4+-1)];
+ f20 = heapFloat[(r0+1)];
+ r7 = r6 >> 2;
+ f12 = f12+f20;
+ heapFloat[(r7+1)] = f12;
+ f12 = heapFloat[(r4)];
+ f20 = heapFloat[(r0+2)];
+ f12 = f12+f20;
+ heapFloat[(r7+2)] = f12;
+ r4 = r5 >> 2;
+ r4 = heap32[(r4)];
+ r7 = sp + -704;
+ r7 = r7 >> 2;
+ r4 = r4 >> 2;
+ r8 = r2 >> 2;
+ f12 = heapFloat[(r8)];
+ f20 = heapFloat[(r7+2)];
+ f27 = heapFloat[(r7+1)];
+ f0 = heapFloat[(fp+-176)];
+ r4 = heap32[(r4+4)];
+ r7 = sp + -208;
+ f0 = -f0;
+ r8 = r7 >> 2;
+ f27 = -f27;
+ heapFloat[(fp+-52)] = f0;
+ f20 = -f20;
+ heapFloat[(r8+1)] = f27;
+ heapFloat[(r8+2)] = f20;
+ heap32[(r8+3)] = 0;
+ f12 = -f12;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r6;
+ heapFloat[(g0+3)] = f12;
+ r3 = (r3 + -1)|0;
+ r2 = (r2 + 4)|0;
+ r1 = (r1 + 12)|0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ if(r3 ==0) //_LBB166_268
+{
+break _41;
+}
+else{
+continue _324;
+}
+}
+}
+else{
+ r1 = (r6 + 8)|0;
+_327: while(true){
+ r2 = r7 >> 2;
+ r4 = r1 >> 2;
+ f12 = heapFloat[(r2)];
+ f20 = heapFloat[(fp+-176)];
+ f27 = heapFloat[(r4+-2)];
+ f0 = heapFloat[(r0)];
+ f27 = f27+f0;
+ f0 = f20*f12;
+ r2 = sp + -704;
+ f27 = f27-f0;
+ heapFloat[(fp+-136)] = f27;
+ r2 = r2 >> 2;
+ f27 = heapFloat[(r2+1)];
+ f0 = heapFloat[(r4+-1)];
+ f1 = heapFloat[(r0+1)];
+ r6 = sp + -544;
+ f0 = f0+f1;
+ f1 = f27*f12;
+ r8 = r6 >> 2;
+ f0 = f0-f1;
+ heapFloat[(r8+1)] = f0;
+ f0 = heapFloat[(r2+2)];
+ f1 = heapFloat[(r4)];
+ f2 = heapFloat[(r0+2)];
+ f1 = f1+f2;
+ f2 = f0*f12;
+ f1 = f1-f2;
+ r2 = r5 >> 2;
+ heapFloat[(r8+2)] = f1;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ r4 = sp + -192;
+ f20 = -f20;
+ r8 = r4 >> 2;
+ f27 = -f27;
+ heapFloat[(fp+-48)] = f20;
+ f20 = -f0;
+ heapFloat[(r8+1)] = f27;
+ heapFloat[(r8+2)] = f20;
+ heap32[(r8+3)] = 0;
+ f12 = -f12;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r6;
+ heapFloat[(g0+3)] = f12;
+ r3 = (r3 + -1)|0;
+ r7 = (r7 + 4)|0;
+ r1 = (r1 + 12)|0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ if(r3 ==0) //_LBB166_268
+{
+break _41;
+}
+else{
+continue _327;
+}
+}
+}
+}
+}
+}
+}
+else{
+ r0 = sp + -688;
+ r2 = r0 >> 2;
+ f20 = heapFloat[(fp+-172)];
+ f27 = heapFloat[(r2+4)];
+ f2 = heapFloat[(r2+5)];
+ f3 = heapFloat[(r2+1)];
+ f4 = f0*f20;
+ f5 = f1*f27;
+ f6 = heapFloat[(r2+8)];
+ f7 = heapFloat[(r2+9)];
+ f8 = heapFloat[(r2+6)];
+ f9 = heapFloat[(r2+2)];
+ f4 = f4+f5;
+ f5 = f19*f6;
+ f10 = f0*f3;
+ f11 = f1*f2;
+ f12 = heapFloat[(r2+10)];
+ f4 = f4+f5;
+ f5 = f10+f11;
+ f10 = f19*f7;
+ f11 = f0*f9;
+ f13 = f1*f8;
+ f14 = 0;
+ f15 = -1;
+ f16 = 1;
+ f5 = f5+f10;
+ f4 = f4 > f14 ? f15 : f16;
+ f10 = f11+f13;
+ f11 = f19*f12;
+ f13 = heapFloat[(fp+-181)];
+ f4 = f13*f4;
+ f10 = f10+f11;
+ f5 = f5 > f14 ? f15 : f16;
+ f11 = heapFloat[(fp+-182)];
+ f5 = f11*f5;
+ r2 = sp + -640;
+ f20 = f4*f20;
+ f11 = heapFloat[(r1+28)];
+ f10 = f10 > f14 ? f15 : f16;
+ r3 = r2 >> 2;
+ f13 = heapFloat[(fp+-180)];
+ f10 = f13*f10;
+ f27 = f4*f27;
+ f13 = heapFloat[(r1+29)];
+ f20 = f11+f20;
+ f3 = f5*f3;
+ r4 = (r12 + -7)|0;
+ f11 = heapFloat[(r3+4)];
+ f17 = heapFloat[(fp+-160)];
+ f18 = heapFloat[(r3+8)];
+ f21 = heapFloat[(r3+5)];
+ f22 = heapFloat[(r3+1)];
+ f23 = heapFloat[(r3+9)];
+ f24 = heapFloat[(r3+6)];
+ f25 = heapFloat[(r3+2)];
+ f26 = heapFloat[(r3+10)];
+ f4 = f4*f6;
+ f6 = heapFloat[(r1+30)];
+ f27 = f13+f27;
+ f2 = f5*f2;
+ f20 = f20+f3;
+ f3 = f10*f9;
+ f9 = heapFloat[(r1+12)];
+ heapFloat[(fp+-182)] = f9;
+ f9 = heapFloat[(r1+13)];
+ heapFloat[(fp+-181)] = f9;
+ f9 = heapFloat[(r1+14)];
+ heapFloat[(fp+-180)] = f9;
+ r3 = (r4 / 3)|0;
+ r4 = (r4 % 3)|0;
+ r10 = sp + -512;
+ f20 = f20+f3;
+ f3 = f6+f4;
+ f4 = f5*f7;
+ f27 = f27+f2;
+ f2 = f10*f8;
+ r3 = r3 << 2;
+ r4 = r4 << 2;
+ f27 = f27+f2;
+ r12 = r10 >> 2;
+ heapFloat[(fp+-128)] = f20;
+ f2 = f3+f4;
+ f3 = f10*f12;
+ r2 = (r2 + r3)|0;
+ r0 = (r0 + r4)|0;
+ f2 = f2+f3;
+ heapFloat[(r12+1)] = f27;
+ r2 = r2 >> 2;
+ heapFloat[(r12+2)] = f2;
+ r0 = r0 >> 2;
+ f3 = heapFloat[(r2)];
+ f4 = heapFloat[(r0)];
+ f5 = heapFloat[(r2+4)];
+ f6 = heapFloat[(r0+4)];
+ f7 = heapFloat[(r2+8)];
+ f8 = heapFloat[(r0+8)];
+ f9 = f3*f4;
+ f10 = f5*f6;
+ f9 = f9+f10;
+ f10 = f7*f8;
+ f9 = f9+f10;
+ f10 = f9*f9;
+ f10 = f16-f10;
+ f12 = 9.9999997473787516e-005;
+ if(f10 >f12) //_LBB166_151
+{
+ f12 = f0*f17;
+ f13 = f1*f11;
+ f12 = f12+f13;
+ f13 = f19*f18;
+ f28 = f0*f22;
+ f29 = f1*f21;
+ f12 = f12+f13;
+ f13 = f28+f29;
+ f28 = f19*f23;
+ f29 = f0*f25;
+ f30 = f1*f24;
+ f13 = f13+f28;
+ f12 = f12 > f14 ? f16 : f15;
+ f28 = f29+f30;
+ f29 = f19*f26;
+ f30 = heapFloat[(fp+-179)];
+ f12 = f30*f12;
+ f28 = f28+f29;
+ f13 = f13 > f14 ? f16 : f15;
+ f29 = heapFloat[(fp+-178)];
+ f13 = f29*f13;
+ f17 = f12*f17;
+ f11 = f12*f11;
+ f12 = f12*f18;
+ f14 = f28 > f14 ? f16 : f15;
+ f15 = heapFloat[(fp+-177)];
+ f14 = f15*f14;
+ f15 = heapFloat[(fp+-182)];
+ f15 = f15+f17;
+ f17 = f13*f22;
+ f18 = heapFloat[(fp+-181)];
+ f11 = f18+f11;
+ f18 = f13*f21;
+ f21 = heapFloat[(fp+-180)];
+ f12 = f21+f12;
+ f13 = f13*f23;
+ f15 = f15+f17;
+ f17 = f14*f25;
+ f11 = f11+f18;
+ f18 = f14*f24;
+ f12 = f12+f13;
+ f14 = f14*f26;
+ f13 = f15+f17;
+ f11 = f11+f18;
+ f14 = f12+f14;
+ f12 = f20-f13;
+ f11 = f27-f11;
+ f14 = f2-f14;
+ f3 = f3*f12;
+ f5 = f5*f11;
+ f3 = f3+f5;
+ f5 = f7*f14;
+ f7 = f4*f12;
+ f11 = f6*f11;
+ f3 = f3+f5;
+ f5 = f7+f11;
+ f14 = f8*f14;
+ f3 = f9*f3;
+ f14 = f5+f14;
+ f14 = f3-f14;
+ f3 = f16/f10;
+ f14 = f14*f3;
+}
+ f3 = f4*f14;
+ f20 = f20+f3;
+ f3 = f6*f14;
+ f4 = f8*f14;
+ f27 = f27+f3;
+ heapFloat[(fp+-128)] = f20;
+ f20 = f2+f4;
+ heapFloat[(r12+1)] = f27;
+ r0 = r5 >> 2;
+ heapFloat[(r12+2)] = f20;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ r2 = sp + -224;
+ f0 = -f0;
+ r3 = r2 >> 2;
+ f1 = -f1;
+ heapFloat[(fp+-56)] = f0;
+ f0 = -f19;
+ heapFloat[(r3+1)] = f1;
+ heapFloat[(r3+2)] = f0;
+ heap32[(r3+3)] = 0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r10;
+ f0 = heapFloat[(fp+-183)];
+ heapFloat[(g0+3)] = f0;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ return;
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN21btCollisionDispatcher13findAlgorithmEP17btCollisionObjectS1_P20btPersistentManifold(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = sp + -8;
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+ r3 = r0 >> 2;
+ r4 = heap32[(fp+3)];
+ heap32[(fp+-2)] = r1;
+ r5 = heap32[(fp+2)];
+ r6 = r2 >> 2;
+ heap32[(r3+1)] = r4;
+ r3 = heap32[(r6+48)];
+ r4 = r5 >> 2;
+ r3 = r3 >> 2;
+ r4 = heap32[(r4+48)];
+ r3 = heap32[(r3+1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+1)];
+ r3 = (r3 * 144)|0;
+ r1 = (r1 + r3)|0;
+ r3 = r4 << 2;
+ r1 = (r1 + r3)|0;
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+50)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+2)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r5;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ return;
+}
+
+function _ZN21btCollisionDispatcher13needsResponseEP17btCollisionObjectS1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+51)];
+ r1 = r0 & 4;
+if(!(r1 !=0)) //_LBB168_4
+{
+ r1 = heap32[(fp+2)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+51)];
+ r2 = r1 & 4;
+if(!(r2 !=0)) //_LBB168_4
+{
+ r0 = r0 & 3;
+ if(r0 ==0) //_LBB168_5
+{
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+else{
+ r0 = r1 & 3;
+ r1 = 0;
+ r0 = r0 == r1;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN23btCollisionPairCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV23btCollisionPairCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN23btCollisionPairCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV23btCollisionPairCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN23btCollisionPairCallback14processOverlapER16btBroadphasePair(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+2)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2+47)];
+ r0 = heap32[(r0+1)];
+ r3 = heap32[(fp+1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN21btCollisionDispatcher25dispatchAllCollisionPairsEP22btOverlappingPairCacheRK16btDispatcherInfoP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = _ZTV23btCollisionPairCallback;
+ r1 = sp + -16;
+ r0 = (r0 + 8)|0;
+ r2 = r1 >> 2;
+ r3 = heap32[(fp+2)];
+ heap32[(fp+-4)] = r0;
+ r0 = heap32[(fp+1)];
+ r4 = heap32[(fp)];
+ heap32[(r2+1)] = r3;
+ r3 = r0 >> 2;
+ heap32[(r2+2)] = r4;
+ r2 = heap32[(r3)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ r3 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ return;
+}
+
+function _ZNK21btCollisionDispatcher15getNumManifoldsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+3)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN21btCollisionDispatcher26getInternalManifoldPointerEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+5)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN21btCollisionDispatcher26getManifoldByIndexInternalEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r0 = heap32[(r0+5)];
+ r1 = r1 << 2;
+ r0 = (r0 + r1)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN21btCollisionDispatcher22freeCollisionAlgorithmEPv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+if(!(r0 ==0)) //_LBB176_5
+{
+ r1 = heap32[(fp)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+48)];
+ r1 = r1 >> 2;
+ r2 = heap32[(r1+4)];
+if(!(uint(r2) >uint(r0))) //_LBB176_4
+{
+ r3 = heap32[(r1)];
+ r4 = heap32[(r1+1)];
+ r3 = (r3 * r4)|0;
+ r2 = (r2 + r3)|0;
+if(!(uint(r2) <=uint(r0))) //_LBB176_4
+{
+ r2 = r0 >> 2;
+ r3 = heap32[(r1+3)];
+ heap32[(r2)] = r3;
+ heap32[(r1+3)] = r0;
+ r0 = heap32[(r1+2)];
+ r0 = (r0 + 1)|0;
+ heap32[(r1+2)] = r0;
+ return;
+}
+}
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ r2 = (r2 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r2;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZN21btCollisionDispatcher15releaseManifoldEP20btPersistentManifold(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = gNumManifold;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = heap32[(fp)];
+ r1 = (r1 + -1)|0;
+ r3 = r2 >> 2;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r3)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+5)];
+ r1 = heap32[(fp+1)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ r0 = r1 >> 2;
+ r2 = heap32[(r3+3)];
+ r4 = heap32[(r0+284)];
+ if(r2 >r4) //_LBB177_2
+{
+ r2 = (r2 + -1)|0;
+ r5 = r4 << 2;
+ r6 = heap32[(r3+5)];
+ r2 = r2 << 2;
+ r7 = (r6 + r5)|0;
+ r6 = (r6 + r2)|0;
+ r7 = r7 >> 2;
+ r6 = r6 >> 2;
+ r8 = heap32[(r7)];
+ r6 = heap32[(r6)];
+ heap32[(r7)] = r6;
+ r6 = heap32[(r3+5)];
+ r2 = (r6 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = r8;
+ r2 = heap32[(r3+5)];
+ r2 = (r2 + r5)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ heap32[(r2+284)] = r4;
+ r2 = heap32[(r3+3)];
+ r2 = (r2 + -1)|0;
+ heap32[(r3+3)] = r2;
+if(!(r1 ==0)) //_LBB177_7
+{
+ r2 = heap32[(r3+49)];
+ r2 = r2 >> 2;
+ r3 = heap32[(r2+4)];
+if(!(uint(r3) >uint(r1))) //_LBB177_6
+{
+ r4 = heap32[(r2)];
+ r5 = heap32[(r2+1)];
+ r4 = (r4 * r5)|0;
+ r3 = (r3 + r4)|0;
+if(!(uint(r3) <=uint(r1))) //_LBB177_6
+{
+ r3 = heap32[(r2+3)];
+ heap32[(r0)] = r3;
+ heap32[(r2+3)] = r1;
+ r0 = heap32[(r2+2)];
+ r0 = (r0 + 1)|0;
+ heap32[(r2+2)] = r0;
+ return;
+}
+}
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ r2 = (r2 + 1)|0;
+ heap32[(r1)] = r2;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+else{
+ r0 = _2E_str472;
+ r1 = _2E_str573;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 120;
+ _assert(i7);
+}
+}
+
+function _ZN21btCollisionDispatcherD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV21btCollisionDispatcher;
+ r2 = _ZTV16btManifoldResult;
+ r3 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ r2 = (r2 + 8)|0;
+ heap32[(r3)] = r1;
+ heap32[(r3+7)] = r2;
+ r1 = heap32[(r3+5)];
+if(!(r1 ==0)) //_LBB178_4
+{
+ r2 = heapU8[r0+24];
+if(!(r2 ==0)) //_LBB178_3
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r4 = heap32[(r2)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r2)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r3+5)] = 0;
+}
+ r1 = 1;
+ heap8[r0+24] = r1;
+ heap32[(r3+5)] = 0;
+ r0 = _ZTV12btDispatcher;
+ heap32[(r3+3)] = 0;
+ r0 = (r0 + 8)|0;
+ heap32[(r3+4)] = 0;
+ heap32[(r3)] = r0;
+ return;
+}
+
+function _ZN21btCollisionDispatcherD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV21btCollisionDispatcher;
+ r2 = _ZTV16btManifoldResult;
+ r3 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ r2 = (r2 + 8)|0;
+ heap32[(r3)] = r1;
+ heap32[(r3+7)] = r2;
+ r1 = heap32[(r3+5)];
+if(!(r1 ==0)) //_LBB179_4
+{
+ r2 = heapU8[r0+24];
+if(!(r2 ==0)) //_LBB179_3
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r4 = heap32[(r2)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r2)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r3+5)] = 0;
+}
+ r1 = 1;
+ heap8[r0+24] = r1;
+ heap32[(r3+5)] = 0;
+ r1 = _ZTV12btDispatcher;
+ heap32[(r3+3)] = 0;
+ r1 = (r1 + 8)|0;
+ heap32[(r3+4)] = 0;
+ heap32[(r3)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN21btCollisionDispatcher14getNewManifoldEPvS0_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = gNumManifold;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ heap32[(r0)] = r1;
+ r0 = heapU8[r2+4];
+ r0 = r0 & 2;
+ if(r0 !=0) //_LBB180_2
+{
+ r0 = r4 >> 2;
+ r0 = heap32[(r0+48)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 1017370378;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ f0 = f_g0;
+ r0 = r3 >> 2;
+ heapFloat[(fp+-2)] = f0;
+ r0 = heap32[(r0+48)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 1017370378;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = sp + -4;
+ r1 = sp + -8;
+ r0 = f_g0 < f0 ? r0 : r1;
+ heapFloat[(fp+-1)] = f_g0;
+}
+else{
+ r0 = gContactBreakingThreshold;
+}
+ r1 = r2 >> 2;
+ r5 = heap32[(r1+49)];
+ r6 = r3 >> 2;
+ r7 = r4 >> 2;
+ r5 = r5 >> 2;
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r6+46)];
+ f1 = heapFloat[(r7+46)];
+ r6 = heap32[(r5+2)];
+ f2 = heapFloat[(r0)];
+ f0 = f0 < f1 ? f0 : f1;
+_5: do {
+ if(r6 ==0) //_LBB180_9
+{
+ r0 = gNumAlignedAllocs;
+ r0 = r0 >> 2;
+ r5 = heap32[(r0)];
+ r5 = (r5 + 1)|0;
+ heap32[(r0)] = r5;
+ heap32[(g0)] = 1159;
+ malloc(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB180_11
+{
+ r5 = 0;
+ r6 = (r0 + 4)|0;
+ r5 = (r5 - r6)|0;
+ r5 = r5 & 15;
+ r5 = (r0 + r5)|0;
+ r6 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r0;
+ r0 = r6;
+}
+else{
+break _5;
+}
+}
+else{
+ r0 = heap32[(r5)];
+ if(r0 >1139) //_LBB180_6
+{
+ if(r6 >0) //_LBB180_8
+{
+ r0 = heap32[(r5+3)];
+ r7 = r0 >> 2;
+ r7 = heap32[(r7)];
+ r6 = (r6 + -1)|0;
+ heap32[(r5+3)] = r7;
+ heap32[(r5+2)] = r6;
+}
+else{
+ r1 = _2E_str371;
+ r2 = _2E_str169;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 70;
+ _assert(i7);
+}
+}
+else{
+ r1 = _2E_str270;
+ r2 = _2E_str169;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 69;
+ _assert(i7);
+}
+}
+} while(0);
+ r5 = r0 >> 2;
+ heap32[(r5)] = 1;
+ heap32[(r5+28)] = 0;
+ r6 = 0;
+ heap32[(r5+29)] = 0;
+ heap8[r0+120] = r6;
+ heap32[(r5+31)] = 0;
+ heap32[(r5+32)] = 0;
+ heap32[(r5+33)] = 0;
+ heap32[(r5+34)] = 0;
+ heap32[(r5+35)] = 0;
+ heap32[(r5+36)] = 0;
+ heap32[(r5+37)] = 0;
+ heap32[(r5+97)] = 0;
+ heap32[(r5+98)] = 0;
+ heap8[r0+396] = r6;
+ heap32[(r5+100)] = 0;
+ heap32[(r5+101)] = 0;
+ heap32[(r5+102)] = 0;
+ heap32[(r5+103)] = 0;
+ heap32[(r5+104)] = 0;
+ heap32[(r5+105)] = 0;
+ heap32[(r5+106)] = 0;
+ heap32[(r5+166)] = 0;
+ heap32[(r5+167)] = 0;
+ heap8[r0+672] = r6;
+ heap32[(r5+169)] = 0;
+ heap32[(r5+170)] = 0;
+ heap32[(r5+171)] = 0;
+ heap32[(r5+172)] = 0;
+ heap32[(r5+173)] = 0;
+ heap32[(r5+174)] = 0;
+ heap32[(r5+175)] = 0;
+ heap32[(r5+235)] = 0;
+ heap32[(r5+236)] = 0;
+ heap8[r0+948] = r6;
+ heap32[(r5+238)] = 0;
+ heap32[(r5+239)] = 0;
+ heap32[(r5+240)] = 0;
+ heap32[(r5+241)] = 0;
+ heap32[(r5+242)] = 0;
+ heap32[(r5+243)] = 0;
+ heap32[(r5+244)] = 0;
+ heap32[(r5+277)] = r3;
+ heap32[(r5+278)] = r4;
+ heap32[(r5+279)] = 0;
+ heapFloat[(r5+280)] = f2;
+ heapFloat[(r5+281)] = f0;
+ r3 = heap32[(r1+3)];
+ heap32[(r5+284)] = r3;
+ r3 = heap32[(r1+4)];
+ r4 = heap32[(r1+3)];
+ if(r3 ==r4) //_LBB180_14
+{
+ r5 = 1;
+ r7 = r4 << 1;
+ r7 = r4 == 0 ? r5 : r7;
+if(!(r3 >=r7)) //_LBB180_13
+{
+ if(r7 !=0) //_LBB180_17
+{
+ r3 = gNumAlignedAllocs;
+ r3 = r3 >> 2;
+ r8 = heap32[(r3)];
+ r9 = r7 << 2;
+ r8 = (r8 + 1)|0;
+ r9 = r9 | 3;
+ heap32[(r3)] = r8;
+ r3 = (r9 + 16)|0;
+ heap32[(g0)] = r3;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB180_19
+{
+ r8 = (r3 + 4)|0;
+ r8 = (r6 - r8)|0;
+ r8 = r8 & 15;
+ r8 = (r3 + r8)|0;
+ r9 = (r8 + 4)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r3;
+ r3 = r9;
+}
+}
+else{
+ r3 = 0;
+}
+ r8 = (r2 + 20)|0;
+ if(r4 <1) //_LBB180_22
+{
+ r6 = r8 >> 2;
+ r9 = heap32[(r6)];
+}
+else{
+_26: while(true){
+ r9 = r8 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r6 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r3 + r10)|0;
+ r11 = heap32[(r11)];
+ r6 = (r6 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r11;
+if(!(r4 !=r6)) //_LBB180_23
+{
+break _26;
+}
+}
+ r8 = (r2 + 20)|0;
+}
+ if(r9 !=0) //_LBB180_27
+{
+ r6 = heapU8[r2+24];
+ if(r6 !=0) //_LBB180_29
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r6 = heap32[(r4)];
+ r6 = (r6 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r4)] = r6;
+ r4 = heap32[(r9+-1)];
+ heap32[(g0)] = r4;
+ free(i7);
+ r4 = heap32[(r1+3)];
+}
+ r6 = r8 >> 2;
+ heap32[(r6)] = 0;
+}
+ r6 = r8 >> 2;
+ heap8[r2+24] = r5;
+ heap32[(r6)] = r3;
+ heap32[(r1+4)] = r7;
+}
+}
+ r2 = r4 << 2;
+ r3 = heap32[(r1+5)];
+ r2 = (r3 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = r0;
+ r2 = heap32[(r1+3)];
+ r2 = (r2 + 1)|0;
+ heap32[(r1+3)] = r2;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN21btCollisionDispatcher13clearManifoldEP20btPersistentManifold(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+279)];
+if(!(r1 <1)) //_LBB181_3
+{
+ r2 = 0;
+_3: while(true){
+ r2 = (r2 + 1)|0;
+ if(r1 >r2) //_LBB181_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ heap32[(r0+279)] = 0;
+ return;
+}
+
+function _ZN21btCollisionDispatcher14needsCollisionEP17btCollisionObjectS1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ if(r0 !=0) //_LBB182_2
+{
+ r1 = heap32[(fp+2)];
+ if(r1 !=0) //_LBB182_4
+{
+ r2 = heap32[(fp)];
+ r2 = r2 >> 2;
+ r3 = heap32[(r2+1)];
+ r4 = r3 & 1;
+if(!(r4 != 0)) //_LBB182_8
+{
+ r4 = heapU8[r0+204];
+ r4 = r4 & 3;
+if(!(r4 ==0)) //_LBB182_8
+{
+ r4 = heapU8[r1+204];
+ r4 = r4 & 3;
+if(!(r4 ==0)) //_LBB182_8
+{
+ r3 = r3 | 1;
+ heap32[(r2+1)] = r3;
+ r2 = _2E_str977;
+ heap32[(g0)] = r2;
+ printf(i7);
+}
+}
+}
+ r2 = r0 >> 2;
+ r3 = heap32[(r2+54)];
+ if(r3 ==2) //_LBB182_10
+{
+__label__ = 10;
+}
+else{
+ if(r3 !=5) //_LBB182_12
+{
+__label__ = 12;
+}
+else{
+__label__ = 10;
+}
+}
+_12: do {
+if (__label__ == 10){
+ r3 = r1 >> 2;
+ r3 = heap32[(r3+54)];
+if(!(r3 ==2)) //_LBB182_16
+{
+if(!(r3 ==5)) //_LBB182_16
+{
+break _12;
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+} while(0);
+ r3 = heap32[(r2+63)];
+ if(r3 !=0) //_LBB182_14
+{
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ r0 = 0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = r_g0 == r0;
+}
+else{
+ r0 = 0;
+}
+ r0 = r0 & 1;
+ r0 = r0 ^ 1;
+ r_g0 = r0;
+ return;
+}
+else{
+ r0 = _2E_str876;
+ r1 = _2E_str573;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 167;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str775;
+ r1 = _2E_str573;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 166;
+ _assert(i7);
+}
+}
+
+function _ZN21btCollisionDispatcher26allocateCollisionAlgorithmEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+48)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+2)];
+ r2 = heap32[(fp+1)];
+ if(r1 ==0) //_LBB183_7
+{
+ r0 = gNumAlignedAllocs;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = (r2 + 19)|0;
+ heap32[(g0)] = r0;
+ malloc(i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB183_9
+{
+ r1 = 0;
+ r2 = (r0 + 4)|0;
+ r1 = (r1 - r2)|0;
+ r1 = r1 & 15;
+ r1 = (r0 + r1)|0;
+ r2 = r1 >> 2;
+ heap32[(r2)] = r0;
+ r0 = (r1 + 4)|0;
+}
+ r_g0 = r0;
+ return;
+}
+else{
+if(!(r2 ==0)) //_LBB183_4
+{
+ r3 = heap32[(r0)];
+if(!(r3 >=r2)) //_LBB183_4
+{
+ r0 = _2E_str270;
+ r1 = _2E_str169;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 69;
+ _assert(i7);
+}
+}
+ if(r1 >0) //_LBB183_6
+{
+ r2 = heap32[(r0+3)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r1 = (r1 + -1)|0;
+ heap32[(r0+3)] = r3;
+ heap32[(r0+2)] = r1;
+ r_g0 = r2;
+ return;
+}
+else{
+ r0 = _2E_str371;
+ r1 = _2E_str169;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 70;
+ _assert(i7);
+}
+}
+}
+
+function _ZN21btCollisionDispatcher19defaultNearCallbackER16btBroadphasePairRS_RK16btDispatcherInfo(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -184;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r1 = r1 >> 2;
+ r2 = r0 >> 2;
+ r3 = heap32[(r2)];
+ r4 = heap32[(r1)];
+ r5 = heap32[(r1+1)];
+ r3 = r3 >> 2;
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ r4 = heap32[(r4)];
+ r5 = heap32[(r5)];
+ r3 = heap32[(r3+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r_g0;
+_1: do {
+if(!(r3 ==0)) //_LBB184_8
+{
+ r3 = heap32[(fp+2)];
+ r6 = heap32[(r1+2)];
+ if(r6 ==0) //_LBB184_3
+{
+ r6 = heap32[(r2)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = 0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = r_g0;
+ heap32[(r1+2)] = r6;
+ if(r6 ==0) //_LBB184_8
+{
+break _1;
+}
+}
+ r0 = _ZTV16btManifoldResult;
+ r1 = sp + -160;
+ r0 = (r0 + 8)|0;
+ r2 = r1 >> 2;
+ heap32[(fp+-40)] = r0;
+ heap32[(r2+1)] = 0;
+ heap32[(r2+34)] = r4;
+ r0 = r4 >> 2;
+ heap32[(r2+35)] = r5;
+ heap32[(r2+2)] = heap32[(r0+1)];
+ heap32[(r2+3)] = heap32[(r0+2)];
+ heap32[(r2+4)] = heap32[(r0+3)];
+ heap32[(r2+5)] = heap32[(r0+4)];
+ heap32[(r2+6)] = heap32[(r0+5)];
+ heap32[(r2+7)] = heap32[(r0+6)];
+ heap32[(r2+8)] = heap32[(r0+7)];
+ heap32[(r2+9)] = heap32[(r0+8)];
+ heap32[(r2+10)] = heap32[(r0+9)];
+ heap32[(r2+11)] = heap32[(r0+10)];
+ heap32[(r2+12)] = heap32[(r0+11)];
+ heap32[(r2+13)] = heap32[(r0+12)];
+ heap32[(r2+14)] = heap32[(r0+13)];
+ heap32[(r2+15)] = heap32[(r0+14)];
+ heap32[(r2+16)] = heap32[(r0+15)];
+ r7 = r5 >> 2;
+ heap32[(r2+17)] = heap32[(r0+16)];
+ heap32[(r2+18)] = heap32[(r7+1)];
+ heap32[(r2+19)] = heap32[(r7+2)];
+ heap32[(r2+20)] = heap32[(r7+3)];
+ heap32[(r2+21)] = heap32[(r7+4)];
+ heap32[(r2+22)] = heap32[(r7+5)];
+ heap32[(r2+23)] = heap32[(r7+6)];
+ heap32[(r2+24)] = heap32[(r7+7)];
+ heap32[(r2+25)] = heap32[(r7+8)];
+ heap32[(r2+26)] = heap32[(r7+9)];
+ heap32[(r2+27)] = heap32[(r7+10)];
+ heap32[(r2+28)] = heap32[(r7+11)];
+ heap32[(r2+29)] = heap32[(r7+12)];
+ heap32[(r2+30)] = heap32[(r7+13)];
+ heap32[(r2+31)] = heap32[(r7+14)];
+ heap32[(r2+32)] = heap32[(r7+15)];
+ r0 = r6 >> 2;
+ heap32[(r2+33)] = heap32[(r7+16)];
+ r0 = heap32[(r0)];
+ r2 = r3 >> 2;
+ r7 = heap32[(r2+2)];
+ if(r7 !=1) //_LBB184_6
+{
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+3)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r1;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ f0 = f_g0;
+ f1 = heapFloat[(r2+3)];
+if(!(f1 <=f0)) //_LBB184_8
+{
+ heapFloat[(r2+3)] = f0;
+}
+}
+else{
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+2)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r1;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ return;
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN17btCollisionObject24checkCollideWithOverrideEPS_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ heap32[(r0+48)] = r1;
+ heap32[(r0+50)] = r1;
+ return;
+}
+
+function _ZNK17btCollisionObject28calculateSerializeBufferSizeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 248;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN17btCollisionObjectD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV17btCollisionObject;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN17btCollisionObjectD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV17btCollisionObject;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+if(!(r0 ==0)) //_LBB189_2
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZNK17btCollisionObject9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r1+4)] = heap32[(r2+1)];
+ heap32[(r1+5)] = heap32[(r2+2)];
+ heap32[(r1+6)] = heap32[(r2+3)];
+ heap32[(r1+7)] = heap32[(r2+4)];
+ heap32[(r1+8)] = heap32[(r2+5)];
+ heap32[(r1+9)] = heap32[(r2+6)];
+ heap32[(r1+10)] = heap32[(r2+7)];
+ heap32[(r1+11)] = heap32[(r2+8)];
+ heap32[(r1+12)] = heap32[(r2+9)];
+ heap32[(r1+13)] = heap32[(r2+10)];
+ heap32[(r1+14)] = heap32[(r2+11)];
+ heap32[(r1+15)] = heap32[(r2+12)];
+ heap32[(r1+16)] = heap32[(r2+13)];
+ heap32[(r1+17)] = heap32[(r2+14)];
+ heap32[(r1+18)] = heap32[(r2+15)];
+ heap32[(r1+19)] = heap32[(r2+16)];
+ heap32[(r1+20)] = heap32[(r2+17)];
+ heap32[(r1+21)] = heap32[(r2+18)];
+ heap32[(r1+22)] = heap32[(r2+19)];
+ heap32[(r1+23)] = heap32[(r2+20)];
+ heap32[(r1+24)] = heap32[(r2+21)];
+ heap32[(r1+25)] = heap32[(r2+22)];
+ heap32[(r1+26)] = heap32[(r2+23)];
+ heap32[(r1+27)] = heap32[(r2+24)];
+ heap32[(r1+28)] = heap32[(r2+25)];
+ heap32[(r1+29)] = heap32[(r2+26)];
+ heap32[(r1+30)] = heap32[(r2+27)];
+ heap32[(r1+31)] = heap32[(r2+28)];
+ heap32[(r1+32)] = heap32[(r2+29)];
+ heap32[(r1+33)] = heap32[(r2+30)];
+ heap32[(r1+34)] = heap32[(r2+31)];
+ heap32[(r1+35)] = heap32[(r2+32)];
+ heap32[(r1+36)] = heap32[(r2+33)];
+ heap32[(r1+37)] = heap32[(r2+34)];
+ heap32[(r1+38)] = heap32[(r2+35)];
+ heap32[(r1+39)] = heap32[(r2+36)];
+ heap32[(r1+40)] = heap32[(r2+37)];
+ heap32[(r1+41)] = heap32[(r2+38)];
+ heap32[(r1+42)] = heap32[(r2+39)];
+ heap32[(r1+43)] = heap32[(r2+40)];
+ heap32[(r1+44)] = heap32[(r2+41)];
+ heap32[(r1+45)] = heap32[(r2+42)];
+ heap32[(r1+46)] = heap32[(r2+43)];
+ heap32[(r1+47)] = heap32[(r2+44)];
+ r3 = heap32[(r2+45)];
+ heap32[(r1+55)] = r3;
+ r3 = heap32[(fp+2)];
+ heap32[(r1+48)] = heap32[(r2+46)];
+ heap32[(r1)] = 0;
+ r4 = r3 >> 2;
+ r5 = heap32[(r4)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+7)];
+ r6 = heap32[(r2+48)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ heap32[(r1+1)] = r_g0;
+ heap32[(r1+2)] = 0;
+ r5 = heap32[(r2+51)];
+ heap32[(r1+56)] = r5;
+ r5 = heap32[(r2+52)];
+ heap32[(r1+57)] = r5;
+ r5 = heap32[(r2+53)];
+ heap32[(r1+58)] = r5;
+ r5 = heap32[(r2+54)];
+ heap32[(r1+59)] = r5;
+ r5 = heap32[(r2+54)];
+ heap32[(r1+59)] = r5;
+ heap32[(r1+49)] = heap32[(r2+55)];
+ heap32[(r1+50)] = heap32[(r2+56)];
+ heap32[(r1+51)] = heap32[(r2+57)];
+ r5 = heap32[(r2+58)];
+ heap32[(r1+60)] = r5;
+ r5 = heap32[(r4)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+10)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r0 = r_g0;
+ r5 = heap32[(r4)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+7)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r5 = r_g0;
+ heap32[(r1+3)] = r5;
+if(!(r5 ==0)) //_LBB190_2
+{
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+12)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+ heap32[(r1+52)] = heap32[(r2+60)];
+ heap32[(r1+53)] = heap32[(r2+61)];
+ heap32[(r1+54)] = heap32[(r2+62)];
+ heap32[(r1+54)] = heap32[(r2+62)];
+ r0 = heap32[(r2+63)];
+ heap32[(r1+61)] = r0;
+ r0 = _2E_str78;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ r3 = heap32[(fp+1)];
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r4 = r3 >> 2;
+ r5 = heap32[(r4)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r2 = r_g0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r5 = r2 >> 2;
+ r1 = heap32[(r1+5)];
+ r5 = heap32[(r5+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+5)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r_g0;
+ heap32[(g0+3)] = 1245859651;
+ heap32[(g0+4)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ return;
+}
+
+function _ZN16btManifoldResult20setShapeIdentifiersAEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ heap32[(r0+36)] = r1;
+ heap32[(r0+38)] = r2;
+ return;
+}
+
+function _ZN16btManifoldResult20setShapeIdentifiersBEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ heap32[(r0+37)] = r1;
+ heap32[(r0+39)] = r2;
+ return;
+}
+
+function _ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ heap32[(r0+21)] = r1;
+ return;
+}
+
+function _ZN16btCollisionWorld14getDebugDrawerEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+21)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heapU16[(r0+10)>>1];
+ r3 = heapU16[(r1+4)>>1];
+ r2 = r2 & r3;
+ r2 = r2 & 65535;
+ if(r2 ==0) //_LBB196_2
+{
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+else{
+ r1 = heapU16[(r1+6)>>1];
+ r0 = heapU16[(r0+8)>>1];
+ r0 = r1 & r0;
+ r0 = r0 & 65535;
+ r1 = 0;
+ r0 = r0 != r1;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN12btConvexCast10CastResult9DebugDrawEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN12btConvexCast10CastResult15drawCoordSystemERK11btTransform(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN12btConvexCast10CastResultD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN12btConvexCast10CastResultE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN12btConvexCast10CastResultD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN12btConvexCast10CastResultE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitERK9btVector3fii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -56;var g0 = i7>>2; // save stack
+ r0 = sp + -8;
+ r1 = heap32[(fp+3)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp)];
+ r4 = r0 >> 2;
+ r5 = heap32[(fp+4)];
+ heap32[(fp+-2)] = r1;
+ r1 = r2 >> 2;
+ heap32[(r4+1)] = r5;
+ r2 = r3 >> 2;
+ r3 = heap32[(r2+12)];
+ f0 = heapFloat[(r2+22)];
+ f1 = heapFloat[(r1)];
+ f2 = heapFloat[(r2+18)];
+ f3 = heapFloat[(r2+14)];
+ f4 = heapFloat[(r2+23)];
+ f5 = heapFloat[(r1+1)];
+ f6 = heapFloat[(r2+19)];
+ f7 = heapFloat[(r2+15)];
+ f8 = heapFloat[(r2+24)];
+ f9 = heapFloat[(r1+2)];
+ f10 = heapFloat[(r2+20)];
+ f11 = heapFloat[(r2+16)];
+ r1 = sp + -40;
+ f3 = f3*f1;
+ f7 = f7*f5;
+ r4 = r1 >> 2;
+ heap32[(fp+-10)] = r3;
+ f2 = f2*f1;
+ f6 = f6*f5;
+ f3 = f3+f7;
+ f7 = f11*f9;
+ f0 = f0*f1;
+ f1 = f4*f5;
+ f2 = f2+f6;
+ f4 = f10*f9;
+ f3 = f3+f7;
+ heap32[(r4+1)] = r0;
+ f0 = f0+f1;
+ f1 = f8*f9;
+ f2 = f2+f4;
+ heapFloat[(r4+2)] = f3;
+ f0 = f0+f1;
+ heapFloat[(r4+3)] = f2;
+ heapFloat[(r4+4)] = f0;
+ heap32[(r4+5)] = 0;
+ heap32[(r4+6)] = heap32[(fp+2)];
+ r0 = heap32[(r2+11)];
+ r2 = r0 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ return;
+}
+
+function _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitE_0RK9btVector3fii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -56;var g0 = i7>>2; // save stack
+ r0 = sp + -8;
+ r1 = heap32[(fp+3)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp)];
+ r4 = r0 >> 2;
+ r5 = heap32[(fp+4)];
+ heap32[(fp+-2)] = r1;
+ r1 = r2 >> 2;
+ heap32[(r4+1)] = r5;
+ r2 = r3 >> 2;
+ r3 = heap32[(r2+12)];
+ f0 = heapFloat[(r2+22)];
+ f1 = heapFloat[(r1)];
+ f2 = heapFloat[(r2+18)];
+ f3 = heapFloat[(r2+14)];
+ f4 = heapFloat[(r2+23)];
+ f5 = heapFloat[(r1+1)];
+ f6 = heapFloat[(r2+19)];
+ f7 = heapFloat[(r2+15)];
+ f8 = heapFloat[(r2+24)];
+ f9 = heapFloat[(r1+2)];
+ f10 = heapFloat[(r2+20)];
+ f11 = heapFloat[(r2+16)];
+ r1 = sp + -40;
+ f3 = f3*f1;
+ f7 = f7*f5;
+ r4 = r1 >> 2;
+ heap32[(fp+-10)] = r3;
+ f2 = f2*f1;
+ f6 = f6*f5;
+ f3 = f3+f7;
+ f7 = f11*f9;
+ f0 = f0*f1;
+ f1 = f4*f5;
+ f2 = f2+f6;
+ f4 = f10*f9;
+ f3 = f3+f7;
+ heap32[(r4+1)] = r0;
+ f0 = f0+f1;
+ f1 = f8*f9;
+ f2 = f2+f4;
+ heapFloat[(r4+2)] = f3;
+ f0 = f0+f1;
+ heapFloat[(r4+3)] = f2;
+ heapFloat[(r4+4)] = f0;
+ heap32[(r4+5)] = 0;
+ heap32[(r4+6)] = heap32[(fp+2)];
+ r0 = heap32[(r2+11)];
+ r2 = r0 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ return;
+}
+
+function _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder215addSingleResultERNS_14LocalRayResultEb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = sp + -8;
+ r0 = r0 >> 2;
+ heap32[(fp+-2)] = -1;
+ r2 = heap32[(fp+1)];
+ r3 = r1 >> 2;
+ r4 = heap32[(r0+6)];
+ r5 = r2 >> 2;
+ heap32[(r3+1)] = r4;
+ r3 = heap32[(r5+1)];
+if(!(r3 !=0)) //_LBB205_2
+{
+ heap32[(r5+1)] = r1;
+}
+ r1 = heap32[(fp+2)];
+ r3 = heap32[(r0+5)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+3)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r1 = heap32[(r0+5)];
+ r1 = r1 >> 2;
+ heap32[(r0+1)] = heap32[(r1+1)];
+ return;
+}
+
+function _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitERK9btVector3SG_fii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -72;var g0 = i7>>2; // save stack
+ r0 = sp + -8;
+ r1 = heap32[(fp+4)];
+ r2 = heap32[(fp)];
+ r3 = r0 >> 2;
+ r4 = heap32[(fp+5)];
+ heap32[(fp+-2)] = r1;
+ r1 = r2 >> 2;
+ heap32[(r3+1)] = r4;
+ r2 = heap32[(r1+52)];
+ f0 = heapFloat[(fp+3)];
+ r3 = r2 >> 2;
+ f1 = heapFloat[(r3+1)];
+ if(f1 <f0) //_LBB206_2
+{
+ f_g0 = f0;
+ return;
+}
+else{
+ r4 = heap32[(fp+1)];
+ r5 = heap32[(fp+2)];
+ r1 = heap32[(r1+53)];
+ r6 = sp + -56;
+ r7 = r6 >> 2;
+ heap32[(fp+-14)] = r1;
+ r1 = r4 >> 2;
+ heap32[(r7+1)] = r0;
+ heap32[(r7+2)] = heap32[(r1)];
+ heap32[(r7+3)] = heap32[(r1+1)];
+ heap32[(r7+4)] = heap32[(r1+2)];
+ r0 = r5 >> 2;
+ heap32[(r7+5)] = heap32[(r1+3)];
+ heap32[(r7+6)] = heap32[(r0)];
+ heap32[(r7+7)] = heap32[(r0+1)];
+ heap32[(r7+8)] = heap32[(r0+2)];
+ heap32[(r7+9)] = heap32[(r0+3)];
+ heapFloat[(r7+10)] = f0;
+ r0 = heap32[(r3)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+3)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ return;
+}
+}
+
+function _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitE_0RK9btVector3SG_fii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -72;var g0 = i7>>2; // save stack
+ r0 = sp + -8;
+ r1 = heap32[(fp+4)];
+ r2 = heap32[(fp)];
+ r3 = r0 >> 2;
+ r4 = heap32[(fp+5)];
+ heap32[(fp+-2)] = r1;
+ r1 = r2 >> 2;
+ heap32[(r3+1)] = r4;
+ r2 = heap32[(r1+52)];
+ f0 = heapFloat[(fp+3)];
+ r3 = r2 >> 2;
+ f1 = heapFloat[(r3+1)];
+ if(f1 <f0) //_LBB207_2
+{
+ f_g0 = f0;
+ return;
+}
+else{
+ r4 = heap32[(fp+1)];
+ r5 = heap32[(fp+2)];
+ r1 = heap32[(r1+53)];
+ r6 = sp + -56;
+ r7 = r6 >> 2;
+ heap32[(fp+-14)] = r1;
+ r1 = r4 >> 2;
+ heap32[(r7+1)] = r0;
+ heap32[(r7+2)] = heap32[(r1)];
+ heap32[(r7+3)] = heap32[(r1+1)];
+ heap32[(r7+4)] = heap32[(r1+2)];
+ r0 = r5 >> 2;
+ heap32[(r7+5)] = heap32[(r1+3)];
+ heap32[(r7+6)] = heap32[(r0)];
+ heap32[(r7+7)] = heap32[(r0+1)];
+ heap32[(r7+8)] = heap32[(r0+2)];
+ heap32[(r7+9)] = heap32[(r0+3)];
+ heapFloat[(r7+10)] = f0;
+ r0 = heap32[(r3)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+3)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = 0;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ return;
+}
+}
+
+function _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdder15addSingleResultERNS_17LocalConvexResultEb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = sp + -8;
+ r0 = r0 >> 2;
+ heap32[(fp+-2)] = -1;
+ r2 = heap32[(fp+1)];
+ r3 = r1 >> 2;
+ r4 = heap32[(r0+4)];
+ r5 = r2 >> 2;
+ heap32[(r3+1)] = r4;
+ r3 = heap32[(r5+1)];
+if(!(r3 !=0)) //_LBB210_2
+{
+ heap32[(r5+1)] = r1;
+}
+ r1 = heap32[(fp+2)];
+ r3 = heap32[(r0+3)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+3)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r1 = heap32[(r0+3)];
+ r1 = r1 >> 2;
+ heap32[(r0+1)] = heap32[(r1+1)];
+ return;
+}
+
+function _ZN17DebugDrawcallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _ZTV17DebugDrawcallback;
+ r1 = heap32[(fp)];
+ r1 = r1 >> 2;
+ r2 = (r0 + 8)|0;
+ r3 = _ZTV31btInternalTriangleIndexCallback;
+ r0 = (r0 + 32)|0;
+ heap32[(r1)] = r2;
+ r2 = _ZTV18btTriangleCallback;
+ r3 = (r3 + 8)|0;
+ heap32[(r1+1)] = r0;
+ r0 = (r2 + 8)|0;
+ heap32[(r1+1)] = r3;
+ heap32[(r1)] = r0;
+ return;
+}
+
+function _ZN17DebugDrawcallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = _ZTV17DebugDrawcallback;
+ r1 = heap32[(fp)];
+ r2 = r1 >> 2;
+ r3 = (r0 + 8)|0;
+ r4 = _ZTV31btInternalTriangleIndexCallback;
+ r0 = (r0 + 32)|0;
+ heap32[(r2)] = r3;
+ r3 = _ZTV18btTriangleCallback;
+ r4 = (r4 + 8)|0;
+ heap32[(r2+1)] = r0;
+ r0 = (r3 + 8)|0;
+ heap32[(r2+1)] = r4;
+ heap32[(r2)] = r0;
+ heap32[(g0)] = r1;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN17DebugDrawcallback15processTriangleEP9btVector3ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+var __label__ = 0;
+ i7 = sp + -112;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 >> 2;
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r2+7)];
+ f2 = heapFloat[(r1+1)];
+ f3 = heapFloat[(r2+8)];
+ f4 = heapFloat[(r2+11)];
+ f5 = heapFloat[(r2+12)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r1+2)];
+ f9 = heapFloat[(r2+9)];
+ f10 = heapFloat[(r2+15)];
+ f11 = heapFloat[(r2+16)];
+ f12 = heapFloat[(r2+13)];
+ f13 = f4*f0;
+ f14 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ f15 = heapFloat[(r2+17)];
+ f0 = f10*f0;
+ f2 = f11*f2;
+ f13 = f13+f14;
+ f14 = f12*f8;
+ f6 = f6+f7;
+ f7 = heapFloat[(r2+19)];
+ f16 = heapFloat[(r2+21)];
+ f17 = heapFloat[(r2+20)];
+ r3 = sp + -32;
+ f13 = f13+f14;
+ f0 = f0+f2;
+ f2 = f15*f8;
+ f6 = f6+f7;
+ f0 = f0+f2;
+ r4 = r3 >> 2;
+ f2 = f13+f17;
+ heapFloat[(fp+-8)] = f6;
+ f0 = f0+f16;
+ heapFloat[(r4+1)] = f2;
+ heapFloat[(r4+2)] = f0;
+ heap32[(r4+3)] = 0;
+ f8 = heapFloat[(r1+4)];
+ f13 = heapFloat[(r1+5)];
+ f14 = heapFloat[(r1+6)];
+ f18 = f1*f8;
+ f19 = f3*f13;
+ f20 = f4*f8;
+ f21 = f5*f13;
+ f18 = f18+f19;
+ f19 = f9*f14;
+ f18 = f18+f19;
+ f8 = f10*f8;
+ f13 = f11*f13;
+ f19 = f20+f21;
+ f20 = f12*f14;
+ f18 = f18+f7;
+ r4 = sp + -48;
+ f19 = f19+f20;
+ f8 = f8+f13;
+ f13 = f15*f14;
+ f14 = f19+f17;
+ f8 = f8+f13;
+ r5 = r4 >> 2;
+ heapFloat[(fp+-12)] = f18;
+ f8 = f8+f16;
+ heapFloat[(r5+1)] = f14;
+ heapFloat[(r5+2)] = f8;
+ heap32[(r5+3)] = 0;
+ f13 = heapFloat[(r1+8)];
+ f19 = heapFloat[(r1+9)];
+ f20 = heapFloat[(r1+10)];
+ f1 = f1*f13;
+ f3 = f3*f19;
+ f4 = f4*f13;
+ f5 = f5*f19;
+ f1 = f1+f3;
+ f3 = f9*f20;
+ f1 = f1+f3;
+ f3 = f10*f13;
+ f9 = f11*f19;
+ f4 = f4+f5;
+ f5 = f12*f20;
+ r1 = sp + -64;
+ f4 = f4+f5;
+ f1 = f1+f7;
+ f3 = f3+f9;
+ f5 = f15*f20;
+ f3 = f3+f5;
+ f4 = f4+f17;
+ r5 = r1 >> 2;
+ heapFloat[(fp+-16)] = f1;
+ f5 = f6+f18;
+ f3 = f3+f16;
+ heapFloat[(r5+1)] = f4;
+ f7 = f2+f14;
+ heapFloat[(r5+2)] = f3;
+ f5 = f5+f1;
+ f9 = 0.3333333432674408;
+ r6 = sp + -80;
+ f10 = f0+f8;
+ f7 = f7+f4;
+ f8 = f8-f0;
+ f4 = f4-f2;
+ f11 = f18-f6;
+ f0 = f3-f0;
+ f2 = f14-f2;
+ f1 = f1-f6;
+ f5 = f5*f9;
+ heap32[(r5+3)] = 0;
+ f3 = f10+f3;
+ f6 = f2*f0;
+ f10 = f8*f4;
+ f8 = f8*f1;
+ f0 = f11*f0;
+ r5 = r6 >> 2;
+ f7 = f7*f9;
+ heapFloat[(fp+-20)] = f5;
+ f5 = f6-f10;
+ f0 = f8-f0;
+ f4 = f11*f4;
+ f1 = f2*f1;
+ f2 = f3*f9;
+ heapFloat[(r5+1)] = f7;
+ f1 = f4-f1;
+ heapFloat[(r5+2)] = f2;
+ f2 = f5*f5;
+ f3 = f0*f0;
+ heap32[(r5+3)] = 0;
+ f2 = f2+f3;
+ f3 = f1*f1;
+ f2 = f2+f3;
+ heapFloat[(g0)] = f2;
+ r7 = sp + -96;
+ sqrtf(i7);
+ r8 = r7 >> 2;
+ heap32[(fp+-24)] = 1065353216;
+ heap32[(r8+1)] = 1065353216;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 0;
+ r8 = heap32[(r2+2)];
+ r9 = r8 >> 2;
+ f3 = 1;
+ r9 = heap32[(r9)];
+ f2 = f3/f_g0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+2)];
+ f3 = f5*f2;
+ f4 = heapFloat[(fp+-20)];
+ f5 = heapFloat[(r5+2)];
+ f6 = heapFloat[(r5+1)];
+ r5 = sp + -16;
+ f0 = f0*f2;
+ f3 = f4+f3;
+ f1 = f1*f2;
+ r10 = r5 >> 2;
+ f0 = f6+f0;
+ heapFloat[(fp+-4)] = f3;
+ f1 = f5+f1;
+ heapFloat[(r10+1)] = f0;
+ heapFloat[(r10+2)] = f1;
+ heap32[(r10+3)] = 0;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r7;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r5 = heap32[(r2+2)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ r0 = (r0 + 12)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r5 = heap32[(r2+2)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r2 = heap32[(r2+2)];
+ r4 = r2 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ return;
+}
+
+function _ZN17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+2)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZThn4_N17DebugDrawcallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _ZTV17DebugDrawcallback;
+ r1 = heap32[(fp)];
+ r1 = r1 >> 2;
+ r2 = (r0 + 8)|0;
+ r3 = _ZTV31btInternalTriangleIndexCallback;
+ r0 = (r0 + 32)|0;
+ heap32[(r1+-1)] = r2;
+ r2 = _ZTV18btTriangleCallback;
+ r3 = (r3 + 8)|0;
+ heap32[(r1)] = r0;
+ r0 = (r2 + 8)|0;
+ heap32[(r1)] = r3;
+ heap32[(r1+-1)] = r0;
+ return;
+}
+
+function _ZThn4_N17DebugDrawcallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV17DebugDrawcallback;
+ r2 = r0 >> 2;
+ r3 = (r1 + 8)|0;
+ r4 = _ZTV31btInternalTriangleIndexCallback;
+ r1 = (r1 + 32)|0;
+ heap32[(r2+-1)] = r3;
+ r3 = _ZTV18btTriangleCallback;
+ r4 = (r4 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = (r3 + 8)|0;
+ heap32[(r2)] = r4;
+ heap32[(r2+-1)] = r1;
+ r0 = (r0 + -4)|0;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZThn4_N17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1+-1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+2)];
+ r0 = (r0 + -4)|0;
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZN16btCollisionWorldD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ _ZN16btCollisionWorldD2Ev(i7);
+ return;
+}
+
+function _ZN16btCollisionWorldD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btCollisionWorld;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+4)];
+ r3 = heap32[(r2+2)];
+ if(r3 >0) //_LBB219_2
+{
+ r3 = 0;
+_3: while(true){
+ r4 = r3 << 2;
+ r1 = (r1 + r4)|0;
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r4 = heap32[(r1+47)];
+if(!(r4 ==0)) //_LBB219_5
+{
+ r5 = heap32[(r2+20)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+9)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = r_g0 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+10)];
+ r7 = heap32[(r2+6)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r7;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r5 = heap32[(r2+20)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+3)];
+ r7 = heap32[(r2+6)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r7;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ heap32[(r1+47)] = 0;
+}
+ r3 = (r3 + 1)|0;
+ r1 = heap32[(r2+4)];
+ r4 = heap32[(r2+2)];
+ if(r4 >r3) //_LBB219_3
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+if(!(r1 ==0)) //_LBB219_10
+{
+ r3 = heapU8[r0+20];
+if(!(r3 ==0)) //_LBB219_9
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+4)] = 0;
+}
+ r1 = 1;
+ heap8[r0+20] = r1;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN16btCollisionWorld11updateAabbsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+var __label__ = 0;
+ i7 = sp + -64;var g0 = i7>>2; // save stack
+ r0 = _2E_str1998;
+ r1 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ r0 = r1 >> 2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r2 = heap32[(r0+2)];
+if(!(r2 <1)) //_LBB220_14
+{
+ r2 = 0;
+_3: while(true){
+ r3 = heap32[(r0+4)];
+ r4 = r2 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r2 = (r2 + 1)|0;
+ r3 = heap32[(r3)];
+ r4 = heapU8[r1+88];
+ if(r4 !=0) //_LBB220_5
+{
+__label__ = 5;
+}
+else{
+ r4 = r3 >> 2;
+ r4 = heap32[(r4+54)];
+ if(r4 ==2) //_LBB220_13
+{
+__label__ = 13;
+}
+else{
+ if(r4 ==5) //_LBB220_13
+{
+__label__ = 13;
+}
+else{
+__label__ = 5;
+}
+}
+}
+_8: do {
+if (__label__ == 5){
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+48)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ r7 = sp + -40;
+ r8 = sp + -24;
+ r9 = (r3 + 4)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r7;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ f0 = -0.019999999552965164;
+ f1 = heapFloat[(fp+-6)];
+ f1 = f1+f0;
+ r5 = r8 >> 2;
+ heapFloat[(fp+-6)] = f1;
+ f2 = heapFloat[(r5+1)];
+ f2 = f2+f0;
+ heapFloat[(r5+1)] = f2;
+ f3 = heapFloat[(r5+2)];
+ f0 = f3+f0;
+ heapFloat[(r5+2)] = f0;
+ f3 = 0.019999999552965164;
+ f4 = heapFloat[(fp+-10)];
+ f4 = f4+f3;
+ r5 = r7 >> 2;
+ heapFloat[(fp+-10)] = f4;
+ f5 = heapFloat[(r5+1)];
+ f5 = f5+f3;
+ heapFloat[(r5+1)] = f5;
+ f6 = heapFloat[(r5+2)];
+ f3 = f6+f3;
+ heapFloat[(r5+2)] = f3;
+ r5 = heap32[(r0+20)];
+ r3 = heapU8[r3+204];
+ r3 = r3 & 1;
+if(!(r3 != 0)) //_LBB220_10
+{
+ f1 = f4-f1;
+ f2 = f5-f2;
+ f0 = f3-f0;
+ f1 = f1*f1;
+ f2 = f2*f2;
+ f1 = f1+f2;
+ f0 = f0*f0;
+ f0 = f1+f0;
+ f1 = 999999995904;
+if(!(f0 <f1)) //_LBB220_10
+{
+ r5 = heap32[(r4+54)];
+ r5 = (r5 + -4)|0;
+if(!(uint(r5) <uint(2))) //_LBB220_9
+{
+ heap32[(r4+54)] = 5;
+}
+ r4 = _ZZN16btCollisionWorld16updateSingleAabbEP17btCollisionObjectE8reportMe_2E_b;
+ r5 = heapU8[r4];
+ if(r5 != 0) //_LBB220_13
+{
+break _8;
+}
+else{
+ r3 = heap32[(r0+21)];
+ if(r3 ==0) //_LBB220_13
+{
+break _8;
+}
+else{
+ r5 = 1;
+ r6 = r3 >> 2;
+ heap8[r4] = r5;
+ r4 = heap32[(r6)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+9)];
+ r5 = _2E_str1594;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r3 = heap32[(r0+21)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+9)];
+ r5 = _2E_str1695;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r3 = heap32[(r0+21)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+9)];
+ r5 = _2E_str1796;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r3 = heap32[(r0+21)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+9)];
+ r5 = _2E_str1897;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+break _8;
+}
+}
+}
+}
+ r3 = r5 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ r6 = heap32[(r0+6)];
+ r4 = heap32[(r4+47)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = r6;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+} while(0);
+ r3 = heap32[(r0+2)];
+ if(r3 >r2) //_LBB220_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_21: do {
+if(!(r3 !=0)) //_LBB220_20
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB220_17
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB220_20
+{
+break _21;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ return;
+}
+
+function _ZN16btCollisionWorld14debugDrawWorldEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -104;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+_1: do {
+if(!(r2 ==0)) //_LBB221_10
+{
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r3 = r_g0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+12)];
+ heap32[(g0)] = r_g0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = r_g0 & 8;
+if(!(r2 ==0)) //_LBB221_10
+{
+ r2 = heap32[(r1+6)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+9)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = r_g0;
+ r3 = sp + -16;
+ r4 = r3 >> 2;
+ heap32[(fp+-4)] = 0;
+ heap32[(r4+1)] = 0;
+ r5 = 0;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 0;
+_4: while(true){
+ if(r5 <r2) //_LBB221_3
+{
+ r4 = heap32[(r1+6)];
+ r6 = r4 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+10)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r4 = r_g0;
+ r6 = r4 >> 2;
+ r6 = heap32[(r6+279)];
+ r7 = 36;
+ r8 = 68;
+ r9 = 0;
+_7: while(true){
+ if(r9 <r6) //_LBB221_4
+{
+ r10 = r4 >> 2;
+ r10 = heap32[(r10+279)];
+ if(r10 >r9) //_LBB221_6
+{
+ r10 = (r9 * 69)|0;
+ r11 = (r4 + r7)|0;
+ r12 = (r4 + r8)|0;
+ r13 = heap32[(r1)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ r14 = r_g0 >> 2;
+ r15 = r10 << 2;
+ r10 = r10 << 2;
+ r14 = heap32[(r14)];
+ r15 = (r4 + r15)|0;
+ r10 = (r4 + r10)|0;
+ r14 = r14 >> 2;
+ r15 = r15 >> 2;
+ r10 = r10 >> 2;
+ r14 = heap32[(r14+8)];
+ r15 = heap32[(r15+37)];
+ f0 = heapFloat[(r10+21)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r12;
+ heapFloat[(g0+3)] = f0;
+ heap32[(g0+4)] = r15;
+ heap32[(g0+5)] = r3;
+ r9 = (r9 + 1)|0;
+ r8 = (r8 + 276)|0;
+ r7 = (r7 + 276)|0;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+}
+else{
+break _4;
+}
+}
+else{
+break _7;
+}
+}
+ r5 = (r5 + 1)|0;
+}
+else{
+break _1;
+}
+}
+ r0 = _2E_str382;
+ r1 = _2E_str483;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 122;
+ _assert(i7);
+}
+}
+} while(0);
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+_14: do {
+if(!(r2 ==0)) //_LBB221_13
+{
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r3 = r_g0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+12)];
+ heap32[(g0)] = r_g0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = r_g0 & 3;
+if(!(r2 ==0)) //_LBB221_13
+{
+ r2 = heap32[(r1+2)];
+ if(r2 >0) //_LBB221_14
+{
+ r2 = 0;
+_18: while(true){
+ r3 = heap32[(r1+4)];
+ r4 = r2 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r4 = heapU8[r3+204];
+ r4 = r4 & 32;
+if(!(r4 !=0)) //_LBB221_34
+{
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+if(!(r4 ==0)) //_LBB221_31
+{
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r5 = r_g0 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+12)];
+ heap32[(g0)] = r_g0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r4 = r_g0 & 1;
+if(!(r4 ==0)) //_LBB221_31
+{
+ r4 = sp + -32;
+ r5 = r4 >> 2;
+ heap32[(fp+-8)] = 1065353216;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 1065353216;
+ r6 = r3 >> 2;
+ heap32[(r5+3)] = 0;
+ r7 = heap32[(r6+54)];
+_25: do {
+ if(r7 >2) //_LBB221_21
+{
+ if(r7 ==3) //_LBB221_26
+{
+ heap32[(fp+-8)] = 0;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 1065353216;
+ heap32[(r5+3)] = 0;
+__label__ = 30;
+break _25;
+}
+else{
+ if(r7 ==4) //_LBB221_27
+{
+ heap32[(fp+-8)] = 1065353216;
+ heap32[(r5+1)] = 0;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+__label__ = 30;
+break _25;
+}
+else{
+ if(r7 ==5) //_LBB221_28
+{
+ heap32[(fp+-8)] = 1065353216;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+__label__ = 30;
+break _25;
+}
+else{
+__label__ = 29;
+break _25;
+}
+}
+}
+}
+else{
+ if(r7 ==1) //_LBB221_24
+{
+ heap32[(fp+-8)] = 1065353216;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 1065353216;
+ heap32[(r5+3)] = 0;
+__label__ = 30;
+}
+else{
+ if(r7 ==2) //_LBB221_25
+{
+ heap32[(fp+-8)] = 0;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+__label__ = 30;
+}
+else{
+__label__ = 29;
+}
+}
+}
+} while(0);
+if (__label__ == 29){
+ heap32[(fp+-8)] = 1065353216;
+ heap32[(r5+1)] = 0;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+}
+ r5 = heap32[(r1)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+6)];
+ r6 = heap32[(r6+48)];
+ r7 = (r3 + 4)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+}
+ r4 = heap32[(r1+21)];
+if(!(r4 ==0)) //_LBB221_34
+{
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+12)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r4 = r_g0 & 2;
+if(!(r4 ==0)) //_LBB221_34
+{
+ r4 = sp + -80;
+ r5 = r4 >> 2;
+ heap32[(fp+-20)] = 1065353216;
+ heap32[(r5+1)] = 0;
+ heap32[(r5+2)] = 0;
+ r6 = r3 >> 2;
+ heap32[(r5+3)] = 0;
+ r5 = heap32[(r6+48)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ r3 = (r3 + 4)|0;
+ r7 = sp + -48;
+ r8 = sp + -64;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r8;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r3 = heap32[(r1+21)];
+ r5 = r3 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+13)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+}
+}
+ r2 = (r2 + 1)|0;
+ r3 = heap32[(r1+2)];
+ if(r3 >r2) //_LBB221_15
+{
+continue _18;
+}
+else{
+break _14;
+}
+}
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+var __label__ = 0;
+ i7 = sp + -1376;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r3 = r_g0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+14)];
+ r4 = heap32[(fp+1)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = 1065353216;
+ r2 = heap32[(fp+2)];
+ r5 = r2 >> 2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = heap32[(r5+1)];
+ r6 = heap32[(fp+3)];
+_1: do {
+ if(r3 >10) //_LBB222_6
+{
+ if(r3 >27) //_LBB222_9
+{
+ if(r3 ==28) //_LBB222_23
+{
+ f0 = heapFloat[(r5+14)];
+ f1 = heapFloat[(r5+13)];
+ f2 = heapFloat[(r5+16)];
+ f3 = heapFloat[(r5+12)];
+ f4 = f0*f2;
+ f5 = f1*f2;
+ f2 = f3*f2;
+ f6 = 0;
+ if(f0 <f6) //_LBB222_25
+{
+ f7 = -f0;
+}
+else{
+ f7 = f0;
+}
+ f8 = 0.70710676908493042;
+ if(f7 <=f8) //_LBB222_28
+{
+ f0 = f3*f3;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f3 = 1;
+ f7 = heapFloat[(r5+13)];
+ f9 = heapFloat[(r5+14)];
+ f10 = f3/f_g0;
+ f1 = heapFloat[(r5+12)];
+ f3 = -f7;
+ f8 = f1*f10;
+ f1 = -f9;
+ f11 = f10*f3;
+ f12 = 100;
+ f1 = f8*f1;
+ f3 = f9*f11;
+ f7 = f0*f10;
+ f0 = f11*f12;
+}
+else{
+ f1 = f1*f1;
+ f3 = f0*f0;
+ f1 = f1+f3;
+ heapFloat[(g0)] = f1;
+ sqrtf(i7);
+ f6 = heapFloat[(r5+14)];
+ f0 = 1;
+ f7 = heapFloat[(r5+12)];
+ f3 = f0/f_g0;
+ f6 = -f6;
+ f0 = heapFloat[(r5+13)];
+ f8 = f3*f6;
+ f6 = -f7;
+ f0 = f0*f3;
+ f9 = 100;
+ f1 = f1*f3;
+ f3 = f0*f6;
+ f7 = f7*f8;
+ f6 = f0*f9;
+ f0 = 0;
+}
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ f9 = 100;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r3 = r4 >> 2;
+ f8 = f8*f9;
+ r4 = r_g0 >> 2;
+ f10 = f2-f0;
+ f11 = heapFloat[(r3)];
+ f12 = f5-f8;
+ f13 = heapFloat[(r3+1)];
+ r4 = heap32[(r4)];
+ f14 = heapFloat[(r3+4)];
+ f15 = heapFloat[(r3+5)];
+ f16 = f11*f10;
+ f17 = f13*f12;
+ f18 = f4-f6;
+ f19 = heapFloat[(r3+2)];
+ r4 = r4 >> 2;
+ f20 = heapFloat[(r3+8)];
+ f21 = heapFloat[(r3+9)];
+ f22 = heapFloat[(r3+6)];
+ f23 = f14*f10;
+ f24 = f15*f12;
+ f16 = f16+f17;
+ f17 = f19*f18;
+ f25 = heapFloat[(r3+10)];
+ r4 = heap32[(r4+2)];
+ f10 = f20*f10;
+ f12 = f21*f12;
+ f23 = f23+f24;
+ f24 = f22*f18;
+ f16 = f16+f17;
+ f17 = heapFloat[(r3+12)];
+ f26 = heapFloat[(r3+14)];
+ f27 = heapFloat[(r3+13)];
+ f0 = f2+f0;
+ f8 = f5+f8;
+ r5 = sp + -64;
+ f23 = f23+f24;
+ f10 = f10+f12;
+ f12 = f25*f18;
+ f16 = f16+f17;
+ f6 = f4+f6;
+ f10 = f10+f12;
+ f11 = f11*f0;
+ f12 = f13*f8;
+ r7 = r5 >> 2;
+ f13 = f23+f27;
+ heapFloat[(fp+-16)] = f16;
+ f14 = f14*f0;
+ f15 = f15*f8;
+ f11 = f11+f12;
+ f12 = f19*f6;
+ f10 = f10+f26;
+ heapFloat[(r7+1)] = f13;
+ f11 = f11+f12;
+ heapFloat[(r7+2)] = f10;
+ f0 = f20*f0;
+ f8 = f21*f8;
+ f10 = f14+f15;
+ f12 = f22*f6;
+ r8 = sp + -48;
+ f10 = f10+f12;
+ f0 = f0+f8;
+ f6 = f25*f6;
+ f8 = f11+f17;
+ heap32[(r7+3)] = 0;
+ f0 = f0+f6;
+ r7 = r8 >> 2;
+ f6 = f10+f27;
+ heapFloat[(fp+-12)] = f8;
+ f0 = f0+f26;
+ heapFloat[(r7+1)] = f6;
+ heapFloat[(r7+2)] = f0;
+ heap32[(r7+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ f0 = f1*f9;
+ f1 = f3*f9;
+ f3 = f7*f9;
+ r1 = r_g0 >> 2;
+ f6 = f2-f0;
+ f7 = heapFloat[(r3)];
+ f8 = f5-f1;
+ f9 = heapFloat[(r3+1)];
+ r1 = heap32[(r1)];
+ f10 = heapFloat[(r3+4)];
+ f11 = heapFloat[(r3+5)];
+ f12 = f7*f6;
+ f13 = f9*f8;
+ f14 = f4-f3;
+ f15 = heapFloat[(r3+2)];
+ r1 = r1 >> 2;
+ f16 = heapFloat[(r3+8)];
+ f17 = heapFloat[(r3+9)];
+ f18 = heapFloat[(r3+6)];
+ f19 = f10*f6;
+ f20 = f11*f8;
+ f12 = f12+f13;
+ f13 = f15*f14;
+ f21 = heapFloat[(r3+10)];
+ r1 = heap32[(r1+2)];
+ f6 = f16*f6;
+ f8 = f17*f8;
+ f19 = f19+f20;
+ f20 = f18*f14;
+ f12 = f12+f13;
+ f13 = heapFloat[(r3+12)];
+ f22 = heapFloat[(r3+14)];
+ f23 = heapFloat[(r3+13)];
+ f0 = f2+f0;
+ f1 = f5+f1;
+ r2 = sp + -32;
+ f2 = f19+f20;
+ f5 = f6+f8;
+ f6 = f21*f14;
+ f8 = f12+f13;
+ f3 = f4+f3;
+ f4 = f5+f6;
+ f5 = f7*f0;
+ f6 = f9*f1;
+ r3 = r2 >> 2;
+ f2 = f2+f23;
+ heapFloat[(fp+-8)] = f8;
+ f7 = f10*f0;
+ f8 = f11*f1;
+ f5 = f5+f6;
+ f6 = f15*f3;
+ f4 = f4+f22;
+ heapFloat[(r3+1)] = f2;
+ f2 = f5+f6;
+ heapFloat[(r3+2)] = f4;
+ f0 = f16*f0;
+ f1 = f17*f1;
+ f4 = f7+f8;
+ f5 = f18*f3;
+ r4 = sp + -16;
+ f4 = f4+f5;
+ f0 = f0+f1;
+ f1 = f21*f3;
+ f2 = f2+f13;
+ heap32[(r3+3)] = 0;
+ f0 = f0+f1;
+ r3 = r4 >> 2;
+ f1 = f4+f23;
+ heapFloat[(fp+-4)] = f2;
+ f0 = f0+f22;
+ heapFloat[(r3+1)] = f1;
+ heapFloat[(r3+2)] = f0;
+ heap32[(r3+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r4;
+__label__ = 30;
+break _1;
+}
+else{
+ if(r3 !=31) //_LBB222_32
+{
+__label__ = 32;
+break _1;
+}
+else{
+ r2 = heap32[(r5+4)];
+ r3 = (r2 + -1)|0;
+ if(r3 <0) //_LBB222_42
+{
+__label__ = 40;
+break _1;
+}
+else{
+ r3 = 1;
+ r2 = (r3 - r2)|0;
+_18: while(true){
+ r3 = r2;
+ r2 = (r3 * -20)|0;
+ r7 = heap32[(r5+6)];
+ r2 = r2 << 2;
+ r2 = (r7 + r2)|0;
+ r2 = r2 >> 2;
+ r7 = r4 >> 2;
+ r8 = heap32[(r1)];
+ f0 = heapFloat[(r2)];
+ f1 = heapFloat[(r7)];
+ f2 = heapFloat[(r2+4)];
+ f3 = heapFloat[(r7+1)];
+ r8 = r8 >> 2;
+ f4 = heapFloat[(r2+1)];
+ f5 = heapFloat[(r2+5)];
+ f6 = f0*f1;
+ f7 = f2*f3;
+ f8 = heapFloat[(r2+8)];
+ f9 = heapFloat[(r7+2)];
+ f10 = heapFloat[(r7+8)];
+ f11 = heapFloat[(r2+2)];
+ f12 = heapFloat[(r7+4)];
+ f13 = heapFloat[(r2+12)];
+ f14 = heapFloat[(r7+9)];
+ f15 = heapFloat[(r2+6)];
+ f16 = heapFloat[(r7+5)];
+ f17 = heapFloat[(r2+13)];
+ f18 = heapFloat[(r2+9)];
+ f19 = heapFloat[(r7+10)];
+ f20 = heapFloat[(r2+10)];
+ f21 = heapFloat[(r7+6)];
+ f22 = heapFloat[(r2+14)];
+ r8 = heap32[(r8+6)];
+ f23 = f4*f1;
+ f24 = f5*f3;
+ f6 = f6+f7;
+ f7 = f8*f9;
+ r2 = heap32[(r2+16)];
+ f25 = heapFloat[(r7+14)];
+ f26 = heapFloat[(r7+13)];
+ f27 = heapFloat[(r7+12)];
+ r7 = sp + -688;
+ f28 = f11*f1;
+ f29 = f15*f3;
+ f23 = f23+f24;
+ f24 = f18*f9;
+ f6 = f6+f7;
+ r9 = r7 >> 2;
+ f7 = f28+f29;
+ f28 = f20*f9;
+ f23 = f23+f24;
+ heapFloat[(fp+-172)] = f6;
+ f6 = f0*f12;
+ f24 = f2*f16;
+ f7 = f7+f28;
+ heapFloat[(r9+1)] = f23;
+ heapFloat[(r9+2)] = f7;
+ f7 = f4*f12;
+ f23 = f5*f16;
+ f6 = f6+f24;
+ f24 = f8*f21;
+ f28 = f11*f12;
+ f29 = f15*f16;
+ f7 = f7+f23;
+ f23 = f18*f21;
+ f6 = f6+f24;
+ heap32[(r9+3)] = 0;
+ f24 = f28+f29;
+ f28 = f20*f21;
+ f7 = f7+f23;
+ heapFloat[(r9+4)] = f6;
+ f0 = f0*f10;
+ f2 = f2*f14;
+ f6 = f24+f28;
+ heapFloat[(r9+5)] = f7;
+ heapFloat[(r9+6)] = f6;
+ f4 = f4*f10;
+ f5 = f5*f14;
+ f0 = f0+f2;
+ f2 = f8*f19;
+ f6 = f11*f10;
+ f7 = f15*f14;
+ f4 = f4+f5;
+ f5 = f18*f19;
+ f0 = f0+f2;
+ heap32[(r9+7)] = 0;
+ f1 = f1*f13;
+ f2 = f3*f17;
+ f3 = f6+f7;
+ f6 = f20*f19;
+ f4 = f4+f5;
+ heapFloat[(r9+8)] = f0;
+ f0 = f12*f13;
+ f5 = f16*f17;
+ f1 = f1+f2;
+ f2 = f9*f22;
+ f3 = f3+f6;
+ heapFloat[(r9+9)] = f4;
+ f1 = f1+f2;
+ heapFloat[(r9+10)] = f3;
+ f2 = f10*f13;
+ f3 = f14*f17;
+ f0 = f0+f5;
+ f4 = f21*f22;
+ f0 = f0+f4;
+ f2 = f2+f3;
+ f3 = f19*f22;
+ f1 = f1+f27;
+ heap32[(r9+11)] = 0;
+ f2 = f2+f3;
+ f0 = f0+f26;
+ heapFloat[(r9+12)] = f1;
+ f1 = f2+f25;
+ heapFloat[(r9+13)] = f0;
+ heapFloat[(r9+14)] = f1;
+ heap32[(r9+15)] = 0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r6;
+ r2 = (r3 + 1)|0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ if(r3 ==0) //_LBB222_42
+{
+__label__ = 40;
+break _1;
+}
+else{
+continue _18;
+}
+}
+}
+}
+}
+}
+else{
+ if(r3 ==11) //_LBB222_20
+{
+ r2 = r4 >> 2;
+ r3 = heap32[(r5+17)];
+ f0 = heapFloat[(r5+14)];
+ f1 = heapFloat[(r5+15)];
+ f2 = heapFloat[(r2+12)];
+ f3 = heapFloat[(r2+13)];
+ f4 = heapFloat[(r2+14)];
+ r4 = sp + -880;
+ r5 = r4 >> 2;
+ heap32[(fp+-220)] = 0;
+ heap32[(r5+1)] = 0;
+ r7 = r3 << 2;
+ r4 = (r4 + r7)|0;
+ f5 = 0.5;
+ heap32[(r5+2)] = 0;
+ r4 = r4 >> 2;
+ f1 = f1*f5;
+ heap32[(r5+3)] = 0;
+ r8 = sp + -896;
+ heapFloat[(r4)] = f1;
+ r4 = (r3 + 1)|0;
+ r4 = (r4 % 3)|0;
+ r9 = r8 >> 2;
+ heap32[(fp+-224)] = 0;
+ heap32[(r9+1)] = 0;
+ r4 = r4 << 2;
+ r8 = (r8 + r4)|0;
+ heap32[(r9+2)] = 0;
+ r8 = r8 >> 2;
+ heap32[(r9+3)] = 0;
+ r3 = (r3 + 2)|0;
+ r10 = sp + -912;
+ heapFloat[(r8)] = f0;
+ r3 = (r3 % 3)|0;
+ r8 = r10 >> 2;
+ heap32[(fp+-228)] = 0;
+ r3 = r3 << 2;
+ heap32[(r8+1)] = 0;
+ r3 = (r10 + r3)|0;
+ heap32[(r8+2)] = 0;
+ r3 = r3 >> 2;
+ heap32[(r8+3)] = 0;
+ heapFloat[(r3)] = f0;
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ f1 = heapFloat[(r5+1)];
+ f5 = heapFloat[(fp+-220)];
+ f6 = heapFloat[(r9+1)];
+ f7 = heapFloat[(fp+-224)];
+ r10 = r_g0 >> 2;
+ f8 = heapFloat[(r5+2)];
+ f9 = heapFloat[(r9+2)];
+ f10 = heapFloat[(r2)];
+ f11 = f7-f5;
+ f12 = heapFloat[(r2+1)];
+ f13 = f6-f1;
+ f14 = heapFloat[(r2+4)];
+ f15 = heapFloat[(r2+5)];
+ r5 = heap32[(r10)];
+ f16 = heapFloat[(r2+2)];
+ f17 = f9-f8;
+ f18 = f10*f11;
+ f19 = f12*f13;
+ f20 = heapFloat[(r2+8)];
+ f21 = heapFloat[(r2+9)];
+ f22 = heapFloat[(r2+6)];
+ r5 = r5 >> 2;
+ f23 = f14*f11;
+ f24 = f15*f13;
+ f18 = f18+f19;
+ f19 = f16*f17;
+ f25 = heapFloat[(r2+10)];
+ r5 = heap32[(r5+2)];
+ f18 = f18+f19;
+ f11 = f20*f11;
+ f13 = f21*f13;
+ f19 = f23+f24;
+ f23 = f22*f17;
+ r9 = sp + -416;
+ f19 = f19+f23;
+ f11 = f11+f13;
+ f13 = f25*f17;
+ f17 = f2+f18;
+ f11 = f11+f13;
+ f10 = f10*f5;
+ f12 = f12*f1;
+ r10 = r9 >> 2;
+ f13 = f3+f19;
+ heapFloat[(fp+-104)] = f17;
+ f14 = f14*f5;
+ f15 = f15*f1;
+ f10 = f10+f12;
+ f12 = f16*f8;
+ f11 = f4+f11;
+ heapFloat[(r10+1)] = f13;
+ f10 = f10+f12;
+ heapFloat[(r10+2)] = f11;
+ f11 = f20*f5;
+ f12 = f21*f1;
+ f13 = f14+f15;
+ f14 = f22*f8;
+ r11 = sp + -400;
+ f13 = f13+f14;
+ f11 = f11+f12;
+ f12 = f25*f8;
+ f10 = f2+f10;
+ heap32[(r10+3)] = 0;
+ f11 = f11+f12;
+ r10 = r11 >> 2;
+ f12 = f3+f13;
+ heapFloat[(fp+-100)] = f10;
+ f10 = f4+f11;
+ heapFloat[(r10+1)] = f12;
+ heapFloat[(r10+2)] = f10;
+ heap32[(r10+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ f10 = -f5;
+ f11 = -f1;
+ f12 = -f8;
+ r5 = r_g0 >> 2;
+ f13 = heapFloat[(r2)];
+ f7 = f10-f7;
+ f14 = heapFloat[(r2+1)];
+ f6 = f11-f6;
+ f15 = heapFloat[(r2+4)];
+ f16 = heapFloat[(r2+5)];
+ r5 = heap32[(r5)];
+ f17 = heapFloat[(r2+2)];
+ f9 = f12-f9;
+ f18 = f13*f7;
+ f19 = f14*f6;
+ f20 = heapFloat[(r2+8)];
+ f21 = heapFloat[(r2+9)];
+ f22 = heapFloat[(r2+6)];
+ r5 = r5 >> 2;
+ f23 = f15*f7;
+ f24 = f16*f6;
+ f18 = f18+f19;
+ f19 = f17*f9;
+ f25 = heapFloat[(r2+10)];
+ r5 = heap32[(r5+2)];
+ f18 = f18+f19;
+ f7 = f20*f7;
+ f6 = f21*f6;
+ f19 = f23+f24;
+ f23 = f22*f9;
+ r9 = sp + -384;
+ f19 = f19+f23;
+ f6 = f7+f6;
+ f7 = f25*f9;
+ f9 = f2+f18;
+ f6 = f6+f7;
+ f7 = f13*f5;
+ f13 = f14*f1;
+ r10 = r9 >> 2;
+ f14 = f3+f19;
+ heapFloat[(fp+-96)] = f9;
+ f9 = f15*f5;
+ f15 = f16*f1;
+ f7 = f7+f13;
+ f13 = f17*f8;
+ f6 = f4+f6;
+ heapFloat[(r10+1)] = f14;
+ f7 = f7+f13;
+ heapFloat[(r10+2)] = f6;
+ f6 = f20*f5;
+ f13 = f21*f1;
+ f9 = f9+f15;
+ f14 = f22*f8;
+ r11 = sp + -368;
+ f9 = f9+f14;
+ f6 = f6+f13;
+ f13 = f25*f8;
+ f7 = f2+f7;
+ heap32[(r10+3)] = 0;
+ f6 = f6+f13;
+ r10 = r11 >> 2;
+ f9 = f3+f9;
+ heapFloat[(fp+-92)] = f7;
+ f6 = f4+f6;
+ heapFloat[(r10+1)] = f9;
+ heapFloat[(r10+2)] = f6;
+ heap32[(r10+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ f6 = heapFloat[(r8+1)];
+ f7 = heapFloat[(fp+-228)];
+ f9 = heapFloat[(r8+2)];
+ r5 = r_g0 >> 2;
+ f13 = heapFloat[(r2)];
+ f14 = f7-f5;
+ f15 = heapFloat[(r2+1)];
+ f16 = f6-f1;
+ f17 = heapFloat[(r2+4)];
+ f18 = heapFloat[(r2+5)];
+ r5 = heap32[(r5)];
+ f19 = heapFloat[(r2+2)];
+ f20 = f9-f8;
+ f21 = f13*f14;
+ f22 = f15*f16;
+ f23 = heapFloat[(r2+8)];
+ f24 = heapFloat[(r2+9)];
+ f25 = heapFloat[(r2+6)];
+ r5 = r5 >> 2;
+ f26 = f17*f14;
+ f27 = f18*f16;
+ f21 = f21+f22;
+ f22 = f19*f20;
+ f28 = heapFloat[(r2+10)];
+ r5 = heap32[(r5+2)];
+ f21 = f21+f22;
+ f14 = f23*f14;
+ f16 = f24*f16;
+ f22 = f26+f27;
+ f26 = f25*f20;
+ r8 = sp + -352;
+ f22 = f22+f26;
+ f14 = f14+f16;
+ f16 = f28*f20;
+ f20 = f2+f21;
+ f14 = f14+f16;
+ f13 = f13*f5;
+ f15 = f15*f1;
+ r9 = r8 >> 2;
+ f16 = f3+f22;
+ heapFloat[(fp+-88)] = f20;
+ f17 = f17*f5;
+ f18 = f18*f1;
+ f13 = f13+f15;
+ f15 = f19*f8;
+ f14 = f4+f14;
+ heapFloat[(r9+1)] = f16;
+ f13 = f13+f15;
+ heapFloat[(r9+2)] = f14;
+ f14 = f23*f5;
+ f15 = f24*f1;
+ f16 = f17+f18;
+ f17 = f25*f8;
+ r10 = sp + -336;
+ f16 = f16+f17;
+ f14 = f14+f15;
+ f15 = f28*f8;
+ f13 = f2+f13;
+ heap32[(r9+3)] = 0;
+ f14 = f14+f15;
+ r9 = r10 >> 2;
+ f15 = f3+f16;
+ heapFloat[(fp+-84)] = f13;
+ f13 = f4+f14;
+ heapFloat[(r9+1)] = f15;
+ heapFloat[(r9+2)] = f13;
+ heap32[(r9+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r5 = r_g0 >> 2;
+ f13 = heapFloat[(r2)];
+ f7 = f10-f7;
+ f10 = heapFloat[(r2+1)];
+ f6 = f11-f6;
+ f11 = heapFloat[(r2+4)];
+ f14 = heapFloat[(r2+5)];
+ r5 = heap32[(r5)];
+ f15 = heapFloat[(r2+2)];
+ f9 = f12-f9;
+ f12 = f13*f7;
+ f16 = f10*f6;
+ f17 = heapFloat[(r2+8)];
+ f18 = heapFloat[(r2+9)];
+ f19 = heapFloat[(r2+6)];
+ r5 = r5 >> 2;
+ f20 = f11*f7;
+ f21 = f14*f6;
+ f12 = f12+f16;
+ f16 = f15*f9;
+ f22 = heapFloat[(r2+10)];
+ r5 = heap32[(r5+2)];
+ f12 = f12+f16;
+ f7 = f17*f7;
+ f6 = f18*f6;
+ f16 = f20+f21;
+ f20 = f19*f9;
+ r8 = sp + -320;
+ f16 = f16+f20;
+ f6 = f7+f6;
+ f7 = f22*f9;
+ f9 = f2+f12;
+ f6 = f6+f7;
+ f7 = f13*f5;
+ f10 = f10*f1;
+ r9 = r8 >> 2;
+ f12 = f3+f16;
+ heapFloat[(fp+-80)] = f9;
+ f9 = f11*f5;
+ f11 = f14*f1;
+ f7 = f7+f10;
+ f10 = f15*f8;
+ f6 = f4+f6;
+ heapFloat[(r9+1)] = f12;
+ f7 = f7+f10;
+ heapFloat[(r9+2)] = f6;
+ f6 = f17*f5;
+ f10 = f18*f1;
+ f9 = f9+f11;
+ f11 = f19*f8;
+ r10 = sp + -304;
+ f9 = f9+f11;
+ f6 = f6+f10;
+ f10 = f22*f8;
+ f7 = f2+f7;
+ heap32[(r9+3)] = 0;
+ f6 = f6+f10;
+ r9 = r10 >> 2;
+ f9 = f3+f9;
+ heapFloat[(fp+-76)] = f7;
+ f6 = f4+f6;
+ heapFloat[(r9+1)] = f9;
+ heapFloat[(r9+2)] = f6;
+ heap32[(r9+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r6;
+ r3 = sp + -928;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r5 = r3 >> 2;
+ heap32[(fp+-232)] = 0;
+ heap32[(r5+1)] = 0;
+ r3 = (r3 + r7)|0;
+ heap32[(r5+2)] = 0;
+ r3 = r3 >> 2;
+ heap32[(r5+3)] = 0;
+ r7 = sp + -944;
+ heap32[(r3)] = 1065353216;
+ r3 = r7 >> 2;
+ heap32[(fp+-236)] = 0;
+ heap32[(r3+1)] = 0;
+ r4 = (r7 + r4)|0;
+ heap32[(r3+2)] = 0;
+ r4 = r4 >> 2;
+ heap32[(r3+3)] = 0;
+ heap32[(r4)] = 1065353216;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = r_g0 >> 2;
+ r1 = heap32[(r1)];
+ f6 = heapFloat[(r2)];
+ f7 = heapFloat[(fp+-236)];
+ f9 = heapFloat[(r2+1)];
+ f10 = heapFloat[(r3+1)];
+ f11 = heapFloat[(r2+4)];
+ f12 = heapFloat[(r2+5)];
+ r1 = r1 >> 2;
+ f13 = heapFloat[(r2+2)];
+ f14 = heapFloat[(r3+2)];
+ f15 = f6*f7;
+ f16 = f9*f10;
+ f17 = heapFloat[(r2+8)];
+ f18 = heapFloat[(r2+9)];
+ f19 = heapFloat[(r2+10)];
+ f20 = heapFloat[(r2+6)];
+ r1 = heap32[(r1+15)];
+ f21 = f11*f7;
+ f22 = f12*f10;
+ f15 = f15+f16;
+ f16 = f13*f14;
+ r2 = sp + -288;
+ f7 = f17*f7;
+ f10 = f18*f10;
+ f21 = f21+f22;
+ f22 = f20*f14;
+ f15 = f15+f16;
+ r3 = r2 >> 2;
+ f7 = f7+f10;
+ f10 = f19*f14;
+ f14 = f21+f22;
+ heapFloat[(fp+-72)] = f15;
+ f7 = f7+f10;
+ heapFloat[(r3+1)] = f14;
+ heapFloat[(r3+2)] = f7;
+ heap32[(r3+3)] = 0;
+ f7 = heapFloat[(fp+-232)];
+ f10 = heapFloat[(r5+1)];
+ f14 = heapFloat[(r5+2)];
+ f15 = f6*f7;
+ f16 = f9*f10;
+ f21 = f11*f7;
+ f22 = f12*f10;
+ f15 = f15+f16;
+ f16 = f13*f14;
+ r3 = sp + -272;
+ f7 = f17*f7;
+ f10 = f18*f10;
+ f21 = f21+f22;
+ f22 = f20*f14;
+ f15 = f15+f16;
+ f6 = f6*f5;
+ f9 = f9*f1;
+ r4 = r3 >> 2;
+ f7 = f7+f10;
+ f10 = f19*f14;
+ f14 = f21+f22;
+ heapFloat[(fp+-68)] = f15;
+ f11 = f11*f5;
+ f12 = f12*f1;
+ f6 = f6+f9;
+ f9 = f13*f8;
+ f7 = f7+f10;
+ heapFloat[(r4+1)] = f14;
+ f6 = f6+f9;
+ heapFloat[(r4+2)] = f7;
+ f5 = f17*f5;
+ f1 = f18*f1;
+ f7 = f11+f12;
+ f9 = f20*f8;
+ r5 = sp + -256;
+ f7 = f7+f9;
+ f1 = f5+f1;
+ f5 = f19*f8;
+ f2 = f2-f6;
+ heap32[(r4+3)] = 0;
+ f1 = f1+f5;
+ r4 = r5 >> 2;
+ f3 = f3-f7;
+ heapFloat[(fp+-64)] = f2;
+ f1 = f4-f1;
+ heapFloat[(r4+1)] = f3;
+ heapFloat[(r4+2)] = f1;
+ heap32[(r4+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r3;
+}
+else{
+ if(r3 ==13) //_LBB222_21
+{
+ r3 = heap32[(r5)];
+ r3 = r3 >> 2;
+ r7 = heap32[(r5+13)];
+ r3 = heap32[(r3+21)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ f0 = f_g0;
+ r3 = sp + -240;
+ f1 = heapFloat[(r5+8)];
+ f2 = heapFloat[(r5+9)];
+ f3 = heapFloat[(r5+7)];
+ r8 = r3 >> 2;
+ heap32[(r8+3)] = heap32[(r5+10)];
+ r9 = heap32[(r5)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+11)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ f4 = f_g0;
+ r9 = heap32[(r5)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+11)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ f5 = f_g0;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+11)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ f3 = f3+f_g0;
+ r2 = r7 << 2;
+ f1 = f1+f5;
+ heapFloat[(fp+-60)] = f3;
+ r3 = (r3 + r2)|0;
+ f2 = f2+f4;
+ heapFloat[(r8+1)] = f1;
+ r3 = r3 >> 2;
+ heapFloat[(r8+2)] = f2;
+ r4 = r4 >> 2;
+ f1 = heapFloat[(r3)];
+ f2 = heapFloat[(r4+12)];
+ f3 = heapFloat[(r4+13)];
+ f4 = heapFloat[(r4+14)];
+ r3 = sp + -960;
+ r5 = r3 >> 2;
+ heap32[(fp+-240)] = 0;
+ heap32[(r5+1)] = 0;
+ r3 = (r3 + r2)|0;
+ heap32[(r5+2)] = 0;
+ r3 = r3 >> 2;
+ heap32[(r5+3)] = 0;
+ r8 = sp + -976;
+ heapFloat[(r3)] = f1;
+ r3 = (r7 + 1)|0;
+ r3 = (r3 % 3)|0;
+ r7 = r8 >> 2;
+ heap32[(fp+-244)] = 0;
+ heap32[(r7+1)] = 0;
+ r3 = r3 << 2;
+ r8 = (r8 + r3)|0;
+ heap32[(r7+2)] = 0;
+ r8 = r8 >> 2;
+ heap32[(r7+3)] = 0;
+ heapFloat[(r8)] = f0;
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ f1 = heapFloat[(r5+1)];
+ f5 = heapFloat[(r7+1)];
+ f6 = heapFloat[(fp+-240)];
+ f7 = heapFloat[(fp+-244)];
+ r9 = r_g0 >> 2;
+ f8 = heapFloat[(r5+2)];
+ f9 = heapFloat[(r7+2)];
+ f10 = f7-f6;
+ f11 = heapFloat[(r4)];
+ f12 = f5-f1;
+ f13 = heapFloat[(r4+1)];
+ r5 = heap32[(r9)];
+ f14 = heapFloat[(r4+4)];
+ f15 = heapFloat[(r4+5)];
+ f16 = f11*f10;
+ f17 = f13*f12;
+ f18 = f9-f8;
+ f19 = heapFloat[(r4+2)];
+ r5 = r5 >> 2;
+ f20 = heapFloat[(r4+8)];
+ f21 = heapFloat[(r4+9)];
+ f22 = heapFloat[(r4+6)];
+ f23 = f14*f10;
+ f24 = f15*f12;
+ f16 = f16+f17;
+ f17 = f19*f18;
+ f16 = f16+f17;
+ f17 = heapFloat[(r4+10)];
+ r5 = heap32[(r5+2)];
+ f10 = f20*f10;
+ f12 = f21*f12;
+ f23 = f23+f24;
+ f24 = f22*f18;
+ f25 = f6+f7;
+ f26 = f1+f5;
+ r7 = sp + -224;
+ f23 = f23+f24;
+ f10 = f10+f12;
+ f12 = f17*f18;
+ f16 = f2+f16;
+ f18 = f8+f9;
+ f10 = f10+f12;
+ f11 = f11*f25;
+ f12 = f13*f26;
+ r9 = r7 >> 2;
+ f13 = f3+f23;
+ heapFloat[(fp+-56)] = f16;
+ f14 = f14*f25;
+ f15 = f15*f26;
+ f11 = f11+f12;
+ f12 = f19*f18;
+ f10 = f4+f10;
+ heapFloat[(r9+1)] = f13;
+ f11 = f11+f12;
+ heapFloat[(r9+2)] = f10;
+ f10 = f20*f25;
+ f12 = f21*f26;
+ f13 = f14+f15;
+ f14 = f22*f18;
+ r10 = sp + -208;
+ f13 = f13+f14;
+ f10 = f10+f12;
+ f12 = f17*f18;
+ f11 = f2+f11;
+ heap32[(r9+3)] = 0;
+ f10 = f10+f12;
+ r9 = r10 >> 2;
+ f12 = f3+f13;
+ heapFloat[(fp+-52)] = f11;
+ f10 = f4+f10;
+ heapFloat[(r9+1)] = f12;
+ heapFloat[(r9+2)] = f10;
+ heap32[(r9+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r5 = heap32[(r1)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ f10 = -f6;
+ f11 = -f1;
+ f12 = -f8;
+ r7 = r_g0 >> 2;
+ f10 = f10-f7;
+ f13 = heapFloat[(r4)];
+ f11 = f11-f5;
+ f14 = heapFloat[(r4+1)];
+ r7 = heap32[(r7)];
+ f15 = heapFloat[(r4+4)];
+ f16 = heapFloat[(r4+5)];
+ f17 = f13*f10;
+ f18 = f14*f11;
+ f12 = f12-f9;
+ f19 = heapFloat[(r4+2)];
+ r7 = r7 >> 2;
+ f20 = heapFloat[(r4+8)];
+ f21 = heapFloat[(r4+9)];
+ f22 = heapFloat[(r4+6)];
+ f23 = f15*f10;
+ f24 = f16*f11;
+ f17 = f17+f18;
+ f18 = f19*f12;
+ f17 = f17+f18;
+ f18 = heapFloat[(r4+10)];
+ r7 = heap32[(r7+2)];
+ f10 = f20*f10;
+ f11 = f21*f11;
+ f23 = f23+f24;
+ f24 = f22*f12;
+ f7 = f6-f7;
+ f5 = f1-f5;
+ r8 = sp + -192;
+ f23 = f23+f24;
+ f10 = f10+f11;
+ f11 = f18*f12;
+ f12 = f2+f17;
+ f9 = f8-f9;
+ f10 = f10+f11;
+ f11 = f13*f7;
+ f13 = f14*f5;
+ r9 = r8 >> 2;
+ f14 = f3+f23;
+ heapFloat[(fp+-48)] = f12;
+ f12 = f15*f7;
+ f15 = f16*f5;
+ f11 = f11+f13;
+ f13 = f19*f9;
+ f10 = f4+f10;
+ heapFloat[(r9+1)] = f14;
+ f11 = f11+f13;
+ heapFloat[(r9+2)] = f10;
+ f7 = f20*f7;
+ f5 = f21*f5;
+ f10 = f12+f15;
+ f12 = f22*f9;
+ r10 = sp + -176;
+ f10 = f10+f12;
+ f5 = f7+f5;
+ f7 = f18*f9;
+ f9 = f2+f11;
+ heap32[(r9+3)] = 0;
+ f5 = f5+f7;
+ r9 = r10 >> 2;
+ f7 = f3+f10;
+ heapFloat[(fp+-44)] = f9;
+ f5 = f4+f5;
+ heapFloat[(r9+1)] = f7;
+ heapFloat[(r9+2)] = f5;
+ heap32[(r9+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r6;
+ r5 = sp + -992;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r7 = r5 >> 2;
+ heap32[(fp+-248)] = 0;
+ heap32[(r7+1)] = 0;
+ r2 = (r5 + r2)|0;
+ heap32[(r7+2)] = 0;
+ r2 = r2 >> 2;
+ heap32[(r7+3)] = 0;
+ r5 = sp + -1008;
+ heap32[(r2)] = 1065353216;
+ r2 = r5 >> 2;
+ heap32[(fp+-252)] = 0;
+ heap32[(r2+1)] = 0;
+ r3 = (r5 + r3)|0;
+ heap32[(r2+2)] = 0;
+ r3 = r3 >> 2;
+ heap32[(r2+3)] = 0;
+ heap32[(r3)] = 1065353216;
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r5 = r_g0 >> 2;
+ r5 = heap32[(r5)];
+ f5 = heapFloat[(r4)];
+ f7 = heapFloat[(fp+-252)];
+ f9 = heapFloat[(r4+1)];
+ f10 = heapFloat[(r2+1)];
+ f11 = heapFloat[(r4+4)];
+ f12 = heapFloat[(r4+5)];
+ r5 = r5 >> 2;
+ f13 = heapFloat[(r4+2)];
+ f14 = heapFloat[(r2+2)];
+ f15 = f5*f7;
+ f16 = f9*f10;
+ f17 = heapFloat[(r4+8)];
+ f18 = heapFloat[(r4+9)];
+ f19 = heapFloat[(r4+10)];
+ f20 = heapFloat[(r4+6)];
+ r2 = heap32[(r5+15)];
+ f21 = f11*f7;
+ f22 = f12*f10;
+ f15 = f15+f16;
+ f16 = f13*f14;
+ r5 = sp + -160;
+ f23 = f17*f7;
+ f24 = f18*f10;
+ f21 = f21+f22;
+ f22 = f20*f14;
+ f15 = f15+f16;
+ r8 = r5 >> 2;
+ f16 = f23+f24;
+ f23 = f19*f14;
+ f21 = f21+f22;
+ heapFloat[(fp+-40)] = f15;
+ f15 = f16+f23;
+ heapFloat[(r8+1)] = f21;
+ heapFloat[(r8+2)] = f15;
+ heap32[(r8+3)] = 0;
+ f15 = heapFloat[(fp+-248)];
+ f16 = heapFloat[(r7+1)];
+ f21 = heapFloat[(r7+2)];
+ f22 = f5*f15;
+ f23 = f9*f16;
+ f24 = f11*f15;
+ f25 = f12*f16;
+ f22 = f22+f23;
+ f23 = f13*f21;
+ r7 = sp + -144;
+ f26 = f17*f15;
+ f27 = f18*f16;
+ f24 = f24+f25;
+ f25 = f20*f21;
+ f22 = f22+f23;
+ f5 = f5*f6;
+ f9 = f9*f1;
+ r8 = r7 >> 2;
+ f23 = f26+f27;
+ f26 = f19*f21;
+ f24 = f24+f25;
+ heapFloat[(fp+-36)] = f22;
+ f11 = f11*f6;
+ f12 = f12*f1;
+ f5 = f5+f9;
+ f9 = f13*f8;
+ f13 = f23+f26;
+ heapFloat[(r8+1)] = f24;
+ f5 = f5+f9;
+ heapFloat[(r8+2)] = f13;
+ f9 = f17*f6;
+ f13 = f18*f1;
+ f11 = f11+f12;
+ f12 = f20*f8;
+ r9 = sp + -128;
+ f11 = f11+f12;
+ f9 = f9+f13;
+ f12 = f19*f8;
+ f5 = f2-f5;
+ heap32[(r8+3)] = 0;
+ f9 = f9+f12;
+ r8 = r9 >> 2;
+ f11 = f3-f11;
+ heapFloat[(fp+-32)] = f5;
+ f5 = f4-f9;
+ heapFloat[(r8+1)] = f11;
+ heapFloat[(r8+2)] = f5;
+ heap32[(r8+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r5;
+ heapFloat[(g0+4)] = f0;
+ heapFloat[(g0+5)] = f0;
+ heap32[(g0+6)] = 0;
+ heap32[(g0+7)] = 1086918619;
+ heap32[(g0+8)] = r6;
+ heap32[(g0+9)] = 0;
+ heap32[(g0+10)] = 1092616192;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = r_g0 >> 2;
+ f5 = heapFloat[(r4)];
+ f9 = heapFloat[(r4+1)];
+ r1 = heap32[(r1)];
+ f11 = heapFloat[(r4+4)];
+ f12 = heapFloat[(r4+5)];
+ f13 = heapFloat[(r4+2)];
+ r1 = r1 >> 2;
+ f17 = f5*f7;
+ f18 = f9*f10;
+ f19 = heapFloat[(r4+8)];
+ f20 = heapFloat[(r4+9)];
+ f22 = heapFloat[(r4+10)];
+ f23 = heapFloat[(r4+6)];
+ r1 = heap32[(r1+15)];
+ f24 = f11*f7;
+ f25 = f12*f10;
+ f17 = f17+f18;
+ f18 = f13*f14;
+ r2 = sp + -112;
+ f7 = f19*f7;
+ f10 = f20*f10;
+ f24 = f24+f25;
+ f25 = f23*f14;
+ f17 = f17+f18;
+ r3 = r2 >> 2;
+ f7 = f7+f10;
+ f10 = f22*f14;
+ f14 = f24+f25;
+ heapFloat[(fp+-28)] = f17;
+ f17 = f5*f15;
+ f18 = f9*f16;
+ f7 = f7+f10;
+ heapFloat[(r3+1)] = f14;
+ heapFloat[(r3+2)] = f7;
+ f7 = f11*f15;
+ f10 = f12*f16;
+ f14 = f17+f18;
+ f17 = f13*f21;
+ r4 = sp + -96;
+ f15 = f19*f15;
+ f16 = f20*f16;
+ f7 = f7+f10;
+ f10 = f23*f21;
+ f14 = f14+f17;
+ heap32[(r3+3)] = 0;
+ f5 = f5*f6;
+ f9 = f9*f1;
+ r3 = r4 >> 2;
+ f15 = f15+f16;
+ f16 = f22*f21;
+ f7 = f7+f10;
+ heapFloat[(fp+-24)] = f14;
+ f10 = f11*f6;
+ f11 = f12*f1;
+ f5 = f5+f9;
+ f9 = f13*f8;
+ f12 = f15+f16;
+ heapFloat[(r3+1)] = f7;
+ f5 = f5+f9;
+ heapFloat[(r3+2)] = f12;
+ f6 = f19*f6;
+ f1 = f20*f1;
+ f7 = f10+f11;
+ f9 = f23*f8;
+ r5 = sp + -80;
+ f7 = f7+f9;
+ f1 = f6+f1;
+ f6 = f22*f8;
+ f2 = f2+f5;
+ heap32[(r3+3)] = 0;
+ f1 = f1+f6;
+ r3 = r5 >> 2;
+ f3 = f3+f7;
+ heapFloat[(fp+-20)] = f2;
+ f1 = f4+f1;
+ heapFloat[(r3+1)] = f3;
+ heapFloat[(r3+2)] = f1;
+ heap32[(r3+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r4;
+}
+else{
+__label__ = 32;
+break _1;
+}
+}
+ heap32[(g0+3)] = r2;
+ heapFloat[(g0+4)] = f0;
+ heapFloat[(g0+5)] = f0;
+ heap32[(g0+6)] = 0;
+ heap32[(g0+7)] = 1086918619;
+ heap32[(g0+8)] = r6;
+ heap32[(g0+9)] = 0;
+ heap32[(g0+10)] = 1092616192;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+}
+else{
+ if(r3 >8) //_LBB222_4
+{
+ if(r3 ==9) //_LBB222_16
+{
+ r2 = heap32[(r5+23)];
+ r3 = (r2 + -1)|0;
+ if(r3 <0) //_LBB222_42
+{
+__label__ = 40;
+break _1;
+}
+else{
+ r3 = 1;
+ r2 = (r3 - r2)|0;
+_32: while(true){
+ r3 = r2;
+ r2 = heap32[(r5+25)];
+ r7 = r3 << 4;
+ r8 = heap32[(r1)];
+ r2 = (r2 - r7)|0;
+ r2 = r2 >> 2;
+ r7 = r8 >> 2;
+ r7 = heap32[(r7+4)];
+ f0 = heapFloat[(r2)];
+ f1 = heapFloat[(r2+1)];
+ f2 = heapFloat[(r2+2)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r7 = r4 >> 2;
+ r8 = r_g0 >> 2;
+ r8 = heap32[(r8)];
+ f3 = heapFloat[(r7+1)];
+ f4 = 0;
+ f5 = heapFloat[(r7)];
+ f6 = heapFloat[(r7+2)];
+ r8 = r8 >> 2;
+ f7 = f3*f4;
+ f8 = f5*f4;
+ f9 = heapFloat[(r7+8)];
+ f10 = heapFloat[(r7+9)];
+ f11 = heapFloat[(r7+10)];
+ f12 = heapFloat[(r7+4)];
+ f13 = heapFloat[(r7+5)];
+ f14 = heapFloat[(r7+6)];
+ r8 = heap32[(r8+4)];
+ f15 = f5+f7;
+ f16 = f6*f4;
+ f17 = heapFloat[(r7+14)];
+ f18 = heapFloat[(r7+13)];
+ f19 = heapFloat[(r7+12)];
+ r7 = sp + -608;
+ f20 = f8+f3;
+ f15 = f15+f16;
+ f7 = f8+f7;
+ r9 = r7 >> 2;
+ f8 = f20+f16;
+ heapFloat[(fp+-152)] = f15;
+ f15 = f13*f4;
+ f7 = f7+f6;
+ heapFloat[(r9+1)] = f8;
+ f8 = f12*f4;
+ heapFloat[(r9+2)] = f7;
+ f7 = f12+f15;
+ f16 = f14*f4;
+ f20 = f8+f13;
+ f7 = f7+f16;
+ heap32[(r9+3)] = 0;
+ f8 = f8+f15;
+ f15 = f20+f16;
+ heapFloat[(r9+4)] = f7;
+ f7 = f10*f4;
+ f8 = f8+f14;
+ heapFloat[(r9+5)] = f15;
+ f15 = f9*f4;
+ heapFloat[(r9+6)] = f8;
+ f8 = f9+f7;
+ f4 = f11*f4;
+ f16 = f15+f10;
+ f8 = f8+f4;
+ heap32[(r9+7)] = 0;
+ f7 = f15+f7;
+ f5 = f5*f0;
+ f3 = f3*f1;
+ f4 = f16+f4;
+ heapFloat[(r9+8)] = f8;
+ f8 = f12*f0;
+ f12 = f13*f1;
+ f3 = f5+f3;
+ f5 = f6*f2;
+ f6 = f7+f11;
+ heapFloat[(r9+9)] = f4;
+ f3 = f3+f5;
+ heapFloat[(r9+10)] = f6;
+ f0 = f9*f0;
+ f1 = f10*f1;
+ f4 = f8+f12;
+ f5 = f14*f2;
+ f4 = f4+f5;
+ f0 = f0+f1;
+ f1 = f11*f2;
+ f2 = f3+f19;
+ heap32[(r9+11)] = 0;
+ f0 = f0+f1;
+ f1 = f4+f18;
+ heapFloat[(r9+12)] = f2;
+ f0 = f0+f17;
+ heapFloat[(r9+13)] = f1;
+ heapFloat[(r9+14)] = f0;
+ heap32[(r9+15)] = 0;
+ r9 = heap32[(r5+30)];
+ r10 = r3 << 2;
+ r9 = (r9 - r10)|0;
+ r9 = r9 >> 2;
+ f0 = heapFloat[(r9)];
+ heap32[(g0)] = r_g0;
+ heapFloat[(g0+1)] = f0;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r6;
+ r2 = (r3 + 1)|0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ if(r3 ==0) //_LBB222_42
+{
+__label__ = 40;
+break _1;
+}
+else{
+continue _32;
+}
+}
+}
+}
+else{
+ if(r3 ==10) //_LBB222_19
+{
+ r3 = heap32[(r5+13)];
+ r5 = (r3 + 2)|0;
+ r5 = (r5 % 3)|0;
+ r7 = r3 << 2;
+ r2 = (r2 + 28)|0;
+ r5 = r5 << 2;
+ r8 = (r2 + r7)|0;
+ r2 = (r2 + r5)|0;
+ r8 = r8 >> 2;
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r8)];
+ f1 = heapFloat[(r2)];
+ r2 = sp + -720;
+ r8 = r2 >> 2;
+ heap32[(fp+-180)] = 0;
+ heap32[(r8+1)] = 0;
+ r9 = (r2 + r7)|0;
+ heap32[(r8+2)] = 0;
+ r9 = r9 >> 2;
+ f2 = -f0;
+ heap32[(r8+3)] = 0;
+ r10 = sp + -736;
+ heapFloat[(r9)] = f2;
+ heap32[(fp+-184)] = 0;
+ r9 = r10 >> 2;
+ heap32[(r9+1)] = 0;
+ r7 = (r10 + r7)|0;
+ heap32[(r9+2)] = 0;
+ r7 = r7 >> 2;
+ heap32[(r9+3)] = 0;
+ heapFloat[(r7)] = f0;
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r4)];
+ r7 = sp + -800;
+ heapFloat[(fp+-200)] = f0;
+ r11 = r7 >> 2;
+ f2 = heapFloat[(r4+1)];
+ heapFloat[(r11+1)] = f2;
+ f3 = heapFloat[(r4+2)];
+ heapFloat[(r11+2)] = f3;
+ heap32[(r11+3)] = heap32[(r4+3)];
+ f4 = heapFloat[(r4+4)];
+ heapFloat[(r11+4)] = f4;
+ f5 = heapFloat[(r4+5)];
+ heapFloat[(r11+5)] = f5;
+ f6 = heapFloat[(r4+6)];
+ heapFloat[(r11+6)] = f6;
+ heap32[(r11+7)] = heap32[(r4+7)];
+ f7 = heapFloat[(r4+8)];
+ heapFloat[(r11+8)] = f7;
+ f8 = heapFloat[(r4+9)];
+ heapFloat[(r11+9)] = f8;
+ f9 = heapFloat[(r4+10)];
+ heapFloat[(r11+10)] = f9;
+ heap32[(r11+11)] = heap32[(r4+11)];
+ f10 = heapFloat[(fp+-180)];
+ f11 = heapFloat[(r8+1)];
+ f12 = heapFloat[(r8+2)];
+ f0 = f0*f10;
+ f2 = f2*f11;
+ f4 = f4*f10;
+ f5 = f5*f11;
+ f0 = f0+f2;
+ f2 = f3*f12;
+ f3 = f7*f10;
+ f7 = f8*f11;
+ f4 = f4+f5;
+ f5 = f6*f12;
+ f0 = f0+f2;
+ f2 = heapFloat[(r4+12)];
+ f6 = heapFloat[(r4+13)];
+ f8 = heapFloat[(r4+14)];
+ f4 = f4+f5;
+ f3 = f3+f7;
+ f5 = f9*f12;
+ f0 = f0+f2;
+ f2 = f3+f5;
+ f3 = f4+f6;
+ heapFloat[(r11+12)] = f0;
+ f0 = f2+f8;
+ heapFloat[(r11+13)] = f3;
+ heapFloat[(r11+14)] = f0;
+ heap32[(r11+15)] = 0;
+ r11 = heap32[(r1)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r12 = r_g0 >> 2;
+ r12 = heap32[(r12)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+4)];
+ heap32[(g0)] = r_g0;
+ heapFloat[(g0+1)] = f1;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+ f0 = heapFloat[(r4)];
+ r7 = sp + -864;
+ heapFloat[(fp+-216)] = f0;
+ r11 = r7 >> 2;
+ f2 = heapFloat[(r4+1)];
+ heapFloat[(r11+1)] = f2;
+ f3 = heapFloat[(r4+2)];
+ heapFloat[(r11+2)] = f3;
+ heap32[(r11+3)] = heap32[(r4+3)];
+ f4 = heapFloat[(r4+4)];
+ heapFloat[(r11+4)] = f4;
+ f5 = heapFloat[(r4+5)];
+ heapFloat[(r11+5)] = f5;
+ f6 = heapFloat[(r4+6)];
+ heapFloat[(r11+6)] = f6;
+ heap32[(r11+7)] = heap32[(r4+7)];
+ f7 = heapFloat[(r4+8)];
+ heapFloat[(r11+8)] = f7;
+ f8 = heapFloat[(r4+9)];
+ heapFloat[(r11+9)] = f8;
+ f9 = heapFloat[(r4+10)];
+ heapFloat[(r11+10)] = f9;
+ heap32[(r11+11)] = heap32[(r4+11)];
+ f10 = heapFloat[(fp+-184)];
+ f11 = heapFloat[(r9+1)];
+ f12 = heapFloat[(r9+2)];
+ f0 = f0*f10;
+ f2 = f2*f11;
+ f4 = f4*f10;
+ f5 = f5*f11;
+ f0 = f0+f2;
+ f2 = f3*f12;
+ f3 = f7*f10;
+ f7 = f8*f11;
+ f4 = f4+f5;
+ f5 = f6*f12;
+ f0 = f0+f2;
+ f2 = heapFloat[(r4+12)];
+ f6 = heapFloat[(r4+13)];
+ f8 = heapFloat[(r4+14)];
+ f4 = f4+f5;
+ f3 = f3+f7;
+ f5 = f9*f12;
+ f0 = f0+f2;
+ f2 = f3+f5;
+ f3 = f4+f6;
+ heapFloat[(r11+12)] = f0;
+ f0 = f2+f8;
+ heapFloat[(r11+13)] = f3;
+ heapFloat[(r11+14)] = f0;
+ heap32[(r11+15)] = 0;
+ r11 = heap32[(r1)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r12 = r_g0 >> 2;
+ r12 = heap32[(r12)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+4)];
+ r3 = (r3 + 1)|0;
+ heap32[(g0)] = r_g0;
+ heapFloat[(g0+1)] = f1;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r6;
+ r3 = (r3 % 3)|0;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+ r3 = r3 << 2;
+ r7 = (r2 + r3)|0;
+ f0 = heapFloat[(r4+12)];
+ f2 = heapFloat[(r4+13)];
+ f3 = heapFloat[(r4+14)];
+ r3 = (r10 + r3)|0;
+ r7 = r7 >> 2;
+ heapFloat[(r7)] = f1;
+ r3 = r3 >> 2;
+ heapFloat[(r3)] = f1;
+ r11 = heap32[(r1)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r12 = r_g0 >> 2;
+ f4 = heapFloat[(fp+-184)];
+ f5 = heapFloat[(r4)];
+ f6 = heapFloat[(r9+1)];
+ f7 = heapFloat[(r4+1)];
+ r12 = heap32[(r12)];
+ f8 = heapFloat[(r4+4)];
+ f9 = heapFloat[(r4+5)];
+ f10 = f5*f4;
+ f11 = f7*f6;
+ f12 = heapFloat[(r9+2)];
+ f13 = heapFloat[(r4+2)];
+ r12 = r12 >> 2;
+ f14 = heapFloat[(r4+8)];
+ f15 = heapFloat[(r4+9)];
+ f16 = heapFloat[(r4+6)];
+ f17 = f8*f4;
+ f18 = f9*f6;
+ f10 = f10+f11;
+ f11 = f13*f12;
+ f10 = f10+f11;
+ f11 = heapFloat[(r4+10)];
+ r12 = heap32[(r12+2)];
+ f4 = f14*f4;
+ f6 = f15*f6;
+ f17 = f17+f18;
+ f18 = f16*f12;
+ r13 = sp + -544;
+ f17 = f17+f18;
+ f4 = f4+f6;
+ f6 = f11*f12;
+ f10 = f0+f10;
+ f4 = f4+f6;
+ r14 = r13 >> 2;
+ f6 = f2+f17;
+ heapFloat[(fp+-136)] = f10;
+ f4 = f3+f4;
+ heapFloat[(r14+1)] = f6;
+ heapFloat[(r14+2)] = f4;
+ heap32[(r14+3)] = 0;
+ f4 = heapFloat[(fp+-180)];
+ f6 = heapFloat[(r8+1)];
+ f10 = heapFloat[(r8+2)];
+ f5 = f5*f4;
+ f7 = f7*f6;
+ f8 = f8*f4;
+ f9 = f9*f6;
+ f5 = f5+f7;
+ f7 = f13*f10;
+ f5 = f5+f7;
+ f4 = f14*f4;
+ f6 = f15*f6;
+ f7 = f8+f9;
+ f8 = f16*f10;
+ r14 = sp + -528;
+ f7 = f7+f8;
+ f4 = f4+f6;
+ f6 = f11*f10;
+ f5 = f0+f5;
+ f4 = f4+f6;
+ r15 = r14 >> 2;
+ f6 = f2+f7;
+ heapFloat[(fp+-132)] = f5;
+ f4 = f3+f4;
+ heapFloat[(r15+1)] = f6;
+ heapFloat[(r15+2)] = f4;
+ heap32[(r15+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r14;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+ f4 = -f1;
+ heapFloat[(r7)] = f4;
+ heapFloat[(r3)] = f4;
+ r11 = heap32[(r1)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r12 = r_g0 >> 2;
+ f5 = heapFloat[(fp+-184)];
+ f6 = heapFloat[(r4)];
+ f7 = heapFloat[(r9+1)];
+ f8 = heapFloat[(r4+1)];
+ r12 = heap32[(r12)];
+ f9 = heapFloat[(r4+4)];
+ f10 = heapFloat[(r4+5)];
+ f11 = f6*f5;
+ f12 = f8*f7;
+ f13 = heapFloat[(r9+2)];
+ f14 = heapFloat[(r4+2)];
+ r12 = r12 >> 2;
+ f15 = heapFloat[(r4+8)];
+ f16 = heapFloat[(r4+9)];
+ f17 = heapFloat[(r4+6)];
+ f18 = f9*f5;
+ f19 = f10*f7;
+ f11 = f11+f12;
+ f12 = f14*f13;
+ f11 = f11+f12;
+ f12 = heapFloat[(r4+10)];
+ r12 = heap32[(r12+2)];
+ f5 = f15*f5;
+ f7 = f16*f7;
+ f18 = f18+f19;
+ f19 = f17*f13;
+ r13 = sp + -512;
+ f18 = f18+f19;
+ f5 = f5+f7;
+ f7 = f12*f13;
+ f11 = f0+f11;
+ f5 = f5+f7;
+ r14 = r13 >> 2;
+ f7 = f2+f18;
+ heapFloat[(fp+-128)] = f11;
+ f5 = f3+f5;
+ heapFloat[(r14+1)] = f7;
+ heapFloat[(r14+2)] = f5;
+ heap32[(r14+3)] = 0;
+ f5 = heapFloat[(fp+-180)];
+ f7 = heapFloat[(r8+1)];
+ f11 = heapFloat[(r8+2)];
+ f6 = f6*f5;
+ f8 = f8*f7;
+ f9 = f9*f5;
+ f10 = f10*f7;
+ f6 = f6+f8;
+ f8 = f14*f11;
+ f6 = f6+f8;
+ f5 = f15*f5;
+ f7 = f16*f7;
+ f8 = f9+f10;
+ f9 = f17*f11;
+ r14 = sp + -496;
+ f8 = f8+f9;
+ f5 = f5+f7;
+ f7 = f12*f11;
+ f6 = f0+f6;
+ f5 = f5+f7;
+ r15 = r14 >> 2;
+ f7 = f2+f8;
+ heapFloat[(fp+-124)] = f6;
+ f5 = f3+f5;
+ heapFloat[(r15+1)] = f7;
+ heapFloat[(r15+2)] = f5;
+ heap32[(r15+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r14;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+ heap32[(r7)] = 0;
+ r2 = (r2 + r5)|0;
+ r5 = (r10 + r5)|0;
+ heap32[(r3)] = 0;
+ r2 = r2 >> 2;
+ heapFloat[(r2)] = f1;
+ r3 = r5 >> 2;
+ heapFloat[(r3)] = f1;
+ r5 = heap32[(r1)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r7 = r_g0 >> 2;
+ f1 = heapFloat[(fp+-184)];
+ f5 = heapFloat[(r4)];
+ f6 = heapFloat[(r9+1)];
+ f7 = heapFloat[(r4+1)];
+ r7 = heap32[(r7)];
+ f8 = heapFloat[(r4+4)];
+ f9 = heapFloat[(r4+5)];
+ f10 = f5*f1;
+ f11 = f7*f6;
+ f12 = heapFloat[(r9+2)];
+ f13 = heapFloat[(r4+2)];
+ r7 = r7 >> 2;
+ f14 = heapFloat[(r4+8)];
+ f15 = heapFloat[(r4+9)];
+ f16 = heapFloat[(r4+6)];
+ f17 = f8*f1;
+ f18 = f9*f6;
+ f10 = f10+f11;
+ f11 = f13*f12;
+ f10 = f10+f11;
+ f11 = heapFloat[(r4+10)];
+ r7 = heap32[(r7+2)];
+ f1 = f14*f1;
+ f6 = f15*f6;
+ f17 = f17+f18;
+ f18 = f16*f12;
+ r10 = sp + -480;
+ f17 = f17+f18;
+ f1 = f1+f6;
+ f6 = f11*f12;
+ f10 = f0+f10;
+ f1 = f1+f6;
+ r11 = r10 >> 2;
+ f6 = f2+f17;
+ heapFloat[(fp+-120)] = f10;
+ f1 = f3+f1;
+ heapFloat[(r11+1)] = f6;
+ heapFloat[(r11+2)] = f1;
+ heap32[(r11+3)] = 0;
+ f1 = heapFloat[(fp+-180)];
+ f6 = heapFloat[(r8+1)];
+ f10 = heapFloat[(r8+2)];
+ f5 = f5*f1;
+ f7 = f7*f6;
+ f8 = f8*f1;
+ f9 = f9*f6;
+ f5 = f5+f7;
+ f7 = f13*f10;
+ f5 = f5+f7;
+ f1 = f14*f1;
+ f6 = f15*f6;
+ f7 = f8+f9;
+ f8 = f16*f10;
+ r11 = sp + -464;
+ f7 = f7+f8;
+ f1 = f1+f6;
+ f6 = f11*f10;
+ f5 = f0+f5;
+ f1 = f1+f6;
+ r12 = r11 >> 2;
+ f6 = f2+f7;
+ heapFloat[(fp+-116)] = f5;
+ f1 = f3+f1;
+ heapFloat[(r12+1)] = f6;
+ heapFloat[(r12+2)] = f1;
+ heap32[(r12+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ heapFloat[(r2)] = f4;
+ heapFloat[(r3)] = f4;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = r_g0 >> 2;
+ f1 = heapFloat[(fp+-184)];
+ f4 = heapFloat[(r4)];
+ f5 = heapFloat[(r9+1)];
+ f6 = heapFloat[(r4+1)];
+ r1 = heap32[(r1)];
+ f7 = heapFloat[(r4+4)];
+ f8 = heapFloat[(r4+5)];
+ f9 = f4*f1;
+ f10 = f6*f5;
+ f11 = heapFloat[(r9+2)];
+ f12 = heapFloat[(r4+2)];
+ r1 = r1 >> 2;
+ f13 = heapFloat[(r4+8)];
+ f14 = heapFloat[(r4+9)];
+ f15 = heapFloat[(r4+6)];
+ f16 = f7*f1;
+ f17 = f8*f5;
+ f9 = f9+f10;
+ f10 = f12*f11;
+ f9 = f9+f10;
+ f10 = heapFloat[(r4+10)];
+ r1 = heap32[(r1+2)];
+ f1 = f13*f1;
+ f5 = f14*f5;
+ f16 = f16+f17;
+ f17 = f15*f11;
+ r2 = sp + -448;
+ f16 = f16+f17;
+ f1 = f1+f5;
+ f5 = f10*f11;
+ f9 = f0+f9;
+ f1 = f1+f5;
+ r3 = r2 >> 2;
+ f5 = f2+f16;
+ heapFloat[(fp+-112)] = f9;
+ f1 = f3+f1;
+ heapFloat[(r3+1)] = f5;
+ heapFloat[(r3+2)] = f1;
+ heap32[(r3+3)] = 0;
+ f1 = heapFloat[(fp+-180)];
+ f5 = heapFloat[(r8+1)];
+ f9 = heapFloat[(r8+2)];
+ f4 = f4*f1;
+ f6 = f6*f5;
+ f7 = f7*f1;
+ f8 = f8*f5;
+ f4 = f4+f6;
+ f6 = f12*f9;
+ f4 = f4+f6;
+ f1 = f13*f1;
+ f5 = f14*f5;
+ f6 = f7+f8;
+ f7 = f15*f9;
+ r3 = sp + -432;
+ f6 = f6+f7;
+ f1 = f1+f5;
+ f5 = f10*f9;
+ f0 = f0+f4;
+ f1 = f1+f5;
+ r4 = r3 >> 2;
+ f2 = f2+f6;
+ heapFloat[(fp+-108)] = f0;
+ f0 = f3+f1;
+ heapFloat[(r4+1)] = f2;
+ heapFloat[(r4+2)] = f0;
+ heap32[(r4+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r3;
+__label__ = 30;
+break _1;
+}
+else{
+__label__ = 32;
+break _1;
+}
+}
+}
+else{
+ if(r3 ==0) //_LBB222_14
+{
+ r3 = sp + -704;
+ f0 = heapFloat[(r5+8)];
+ f1 = heapFloat[(r5+9)];
+ f2 = heapFloat[(r5+7)];
+ r7 = r3 >> 2;
+ heap32[(r7+3)] = heap32[(r5+10)];
+ r8 = heap32[(r5)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+11)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ f3 = f_g0;
+ r8 = heap32[(r5)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+11)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ f4 = f_g0;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+11)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ f2 = f2+f_g0;
+ f0 = f0+f4;
+ heapFloat[(fp+-176)] = f2;
+ f1 = f1+f3;
+ heapFloat[(r7+1)] = f0;
+ heapFloat[(r7+2)] = f1;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = r_g0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r7+2)];
+ f1 = heapFloat[(r7+1)];
+ f2 = heapFloat[(fp+-176)];
+ r1 = heap32[(r1+18)];
+ r2 = sp + -624;
+ f2 = -f2;
+ r5 = r2 >> 2;
+ f1 = -f1;
+ heapFloat[(fp+-156)] = f2;
+ f0 = -f0;
+ heapFloat[(r5+1)] = f1;
+ heapFloat[(r5+2)] = f0;
+ heap32[(r5+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = r6;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+else{
+ if(r3 ==8) //_LBB222_15
+{
+ r3 = heap32[(r5)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+11)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ f0 = f_g0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = r_g0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r_g0;
+ heapFloat[(g0+1)] = f0;
+ heap32[(g0+2)] = r4;
+__label__ = 31;
+}
+else{
+__label__ = 32;
+}
+}
+}
+}
+} while(0);
+_41: do {
+switch(__label__ ){//multiple entries
+case 30:
+ heap32[(g0+2)] = r2;
+__label__ = 31;
+break _41;
+break;
+case 32:
+ r7 = (r3 + -21)|0;
+ if(uint(r7) <uint(9)) //_LBB222_34
+{
+ r3 = sp + -1024;
+ r7 = r3 >> 2;
+ heap32[(fp+-256)] = 1566444395;
+ heap32[(r7+1)] = 1566444395;
+ heap32[(r7+2)] = 1566444395;
+ r8 = sp + -1040;
+ heap32[(r7+3)] = 0;
+ r7 = r8 >> 2;
+ heap32[(fp+-260)] = -581039253;
+ heap32[(r7+1)] = -581039253;
+ heap32[(r7+2)] = -581039253;
+ heap32[(r7+3)] = 0;
+ r7 = heap32[(r1)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+4)];
+ r9 = _ZTV17DebugDrawcallback;
+ heap32[(g0)] = r0;
+ r10 = sp + -1136;
+ r11 = (r9 + 8)|0;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r12 = r10 >> 2;
+ r9 = (r9 + 32)|0;
+ heap32[(fp+-284)] = r11;
+ heap32[(r12+1)] = r9;
+ r13 = r6 >> 2;
+ heap32[(r12+2)] = r_g0;
+ heap32[(r12+3)] = heap32[(r13)];
+ heap32[(r12+4)] = heap32[(r13+1)];
+ heap32[(r12+5)] = heap32[(r13+2)];
+ r7 = r4 >> 2;
+ heap32[(r12+6)] = heap32[(r13+3)];
+ heap32[(r12+7)] = heap32[(r7)];
+ heap32[(r12+8)] = heap32[(r7+1)];
+ heap32[(r12+9)] = heap32[(r7+2)];
+ heap32[(r12+10)] = heap32[(r7+3)];
+ heap32[(r12+11)] = heap32[(r7+4)];
+ heap32[(r12+12)] = heap32[(r7+5)];
+ heap32[(r12+13)] = heap32[(r7+6)];
+ heap32[(r12+14)] = heap32[(r7+7)];
+ heap32[(r12+15)] = heap32[(r7+8)];
+ heap32[(r12+16)] = heap32[(r7+9)];
+ heap32[(r12+17)] = heap32[(r7+10)];
+ heap32[(r12+18)] = heap32[(r7+11)];
+ heap32[(r12+19)] = heap32[(r7+12)];
+ heap32[(r12+20)] = heap32[(r7+13)];
+ heap32[(r12+21)] = heap32[(r7+14)];
+ heap32[(r12+22)] = heap32[(r7+15)];
+ r7 = heap32[(r5)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+15)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r3;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r3 = r10 | 4;
+ r7 = _ZTV31btInternalTriangleIndexCallback;
+ heap32[(fp+-284)] = r11;
+ r8 = _ZTV18btTriangleCallback;
+ r3 = r3 >> 2;
+ r7 = (r7 + 8)|0;
+ heap32[(r12+1)] = r9;
+ r8 = (r8 + 8)|0;
+ heap32[(r3)] = r7;
+ heap32[(fp+-284)] = r8;
+ r3 = heap32[(r5+1)];
+}
+ if(r3 ==3) //_LBB222_37
+{
+ r3 = sp + -1152;
+ r7 = r3 >> 2;
+ heap32[(fp+-288)] = 1566444395;
+ heap32[(r7+1)] = 1566444395;
+ heap32[(r7+2)] = 1566444395;
+ r8 = sp + -1168;
+ heap32[(r7+3)] = 0;
+ r7 = r8 >> 2;
+ heap32[(fp+-292)] = -581039253;
+ heap32[(r7+1)] = -581039253;
+ heap32[(r7+2)] = -581039253;
+ heap32[(r7+3)] = 0;
+ r7 = heap32[(r1)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+4)];
+ r9 = _ZTV17DebugDrawcallback;
+ heap32[(g0)] = r0;
+ r10 = sp + -1264;
+ r11 = (r9 + 8)|0;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r12 = r10 >> 2;
+ r9 = (r9 + 32)|0;
+ heap32[(fp+-316)] = r11;
+ heap32[(r12+1)] = r9;
+ r13 = r6 >> 2;
+ heap32[(r12+2)] = r_g0;
+ heap32[(r12+3)] = heap32[(r13)];
+ heap32[(r12+4)] = heap32[(r13+1)];
+ heap32[(r12+5)] = heap32[(r13+2)];
+ r7 = r4 >> 2;
+ heap32[(r12+6)] = heap32[(r13+3)];
+ heap32[(r12+7)] = heap32[(r7)];
+ heap32[(r12+8)] = heap32[(r7+1)];
+ heap32[(r12+9)] = heap32[(r7+2)];
+ heap32[(r12+10)] = heap32[(r7+3)];
+ heap32[(r12+11)] = heap32[(r7+4)];
+ heap32[(r12+12)] = heap32[(r7+5)];
+ heap32[(r12+13)] = heap32[(r7+6)];
+ heap32[(r12+14)] = heap32[(r7+7)];
+ heap32[(r12+15)] = heap32[(r7+8)];
+ heap32[(r12+16)] = heap32[(r7+9)];
+ heap32[(r12+17)] = heap32[(r7+10)];
+ heap32[(r12+18)] = heap32[(r7+11)];
+ heap32[(r12+19)] = heap32[(r7+12)];
+ heap32[(r12+20)] = heap32[(r7+13)];
+ heap32[(r12+21)] = heap32[(r7+14)];
+ heap32[(r12+22)] = heap32[(r7+15)];
+ r7 = heap32[(r5+22)];
+ r13 = r7 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+2)];
+ r14 = (r10 + 4)|0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r14;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r3;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ r3 = r10 | 4;
+ r7 = _ZTV31btInternalTriangleIndexCallback;
+ heap32[(fp+-316)] = r11;
+ r8 = _ZTV18btTriangleCallback;
+ r3 = r3 >> 2;
+ r7 = (r7 + 8)|0;
+ heap32[(r12+1)] = r9;
+ r8 = (r8 + 8)|0;
+ heap32[(r3)] = r7;
+ heap32[(fp+-316)] = r8;
+ r3 = heap32[(r5+1)];
+}
+ if(r3 >6) //_LBB222_42
+{
+__label__ = 40;
+}
+else{
+ r3 = heap32[(r5)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+22)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r_g0;
+ if(r3 <1) //_LBB222_42
+{
+__label__ = 40;
+}
+else{
+ r3 = 0;
+_52: while(true){
+ r7 = heap32[(r5)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+23)];
+ r8 = sp + -1296;
+ r9 = sp + -1280;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r8;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r7 = r4 >> 2;
+ r9 = r9 >> 2;
+ f0 = heapFloat[(fp+-320)];
+ f1 = heapFloat[(r7)];
+ f2 = heapFloat[(r9+1)];
+ f3 = heapFloat[(r7+1)];
+ f4 = heapFloat[(r7+4)];
+ f5 = heapFloat[(r7+5)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r9+2)];
+ f9 = heapFloat[(r7+2)];
+ f10 = heapFloat[(r7+8)];
+ f11 = heapFloat[(r7+9)];
+ f12 = heapFloat[(r7+6)];
+ f13 = f4*f0;
+ f14 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ f15 = heapFloat[(r7+10)];
+ f0 = f10*f0;
+ f2 = f11*f2;
+ f13 = f13+f14;
+ f14 = f12*f8;
+ f6 = f6+f7;
+ f7 = heapFloat[(r7+12)];
+ f16 = heapFloat[(r7+14)];
+ f17 = heapFloat[(r7+13)];
+ r7 = sp + -1312;
+ f13 = f13+f14;
+ f0 = f0+f2;
+ f2 = f15*f8;
+ f6 = f6+f7;
+ f0 = f0+f2;
+ r9 = r7 >> 2;
+ f2 = f13+f17;
+ heapFloat[(fp+-328)] = f6;
+ f0 = f0+f16;
+ heapFloat[(r9+1)] = f2;
+ heapFloat[(r9+2)] = f0;
+ heap32[(r9+3)] = 0;
+ r8 = r8 >> 2;
+ f0 = heapFloat[(fp+-324)];
+ f2 = heapFloat[(r8+1)];
+ f6 = heapFloat[(r8+2)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f9*f6;
+ f1 = f1+f3;
+ f0 = f10*f0;
+ f2 = f11*f2;
+ f3 = f4+f5;
+ f4 = f12*f6;
+ r8 = sp + -1328;
+ f3 = f3+f4;
+ f0 = f0+f2;
+ f2 = f15*f6;
+ f1 = f1+f7;
+ f0 = f0+f2;
+ r9 = r8 >> 2;
+ f2 = f3+f17;
+ heapFloat[(fp+-332)] = f1;
+ f0 = f0+f16;
+ heapFloat[(r9+1)] = f2;
+ heapFloat[(r9+2)] = f0;
+ heap32[(r9+3)] = 0;
+ r9 = heap32[(r1)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r10 = r_g0 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+2)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r7 = heap32[(r5)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+22)];
+ r3 = (r3 + 1)|0;
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r7 = r_g0;
+ if(r7 >r3) //_LBB222_41
+{
+continue _52;
+}
+else{
+__label__ = 40;
+break _41;
+}
+}
+}
+}
+break;
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 31:
+ heap32[(g0+3)] = r6;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+break;
+case 40:
+ return;
+break;
+}
+}
+
+function _ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -280;var g0 = i7>>2; // save stack
+ r0 = _ZTV19btSingleRayCallback;
+ r1 = heap32[(fp+1)];
+ r0 = (r0 + 8)|0;
+ r2 = sp + -256;
+ r3 = r1 >> 2;
+ heap32[(fp+-64)] = r0;
+ r0 = r2 >> 2;
+ f0 = heapFloat[(r3)];
+ heapFloat[(r0+9)] = f0;
+ f1 = heapFloat[(r3+1)];
+ heapFloat[(r0+10)] = f1;
+ f2 = heapFloat[(r3+2)];
+ heapFloat[(r0+11)] = f2;
+ r4 = heap32[(fp+2)];
+ f3 = heapFloat[(r3+3)];
+ r3 = r4 >> 2;
+ heapFloat[(r0+12)] = f3;
+ f4 = heapFloat[(r3)];
+ heapFloat[(r0+13)] = f4;
+ f5 = heapFloat[(r3+1)];
+ heapFloat[(r0+14)] = f5;
+ f6 = heapFloat[(r3+2)];
+ heapFloat[(r0+15)] = f6;
+ f7 = heapFloat[(r3+3)];
+ r3 = heap32[(fp)];
+ heapFloat[(r0+16)] = f7;
+ r5 = heap32[(fp+3)];
+ heap32[(r0+53)] = r3;
+ heap32[(r0+54)] = r5;
+ heap32[(r0+17)] = 1065353216;
+ heap32[(r0+18)] = 0;
+ heap32[(r0+19)] = 0;
+ heap32[(r0+20)] = 0;
+ heap32[(r0+21)] = 0;
+ heap32[(r0+22)] = 1065353216;
+ heap32[(r0+23)] = 0;
+ heap32[(r0+24)] = 0;
+ heap32[(r0+25)] = 0;
+ heap32[(r0+26)] = 0;
+ heap32[(r0+27)] = 1065353216;
+ heap32[(r0+28)] = 0;
+ heapFloat[(r0+29)] = f0;
+ heapFloat[(r0+30)] = f1;
+ heapFloat[(r0+31)] = f2;
+ heapFloat[(r0+32)] = f3;
+ heap32[(r0+33)] = 1065353216;
+ heap32[(r0+34)] = 0;
+ heap32[(r0+35)] = 0;
+ heap32[(r0+36)] = 0;
+ heap32[(r0+37)] = 0;
+ heap32[(r0+38)] = 1065353216;
+ heap32[(r0+39)] = 0;
+ heap32[(r0+40)] = 0;
+ heap32[(r0+41)] = 0;
+ heap32[(r0+42)] = 0;
+ heap32[(r0+43)] = 1065353216;
+ heap32[(r0+44)] = 0;
+ heapFloat[(r0+45)] = f4;
+ f0 = f4-f0;
+ heapFloat[(r0+46)] = f5;
+ f1 = f5-f1;
+ heapFloat[(r0+47)] = f6;
+ f2 = f6-f2;
+ f3 = f0*f0;
+ f4 = f1*f1;
+ heapFloat[(r0+48)] = f7;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ heapFloat[(g0)] = f3;
+ f3 = 1;
+ sqrtf(i7);
+ f4 = f3/f_g0;
+ f0 = f0*f4;
+ f1 = f1*f4;
+ f2 = f2*f4;
+ f4 = 0;
+ if(f0 !=f4) //_LBB223_2
+{
+ f5 = f3/f0;
+}
+else{
+ f5 = 999999984306749440;
+}
+ heapFloat[(r0+1)] = f5;
+ if(f1 !=f4) //_LBB223_5
+{
+ f6 = f3/f1;
+}
+else{
+ f6 = 999999984306749440;
+}
+ heapFloat[(r0+2)] = f6;
+ if(f2 !=f4) //_LBB223_8
+{
+ f3 = f3/f2;
+}
+else{
+ f3 = 999999984306749440;
+}
+ r5 = f5 < f4;
+ r6 = f6 < f4;
+ r5 = r5 & 1;
+ heapFloat[(r0+3)] = f3;
+ r7 = f3 < f4;
+ r6 = r6 & 1;
+ heap32[(r0+5)] = r5;
+ r5 = r7 & 1;
+ heap32[(r0+6)] = r6;
+ heap32[(r0+7)] = r5;
+ f3 = heapFloat[(r0+14)];
+ f4 = heapFloat[(r0+10)];
+ f5 = heapFloat[(r0+13)];
+ f6 = heapFloat[(r0+9)];
+ f5 = f5-f6;
+ f3 = f3-f4;
+ f4 = heapFloat[(r0+15)];
+ f6 = heapFloat[(r0+11)];
+ f0 = f0*f5;
+ f1 = f1*f3;
+ f3 = f4-f6;
+ f0 = f0+f1;
+ f1 = f2*f3;
+ f0 = f0+f1;
+ r3 = r3 >> 2;
+ heapFloat[(r0+8)] = f0;
+ r0 = heap32[(r3+20)];
+ r3 = r0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+6)];
+ r5 = sp + -32;
+ r6 = r5 >> 2;
+ heap32[(fp+-8)] = 0;
+ heap32[(r6+1)] = 0;
+ heap32[(r6+2)] = 0;
+ r7 = sp + -16;
+ heap32[(r6+3)] = 0;
+ r6 = r7 >> 2;
+ heap32[(fp+-4)] = 0;
+ heap32[(r6+1)] = 0;
+ heap32[(r6+2)] = 0;
+ heap32[(r6+3)] = 0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r2;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r5;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ return;
+}
+
+function _ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+var __label__ = 0;
+ i7 = sp + -136;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ if(r0 !=0) //_LBB224_2
+{
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r4 = r1 >> 2;
+ r5 = heap32[(r4+2)];
+ r6 = 0;
+_3: while(true){
+ if(r5 >r6) //_LBB224_3
+{
+ r7 = heap32[(r4+4)];
+ r8 = r6 << 2;
+ r7 = (r7 + r8)|0;
+ r7 = r7 >> 2;
+ r7 = heap32[(r7)];
+ if(r7 ==r0) //_LBB224_6
+{
+__label__ = 6;
+break _3;
+}
+else{
+ r6 = (r6 + 1)|0;
+}
+}
+else{
+__label__ = 8;
+break _3;
+}
+}
+if (__label__ == 6){
+if(!(r5 ==r6)) //_LBB224_8
+{
+ r0 = _2E_str988;
+ r1 = _2E_str887;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 114;
+ _assert(i7);
+}
+}
+ r6 = heap32[(r4+3)];
+ if(r6 ==r5) //_LBB224_10
+{
+ r7 = 1;
+ r8 = r5 << 1;
+ r8 = r5 == 0 ? r7 : r8;
+if(!(r6 >=r8)) //_LBB224_9
+{
+ if(r8 !=0) //_LBB224_13
+{
+ r6 = gNumAlignedAllocs;
+ r6 = r6 >> 2;
+ r9 = heap32[(r6)];
+ r10 = r8 << 2;
+ r9 = (r9 + 1)|0;
+ r10 = r10 | 3;
+ heap32[(r6)] = r9;
+ r6 = (r10 + 16)|0;
+ heap32[(g0)] = r6;
+ malloc(i7);
+ r6 = r_g0;
+ if(r6 !=0) //_LBB224_15
+{
+ r9 = 0;
+ r10 = (r6 + 4)|0;
+ r9 = (r9 - r10)|0;
+ r9 = r9 & 15;
+ r9 = (r6 + r9)|0;
+ r10 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r6;
+ r6 = r10;
+}
+}
+else{
+ r6 = 0;
+}
+_19: do {
+ if(r5 <1) //_LBB224_18
+{
+ r10 = heap32[(r4+4)];
+}
+else{
+ r9 = 0;
+_22: while(true){
+ r10 = heap32[(r4+4)];
+ r11 = r9 << 2;
+ r12 = (r10 + r11)|0;
+ r12 = r12 >> 2;
+ r11 = (r6 + r11)|0;
+ r12 = heap32[(r12)];
+ r9 = (r9 + 1)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = r12;
+if(!(r5 !=r9)) //_LBB224_19
+{
+break _19;
+}
+}
+}
+} while(0);
+ if(r10 !=0) //_LBB224_22
+{
+ r9 = heapU8[r1+20];
+ if(r9 !=0) //_LBB224_24
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r9 = heap32[(r5)];
+ r9 = (r9 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r5)] = r9;
+ r5 = heap32[(r10+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+ r5 = heap32[(r4+2)];
+}
+ heap32[(r4+4)] = 0;
+}
+ heap8[r1+20] = r7;
+ heap32[(r4+4)] = r6;
+ heap32[(r4+3)] = r8;
+}
+}
+ r1 = r5 << 2;
+ r5 = heap32[(r4+4)];
+ r1 = (r5 + r1)|0;
+ r1 = r1 >> 2;
+ heap32[(r1)] = r0;
+ r1 = heap32[(r4+2)];
+ r1 = (r1 + 1)|0;
+ r5 = sp + -64;
+ r6 = r0 >> 2;
+ heap32[(r4+2)] = r1;
+ r1 = r5 >> 2;
+ heap32[(fp+-16)] = heap32[(r6+1)];
+ heap32[(r1+1)] = heap32[(r6+2)];
+ heap32[(r1+2)] = heap32[(r6+3)];
+ heap32[(r1+3)] = heap32[(r6+4)];
+ heap32[(r1+4)] = heap32[(r6+5)];
+ heap32[(r1+5)] = heap32[(r6+6)];
+ heap32[(r1+6)] = heap32[(r6+7)];
+ heap32[(r1+7)] = heap32[(r6+8)];
+ heap32[(r1+8)] = heap32[(r6+9)];
+ heap32[(r1+9)] = heap32[(r6+10)];
+ heap32[(r1+10)] = heap32[(r6+11)];
+ heap32[(r1+11)] = heap32[(r6+12)];
+ heap32[(r1+12)] = heap32[(r6+13)];
+ heap32[(r1+13)] = heap32[(r6+14)];
+ heap32[(r1+14)] = heap32[(r6+15)];
+ heap32[(r1+15)] = heap32[(r6+16)];
+ r1 = heap32[(r6+48)];
+ r7 = r1 >> 2;
+ r7 = heap32[(r7)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+2)];
+ r8 = sp + -80;
+ r9 = sp + -96;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r9;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r1 = heap32[(r4+20)];
+ r5 = r1 >> 2;
+ r7 = heap32[(r6+48)];
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r7 = r7 >> 2;
+ r5 = heap32[(r5+2)];
+ r7 = heap32[(r7+1)];
+ r4 = heap32[(r4+6)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = r0;
+ heap32[(g0+5)] = r2;
+ heap32[(g0+6)] = r3;
+ heap32[(g0+7)] = r4;
+ heap32[(g0+8)] = 0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ heap32[(r6+47)] = r_g0;
+ return;
+}
+else{
+ r0 = _2E_str786;
+ r1 = _2E_str887;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 111;
+ _assert(i7);
+}
+}
+
+function _ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+47)];
+ r3 = heap32[(fp)];
+if(!(r2 ==0)) //_LBB225_2
+{
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+20)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+9)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = r_g0 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+10)];
+ r7 = heap32[(r4+6)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r7;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r5 = heap32[(r4+20)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+3)];
+ r4 = heap32[(r4+6)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ heap32[(r1+47)] = 0;
+}
+ r1 = r3 >> 2;
+ r2 = heap32[(r1+2)];
+ r3 = 0;
+_4: while(true){
+ if(r2 >r3) //_LBB225_3
+{
+ r4 = heap32[(r1+4)];
+ r5 = r3 << 2;
+ r4 = (r4 + r5)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ if(r4 !=r0) //_LBB225_5
+{
+ r3 = (r3 + 1)|0;
+continue _4;
+}
+else{
+__label__ = 7;
+break _4;
+}
+}
+else{
+__label__ = 6;
+break _4;
+}
+}
+if (__label__ == 6){
+ r3 = r2;
+}
+if(!(r2 <=r3)) //_LBB225_10
+{
+ r0 = (r2 + -1)|0;
+ r2 = r3 << 2;
+ r3 = heap32[(r1+4)];
+ r0 = r0 << 2;
+ r2 = (r3 + r2)|0;
+ r3 = (r3 + r0)|0;
+ r2 = r2 >> 2;
+ r3 = r3 >> 2;
+ r4 = heap32[(r2)];
+ r3 = heap32[(r3)];
+ heap32[(r2)] = r3;
+ r2 = heap32[(r1+4)];
+ r0 = (r2 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r4;
+ r0 = heap32[(r1+2)];
+ r0 = (r0 + -1)|0;
+ heap32[(r1+2)] = r0;
+}
+ return;
+}
+
+function _ZN16btCollisionWorld33performDiscreteCollisionDetectionEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = _2E_str1190;
+ r1 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r0 = r1 >> 2;
+ r2 = heap32[(r0)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+2)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = _2E_str1291;
+ heap32[(g0)] = r2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r2 = heap32[(r0+20)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+8)];
+ r4 = heap32[(r0+6)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ r2 = _ZN15CProfileManager11CurrentNodeE;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = r2 >> 2;
+ r3 = heap32[(r2)];
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+4)];
+ r5 = (r5 + -1)|0;
+ heap32[(r4+4)] = r5;
+_1: do {
+if(!(r5 !=0)) //_LBB226_6
+{
+ r5 = heap32[(r4+1)];
+ if(r5 !=0) //_LBB226_3
+{
+ r3 = sp + -24;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 0;
+ r5 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r3 = r3 >> 2;
+ r6 = heap32[(fp+-6)];
+ r7 = heap32[(r5)];
+ r6 = (r6 - r7)|0;
+ r3 = heap32[(r3+1)];
+ r5 = heap32[(r5+1)];
+ r3 = (r3 - r5)|0;
+ r5 = (r6 * 1000000)|0;
+ r3 = (r3 + r5)|0;
+ r5 = heap32[(r4+3)];
+ r3 = (r3 - r5)|0;
+ f0 = uint(r3); //fuitos r3, f0
+ f1 = 1000;
+ f2 = heapFloat[(r4+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r4+2)] = f0;
+ r3 = heap32[(r4+4)];
+ if(r3 !=0) //_LBB226_6
+{
+break _1;
+}
+else{
+ r3 = heap32[(r2)];
+}
+}
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+5)];
+ heap32[(r2)] = r3;
+}
+} while(0);
+ r3 = heap32[(r0+6)];
+ r4 = _2E_str1392;
+ heap32[(g0)] = r4;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+if(!(r3 ==0)) //_LBB226_8
+{
+ r4 = heap32[(r0+20)];
+ r5 = r3 >> 2;
+ r6 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r6 = heap32[(r6)];
+ r5 = r5 >> 2;
+ r6 = r6 >> 2;
+ r5 = heap32[(r5+8)];
+ r0 = heap32[(r0+6)];
+ r6 = heap32[(r6+9)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r1 = (r1 + 28)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+ r0 = heap32[(r2)];
+ r1 = r0 >> 2;
+ r3 = heap32[(r1+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r1+4)] = r3;
+_11: do {
+ if(r3 ==0) //_LBB226_10
+{
+ r3 = heap32[(r1+1)];
+ if(r3 !=0) //_LBB226_12
+{
+ r0 = sp + -16;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r0 = r0 >> 2;
+ r4 = heap32[(fp+-4)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r0 = heap32[(r0+1)];
+ r3 = heap32[(r3+1)];
+ r0 = (r0 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r0 = (r0 + r3)|0;
+ r3 = heap32[(r1+3)];
+ r0 = (r0 - r3)|0;
+ f0 = uint(r0); //fuitos r0, f0
+ f1 = 1000;
+ f2 = heapFloat[(r1+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r1+2)] = f0;
+ r0 = heap32[(r2)];
+ r1 = heap32[(r1+4)];
+if(!(r1 ==0)) //_LBB226_14
+{
+break _11;
+}
+}
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+5)];
+ heap32[(r2)] = r0;
+}
+} while(0);
+ r1 = r0 >> 2;
+ r3 = heap32[(r1+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r1+4)] = r3;
+_17: do {
+if(!(r3 !=0)) //_LBB226_21
+{
+ r3 = heap32[(r1+1)];
+ if(r3 !=0) //_LBB226_18
+{
+ r0 = sp + -8;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r0 = r0 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r0 = heap32[(r0+1)];
+ r3 = heap32[(r3+1)];
+ r0 = (r0 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r0 = (r0 + r3)|0;
+ r3 = heap32[(r1+3)];
+ r0 = (r0 - r3)|0;
+ f0 = uint(r0); //fuitos r0, f0
+ f1 = 1000;
+ f2 = heapFloat[(r1+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r1+2)] = f0;
+ r0 = heap32[(r1+4)];
+ if(r0 !=0) //_LBB226_21
+{
+break _17;
+}
+else{
+ r0 = heap32[(r2)];
+}
+}
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+5)];
+ heap32[(r2)] = r0;
+}
+} while(0);
+ return;
+}
+
+function _ZN16btCollisionWorld9serializeEP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+8)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = heap32[(fp)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ _ZN16btCollisionWorld25serializeCollisionObjectsEP12btSerializer(i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+9)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZN21btSingleSweepCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV21btSingleSweepCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN21btSingleSweepCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV21btSingleSweepCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN21btSingleSweepCallback7processEPK17btBroadphaseProxy(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+46)];
+ r3 = r2 >> 2;
+ f0 = heapFloat[(r3+1)];
+ f1 = 0;
+ if(f0 !=f1) //_LBB230_2
+{
+ r4 = heap32[(fp+1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r5 = r4 >> 2;
+ r3 = heap32[(r3+2)];
+ r6 = heap32[(r5+47)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB230_4
+{
+ f0 = heapFloat[(r1+47)];
+ r2 = heap32[(r1+46)];
+ r3 = heap32[(r5+48)];
+ r1 = heap32[(r1+48)];
+ r5 = (r0 + 36)|0;
+ r0 = (r0 + 100)|0;
+ r6 = (r4 + 4)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = r3;
+ heap32[(g0+5)] = r6;
+ heap32[(g0+6)] = r2;
+ heapFloat[(g0+7)] = f0;
+ _ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf(i7);
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+else{
+ r0 = 1;
+}
+}
+else{
+ r0 = 0;
+}
+ r0 = r0 & 255;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN19btSingleRayCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV19btSingleRayCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN19btSingleRayCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV19btSingleRayCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN19btSingleRayCallback7processEPK17btBroadphaseProxy(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+54)];
+ r3 = r2 >> 2;
+ f0 = heapFloat[(r3+1)];
+ f1 = 0;
+ if(f0 !=f1) //_LBB233_2
+{
+ r4 = heap32[(fp+1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r5 = r4 >> 2;
+ r3 = heap32[(r3+2)];
+ r6 = heap32[(r5+47)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB233_4
+{
+ r1 = heap32[(r1+54)];
+ r2 = heap32[(r5+48)];
+ r3 = (r0 + 68)|0;
+ r0 = (r0 + 132)|0;
+ r5 = (r4 + 4)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r2;
+ heap32[(g0+4)] = r5;
+ heap32[(g0+5)] = r1;
+ _ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE(i7);
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+else{
+ r0 = 1;
+}
+}
+else{
+ r0 = 0;
+}
+ r0 = r0 & 255;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN16btCollisionWorldD2Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btCollisionWorld;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+4)];
+ r3 = heap32[(r2+2)];
+ if(r3 >0) //_LBB234_2
+{
+ r3 = 0;
+_3: while(true){
+ r4 = r3 << 2;
+ r1 = (r1 + r4)|0;
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r4 = heap32[(r1+47)];
+if(!(r4 ==0)) //_LBB234_5
+{
+ r5 = heap32[(r2+20)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+9)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = r_g0 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+10)];
+ r7 = heap32[(r2+6)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r7;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r5 = heap32[(r2+20)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+3)];
+ r7 = heap32[(r2+6)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r7;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ heap32[(r1+47)] = 0;
+}
+ r3 = (r3 + 1)|0;
+ r1 = heap32[(r2+4)];
+ r4 = heap32[(r2+2)];
+ if(r4 >r3) //_LBB234_3
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+if(!(r1 ==0)) //_LBB234_10
+{
+ r3 = heapU8[r0+20];
+if(!(r3 ==0)) //_LBB234_9
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+4)] = 0;
+}
+ r1 = 1;
+ heap8[r0+20] = r1;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ return;
+}
+
+function _ZN16btCollisionWorld25serializeCollisionObjectsEP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var r25;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+2)];
+if(!(r1 <1)) //_LBB235_110
+{
+ r1 = heap32[(fp+1)];
+ heap32[(fp+-2)] = r1;
+ r1 = 0;
+_3: while(true){
+ r2 = heap32[(r0+4)];
+ r3 = r1 << 2;
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+58)];
+if(!(r4 !=1)) //_LBB235_4
+{
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+6)];
+ heap32[(g0)] = r2;
+ r2 = heap32[(fp+-2)];
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+ r1 = (r1 + 1)|0;
+ r2 = heap32[(r0+2)];
+if(!(r2 >r1)) //_LBB235_2
+{
+break _3;
+}
+}
+if(!(r2 <1)) //_LBB235_110
+{
+ r1 = 0;
+ r2 = r1;
+ r3 = r1;
+ r4 = r1;
+ r5 = r1;
+ r6 = r1;
+ heap32[(fp+-1)] = r1;
+ r7 = r1;
+ r8 = r1;
+ r9 = r1;
+ r10 = r1;
+ r11 = r1;
+ r12 = r1;
+_10: while(true){
+ r13 = heap32[(r0+4)];
+ r14 = r12 << 2;
+ r13 = (r13 + r14)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+48)];
+ r14 = r13 << 15;
+ r14 = r14 ^ -1;
+ r14 = (r13 + r14)|0;
+ r15 = r14 >> 10;
+ r14 = r15 ^ r14;
+ r14 = (r14 * 9)|0;
+ r15 = r14 >> 6;
+ r14 = r15 ^ r14;
+ r15 = r14 << 11;
+ r15 = r15 ^ -1;
+ r14 = (r14 + r15)|0;
+ r15 = r14 >> 16;
+ r14 = r15 ^ r14;
+ r15 = (r4 + -1)|0;
+ r15 = r14 & r15;
+ r12 = (r12 + 1)|0;
+_12: do {
+ if(uint(r10) <=uint(r15)) //_LBB235_20
+{
+__label__ = 19;
+}
+else{
+ r16 = r15 << 2;
+ r17 = (r8 + r16)|0;
+_14: while(true){
+ r17 = r17 >> 2;
+ r17 = heap32[(r17)];
+ if(r17 ==-1) //_LBB235_14
+{
+__label__ = 13;
+break _14;
+}
+else{
+ r18 = r17 << 3;
+ r18 = (r11 + r18)|0;
+ r18 = r18 >> 2;
+ r18 = heap32[(r18)];
+ if(r13 !=r18) //_LBB235_9
+{
+ r17 = r17 << 2;
+ r17 = (r6 + r17)|0;
+}
+else{
+__label__ = 12;
+break _14;
+}
+}
+}
+if (__label__ == 12){
+ r17 = r17 << 2;
+ r17 = (r3 + r17)|0;
+if(!(r17 ==0)) //_LBB235_14
+{
+__label__ = 89;
+break _12;
+}
+}
+ if(uint(r10) <=uint(r15)) //_LBB235_20
+{
+__label__ = 19;
+}
+else{
+ r16 = (r8 + r16)|0;
+_22: while(true){
+ r16 = r16 >> 2;
+ r16 = heap32[(r16)];
+ if(r16 ==-1) //_LBB235_20
+{
+__label__ = 19;
+break _12;
+}
+else{
+ r17 = r16 << 3;
+ r17 = (r11 + r17)|0;
+ r17 = r17 >> 2;
+ r17 = heap32[(r17)];
+ if(r13 !=r17) //_LBB235_16
+{
+ r16 = r16 << 2;
+ r16 = (r6 + r16)|0;
+}
+else{
+break _22;
+}
+}
+}
+ r14 = r16 << 2;
+ r14 = (r3 + r14)|0;
+ r14 = r14 >> 2;
+ heap32[(r14)] = r13;
+ r16 = r4;
+ r17 = r5;
+__label__ = 88;
+}
+}
+} while(0);
+if (__label__ == 19){
+ if(r4 ==r5) //_LBB235_22
+{
+ r16 = 1;
+ r17 = r5 << 1;
+ r16 = r5 == 0 ? r16 : r17;
+ if(r4 >=r16) //_LBB235_21
+{
+__label__ = 20;
+}
+else{
+ if(r16 !=0) //_LBB235_25
+{
+ r17 = gNumAlignedAllocs;
+ r17 = r17 >> 2;
+ r18 = heap32[(r17)];
+ r19 = r16 << 2;
+ r18 = (r18 + 1)|0;
+ r19 = r19 | 3;
+ heap32[(r17)] = r18;
+ r17 = (r19 + 16)|0;
+ heap32[(g0)] = r17;
+ malloc(i7);
+ r17 = r_g0;
+ if(r17 !=0) //_LBB235_27
+{
+ r18 = 0;
+ r19 = (r17 + 4)|0;
+ r18 = (r18 - r19)|0;
+ r18 = r18 & 15;
+ r18 = (r17 + r18)|0;
+ r19 = (r18 + 4)|0;
+ r18 = r18 >> 2;
+ heap32[(r18)] = r17;
+ r17 = r19;
+}
+}
+else{
+ r17 = 0;
+}
+_37: do {
+if(!(r5 <1)) //_LBB235_31
+{
+ r18 = r17;
+ r19 = r3;
+ r20 = r5;
+_39: while(true){
+ r21 = r19 >> 2;
+ r20 = (r20 + -1)|0;
+ r19 = (r19 + 4)|0;
+ r22 = (r18 + 4)|0;
+ r18 = r18 >> 2;
+ r21 = heap32[(r21)];
+ heap32[(r18)] = r21;
+ r18 = r22;
+if(!(r20 !=0)) //_LBB235_30
+{
+break _37;
+}
+}
+}
+} while(0);
+ if(r3 !=0) //_LBB235_33
+{
+ r18 = gNumAlignedFree;
+ r18 = r18 >> 2;
+ r19 = heap32[(r18)];
+ r19 = (r19 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r18)] = r19;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+ r3 = r17;
+__label__ = 32;
+}
+else{
+ r3 = r17;
+__label__ = 32;
+}
+}
+}
+else{
+__label__ = 20;
+}
+if (__label__ == 20){
+ r16 = r4;
+}
+ r18 = r5 << 2;
+ r19 = (r3 + r18)|0;
+ r17 = (r5 + 1)|0;
+ r19 = r19 >> 2;
+ heap32[(r19)] = r13;
+ if(r1 ==r2) //_LBB235_36
+{
+ r19 = 1;
+ r20 = r2 << 1;
+ r19 = r2 == 0 ? r19 : r20;
+if(!(r1 >=r19)) //_LBB235_35
+{
+ if(r19 !=0) //_LBB235_39
+{
+ r1 = gNumAlignedAllocs;
+ r1 = r1 >> 2;
+ r20 = heap32[(r1)];
+ r21 = r19 << 3;
+ r20 = (r20 + 1)|0;
+ r21 = r21 | 3;
+ heap32[(r1)] = r20;
+ r1 = (r21 + 16)|0;
+ heap32[(g0)] = r1;
+ malloc(i7);
+ r20 = r_g0;
+ if(r20 !=0) //_LBB235_41
+{
+ r1 = 0;
+ r21 = (r20 + 4)|0;
+ r1 = (r1 - r21)|0;
+ r1 = r1 & 15;
+ r1 = (r20 + r1)|0;
+ r21 = (r1 + 4)|0;
+ r1 = r1 >> 2;
+ heap32[(r1)] = r20;
+ r20 = r21;
+}
+}
+else{
+ r20 = 0;
+}
+_56: do {
+if(!(r2 <1)) //_LBB235_45
+{
+ r1 = (r11 + 4)|0;
+ r21 = (r20 + 4)|0;
+ r22 = r2;
+_58: while(true){
+ r23 = r1 >> 2;
+ r24 = heap32[(r23)];
+ r23 = heap32[(r23+-1)];
+ r25 = r21 >> 2;
+ r22 = (r22 + -1)|0;
+ r1 = (r1 + 8)|0;
+ r21 = (r21 + 8)|0;
+ heap32[(r25+-1)] = r23;
+ heap32[(r25)] = r24;
+if(!(r22 !=0)) //_LBB235_44
+{
+break _56;
+}
+}
+}
+} while(0);
+ if(r11 !=0) //_LBB235_47
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r21 = heap32[(r1)];
+ r21 = (r21 + 1)|0;
+ r11 = r11 >> 2;
+ heap32[(r1)] = r21;
+ r1 = heap32[(r11+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+ r1 = r19;
+ r11 = r20;
+}
+else{
+ r1 = r19;
+ r11 = r20;
+}
+}
+}
+ r19 = r2 << 3;
+ r19 = (r11 + r19)|0;
+ r2 = (r2 + 1)|0;
+ r19 = r19 >> 2;
+ heap32[(r19)] = r13;
+ if(r4 <r16) //_LBB235_50
+{
+ if(r10 <r16) //_LBB235_52
+{
+_69: do {
+ if(r10 <=r16) //_LBB235_54
+{
+ if(r9 <r16) //_LBB235_56
+{
+ if(r16 !=0) //_LBB235_58
+{
+ r4 = gNumAlignedAllocs;
+ r4 = r4 >> 2;
+ r9 = heap32[(r4)];
+ r15 = r16 << 2;
+ r9 = (r9 + 1)|0;
+ r15 = r15 | 3;
+ heap32[(r4)] = r9;
+ r4 = (r15 + 16)|0;
+ heap32[(g0)] = r4;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB235_60
+{
+ r9 = 0;
+ r15 = (r4 + 4)|0;
+ r9 = (r9 - r15)|0;
+ r9 = r9 & 15;
+ r9 = (r4 + r9)|0;
+ r15 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r4;
+ r4 = r15;
+}
+}
+else{
+ r4 = 0;
+}
+_78: do {
+if(!(r10 <1)) //_LBB235_64
+{
+ r9 = r4;
+ r15 = r8;
+ r19 = r10;
+_80: while(true){
+ r20 = r15 >> 2;
+ r19 = (r19 + -1)|0;
+ r15 = (r15 + 4)|0;
+ r21 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ r20 = heap32[(r20)];
+ heap32[(r9)] = r20;
+ r9 = r21;
+if(!(r19 !=0)) //_LBB235_63
+{
+break _78;
+}
+}
+}
+} while(0);
+ if(r8 !=0) //_LBB235_66
+{
+ r9 = gNumAlignedFree;
+ r9 = r9 >> 2;
+ r15 = heap32[(r9)];
+ r15 = (r15 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r9)] = r15;
+ r8 = heap32[(r8+-1)];
+ heap32[(g0)] = r8;
+ free(i7);
+ r8 = r4;
+ r9 = r16;
+}
+else{
+ r8 = r4;
+ r9 = r16;
+}
+}
+ r4 = r10;
+_87: while(true){
+ r15 = r4 << 2;
+ r15 = (r8 + r15)|0;
+ r4 = (r4 + 1)|0;
+ r15 = r15 >> 2;
+ heap32[(r15)] = 0;
+if(!(r16 !=r4)) //_LBB235_68
+{
+break _69;
+}
+}
+}
+} while(0);
+_90: do {
+ if(r7 <=r16) //_LBB235_71
+{
+if(!(r7 >=r16)) //_LBB235_70
+{
+ r4 = heap32[(fp+-1)];
+ if(r4 <r16) //_LBB235_74
+{
+ if(r16 !=0) //_LBB235_76
+{
+ r4 = gNumAlignedAllocs;
+ r4 = r4 >> 2;
+ r15 = heap32[(r4)];
+ r19 = r16 << 2;
+ r15 = (r15 + 1)|0;
+ r19 = r19 | 3;
+ heap32[(r4)] = r15;
+ r4 = (r19 + 16)|0;
+ heap32[(g0)] = r4;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB235_78
+{
+ r15 = 0;
+ r19 = (r4 + 4)|0;
+ r15 = (r15 - r19)|0;
+ r15 = r15 & 15;
+ r15 = (r4 + r15)|0;
+ r19 = (r15 + 4)|0;
+ r15 = r15 >> 2;
+ heap32[(r15)] = r4;
+ r4 = r19;
+}
+}
+else{
+ r4 = 0;
+}
+_100: do {
+if(!(r7 <1)) //_LBB235_82
+{
+ r15 = r4;
+ r19 = r6;
+ r20 = r7;
+_102: while(true){
+ r21 = r19 >> 2;
+ r20 = (r20 + -1)|0;
+ r19 = (r19 + 4)|0;
+ r22 = (r15 + 4)|0;
+ r15 = r15 >> 2;
+ r21 = heap32[(r21)];
+ heap32[(r15)] = r21;
+ r15 = r22;
+if(!(r20 !=0)) //_LBB235_81
+{
+break _100;
+}
+}
+}
+} while(0);
+if(!(r6 ==0)) //_LBB235_84
+{
+ r15 = gNumAlignedFree;
+ r15 = r15 >> 2;
+ r19 = heap32[(r15)];
+ r19 = (r19 + 1)|0;
+ r6 = r6 >> 2;
+ heap32[(r15)] = r19;
+ r6 = heap32[(r6+-1)];
+ heap32[(g0)] = r6;
+ free(i7);
+}
+ if(r7 <r16) //_LBB235_86
+{
+ r6 = r4;
+ heap32[(fp+-1)] = r16;
+}
+else{
+ r6 = r4;
+ heap32[(fp+-1)] = r16;
+break _90;
+}
+}
+_111: while(true){
+ r4 = r7 << 2;
+ r4 = (r6 + r4)|0;
+ r7 = (r7 + 1)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = 0;
+if(!(r16 !=r7)) //_LBB235_87
+{
+break _90;
+}
+}
+}
+}
+} while(0);
+_114: do {
+if(!(r16 <1)) //_LBB235_94
+{
+ r4 = r8;
+ r7 = r16;
+_116: while(true){
+ r7 = (r7 + -1)|0;
+ r15 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = -1;
+ r4 = r15;
+if(!(r7 !=0)) //_LBB235_90
+{
+break _116;
+}
+}
+if(!(r16 <1)) //_LBB235_94
+{
+ r4 = r6;
+ r7 = r16;
+_120: while(true){
+ r7 = (r7 + -1)|0;
+ r15 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = -1;
+ r4 = r15;
+if(!(r7 !=0)) //_LBB235_93
+{
+break _114;
+}
+}
+}
+}
+} while(0);
+_123: do {
+ if(r10 >0) //_LBB235_96
+{
+ r4 = (r16 + -1)|0;
+ r7 = 0;
+_125: while(true){
+ r15 = r7 << 3;
+ r15 = (r11 + r15)|0;
+ r15 = r15 >> 2;
+ r15 = heap32[(r15)];
+ r19 = r15 << 15;
+ r19 = r19 ^ -1;
+ r15 = (r15 + r19)|0;
+ r19 = r15 >> 10;
+ r15 = r19 ^ r15;
+ r15 = (r15 * 9)|0;
+ r19 = r15 >> 6;
+ r15 = r19 ^ r15;
+ r19 = r15 << 11;
+ r19 = r19 ^ -1;
+ r15 = (r15 + r19)|0;
+ r19 = r15 >> 16;
+ r15 = r19 ^ r15;
+ r15 = r15 & r4;
+ r15 = r15 << 2;
+ r15 = (r8 + r15)|0;
+ r15 = r15 >> 2;
+ r19 = r7 << 2;
+ r19 = (r6 + r19)|0;
+ r20 = heap32[(r15)];
+ r19 = r19 >> 2;
+ r21 = (r7 + 1)|0;
+ heap32[(r19)] = r20;
+ heap32[(r15)] = r7;
+ r7 = r21;
+ if(r10 ==r21) //_LBB235_95
+{
+break _123;
+}
+}
+}
+} while(0);
+ r7 = r16;
+ r10 = r16;
+}
+ r4 = (r16 + -1)|0;
+ r15 = r14 & r4;
+}
+ r4 = r15 << 2;
+ r4 = (r8 + r4)|0;
+ r4 = r4 >> 2;
+ r14 = (r6 + r18)|0;
+ r14 = r14 >> 2;
+ r15 = heap32[(r4)];
+ heap32[(r14)] = r15;
+ heap32[(r4)] = r5;
+__label__ = 88;
+}
+if (__label__ == 88){
+ r4 = r13 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+14)];
+ heap32[(g0)] = r13;
+ r5 = heap32[(fp+-2)];
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r16;
+ r5 = r17;
+}
+ r13 = heap32[(r0+2)];
+if(!(r13 >r12)) //_LBB235_7
+{
+break _10;
+}
+}
+if(!(r11 ==0)) //_LBB235_104
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ r2 = r11 >> 2;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+if(!(r3 ==0)) //_LBB235_106
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ r2 = r3 >> 2;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+if(!(r6 ==0)) //_LBB235_108
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ r2 = r6 >> 2;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+if(!(r8 ==0)) //_LBB235_110
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ r2 = r8 >> 2;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+}
+}
+ return;
+}
+
+function _ZNK11btMatrix3x311getRotationER12btQuaternion(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r1+5)];
+ f2 = heapFloat[(r1+10)];
+ f3 = f0+f1;
+ f3 = f3+f2;
+ r2 = heap32[(fp+1)];
+ f4 = 0;
+ if(f3 <=f4) //_LBB236_2
+{
+ if(f0 >=f1) //_LBB236_4
+{
+ r1 = 2;
+ r3 = 0;
+ r1 = f0 < f2 ? r1 : r3;
+}
+else{
+ r1 = 2;
+ r3 = 1;
+ r1 = f1 < f2 ? r1 : r3;
+}
+ r3 = (r1 + 1)|0;
+ r3 = (r3 % 3)|0;
+ r4 = (r1 + 2)|0;
+ r4 = (r4 % 3)|0;
+ r5 = r1 << 4;
+ r6 = r3 << 4;
+ r7 = r4 << 4;
+ r5 = (r0 + r5)|0;
+ r1 = r1 << 2;
+ r6 = (r0 + r6)|0;
+ r3 = r3 << 2;
+ r0 = (r0 + r7)|0;
+ r4 = r4 << 2;
+ r7 = (r5 + r1)|0;
+ r8 = (r6 + r3)|0;
+ r7 = r7 >> 2;
+ r8 = r8 >> 2;
+ r9 = (r0 + r4)|0;
+ r9 = r9 >> 2;
+ f0 = heapFloat[(r7)];
+ f1 = heapFloat[(r8)];
+ f2 = heapFloat[(r9)];
+ f0 = f0-f1;
+ f0 = f0-f2;
+ f1 = 1;
+ f0 = f0+f1;
+ r7 = sp + -16;
+ heapFloat[(g0)] = f0;
+ r8 = (r7 + r1)|0;
+ f0 = 0.5;
+ sqrtf(i7);
+ r9 = (r0 + r3)|0;
+ r10 = (r6 + r4)|0;
+ r8 = r8 >> 2;
+ f2 = f_g0*f0;
+ r9 = r9 >> 2;
+ heapFloat[(r8)] = f2;
+ r8 = r10 >> 2;
+ f2 = heapFloat[(r9)];
+ f3 = heapFloat[(r8)];
+ f2 = f2-f3;
+ f0 = f0/f_g0;
+ r6 = (r6 + r1)|0;
+ r8 = (r5 + r3)|0;
+ r9 = r7 >> 2;
+ f1 = f2*f0;
+ r6 = r6 >> 2;
+ heapFloat[(r9+3)] = f1;
+ r8 = r8 >> 2;
+ f1 = heapFloat[(r6)];
+ f2 = heapFloat[(r8)];
+ r3 = (r7 + r3)|0;
+ f1 = f1+f2;
+ r0 = (r0 + r1)|0;
+ r1 = (r5 + r4)|0;
+ r3 = r3 >> 2;
+ f1 = f1*f0;
+ r0 = r0 >> 2;
+ heapFloat[(r3)] = f1;
+ r1 = r1 >> 2;
+ f1 = heapFloat[(r0)];
+ f2 = heapFloat[(r1)];
+ r0 = (r7 + r4)|0;
+ f1 = f1+f2;
+ r0 = r0 >> 2;
+ f0 = f1*f0;
+ heapFloat[(r0)] = f0;
+ f1 = heapFloat[(fp+-4)];
+ f3 = heapFloat[(r9+1)];
+ f0 = heapFloat[(r9+2)];
+ f2 = heapFloat[(r9+3)];
+}
+else{
+ f0 = 1;
+ f0 = f3+f0;
+ heapFloat[(g0)] = f0;
+ r0 = sp + -16;
+ f0 = 0.5;
+ sqrtf(i7);
+ f2 = f_g0*f0;
+ r0 = r0 >> 2;
+ heapFloat[(r0+3)] = f2;
+ f3 = heapFloat[(r1+9)];
+ f4 = heapFloat[(r1+6)];
+ f3 = f3-f4;
+ f0 = f0/f_g0;
+ f1 = f3*f0;
+ heapFloat[(fp+-4)] = f1;
+ f3 = heapFloat[(r1+2)];
+ f4 = heapFloat[(r1+8)];
+ f3 = f3-f4;
+ f3 = f3*f0;
+ heapFloat[(r0+1)] = f3;
+ f4 = heapFloat[(r1+4)];
+ f5 = heapFloat[(r1+1)];
+ f4 = f4-f5;
+ f0 = f4*f0;
+ heapFloat[(r0+2)] = f0;
+}
+ r0 = r2 >> 2;
+ heapFloat[(r0)] = f1;
+ heapFloat[(r0+1)] = f3;
+ heapFloat[(r0+2)] = f0;
+ heapFloat[(r0+3)] = f2;
+ return;
+}
+
+function _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0E_0v(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1E_0v(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0E_0v(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1E_0v(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+var __label__ = 0;
+ i7 = sp + -80;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+4)];
+ f1 = heapFloat[(r0+9)];
+ f2 = heapFloat[(r0+6)];
+ f3 = heapFloat[(r0+8)];
+ f4 = heapFloat[(r0+5)];
+ f5 = heapFloat[(r0+10)];
+ f6 = f4*f5;
+ f7 = f2*f1;
+ f8 = f2*f3;
+ f9 = f0*f5;
+ f10 = heapFloat[(r0)];
+ f11 = heapFloat[(r0+1)];
+ f6 = f6-f7;
+ f7 = f8-f9;
+ f8 = f0*f1;
+ f9 = f4*f3;
+ f12 = heapFloat[(r0+2)];
+ f8 = f8-f9;
+ f9 = f10*f6;
+ f13 = f11*f7;
+ f9 = f9+f13;
+ f13 = f12*f8;
+ r0 = heap32[(fp+1)];
+ f14 = 1;
+ f9 = f9+f13;
+ r0 = r0 >> 2;
+ f9 = f14/f9;
+ f13 = f12*f1;
+ f15 = f11*f5;
+ f5 = f10*f5;
+ f16 = f12*f3;
+ f13 = f13-f15;
+ f5 = f5-f16;
+ f15 = f11*f2;
+ f16 = f12*f4;
+ f12 = f12*f0;
+ f2 = f10*f2;
+ f3 = f11*f3;
+ f1 = f10*f1;
+ f6 = f6*f9;
+ f17 = heapFloat[(r0)];
+ f7 = f7*f9;
+ f18 = heapFloat[(r0+1)];
+ f15 = f15-f16;
+ f2 = f12-f2;
+ f12 = f13*f9;
+ f5 = f5*f9;
+ f1 = f3-f1;
+ f3 = f10*f4;
+ f0 = f11*f0;
+ f4 = f6*f17;
+ f10 = f7*f18;
+ f8 = f8*f9;
+ f11 = heapFloat[(r0+2)];
+ f13 = heapFloat[(r0+8)];
+ f15 = f15*f9;
+ f16 = heapFloat[(r0+4)];
+ f19 = heapFloat[(r0+9)];
+ f2 = f2*f9;
+ f20 = heapFloat[(r0+5)];
+ f0 = f3-f0;
+ f1 = f1*f9;
+ f3 = heapFloat[(r0+10)];
+ f21 = heapFloat[(r0+6)];
+ f22 = f12*f17;
+ f23 = f5*f18;
+ f4 = f4+f10;
+ f10 = f8*f11;
+ f0 = f0*f9;
+ r0 = sp + -48;
+ f9 = f15*f17;
+ f17 = f2*f18;
+ f18 = f22+f23;
+ f22 = f1*f11;
+ f4 = f4+f10;
+ r1 = r0 >> 2;
+ f9 = f9+f17;
+ f10 = f0*f11;
+ f11 = f18+f22;
+ heapFloat[(fp+-12)] = f4;
+ f4 = f6*f16;
+ f17 = f7*f20;
+ f9 = f9+f10;
+ heapFloat[(r1+1)] = f11;
+ heapFloat[(r1+2)] = f9;
+ f9 = f12*f16;
+ f10 = f5*f20;
+ f4 = f4+f17;
+ f11 = f8*f21;
+ f16 = f15*f16;
+ f17 = f2*f20;
+ f9 = f9+f10;
+ f10 = f1*f21;
+ f4 = f4+f11;
+ heap32[(r1+3)] = 0;
+ f11 = f16+f17;
+ f16 = f0*f21;
+ f9 = f9+f10;
+ heapFloat[(r1+4)] = f4;
+ f4 = f6*f13;
+ f6 = f7*f19;
+ f7 = f11+f16;
+ heapFloat[(r1+5)] = f9;
+ heapFloat[(r1+6)] = f7;
+ f7 = f12*f13;
+ f5 = f5*f19;
+ f4 = f4+f6;
+ f6 = f8*f3;
+ f8 = f15*f13;
+ f2 = f2*f19;
+ f5 = f7+f5;
+ f1 = f1*f3;
+ f4 = f4+f6;
+ heap32[(r1+7)] = 0;
+ f2 = f8+f2;
+ f0 = f0*f3;
+ f1 = f5+f1;
+ heapFloat[(r1+8)] = f4;
+ f0 = f2+f0;
+ heapFloat[(r1+9)] = f1;
+ heapFloat[(r1+10)] = f0;
+ heap32[(r1+11)] = 0;
+ r1 = sp + -64;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ _ZNK11btMatrix3x311getRotationER12btQuaternion(i7);
+ r0 = r1 >> 2;
+ f0 = heapFloat[(fp+-16)];
+ f1 = heapFloat[(r0+1)];
+ f2 = heapFloat[(r0+2)];
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f5 = heapFloat[(r0+3)];
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ f4 = f5*f5;
+ f3 = f3+f4;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f3 = f_g0;
+ f4 = 0;
+ if(f3 !=f4) //_LBB245_2
+{
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp+3)];
+ f3 = f14/f3;
+ f0 = f0*f3;
+ f1 = f1*f3;
+ heapFloat[(fp+-16)] = f0;
+ f2 = f2*f3;
+ heapFloat[(r0+1)] = f1;
+ f4 = -1;
+ f3 = f5*f3;
+ heapFloat[(r0+2)] = f2;
+ f4 = f3 < f4 ? f4 : f3;
+ heapFloat[(r0+3)] = f3;
+ f3 = f4 > f14 ? f14 : f4;
+ heapFloat[(g0)] = f3;
+ acosf(i7);
+ r0 = r2 >> 2;
+ f3 = f_g0+f_g0;
+ r1 = r1 >> 2;
+ heapFloat[(r0)] = f3;
+ heapFloat[(r1)] = f0;
+ f0 = f0*f0;
+ f3 = f1*f1;
+ heapFloat[(r1+1)] = f1;
+ f0 = f0+f3;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ heapFloat[(r1+2)] = f2;
+ heap32[(r1+3)] = 0;
+ f1 = 1.4210854715202004e-014;
+ if(f0 >=f1) //_LBB245_4
+{
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f14/f_g0;
+ f1 = heapFloat[(r1)];
+ f1 = f1*f0;
+ heapFloat[(r1)] = f1;
+ f1 = heapFloat[(r1+1)];
+ f1 = f1*f0;
+ heapFloat[(r1+1)] = f1;
+ f1 = heapFloat[(r1+2)];
+ f0 = f1*f0;
+ heapFloat[(r1+2)] = f0;
+ return;
+}
+else{
+ heap32[(r1)] = 1065353216;
+ heap32[(r1+1)] = 0;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 0;
+ return;
+}
+}
+else{
+ r0 = _2E_str584;
+ r1 = _2E_str685;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 188;
+ _assert(i7);
+}
+}
+
+function _ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+var __label__ = 0;
+ i7 = sp + -528;var g0 = i7>>2; // save stack
+ r0 = _2E_str1089;
+ r1 = heap32[(fp+2)];
+ heap32[(g0)] = r0;
+ r0 = sp + -112;
+ r1 = r1 >> 2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r2 = r0 >> 2;
+ heap32[(fp+-28)] = heap32[(r1)];
+ heap32[(r2+1)] = heap32[(r1+1)];
+ heap32[(r2+2)] = heap32[(r1+2)];
+ heap32[(r2+3)] = heap32[(r1+3)];
+ heap32[(r2+4)] = heap32[(r1+4)];
+ heap32[(r2+5)] = heap32[(r1+5)];
+ heap32[(r2+6)] = heap32[(r1+6)];
+ heap32[(r2+7)] = heap32[(r1+7)];
+ heap32[(r2+8)] = heap32[(r1+8)];
+ heap32[(r2+9)] = heap32[(r1+9)];
+ heap32[(r2+10)] = heap32[(r1+10)];
+ heap32[(r2+11)] = heap32[(r1+11)];
+ heap32[(r2+12)] = heap32[(r1+12)];
+ heap32[(r2+13)] = heap32[(r1+13)];
+ r3 = heap32[(fp+3)];
+ heap32[(r2+14)] = heap32[(r1+14)];
+ r4 = sp + -176;
+ r3 = r3 >> 2;
+ heap32[(r2+15)] = heap32[(r1+15)];
+ r2 = r4 >> 2;
+ heap32[(fp+-44)] = heap32[(r3)];
+ heap32[(r2+1)] = heap32[(r3+1)];
+ heap32[(r2+2)] = heap32[(r3+2)];
+ heap32[(r2+3)] = heap32[(r3+3)];
+ heap32[(r2+4)] = heap32[(r3+4)];
+ heap32[(r2+5)] = heap32[(r3+5)];
+ heap32[(r2+6)] = heap32[(r3+6)];
+ heap32[(r2+7)] = heap32[(r3+7)];
+ heap32[(r2+8)] = heap32[(r3+8)];
+ heap32[(r2+9)] = heap32[(r3+9)];
+ heap32[(r2+10)] = heap32[(r3+10)];
+ heap32[(r2+11)] = heap32[(r3+11)];
+ heap32[(r2+12)] = heap32[(r3+12)];
+ heap32[(r2+13)] = heap32[(r3+13)];
+ heap32[(r2+14)] = heap32[(r3+14)];
+ heap32[(r2+15)] = heap32[(r3+15)];
+ r2 = sp + -24;
+ r5 = sp + -28;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r5;
+ _ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(i7);
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2+2)];
+ f1 = heapFloat[(fp+-7)];
+ f2 = heapFloat[(r2+1)];
+ f3 = heapFloat[(fp+-6)];
+ r2 = sp + -424;
+ f3 = f3*f1;
+ r5 = r2 >> 2;
+ f2 = f2*f1;
+ heapFloat[(fp+-106)] = f3;
+ f0 = f0*f1;
+ heapFloat[(r5+1)] = f2;
+ heapFloat[(r5+2)] = f0;
+ r6 = sp + -440;
+ heap32[(r5+3)] = 0;
+ r5 = r6 >> 2;
+ heap32[(fp+-110)] = 0;
+ heap32[(r5+1)] = 0;
+ heap32[(r5+2)] = 0;
+ r7 = sp + -504;
+ heap32[(r5+3)] = 0;
+ r5 = r7 >> 2;
+ heap32[(fp+-126)] = 1065353216;
+ heap32[(r5+1)] = 0;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+ heap32[(r5+4)] = 0;
+ heap32[(r5+5)] = 1065353216;
+ heap32[(r5+6)] = 0;
+ heap32[(r5+7)] = 0;
+ heap32[(r5+8)] = 0;
+ heap32[(r5+9)] = 0;
+ heap32[(r5+10)] = 1065353216;
+ heap32[(r5+11)] = 0;
+ heap32[(r5+12)] = 0;
+ heap32[(r5+13)] = 0;
+ heap32[(r5+14)] = 0;
+ heap32[(r5+15)] = 0;
+ r8 = sp + -48;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r8;
+ _ZNK11btMatrix3x311getRotationER12btQuaternion(i7);
+ r8 = r8 >> 2;
+ f0 = heapFloat[(fp+-12)];
+ f1 = heapFloat[(r8+1)];
+ f2 = heapFloat[(r8+2)];
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f5 = heapFloat[(r8+3)];
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ f4 = f5*f5;
+ f6 = 2;
+ f3 = f3+f4;
+ f3 = f6/f3;
+ f4 = f2*f3;
+ f6 = f1*f3;
+ f7 = f1*f6;
+ f2 = f2*f4;
+ f8 = f7+f2;
+ f9 = 1;
+ f10 = f0*f6;
+ f11 = f5*f4;
+ f8 = f9-f8;
+ f12 = f0*f4;
+ f6 = f5*f6;
+ f13 = f10-f11;
+ heapFloat[(fp+-126)] = f8;
+ f3 = f0*f3;
+ f8 = f12+f6;
+ heapFloat[(r5+1)] = f13;
+ f0 = f0*f3;
+ heapFloat[(r5+2)] = f8;
+ f2 = f0+f2;
+ f8 = f10+f11;
+ heap32[(r5+3)] = 0;
+ f1 = f1*f4;
+ f3 = f5*f3;
+ f2 = f9-f2;
+ heapFloat[(r5+4)] = f8;
+ f4 = f1-f3;
+ heapFloat[(r5+5)] = f2;
+ heapFloat[(r5+6)] = f4;
+ f2 = f12-f6;
+ heap32[(r5+7)] = 0;
+ f0 = f0+f7;
+ f1 = f1+f3;
+ heapFloat[(r5+8)] = f2;
+ f0 = f9-f0;
+ heapFloat[(r5+9)] = f1;
+ heapFloat[(r5+10)] = f0;
+ heap32[(r5+11)] = 0;
+ r5 = heap32[(fp+1)];
+ r8 = sp + -192;
+ r9 = sp + -208;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r2;
+ heap32[(g0+4)] = r8;
+ heap32[(g0+5)] = r9;
+ r2 = _ZTV21btSingleSweepCallback;
+ r6 = sp + -408;
+ r2 = (r2 + 8)|0;
+ _ZNK16btCollisionShape21calculateTemporalAabbERK11btTransformRK9btVector3S5_fRS3_S6_(i7);
+ r7 = r6 >> 2;
+ heap32[(fp+-102)] = r2;
+ heap32[(r7+9)] = heap32[(r1)];
+ heap32[(r7+10)] = heap32[(r1+1)];
+ heap32[(r7+11)] = heap32[(r1+2)];
+ heap32[(r7+12)] = heap32[(r1+3)];
+ heap32[(r7+13)] = heap32[(r1+4)];
+ heap32[(r7+14)] = heap32[(r1+5)];
+ heap32[(r7+15)] = heap32[(r1+6)];
+ heap32[(r7+16)] = heap32[(r1+7)];
+ heap32[(r7+17)] = heap32[(r1+8)];
+ heap32[(r7+18)] = heap32[(r1+9)];
+ heap32[(r7+19)] = heap32[(r1+10)];
+ heap32[(r7+20)] = heap32[(r1+11)];
+ f0 = heapFloat[(r1+12)];
+ heapFloat[(r7+21)] = f0;
+ f1 = heapFloat[(r1+13)];
+ heapFloat[(r7+22)] = f1;
+ f2 = heapFloat[(r1+14)];
+ heapFloat[(r7+23)] = f2;
+ heap32[(r7+24)] = heap32[(r1+15)];
+ heap32[(r7+25)] = heap32[(r3)];
+ heap32[(r7+26)] = heap32[(r3+1)];
+ heap32[(r7+27)] = heap32[(r3+2)];
+ heap32[(r7+28)] = heap32[(r3+3)];
+ heap32[(r7+29)] = heap32[(r3+4)];
+ heap32[(r7+30)] = heap32[(r3+5)];
+ heap32[(r7+31)] = heap32[(r3+6)];
+ heap32[(r7+32)] = heap32[(r3+7)];
+ heap32[(r7+33)] = heap32[(r3+8)];
+ heap32[(r7+34)] = heap32[(r3+9)];
+ heap32[(r7+35)] = heap32[(r3+10)];
+ heap32[(r7+36)] = heap32[(r3+11)];
+ f3 = heapFloat[(r3+12)];
+ heapFloat[(r7+37)] = f3;
+ f4 = heapFloat[(r3+13)];
+ heapFloat[(r7+38)] = f4;
+ f5 = heapFloat[(r3+14)];
+ heapFloat[(r7+39)] = f5;
+ r1 = heap32[(fp)];
+ heap32[(r7+40)] = heap32[(r3+15)];
+ r3 = heap32[(fp+4)];
+ heap32[(r7+45)] = r1;
+ heap32[(r7+46)] = r3;
+ f0 = f3-f0;
+ f1 = f4-f1;
+ heap32[(r7+47)] = heap32[(fp+5)];
+ f2 = f5-f2;
+ heap32[(r7+48)] = r5;
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f3 = f9/f_g0;
+ f4 = f0*f3;
+ f5 = f2*f3;
+ f3 = f1*f3;
+ f6 = 0;
+ if(f4 !=f6) //_LBB246_2
+{
+ f7 = f9/f4;
+}
+else{
+ f7 = 999999984306749440;
+}
+ heapFloat[(r7+1)] = f7;
+ if(f3 !=f6) //_LBB246_5
+{
+ f8 = f9/f3;
+}
+else{
+ f8 = 999999984306749440;
+}
+ heapFloat[(r7+2)] = f8;
+ if(f5 !=f6) //_LBB246_8
+{
+ f9 = f9/f5;
+}
+else{
+ f9 = 999999984306749440;
+}
+ r3 = f7 < f6;
+ r5 = f8 < f6;
+ r3 = r3 & 1;
+ heapFloat[(r7+3)] = f9;
+ r10 = f9 < f6;
+ f0 = f4*f0;
+ f1 = f3*f1;
+ r5 = r5 & 1;
+ heap32[(r7+5)] = r3;
+ f0 = f0+f1;
+ f1 = f5*f2;
+ r3 = r10 & 1;
+ heap32[(r7+6)] = r5;
+ f0 = f0+f1;
+ heap32[(r7+7)] = r3;
+ r1 = r1 >> 2;
+ heapFloat[(r7+8)] = f0;
+ r1 = heap32[(r1+20)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+6)];
+ r0 = (r0 + 48)|0;
+ r4 = (r4 + 48)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r6;
+ heap32[(g0+4)] = r8;
+ heap32[(g0+5)] = r9;
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r0 = r0 >> 2;
+ heap32[(fp+-102)] = r2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_13: do {
+if(!(r3 !=0)) //_LBB246_15
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB246_12
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB246_15
+{
+break _13;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ return;
+}
+
+function _ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -1472;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+4)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+1)];
+ r3 = heap32[(fp)];
+ r4 = heap32[(fp+1)];
+ r5 = heap32[(fp+2)];
+ r6 = heap32[(fp+3)];
+ r7 = heap32[(fp+5)];
+ r8 = heap32[(fp+6)];
+ f0 = heapFloat[(fp+7)];
+_1: do {
+ if(r2 >19) //_LBB247_6
+{
+ r9 = (r2 + -21)|0;
+ if(uint(r9) >uint(8)) //_LBB247_30
+{
+ if(r2 !=31) //_LBB247_5
+{
+break _1;
+}
+else{
+ r0 = _2E_str1493;
+ heap32[(g0)] = r0;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r0 = heap32[(r1+4)];
+if(!(r0 <1)) //_LBB247_34
+{
+ r0 = 0;
+_8: while(true){
+ r2 = (r0 * 20)|0;
+ r9 = heap32[(r1+6)];
+ r2 = r2 << 2;
+ r2 = (r9 + r2)|0;
+ r2 = r2 >> 2;
+ r9 = r7 >> 2;
+ f1 = heapFloat[(r2)];
+ f2 = heapFloat[(r9)];
+ f3 = heapFloat[(r2+4)];
+ f4 = heapFloat[(r9+1)];
+ f5 = heapFloat[(r2+1)];
+ f6 = heapFloat[(r2+5)];
+ f7 = f1*f2;
+ f8 = f3*f4;
+ f9 = heapFloat[(r2+8)];
+ f10 = heapFloat[(r9+2)];
+ f11 = heapFloat[(r9+8)];
+ f12 = heapFloat[(r2+2)];
+ f13 = heapFloat[(r9+4)];
+ f14 = heapFloat[(r2+12)];
+ f15 = heapFloat[(r9+9)];
+ f16 = heapFloat[(r2+6)];
+ f17 = heapFloat[(r9+5)];
+ f18 = heapFloat[(r2+13)];
+ f19 = heapFloat[(r2+9)];
+ f20 = heapFloat[(r9+10)];
+ f21 = heapFloat[(r2+10)];
+ f22 = heapFloat[(r9+6)];
+ f23 = heapFloat[(r2+14)];
+ f24 = f5*f2;
+ f25 = f6*f4;
+ f7 = f7+f8;
+ f8 = f9*f10;
+ r2 = heap32[(r2+16)];
+ f26 = heapFloat[(r9+14)];
+ f27 = heapFloat[(r9+13)];
+ f28 = heapFloat[(r9+12)];
+ r9 = sp + -1408;
+ f29 = f12*f2;
+ f30 = f16*f4;
+ f24 = f24+f25;
+ f25 = f19*f10;
+ f7 = f7+f8;
+ r10 = r9 >> 2;
+ f8 = f29+f30;
+ f29 = f21*f10;
+ f24 = f24+f25;
+ heapFloat[(fp+-352)] = f7;
+ f7 = f1*f13;
+ f25 = f3*f17;
+ f8 = f8+f29;
+ heapFloat[(r10+1)] = f24;
+ heapFloat[(r10+2)] = f8;
+ f8 = f5*f13;
+ f24 = f6*f17;
+ f7 = f7+f25;
+ f25 = f9*f22;
+ f29 = f12*f13;
+ f30 = f16*f17;
+ f8 = f8+f24;
+ f24 = f19*f22;
+ f7 = f7+f25;
+ heap32[(r10+3)] = 0;
+ f25 = f29+f30;
+ f29 = f21*f22;
+ f8 = f8+f24;
+ heapFloat[(r10+4)] = f7;
+ f1 = f1*f11;
+ f3 = f3*f15;
+ f7 = f25+f29;
+ heapFloat[(r10+5)] = f8;
+ heapFloat[(r10+6)] = f7;
+ f5 = f5*f11;
+ f6 = f6*f15;
+ f1 = f1+f3;
+ f3 = f9*f20;
+ f7 = f12*f11;
+ f8 = f16*f15;
+ f5 = f5+f6;
+ f6 = f19*f20;
+ f1 = f1+f3;
+ heap32[(r10+7)] = 0;
+ f2 = f2*f14;
+ f3 = f4*f18;
+ f4 = f7+f8;
+ f7 = f21*f20;
+ f5 = f5+f6;
+ heapFloat[(r10+8)] = f1;
+ f1 = f13*f14;
+ f6 = f17*f18;
+ f2 = f2+f3;
+ f3 = f10*f23;
+ f4 = f4+f7;
+ heapFloat[(r10+9)] = f5;
+ f2 = f2+f3;
+ heapFloat[(r10+10)] = f4;
+ f3 = f11*f14;
+ f4 = f15*f18;
+ f1 = f1+f6;
+ f5 = f22*f23;
+ f1 = f1+f5;
+ f3 = f3+f4;
+ f4 = f20*f23;
+ f2 = f2+f28;
+ heap32[(r10+11)] = 0;
+ f3 = f3+f4;
+ f1 = f1+f27;
+ heapFloat[(r10+12)] = f2;
+ f2 = f3+f26;
+ heapFloat[(r10+13)] = f1;
+ heapFloat[(r10+14)] = f2;
+ r11 = r6 >> 2;
+ heap32[(r10+15)] = 0;
+ r10 = heap32[(r11+48)];
+ r12 = 1;
+ heap32[(r11+48)] = r2;
+ r13 = _ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder;
+ r14 = -1;
+ heap16[(sp+-1424)>>1] = r12;
+ r12 = sp + -1432;
+ heap16[(sp+-1422)>>1] = r14;
+ r13 = (r13 + 8)|0;
+ r14 = r12 >> 2;
+ heap32[(fp+-358)] = r13;
+ heap32[(r14+3)] = r8;
+ r15 = r8 >> 2;
+ heap32[(r14+4)] = r0;
+ heap32[(r14+1)] = heap32[(r15+1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r6;
+ heap32[(g0+4)] = r2;
+ heap32[(g0+5)] = r9;
+ heap32[(g0+6)] = r12;
+ heapFloat[(g0+7)] = f0;
+ _ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf(i7);
+ r0 = (r0 + 1)|0;
+ heap32[(r11+48)] = r10;
+ heap32[(fp+-358)] = r13;
+ r2 = heap32[(r1+4)];
+if(!(r2 >r0)) //_LBB247_33
+{
+break _8;
+}
+}
+}
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+ if(r3 !=0) //_LBB247_5
+{
+break _1;
+}
+else{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB247_37
+{
+ r1 = sp + -24;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-6)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB247_5
+{
+break _1;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+ return;
+}
+}
+}
+else{
+ if(r2 !=21) //_LBB247_11
+{
+ r2 = r5 >> 2;
+ r9 = r7 >> 2;
+ f0 = heapFloat[(r9)];
+ f1 = heapFloat[(r2)];
+ f2 = heapFloat[(r9+4)];
+ f3 = heapFloat[(r2+4)];
+ r10 = r4 >> 2;
+ f4 = heapFloat[(r2+1)];
+ f5 = heapFloat[(r2+5)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r9+8)];
+ f9 = heapFloat[(r2+8)];
+ f10 = heapFloat[(r9+2)];
+ f11 = heapFloat[(r2+2)];
+ f12 = heapFloat[(r9+1)];
+ f13 = heapFloat[(r2+12)];
+ f14 = heapFloat[(r10+12)];
+ f15 = heapFloat[(r9+6)];
+ f16 = heapFloat[(r2+6)];
+ f17 = heapFloat[(r9+5)];
+ f18 = heapFloat[(r2+13)];
+ f19 = heapFloat[(r10+13)];
+ f20 = heapFloat[(r9+13)];
+ f21 = heapFloat[(r2+10)];
+ f22 = heapFloat[(r9+10)];
+ f23 = heapFloat[(r2+9)];
+ f24 = heapFloat[(r9+9)];
+ f25 = heapFloat[(r2+14)];
+ heapFloat[(fp+-360)] = f25;
+ f26 = heapFloat[(r10+14)];
+ f27 = heapFloat[(r9+14)];
+ f28 = heapFloat[(r9+12)];
+ heapFloat[(fp+-359)] = f28;
+ f29 = f4*f0;
+ f30 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ r2 = sp + -1056;
+ f25 = f11*f0;
+ f28 = f16*f2;
+ f29 = f29+f30;
+ f30 = f23*f8;
+ f6 = f6+f7;
+ r9 = r2 >> 2;
+ f7 = f25+f28;
+ f25 = f21*f8;
+ f28 = f29+f30;
+ heapFloat[(fp+-264)] = f6;
+ f6 = f1*f12;
+ f29 = f3*f17;
+ f7 = f7+f25;
+ heapFloat[(r9+1)] = f28;
+ heapFloat[(r9+2)] = f7;
+ f7 = f4*f12;
+ f25 = f5*f17;
+ f6 = f6+f29;
+ f28 = f9*f24;
+ f29 = f11*f12;
+ f30 = f16*f17;
+ f7 = f7+f25;
+ f25 = f23*f24;
+ f6 = f6+f28;
+ heap32[(r9+3)] = 0;
+ f28 = f29+f30;
+ f29 = f21*f24;
+ f7 = f7+f25;
+ heapFloat[(r9+4)] = f6;
+ f1 = f1*f10;
+ f3 = f3*f15;
+ f6 = f28+f29;
+ heapFloat[(r9+5)] = f7;
+ heapFloat[(r9+6)] = f6;
+ f4 = f4*f10;
+ f5 = f5*f15;
+ f1 = f1+f3;
+ f3 = f9*f22;
+ f6 = f11*f10;
+ f7 = f16*f15;
+ f4 = f4+f5;
+ f5 = f23*f22;
+ f1 = f1+f3;
+ heap32[(r9+7)] = 0;
+ f3 = f6+f7;
+ f6 = f21*f22;
+ f4 = f4+f5;
+ heapFloat[(r9+8)] = f1;
+ f1 = f3+f6;
+ heapFloat[(r9+9)] = f4;
+ heapFloat[(r9+10)] = f1;
+ heap32[(r9+11)] = 0;
+ heap32[(r9+12)] = 0;
+ heap32[(r9+13)] = 0;
+ heap32[(r9+14)] = 0;
+ heap32[(r9+15)] = 0;
+ r9 = heap32[(r1)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r9 = sp + -1280;
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = r7;
+ heapFloat[(g0+5)] = f_g0;
+ r4 = _ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0;
+ _ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f(i7);
+ r4 = (r4 + 8)|0;
+ r5 = r9 >> 2;
+ heap32[(fp+-320)] = r4;
+ heap32[(r5+52)] = r8;
+ heap32[(r5+53)] = r6;
+ r4 = r8 >> 2;
+ heap32[(r5+54)] = r0;
+ r6 = r3 >> 2;
+ heap32[(r5+50)] = heap32[(r4+1)];
+ r4 = heap32[(r6)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ f28 = heapFloat[(fp+-359)];
+ f1 = -f28;
+ r5 = sp + -1296;
+ r6 = sp + -1312;
+ f3 = f0*f14;
+ f4 = f2*f19;
+ f5 = f0*f1;
+ f6 = f2*f20;
+ f3 = f3+f4;
+ f4 = f8*f26;
+ f5 = f5-f6;
+ f6 = f8*f27;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r6;
+ f7 = f12*f14;
+ f9 = f17*f19;
+ f11 = f12*f1;
+ f16 = f17*f20;
+ f3 = f3+f4;
+ f4 = f5-f6;
+ f5 = f10*f14;
+ f6 = f15*f19;
+ f1 = f10*f1;
+ f14 = f15*f20;
+ f7 = f7+f9;
+ f9 = f24*f26;
+ f11 = f11-f16;
+ f16 = f24*f27;
+ f3 = f3+f4;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r2 = sp + -1328;
+ f0 = f0*f13;
+ f2 = f2*f18;
+ f10 = f10*f13;
+ f15 = f15*f18;
+ f12 = f12*f13;
+ f13 = f17*f18;
+ f5 = f5+f6;
+ f6 = f22*f26;
+ f1 = f1-f14;
+ f14 = f22*f27;
+ f7 = f7+f9;
+ f9 = f11-f16;
+ f7 = f7+f9;
+ f0 = f0+f2;
+ f25 = heapFloat[(fp+-360)];
+ f2 = f8*f25;
+ f8 = f10+f15;
+ f10 = f22*f25;
+ f11 = f12+f13;
+ f12 = f24*f25;
+ r3 = r2 >> 2;
+ heapFloat[(fp+-332)] = f3;
+ f5 = f5+f6;
+ f1 = f1-f14;
+ f0 = f0+f2;
+ f2 = f8+f10;
+ f6 = f11+f12;
+ f5 = f5+f1;
+ heapFloat[(r3+1)] = f7;
+ f0 = f0+f4;
+ f1 = f2+f1;
+ f2 = f6+f9;
+ heapFloat[(r3+2)] = f5;
+ heap32[(r3+3)] = 0;
+ if(f0 <f3) //_LBB247_13
+{
+ heapFloat[(fp+-332)] = f0;
+ f4 = f0;
+}
+else{
+ f4 = f3;
+}
+ if(f2 <f7) //_LBB247_16
+{
+ heapFloat[(r3+1)] = f2;
+ f6 = f2;
+}
+else{
+ f6 = f7;
+}
+ if(f1 <f5) //_LBB247_19
+{
+ heapFloat[(r3+2)] = f1;
+ f8 = f1;
+}
+else{
+ f8 = f5;
+}
+ r4 = sp + -1344;
+ r7 = r4 >> 2;
+ heapFloat[(fp+-336)] = f3;
+ heapFloat[(r7+1)] = f7;
+ heapFloat[(r7+2)] = f5;
+ heap32[(r7+3)] = 0;
+ if(f3 <f0) //_LBB247_22
+{
+ heapFloat[(fp+-336)] = f0;
+ f3 = f0;
+}
+ if(f7 <f2) //_LBB247_25
+{
+ heapFloat[(r7+1)] = f2;
+ f7 = f2;
+}
+ if(f5 <f1) //_LBB247_28
+{
+ heapFloat[(r7+2)] = f1;
+ f5 = f1;
+}
+ f0 = heapFloat[(fp+-324)];
+ f0 = f4+f0;
+ r5 = r5 >> 2;
+ heapFloat[(fp+-332)] = f0;
+ f0 = heapFloat[(r5+1)];
+ f0 = f6+f0;
+ heapFloat[(r3+1)] = f0;
+ f0 = heapFloat[(r5+2)];
+ f0 = f8+f0;
+ heapFloat[(r3+2)] = f0;
+ f0 = heapFloat[(fp+-328)];
+ f0 = f3+f0;
+ r3 = r6 >> 2;
+ heapFloat[(fp+-336)] = f0;
+ f0 = heapFloat[(r3+1)];
+ f0 = f7+f0;
+ heapFloat[(r7+1)] = f0;
+ f0 = heapFloat[(r3+2)];
+ f0 = f5+f0;
+ heapFloat[(r7+2)] = f0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+15)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+else{
+ r2 = r7 >> 2;
+ r9 = r4 >> 2;
+ f0 = heapFloat[(r2+12)];
+ f0 = -f0;
+ f1 = heapFloat[(r2)];
+ f2 = heapFloat[(r9+12)];
+ f3 = heapFloat[(r2+4)];
+ f4 = heapFloat[(r2+13)];
+ f5 = heapFloat[(r9+13)];
+ f6 = heapFloat[(r2+1)];
+ f7 = heapFloat[(r2+5)];
+ f8 = f1*f2;
+ f9 = f3*f5;
+ f10 = f1*f0;
+ f11 = f3*f4;
+ f12 = heapFloat[(r2+8)];
+ f13 = heapFloat[(r2+14)];
+ f14 = heapFloat[(r9+14)];
+ f15 = heapFloat[(r2+9)];
+ f16 = heapFloat[(r2+2)];
+ f17 = heapFloat[(r2+6)];
+ f18 = f6*f2;
+ f19 = f7*f5;
+ f20 = f6*f0;
+ f21 = f7*f4;
+ f8 = f8+f9;
+ f9 = f12*f14;
+ f10 = f10-f11;
+ f11 = f12*f13;
+ f22 = heapFloat[(r2+10)];
+ f2 = f16*f2;
+ f5 = f17*f5;
+ f0 = f16*f0;
+ f4 = f17*f4;
+ f18 = f18+f19;
+ f19 = f15*f14;
+ f20 = f20-f21;
+ f21 = f15*f13;
+ f8 = f8+f9;
+ f9 = f10-f11;
+ r2 = sp + -656;
+ f2 = f2+f5;
+ f5 = f22*f14;
+ f0 = f0-f4;
+ f4 = f22*f13;
+ f10 = f18+f19;
+ f11 = f20-f21;
+ f8 = f8+f9;
+ r9 = r2 >> 2;
+ f2 = f2+f5;
+ f0 = f0-f4;
+ f4 = f10+f11;
+ heapFloat[(fp+-164)] = f8;
+ f2 = f2+f0;
+ heapFloat[(r9+1)] = f4;
+ heapFloat[(r9+2)] = f2;
+ r10 = r5 >> 2;
+ heap32[(r9+3)] = 0;
+ f2 = heapFloat[(r10+12)];
+ f4 = heapFloat[(r10+13)];
+ f5 = heapFloat[(r10+14)];
+ f8 = f1*f2;
+ f10 = f3*f4;
+ f13 = f6*f2;
+ f14 = f7*f4;
+ f8 = f8+f10;
+ f10 = f12*f5;
+ f8 = f8+f10;
+ f2 = f16*f2;
+ f4 = f17*f4;
+ f10 = f13+f14;
+ f13 = f15*f5;
+ r9 = sp + -672;
+ f10 = f10+f13;
+ f2 = f2+f4;
+ f4 = f22*f5;
+ f5 = f8+f9;
+ f2 = f2+f4;
+ r11 = r9 >> 2;
+ f4 = f10+f11;
+ heapFloat[(fp+-168)] = f5;
+ f0 = f2+f0;
+ heapFloat[(r11+1)] = f4;
+ heapFloat[(r11+2)] = f0;
+ heap32[(r11+3)] = 0;
+ f0 = heapFloat[(r10)];
+ f2 = heapFloat[(r10+4)];
+ f4 = heapFloat[(r10+1)];
+ f5 = heapFloat[(r10+5)];
+ f8 = heapFloat[(r10+8)];
+ f9 = f0*f1;
+ f10 = f2*f3;
+ f11 = heapFloat[(r10+2)];
+ f13 = heapFloat[(r10+6)];
+ f14 = heapFloat[(r10+10)];
+ f18 = heapFloat[(r10+9)];
+ f19 = f4*f1;
+ f20 = f5*f3;
+ f9 = f9+f10;
+ f10 = f8*f12;
+ r10 = sp + -736;
+ f1 = f11*f1;
+ f3 = f13*f3;
+ f19 = f19+f20;
+ f20 = f18*f12;
+ f9 = f9+f10;
+ r11 = r10 >> 2;
+ f1 = f1+f3;
+ f3 = f14*f12;
+ f10 = f19+f20;
+ heapFloat[(fp+-184)] = f9;
+ f9 = f0*f6;
+ f12 = f2*f7;
+ f1 = f1+f3;
+ heapFloat[(r11+1)] = f10;
+ heapFloat[(r11+2)] = f1;
+ f1 = f4*f6;
+ f3 = f5*f7;
+ f9 = f9+f12;
+ f10 = f8*f15;
+ f6 = f11*f6;
+ f7 = f13*f7;
+ f1 = f1+f3;
+ f3 = f18*f15;
+ f9 = f9+f10;
+ heap32[(r11+3)] = 0;
+ f6 = f6+f7;
+ f7 = f14*f15;
+ f1 = f1+f3;
+ heapFloat[(r11+4)] = f9;
+ f0 = f0*f16;
+ f2 = f2*f17;
+ f3 = f6+f7;
+ heapFloat[(r11+5)] = f1;
+ heapFloat[(r11+6)] = f3;
+ f1 = f4*f16;
+ f3 = f5*f17;
+ f0 = f0+f2;
+ f2 = f8*f22;
+ f4 = f11*f16;
+ f5 = f13*f17;
+ f1 = f1+f3;
+ f3 = f18*f22;
+ f0 = f0+f2;
+ heap32[(r11+7)] = 0;
+ f2 = f4+f5;
+ f4 = f14*f22;
+ f1 = f1+f3;
+ heapFloat[(r11+8)] = f0;
+ f0 = f2+f4;
+ heapFloat[(r11+9)] = f1;
+ heapFloat[(r11+10)] = f0;
+ heap32[(r11+11)] = 0;
+ heap32[(r11+12)] = 0;
+ heap32[(r11+13)] = 0;
+ heap32[(r11+14)] = 0;
+ heap32[(r11+15)] = 0;
+ r11 = heap32[(r1)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r11 = sp + -960;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = r7;
+ heapFloat[(g0+5)] = f_g0;
+ r4 = _ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback;
+ _ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f(i7);
+ r4 = (r4 + 8)|0;
+ r5 = r11 >> 2;
+ heap32[(fp+-240)] = r4;
+ heap32[(r5+52)] = r8;
+ heap32[(r5+53)] = r6;
+ r4 = r8 >> 2;
+ heap32[(r5+54)] = r0;
+ r0 = r3 >> 2;
+ heap32[(r5+50)] = heap32[(r4+1)];
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+2)];
+ r4 = sp + -976;
+ r5 = sp + -992;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ r0 = _ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback;
+ r3 = sp + -16;
+ r6 = heap32[(r1+12)];
+ r0 = (r0 + 8)|0;
+ r7 = r3 >> 2;
+ heap32[(fp+-4)] = r0;
+ heap32[(r7+1)] = r6;
+ heap32[(r7+2)] = r11;
+ r0 = heap32[(r1+13)];
+ r1 = heapU8[r0+60];
+ if(r1 ==0) //_LBB247_10
+{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r9;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r5;
+ _ZNK14btQuantizedBvh27walkStacklessTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(i7);
+ return;
+}
+else{
+ r1 = r0 >> 2;
+ r1 = heap32[(r1+14)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r9;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r5;
+ heap32[(g0+6)] = r1;
+ _ZNK14btQuantizedBvh36walkStacklessQuantizedTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(i7);
+ return;
+}
+}
+}
+}
+else{
+ r1 = _ZTVN12btConvexCast10CastResultE;
+ r2 = sp + -200;
+ r1 = (r1 + 8)|0;
+ r9 = r2 >> 2;
+ heap32[(fp+-50)] = r1;
+ heap32[(r9+42)] = 0;
+ r1 = sp + -560;
+ r10 = r8 >> 2;
+ heapFloat[(r9+43)] = f0;
+ r11 = r1 >> 2;
+ heap32[(r9+41)] = heap32[(r10+1)];
+ r12 = _ZTV30btGjkEpaPenetrationDepthSolver;
+ r13 = 0;
+ heap32[(r11+77)] = 953267991;
+ r11 = _ZTV27btContinuousConvexCollision;
+ r12 = (r12 + 8)|0;
+ heap8[sp+-228] = r13;
+ r13 = sp + -592;
+ r11 = (r11 + 8)|0;
+ heap32[(fp+-142)] = r12;
+ r12 = r13 >> 2;
+ heap32[(fp+-148)] = r11;
+ r11 = sp + -568;
+ heap32[(r12+1)] = r1;
+ heap32[(r12+2)] = r11;
+ heap32[(r12+3)] = r3;
+ heap32[(r12+4)] = r0;
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r2;
+ _ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB247_5
+{
+ f0 = heapFloat[(r9+33)];
+ f1 = heapFloat[(r9+34)];
+ f2 = heapFloat[(r9+35)];
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ f1 = 9.9999997473787516e-005;
+if(!(f0 <=f1)) //_LBB247_5
+{
+ f1 = heapFloat[(r9+41)];
+ f2 = heapFloat[(r10+1)];
+if(!(f1 >=f2)) //_LBB247_5
+{
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = 1;
+ f2 = heapFloat[(r9+33)];
+ f0 = f1/f_g0;
+ f1 = f2*f0;
+ heapFloat[(r9+33)] = f1;
+ f2 = heapFloat[(r9+34)];
+ f2 = f2*f0;
+ heapFloat[(r9+34)] = f2;
+ f3 = heapFloat[(r9+35)];
+ f0 = f3*f0;
+ heapFloat[(r9+35)] = f0;
+ r0 = sp + -640;
+ f3 = heapFloat[(r9+41)];
+ r1 = r0 >> 2;
+ heap32[(fp+-160)] = r6;
+ heap32[(r1+1)] = 0;
+ heapFloat[(r1+2)] = f1;
+ heapFloat[(r1+3)] = f2;
+ heapFloat[(r1+4)] = f0;
+ heap32[(r1+5)] = heap32[(r9+36)];
+ heap32[(r1+6)] = heap32[(r9+37)];
+ heap32[(r1+7)] = heap32[(r9+38)];
+ heap32[(r1+8)] = heap32[(r9+39)];
+ heap32[(r1+9)] = heap32[(r9+40)];
+ heapFloat[(r1+10)] = f3;
+ r1 = heap32[(r10)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+3)];
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+var __label__ = 0;
+ i7 = sp + -1120;var g0 = i7>>2; // save stack
+ r0 = sp + -104;
+ r1 = r0 >> 2;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 1065353216;
+ heap32[(r1+4)] = 1065353216;
+ r2 = _ZTV13btSphereShape;
+ heap32[(r1+5)] = 1065353216;
+ r2 = (r2 + 8)|0;
+ heap32[(r1+6)] = 0;
+ heap32[(fp+-26)] = r2;
+ heap32[(r1+1)] = 8;
+ r2 = heap32[(fp+3)];
+ heap32[(r1+7)] = 0;
+ r3 = r2 >> 2;
+ heap32[(r1+11)] = 0;
+ r1 = heap32[(r3+1)];
+ r4 = heap32[(fp)];
+ r5 = heap32[(fp+1)];
+ r6 = heap32[(fp+2)];
+ r7 = heap32[(fp+4)];
+ r8 = heap32[(fp+5)];
+ if(r1 >19) //_LBB248_6
+{
+ r0 = (r1 + -21)|0;
+ if(uint(r0) >uint(8)) //_LBB248_25
+{
+if(!(r1 !=31)) //_LBB248_29
+{
+ r0 = heap32[(r3+4)];
+if(!(r0 <1)) //_LBB248_29
+{
+ r0 = 0;
+_8: while(true){
+ r1 = (r0 * 20)|0;
+ r2 = heap32[(r3+6)];
+ r1 = r1 << 2;
+ r1 = (r2 + r1)|0;
+ r1 = r1 >> 2;
+ r2 = r7 >> 2;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r2)];
+ f2 = heapFloat[(r1+4)];
+ f3 = heapFloat[(r2+1)];
+ f4 = heapFloat[(r1+1)];
+ f5 = heapFloat[(r1+5)];
+ f6 = f0*f1;
+ f7 = f2*f3;
+ f8 = heapFloat[(r1+8)];
+ f9 = heapFloat[(r2+2)];
+ f10 = heapFloat[(r2+8)];
+ f11 = heapFloat[(r1+2)];
+ f12 = heapFloat[(r2+4)];
+ f13 = heapFloat[(r1+12)];
+ f14 = heapFloat[(r2+9)];
+ f15 = heapFloat[(r1+6)];
+ f16 = heapFloat[(r2+5)];
+ f17 = heapFloat[(r1+13)];
+ f18 = heapFloat[(r1+9)];
+ f19 = heapFloat[(r2+10)];
+ f20 = heapFloat[(r1+10)];
+ f21 = heapFloat[(r2+6)];
+ f22 = heapFloat[(r1+14)];
+ f23 = f4*f1;
+ f24 = f5*f3;
+ f6 = f6+f7;
+ f7 = f8*f9;
+ r1 = heap32[(r1+16)];
+ f25 = heapFloat[(r2+14)];
+ f26 = heapFloat[(r2+13)];
+ f27 = heapFloat[(r2+12)];
+ r2 = sp + -1056;
+ f28 = f11*f1;
+ f29 = f15*f3;
+ f23 = f23+f24;
+ f24 = f18*f9;
+ f6 = f6+f7;
+ r9 = r2 >> 2;
+ f7 = f28+f29;
+ f28 = f20*f9;
+ f23 = f23+f24;
+ heapFloat[(fp+-264)] = f6;
+ f6 = f0*f12;
+ f24 = f2*f16;
+ f7 = f7+f28;
+ heapFloat[(r9+1)] = f23;
+ heapFloat[(r9+2)] = f7;
+ f7 = f4*f12;
+ f23 = f5*f16;
+ f6 = f6+f24;
+ f24 = f8*f21;
+ f28 = f11*f12;
+ f29 = f15*f16;
+ f7 = f7+f23;
+ f23 = f18*f21;
+ f6 = f6+f24;
+ heap32[(r9+3)] = 0;
+ f24 = f28+f29;
+ f28 = f20*f21;
+ f7 = f7+f23;
+ heapFloat[(r9+4)] = f6;
+ f0 = f0*f10;
+ f2 = f2*f14;
+ f6 = f24+f28;
+ heapFloat[(r9+5)] = f7;
+ heapFloat[(r9+6)] = f6;
+ f4 = f4*f10;
+ f5 = f5*f14;
+ f0 = f0+f2;
+ f2 = f8*f19;
+ f6 = f11*f10;
+ f7 = f15*f14;
+ f4 = f4+f5;
+ f5 = f18*f19;
+ f0 = f0+f2;
+ heap32[(r9+7)] = 0;
+ f1 = f1*f13;
+ f2 = f3*f17;
+ f3 = f6+f7;
+ f6 = f20*f19;
+ f4 = f4+f5;
+ heapFloat[(r9+8)] = f0;
+ f0 = f12*f13;
+ f5 = f16*f17;
+ f1 = f1+f2;
+ f2 = f9*f22;
+ f3 = f3+f6;
+ heapFloat[(r9+9)] = f4;
+ f1 = f1+f2;
+ heapFloat[(r9+10)] = f3;
+ f2 = f10*f13;
+ f3 = f14*f17;
+ f0 = f0+f5;
+ f4 = f21*f22;
+ f0 = f0+f4;
+ f2 = f2+f3;
+ f3 = f19*f22;
+ f1 = f1+f27;
+ heap32[(r9+11)] = 0;
+ f2 = f2+f3;
+ f0 = f0+f26;
+ heapFloat[(r9+12)] = f1;
+ f1 = f2+f25;
+ heapFloat[(r9+13)] = f0;
+ heapFloat[(r9+14)] = f1;
+ r10 = r6 >> 2;
+ heap32[(r9+15)] = 0;
+ r9 = sp + -1088;
+ r11 = heap32[(r10+48)];
+ r12 = r9 >> 2;
+ heap32[(r10+48)] = r1;
+ r13 = 1;
+ heap32[(r12+2)] = 0;
+ r14 = -1;
+ heap16[(sp+-1076)>>1] = r13;
+ heap16[(sp+-1074)>>1] = r14;
+ r13 = _ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2;
+ heap32[(r12+4)] = 0;
+ r13 = (r13 + 8)|0;
+ heap32[(fp+-272)] = r13;
+ heap32[(r12+5)] = r8;
+ r14 = r8 >> 2;
+ heap32[(r12+6)] = r0;
+ heap32[(r12+1)] = heap32[(r14+1)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = r2;
+ heap32[(g0+5)] = r9;
+ _ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE(i7);
+ r0 = (r0 + 1)|0;
+ heap32[(r10+48)] = r11;
+ heap32[(fp+-272)] = r13;
+ r1 = heap32[(r3+4)];
+if(!(r1 >r0)) //_LBB248_28
+{
+break _8;
+}
+}
+}
+}
+ return;
+}
+else{
+ if(r1 !=21) //_LBB248_12
+{
+ r1 = r7 >> 2;
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r1+12)];
+ f1 = heapFloat[(r1+13)];
+ f2 = heapFloat[(r1+4)];
+ f3 = heapFloat[(r4+13)];
+ f4 = heapFloat[(r1)];
+ f5 = -f0;
+ f6 = heapFloat[(r4+12)];
+ f7 = heapFloat[(r1+5)];
+ f8 = heapFloat[(r1+1)];
+ f9 = f4*f6;
+ f10 = f2*f3;
+ f11 = f4*f5;
+ f12 = f2*f1;
+ f13 = heapFloat[(r1+14)];
+ f14 = heapFloat[(r1+8)];
+ f15 = heapFloat[(r4+14)];
+ r4 = r5 >> 2;
+ f16 = heapFloat[(r1+9)];
+ f17 = heapFloat[(r1+6)];
+ f18 = heapFloat[(r1+2)];
+ r5 = r8 >> 2;
+ f9 = f9+f10;
+ f10 = f14*f15;
+ f11 = f11-f12;
+ f12 = f14*f13;
+ f19 = f8*f6;
+ f20 = f7*f3;
+ f21 = f8*f5;
+ f22 = f7*f1;
+ f23 = heapFloat[(r4+12)];
+ f24 = heapFloat[(r4+13)];
+ f25 = heapFloat[(r1+10)];
+ f26 = heapFloat[(r4+14)];
+ r4 = sp + -960;
+ r7 = heap32[(r5+4)];
+ f9 = f9+f10;
+ f10 = f11-f12;
+ f6 = f18*f6;
+ f3 = f17*f3;
+ f11 = f19+f20;
+ f12 = f16*f15;
+ f5 = f18*f5;
+ f19 = f17*f1;
+ f20 = f21-f22;
+ f21 = f16*f13;
+ f9 = f9+f10;
+ f3 = f6+f3;
+ f6 = f25*f15;
+ f11 = f11+f12;
+ f12 = f20-f21;
+ r0 = r4 >> 2;
+ f5 = f5-f19;
+ f15 = f25*f13;
+ f11 = f11+f12;
+ heapFloat[(r0+1)] = f9;
+ f19 = f4*f23;
+ f20 = f2*f24;
+ f3 = f3+f6;
+ f5 = f5-f15;
+ f3 = f3+f5;
+ heapFloat[(r0+2)] = f11;
+ f6 = f19+f20;
+ f15 = f14*f26;
+ f19 = f8*f23;
+ f20 = f7*f24;
+ f6 = f6+f15;
+ heapFloat[(r0+3)] = f3;
+ f15 = f18*f23;
+ f21 = f17*f24;
+ f19 = f19+f20;
+ f20 = f16*f26;
+ f6 = f6+f10;
+ f10 = f19+f20;
+ heap32[(r0+4)] = 0;
+ f15 = f15+f21;
+ f19 = f25*f26;
+ f15 = f15+f19;
+ f10 = f10+f12;
+ heapFloat[(r0+5)] = f6;
+ f5 = f15+f5;
+ heapFloat[(r0+6)] = f10;
+ heapFloat[(r0+7)] = f5;
+ r9 = _ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0;
+ heap32[(r0+8)] = 0;
+ r9 = (r9 + 8)|0;
+ heap32[(r0+9)] = r7;
+ heap32[(fp+-240)] = r9;
+ heap32[(r0+11)] = r8;
+ heap32[(r0+12)] = r6;
+ heap32[(r0+13)] = r2;
+ heapFloat[(r0+14)] = f4;
+ heapFloat[(r0+15)] = f8;
+ heapFloat[(r0+16)] = f18;
+ heap32[(r0+17)] = heap32[(r1+3)];
+ heapFloat[(r0+18)] = f2;
+ heapFloat[(r0+19)] = f7;
+ heapFloat[(r0+20)] = f17;
+ heap32[(r0+21)] = heap32[(r1+7)];
+ heapFloat[(r0+22)] = f14;
+ heapFloat[(r0+23)] = f16;
+ heapFloat[(r0+24)] = f25;
+ heap32[(r0+25)] = heap32[(r1+11)];
+ heapFloat[(r0+26)] = f0;
+ heapFloat[(r0+27)] = f1;
+ heapFloat[(r0+28)] = f13;
+ heap32[(r0+29)] = heap32[(r1+15)];
+ r1 = sp + -976;
+ heap32[(r0+10)] = heap32[(r5+1)];
+ r5 = r1 >> 2;
+ heapFloat[(fp+-244)] = f9;
+ heapFloat[(r5+1)] = f11;
+ heapFloat[(r5+2)] = f3;
+ heap32[(r5+3)] = 0;
+if(!(f6 >=f9)) //_LBB248_14
+{
+ heapFloat[(fp+-244)] = f6;
+}
+if(!(f10 >=f11)) //_LBB248_16
+{
+ heapFloat[(r5+1)] = f10;
+}
+if(!(f5 >=f3)) //_LBB248_18
+{
+ heapFloat[(r5+2)] = f5;
+}
+ r5 = sp + -992;
+ r6 = r5 >> 2;
+ heapFloat[(fp+-248)] = f9;
+ heapFloat[(r6+1)] = f11;
+ heapFloat[(r6+2)] = f3;
+ heap32[(r6+3)] = 0;
+if(!(f9 >=f6)) //_LBB248_20
+{
+ heapFloat[(fp+-248)] = f6;
+}
+if(!(f11 >=f10)) //_LBB248_22
+{
+ heapFloat[(r6+1)] = f10;
+}
+if(!(f3 >=f5)) //_LBB248_24
+{
+ heapFloat[(r6+2)] = f5;
+}
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+15)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r5;
+ r1 = _ZTV18btTriangleCallback;
+ r1 = (r1 + 8)|0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ heap32[(fp+-240)] = r1;
+ return;
+}
+else{
+ r1 = r7 >> 2;
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r1+12)];
+ f1 = heapFloat[(r1+13)];
+ f2 = heapFloat[(r1+4)];
+ f3 = heapFloat[(r4+13)];
+ f4 = heapFloat[(r1)];
+ f5 = heapFloat[(r4+12)];
+ f6 = -f0;
+ f7 = heapFloat[(r1+5)];
+ f8 = heapFloat[(r1+1)];
+ f9 = heapFloat[(r1+14)];
+ f10 = heapFloat[(r1+8)];
+ f11 = heapFloat[(r4+14)];
+ f12 = f4*f5;
+ f13 = f2*f3;
+ f14 = f4*f6;
+ f15 = f2*f1;
+ f16 = heapFloat[(r1+9)];
+ f17 = heapFloat[(r1+6)];
+ f18 = heapFloat[(r1+2)];
+ f19 = f8*f5;
+ f20 = f7*f3;
+ f21 = f8*f6;
+ f22 = f7*f1;
+ f12 = f12+f13;
+ f13 = f10*f11;
+ f14 = f14-f15;
+ f15 = f10*f9;
+ f23 = heapFloat[(r1+10)];
+ f5 = f18*f5;
+ f3 = f17*f3;
+ f6 = f18*f6;
+ f24 = f17*f1;
+ f19 = f19+f20;
+ f20 = f16*f11;
+ f21 = f21-f22;
+ f22 = f16*f9;
+ f12 = f12+f13;
+ f13 = f14-f15;
+ r4 = sp + -704;
+ f12 = f12+f13;
+ f3 = f5+f3;
+ f5 = f23*f11;
+ f6 = f6-f24;
+ f11 = f23*f9;
+ f14 = f19+f20;
+ f15 = f21-f22;
+ r7 = r4 >> 2;
+ heapFloat[(fp+-176)] = f12;
+ f14 = f14+f15;
+ f3 = f3+f5;
+ f5 = f6-f11;
+ heapFloat[(r7+1)] = f14;
+ f3 = f3+f5;
+ heapFloat[(r7+2)] = f3;
+ r5 = r5 >> 2;
+ heap32[(r7+3)] = 0;
+ f6 = heapFloat[(r5+12)];
+ f11 = heapFloat[(r5+13)];
+ f19 = heapFloat[(r5+14)];
+ f20 = f4*f6;
+ f21 = f2*f11;
+ f22 = f8*f6;
+ f24 = f7*f11;
+ f20 = f20+f21;
+ f21 = f10*f19;
+ f20 = f20+f21;
+ f6 = f18*f6;
+ f11 = f17*f11;
+ f21 = f22+f24;
+ f22 = f16*f19;
+ r5 = sp + -720;
+ f21 = f21+f22;
+ f13 = f20+f13;
+ f6 = f6+f11;
+ f11 = f23*f19;
+ f6 = f6+f11;
+ r7 = r5 >> 2;
+ heapFloat[(fp+-180)] = f13;
+ f11 = f21+f15;
+ heapFloat[(r7+1)] = f11;
+ f5 = f6+f5;
+ heapFloat[(r7+2)] = f5;
+ r0 = sp + -840;
+ r9 = r8 >> 2;
+ heap32[(r7+3)] = 0;
+ r7 = r0 >> 2;
+ r10 = heap32[(r9+4)];
+ heapFloat[(r7+1)] = f12;
+ heapFloat[(r7+2)] = f14;
+ heapFloat[(r7+3)] = f3;
+ heap32[(r7+4)] = 0;
+ heapFloat[(r7+5)] = f13;
+ heapFloat[(r7+6)] = f11;
+ heapFloat[(r7+7)] = f5;
+ r11 = _ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback;
+ heap32[(r7+8)] = 0;
+ r11 = (r11 + 8)|0;
+ heap32[(r7+9)] = r10;
+ heap32[(fp+-210)] = r11;
+ heap32[(r7+11)] = r8;
+ heap32[(r7+12)] = r6;
+ heap32[(r7+13)] = r2;
+ heapFloat[(r7+14)] = f4;
+ heapFloat[(r7+15)] = f8;
+ heapFloat[(r7+16)] = f18;
+ heap32[(r7+17)] = heap32[(r1+3)];
+ heapFloat[(r7+18)] = f2;
+ heapFloat[(r7+19)] = f7;
+ heapFloat[(r7+20)] = f17;
+ heap32[(r7+21)] = heap32[(r1+7)];
+ heapFloat[(r7+22)] = f10;
+ heapFloat[(r7+23)] = f16;
+ heapFloat[(r7+24)] = f23;
+ heap32[(r7+25)] = heap32[(r1+11)];
+ heapFloat[(r7+26)] = f0;
+ heapFloat[(r7+27)] = f1;
+ heapFloat[(r7+28)] = f9;
+ heap32[(r7+29)] = heap32[(r1+15)];
+ r1 = _ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
+ heap32[(r7+10)] = heap32[(r9+1)];
+ r2 = sp + -48;
+ r6 = heap32[(r3+12)];
+ r1 = (r1 + 8)|0;
+ r7 = r2 >> 2;
+ heap32[(fp+-12)] = r1;
+ heap32[(r7+1)] = r6;
+ heap32[(r7+2)] = r0;
+ r1 = heap32[(r3+13)];
+ r3 = sp + -32;
+ r6 = r3 >> 2;
+ heap32[(fp+-8)] = 0;
+ heap32[(r6+1)] = 0;
+ heap32[(r6+2)] = 0;
+ r7 = sp + -16;
+ heap32[(r6+3)] = 0;
+ r6 = r7 >> 2;
+ heap32[(fp+-4)] = 0;
+ heap32[(r6+1)] = 0;
+ heap32[(r6+2)] = 0;
+ heap32[(r6+3)] = 0;
+ r6 = heapU8[r1+60];
+ if(r6 ==0) //_LBB248_10
+{
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r3;
+ _ZNK14btQuantizedBvh27walkStacklessTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(i7);
+}
+else{
+ r6 = r1 >> 2;
+ r6 = heap32[(r6+14)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r3;
+ heap32[(g0+6)] = r6;
+ _ZNK14btQuantizedBvh36walkStacklessQuantizedTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(i7);
+}
+ r1 = _ZTV18btTriangleCallback;
+ r1 = (r1 + 8)|0;
+ heap32[(fp+-210)] = r1;
+ return;
+}
+}
+}
+else{
+ r1 = _ZTVN12btConvexCast10CastResultE;
+ r3 = sp + -280;
+ r1 = (r1 + 8)|0;
+ r9 = r3 >> 2;
+ heap32[(fp+-70)] = r1;
+ heap32[(r9+42)] = 0;
+ r1 = sp + -640;
+ r10 = r8 >> 2;
+ heap32[(r9+43)] = 0;
+ r11 = r1 >> 2;
+ heap32[(r9+41)] = heap32[(r10+1)];
+ r12 = _ZTV22btSubsimplexConvexCast;
+ r13 = 0;
+ heap32[(r11+77)] = 953267991;
+ r11 = sp + -656;
+ r12 = (r12 + 8)|0;
+ heap8[sp+-308] = r13;
+ r13 = r11 >> 2;
+ heap32[(fp+-164)] = r12;
+ heap32[(r13+1)] = r1;
+ heap32[(r13+2)] = r0;
+ heap32[(r13+3)] = r2;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r3;
+ _ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(i7);
+ r1 = r_g0;
+if(!(r1 ==0)) //_LBB248_5
+{
+ f0 = heapFloat[(r9+33)];
+ f1 = heapFloat[(r9+34)];
+ f2 = heapFloat[(r9+35)];
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ f4 = 9.9999997473787516e-005;
+if(!(f3 <=f4)) //_LBB248_5
+{
+ f3 = heapFloat[(r9+41)];
+ f4 = heapFloat[(r10+1)];
+if(!(f3 >=f4)) //_LBB248_5
+{
+ r1 = r4 >> 2;
+ f4 = heapFloat[(r1+4)];
+ f5 = heapFloat[(r1)];
+ f6 = heapFloat[(r1+5)];
+ f7 = heapFloat[(r1+1)];
+ f8 = heapFloat[(r1+8)];
+ f9 = heapFloat[(r1+9)];
+ f4 = f4*f0;
+ f6 = f6*f1;
+ f10 = heapFloat[(r1+6)];
+ f11 = heapFloat[(r1+2)];
+ f5 = f5*f0;
+ f7 = f7*f1;
+ f12 = heapFloat[(r1+10)];
+ f0 = f8*f0;
+ f1 = f9*f1;
+ f4 = f4+f6;
+ f6 = f10*f2;
+ f5 = f5+f7;
+ f7 = f11*f2;
+ f4 = f4+f6;
+ f5 = f5+f7;
+ f0 = f0+f1;
+ f1 = f12*f2;
+ f0 = f0+f1;
+ f1 = f5*f5;
+ f2 = f4*f4;
+ heap32[(r9+36)] = 0;
+ f1 = f1+f2;
+ f2 = f0*f0;
+ f1 = f1+f2;
+ heapFloat[(g0)] = f1;
+ f1 = 1;
+ sqrtf(i7);
+ f1 = f1/f_g0;
+ f2 = f5*f1;
+ f4 = f4*f1;
+ heapFloat[(r9+33)] = f2;
+ f0 = f0*f1;
+ heapFloat[(r9+34)] = f4;
+ r1 = sp + -688;
+ heapFloat[(r9+35)] = f0;
+ r2 = r1 >> 2;
+ heap32[(fp+-172)] = r6;
+ heap32[(r2+1)] = 0;
+ heapFloat[(r2+2)] = f2;
+ heapFloat[(r2+3)] = f4;
+ heapFloat[(r2+4)] = f0;
+ heap32[(r2+5)] = 0;
+ heapFloat[(r2+6)] = f3;
+ r2 = heap32[(r10)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+3)];
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+}
+}
+ r1 = _ZTV12btConvexCast;
+ r1 = (r1 + 8)|0;
+ heap32[(fp+-164)] = r1;
+ return;
+}
+}
+
+function _ZN22btCompoundLeafCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV22btCompoundLeafCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN22btCompoundLeafCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV22btCompoundLeafCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN22btCompoundLeafCallback7ProcessEPK10btDbvtNode(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -136;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+1)];
+ r3 = heap32[(fp+1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+48)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4+9)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+6)];
+ r5 = (r4 * 80)|0;
+ r6 = heap32[(r1+4)];
+ r2 = (r2 + r5)|0;
+ r5 = r6 >> 2;
+ r2 = r2 >> 2;
+ r5 = heap32[(r5+5)];
+ r2 = heap32[(r2+16)];
+if(!(r5 ==0)) //_LBB251_3
+{
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+12)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r5 = r_g0 & 2;
+if(!(r5 ==0)) //_LBB251_3
+{
+ r5 = heap32[(r1+1)];
+ r6 = sp + -112;
+ r5 = r5 >> 2;
+ r7 = r6 >> 2;
+ heap32[(fp+-28)] = heap32[(r5+1)];
+ heap32[(r7+1)] = heap32[(r5+2)];
+ heap32[(r7+2)] = heap32[(r5+3)];
+ heap32[(r7+3)] = heap32[(r5+4)];
+ heap32[(r7+4)] = heap32[(r5+5)];
+ heap32[(r7+5)] = heap32[(r5+6)];
+ heap32[(r7+6)] = heap32[(r5+7)];
+ heap32[(r7+7)] = heap32[(r5+8)];
+ heap32[(r7+8)] = heap32[(r5+9)];
+ heap32[(r7+9)] = heap32[(r5+10)];
+ heap32[(r7+10)] = heap32[(r5+11)];
+ heap32[(r7+11)] = heap32[(r5+12)];
+ heap32[(r7+12)] = heap32[(r5+13)];
+ heap32[(r7+13)] = heap32[(r5+14)];
+ heap32[(r7+14)] = heap32[(r5+15)];
+ heap32[(r7+15)] = heap32[(r5+16)];
+ r5 = (r3 + 16)|0;
+ r7 = sp + -32;
+ r8 = sp + -48;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = 0;
+ heap32[(g0+3)] = r6;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r8;
+ _Z15btTransformAabbRK9btVector3S1_fRK11btTransformRS_S5_(i7);
+ r1 = heap32[(r1+4)];
+ r1 = r1 >> 2;
+ r3 = heap32[(r1+5)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+13)];
+ r5 = sp + -16;
+ r6 = r5 >> 2;
+ heap32[(fp+-4)] = 1065353216;
+ heap32[(r6+1)] = 0;
+ heap32[(r6+2)] = 0;
+ heap32[(r6+3)] = 0;
+ r1 = heap32[(r1+5)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r5;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+}
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r4;
+ _ZN22btCompoundLeafCallback17ProcessChildShapeEP16btCollisionShapei(i7);
+ return;
+}
+
+function _ZN28btCompoundCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+3)];
+if(!(r1 <1)) //_LBB252_5
+{
+ r1 = heap32[(fp+1)];
+ r2 = 0;
+_3: while(true){
+ r3 = heap32[(r0+5)];
+ r4 = r2 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+if(!(r3 ==0)) //_LBB252_4
+{
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+ r2 = (r2 + 1)|0;
+ r3 = heap32[(r0+3)];
+ if(r3 >r2) //_LBB252_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZN28btCompoundCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+28];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = r1 == 0 ? r2 : r3;
+ r5 = r4 >> 2;
+ r6 = heap32[(r5+48)];
+ r7 = r6 >> 2;
+ r8 = heap32[(r7+1)];
+ if(r8 ==31) //_LBB253_2
+{
+ r0 = r0 >> 2;
+ r8 = heap32[(r0+3)];
+_3: do {
+ if(r8 >0) //_LBB253_4
+{
+ r9 = heap32[(fp+3)];
+ r10 = heap32[(fp+4)];
+ r1 = r1 == 0 ? r3 : r2;
+ r2 = 0;
+ f0 = 1;
+_5: while(true){
+ r3 = (r2 * 20)|0;
+ r11 = heap32[(r7+6)];
+ r3 = r3 << 2;
+ r3 = (r11 + r3)|0;
+ r3 = r3 >> 2;
+ f1 = heapFloat[(r3)];
+ f2 = heapFloat[(r5+1)];
+ f3 = heapFloat[(r3+4)];
+ f4 = heapFloat[(r5+2)];
+ f5 = heapFloat[(r3+1)];
+ f6 = heapFloat[(r3+5)];
+ f7 = f1*f2;
+ f8 = f3*f4;
+ f9 = heapFloat[(r3+8)];
+ f10 = heapFloat[(r5+3)];
+ f11 = heapFloat[(r5+10)];
+ f12 = heapFloat[(r3+13)];
+ f13 = heapFloat[(r5+6)];
+ f14 = heapFloat[(r3+6)];
+ f15 = heapFloat[(r5+9)];
+ f16 = heapFloat[(r3+12)];
+ f17 = heapFloat[(r5+5)];
+ f18 = heapFloat[(r3+2)];
+ f19 = heapFloat[(r3+14)];
+ f20 = heapFloat[(r5+11)];
+ f21 = heapFloat[(r3+10)];
+ f22 = heapFloat[(r5+7)];
+ f23 = heapFloat[(r3+9)];
+ r3 = heap32[(r3+16)];
+ f24 = f5*f2;
+ f25 = f6*f4;
+ f7 = f7+f8;
+ f8 = f9*f10;
+ f26 = heapFloat[(r5+16)];
+ heapFloat[(fp+-1)] = f26;
+ f27 = heapFloat[(r5+15)];
+ f28 = heapFloat[(r5+14)];
+ f29 = heapFloat[(r5+13)];
+ f26 = heapFloat[(r5+12)];
+ heapFloat[(fp+-2)] = f26;
+ f26 = heapFloat[(r5+8)];
+ heapFloat[(fp+-3)] = f26;
+ f26 = heapFloat[(r5+4)];
+ heapFloat[(fp+-4)] = f26;
+ f30 = f18*f2;
+ f26 = f14*f4;
+ f24 = f24+f25;
+ f25 = f23*f10;
+ f7 = f7+f8;
+ f8 = f30+f26;
+ f26 = f21*f10;
+ f24 = f24+f25;
+ heapFloat[(r5+1)] = f7;
+ f7 = f1*f17;
+ f25 = f3*f13;
+ f8 = f8+f26;
+ heapFloat[(r5+2)] = f24;
+ heapFloat[(r5+3)] = f8;
+ f8 = f5*f17;
+ f24 = f6*f13;
+ f7 = f7+f25;
+ f25 = f9*f22;
+ f26 = f18*f17;
+ f30 = f14*f13;
+ f8 = f8+f24;
+ f24 = f23*f22;
+ f7 = f7+f25;
+ heap32[(r5+4)] = 0;
+ f25 = f26+f30;
+ f26 = f21*f22;
+ f8 = f8+f24;
+ heapFloat[(r5+5)] = f7;
+ f1 = f1*f15;
+ f3 = f3*f11;
+ f7 = f25+f26;
+ heapFloat[(r5+6)] = f8;
+ heapFloat[(r5+7)] = f7;
+ f5 = f5*f15;
+ f6 = f6*f11;
+ f1 = f1+f3;
+ f3 = f9*f20;
+ f7 = f18*f15;
+ f8 = f14*f11;
+ f5 = f5+f6;
+ f6 = f23*f20;
+ f1 = f1+f3;
+ heap32[(r5+8)] = 0;
+ f3 = f2*f16;
+ f9 = f4*f12;
+ f7 = f7+f8;
+ f8 = f21*f20;
+ f5 = f5+f6;
+ heapFloat[(r5+9)] = f1;
+ f1 = f17*f16;
+ f6 = f13*f12;
+ f3 = f3+f9;
+ f9 = f10*f19;
+ f7 = f7+f8;
+ heapFloat[(r5+10)] = f5;
+ f3 = f3+f9;
+ heapFloat[(r5+11)] = f7;
+ f5 = f15*f16;
+ f7 = f11*f12;
+ f1 = f1+f6;
+ f6 = f22*f19;
+ f1 = f1+f6;
+ f5 = f5+f7;
+ f6 = f20*f19;
+ f3 = f3+f29;
+ heap32[(r5+12)] = 0;
+ f5 = f5+f6;
+ f1 = f1+f28;
+ heapFloat[(r5+13)] = f3;
+ f3 = f5+f27;
+ heapFloat[(r5+14)] = f1;
+ heapFloat[(r5+15)] = f3;
+ heap32[(r5+16)] = 0;
+ heap32[(r5+48)] = r3;
+ r3 = heap32[(r0+5)];
+ r11 = r2 << 2;
+ r3 = (r3 + r11)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r11 = r3 >> 2;
+ r11 = heap32[(r11)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+3)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r9;
+ heap32[(g0+4)] = r10;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ heap32[(r5+48)] = r6;
+ heapFloat[(r5+1)] = f2;
+ heapFloat[(r5+2)] = f4;
+ heapFloat[(r5+3)] = f10;
+ f26 = heapFloat[(fp+-4)];
+ heapFloat[(r5+4)] = f26;
+ heapFloat[(r5+5)] = f17;
+ heapFloat[(r5+6)] = f13;
+ heapFloat[(r5+7)] = f22;
+ f26 = heapFloat[(fp+-3)];
+ heapFloat[(r5+8)] = f26;
+ heapFloat[(r5+9)] = f15;
+ heapFloat[(r5+10)] = f11;
+ heapFloat[(r5+11)] = f20;
+ f26 = heapFloat[(fp+-2)];
+ heapFloat[(r5+12)] = f26;
+ heapFloat[(r5+13)] = f29;
+ heapFloat[(r5+14)] = f28;
+ r2 = (r2 + 1)|0;
+ f0 = f_g0 < f0 ? f_g0 : f0;
+ heapFloat[(r5+15)] = f27;
+ f26 = heapFloat[(fp+-1)];
+ heapFloat[(r5+16)] = f26;
+if(!(r8 !=r2)) //_LBB253_5
+{
+break _3;
+}
+}
+}
+else{
+ f0 = 1;
+}
+} while(0);
+ f_g0 = f0;
+ return;
+}
+else{
+ r0 = _2E_str99;
+ r1 = _2E_str1100;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 308;
+ _assert(i7);
+}
+}
+
+function _Z15btTransformAabbRK9btVector3S1_fRK11btTransformRS_S5_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r0)];
+ f1 = heapFloat[(r1)];
+ if(f0 <=f1) //_LBB254_2
+{
+ f2 = heapFloat[(r0+1)];
+ f3 = heapFloat[(r1+1)];
+ if(f2 <=f3) //_LBB254_4
+{
+ f4 = heapFloat[(r0+2)];
+ f5 = heapFloat[(r1+2)];
+ if(f4 <=f5) //_LBB254_6
+{
+ f6 = heapFloat[(fp+2)];
+ r0 = heap32[(fp+3)];
+ r1 = heap32[(fp+4)];
+ r2 = heap32[(fp+5)];
+ f7 = f1-f0;
+ f8 = 0.5;
+ f9 = f3-f2;
+ f10 = f5-f4;
+ r0 = r0 >> 2;
+ f4 = f5+f4;
+ f2 = f3+f2;
+ f0 = f1+f0;
+ f1 = f7*f8;
+ f3 = f9*f8;
+ f5 = f10*f8;
+ f7 = heapFloat[(r0+10)];
+ f1 = f1+f6;
+ f3 = f3+f6;
+ f5 = f5+f6;
+ f4 = f4*f8;
+ f2 = f2*f8;
+ f0 = f0*f8;
+ f6 = 0;
+ if(f7 <f6) //_LBB254_8
+{
+ f8 = -f7;
+}
+else{
+ f8 = f7;
+}
+ f9 = heapFloat[(r0+9)];
+ if(f9 <f6) //_LBB254_11
+{
+ f10 = -f9;
+}
+else{
+ f10 = f9;
+}
+ f11 = heapFloat[(r0+8)];
+ if(f11 <f6) //_LBB254_14
+{
+ f12 = -f11;
+}
+else{
+ f12 = f11;
+}
+ f13 = heapFloat[(r0+6)];
+ if(f13 <f6) //_LBB254_17
+{
+ f14 = -f13;
+}
+else{
+ f14 = f13;
+}
+ f15 = heapFloat[(r0+5)];
+ if(f15 <f6) //_LBB254_20
+{
+ f16 = -f15;
+}
+else{
+ f16 = f15;
+}
+ f17 = heapFloat[(r0+4)];
+ if(f17 <f6) //_LBB254_23
+{
+ f18 = -f17;
+}
+else{
+ f18 = f17;
+}
+ f19 = heapFloat[(r0+2)];
+ if(f19 <f6) //_LBB254_26
+{
+ f20 = -f19;
+}
+else{
+ f20 = f19;
+}
+ f21 = heapFloat[(r0+1)];
+ if(f21 <f6) //_LBB254_29
+{
+ f22 = -f21;
+}
+else{
+ f22 = f21;
+}
+ f23 = heapFloat[(r0)];
+ if(f23 <f6) //_LBB254_32
+{
+ f6 = -f23;
+}
+else{
+ f6 = f23;
+}
+ f23 = f23*f0;
+ f21 = f21*f2;
+ f17 = f17*f0;
+ f15 = f15*f2;
+ f21 = f23+f21;
+ f19 = f19*f4;
+ f6 = f6*f1;
+ f22 = f22*f3;
+ f0 = f11*f0;
+ f2 = f9*f2;
+ f9 = f17+f15;
+ f11 = f13*f4;
+ f13 = f18*f1;
+ f15 = f16*f3;
+ f16 = f21+f19;
+ f17 = heapFloat[(r0+12)];
+ f6 = f6+f22;
+ f18 = f20*f5;
+ f0 = f0+f2;
+ f2 = f7*f4;
+ f1 = f12*f1;
+ f3 = f10*f3;
+ f4 = f9+f11;
+ f7 = heapFloat[(r0+13)];
+ f9 = heapFloat[(r0+14)];
+ f10 = f13+f15;
+ f11 = f14*f5;
+ f12 = f16+f17;
+ f6 = f6+f18;
+ f0 = f0+f2;
+ r0 = r1 >> 2;
+ f1 = f1+f3;
+ f2 = f8*f5;
+ f3 = f4+f7;
+ f4 = f10+f11;
+ f5 = f12-f6;
+ f0 = f0+f9;
+ f1 = f1+f2;
+ f2 = f3-f4;
+ heapFloat[(r0)] = f5;
+ f5 = f0-f1;
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f5;
+ r1 = r2 >> 2;
+ f2 = f12+f6;
+ heap32[(r0+3)] = 0;
+ f3 = f3+f4;
+ heapFloat[(r1)] = f2;
+ f0 = f0+f1;
+ heapFloat[(r1+1)] = f3;
+ heapFloat[(r1+2)] = f0;
+ heap32[(r1+3)] = 0;
+ return;
+}
+else{
+ r0 = _2E_str5104;
+ r1 = _2E_str3102;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 199;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str4103;
+ r1 = _2E_str3102;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 198;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str2101;
+ r1 = _2E_str3102;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 197;
+ _assert(i7);
+}
+}
+
+function _ZN22btCompoundLeafCallback17ProcessChildShapeEP16btCollisionShapei(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -264;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ if(r0 >-1) //_LBB255_2
+{
+ r1 = heap32[(fp)];
+ r1 = r1 >> 2;
+ r2 = heap32[(r1+1)];
+ r2 = r2 >> 2;
+ r3 = heap32[(r2+48)];
+ r3 = r3 >> 2;
+ r4 = heap32[(r3+4)];
+ if(r4 >r0) //_LBB255_4
+{
+ r4 = heap32[(fp+1)];
+ r3 = heap32[(r3+6)];
+ r5 = (r0 * 80)|0;
+ r3 = (r3 + r5)|0;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r2+1)];
+ f1 = heapFloat[(r3)];
+ f2 = heapFloat[(r2+2)];
+ f3 = heapFloat[(r3+4)];
+ f4 = heapFloat[(r3+1)];
+ f5 = heapFloat[(r3+5)];
+ f6 = heapFloat[(r2+3)];
+ f7 = heapFloat[(r3+8)];
+ f8 = f1*f0;
+ f9 = f3*f2;
+ f10 = heapFloat[(r2+5)];
+ f11 = heapFloat[(r2+6)];
+ f12 = heapFloat[(r2+9)];
+ f13 = heapFloat[(r3+12)];
+ f14 = heapFloat[(r3+2)];
+ f15 = heapFloat[(r2+10)];
+ f16 = heapFloat[(r3+13)];
+ f17 = heapFloat[(r3+6)];
+ f18 = heapFloat[(r2+7)];
+ f19 = heapFloat[(r3+14)];
+ f20 = heapFloat[(r2+11)];
+ f21 = heapFloat[(r3+10)];
+ f22 = heapFloat[(r3+9)];
+ f23 = heapFloat[(r2+4)];
+ f24 = heapFloat[(r2+8)];
+ heapFloat[(fp+-59)] = f24;
+ f24 = heapFloat[(r2+12)];
+ heapFloat[(fp+-57)] = f24;
+ f24 = heapFloat[(r2+13)];
+ f25 = heapFloat[(r2+14)];
+ f26 = heapFloat[(r2+15)];
+ f27 = heapFloat[(r2+16)];
+ heapFloat[(fp+-58)] = f27;
+ f27 = heapFloat[(r2+17)];
+ heapFloat[(fp+-42)] = f27;
+ f27 = heapFloat[(r2+18)];
+ heapFloat[(fp+-41)] = f27;
+ f27 = heapFloat[(r2+19)];
+ heapFloat[(fp+-44)] = f27;
+ f27 = heapFloat[(r2+20)];
+ heapFloat[(fp+-43)] = f27;
+ f27 = heapFloat[(r2+21)];
+ heapFloat[(fp+-46)] = f27;
+ f27 = heapFloat[(r2+22)];
+ heapFloat[(fp+-45)] = f27;
+ f27 = heapFloat[(r2+23)];
+ heapFloat[(fp+-48)] = f27;
+ f27 = heapFloat[(r2+24)];
+ heapFloat[(fp+-47)] = f27;
+ f27 = heapFloat[(r2+25)];
+ heapFloat[(fp+-50)] = f27;
+ f27 = heapFloat[(r2+26)];
+ heapFloat[(fp+-49)] = f27;
+ f27 = heapFloat[(r2+27)];
+ heapFloat[(fp+-52)] = f27;
+ f27 = heapFloat[(r2+28)];
+ heapFloat[(fp+-51)] = f27;
+ f27 = heapFloat[(r2+29)];
+ heapFloat[(fp+-54)] = f27;
+ f27 = heapFloat[(r2+30)];
+ heapFloat[(fp+-53)] = f27;
+ f27 = heapFloat[(r2+31)];
+ heapFloat[(fp+-56)] = f27;
+ f27 = heapFloat[(r2+32)];
+ heapFloat[(fp+-55)] = f27;
+ f27 = f4*f0;
+ f28 = f5*f2;
+ f8 = f8+f9;
+ f9 = f7*f6;
+ r2 = sp + -96;
+ f29 = f14*f0;
+ f30 = f17*f2;
+ f27 = f27+f28;
+ f28 = f22*f6;
+ f8 = f8+f9;
+ r3 = r2 >> 2;
+ f9 = f29+f30;
+ f29 = f21*f6;
+ f27 = f27+f28;
+ heapFloat[(fp+-24)] = f8;
+ f8 = f1*f10;
+ f28 = f3*f11;
+ f9 = f9+f29;
+ heapFloat[(r3+1)] = f27;
+ heapFloat[(r3+2)] = f9;
+ f9 = f4*f10;
+ f27 = f5*f11;
+ f8 = f8+f28;
+ f28 = f7*f18;
+ f29 = f14*f10;
+ f30 = f17*f11;
+ f9 = f9+f27;
+ f27 = f22*f18;
+ f8 = f8+f28;
+ heap32[(r3+3)] = 0;
+ f28 = f29+f30;
+ f29 = f21*f18;
+ f9 = f9+f27;
+ heapFloat[(r3+4)] = f8;
+ f1 = f1*f12;
+ f3 = f3*f15;
+ f8 = f28+f29;
+ heapFloat[(r3+5)] = f9;
+ heapFloat[(r3+6)] = f8;
+ f4 = f4*f12;
+ f5 = f5*f15;
+ f1 = f1+f3;
+ f3 = f7*f20;
+ f7 = f14*f12;
+ f8 = f17*f15;
+ f4 = f4+f5;
+ f5 = f22*f20;
+ f1 = f1+f3;
+ heap32[(r3+7)] = 0;
+ f3 = f0*f13;
+ f9 = f2*f16;
+ f7 = f7+f8;
+ f8 = f21*f20;
+ f4 = f4+f5;
+ heapFloat[(r3+8)] = f1;
+ f1 = f10*f13;
+ f5 = f11*f16;
+ f3 = f3+f9;
+ f9 = f6*f19;
+ f7 = f7+f8;
+ heapFloat[(r3+9)] = f4;
+ f3 = f3+f9;
+ heapFloat[(r3+10)] = f7;
+ f4 = f12*f13;
+ f7 = f15*f16;
+ f1 = f1+f5;
+ f5 = f18*f19;
+ f1 = f1+f5;
+ f4 = f4+f7;
+ f5 = f20*f19;
+ f3 = f3+f24;
+ heap32[(r3+11)] = 0;
+ f4 = f4+f5;
+ f1 = f1+f25;
+ heapFloat[(r3+12)] = f3;
+ f3 = f4+f26;
+ heapFloat[(r3+13)] = f1;
+ heapFloat[(r3+14)] = f3;
+ r5 = r4 >> 2;
+ heap32[(r3+15)] = 0;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+2)];
+ r6 = sp + -112;
+ r7 = sp + -128;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r7;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r2 = heap32[(r1+2)];
+ r5 = r2 >> 2;
+ r5 = heap32[(r5+48)];
+ r8 = r5 >> 2;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ r2 = (r2 + 4)|0;
+ r9 = sp + -144;
+ r10 = sp + -160;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r10;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ f1 = heapFloat[(fp+-28)];
+ f3 = heapFloat[(fp+-40)];
+ if(f1 >f3) //_LBB255_7
+{
+__label__ = 7;
+}
+else{
+ f1 = heapFloat[(fp+-32)];
+ f3 = heapFloat[(fp+-36)];
+ if(f1 <f3) //_LBB255_7
+{
+__label__ = 7;
+}
+else{
+ r2 = 1;
+__label__ = 8;
+}
+}
+if (__label__ == 7){
+ r2 = 0;
+}
+ r5 = r6 >> 2;
+ r8 = r10 >> 2;
+ f1 = heapFloat[(r5+2)];
+ f3 = heapFloat[(r8+2)];
+ if(f1 >f3) //_LBB255_11
+{
+__label__ = 10;
+}
+else{
+ r11 = r7 >> 2;
+ r12 = r9 >> 2;
+ f1 = heapFloat[(r11+2)];
+ f3 = heapFloat[(r12+2)];
+ if(f1 <f3) //_LBB255_11
+{
+__label__ = 10;
+}
+else{
+__label__ = 11;
+}
+}
+if (__label__ == 10){
+ r2 = 0;
+}
+ f1 = heapFloat[(r5+1)];
+ f3 = heapFloat[(r8+1)];
+if(!(f1 >f3)) //_LBB255_24
+{
+ r5 = r7 >> 2;
+ r8 = r9 >> 2;
+ f1 = heapFloat[(r5+1)];
+ f3 = heapFloat[(r8+1)];
+if(!(f1 <f3)) //_LBB255_24
+{
+ r2 = r2 & 255;
+if(!(r2 ==0)) //_LBB255_24
+{
+ r2 = heap32[(r1+1)];
+ r2 = r2 >> 2;
+ heap32[(r2+1)] = heap32[(fp+-24)];
+ heap32[(r2+2)] = heap32[(r3+1)];
+ heap32[(r2+3)] = heap32[(r3+2)];
+ heap32[(r2+4)] = heap32[(r3+3)];
+ heap32[(r2+5)] = heap32[(r3+4)];
+ heap32[(r2+6)] = heap32[(r3+5)];
+ heap32[(r2+7)] = heap32[(r3+6)];
+ heap32[(r2+8)] = heap32[(r3+7)];
+ heap32[(r2+9)] = heap32[(r3+8)];
+ heap32[(r2+10)] = heap32[(r3+9)];
+ heap32[(r2+11)] = heap32[(r3+10)];
+ heap32[(r2+12)] = heap32[(r3+11)];
+ heap32[(r2+13)] = heap32[(r3+12)];
+ heap32[(r2+14)] = heap32[(r3+13)];
+ heap32[(r2+15)] = heap32[(r3+14)];
+ heap32[(r2+16)] = heap32[(r3+15)];
+ r2 = heap32[(r1+1)];
+ r2 = r2 >> 2;
+ heap32[(r2+17)] = heap32[(fp+-24)];
+ heap32[(r2+18)] = heap32[(r3+1)];
+ heap32[(r2+19)] = heap32[(r3+2)];
+ heap32[(r2+20)] = heap32[(r3+3)];
+ heap32[(r2+21)] = heap32[(r3+4)];
+ heap32[(r2+22)] = heap32[(r3+5)];
+ heap32[(r2+23)] = heap32[(r3+6)];
+ heap32[(r2+24)] = heap32[(r3+7)];
+ heap32[(r2+25)] = heap32[(r3+8)];
+ heap32[(r2+26)] = heap32[(r3+9)];
+ heap32[(r2+27)] = heap32[(r3+10)];
+ heap32[(r2+28)] = heap32[(r3+11)];
+ heap32[(r2+29)] = heap32[(r3+12)];
+ heap32[(r2+30)] = heap32[(r3+13)];
+ heap32[(r2+31)] = heap32[(r3+14)];
+ heap32[(r2+32)] = heap32[(r3+15)];
+ r2 = heap32[(r1+1)];
+ r2 = r2 >> 2;
+ r3 = heap32[(r2+48)];
+ heap32[(r2+48)] = r4;
+ r2 = heap32[(r1+6)];
+ r4 = r0 << 2;
+ r2 = (r2 + r4)|0;
+ r2 = r2 >> 2;
+ r5 = heap32[(r2)];
+if(!(r5 !=0)) //_LBB255_17
+{
+ r5 = heap32[(r1+3)];
+ r8 = r5 >> 2;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ r11 = heap32[(r1+7)];
+ r12 = heap32[(r1+2)];
+ r13 = heap32[(r1+1)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r13;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = r11;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ heap32[(r2)] = r_g0;
+}
+ r2 = heap32[(r1+5)];
+ r5 = r2 >> 2;
+ r8 = heap32[(r5)];
+ r5 = heap32[(r5+34)];
+ r11 = heap32[(r1+1)];
+ if(r5 !=r11) //_LBB255_19
+{
+ r5 = r8 >> 2;
+ r5 = heap32[(r5+3)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = -1;
+ heap32[(g0+2)] = r0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+else{
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = -1;
+ heap32[(g0+2)] = r0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+}
+ r0 = heap32[(r1+6)];
+ r0 = (r0 + r4)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ r2 = r0 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+2)];
+ r4 = heap32[(r1+5)];
+ r5 = heap32[(r1+4)];
+ r8 = heap32[(r1+2)];
+ r11 = heap32[(r1+1)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = heap32[(r1+4)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+5)];
+if(!(r0 ==0)) //_LBB255_23
+{
+ r2 = r0 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = r_g0 & 2;
+if(!(r0 ==0)) //_LBB255_23
+{
+ r0 = heap32[(r1+4)];
+ r0 = r0 >> 2;
+ r2 = heap32[(r0+5)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+13)];
+ r4 = sp + -32;
+ r5 = r4 >> 2;
+ heap32[(fp+-8)] = 1065353216;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 1065353216;
+ heap32[(r5+3)] = 0;
+ r0 = heap32[(r0+5)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = heap32[(r1+4)];
+ r0 = r0 >> 2;
+ r2 = heap32[(r0+5)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+13)];
+ r4 = sp + -16;
+ r5 = r4 >> 2;
+ heap32[(fp+-4)] = 1065353216;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 1065353216;
+ heap32[(r5+3)] = 0;
+ r0 = heap32[(r0+5)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+}
+ r0 = heap32[(r1+1)];
+ r0 = r0 >> 2;
+ heap32[(r0+48)] = r3;
+ r0 = heap32[(r1+1)];
+ r0 = r0 >> 2;
+ heapFloat[(r0+1)] = f0;
+ heapFloat[(r0+2)] = f2;
+ heapFloat[(r0+3)] = f6;
+ heapFloat[(r0+4)] = f23;
+ heapFloat[(r0+5)] = f10;
+ heapFloat[(r0+6)] = f11;
+ heapFloat[(r0+7)] = f18;
+ f0 = heapFloat[(fp+-59)];
+ heapFloat[(r0+8)] = f0;
+ heapFloat[(r0+9)] = f12;
+ heapFloat[(r0+10)] = f15;
+ heapFloat[(r0+11)] = f20;
+ f0 = heapFloat[(fp+-57)];
+ heapFloat[(r0+12)] = f0;
+ heapFloat[(r0+13)] = f24;
+ heapFloat[(r0+14)] = f25;
+ heapFloat[(r0+15)] = f26;
+ f0 = heapFloat[(fp+-58)];
+ heapFloat[(r0+16)] = f0;
+ r0 = heap32[(r1+1)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(fp+-42)];
+ heapFloat[(r0+17)] = f0;
+ f0 = heapFloat[(fp+-41)];
+ heapFloat[(r0+18)] = f0;
+ f0 = heapFloat[(fp+-44)];
+ heapFloat[(r0+19)] = f0;
+ f0 = heapFloat[(fp+-43)];
+ heapFloat[(r0+20)] = f0;
+ f0 = heapFloat[(fp+-46)];
+ heapFloat[(r0+21)] = f0;
+ f0 = heapFloat[(fp+-45)];
+ heapFloat[(r0+22)] = f0;
+ f0 = heapFloat[(fp+-48)];
+ heapFloat[(r0+23)] = f0;
+ f0 = heapFloat[(fp+-47)];
+ heapFloat[(r0+24)] = f0;
+ f0 = heapFloat[(fp+-50)];
+ heapFloat[(r0+25)] = f0;
+ f0 = heapFloat[(fp+-49)];
+ heapFloat[(r0+26)] = f0;
+ f0 = heapFloat[(fp+-52)];
+ heapFloat[(r0+27)] = f0;
+ f0 = heapFloat[(fp+-51)];
+ heapFloat[(r0+28)] = f0;
+ f0 = heapFloat[(fp+-54)];
+ heapFloat[(r0+29)] = f0;
+ f0 = heapFloat[(fp+-53)];
+ heapFloat[(r0+30)] = f0;
+ f0 = heapFloat[(fp+-56)];
+ heapFloat[(r0+31)] = f0;
+ f0 = heapFloat[(fp+-55)];
+ heapFloat[(r0+32)] = f0;
+}
+}
+}
+ return;
+}
+else{
+ r0 = _2E_str7106;
+ r1 = _2E_str1100;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 119;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str6105;
+ r1 = _2E_str1100;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 117;
+ _assert(i7);
+}
+}
+
+function _ZN28btCompoundCollisionAlgorithm26preallocateChildAlgorithmsEP17btCollisionObjectS1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+28];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = r1 == 0 ? r2 : r3;
+ r5 = r4 >> 2;
+ r6 = heap32[(r5+48)];
+ r6 = r6 >> 2;
+ r7 = heap32[(r6+1)];
+ if(r7 ==31) //_LBB256_2
+{
+ r7 = r0 >> 2;
+ r8 = heap32[(r7+3)];
+ r9 = heap32[(r6+4)];
+_3: do {
+if(!(r8 >r9)) //_LBB256_21
+{
+if(!(r8 >=r9)) //_LBB256_21
+{
+ r10 = heap32[(r7+4)];
+if(!(r10 >=r9)) //_LBB256_20
+{
+ if(r9 !=0) //_LBB256_7
+{
+ r10 = gNumAlignedAllocs;
+ r10 = r10 >> 2;
+ r11 = heap32[(r10)];
+ r12 = r9 << 2;
+ r11 = (r11 + 1)|0;
+ r12 = r12 | 3;
+ heap32[(r10)] = r11;
+ r10 = (r12 + 16)|0;
+ heap32[(g0)] = r10;
+ malloc(i7);
+ r10 = r_g0;
+ if(r10 !=0) //_LBB256_9
+{
+ r11 = 0;
+ r12 = (r10 + 4)|0;
+ r11 = (r11 - r12)|0;
+ r11 = r11 & 15;
+ r11 = (r10 + r11)|0;
+ r12 = (r11 + 4)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = r10;
+ r10 = r12;
+}
+}
+else{
+ r10 = 0;
+}
+ r11 = (r0 + 20)|0;
+ if(r8 <1) //_LBB256_12
+{
+ r12 = r11 >> 2;
+ r13 = heap32[(r12)];
+}
+else{
+ r12 = 0;
+_16: while(true){
+ r13 = r11 >> 2;
+ r13 = heap32[(r13)];
+ r14 = r12 << 2;
+ r15 = (r13 + r14)|0;
+ r15 = r15 >> 2;
+ r14 = (r10 + r14)|0;
+ r15 = heap32[(r15)];
+ r12 = (r12 + 1)|0;
+ r14 = r14 >> 2;
+ heap32[(r14)] = r15;
+if(!(r8 !=r12)) //_LBB256_13
+{
+break _16;
+}
+}
+ r11 = (r0 + 20)|0;
+}
+if(!(r13 ==0)) //_LBB256_19
+{
+ r12 = heapU8[r0+24];
+if(!(r12 ==0)) //_LBB256_18
+{
+ r12 = gNumAlignedFree;
+ r12 = r12 >> 2;
+ r14 = heap32[(r12)];
+ r14 = (r14 + 1)|0;
+ r13 = r13 >> 2;
+ heap32[(r12)] = r14;
+ r12 = heap32[(r13+-1)];
+ heap32[(g0)] = r12;
+ free(i7);
+}
+ r12 = r11 >> 2;
+ heap32[(r12)] = 0;
+}
+ r12 = 1;
+ r11 = r11 >> 2;
+ heap8[r0+24] = r12;
+ heap32[(r11)] = r10;
+ heap32[(r7+4)] = r9;
+ if(r8 >=r9) //_LBB256_21
+{
+break _3;
+}
+}
+_26: while(true){
+ r0 = r8 << 2;
+ r10 = heap32[(r7+5)];
+ r0 = (r10 + r0)|0;
+ r8 = (r8 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+if(!(r9 !=r8)) //_LBB256_20
+{
+break _3;
+}
+}
+}
+}
+} while(0);
+ heap32[(r7+3)] = r9;
+_29: do {
+if(!(r9 <1)) //_LBB256_27
+{
+ r0 = r1 == 0 ? r3 : r2;
+ r1 = 0;
+_31: while(true){
+ r2 = heap32[(r6+16)];
+ if(r2 ==0) //_LBB256_25
+{
+ r2 = (r1 * 20)|0;
+ r2 = r2 << 2;
+ r3 = heap32[(r6+6)];
+ r2 = (r3 + r2)|0;
+ r2 = r2 >> 2;
+ r3 = heap32[(r5+48)];
+ r2 = heap32[(r2+16)];
+ heap32[(r5+48)] = r2;
+ r2 = heap32[(r7+1)];
+ r8 = r2 >> 2;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ r10 = heap32[(r7+8)];
+ r11 = heap32[(r7+5)];
+ r12 = r1 << 2;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r10;
+ r2 = (r11 + r12)|0;
+ r2 = r2 >> 2;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ heap32[(r2)] = r_g0;
+ heap32[(r5+48)] = r3;
+}
+else{
+ r2 = r1 << 2;
+ r3 = heap32[(r7+5)];
+ r2 = (r3 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = 0;
+}
+ r1 = (r1 + 1)|0;
+if(!(r9 !=r1)) //_LBB256_23
+{
+break _29;
+}
+}
+}
+} while(0);
+ return;
+}
+else{
+ r0 = _2E_str99;
+ r1 = _2E_str1100;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 44;
+ _assert(i7);
+}
+}
+
+function _ZN28btCompoundCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+var __label__ = 0;
+ i7 = sp + -328;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heapU8[r0+28];
+ r4 = r3 == 0 ? r1 : r2;
+ r5 = r4 >> 2;
+ r6 = heap32[(r5+48)];
+ r6 = r6 >> 2;
+ r7 = heap32[(r6+1)];
+ if(r7 ==31) //_LBB257_2
+{
+ r7 = r0 >> 2;
+ r8 = heap32[(r6+17)];
+ r9 = heap32[(r7+10)];
+if(!(r8 ==r9)) //_LBB257_9
+{
+ r8 = heap32[(r7+3)];
+if(!(r8 <1)) //_LBB257_8
+{
+ r9 = 0;
+_7: while(true){
+ r10 = heap32[(r7+5)];
+ r11 = r9 << 2;
+ r10 = (r10 + r11)|0;
+ r10 = r10 >> 2;
+ r10 = heap32[(r10)];
+if(!(r10 ==0)) //_LBB257_7
+{
+ r12 = r10 >> 2;
+ r12 = heap32[(r12)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12)];
+ heap32[(g0)] = r10;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+ r10 = heap32[(r7+1)];
+ r12 = r10 >> 2;
+ r13 = heap32[(r7+5)];
+ r11 = (r13 + r11)|0;
+ r12 = heap32[(r12)];
+ r12 = r12 >> 2;
+ r11 = r11 >> 2;
+ r12 = heap32[(r12+13)];
+ r11 = heap32[(r11)];
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r11;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+}
+ r9 = (r9 + 1)|0;
+if(!(r8 !=r9)) //_LBB257_5
+{
+break _7;
+}
+}
+}
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ _ZN28btCompoundCollisionAlgorithm26preallocateChildAlgorithmsEP17btCollisionObjectS1_(i7);
+}
+ r0 = heap32[(fp+3)];
+ r8 = heap32[(fp+4)];
+ r1 = r3 == 0 ? r2 : r1;
+ r2 = _ZTV22btCompoundLeafCallback;
+ r3 = heap32[(r6+16)];
+ r9 = heap32[(r7+8)];
+ r10 = heap32[(r7+5)];
+ r11 = heap32[(r7+1)];
+ r12 = sp + -32;
+ r2 = (r2 + 8)|0;
+ r13 = r12 >> 2;
+ heap32[(fp+-8)] = r2;
+ heap32[(r13+1)] = r4;
+ heap32[(r13+2)] = r1;
+ heap32[(r13+3)] = r11;
+ heap32[(r13+4)] = r0;
+ heap32[(r13+5)] = r8;
+ heap32[(r13+6)] = r10;
+ r0 = sp + -56;
+ r2 = 1;
+ heap32[(r13+7)] = r9;
+ r4 = r0 >> 2;
+ heap8[sp+-40] = r2;
+ heap32[(r4+3)] = 0;
+ r9 = (r8 + 72)|0;
+ r10 = (r8 + 8)|0;
+ r11 = 0;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+_14: while(true){
+ r13 = heap32[(r7+3)];
+ if(r13 >r11) //_LBB257_10
+{
+ r13 = heap32[(r7+5)];
+ r14 = r11 << 2;
+ r13 = (r13 + r14)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+if(!(r13 ==0)) //_LBB257_27
+{
+ r14 = r13 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+4)];
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r0;
+ r13 = 0;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+_19: while(true){
+ r14 = heap32[(r4+3)];
+ r15 = heap32[(r4+1)];
+ if(r15 >r13) //_LBB257_12
+{
+ r15 = r13 << 2;
+ r14 = (r14 + r15)|0;
+ r14 = r14 >> 2;
+ r14 = heap32[(r14)];
+ r15 = r14 >> 2;
+ r16 = heap32[(r15+279)];
+if(!(r16 ==0)) //_LBB257_20
+{
+ r16 = r8 >> 2;
+ heap32[(r16+1)] = r14;
+ if(r14 !=0) //_LBB257_15
+{
+ r17 = heap32[(r15+279)];
+if(!(r17 ==0)) //_LBB257_19
+{
+ r15 = heap32[(r15+277)];
+ r17 = heap32[(r16+34)];
+ if(r15 ==r17) //_LBB257_18
+{
+ heap32[(g0)] = r14;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r9;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+}
+else{
+ heap32[(g0)] = r14;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r10;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+}
+}
+ heap32[(r16+1)] = 0;
+}
+else{
+__label__ = 14;
+break _14;
+}
+}
+ r13 = (r13 + 1)|0;
+}
+else{
+break _19;
+}
+}
+if(!(r14 ==0)) //_LBB257_26
+{
+ r13 = heapU8[sp+-40];
+if(!(r13 ==0)) //_LBB257_25
+{
+ r13 = gNumAlignedFree;
+ r13 = r13 >> 2;
+ r15 = heap32[(r13)];
+ r15 = (r15 + 1)|0;
+ r14 = r14 >> 2;
+ heap32[(r13)] = r15;
+ r13 = heap32[(r14+-1)];
+ heap32[(g0)] = r13;
+ free(i7);
+}
+ heap32[(r4+3)] = 0;
+}
+ r13 = 1;
+ heap8[sp+-40] = r13;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+}
+ r11 = (r11 + 1)|0;
+}
+else{
+__label__ = 29;
+break _14;
+}
+}
+switch(__label__ ){//multiple entries
+case 29:
+ heap8[sp+-40] = r2;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+_42: do {
+ if(r3 ==0) //_LBB257_31
+{
+ if(r13 <1) //_LBB257_50
+{
+__label__ = 49;
+}
+else{
+ r0 = 0;
+_45: while(true){
+ r3 = (r0 * 20)|0;
+ r4 = heap32[(r6+6)];
+ r3 = r3 << 2;
+ r3 = (r4 + r3)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+16)];
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r0;
+ r0 = (r0 + 1)|0;
+ _ZN22btCompoundLeafCallback17ProcessChildShapeEP16btCollisionShapei(i7);
+if(!(r13 !=r0)) //_LBB257_33
+{
+__label__ = 34;
+break _42;
+}
+}
+}
+}
+else{
+ r13 = r1 >> 2;
+ f0 = heapFloat[(r5+1)];
+ f1 = heapFloat[(r13+1)];
+ f2 = heapFloat[(r5+5)];
+ f3 = heapFloat[(r13+5)];
+ f4 = heapFloat[(r13+2)];
+ f5 = heapFloat[(r13+6)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r5+9)];
+ f9 = heapFloat[(r13+9)];
+ f10 = heapFloat[(r5+2)];
+ f11 = heapFloat[(r5+6)];
+ f12 = heapFloat[(r5+3)];
+ f13 = heapFloat[(r13+13)];
+ f14 = heapFloat[(r13+3)];
+ f15 = heapFloat[(r5+7)];
+ f16 = heapFloat[(r5+14)];
+ f17 = heapFloat[(r13+14)];
+ f18 = heapFloat[(r13+7)];
+ f19 = heapFloat[(r5+10)];
+ f20 = heapFloat[(r5+15)];
+ f21 = heapFloat[(r5+11)];
+ f22 = heapFloat[(r13+15)];
+ f23 = heapFloat[(r13+11)];
+ f24 = heapFloat[(r13+10)];
+ f25 = heapFloat[(r5+13)];
+ f26 = f4*f0;
+ f27 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ r0 = sp + -152;
+ f28 = f14*f0;
+ f29 = f18*f2;
+ f26 = f26+f27;
+ f27 = f24*f8;
+ f6 = f6+f7;
+ r4 = r0 >> 2;
+ f7 = f28+f29;
+ f28 = f23*f8;
+ f26 = f26+f27;
+ heapFloat[(fp+-38)] = f6;
+ f6 = f1*f10;
+ f27 = f3*f11;
+ f7 = f7+f28;
+ heapFloat[(r4+1)] = f26;
+ heapFloat[(r4+2)] = f7;
+ f7 = f4*f10;
+ f26 = f5*f11;
+ f6 = f6+f27;
+ f27 = f9*f19;
+ f28 = f14*f10;
+ f29 = f18*f11;
+ f7 = f7+f26;
+ f26 = f24*f19;
+ f6 = f6+f27;
+ heap32[(r4+3)] = 0;
+ f27 = f28+f29;
+ f28 = f23*f19;
+ f7 = f7+f26;
+ heapFloat[(r4+4)] = f6;
+ f1 = f1*f12;
+ f3 = f3*f15;
+ f6 = f27+f28;
+ heapFloat[(r4+5)] = f7;
+ heapFloat[(r4+6)] = f6;
+ f4 = f4*f12;
+ f5 = f5*f15;
+ f1 = f1+f3;
+ f3 = f9*f21;
+ f6 = -f25;
+ f7 = f14*f12;
+ f9 = f18*f15;
+ f4 = f4+f5;
+ f5 = f24*f21;
+ f1 = f1+f3;
+ heap32[(r4+7)] = 0;
+ f3 = f0*f13;
+ f14 = f2*f17;
+ f0 = f0*f6;
+ f2 = f2*f16;
+ f7 = f7+f9;
+ f9 = f23*f21;
+ f4 = f4+f5;
+ heapFloat[(r4+8)] = f1;
+ f1 = f10*f13;
+ f5 = f11*f17;
+ f10 = f10*f6;
+ f11 = f11*f16;
+ f3 = f3+f14;
+ f14 = f8*f22;
+ f0 = f0-f2;
+ f2 = f8*f20;
+ f7 = f7+f9;
+ heapFloat[(r4+9)] = f4;
+ heapFloat[(r4+10)] = f7;
+ f4 = f12*f13;
+ f7 = f15*f17;
+ f6 = f12*f6;
+ f8 = f15*f16;
+ f1 = f1+f5;
+ f5 = f19*f22;
+ f9 = f10-f11;
+ f10 = f19*f20;
+ f3 = f3+f14;
+ f0 = f0-f2;
+ f2 = f4+f7;
+ f4 = f21*f22;
+ f6 = f6-f8;
+ f7 = f21*f20;
+ f1 = f1+f5;
+ f5 = f9-f10;
+ f0 = f3+f0;
+ heap32[(r4+11)] = 0;
+ f2 = f2+f4;
+ f3 = f6-f7;
+ f1 = f1+f5;
+ heapFloat[(r4+12)] = f0;
+ f0 = f2+f3;
+ heapFloat[(r4+13)] = f1;
+ heapFloat[(r4+14)] = f0;
+ heap32[(r4+15)] = 0;
+ r13 = heap32[(r13+48)];
+ r4 = r13 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ r8 = sp + -72;
+ r9 = sp + -88;
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r9;
+ r13 = sp + -184;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r0 = r13 >> 2;
+ r4 = r8 >> 2;
+ heap32[(fp+-46)] = heap32[(fp+-18)];
+ heap32[(r0+1)] = heap32[(r4+1)];
+ heap32[(r0+2)] = heap32[(r4+2)];
+ heap32[(r0+3)] = heap32[(r4+3)];
+ r4 = r9 >> 2;
+ heap32[(r0+4)] = heap32[(fp+-22)];
+ heap32[(r0+5)] = heap32[(r4+1)];
+ heap32[(r0+6)] = heap32[(r4+2)];
+ r3 = r3 >> 2;
+ heap32[(r0+7)] = heap32[(r4+3)];
+ r0 = heap32[(r3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r13;
+ heap32[(g0+2)] = r12;
+ _ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(i7);
+__label__ = 34;
+}
+} while(0);
+_48: do {
+if (__label__ == 34){
+ r0 = heap32[(r7+3)];
+if(!(r0 <1)) //_LBB257_50
+{
+ r3 = 0;
+ r4 = (r1 + 4)|0;
+ r0 = (r3 - r0)|0;
+_51: while(true){
+ r8 = heap32[(r7+5)];
+ r9 = r3 << 2;
+ r8 = (r8 - r9)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+_53: do {
+if(!(r8 ==0)) //_LBB257_49
+{
+ r8 = (r3 * -20)|0;
+ r10 = heap32[(r6+6)];
+ r8 = r8 << 2;
+ r8 = (r10 + r8)|0;
+ r8 = r8 >> 2;
+ f0 = heapFloat[(r5+1)];
+ f1 = heapFloat[(r8)];
+ f2 = heapFloat[(r5+2)];
+ f3 = heapFloat[(r8+4)];
+ f4 = heapFloat[(r8+1)];
+ f5 = heapFloat[(r8+5)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r5+3)];
+ f9 = heapFloat[(r8+8)];
+ f10 = heapFloat[(r5+5)];
+ f11 = heapFloat[(r5+6)];
+ f12 = heapFloat[(r5+9)];
+ f13 = heapFloat[(r8+12)];
+ f14 = heapFloat[(r8+2)];
+ f15 = heapFloat[(r5+10)];
+ f16 = heapFloat[(r8+13)];
+ f17 = heapFloat[(r8+6)];
+ r10 = heap32[(r8+16)];
+ f18 = heapFloat[(r5+7)];
+ f19 = heapFloat[(r8+14)];
+ f20 = heapFloat[(r5+11)];
+ f21 = heapFloat[(r8+10)];
+ f22 = heapFloat[(r8+9)];
+ f23 = f4*f0;
+ f24 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ f25 = heapFloat[(r5+13)];
+ f26 = heapFloat[(r5+14)];
+ f27 = heapFloat[(r5+15)];
+ r8 = sp + -248;
+ f28 = f14*f0;
+ f29 = f17*f2;
+ f23 = f23+f24;
+ f24 = f22*f8;
+ f6 = f6+f7;
+ r11 = r8 >> 2;
+ f7 = f28+f29;
+ f28 = f21*f8;
+ f23 = f23+f24;
+ heapFloat[(fp+-62)] = f6;
+ f6 = f1*f10;
+ f24 = f3*f11;
+ f7 = f7+f28;
+ heapFloat[(r11+1)] = f23;
+ heapFloat[(r11+2)] = f7;
+ f7 = f4*f10;
+ f23 = f5*f11;
+ f6 = f6+f24;
+ f24 = f9*f18;
+ f28 = f14*f10;
+ f29 = f17*f11;
+ f7 = f7+f23;
+ f23 = f22*f18;
+ f6 = f6+f24;
+ heap32[(r11+3)] = 0;
+ f24 = f28+f29;
+ f28 = f21*f18;
+ f7 = f7+f23;
+ heapFloat[(r11+4)] = f6;
+ f1 = f1*f12;
+ f3 = f3*f15;
+ f6 = f24+f28;
+ heapFloat[(r11+5)] = f7;
+ heapFloat[(r11+6)] = f6;
+ f4 = f4*f12;
+ f5 = f5*f15;
+ f1 = f1+f3;
+ f3 = f9*f20;
+ f6 = f14*f12;
+ f7 = f17*f15;
+ f4 = f4+f5;
+ f5 = f22*f20;
+ f1 = f1+f3;
+ heap32[(r11+7)] = 0;
+ f0 = f0*f13;
+ f2 = f2*f16;
+ f3 = f6+f7;
+ f6 = f21*f20;
+ f4 = f4+f5;
+ heapFloat[(r11+8)] = f1;
+ f1 = f10*f13;
+ f5 = f11*f16;
+ f0 = f0+f2;
+ f2 = f8*f19;
+ f3 = f3+f6;
+ heapFloat[(r11+9)] = f4;
+ f0 = f0+f2;
+ heapFloat[(r11+10)] = f3;
+ f2 = f12*f13;
+ f3 = f15*f16;
+ f1 = f1+f5;
+ f4 = f18*f19;
+ f1 = f1+f4;
+ f2 = f2+f3;
+ f3 = f20*f19;
+ f0 = f0+f25;
+ heap32[(r11+11)] = 0;
+ f2 = f2+f3;
+ f1 = f1+f26;
+ heapFloat[(r11+12)] = f0;
+ f0 = f2+f27;
+ heapFloat[(r11+13)] = f1;
+ heapFloat[(r11+14)] = f0;
+ r12 = r10 >> 2;
+ heap32[(r11+15)] = 0;
+ r11 = heap32[(r12)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+2)];
+ r12 = sp + -264;
+ r13 = sp + -280;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = r13;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r8 = r1 >> 2;
+ r8 = heap32[(r8+48)];
+ r10 = r8 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+2)];
+ r11 = sp + -296;
+ r14 = sp + -312;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = r14;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ f0 = heapFloat[(fp+-66)];
+ f1 = heapFloat[(fp+-78)];
+ if(f0 >f1) //_LBB257_40
+{
+__label__ = 40;
+}
+else{
+ f0 = heapFloat[(fp+-70)];
+ f1 = heapFloat[(fp+-74)];
+ if(f0 <f1) //_LBB257_40
+{
+__label__ = 40;
+}
+else{
+ r8 = r2;
+__label__ = 41;
+}
+}
+if (__label__ == 40){
+ r8 = 0;
+}
+ r10 = r12 >> 2;
+ r12 = r14 >> 2;
+ f0 = heapFloat[(r10+2)];
+ f1 = heapFloat[(r12+2)];
+ if(f0 >f1) //_LBB257_44
+{
+__label__ = 43;
+}
+else{
+ r14 = r13 >> 2;
+ r15 = r11 >> 2;
+ f0 = heapFloat[(r14+2)];
+ f1 = heapFloat[(r15+2)];
+ if(f0 <f1) //_LBB257_44
+{
+__label__ = 43;
+}
+else{
+__label__ = 44;
+}
+}
+if (__label__ == 43){
+ r8 = 0;
+}
+ f0 = heapFloat[(r10+1)];
+ f1 = heapFloat[(r12+1)];
+if(!(f0 >f1)) //_LBB257_48
+{
+ r10 = r13 >> 2;
+ r11 = r11 >> 2;
+ f0 = heapFloat[(r10+1)];
+ f1 = heapFloat[(r11+1)];
+if(!(f0 <f1)) //_LBB257_48
+{
+ r8 = r8 & 255;
+ if(r8 !=0) //_LBB257_49
+{
+break _53;
+}
+}
+}
+ r8 = heap32[(r7+5)];
+ r8 = (r8 - r9)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+ r10 = r8 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10)];
+ heap32[(g0)] = r8;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r8 = heap32[(r7+1)];
+ r10 = r8 >> 2;
+ r11 = heap32[(r7+5)];
+ r11 = (r11 - r9)|0;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r11 = r11 >> 2;
+ r10 = heap32[(r10+13)];
+ r11 = heap32[(r11)];
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r11;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r8 = heap32[(r7+5)];
+ r8 = (r8 - r9)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = 0;
+}
+} while(0);
+ r3 = (r3 + -1)|0;
+if(!(r0 !=r3)) //_LBB257_36
+{
+break _48;
+}
+}
+}
+}
+} while(0);
+ return;
+break;
+case 14:
+ r14 = _2E_str59;
+ r0 = _2E_str160;
+ heap32[(g0)] = r14;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 101;
+ _assert(i7);
+break;
+}
+}
+else{
+ r0 = _2E_str99;
+ r1 = _2E_str1100;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 199;
+ _assert(i7);
+}
+}
+
+function _ZN28btCompoundCollisionAlgorithmD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV28btCompoundCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+3)];
+if(!(r1 <1)) //_LBB258_5
+{
+ r3 = 0;
+_3: while(true){
+ r4 = heap32[(r2+5)];
+ r5 = r3 << 2;
+ r4 = (r4 + r5)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+if(!(r4 ==0)) //_LBB258_4
+{
+ r6 = r4 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r4 = heap32[(r2+1)];
+ r6 = r4 >> 2;
+ r7 = heap32[(r2+5)];
+ r5 = (r7 + r5)|0;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r5 = r5 >> 2;
+ r6 = heap32[(r6+13)];
+ r5 = heap32[(r5)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+}
+ r3 = (r3 + 1)|0;
+ if(r1 !=r3) //_LBB258_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r1 = heap32[(r2+5)];
+if(!(r1 ==0)) //_LBB258_9
+{
+ r3 = heapU8[r0+24];
+if(!(r3 ==0)) //_LBB258_8
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+5)] = 0;
+}
+ r1 = 1;
+ heap8[r0+24] = r1;
+ heap32[(r2+5)] = 0;
+ r1 = _ZTV30btActivatingCollisionAlgorithm;
+ heap32[(r2+3)] = 0;
+ r1 = (r1 + 8)|0;
+ heap32[(r2+4)] = 0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN28btCompoundCollisionAlgorithmD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV28btCompoundCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+3)];
+if(!(r1 <1)) //_LBB259_5
+{
+ r3 = 0;
+_3: while(true){
+ r4 = heap32[(r2+5)];
+ r5 = r3 << 2;
+ r4 = (r4 + r5)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+if(!(r4 ==0)) //_LBB259_4
+{
+ r6 = r4 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r4 = heap32[(r2+1)];
+ r6 = r4 >> 2;
+ r7 = heap32[(r2+5)];
+ r5 = (r7 + r5)|0;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r5 = r5 >> 2;
+ r6 = heap32[(r6+13)];
+ r5 = heap32[(r5)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+}
+ r3 = (r3 + 1)|0;
+ if(r1 !=r3) //_LBB259_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r1 = heap32[(r2+5)];
+if(!(r1 ==0)) //_LBB259_9
+{
+ r3 = heapU8[r0+24];
+if(!(r3 ==0)) //_LBB259_8
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+5)] = 0;
+}
+ r1 = 1;
+ heap8[r0+24] = r1;
+ heap32[(r2+5)] = 0;
+ r0 = _ZTV30btActivatingCollisionAlgorithm;
+ heap32[(r2+3)] = 0;
+ r0 = (r0 + 8)|0;
+ heap32[(r2+4)] = 0;
+ heap32[(r2)] = r0;
+ return;
+}
+
+function _ZNK21btConvexInternalShape15getLocalScalingEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = (r0 + 12)|0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN21btConvexInternalShape9setMarginEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ heap32[(r0+11)] = heap32[(fp+1)];
+ return;
+}
+
+function _ZNK21btConvexInternalShape9getMarginEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var f0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+11)];
+ f_g0 = f0;
+ return;
+}
+
+function _ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 52;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK15btTriangleShape14getNumVerticesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 3;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK15btTriangleShape9getVertexEiR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r0 = r0 << 4;
+ r2 = heap32[(fp+2)];
+ r0 = (r1 + r0)|0;
+ r1 = r2 >> 2;
+ r0 = r0 >> 2;
+ heap32[(r1)] = heap32[(r0+13)];
+ heap32[(r1+1)] = heap32[(r0+14)];
+ heap32[(r1+2)] = heap32[(r0+15)];
+ heap32[(r1+3)] = heap32[(r0+16)];
+ return;
+}
+
+function _ZNK15btTriangleShape11getNumEdgesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 3;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK15btTriangleShape7getEdgeEiR9btVector3S1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+24)];
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+24)];
+ r2 = (r3 + 1)|0;
+ r2 = (r2 % 3)|0;
+ r3 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZNK15btTriangleShape7getAabbERK11btTransformR9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+18)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+2)];
+ r2 = r0 >> 2;
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r2+13)];
+ f1 = heapFloat[(r1)];
+ f2 = heapFloat[(r2+17)];
+ f3 = heapFloat[(r2+21)];
+ f4 = heapFloat[(r2+14)];
+ f5 = heapFloat[(r1+1)];
+ f6 = heapFloat[(r2+18)];
+ f7 = heapFloat[(r2+22)];
+ f0 = f1*f0;
+ f4 = f5*f4;
+ f8 = heapFloat[(r2+15)];
+ f9 = heapFloat[(r1+2)];
+ f10 = heapFloat[(r2+19)];
+ f11 = heapFloat[(r2+23)];
+ f2 = f1*f2;
+ f6 = f5*f6;
+ f1 = f1*f3;
+ f3 = f5*f7;
+ f0 = f0+f4;
+ f4 = f9*f8;
+ f2 = f2+f6;
+ f5 = f9*f10;
+ f1 = f1+f3;
+ f3 = f9*f11;
+ f0 = f0+f4;
+ f2 = f2+f5;
+ r1 = heap32[(fp)];
+ f1 = f1+f3;
+ if(f0 >=f2) //_LBB269_2
+{
+ r2 = 2;
+ r3 = 0;
+ r2 = f0 < f1 ? r2 : r3;
+}
+else{
+ r2 = 2;
+ r3 = 1;
+ r2 = f2 < f1 ? r2 : r3;
+}
+ r2 = r2 << 4;
+ r0 = (r0 + r2)|0;
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ heap32[(r1)] = heap32[(r0+13)];
+ heap32[(r1+1)] = heap32[(r0+14)];
+ heap32[(r1+2)] = heap32[(r0+15)];
+ heap32[(r1+3)] = heap32[(r0+16)];
+ return;
+}
+
+function _ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+if(!(r0 <1)) //_LBB270_6
+{
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r2 = (r2 + 8)|0;
+ r3 = (r3 + 12)|0;
+_3: while(true){
+ r4 = r1 >> 2;
+ r5 = r2 >> 2;
+ f0 = heapFloat[(r4+13)];
+ f1 = heapFloat[(r5+-2)];
+ f2 = heapFloat[(r4+17)];
+ f3 = heapFloat[(r4+21)];
+ f4 = heapFloat[(r4+14)];
+ f5 = heapFloat[(r5+-1)];
+ f6 = heapFloat[(r4+18)];
+ f7 = heapFloat[(r4+22)];
+ f0 = f1*f0;
+ f4 = f5*f4;
+ f8 = heapFloat[(r4+15)];
+ f9 = heapFloat[(r5)];
+ f10 = heapFloat[(r4+19)];
+ f11 = heapFloat[(r4+23)];
+ f2 = f1*f2;
+ f6 = f5*f6;
+ f1 = f1*f3;
+ f3 = f5*f7;
+ f0 = f0+f4;
+ f4 = f9*f8;
+ f2 = f2+f6;
+ f5 = f9*f10;
+ f1 = f1+f3;
+ f3 = f9*f11;
+ f0 = f0+f4;
+ f2 = f2+f5;
+ f1 = f1+f3;
+ if(f0 >=f2) //_LBB270_4
+{
+ r4 = 2;
+ r5 = 0;
+ r4 = f0 < f1 ? r4 : r5;
+}
+else{
+ r4 = 2;
+ r5 = 1;
+ r4 = f2 < f1 ? r4 : r5;
+}
+ r4 = r4 << 4;
+ r4 = (r1 + r4)|0;
+ r5 = r3 >> 2;
+ r4 = r4 >> 2;
+ heap32[(r5+-3)] = heap32[(r4+13)];
+ heap32[(r5+-2)] = heap32[(r4+14)];
+ r0 = (r0 + -1)|0;
+ r2 = (r2 + 16)|0;
+ r3 = (r3 + 16)|0;
+ heap32[(r5+-1)] = heap32[(r4+15)];
+ heap32[(r5)] = heap32[(r4+16)];
+ if(r0 !=0) //_LBB270_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZNK15btTriangleShape8getPlaneER9btVector3S1_i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+28)];
+ r2 = heap32[(fp+3)];
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZNK15btTriangleShape12getNumPlanesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK15btTriangleShape7getNameEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _2E_str109;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 2;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN24btConvexTriangleCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV24btConvexTriangleCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ r1 = heap32[(r0+12)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+5)];
+ r3 = heap32[(r0+16)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = heap32[(r0+12)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ r3 = heap32[(r0+16)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ r1 = _ZTV18btTriangleCallback;
+ r1 = (r1 + 8)|0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN24btConvexTriangleCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV24btConvexTriangleCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+12)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+5)];
+ r4 = heap32[(r2+16)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+12)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ r4 = heap32[(r2+16)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ r1 = _ZTV18btTriangleCallback;
+ r1 = (r1 + 8)|0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN24btConvexTriangleCallback15processTriangleEP9btVector3ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+var __label__ = 0;
+ i7 = sp + -240;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+13)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(r0+12)];
+ r4 = heap32[(r0+2)];
+if(!(r1 ==0)) //_LBB277_4
+{
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+if(!(r1 ==0)) //_LBB277_4
+{
+ r5 = r1 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+12)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r1 = r_g0 & 1;
+if(!(r1 ==0)) //_LBB277_4
+{
+ r1 = sp + -112;
+ r5 = r1 >> 2;
+ heap32[(fp+-28)] = 1065353216;
+ heap32[(r5+1)] = 1065353216;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+ r5 = heap32[(r0+13)];
+ r5 = r5 >> 2;
+ r6 = r4 >> 2;
+ r7 = r2 >> 2;
+ r8 = heap32[(r5+5)];
+ r8 = r8 >> 2;
+ f0 = heapFloat[(r7+4)];
+ f1 = heapFloat[(r6+1)];
+ f2 = heapFloat[(r7+5)];
+ f3 = heapFloat[(r6+2)];
+ r8 = heap32[(r8)];
+ f4 = heapFloat[(r6+5)];
+ f5 = heapFloat[(r6+6)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r7+6)];
+ f7 = heapFloat[(r6+3)];
+ r8 = r8 >> 2;
+ f8 = heapFloat[(r6+9)];
+ f9 = heapFloat[(r6+10)];
+ f10 = heapFloat[(r6+7)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r6+11)];
+ r8 = heap32[(r8+2)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r6+13)];
+ f8 = heapFloat[(r6+15)];
+ f9 = heapFloat[(r6+14)];
+ r9 = sp + -96;
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ r10 = r9 >> 2;
+ f2 = f4+f9;
+ heapFloat[(fp+-24)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r10+1)] = f2;
+ heapFloat[(r10+2)] = f0;
+ heap32[(r10+3)] = 0;
+ f0 = heapFloat[(r7)];
+ f1 = heapFloat[(r6+1)];
+ f2 = heapFloat[(r7+1)];
+ f3 = heapFloat[(r6+2)];
+ f4 = heapFloat[(r6+5)];
+ f5 = heapFloat[(r6+6)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r7+2)];
+ f7 = heapFloat[(r6+3)];
+ f8 = heapFloat[(r6+9)];
+ f9 = heapFloat[(r6+10)];
+ f10 = heapFloat[(r6+7)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r6+11)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r6+13)];
+ f8 = heapFloat[(r6+15)];
+ f9 = heapFloat[(r6+14)];
+ r10 = sp + -80;
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ r11 = r10 >> 2;
+ f2 = f4+f9;
+ heapFloat[(fp+-20)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r11+1)] = f2;
+ heapFloat[(r11+2)] = f0;
+ heap32[(r11+3)] = 0;
+ r5 = heap32[(r5+5)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r1;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r5 = heap32[(r0+13)];
+ r5 = r5 >> 2;
+ r8 = heap32[(r5+5)];
+ r8 = r8 >> 2;
+ f0 = heapFloat[(r7+8)];
+ f1 = heapFloat[(r6+1)];
+ f2 = heapFloat[(r7+9)];
+ f3 = heapFloat[(r6+2)];
+ r8 = heap32[(r8)];
+ f4 = heapFloat[(r6+5)];
+ f5 = heapFloat[(r6+6)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r7+10)];
+ f7 = heapFloat[(r6+3)];
+ r8 = r8 >> 2;
+ f8 = heapFloat[(r6+9)];
+ f9 = heapFloat[(r6+10)];
+ f10 = heapFloat[(r6+7)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r6+11)];
+ r8 = heap32[(r8+2)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r6+13)];
+ f8 = heapFloat[(r6+15)];
+ f9 = heapFloat[(r6+14)];
+ r9 = sp + -64;
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ r10 = r9 >> 2;
+ f2 = f4+f9;
+ heapFloat[(fp+-16)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r10+1)] = f2;
+ heapFloat[(r10+2)] = f0;
+ heap32[(r10+3)] = 0;
+ f0 = heapFloat[(r7+4)];
+ f1 = heapFloat[(r6+1)];
+ f2 = heapFloat[(r7+5)];
+ f3 = heapFloat[(r6+2)];
+ f4 = heapFloat[(r6+5)];
+ f5 = heapFloat[(r6+6)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r7+6)];
+ f7 = heapFloat[(r6+3)];
+ f8 = heapFloat[(r6+9)];
+ f9 = heapFloat[(r6+10)];
+ f10 = heapFloat[(r6+7)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r6+11)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r6+13)];
+ f8 = heapFloat[(r6+15)];
+ f9 = heapFloat[(r6+14)];
+ r10 = sp + -48;
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ r11 = r10 >> 2;
+ f2 = f4+f9;
+ heapFloat[(fp+-12)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r11+1)] = f2;
+ heapFloat[(r11+2)] = f0;
+ heap32[(r11+3)] = 0;
+ r5 = heap32[(r5+5)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r1;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r5 = heap32[(r0+13)];
+ r5 = r5 >> 2;
+ r8 = heap32[(r5+5)];
+ r8 = r8 >> 2;
+ f0 = heapFloat[(r7)];
+ f1 = heapFloat[(r6+1)];
+ f2 = heapFloat[(r7+1)];
+ f3 = heapFloat[(r6+2)];
+ r8 = heap32[(r8)];
+ f4 = heapFloat[(r6+5)];
+ f5 = heapFloat[(r6+6)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r7+2)];
+ f7 = heapFloat[(r6+3)];
+ r8 = r8 >> 2;
+ f8 = heapFloat[(r6+9)];
+ f9 = heapFloat[(r6+10)];
+ f10 = heapFloat[(r6+7)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r6+11)];
+ r8 = heap32[(r8+2)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r6+13)];
+ f8 = heapFloat[(r6+15)];
+ f9 = heapFloat[(r6+14)];
+ r9 = sp + -32;
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ r10 = r9 >> 2;
+ f2 = f4+f9;
+ heapFloat[(fp+-8)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r10+1)] = f2;
+ heapFloat[(r10+2)] = f0;
+ heap32[(r10+3)] = 0;
+ f0 = heapFloat[(r7+8)];
+ f1 = heapFloat[(r6+1)];
+ f2 = heapFloat[(r7+9)];
+ f3 = heapFloat[(r6+2)];
+ f4 = heapFloat[(r6+5)];
+ f5 = heapFloat[(r6+6)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r7+10)];
+ f7 = heapFloat[(r6+3)];
+ f8 = heapFloat[(r6+9)];
+ f9 = heapFloat[(r6+10)];
+ f10 = heapFloat[(r6+7)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r6+11)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r6+13)];
+ f8 = heapFloat[(r6+15)];
+ f9 = heapFloat[(r6+14)];
+ r6 = sp + -16;
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ r7 = r6 >> 2;
+ f2 = f4+f9;
+ heapFloat[(fp+-4)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r7+1)] = f2;
+ heapFloat[(r7+2)] = f0;
+ heap32[(r7+3)] = 0;
+ r5 = heap32[(r5+5)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r1;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+}
+}
+}
+ r1 = heap32[(r0+1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+48)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+1)];
+if(!(r1 >19)) //_LBB277_9
+{
+ r1 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ r6 = sp + -216;
+ r7 = r6 >> 2;
+ heap32[(r7+2)] = 0;
+ heap32[(r7+3)] = 1065353216;
+ heap32[(r7+4)] = 1065353216;
+ r8 = _ZTV15btTriangleShape;
+ heap32[(r7+5)] = 1065353216;
+ r8 = (r8 + 8)|0;
+ heap32[(r7+6)] = 0;
+ heap32[(fp+-54)] = r8;
+ r2 = r2 >> 2;
+ heap32[(r7+1)] = 1;
+ heap32[(r7+13)] = heap32[(r2)];
+ heap32[(r7+14)] = heap32[(r2+1)];
+ heap32[(r7+15)] = heap32[(r2+2)];
+ heap32[(r7+16)] = heap32[(r2+3)];
+ heap32[(r7+17)] = heap32[(r2+4)];
+ heap32[(r7+18)] = heap32[(r2+5)];
+ heap32[(r7+19)] = heap32[(r2+6)];
+ heap32[(r7+20)] = heap32[(r2+7)];
+ heap32[(r7+21)] = heap32[(r2+8)];
+ heap32[(r7+22)] = heap32[(r2+9)];
+ heap32[(r7+23)] = heap32[(r2+10)];
+ heap32[(r7+24)] = heap32[(r2+11)];
+ r2 = r4 >> 2;
+ heap32[(r7+11)] = heap32[(r0+14)];
+ r4 = heap32[(r2+48)];
+ heap32[(r2+48)] = r6;
+ r6 = r3 >> 2;
+ r7 = heap32[(r6)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+2)];
+ r8 = heap32[(r0+16)];
+ r9 = heap32[(r0+2)];
+ r10 = heap32[(r0+1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r8;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r7 = r_g0;
+ r8 = heap32[(r0+11)];
+ r9 = r8 >> 2;
+ r10 = heap32[(r9)];
+ r9 = heap32[(r9+34)];
+ r11 = heap32[(r0+2)];
+ if(r9 !=r11) //_LBB277_7
+{
+ r9 = r10 >> 2;
+ r9 = heap32[(r9+3)];
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r5;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+}
+else{
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+2)];
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r5;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+}
+ r1 = r7 >> 2;
+ r5 = heap32[(r1)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+2)];
+ r8 = heap32[(r0+11)];
+ r9 = heap32[(r0+13)];
+ r10 = heap32[(r0+2)];
+ r0 = heap32[(r0+1)];
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r9;
+ heap32[(g0+4)] = r8;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r0 = heap32[(r1)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ heap32[(g0)] = r7;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ r0 = heap32[(r6)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+13)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r7;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ heap32[(r2+48)] = r4;
+}
+ return;
+}
+
+function _ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallback15processTriangleEP9btVector3ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -800;var g0 = i7>>2; // save stack
+ r0 = sp + -64;
+ r1 = r0 >> 2;
+ heap32[(fp+-16)] = 1065353216;
+ heap32[(r1+1)] = 0;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 0;
+ heap32[(r1+4)] = 0;
+ heap32[(r1+5)] = 1065353216;
+ heap32[(r1+6)] = 0;
+ heap32[(r1+7)] = 0;
+ heap32[(r1+8)] = 0;
+ heap32[(r1+9)] = 0;
+ heap32[(r1+10)] = 1065353216;
+ heap32[(r1+11)] = 0;
+ heap32[(r1+12)] = 0;
+ heap32[(r1+13)] = 0;
+ r2 = _ZTVN12btConvexCast10CastResultE;
+ heap32[(r1+14)] = 0;
+ r3 = sp + -240;
+ r2 = (r2 + 8)|0;
+ heap32[(r1+15)] = 0;
+ r1 = r3 >> 2;
+ heap32[(fp+-60)] = r2;
+ r2 = heap32[(fp)];
+ heap32[(r1+42)] = 0;
+ r4 = r2 >> 2;
+ heap32[(r1+43)] = 0;
+ r5 = sp + -296;
+ heap32[(r1+41)] = heap32[(r4+50)];
+ r6 = r5 >> 2;
+ f0 = heapFloat[(r4+49)];
+ heap32[(r6+2)] = 0;
+ heap32[(r6+3)] = 1065353216;
+ heap32[(r6+4)] = 1065353216;
+ r7 = _ZTV13btSphereShape;
+ heap32[(r6+5)] = 1065353216;
+ r7 = (r7 + 8)|0;
+ heap32[(r6+6)] = 0;
+ heap32[(fp+-74)] = r7;
+ heap32[(r6+1)] = 8;
+ r7 = sp + -400;
+ heapFloat[(r6+7)] = f0;
+ r8 = r7 >> 2;
+ heapFloat[(r6+11)] = f0;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 1065353216;
+ heap32[(r8+4)] = 1065353216;
+ heap32[(r8+5)] = 1065353216;
+ r6 = _ZTV15btTriangleShape;
+ heap32[(r8+6)] = 0;
+ r6 = (r6 + 8)|0;
+ heap32[(r8+11)] = 1025758986;
+ r9 = heap32[(fp+1)];
+ heap32[(fp+-100)] = r6;
+ r6 = r9 >> 2;
+ heap32[(r8+1)] = 1;
+ heap32[(r8+13)] = heap32[(r6)];
+ heap32[(r8+14)] = heap32[(r6+1)];
+ heap32[(r8+15)] = heap32[(r6+2)];
+ heap32[(r8+16)] = heap32[(r6+3)];
+ heap32[(r8+17)] = heap32[(r6+4)];
+ heap32[(r8+18)] = heap32[(r6+5)];
+ heap32[(r8+19)] = heap32[(r6+6)];
+ heap32[(r8+20)] = heap32[(r6+7)];
+ heap32[(r8+21)] = heap32[(r6+8)];
+ heap32[(r8+22)] = heap32[(r6+9)];
+ r9 = sp + -760;
+ heap32[(r8+23)] = heap32[(r6+10)];
+ r10 = r9 >> 2;
+ heap32[(r8+24)] = heap32[(r6+11)];
+ r6 = _ZTV22btSubsimplexConvexCast;
+ r8 = 0;
+ heap32[(r10+77)] = 953267991;
+ r10 = sp + -776;
+ r6 = (r6 + 8)|0;
+ heap8[sp+-428] = r8;
+ r8 = r10 >> 2;
+ heap32[(fp+-194)] = r6;
+ heap32[(r8+1)] = r9;
+ heap32[(r8+2)] = r5;
+ heap32[(r8+3)] = r7;
+ r5 = (r2 + 4)|0;
+ r2 = (r2 + 68)|0;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r0;
+ heap32[(g0+4)] = r0;
+ heap32[(g0+5)] = r3;
+ _ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB280_3
+{
+ f0 = heapFloat[(r1+41)];
+ f1 = heapFloat[(r4+50)];
+if(!(f1 <=f0)) //_LBB280_3
+{
+ heapFloat[(r4+50)] = f0;
+}
+}
+ return;
+}
+
+function _ZN15btTriangleShapeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13btConvexShape;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN15btTriangleShapeD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13btConvexShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+if(!(r0 ==0)) //_LBB282_2
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _2E_str10;
+ r1 = _2E_str3112;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 125;
+ _assert(i7);
+}
+
+function _ZNK21btConvexInternalShape9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+10)];
+ r3 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ r5 = heap32[(fp+1)];
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r4;
+if(!(r4 ==0)) //_LBB284_2
+{
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+12)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+ r0 = r3 >> 2;
+ r1 = heap32[(r0+1)];
+ heap32[(r5+1)] = r1;
+ heap32[(r5+7)] = heap32[(r0+7)];
+ heap32[(r5+8)] = heap32[(r0+8)];
+ heap32[(r5+9)] = heap32[(r0+9)];
+ heap32[(r5+10)] = heap32[(r0+10)];
+ heap32[(r5+3)] = heap32[(r0+3)];
+ heap32[(r5+4)] = heap32[(r0+4)];
+ heap32[(r5+5)] = heap32[(r0+5)];
+ heap32[(r5+6)] = heap32[(r0+6)];
+ heap32[(r5+11)] = heap32[(r0+11)];
+ r0 = _2E_str1110;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+23)];
+ f1 = heapFloat[(r0+15)];
+ f2 = heapFloat[(r0+19)];
+ f3 = heapFloat[(r0+22)];
+ f4 = heapFloat[(r0+14)];
+ f5 = heapFloat[(r0+18)];
+ f5 = f5-f4;
+ f0 = f0-f1;
+ f1 = f2-f1;
+ f2 = f3-f4;
+ f3 = heapFloat[(r0+21)];
+ f4 = heapFloat[(r0+13)];
+ f6 = heapFloat[(r0+17)];
+ f3 = f3-f4;
+ f4 = f6-f4;
+ r0 = heap32[(fp+2)];
+ f6 = f5*f0;
+ f7 = f1*f2;
+ f6 = f6-f7;
+ f1 = f1*f3;
+ f0 = f4*f0;
+ r0 = r0 >> 2;
+ f0 = f1-f0;
+ heapFloat[(r0)] = f6;
+ f1 = f4*f2;
+ f2 = f5*f3;
+ f1 = f1-f2;
+ heapFloat[(r0+1)] = f0;
+ heapFloat[(r0+2)] = f1;
+ f2 = f6*f6;
+ f0 = f0*f0;
+ heap32[(r0+3)] = 0;
+ f0 = f2+f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = 1;
+ f0 = f1/f_g0;
+ f1 = heapFloat[(r0)];
+ f1 = f1*f0;
+ heapFloat[(r0)] = f1;
+ f2 = heapFloat[(r0+1)];
+ f2 = f2*f0;
+ heapFloat[(r0+1)] = f2;
+ f3 = heapFloat[(r0+2)];
+ f0 = f3*f0;
+ heapFloat[(r0+2)] = f0;
+ r1 = heap32[(fp+1)];
+if(!(r1 ==0)) //_LBB285_2
+{
+ f1 = -f1;
+ f2 = -f2;
+ heapFloat[(r0)] = f1;
+ f0 = -f0;
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f0;
+}
+ return;
+}
+
+function _ZNK15btTriangleShape8isInsideERK9btVector3f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ f0 = heapFloat[(r1+19)];
+ f1 = heapFloat[(r1+15)];
+ f2 = heapFloat[(r1+23)];
+ f3 = heapFloat[(r1+17)];
+ f4 = heapFloat[(r1+13)];
+ f5 = heapFloat[(r1+21)];
+ f6 = heapFloat[(r1+22)];
+ f7 = heapFloat[(r1+14)];
+ f8 = heapFloat[(r1+18)];
+ f0 = f0-f1;
+ f6 = f6-f7;
+ f3 = f3-f4;
+ f1 = f2-f1;
+ f2 = f8-f7;
+ f4 = f5-f4;
+ f5 = f2*f1;
+ f7 = f0*f6;
+ f0 = f0*f4;
+ f1 = f3*f1;
+ f5 = f5-f7;
+ f0 = f0-f1;
+ f1 = f3*f6;
+ f2 = f2*f4;
+ f1 = f1-f2;
+ f2 = f5*f5;
+ f3 = f0*f0;
+ f2 = f2+f3;
+ f3 = f1*f1;
+ f2 = f2+f3;
+ heapFloat[(g0)] = f2;
+ sqrtf(i7);
+ r2 = heap32[(fp+1)];
+ f3 = 1;
+ r2 = r2 >> 2;
+ f2 = f3/f_g0;
+ f4 = f5*f2;
+ f5 = heapFloat[(r2)];
+ f6 = heapFloat[(r1+13)];
+ f0 = f0*f2;
+ f7 = heapFloat[(r2+1)];
+ f8 = heapFloat[(r1+14)];
+ f1 = f1*f2;
+ f2 = heapFloat[(r2+2)];
+ f9 = heapFloat[(r1+15)];
+ f5 = f5*f4;
+ f7 = f7*f0;
+ f6 = f6*f4;
+ f8 = f8*f0;
+ f5 = f5+f7;
+ f2 = f2*f1;
+ f6 = f6+f8;
+ f7 = f9*f1;
+ f8 = heapFloat[(fp+2)];
+ f2 = f5+f2;
+ f5 = f6+f7;
+ f2 = f2-f5;
+ f5 = -f8;
+_1: do {
+ if(f2 <f5) //_LBB286_2
+{
+__label__ = 2;
+}
+else{
+ if(f2 <=f8) //_LBB286_3
+{
+ r3 = 0;
+_4: while(true){
+ if(r3 <3) //_LBB286_4
+{
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+23)];
+ r5 = sp + -32;
+ r6 = sp + -16;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r5;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r5 >> 2;
+ r5 = r6 >> 2;
+ f2 = heapFloat[(r4+2)];
+ f6 = heapFloat[(r5+2)];
+ f7 = heapFloat[(r4+1)];
+ f8 = heapFloat[(r5+1)];
+ f9 = heapFloat[(fp+-8)];
+ f10 = heapFloat[(fp+-4)];
+ f2 = f2-f6;
+ f6 = f9-f10;
+ f7 = f7-f8;
+ f8 = f7*f1;
+ f9 = f2*f0;
+ f2 = f2*f4;
+ f10 = f6*f1;
+ f8 = f8-f9;
+ f2 = f2-f10;
+ f6 = f6*f0;
+ f7 = f7*f4;
+ f6 = f6-f7;
+ f7 = f8*f8;
+ f9 = f2*f2;
+ f7 = f7+f9;
+ f9 = f6*f6;
+ f7 = f7+f9;
+ heapFloat[(g0)] = f7;
+ sqrtf(i7);
+ f7 = f3/f_g0;
+ f9 = heapFloat[(r2)];
+ f8 = f8*f7;
+ f10 = heapFloat[(fp+-4)];
+ f11 = heapFloat[(r2+1)];
+ f2 = f2*f7;
+ f12 = heapFloat[(r5+1)];
+ f9 = f9*f8;
+ f11 = f11*f2;
+ f13 = heapFloat[(r2+2)];
+ f6 = f6*f7;
+ f7 = heapFloat[(r5+2)];
+ f8 = f10*f8;
+ f2 = f12*f2;
+ f9 = f9+f11;
+ f10 = f13*f6;
+ f2 = f8+f2;
+ f6 = f7*f6;
+ f7 = f9+f10;
+ f2 = f2+f6;
+ f2 = f7-f2;
+ if(f2 <f5) //_LBB286_2
+{
+__label__ = 2;
+break _1;
+}
+else{
+ r3 = (r3 + 1)|0;
+}
+}
+else{
+break _4;
+}
+}
+ r0 = 1;
+__label__ = 8;
+}
+else{
+__label__ = 2;
+}
+}
+} while(0);
+if (__label__ == 2){
+ r0 = 0;
+}
+ r0 = r0 & 255;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+23)];
+ f1 = heapFloat[(r0+15)];
+ f2 = heapFloat[(r0+19)];
+ f3 = heapFloat[(r0+22)];
+ f4 = heapFloat[(r0+14)];
+ f5 = heapFloat[(r0+18)];
+ f5 = f5-f4;
+ f0 = f0-f1;
+ f1 = f2-f1;
+ f2 = f3-f4;
+ f3 = heapFloat[(r0+21)];
+ f4 = heapFloat[(r0+13)];
+ f6 = heapFloat[(r0+17)];
+ f3 = f3-f4;
+ f4 = f6-f4;
+ r1 = heap32[(fp+2)];
+ f6 = f5*f0;
+ f7 = f1*f2;
+ f6 = f6-f7;
+ r1 = r1 >> 2;
+ f1 = f1*f3;
+ f0 = f4*f0;
+ f0 = f1-f0;
+ heapFloat[(r1)] = f6;
+ f1 = f4*f2;
+ f2 = f5*f3;
+ f1 = f1-f2;
+ heapFloat[(r1+1)] = f0;
+ heapFloat[(r1+2)] = f1;
+ f2 = f6*f6;
+ f0 = f0*f0;
+ heap32[(r1+3)] = 0;
+ f0 = f2+f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = 1;
+ f0 = f1/f_g0;
+ f1 = heapFloat[(r1)];
+ f1 = f1*f0;
+ heapFloat[(r1)] = f1;
+ f1 = heapFloat[(r1+1)];
+ f1 = f1*f0;
+ heapFloat[(r1+1)] = f1;
+ f1 = heapFloat[(r1+2)];
+ r2 = heap32[(fp+3)];
+ f0 = f1*f0;
+ r2 = r2 >> 2;
+ heapFloat[(r1+2)] = f0;
+ heap32[(r2)] = heap32[(r0+13)];
+ heap32[(r2+1)] = heap32[(r0+14)];
+ heap32[(r2+2)] = heap32[(r0+15)];
+ heap32[(r2+3)] = heap32[(r0+16)];
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -440;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = heapU8[r0+8];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = r0 == 0 ? r1 : r2;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r3+30)];
+ f1 = heapFloat[(r3+14)];
+ f2 = heapFloat[(r3+29)];
+ f3 = heapFloat[(r3+13)];
+ f4 = f2-f3;
+ f5 = f0-f1;
+ f6 = heapFloat[(r3+31)];
+ f7 = heapFloat[(r3+15)];
+ f8 = f6-f7;
+ f4 = f4*f4;
+ f5 = f5*f5;
+ f9 = heapFloat[(r3+62)];
+ f4 = f4+f5;
+ f5 = f8*f8;
+ f8 = f9*f9;
+ f4 = f4+f5;
+if(!(f8 >f4)) //_LBB288_23
+{
+ r0 = r0 == 0 ? r2 : r1;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+48)];
+ r2 = r1 >> 2;
+ r4 = heap32[(r2+1)];
+ r4 = (r4 + -21)|0;
+if(!(uint(r4) >uint(8))) //_LBB288_23
+{
+ f4 = heapFloat[(r0+13)];
+ f5 = heapFloat[(r0+3)];
+ f8 = heapFloat[(r0+2)];
+ f4 = -f4;
+ f9 = heapFloat[(r0+1)];
+ f10 = heapFloat[(r0+7)];
+ f11 = heapFloat[(r0+6)];
+ f12 = heapFloat[(r0+14)];
+ f13 = heapFloat[(r0+5)];
+ f14 = heapFloat[(r3+3)];
+ f15 = heapFloat[(r3+7)];
+ f16 = heapFloat[(r3+2)];
+ f17 = heapFloat[(r3+6)];
+ f18 = heapFloat[(r3+1)];
+ f19 = heapFloat[(r3+5)];
+ f20 = heapFloat[(r3+19)];
+ heapFloat[(fp+-63)] = f20;
+ f21 = heapFloat[(r3+23)];
+ f22 = heapFloat[(r3+18)];
+ f23 = heapFloat[(r3+22)];
+ f24 = heapFloat[(r3+17)];
+ f25 = heapFloat[(r3+21)];
+ f26 = f5*f3;
+ heapFloat[(fp+-65)] = f26;
+ f27 = f10*f1;
+ f28 = f8*f3;
+ heapFloat[(fp+-66)] = f28;
+ f29 = f11*f1;
+ f3 = f9*f3;
+ heapFloat[(fp+-64)] = f3;
+ f1 = f13*f1;
+ f30 = heapFloat[(r0+11)];
+ f3 = heapFloat[(r0+10)];
+ f20 = heapFloat[(r0+15)];
+ f26 = heapFloat[(r0+9)];
+ f28 = f5*f2;
+ heapFloat[(fp+-67)] = f28;
+ f28 = f10*f0;
+ heapFloat[(fp+-69)] = f28;
+ f28 = f5*f4;
+ heapFloat[(fp+-68)] = f28;
+ f28 = f10*f12;
+ heapFloat[(fp+-71)] = f28;
+ f28 = f8*f2;
+ heapFloat[(fp+-70)] = f28;
+ f28 = f11*f0;
+ heapFloat[(fp+-73)] = f28;
+ f28 = f8*f4;
+ heapFloat[(fp+-72)] = f28;
+ f28 = f11*f12;
+ heapFloat[(fp+-78)] = f28;
+ f2 = f9*f2;
+ heapFloat[(fp+-74)] = f2;
+ f0 = f13*f0;
+ heapFloat[(fp+-76)] = f0;
+ f4 = f9*f4;
+ heapFloat[(fp+-75)] = f4;
+ f12 = f13*f12;
+ heapFloat[(fp+-77)] = f12;
+ f0 = heapFloat[(r3+11)];
+ f2 = heapFloat[(r3+10)];
+ f4 = heapFloat[(r3+9)];
+ f12 = heapFloat[(r3+27)];
+ f28 = heapFloat[(r3+26)];
+ heapFloat[(fp+-62)] = f28;
+ f28 = heapFloat[(r3+25)];
+ heapFloat[(fp+-61)] = f28;
+ f28 = heapFloat[(fp+-65)];
+ f27 = f28+f27;
+ heapFloat[(fp+-65)] = f27;
+ f27 = f30*f7;
+ heapFloat[(fp+-99)] = f27;
+ f28 = heapFloat[(fp+-66)];
+ f28 = f28+f29;
+ heapFloat[(fp+-66)] = f28;
+ f29 = f3*f7;
+ heapFloat[(fp+-98)] = f29;
+ f27 = heapFloat[(fp+-64)];
+ f1 = f27+f1;
+ heapFloat[(fp+-80)] = f1;
+ f7 = f26*f7;
+ heapFloat[(fp+-97)] = f7;
+ f27 = f14*f5;
+ heapFloat[(fp+-64)] = f27;
+ f1 = f15*f10;
+ heapFloat[(fp+-82)] = f1;
+ f1 = f16*f5;
+ heapFloat[(fp+-79)] = f1;
+ f1 = f17*f10;
+ heapFloat[(fp+-84)] = f1;
+ f1 = f18*f5;
+ heapFloat[(fp+-81)] = f1;
+ f1 = f19*f10;
+ heapFloat[(fp+-86)] = f1;
+ f1 = f14*f8;
+ heapFloat[(fp+-83)] = f1;
+ f1 = f15*f11;
+ heapFloat[(fp+-88)] = f1;
+ f1 = f16*f8;
+ heapFloat[(fp+-85)] = f1;
+ f1 = f17*f11;
+ heapFloat[(fp+-92)] = f1;
+ f1 = f18*f8;
+ heapFloat[(fp+-87)] = f1;
+ f1 = f19*f11;
+ heapFloat[(fp+-93)] = f1;
+ f14 = f14*f9;
+ heapFloat[(fp+-89)] = f14;
+ f15 = f15*f13;
+ heapFloat[(fp+-94)] = f15;
+ f16 = f16*f9;
+ heapFloat[(fp+-90)] = f16;
+ f17 = f17*f13;
+ heapFloat[(fp+-95)] = f17;
+ f18 = f18*f9;
+ heapFloat[(fp+-91)] = f18;
+ f19 = f19*f13;
+ heapFloat[(fp+-96)] = f19;
+ f1 = heapFloat[(fp+-67)];
+ f7 = heapFloat[(fp+-69)];
+ f1 = f1+f7;
+ f7 = f30*f6;
+ f14 = heapFloat[(fp+-68)];
+ f15 = heapFloat[(fp+-71)];
+ f14 = f14-f15;
+ f15 = f30*f20;
+ f16 = heapFloat[(fp+-70)];
+ f17 = heapFloat[(fp+-73)];
+ f16 = f16+f17;
+ f17 = f3*f6;
+ f18 = heapFloat[(fp+-72)];
+ f19 = heapFloat[(fp+-78)];
+ f18 = f18-f19;
+ f19 = f3*f20;
+ f27 = heapFloat[(fp+-74)];
+ f28 = heapFloat[(fp+-76)];
+ f27 = f27+f28;
+ f6 = f26*f6;
+ f28 = heapFloat[(fp+-75)];
+ f29 = heapFloat[(fp+-77)];
+ f28 = f28-f29;
+ f20 = f26*f20;
+ f29 = heapFloat[(fp+-63)];
+ f29 = f29*f5;
+ heapFloat[(fp+-67)] = f29;
+ f29 = f21*f10;
+ heapFloat[(fp+-69)] = f29;
+ f29 = f22*f5;
+ heapFloat[(fp+-68)] = f29;
+ f29 = f23*f10;
+ f5 = f24*f5;
+ heapFloat[(fp+-70)] = f5;
+ f5 = f25*f10;
+ heapFloat[(fp+-101)] = f5;
+ f10 = heapFloat[(fp+-63)];
+ f5 = f10*f8;
+ heapFloat[(fp+-71)] = f5;
+ f5 = f21*f11;
+ heapFloat[(fp+-73)] = f5;
+ f5 = f22*f8;
+ heapFloat[(fp+-72)] = f5;
+ f5 = f23*f11;
+ heapFloat[(fp+-100)] = f5;
+ f8 = f24*f8;
+ heapFloat[(fp+-74)] = f8;
+ f5 = f25*f11;
+ heapFloat[(fp+-102)] = f5;
+ f8 = f10*f9;
+ heapFloat[(fp+-75)] = f8;
+ f5 = f21*f13;
+ heapFloat[(fp+-103)] = f5;
+ f8 = f22*f9;
+ heapFloat[(fp+-78)] = f8;
+ f5 = f23*f13;
+ heapFloat[(fp+-104)] = f5;
+ f8 = f24*f9;
+ heapFloat[(fp+-76)] = f8;
+ f5 = f25*f13;
+ heapFloat[(fp+-105)] = f5;
+ f8 = heapFloat[(fp+-65)];
+ f9 = heapFloat[(fp+-99)];
+ f8 = f8+f9;
+ heapFloat[(fp+-77)] = f8;
+ f9 = f14-f15;
+ f1 = f1+f7;
+ heapFloat[(fp+-63)] = f1;
+ f7 = heapFloat[(fp+-66)];
+ f10 = heapFloat[(fp+-98)];
+ f7 = f7+f10;
+ heapFloat[(fp+-98)] = f7;
+ f10 = f18-f19;
+ f11 = f16+f17;
+ heapFloat[(fp+-65)] = f11;
+ f13 = heapFloat[(fp+-80)];
+ f14 = heapFloat[(fp+-97)];
+ f1 = f13+f14;
+ heapFloat[(fp+-80)] = f1;
+ f5 = f28-f20;
+ f6 = f27+f6;
+ heapFloat[(fp+-66)] = f6;
+ f7 = heapFloat[(fp+-64)];
+ f8 = heapFloat[(fp+-82)];
+ f1 = f7+f8;
+ heapFloat[(fp+-64)] = f1;
+ f1 = f0*f30;
+ heapFloat[(fp+-82)] = f1;
+ f6 = heapFloat[(fp+-79)];
+ f7 = heapFloat[(fp+-84)];
+ f1 = f6+f7;
+ heapFloat[(fp+-79)] = f1;
+ f1 = f2*f30;
+ heapFloat[(fp+-84)] = f1;
+ f6 = heapFloat[(fp+-81)];
+ f7 = heapFloat[(fp+-86)];
+ f1 = f6+f7;
+ heapFloat[(fp+-81)] = f1;
+ f1 = f4*f30;
+ heapFloat[(fp+-86)] = f1;
+ f6 = heapFloat[(fp+-83)];
+ f7 = heapFloat[(fp+-88)];
+ f1 = f6+f7;
+ heapFloat[(fp+-83)] = f1;
+ f1 = f0*f3;
+ heapFloat[(fp+-88)] = f1;
+ f6 = heapFloat[(fp+-85)];
+ f7 = heapFloat[(fp+-92)];
+ f1 = f6+f7;
+ heapFloat[(fp+-85)] = f1;
+ f1 = f2*f3;
+ heapFloat[(fp+-92)] = f1;
+ f6 = heapFloat[(fp+-87)];
+ f7 = heapFloat[(fp+-93)];
+ f1 = f6+f7;
+ heapFloat[(fp+-87)] = f1;
+ f1 = f4*f3;
+ heapFloat[(fp+-93)] = f1;
+ f6 = heapFloat[(fp+-89)];
+ f7 = heapFloat[(fp+-94)];
+ f1 = f6+f7;
+ heapFloat[(fp+-89)] = f1;
+ f0 = f0*f26;
+ f6 = heapFloat[(fp+-90)];
+ f7 = heapFloat[(fp+-95)];
+ f6 = f6+f7;
+ f2 = f2*f26;
+ f7 = heapFloat[(fp+-91)];
+ f8 = heapFloat[(fp+-96)];
+ f7 = f7+f8;
+ f4 = f4*f26;
+ f8 = heapFloat[(fp+-67)];
+ f11 = heapFloat[(fp+-69)];
+ f8 = f8+f11;
+ f11 = f12*f30;
+ f13 = heapFloat[(fp+-68)];
+ f13 = f13+f29;
+ f28 = heapFloat[(fp+-62)];
+ f14 = f28*f30;
+ f15 = heapFloat[(fp+-70)];
+ f16 = heapFloat[(fp+-101)];
+ f15 = f15+f16;
+ f28 = heapFloat[(fp+-61)];
+ f16 = f28*f30;
+ f17 = heapFloat[(fp+-71)];
+ f18 = heapFloat[(fp+-73)];
+ f17 = f17+f18;
+ f18 = f12*f3;
+ f19 = heapFloat[(fp+-72)];
+ f20 = heapFloat[(fp+-100)];
+ f19 = f19+f20;
+ f28 = heapFloat[(fp+-62)];
+ f20 = f28*f3;
+ f21 = heapFloat[(fp+-74)];
+ f22 = heapFloat[(fp+-102)];
+ f21 = f21+f22;
+ f28 = heapFloat[(fp+-61)];
+ f3 = f28*f3;
+ f22 = heapFloat[(fp+-75)];
+ f23 = heapFloat[(fp+-103)];
+ f22 = f22+f23;
+ f12 = f12*f26;
+ f23 = heapFloat[(fp+-78)];
+ f24 = heapFloat[(fp+-104)];
+ f23 = f23+f24;
+ f28 = heapFloat[(fp+-62)];
+ f24 = f28*f26;
+ f25 = heapFloat[(fp+-76)];
+ f27 = heapFloat[(fp+-105)];
+ f25 = f25+f27;
+ f28 = heapFloat[(fp+-61)];
+ f26 = f28*f26;
+ f27 = heapFloat[(fp+-77)];
+ f27 = f27+f9;
+ f28 = heapFloat[(fp+-98)];
+ f28 = f28+f10;
+ f29 = heapFloat[(fp+-80)];
+ f29 = f29+f5;
+ f30 = heapFloat[(fp+-64)];
+ f1 = heapFloat[(fp+-82)];
+ f1 = f30+f1;
+ heapFloat[(fp+-61)] = f1;
+ f1 = heapFloat[(fp+-79)];
+ f30 = heapFloat[(fp+-84)];
+ f1 = f1+f30;
+ heapFloat[(fp+-62)] = f1;
+ f1 = heapFloat[(fp+-81)];
+ f30 = heapFloat[(fp+-86)];
+ f1 = f1+f30;
+ heapFloat[(fp+-64)] = f1;
+ f1 = heapFloat[(fp+-83)];
+ f30 = heapFloat[(fp+-88)];
+ f1 = f1+f30;
+ heapFloat[(fp+-67)] = f1;
+ f1 = heapFloat[(fp+-85)];
+ f30 = heapFloat[(fp+-92)];
+ f1 = f1+f30;
+ heapFloat[(fp+-68)] = f1;
+ f1 = heapFloat[(fp+-87)];
+ f30 = heapFloat[(fp+-93)];
+ f1 = f1+f30;
+ f30 = heapFloat[(fp+-89)];
+ f0 = f30+f0;
+ f2 = f6+f2;
+ f4 = f7+f4;
+ f6 = heapFloat[(fp+-63)];
+ f6 = f6+f9;
+ f7 = heapFloat[(fp+-65)];
+ f7 = f7+f10;
+ f9 = heapFloat[(fp+-66)];
+ f5 = f9+f5;
+ f8 = f8+f11;
+ f9 = f13+f14;
+ f10 = f15+f16;
+ f11 = f17+f18;
+ f13 = f19+f20;
+ f3 = f21+f3;
+ f12 = f22+f12;
+ f14 = f23+f24;
+ f15 = f25+f26;
+ r0 = sp + -16;
+ r4 = r0 >> 2;
+ heapFloat[(fp+-4)] = f29;
+ heapFloat[(r4+1)] = f28;
+ heapFloat[(r4+2)] = f27;
+ heap32[(r4+3)] = 0;
+ if(f5 <f29) //_LBB288_4
+{
+ heapFloat[(fp+-4)] = f5;
+ f16 = f5;
+}
+else{
+ f16 = f29;
+}
+ if(f7 <f28) //_LBB288_7
+{
+ heapFloat[(r4+1)] = f7;
+ f17 = f7;
+}
+else{
+ f17 = f28;
+}
+ if(f6 <f27) //_LBB288_10
+{
+ heapFloat[(r4+2)] = f6;
+ f18 = f6;
+}
+else{
+ f18 = f27;
+}
+ r5 = sp + -32;
+ r6 = r5 >> 2;
+ heapFloat[(fp+-8)] = f29;
+ heapFloat[(r6+1)] = f28;
+ heapFloat[(r6+2)] = f27;
+ heap32[(r6+3)] = 0;
+ if(f29 <f5) //_LBB288_13
+{
+ heapFloat[(fp+-8)] = f5;
+ f19 = f5;
+}
+else{
+ f19 = f29;
+}
+ if(f28 <f7) //_LBB288_16
+{
+ heapFloat[(r6+1)] = f7;
+ f20 = f7;
+}
+else{
+ f20 = f28;
+}
+ if(f27 <f6) //_LBB288_19
+{
+ heapFloat[(r6+2)] = f6;
+ f21 = f6;
+}
+else{
+ f21 = f27;
+}
+ f22 = heapFloat[(r3+61)];
+ f16 = f16-f22;
+ f17 = f17-f22;
+ heapFloat[(fp+-4)] = f16;
+ f16 = f18-f22;
+ heapFloat[(r4+1)] = f17;
+ f17 = f19+f22;
+ heapFloat[(r4+2)] = f16;
+ f16 = f20+f22;
+ heapFloat[(fp+-8)] = f17;
+ r4 = _ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback;
+ f17 = f21+f22;
+ heapFloat[(r6+1)] = f16;
+ r7 = sp + -240;
+ r4 = (r4 + 8)|0;
+ heapFloat[(r6+2)] = f17;
+ r6 = r7 >> 2;
+ heap32[(fp+-60)] = r4;
+ heapFloat[(r6+1)] = f4;
+ heapFloat[(r6+2)] = f2;
+ heapFloat[(r6+3)] = f0;
+ heap32[(r6+4)] = 0;
+ heapFloat[(r6+5)] = f1;
+ f0 = heapFloat[(fp+-68)];
+ heapFloat[(r6+6)] = f0;
+ f0 = heapFloat[(fp+-67)];
+ heapFloat[(r6+7)] = f0;
+ heap32[(r6+8)] = 0;
+ f0 = heapFloat[(fp+-64)];
+ heapFloat[(r6+9)] = f0;
+ f0 = heapFloat[(fp+-62)];
+ heapFloat[(r6+10)] = f0;
+ f0 = heapFloat[(fp+-61)];
+ heapFloat[(r6+11)] = f0;
+ heap32[(r6+12)] = 0;
+ heapFloat[(r6+13)] = f29;
+ heapFloat[(r6+14)] = f28;
+ heapFloat[(r6+15)] = f27;
+ heap32[(r6+16)] = 0;
+ heapFloat[(r6+17)] = f15;
+ heapFloat[(r6+18)] = f14;
+ heapFloat[(r6+19)] = f12;
+ heap32[(r6+20)] = 0;
+ heapFloat[(r6+21)] = f3;
+ heapFloat[(r6+22)] = f13;
+ heapFloat[(r6+23)] = f11;
+ heap32[(r6+24)] = 0;
+ heapFloat[(r6+25)] = f10;
+ heapFloat[(r6+26)] = f9;
+ heapFloat[(r6+27)] = f8;
+ heap32[(r6+28)] = 0;
+ heapFloat[(r6+29)] = f5;
+ heapFloat[(r6+30)] = f7;
+ heapFloat[(r6+31)] = f6;
+ heap32[(r6+32)] = 0;
+ heapFloat[(r6+49)] = f22;
+ heap32[(r6+50)] = heap32[(r3+60)];
+if(!(r1 ==0)) //_LBB288_23
+{
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+15)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r5;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = heapFloat[(r6+50)];
+ f1 = heapFloat[(r3+60)];
+if(!(f0 >=f1)) //_LBB288_23
+{
+ heapFloat[(r3+60)] = f0;
+ f_g0 = f0;
+ return;
+}
+}
+}
+}
+ f0 = 1;
+ f_g0 = f0;
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -80;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+8];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+1)];
+ r4 = r1 == 0 ? r2 : r3;
+ r5 = r4 >> 2;
+ r5 = heap32[(r5+48)];
+ r6 = r5 >> 2;
+ r7 = heap32[(r6+1)];
+ r7 = (r7 + -21)|0;
+if(!(uint(r7) >uint(8))) //_LBB289_8
+{
+ r1 = r1 == 0 ? r3 : r2;
+ r2 = r1 >> 2;
+ r2 = heap32[(r2+48)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+1)];
+if(!(r2 >19)) //_LBB289_8
+{
+ r2 = heap32[(fp+3)];
+ r3 = heap32[(fp+4)];
+ r7 = heap32[(r6)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+11)];
+ heap32[(g0)] = r5;
+ r8 = r0 >> 2;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ f0 = f_g0;
+ r7 = r3 >> 2;
+ r9 = heap32[(r8+19)];
+ heap32[(r7+1)] = r9;
+ heap32[(r8+16)] = r2;
+ heapFloat[(r8+17)] = f0;
+ heap32[(r8+14)] = r3;
+ r2 = heap32[(r8+4)];
+ r9 = heap32[(r8+5)];
+ r9 = r9 >> 2;
+ r2 = r2 >> 2;
+ f1 = heapFloat[(r9+1)];
+ f2 = heapFloat[(r2+1)];
+ f3 = heapFloat[(r9+5)];
+ f4 = heapFloat[(r2+5)];
+ f5 = heapFloat[(r2+2)];
+ f6 = heapFloat[(r2+6)];
+ f7 = f2*f1;
+ f8 = f4*f3;
+ f9 = heapFloat[(r9+9)];
+ f10 = heapFloat[(r2+9)];
+ f11 = heapFloat[(r9+2)];
+ f12 = heapFloat[(r9+6)];
+ f13 = heapFloat[(r9+3)];
+ f14 = heapFloat[(r2+13)];
+ f15 = heapFloat[(r2+3)];
+ f16 = heapFloat[(r9+7)];
+ f17 = heapFloat[(r9+14)];
+ f18 = heapFloat[(r2+14)];
+ f19 = heapFloat[(r2+7)];
+ f20 = heapFloat[(r9+10)];
+ f21 = heapFloat[(r9+15)];
+ f22 = heapFloat[(r9+11)];
+ f23 = heapFloat[(r2+15)];
+ f24 = heapFloat[(r2+11)];
+ f25 = heapFloat[(r2+10)];
+ f26 = heapFloat[(r9+13)];
+ f27 = f5*f1;
+ f28 = f6*f3;
+ f7 = f7+f8;
+ f8 = f10*f9;
+ r9 = sp + -64;
+ f29 = f15*f1;
+ f30 = f19*f3;
+ f27 = f27+f28;
+ f28 = f25*f9;
+ f7 = f7+f8;
+ r10 = r9 >> 2;
+ f8 = f29+f30;
+ f29 = f24*f9;
+ f27 = f27+f28;
+ heapFloat[(fp+-16)] = f7;
+ f7 = f2*f11;
+ f28 = f4*f12;
+ f8 = f8+f29;
+ heapFloat[(r10+1)] = f27;
+ heapFloat[(r10+2)] = f8;
+ f8 = f5*f11;
+ f27 = f6*f12;
+ f7 = f7+f28;
+ f28 = f10*f20;
+ f29 = f15*f11;
+ f30 = f19*f12;
+ f8 = f8+f27;
+ f27 = f25*f20;
+ f7 = f7+f28;
+ heap32[(r10+3)] = 0;
+ f28 = f29+f30;
+ f29 = f24*f20;
+ f8 = f8+f27;
+ heapFloat[(r10+4)] = f7;
+ f2 = f2*f13;
+ f4 = f4*f16;
+ f7 = f28+f29;
+ heapFloat[(r10+5)] = f8;
+ heapFloat[(r10+6)] = f7;
+ f5 = f5*f13;
+ f6 = f6*f16;
+ f2 = f2+f4;
+ f4 = f10*f22;
+ f7 = -f26;
+ f8 = f15*f13;
+ f10 = f19*f16;
+ f5 = f5+f6;
+ f6 = f25*f22;
+ f2 = f2+f4;
+ heap32[(r10+7)] = 0;
+ f4 = f1*f14;
+ f15 = f3*f18;
+ f1 = f1*f7;
+ f3 = f3*f17;
+ f8 = f8+f10;
+ f10 = f24*f22;
+ f5 = f5+f6;
+ heapFloat[(r10+8)] = f2;
+ f2 = f11*f14;
+ f6 = f12*f18;
+ f11 = f11*f7;
+ f12 = f12*f17;
+ f4 = f4+f15;
+ f15 = f9*f23;
+ f1 = f1-f3;
+ f3 = f9*f21;
+ f8 = f8+f10;
+ heapFloat[(r10+9)] = f5;
+ heapFloat[(r10+10)] = f8;
+ f5 = f13*f14;
+ f8 = f16*f18;
+ f7 = f13*f7;
+ f9 = f16*f17;
+ f2 = f2+f6;
+ f6 = f20*f23;
+ f10 = f11-f12;
+ f11 = f20*f21;
+ f4 = f4+f15;
+ f1 = f1-f3;
+ f3 = f5+f8;
+ f5 = f22*f23;
+ f7 = f7-f9;
+ f8 = f22*f21;
+ f2 = f2+f6;
+ f6 = f10-f11;
+ f1 = f4+f1;
+ heap32[(r10+11)] = 0;
+ f3 = f3+f5;
+ f4 = f7-f8;
+ f2 = f2+f6;
+ heapFloat[(r10+12)] = f1;
+ f1 = f3+f4;
+ heapFloat[(r10+13)] = f2;
+ heapFloat[(r10+14)] = f1;
+ heap32[(r10+15)] = 0;
+ r2 = heap32[(r2+48)];
+ r10 = r2 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+2)];
+ r11 = (r0 + 40)|0;
+ r12 = (r0 + 24)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = r11;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ f1 = heapFloat[(r8+10)];
+ f1 = f1+f0;
+ heapFloat[(r8+10)] = f1;
+ f1 = heapFloat[(r8+11)];
+ f1 = f1+f0;
+ heapFloat[(r8+11)] = f1;
+ f1 = heapFloat[(r8+12)];
+ f1 = f1+f0;
+ heapFloat[(r8+12)] = f1;
+ f1 = heapFloat[(r8+6)];
+ f1 = f1-f0;
+ heapFloat[(r8+6)] = f1;
+ f1 = heapFloat[(r8+7)];
+ f1 = f1-f0;
+ heapFloat[(r8+7)] = f1;
+ f1 = heapFloat[(r8+8)];
+ f0 = f1-f0;
+ heapFloat[(r8+8)] = f0;
+ r2 = heap32[(r8+19)];
+ r2 = r2 >> 2;
+ heap32[(r2+277)] = r1;
+ heap32[(r2+278)] = r4;
+ r1 = heap32[(r6)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+15)];
+ r0 = (r0 + 12)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = r11;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r7+1)];
+ if(r0 !=0) //_LBB289_4
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+279)];
+if(!(r2 ==0)) //_LBB289_8
+{
+ r1 = heap32[(r1+277)];
+ r2 = heap32[(r7+34)];
+ if(r1 ==r2) //_LBB289_7
+{
+ r1 = (r3 + 8)|0;
+ r2 = (r3 + 72)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+}
+else{
+ r1 = (r3 + 72)|0;
+ r3 = (r3 + 8)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+ return;
+}
+}
+}
+else{
+ r0 = _2E_str59;
+ r3 = _2E_str160;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 101;
+ _assert(i7);
+}
+}
+}
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+19)];
+if(!(r1 ==0)) //_LBB290_22
+{
+ r2 = heap32[(fp+1)];
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+2)];
+ r5 = heap32[(r3+1)];
+ if(r4 ==r5) //_LBB290_3
+{
+ r6 = 1;
+ r7 = r5 << 1;
+ r7 = r5 == 0 ? r6 : r7;
+if(!(r4 >=r7)) //_LBB290_2
+{
+ if(r7 !=0) //_LBB290_6
+{
+ r1 = gNumAlignedAllocs;
+ r1 = r1 >> 2;
+ r4 = heap32[(r1)];
+ r8 = r7 << 2;
+ r4 = (r4 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r1)] = r4;
+ r1 = (r8 + 16)|0;
+ heap32[(g0)] = r1;
+ malloc(i7);
+ r1 = r_g0;
+ if(r1 !=0) //_LBB290_8
+{
+ r4 = 0;
+ r8 = (r1 + 4)|0;
+ r4 = (r4 - r8)|0;
+ r4 = r4 & 15;
+ r4 = (r1 + r4)|0;
+ r8 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r1;
+ r1 = r8;
+}
+}
+else{
+ r1 = 0;
+}
+ r4 = (r2 + 12)|0;
+ if(r5 <1) //_LBB290_11
+{
+ r8 = r4 >> 2;
+ r9 = heap32[(r8)];
+}
+else{
+ r8 = 0;
+_14: while(true){
+ r9 = r4 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r8 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r1 + r10)|0;
+ r11 = heap32[(r11)];
+ r8 = (r8 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r11;
+if(!(r5 !=r8)) //_LBB290_12
+{
+break _14;
+}
+}
+ r4 = (r2 + 12)|0;
+}
+ if(r9 !=0) //_LBB290_16
+{
+ r8 = heapU8[r2+16];
+ if(r8 !=0) //_LBB290_18
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r8 = heap32[(r5)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r5)] = r8;
+ r5 = heap32[(r9+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+ r5 = heap32[(r3+1)];
+}
+ r8 = r4 >> 2;
+ heap32[(r8)] = 0;
+}
+ r4 = r4 >> 2;
+ heap8[r2+16] = r6;
+ heap32[(r4)] = r1;
+ heap32[(r3+2)] = r7;
+ r1 = heap32[(r0+19)];
+}
+}
+ r0 = r5 << 2;
+ r2 = heap32[(r3+3)];
+ r0 = (r2 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r3+1)];
+ r0 = (r0 + 1)|0;
+ heap32[(r3+1)] = r0;
+}
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithmD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV33btConvexConcaveCollisionAlgorithm;
+ r2 = _ZTV24btConvexTriangleCallback;
+ r1 = (r1 + 8)|0;
+ r3 = r0 >> 2;
+ r2 = (r2 + 8)|0;
+ heap32[(r3)] = r1;
+ heap32[(r3+3)] = r2;
+ r1 = heap32[(r3+15)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+5)];
+ r4 = heap32[(r3+19)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = heap32[(r3+15)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ r4 = heap32[(r3+19)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ r1 = _ZTV18btTriangleCallback;
+ r4 = _ZTV30btActivatingCollisionAlgorithm;
+ r1 = (r1 + 8)|0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = (r4 + 8)|0;
+ heap32[(r3+3)] = r1;
+ heap32[(r3)] = r2;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithmD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV33btConvexConcaveCollisionAlgorithm;
+ r2 = _ZTV24btConvexTriangleCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ r2 = (r2 + 8)|0;
+ heap32[(r0)] = r1;
+ heap32[(r0+3)] = r2;
+ r1 = heap32[(r0+15)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+5)];
+ r3 = heap32[(r0+19)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = heap32[(r0+15)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ r3 = heap32[(r0+19)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ r1 = _ZTV18btTriangleCallback;
+ r3 = _ZTV30btActivatingCollisionAlgorithm;
+ r1 = (r1 + 8)|0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = (r3 + 8)|0;
+ heap32[(r0+3)] = r1;
+ heap32[(r0)] = r2;
+ return;
+}
+
+function _ZN23btConvexConvexAlgorithm10CreateFuncD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN23btConvexConvexAlgorithm10CreateFuncE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN23btConvexConvexAlgorithm10CreateFuncD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN23btConvexConvexAlgorithm10CreateFuncE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN23btConvexConvexAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 36;
+ r1 = heap32[(fp)];
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = r1 >> 2;
+ r3 = _ZTV20btCollisionAlgorithm;
+ r4 = heap32[(r1+5)];
+ r5 = heap32[(r1+4)];
+ r6 = heap32[(r0+1)];
+ r7 = heap32[(r1+2)];
+ r1 = heap32[(r1+3)];
+ r8 = r_g0 >> 2;
+ r3 = (r3 + 8)|0;
+ heap32[(r8)] = r3;
+ r0 = heap32[(r0)];
+ r3 = _ZTV23btConvexConvexAlgorithm;
+ r3 = (r3 + 8)|0;
+ heap32[(r8+1)] = r0;
+ heap32[(r8)] = r3;
+ heap32[(r8+2)] = r1;
+ r0 = 0;
+ heap32[(r8+3)] = r7;
+ heap8[r_g0+16] = r0;
+ heap32[(r8+5)] = r6;
+ heap8[r_g0+24] = r0;
+ heap32[(r8+7)] = r5;
+ heap32[(r8+8)] = r4;
+ return;
+}
+
+function _ZN24btPerturbedContactResultD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV24btPerturbedContactResult;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN24btPerturbedContactResultD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV24btPerturbedContactResult;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN24btPerturbedContactResult15addContactPointERK9btVector3S2_f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -104;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+2)];
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r1+2)];
+ heapFloat[(fp+-5)] = f0;
+ f1 = heapFloat[(r1+1)];
+ heapFloat[(fp+-6)] = f1;
+ f2 = heapFloat[(fp+3)];
+ f3 = heapFloat[(r1)];
+ heapFloat[(fp+-7)] = f3;
+ f4 = heapFloat[(r2+2)];
+ heapFloat[(fp+-11)] = f4;
+ f0 = f0*f2;
+ f5 = heapFloat[(r2+1)];
+ heapFloat[(fp+-12)] = f5;
+ f1 = f1*f2;
+ f6 = heapFloat[(r2)];
+ heapFloat[(fp+-13)] = f6;
+ f2 = f3*f2;
+ r1 = heap32[(fp)];
+ f0 = f4+f0;
+ heapFloat[(fp+-8)] = f0;
+ f0 = f5+f1;
+ heapFloat[(fp+-9)] = f0;
+ f0 = f6+f2;
+ heapFloat[(fp+-10)] = f0;
+ r2 = heapU8[r1+356];
+ if(r2 ==0) //_LBB298_2
+{
+ r2 = r1 >> 2;
+ f3 = heapFloat[(r2+69)];
+ f3 = -f3;
+ f0 = heapFloat[(r2+57)];
+ f1 = heapFloat[(r2+58)];
+ f2 = heapFloat[(r2+61)];
+ f4 = heapFloat[(r2+70)];
+ f5 = heapFloat[(r2+62)];
+ f6 = heapFloat[(r2+77)];
+ f7 = heapFloat[(r2+78)];
+ f8 = heapFloat[(r2+73)];
+ f9 = heapFloat[(r2+65)];
+ f10 = heapFloat[(r2+74)];
+ f11 = heapFloat[(r2+66)];
+ f12 = heapFloat[(r2+71)];
+ f13 = heapFloat[(r2+59)];
+ f14 = heapFloat[(r2+63)];
+ f15 = f0*f3;
+ f16 = f2*f4;
+ f17 = f1*f3;
+ f18 = f5*f4;
+ f19 = heapFloat[(r2+81)];
+ f20 = heapFloat[(r2+82)];
+ f21 = heapFloat[(r2+79)];
+ f22 = heapFloat[(r2+67)];
+ f23 = heapFloat[(r2+75)];
+ f24 = f0*f6;
+ f25 = f1*f7;
+ f26 = f2*f6;
+ f27 = f5*f7;
+ f28 = f0*f8;
+ heapFloat[(fp+-14)] = f28;
+ f28 = f1*f10;
+ heapFloat[(fp+-15)] = f28;
+ f29 = f2*f8;
+ f28 = f5*f10;
+ f15 = f15-f16;
+ f16 = f9*f12;
+ f17 = f17-f18;
+ f18 = f11*f12;
+ f3 = f13*f3;
+ heapFloat[(fp+-16)] = f3;
+ f3 = f14*f4;
+ heapFloat[(fp+-20)] = f3;
+ f4 = f15-f16;
+ f15 = f17-f18;
+ f16 = heapFloat[(r2+83)];
+ f0 = f0*f19;
+ f1 = f1*f20;
+ f2 = f2*f19;
+ f5 = f5*f20;
+ f17 = f24+f25;
+ heapFloat[(fp+-17)] = f17;
+ f3 = f13*f21;
+ heapFloat[(fp+-21)] = f3;
+ f17 = f26+f27;
+ heapFloat[(fp+-18)] = f17;
+ f18 = f14*f21;
+ f24 = f9*f6;
+ heapFloat[(fp+-19)] = f24;
+ f25 = f11*f7;
+ f26 = heapFloat[(fp+-14)];
+ f27 = heapFloat[(fp+-15)];
+ f26 = f26+f27;
+ f27 = f13*f23;
+ f28 = f29+f28;
+ f29 = f14*f23;
+ f30 = f9*f8;
+ f3 = f11*f10;
+ f17 = heapFloat[(fp+-16)];
+ f24 = heapFloat[(fp+-20)];
+ f17 = f17-f24;
+ f12 = f22*f12;
+ f12 = f17-f12;
+ f0 = f0+f1;
+ f1 = f13*f16;
+ f2 = f2+f5;
+ f5 = f14*f16;
+ f9 = f9*f19;
+ f11 = f11*f20;
+ f17 = heapFloat[(fp+-17)];
+ f13 = heapFloat[(fp+-21)];
+ f13 = f17+f13;
+ f14 = f26+f27;
+ f17 = heapFloat[(fp+-18)];
+ f17 = f17+f18;
+ f18 = f28+f29;
+ f24 = heapFloat[(fp+-19)];
+ f24 = f24+f25;
+ f25 = f22*f21;
+ f6 = f6*f4;
+ f7 = f7*f15;
+ f3 = f30+f3;
+ f26 = f22*f23;
+ f8 = f8*f4;
+ f10 = f10*f15;
+ f0 = f0+f1;
+ f1 = f2+f5;
+ f2 = f9+f11;
+ f5 = f22*f16;
+ f4 = f19*f4;
+ f9 = f20*f15;
+ f11 = heapFloat[(fp+-13)];
+ f13 = f13*f11;
+ f15 = heapFloat[(fp+-12)];
+ f17 = f17*f15;
+ f19 = f24+f25;
+ f3 = f3+f26;
+ f6 = f6+f7;
+ f7 = f21*f12;
+ f14 = f14*f11;
+ f18 = f18*f15;
+ f8 = f8+f10;
+ f10 = f23*f12;
+ f2 = f2+f5;
+ f0 = f0*f11;
+ f1 = f1*f15;
+ f4 = f4+f9;
+ f5 = f16*f12;
+ f9 = f13+f17;
+ f11 = heapFloat[(fp+-11)];
+ f12 = f19*f11;
+ f6 = f6+f7;
+ f7 = heapFloat[(r2+86)];
+ f13 = f14+f18;
+ f3 = f3*f11;
+ f8 = f8+f10;
+ f10 = heapFloat[(r2+85)];
+ f14 = heapFloat[(r2+87)];
+ f4 = f4+f5;
+ f0 = f0+f1;
+ f1 = f2*f11;
+ f2 = f9+f12;
+ f5 = f6+f7;
+ f3 = f13+f3;
+ f6 = f8+f10;
+ f3 = f3+f6;
+ f2 = f2+f5;
+ f0 = f0+f1;
+ f1 = f4+f14;
+ r2 = sp + -16;
+ f4 = heapFloat[(fp+-10)];
+ f4 = f4-f3;
+ f5 = heapFloat[(fp+-9)];
+ f5 = f5-f2;
+ f0 = f0+f1;
+ f1 = heapFloat[(fp+-7)];
+ f1 = f4*f1;
+ f4 = heapFloat[(fp+-6)];
+ f4 = f5*f4;
+ f5 = heapFloat[(fp+-8)];
+ f5 = f5-f0;
+ r2 = r2 >> 2;
+ heapFloat[(fp+-4)] = f3;
+ heapFloat[(r2+1)] = f2;
+ f3 = f1+f4;
+ f1 = heapFloat[(fp+-5)];
+ f1 = f5*f1;
+ f3 = f3+f1;
+ heapFloat[(r2+2)] = f0;
+ heap32[(r2+3)] = 0;
+}
+else{
+ r2 = r1 >> 2;
+ f0 = heapFloat[(r2+53)];
+ f0 = -f0;
+ f1 = heapFloat[(r2+41)];
+ f2 = heapFloat[(r2+42)];
+ f3 = heapFloat[(r2+45)];
+ f4 = heapFloat[(r2+54)];
+ f5 = heapFloat[(r2+46)];
+ f6 = heapFloat[(r2+77)];
+ f7 = heapFloat[(r2+78)];
+ f8 = heapFloat[(r2+73)];
+ f9 = heapFloat[(r2+49)];
+ f10 = heapFloat[(r2+74)];
+ f11 = heapFloat[(r2+50)];
+ f12 = heapFloat[(r2+55)];
+ f13 = heapFloat[(r2+43)];
+ f14 = heapFloat[(r2+47)];
+ f15 = f1*f0;
+ f16 = f3*f4;
+ f17 = f2*f0;
+ f18 = f5*f4;
+ f19 = heapFloat[(r2+81)];
+ f20 = heapFloat[(r2+82)];
+ f21 = heapFloat[(r2+79)];
+ f22 = heapFloat[(r2+51)];
+ f23 = heapFloat[(r2+75)];
+ f24 = f1*f8;
+ f25 = f2*f10;
+ f26 = f3*f8;
+ f27 = f5*f10;
+ f28 = f1*f6;
+ heapFloat[(fp+-14)] = f28;
+ f29 = f2*f7;
+ f30 = f3*f6;
+ f28 = f5*f7;
+ f15 = f15-f16;
+ f16 = f9*f12;
+ f17 = f17-f18;
+ f18 = f11*f12;
+ f0 = f13*f0;
+ heapFloat[(fp+-15)] = f0;
+ f0 = f14*f4;
+ heapFloat[(fp+-16)] = f0;
+ f4 = f15-f16;
+ f15 = f17-f18;
+ f16 = heapFloat[(r2+83)];
+ f0 = f24+f25;
+ heapFloat[(fp+-17)] = f0;
+ f17 = f13*f23;
+ f0 = f26+f27;
+ heapFloat[(fp+-18)] = f0;
+ f18 = f14*f23;
+ f24 = f9*f8;
+ f25 = f11*f10;
+ f26 = heapFloat[(fp+-14)];
+ f26 = f26+f29;
+ f27 = f13*f21;
+ f28 = f30+f28;
+ f29 = f14*f21;
+ f30 = f9*f6;
+ f0 = f11*f7;
+ f1 = f1*f19;
+ heapFloat[(fp+-14)] = f1;
+ f2 = f2*f20;
+ f1 = f3*f19;
+ heapFloat[(fp+-19)] = f1;
+ f3 = f5*f20;
+ f5 = heapFloat[(fp+-15)];
+ f1 = heapFloat[(fp+-16)];
+ f1 = f5-f1;
+ f5 = f22*f12;
+ f1 = f1-f5;
+ f5 = heapFloat[(fp+-17)];
+ f5 = f5+f17;
+ f12 = f26+f27;
+ f17 = heapFloat[(fp+-18)];
+ f17 = f17+f18;
+ f18 = f28+f29;
+ f24 = f24+f25;
+ f25 = f22*f23;
+ f8 = f8*f4;
+ f10 = f10*f15;
+ f0 = f30+f0;
+ f26 = f22*f21;
+ f6 = f6*f4;
+ f7 = f7*f15;
+ f27 = heapFloat[(fp+-14)];
+ f2 = f27+f2;
+ f13 = f13*f16;
+ f27 = heapFloat[(fp+-19)];
+ f3 = f27+f3;
+ f14 = f14*f16;
+ f9 = f9*f19;
+ f11 = f11*f20;
+ f2 = f2+f13;
+ f3 = f3+f14;
+ f13 = heapFloat[(fp+-10)];
+ f5 = f5*f13;
+ f14 = heapFloat[(fp+-9)];
+ f17 = f17*f14;
+ f24 = f24+f25;
+ f0 = f0+f26;
+ f8 = f8+f10;
+ f10 = f23*f1;
+ f12 = f12*f13;
+ f18 = f18*f14;
+ f6 = f6+f7;
+ f7 = f21*f1;
+ f9 = f9+f11;
+ f11 = f22*f16;
+ f4 = f19*f4;
+ f15 = f20*f15;
+ f9 = f9+f11;
+ f5 = f5+f17;
+ f11 = heapFloat[(fp+-8)];
+ f17 = f24*f11;
+ f8 = f8+f10;
+ f10 = heapFloat[(r2+85)];
+ f12 = f12+f18;
+ f0 = f0*f11;
+ f6 = f6+f7;
+ f7 = heapFloat[(r2+86)];
+ f2 = f2*f13;
+ f3 = f3*f14;
+ f4 = f4+f15;
+ f1 = f16*f1;
+ f13 = heapFloat[(r2+87)];
+ f1 = f4+f1;
+ f4 = f5+f17;
+ f5 = f8+f10;
+ f0 = f12+f0;
+ f6 = f6+f7;
+ f2 = f2+f3;
+ f3 = f9*f11;
+ f4 = f4+f5;
+ f0 = f0+f6;
+ f2 = f2+f3;
+ f1 = f1+f13;
+ f3 = heapFloat[(fp+-13)];
+ f3 = f4-f3;
+ f5 = heapFloat[(fp+-12)];
+ f5 = f0-f5;
+ f1 = f2+f1;
+ f2 = heapFloat[(fp+-7)];
+ f3 = f3*f2;
+ f6 = heapFloat[(fp+-6)];
+ f5 = f5*f6;
+ f7 = heapFloat[(fp+-11)];
+ f7 = f1-f7;
+ f3 = f3+f5;
+ f5 = heapFloat[(fp+-5)];
+ f7 = f7*f5;
+ f3 = f3+f7;
+ f2 = f2*f3;
+ r2 = sp + -16;
+ f6 = f6*f3;
+ f2 = f4+f2;
+ f4 = f5*f3;
+ r2 = r2 >> 2;
+ f0 = f0+f6;
+ heapFloat[(fp+-4)] = f2;
+ f1 = f1+f4;
+ heapFloat[(r2+1)] = f0;
+ heapFloat[(r2+2)] = f1;
+ heap32[(r2+3)] = 0;
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+40)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ r3 = sp + -16;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r3;
+ heapFloat[(g0+3)] = f3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ return;
+}
+
+function _ZN23btConvexConvexAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+5)];
+if(!(r2 ==0)) //_LBB299_23
+{
+ r0 = heapU8[r0+16];
+if(!(r0 ==0)) //_LBB299_23
+{
+ r0 = heap32[(fp+1)];
+ r3 = r0 >> 2;
+ r4 = heap32[(r3+2)];
+ r5 = heap32[(r3+1)];
+ if(r4 ==r5) //_LBB299_4
+{
+ r6 = 1;
+ r7 = r5 << 1;
+ r7 = r5 == 0 ? r6 : r7;
+if(!(r4 >=r7)) //_LBB299_3
+{
+ if(r7 !=0) //_LBB299_7
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r4 = heap32[(r2)];
+ r8 = r7 << 2;
+ r4 = (r4 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r2)] = r4;
+ r2 = (r8 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB299_9
+{
+ r4 = 0;
+ r8 = (r2 + 4)|0;
+ r4 = (r4 - r8)|0;
+ r4 = r4 & 15;
+ r4 = (r2 + r4)|0;
+ r8 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r2;
+ r2 = r8;
+}
+}
+else{
+ r2 = 0;
+}
+ r4 = (r0 + 12)|0;
+ if(r5 <1) //_LBB299_12
+{
+ r8 = r4 >> 2;
+ r9 = heap32[(r8)];
+}
+else{
+ r8 = 0;
+_15: while(true){
+ r9 = r4 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r8 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r2 + r10)|0;
+ r11 = heap32[(r11)];
+ r8 = (r8 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r11;
+if(!(r5 !=r8)) //_LBB299_13
+{
+break _15;
+}
+}
+ r4 = (r0 + 12)|0;
+}
+ if(r9 !=0) //_LBB299_17
+{
+ r8 = heapU8[r0+16];
+ if(r8 !=0) //_LBB299_19
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r8 = heap32[(r5)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r5)] = r8;
+ r5 = heap32[(r9+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+ r5 = heap32[(r3+1)];
+}
+ r8 = r4 >> 2;
+ heap32[(r8)] = 0;
+}
+ r4 = r4 >> 2;
+ heap8[r0+16] = r6;
+ heap32[(r4)] = r2;
+ heap32[(r3+2)] = r7;
+ r2 = heap32[(r1+5)];
+}
+}
+ r0 = r5 << 2;
+ r1 = heap32[(r3+3)];
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r2;
+ r0 = heap32[(r3+1)];
+ r0 = (r0 + 1)|0;
+ heap32[(r3+1)] = r0;
+}
+}
+ return;
+}
+
+function _ZN23btConvexConvexAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -1240;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+2)];
+ r3 = r2 >> 2;
+ f0 = heapFloat[(r1+29)];
+ f1 = heapFloat[(r1+13)];
+ f2 = heapFloat[(r1+30)];
+ f3 = heapFloat[(r1+14)];
+ f0 = f0-f1;
+ f1 = f2-f3;
+ f2 = heapFloat[(r1+31)];
+ f3 = heapFloat[(r1+15)];
+ f2 = f2-f3;
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f3 = heapFloat[(r1+62)];
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f2 = f3*f3;
+ f0 = f0+f1;
+if(!(f2 <=f0)) //_LBB300_2
+{
+ f0 = heapFloat[(r3+31)];
+ f1 = heapFloat[(r3+15)];
+ f2 = heapFloat[(r3+30)];
+ f3 = heapFloat[(r3+14)];
+ f4 = heapFloat[(r3+29)];
+ f5 = heapFloat[(r3+13)];
+ f0 = f0-f1;
+ f1 = f2-f3;
+ f2 = f4-f5;
+ f2 = f2*f2;
+ f1 = f1*f1;
+ f3 = heapFloat[(r3+62)];
+ f1 = f2+f1;
+ f0 = f0*f0;
+ f2 = f3*f3;
+ f0 = f1+f0;
+ if(f2 >f0) //_LBB300_16
+{
+ f0 = 1;
+ f_g0 = f0;
+ return;
+}
+}
+ r4 = sp + -56;
+ r5 = heap32[(r1+48)];
+ f0 = heapFloat[(r3+61)];
+ r6 = r4 >> 2;
+ heap32[(r6+2)] = 0;
+ heap32[(r6+3)] = 1065353216;
+ heap32[(r6+4)] = 1065353216;
+ r7 = _ZTV13btSphereShape;
+ heap32[(r6+5)] = 1065353216;
+ r7 = (r7 + 8)|0;
+ heap32[(r6+6)] = 0;
+ heap32[(fp+-14)] = r7;
+ heap32[(r6+1)] = 8;
+ r8 = _ZTVN12btConvexCast10CastResultE;
+ heapFloat[(r6+7)] = f0;
+ r9 = sp + -232;
+ r8 = (r8 + 8)|0;
+ heapFloat[(r6+11)] = f0;
+ r6 = r9 >> 2;
+ heap32[(fp+-58)] = r8;
+ heap32[(r6+41)] = 1566444395;
+ r10 = sp + -592;
+ heap32[(r6+42)] = 0;
+ r11 = r10 >> 2;
+ heap32[(r6+43)] = 0;
+ r12 = _ZTV15btGjkConvexCast;
+ r13 = 0;
+ heap32[(r11+77)] = 953267991;
+ r11 = sp + -608;
+ r12 = (r12 + 8)|0;
+ heap8[sp+-260] = r13;
+ r13 = r11 >> 2;
+ heap32[(fp+-152)] = r12;
+ heap32[(r13+1)] = r10;
+ heap32[(r13+2)] = r5;
+ heap32[(r13+3)] = r4;
+ r4 = (r2 + 68)|0;
+ r2 = (r2 + 4)|0;
+ r5 = (r0 + 68)|0;
+ r0 = (r0 + 4)|0;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r2;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r9;
+ _ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB300_4
+{
+ f0 = heapFloat[(r6+41)];
+ f1 = heapFloat[(r1+60)];
+if(!(f1 <=f0)) //_LBB300_6
+{
+ heapFloat[(r1+60)] = f0;
+}
+ f1 = heapFloat[(r3+60)];
+if(!(f1 <=f0)) //_LBB300_8
+{
+ heapFloat[(r3+60)] = f0;
+}
+ f1 = 1;
+ if(f0 >=f1) //_LBB300_3
+{
+__label__ = 3;
+}
+else{
+__label__ = 9;
+}
+}
+else{
+__label__ = 3;
+}
+if (__label__ == 3){
+ f0 = 1;
+}
+ r6 = _ZTV12btConvexCast;
+ r9 = _ZTV13btConvexShape;
+ r6 = (r6 + 8)|0;
+ r9 = (r9 + 8)|0;
+ heap32[(fp+-152)] = r6;
+ heap32[(fp+-14)] = r9;
+ r6 = sp + -664;
+ r9 = heap32[(r3+48)];
+ f1 = heapFloat[(r1+61)];
+ r10 = r6 >> 2;
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ heap32[(r10+5)] = 1065353216;
+ heap32[(r10+6)] = 0;
+ heap32[(fp+-166)] = r7;
+ heap32[(r10+1)] = 8;
+ heapFloat[(r10+7)] = f1;
+ r7 = sp + -840;
+ heapFloat[(r10+11)] = f1;
+ r10 = r7 >> 2;
+ heap32[(fp+-210)] = r8;
+ heap32[(r10+41)] = 1566444395;
+ r8 = sp + -1200;
+ heap32[(r10+42)] = 0;
+ r11 = r8 >> 2;
+ heap32[(r10+43)] = 0;
+ heap32[(r11+77)] = 953267991;
+ r11 = heapU8[sp+-868];
+ r11 = r11 & 240;
+ r13 = sp + -1216;
+ heap8[sp+-868] = r11;
+ r11 = r13 >> 2;
+ heap32[(fp+-304)] = r12;
+ heap32[(r11+1)] = r8;
+ heap32[(r11+2)] = r6;
+ heap32[(r11+3)] = r9;
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r2;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r7;
+ _ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB300_15
+{
+ f1 = heapFloat[(r10+41)];
+ f2 = heapFloat[(r1+60)];
+if(!(f2 <=f1)) //_LBB300_12
+{
+ heapFloat[(r1+60)] = f1;
+}
+ f2 = heapFloat[(r3+60)];
+if(!(f2 <=f1)) //_LBB300_14
+{
+ heapFloat[(r3+60)] = f1;
+}
+ f0 = f1 < f0 ? f1 : f0;
+}
+ f_g0 = f0;
+ return;
+}
+
+function _ZN23btConvexConvexAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -816;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+5)];
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ r6 = heap32[(fp+4)];
+ if(r2 ==0) //_LBB301_2
+{
+ r2 = heap32[(r1+1)];
+ r7 = r2 >> 2;
+ r7 = heap32[(r7)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+3)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r2 = r_g0;
+ r7 = 1;
+ heap32[(r1+5)] = r2;
+ heap8[r0+16] = r7;
+}
+ r7 = r6 >> 2;
+ r8 = r3 >> 2;
+ heap32[(r7+1)] = r2;
+ r2 = r4 >> 2;
+ r9 = heap32[(r8+48)];
+ r10 = heap32[(r2+48)];
+ r11 = r9 >> 2;
+ r12 = heap32[(r11+1)];
+ if(r12 !=10) //_LBB301_5
+{
+__label__ = 4;
+}
+else{
+ r12 = r10 >> 2;
+ r13 = heap32[(r12+1)];
+ if(r13 ==10) //_LBB301_6
+{
+ r0 = heap32[(r11)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+7)];
+ heap32[(g0)] = r9;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ r0 = heap32[(r12)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+7)];
+ heap32[(g0)] = r10;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ r0 = heap32[(r11+13)];
+ r5 = heap32[(r12+13)];
+ r11 = r5 << 2;
+ r12 = r0 << 2;
+ r3 = (r3 + r12)|0;
+ r4 = (r4 + r11)|0;
+ r3 = r3 >> 2;
+ r4 = r4 >> 2;
+ r5 = (r5 + 2)|0;
+ r0 = (r0 + 2)|0;
+ f0 = heapFloat[(r3+1)];
+ f1 = heapFloat[(r4+1)];
+ f2 = heapFloat[(r3+5)];
+ f3 = heapFloat[(r4+5)];
+ r5 = (r5 % 3)|0;
+ r0 = (r0 % 3)|0;
+ f4 = heapFloat[(r3+9)];
+ f5 = heapFloat[(r4+9)];
+ f6 = f0*f1;
+ f7 = f2*f3;
+ f8 = heapFloat[(r2+13)];
+ f9 = heapFloat[(r8+13)];
+ f10 = heapFloat[(r2+14)];
+ f11 = heapFloat[(r8+14)];
+ f8 = f8-f9;
+ f9 = f10-f11;
+ r3 = (r10 + 28)|0;
+ r4 = r5 << 2;
+ r5 = (r9 + 28)|0;
+ r0 = r0 << 2;
+ f6 = f6+f7;
+ f7 = f4*f5;
+ f10 = heapFloat[(r2+15)];
+ f11 = heapFloat[(r8+15)];
+ f10 = f10-f11;
+ f6 = f6+f7;
+ r1 = heap32[(r1+5)];
+ r4 = (r3 + r4)|0;
+ r3 = (r3 + r11)|0;
+ r0 = (r5 + r0)|0;
+ r5 = (r5 + r12)|0;
+ f7 = f0*f8;
+ f11 = f2*f9;
+ f12 = f1*f8;
+ f13 = f3*f9;
+ r1 = r1 >> 2;
+ r4 = r4 >> 2;
+ r3 = r3 >> 2;
+ r0 = r0 >> 2;
+ r5 = r5 >> 2;
+ f14 = 1;
+ f15 = f6*f6;
+ f7 = f7+f11;
+ f11 = f4*f10;
+ f12 = f12+f13;
+ f13 = f5*f10;
+ f15 = f14-f15;
+ f16 = heapFloat[(r1+280)];
+ f17 = heapFloat[(r4)];
+ f18 = heapFloat[(r3)];
+ f19 = heapFloat[(r0)];
+ f20 = heapFloat[(r5)];
+ f7 = f7+f11;
+ f11 = f12+f13;
+ f12 = 0;
+ if(f15 !=f12) //_LBB301_8
+{
+ f13 = f11*f6;
+ f13 = f7-f13;
+ f13 = f13/f15;
+ f15 = -f20;
+ if(f13 >=f15) //_LBB301_10
+{
+ if(f13 >f20) //_LBB301_12
+{
+ f15 = f20;
+}
+else{
+ f15 = f13;
+}
+}
+}
+else{
+ f15 = 0;
+}
+ f13 = f15*f6;
+ f11 = f13-f11;
+ f13 = -f18;
+ if(f11 >=f13) //_LBB301_19
+{
+ if(f11 >f18) //_LBB301_21
+{
+ f13 = f6*f18;
+ f6 = f13+f7;
+ f15 = -f20;
+ if(f6 >=f15) //_LBB301_23
+{
+ if(f6 >f20) //_LBB301_25
+{
+ f13 = f18;
+ f15 = f20;
+}
+else{
+ f13 = f18;
+ f15 = f6;
+}
+}
+else{
+ f13 = f18;
+}
+}
+else{
+ f13 = f11;
+}
+}
+else{
+ f6 = f6*f13;
+ f6 = f6+f7;
+ f15 = -f20;
+ if(f6 >=f15) //_LBB301_16
+{
+ if(f6 >f20) //_LBB301_18
+{
+ f15 = f20;
+}
+else{
+ f15 = f6;
+}
+}
+}
+ f6 = f0*f15;
+ f7 = f2*f15;
+ f1 = f1*f13;
+ f6 = f8-f6;
+ f3 = f3*f13;
+ f7 = f9-f7;
+ f8 = f4*f15;
+ f6 = f6+f1;
+ f7 = f7+f3;
+ f5 = f5*f13;
+ f8 = f10-f8;
+ f8 = f8+f5;
+ f9 = f6*f6;
+ f10 = f7*f7;
+ f9 = f9+f10;
+ f10 = f8*f8;
+ f9 = f9+f10;
+ heapFloat[(g0)] = f9;
+ sqrtf(i7);
+ f10 = f_g0-f19;
+ f10 = f10-f17;
+if(!(f10 >f16)) //_LBB301_36
+{
+ f11 = 1.4210854715202004e-014;
+ if(f9 >f11) //_LBB301_34
+{
+ heapFloat[(g0)] = f9;
+ f0 = -1;
+ sqrtf(i7);
+ f0 = f0/f_g0;
+ f9 = f6*f0;
+ r0 = sp + -16;
+ f6 = f7*f0;
+ r0 = r0 >> 2;
+ heapFloat[(fp+-4)] = f9;
+ f12 = f8*f0;
+ heapFloat[(r0+1)] = f6;
+ heapFloat[(r0+2)] = f12;
+ heap32[(r0+3)] = 0;
+}
+else{
+ if(f4 <f12) //_LBB301_30
+{
+ f6 = -f4;
+}
+else{
+ f6 = f4;
+}
+ f7 = 0.70710676908493042;
+ if(f6 <=f7) //_LBB301_33
+{
+ f6 = f0*f0;
+ f9 = f2*f2;
+ f6 = f6+f9;
+ heapFloat[(g0)] = f6;
+ sqrtf(i7);
+ f6 = f14/f_g0;
+ f9 = -f2;
+ f9 = f6*f9;
+ r0 = sp + -16;
+ f6 = f0*f6;
+ r0 = r0 >> 2;
+ heapFloat[(fp+-4)] = f9;
+ heapFloat[(r0+1)] = f6;
+ heap32[(r0+2)] = 0;
+}
+else{
+ f0 = f2*f2;
+ f6 = f4*f4;
+ f0 = f0+f6;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ r0 = sp + -16;
+ f0 = f14/f_g0;
+ f6 = -f4;
+ f6 = f0*f6;
+ r0 = r0 >> 2;
+ heap32[(fp+-4)] = 0;
+ f9 = 0;
+ f12 = f2*f0;
+ heapFloat[(r0+1)] = f6;
+ heapFloat[(r0+2)] = f12;
+}
+}
+ f0 = heapFloat[(r2+13)];
+ f2 = heapFloat[(r2+14)];
+ f4 = heapFloat[(r2+15)];
+ f0 = f0+f1;
+ f1 = f9*f17;
+ r0 = sp + -32;
+ f2 = f2+f3;
+ f3 = f6*f17;
+ f0 = f0+f1;
+ r0 = r0 >> 2;
+ f1 = f4+f5;
+ f4 = f12*f17;
+ f2 = f2+f3;
+ heapFloat[(fp+-8)] = f0;
+ f0 = f1+f4;
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+}
+if(!(f10 >=f16)) //_LBB301_40
+{
+ r0 = sp + -16;
+ r1 = r0 >> 2;
+ f0 = heapFloat[(fp+-4)];
+ f1 = heapFloat[(r1+1)];
+ f2 = heapFloat[(r1+2)];
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ f1 = 1.4210854715202004e-014;
+ if(f0 >=f1) //_LBB301_39
+{
+ r1 = heap32[(r7)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ r2 = sp + -32;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ heapFloat[(g0+3)] = f10;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+else{
+ r0 = _2E_str4119;
+ r1 = _2E_str5120;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 325;
+ _assert(i7);
+}
+}
+ r0 = heap32[(r7+1)];
+ if(r0 !=0) //_LBB301_42
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+279)];
+ if(r2 ==0) //_LBB301_47
+{
+__label__ = 44;
+}
+else{
+ r1 = heap32[(r1+277)];
+ r2 = heap32[(r7+34)];
+ if(r1 ==r2) //_LBB301_46
+{
+__label__ = 43;
+}
+else{
+ r1 = (r6 + 72)|0;
+ r2 = (r6 + 8)|0;
+__label__ = 42;
+}
+}
+}
+else{
+ r0 = _2E_str59;
+ r1 = _2E_str160;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 101;
+ _assert(i7);
+}
+}
+else{
+__label__ = 4;
+}
+}
+if (__label__ == 4){
+ r3 = sp + -168;
+ r4 = r3 >> 2;
+ heap32[(r4+32)] = 1566444395;
+ heap32[(r4+33)] = 0;
+ r12 = _ZTV17btGjkPairDetector;
+ r13 = heap32[(r1+2)];
+ r14 = heap32[(r1+3)];
+ r15 = sp + -248;
+ r12 = (r12 + 8)|0;
+ heap32[(fp+-62)] = r12;
+ r12 = r15 >> 2;
+ heap32[(r12+1)] = 0;
+ heap32[(r12+2)] = 1065353216;
+ heap32[(r12+3)] = 0;
+ heap32[(r12+4)] = 0;
+ heap32[(r12+5)] = r14;
+ heap32[(r12+6)] = r13;
+ heap32[(r12+7)] = r9;
+ heap32[(r12+8)] = r10;
+ r13 = heap32[(r11+1)];
+ heap32[(r12+9)] = r13;
+ r13 = r10 >> 2;
+ r14 = heap32[(r13+1)];
+ heap32[(r12+10)] = r14;
+ r14 = heap32[(r11)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+11)];
+ heap32[(g0)] = r9;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ heapFloat[(r12+11)] = f_g0;
+ r14 = heap32[(r13)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+11)];
+ heap32[(g0)] = r10;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ r14 = 0;
+ heapFloat[(r12+12)] = f_g0;
+ heap8[sp+-196] = r14;
+ heap32[(r12+15)] = -1;
+ heap32[(r12+18)] = 1;
+ heap32[(r12+7)] = r9;
+ heap32[(r12+8)] = r10;
+ r16 = heap32[(r11)];
+ r16 = r16 >> 2;
+ r17 = heapU8[r5+40];
+ r16 = heap32[(r16+11)];
+ heap32[(g0)] = r9;
+ __FUNCTION_TABLE__[(r16)>>2](i7);
+ f0 = f_g0;
+ r16 = heap32[(r13)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+11)];
+ heap32[(g0)] = r10;
+ __FUNCTION_TABLE__[(r16)>>2](i7);
+ f0 = f0+f_g0;
+ r16 = heap32[(r1+5)];
+ if(r17 ==0) //_LBB301_49
+{
+ r16 = (r16 + 1120)|0;
+}
+else{
+ r16 = (r16 + 1124)|0;
+}
+ r16 = r16 >> 2;
+ f1 = heapFloat[(r16)];
+ f0 = f0+f1;
+ f0 = f0*f0;
+ r5 = r5 >> 2;
+ heapFloat[(r4+32)] = f0;
+ r16 = heap32[(r5+11)];
+ heap32[(r4+33)] = r16;
+ heap32[(fp+-42)] = heap32[(r8+1)];
+ heap32[(r4+1)] = heap32[(r8+2)];
+ heap32[(r4+2)] = heap32[(r8+3)];
+ heap32[(r4+3)] = heap32[(r8+4)];
+ heap32[(r4+4)] = heap32[(r8+5)];
+ heap32[(r4+5)] = heap32[(r8+6)];
+ heap32[(r4+6)] = heap32[(r8+7)];
+ heap32[(r4+7)] = heap32[(r8+8)];
+ heap32[(r4+8)] = heap32[(r8+9)];
+ heap32[(r4+9)] = heap32[(r8+10)];
+ heap32[(r4+10)] = heap32[(r8+11)];
+ heap32[(r4+11)] = heap32[(r8+12)];
+ heap32[(r4+12)] = heap32[(r8+13)];
+ heap32[(r4+13)] = heap32[(r8+14)];
+ heap32[(r4+14)] = heap32[(r8+15)];
+ heap32[(r4+15)] = heap32[(r8+16)];
+ heap32[(r4+16)] = heap32[(r2+1)];
+ heap32[(r4+17)] = heap32[(r2+2)];
+ heap32[(r4+18)] = heap32[(r2+3)];
+ heap32[(r4+19)] = heap32[(r2+4)];
+ heap32[(r4+20)] = heap32[(r2+5)];
+ heap32[(r4+21)] = heap32[(r2+6)];
+ heap32[(r4+22)] = heap32[(r2+7)];
+ heap32[(r4+23)] = heap32[(r2+8)];
+ heap32[(r4+24)] = heap32[(r2+9)];
+ heap32[(r4+25)] = heap32[(r2+10)];
+ heap32[(r4+26)] = heap32[(r2+11)];
+ heap32[(r4+27)] = heap32[(r2+12)];
+ heap32[(r4+28)] = heap32[(r2+13)];
+ heap32[(r4+29)] = heap32[(r2+14)];
+ heap32[(r4+30)] = heap32[(r2+15)];
+ heap32[(r4+31)] = heap32[(r2+16)];
+ r16 = heap32[(r5+5)];
+ heap32[(g0)] = r15;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r16;
+ heap32[(g0+4)] = 0;
+ _ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(i7);
+ r16 = heap32[(r1+7)];
+_63: do {
+if(!(r16 ==0)) //_LBB301_73
+{
+ r16 = heap32[(r7+1)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+279)];
+ r17 = heap32[(r1+8)];
+if(!(r16 >=r17)) //_LBB301_73
+{
+ f0 = heapFloat[(r12+1)];
+ f1 = heapFloat[(r12+2)];
+ f2 = heapFloat[(r12+3)];
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = 1;
+ heapFloat[(fp+-169)] = f1;
+ f2 = heapFloat[(r12+3)];
+ f0 = f1/f_g0;
+ f1 = heapFloat[(r12+2)];
+ f3 = heapFloat[(r12+1)];
+ f2 = f2*f0;
+ heapFloat[(fp+-171)] = f2;
+ f1 = f1*f0;
+ heapFloat[(fp+-170)] = f1;
+ f0 = f3*f0;
+ heapFloat[(fp+-174)] = f0;
+ f0 = 0;
+ heapFloat[(fp+-175)] = f0;
+ if(f2 <f0) //_LBB301_54
+{
+ f0 = f2;
+ f0 = -f0;
+}
+else{
+ f0 = heapFloat[(fp+-171)];
+}
+ f1 = 0.70710676908493042;
+ if(f0 <=f1) //_LBB301_57
+{
+ f0 = heapFloat[(fp+-174)];
+ f1 = f0*f0;
+ f2 = heapFloat[(fp+-170)];
+ f3 = f2*f2;
+ f1 = f1+f3;
+ heapFloat[(g0)] = f1;
+ sqrtf(i7);
+ f3 = heapFloat[(fp+-169)];
+ f1 = f3/f_g0;
+ f2 = -f2;
+ f2 = f1*f2;
+ heapFloat[(fp+-173)] = f2;
+ f0 = f0*f1;
+ heapFloat[(fp+-172)] = f0;
+}
+else{
+ f0 = heapFloat[(fp+-170)];
+ f1 = f0*f0;
+ f2 = heapFloat[(fp+-171)];
+ f3 = f2*f2;
+ f1 = f1+f3;
+ heapFloat[(g0)] = f1;
+ sqrtf(i7);
+ f3 = heapFloat[(fp+-169)];
+ f1 = f3/f_g0;
+ f2 = -f2;
+ f2 = f1*f2;
+ heapFloat[(fp+-172)] = f2;
+ f0 = f0*f1;
+ heapFloat[(fp+-175)] = f0;
+ f0 = 0;
+ heapFloat[(fp+-173)] = f0;
+}
+ r11 = heap32[(r11)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r9;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ f0 = f_g0;
+ heapFloat[(fp+-194)] = f0;
+ r9 = heap32[(r13)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+4)];
+ heap32[(g0)] = r10;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ f1 = f_g0;
+ heapFloat[(fp+-195)] = f1;
+ r9 = f0 < f1;
+ f2 = 0.019999999552965164;
+ f3 = f0 < f1 ? f0 : f1;
+ r9 = r9 & 1;
+ f2 = f2/f3;
+ if(f0 >=f1) //_LBB301_60
+{
+ f0 = heapFloat[(r4+16)];
+ heapFloat[(fp+-176)] = f0;
+ f0 = heapFloat[(r4+17)];
+ heapFloat[(fp+-177)] = f0;
+ f0 = heapFloat[(r4+18)];
+ heapFloat[(fp+-178)] = f0;
+ f0 = heapFloat[(r4+19)];
+ heapFloat[(fp+-179)] = f0;
+ f0 = heapFloat[(r4+20)];
+ heapFloat[(fp+-180)] = f0;
+ f0 = heapFloat[(r4+21)];
+ heapFloat[(fp+-181)] = f0;
+ f0 = heapFloat[(r4+22)];
+ heapFloat[(fp+-182)] = f0;
+ f0 = heapFloat[(r4+23)];
+ heapFloat[(fp+-183)] = f0;
+ f0 = heapFloat[(r4+24)];
+ heapFloat[(fp+-184)] = f0;
+ f0 = heapFloat[(r4+25)];
+ heapFloat[(fp+-185)] = f0;
+ f0 = heapFloat[(r4+26)];
+ heapFloat[(fp+-186)] = f0;
+ f0 = heapFloat[(r4+27)];
+ heapFloat[(fp+-187)] = f0;
+ f0 = heapFloat[(r4+28)];
+ heapFloat[(fp+-188)] = f0;
+ f0 = heapFloat[(r4+29)];
+ heapFloat[(fp+-189)] = f0;
+ f0 = heapFloat[(r4+30)];
+ heapFloat[(fp+-190)] = f0;
+ f0 = heapFloat[(r4+31)];
+ heapFloat[(fp+-191)] = f0;
+}
+else{
+ f0 = heapFloat[(fp+-42)];
+ heapFloat[(fp+-176)] = f0;
+ f0 = heapFloat[(r4+1)];
+ heapFloat[(fp+-177)] = f0;
+ f0 = heapFloat[(r4+2)];
+ heapFloat[(fp+-178)] = f0;
+ f0 = heapFloat[(r4+3)];
+ heapFloat[(fp+-179)] = f0;
+ f0 = heapFloat[(r4+4)];
+ heapFloat[(fp+-180)] = f0;
+ f0 = heapFloat[(r4+5)];
+ heapFloat[(fp+-181)] = f0;
+ f0 = heapFloat[(r4+6)];
+ heapFloat[(fp+-182)] = f0;
+ f0 = heapFloat[(r4+7)];
+ heapFloat[(fp+-183)] = f0;
+ f0 = heapFloat[(r4+8)];
+ heapFloat[(fp+-184)] = f0;
+ f0 = heapFloat[(r4+9)];
+ heapFloat[(fp+-185)] = f0;
+ f0 = heapFloat[(r4+10)];
+ heapFloat[(fp+-186)] = f0;
+ f0 = heapFloat[(r4+11)];
+ heapFloat[(fp+-187)] = f0;
+ f0 = heapFloat[(r4+12)];
+ heapFloat[(fp+-188)] = f0;
+ f0 = heapFloat[(r4+13)];
+ heapFloat[(fp+-189)] = f0;
+ f0 = heapFloat[(r4+14)];
+ heapFloat[(fp+-190)] = f0;
+ f0 = heapFloat[(r4+15)];
+ heapFloat[(fp+-191)] = f0;
+}
+ f0 = heapFloat[(fp+-173)];
+ f0 = f0*f0;
+ f1 = heapFloat[(fp+-172)];
+ f1 = f1*f1;
+ f3 = 0.5;
+ heapFloat[(fp+-193)] = f3;
+ f4 = heapFloat[(fp+-174)];
+ f4 = f4*f4;
+ f5 = heapFloat[(fp+-170)];
+ f5 = f5*f5;
+ f0 = f0+f1;
+ f1 = heapFloat[(fp+-175)];
+ f1 = f1*f1;
+ f6 = 0.39269909262657166;
+ f7 = 0.19634954631328583;
+ f3 = f2*f3;
+ f4 = f4+f5;
+ f5 = heapFloat[(fp+-171)];
+ f5 = f5*f5;
+ f0 = f0+f1;
+ heapFloat[(fp+-196)] = f0;
+ f0 = f2 > f6 ? f7 : f3;
+ heapFloat[(fp+-197)] = f0;
+ f0 = f4+f5;
+ heapFloat[(fp+-192)] = f0;
+_78: while(true){
+ r10 = heap32[(r1+7)];
+ if(r10 >r14) //_LBB301_62
+{
+ f0 = 1.1920928955078125e-007;
+ f1 = heapFloat[(fp+-196)];
+if(!(f1 <=f0)) //_LBB301_71
+{
+ f0 = f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f_g0;
+ f1 = 0;
+ if(f0 !=f1) //_LBB301_65
+{
+ f2 = heapFloat[(fp+-197)];
+ heapFloat[(g0)] = f2;
+ sinf(i7);
+ f3 = f_g0;
+ heapFloat[(g0)] = f2;
+ cosf(i7);
+ f2 = f_g0;
+ r10 = heap32[(r1+7)];
+ f4 = heapFloat[(fp+-192)];
+ heapFloat[(g0)] = f4;
+ sqrtf(i7);
+ f4 = f_g0;
+ if(f4 !=f1) //_LBB301_67
+{
+ f0 = f3/f0;
+ f3 = heapFloat[(fp+-175)];
+ f3 = f3*f0;
+ f5 = heapFloat[(fp+-172)];
+ f5 = f5*f0;
+ f6 = heapFloat[(fp+-173)];
+ f0 = f6*f0;
+ f6 = 6.2831854820251465;
+ f7 = r10; //fitos r10, f7
+ f8 = r14; //fitos r14, f8
+ f6 = f6/f7;
+ f6 = f8*f6;
+ f7 = heapFloat[(fp+-193)];
+ f6 = f6*f7;
+ heapFloat[(g0)] = f6;
+ sinf(i7);
+ heapFloat[(g0)] = f6;
+ f4 = f_g0/f4;
+ f6 = heapFloat[(fp+-171)];
+ f6 = f6*f4;
+ f7 = heapFloat[(fp+-170)];
+ f7 = f7*f4;
+ f8 = heapFloat[(fp+-174)];
+ f4 = f8*f4;
+ cosf(i7);
+ f8 = f_g0;
+ f10 = heapFloat[(fp+-195)];
+ f9 = heapFloat[(fp+-194)];
+ if(f9 >=f10) //_LBB301_69
+{
+ f9 = heapFloat[(r8+1)];
+ heapFloat[(fp+-155)] = f9;
+ heapFloat[(fp+-42)] = f9;
+ f9 = heapFloat[(r8+2)];
+ heapFloat[(fp+-156)] = f9;
+ heapFloat[(r4+1)] = f9;
+ f9 = heapFloat[(r8+3)];
+ heapFloat[(fp+-157)] = f9;
+ heapFloat[(r4+2)] = f9;
+ f9 = heapFloat[(r8+4)];
+ heapFloat[(fp+-163)] = f9;
+ heapFloat[(r4+3)] = f9;
+ f9 = heapFloat[(r8+5)];
+ heapFloat[(fp+-158)] = f9;
+ heapFloat[(r4+4)] = f9;
+ f9 = heapFloat[(r8+6)];
+ heapFloat[(fp+-159)] = f9;
+ heapFloat[(r4+5)] = f9;
+ f9 = heapFloat[(r8+7)];
+ heapFloat[(fp+-160)] = f9;
+ heapFloat[(r4+6)] = f9;
+ f9 = heapFloat[(r8+8)];
+ heapFloat[(fp+-162)] = f9;
+ heapFloat[(r4+7)] = f9;
+ f9 = heapFloat[(r8+9)];
+ heapFloat[(fp+-161)] = f9;
+ f10 = f8*f2;
+ f11 = f0*f4;
+ f12 = f8*f0;
+ f13 = f2*f4;
+ f14 = f8*f5;
+ f15 = f2*f7;
+ heapFloat[(r4+8)] = f9;
+ f9 = f10+f11;
+ f10 = f5*f7;
+ f11 = f8*f3;
+ f2 = f2*f6;
+ f12 = f12-f13;
+ f13 = f3*f7;
+ f14 = f14-f15;
+ f15 = f0*f6;
+ f16 = heapFloat[(r8+10)];
+ heapFloat[(fp+-164)] = f16;
+ f9 = f9+f10;
+ f10 = f3*f6;
+ f2 = f11-f2;
+ f11 = f5*f4;
+ f12 = f12-f13;
+ f5 = f5*f6;
+ f13 = f14-f15;
+ f3 = f3*f4;
+ f9 = f9+f10;
+ f5 = f12+f5;
+ f3 = f13+f3;
+ heapFloat[(r4+9)] = f16;
+ f2 = f2-f11;
+ f0 = f0*f7;
+ f0 = f2+f0;
+ f2 = heapFloat[(r8+11)];
+ heapFloat[(fp+-166)] = f2;
+ f10 = f9*f7;
+ f11 = f3*f8;
+ f12 = f9*f4;
+ f13 = f5*f8;
+ heapFloat[(r4+10)] = f2;
+ f2 = f10+f11;
+ f10 = f0*f4;
+ f11 = f12+f13;
+ f12 = f3*f6;
+ f13 = f9*f6;
+ f14 = f0*f8;
+ f17 = heapFloat[(r8+12)];
+ f8 = f9*f8;
+ f9 = f5*f4;
+ f2 = f2+f10;
+ f10 = f5*f6;
+ f11 = f11+f12;
+ f12 = f0*f7;
+ f13 = f13+f14;
+ f5 = f5*f7;
+ f10 = f2-f10;
+ f2 = f11-f12;
+ heapFloat[(r4+11)] = f17;
+ f8 = f8-f9;
+ f7 = f3*f7;
+ f5 = f13+f5;
+ f3 = f3*f4;
+ f4 = heapFloat[(r8+13)];
+ heapFloat[(fp+-165)] = f4;
+ f3 = f5-f3;
+ f5 = f8-f7;
+ f0 = f0*f6;
+ f6 = f2*f2;
+ f7 = f10*f10;
+ f5 = f5-f0;
+ heapFloat[(r4+12)] = f4;
+ f0 = f6+f7;
+ f4 = f3*f3;
+ f6 = heapFloat[(r8+14)];
+ heapFloat[(fp+-167)] = f6;
+ f0 = f0+f4;
+ f4 = f5*f5;
+ heapFloat[(r4+13)] = f6;
+ f6 = 2;
+ f0 = f0+f4;
+ f0 = f6/f0;
+ f4 = heapFloat[(r8+15)];
+ heapFloat[(fp+-168)] = f4;
+ f6 = f3*f0;
+ f7 = f10*f0;
+ heapFloat[(r4+14)] = f4;
+ f16 = heapFloat[(r8+16)];
+ f4 = f10*f7;
+ f3 = f3*f6;
+ f8 = f4+f3;
+ f9 = f2*f7;
+ f11 = f5*f6;
+ heapFloat[(r4+15)] = f16;
+ f12 = heapFloat[(fp+-169)];
+ f8 = f12-f8;
+ f13 = heapFloat[(r2+1)];
+ f14 = f9-f11;
+ f15 = heapFloat[(r2+5)];
+ f18 = f2*f6;
+ f7 = f5*f7;
+ f19 = f2*f0;
+ f20 = heapFloat[(r2+2)];
+ f21 = heapFloat[(r2+6)];
+ f0 = f13*f8;
+ f22 = f15*f14;
+ f23 = f18+f7;
+ f24 = heapFloat[(r2+9)];
+ f25 = f2*f19;
+ f26 = heapFloat[(r2+3)];
+ f27 = heapFloat[(r2+7)];
+ f28 = heapFloat[(r2+11)];
+ f29 = heapFloat[(r2+10)];
+ f2 = f20*f8;
+ f30 = f21*f14;
+ f0 = f0+f22;
+ f22 = f24*f23;
+ f3 = f25+f3;
+ f0 = f0+f22;
+ f8 = f26*f8;
+ f14 = f27*f14;
+ f2 = f2+f30;
+ f22 = f29*f23;
+ f9 = f9+f11;
+ f11 = f12-f3;
+ f2 = f2+f22;
+ heapFloat[(r4+16)] = f0;
+ f6 = f10*f6;
+ f10 = f5*f19;
+ f3 = f8+f14;
+ f5 = f28*f23;
+ f8 = f6-f10;
+ f3 = f3+f5;
+ heapFloat[(r4+17)] = f2;
+ f5 = f13*f9;
+ f14 = f15*f11;
+ heapFloat[(r4+18)] = f3;
+ f19 = f20*f9;
+ f22 = f21*f11;
+ f5 = f5+f14;
+ f14 = f24*f8;
+ f5 = f5+f14;
+ heap32[(r4+19)] = 0;
+ f9 = f26*f9;
+ f11 = f27*f11;
+ f14 = f19+f22;
+ f19 = f29*f8;
+ f18 = f18-f7;
+ f10 = f6+f10;
+ f4 = f25+f4;
+ f6 = f14+f19;
+ heapFloat[(r4+20)] = f5;
+ f7 = f9+f11;
+ f8 = f28*f8;
+ f4 = f12-f4;
+ f7 = f7+f8;
+ heapFloat[(r4+21)] = f6;
+ f8 = f13*f18;
+ f9 = f15*f10;
+ heapFloat[(r4+22)] = f7;
+ f11 = f20*f18;
+ f12 = f21*f10;
+ f8 = f8+f9;
+ f9 = f24*f4;
+ f9 = f8+f9;
+ heap32[(r4+23)] = 0;
+ f8 = f26*f18;
+ f13 = f27*f10;
+ f10 = f11+f12;
+ f11 = f29*f4;
+ f10 = f10+f11;
+ heapFloat[(r4+24)] = f9;
+ f8 = f8+f13;
+ f4 = f28*f4;
+ f11 = f8+f4;
+ heapFloat[(r4+25)] = f10;
+ heapFloat[(r4+26)] = f11;
+ heap32[(r4+27)] = 0;
+ f12 = heapFloat[(r4+28)];
+ f13 = heapFloat[(r4+29)];
+ f14 = heapFloat[(r4+30)];
+ f15 = heapFloat[(r4+31)];
+ f8 = f1;
+ f4 = f1;
+}
+else{
+ f1 = f8*f2;
+ f9 = f0*f4;
+ f10 = f8*f0;
+ f11 = f2*f4;
+ f12 = f8*f5;
+ f13 = f2*f7;
+ f1 = f1+f9;
+ f9 = f5*f7;
+ f14 = f8*f3;
+ f2 = f2*f6;
+ f10 = f10-f11;
+ f11 = f3*f7;
+ f12 = f12-f13;
+ f13 = f0*f6;
+ f1 = f1+f9;
+ f9 = f3*f6;
+ f2 = f14-f2;
+ f14 = f5*f4;
+ f10 = f10-f11;
+ f5 = f5*f6;
+ f11 = f12-f13;
+ f3 = f3*f4;
+ f1 = f1+f9;
+ f5 = f10+f5;
+ f3 = f11+f3;
+ f2 = f2-f14;
+ f0 = f0*f7;
+ f0 = f2+f0;
+ f2 = f1*f7;
+ f9 = f3*f8;
+ f10 = f1*f4;
+ f11 = f5*f8;
+ f2 = f2+f9;
+ f9 = f0*f4;
+ f10 = f10+f11;
+ f11 = f3*f6;
+ f12 = f1*f6;
+ f13 = f0*f8;
+ f1 = f1*f8;
+ f8 = f5*f4;
+ f2 = f2+f9;
+ f9 = f5*f6;
+ f10 = f10+f11;
+ f11 = f0*f7;
+ f12 = f12+f13;
+ f5 = f5*f7;
+ f2 = f2-f9;
+ f9 = f10-f11;
+ f1 = f1-f8;
+ f7 = f3*f7;
+ f5 = f12+f5;
+ f3 = f3*f4;
+ f3 = f5-f3;
+ f1 = f1-f7;
+ f0 = f0*f6;
+ f4 = f9*f9;
+ f5 = f2*f2;
+ f0 = f1-f0;
+ f1 = f4+f5;
+ f4 = f3*f3;
+ f1 = f1+f4;
+ f4 = f0*f0;
+ f5 = 2;
+ f1 = f1+f4;
+ f1 = f5/f1;
+ f4 = f3*f1;
+ f5 = f2*f1;
+ f6 = f2*f5;
+ f3 = f3*f4;
+ f7 = f6+f3;
+ f8 = f9*f5;
+ f10 = f0*f4;
+ f11 = heapFloat[(fp+-169)];
+ f7 = f11-f7;
+ f12 = heapFloat[(r8+1)];
+ f13 = f8-f10;
+ f14 = heapFloat[(r8+5)];
+ f15 = f9*f4;
+ f5 = f0*f5;
+ f1 = f9*f1;
+ f16 = heapFloat[(r8+2)];
+ f17 = heapFloat[(r8+6)];
+ f18 = f12*f7;
+ f19 = f14*f13;
+ f20 = f15+f5;
+ f21 = heapFloat[(r8+9)];
+ f9 = f9*f1;
+ f22 = heapFloat[(r8+3)];
+ f23 = heapFloat[(r8+7)];
+ f24 = heapFloat[(r8+11)];
+ f25 = heapFloat[(r8+10)];
+ f26 = f16*f7;
+ f27 = f17*f13;
+ f18 = f18+f19;
+ f19 = f21*f20;
+ f3 = f9+f3;
+ f18 = f18+f19;
+ heapFloat[(fp+-155)] = f18;
+ f7 = f22*f7;
+ f13 = f23*f13;
+ f19 = f26+f27;
+ f26 = f25*f20;
+ f8 = f8+f10;
+ f3 = f11-f3;
+ f10 = f19+f26;
+ heapFloat[(fp+-156)] = f10;
+ heapFloat[(fp+-42)] = f18;
+ f2 = f2*f4;
+ f0 = f0*f1;
+ f1 = f7+f13;
+ f4 = f24*f20;
+ f7 = f2-f0;
+ f1 = f1+f4;
+ heapFloat[(fp+-157)] = f1;
+ heapFloat[(r4+1)] = f10;
+ f4 = f12*f8;
+ f10 = f14*f3;
+ heapFloat[(r4+2)] = f1;
+ f1 = f16*f8;
+ f13 = f17*f3;
+ f4 = f4+f10;
+ f10 = f21*f7;
+ f4 = f4+f10;
+ heapFloat[(fp+-158)] = f4;
+ heap32[(r4+3)] = 0;
+ f8 = f22*f8;
+ f3 = f23*f3;
+ f1 = f1+f13;
+ f10 = f25*f7;
+ f5 = f15-f5;
+ f0 = f2+f0;
+ f2 = f9+f6;
+ f1 = f1+f10;
+ heapFloat[(fp+-159)] = f1;
+ heapFloat[(r4+4)] = f4;
+ f3 = f8+f3;
+ f4 = f24*f7;
+ f2 = f11-f2;
+ f3 = f3+f4;
+ heapFloat[(fp+-160)] = f3;
+ heapFloat[(r4+5)] = f1;
+ f1 = f12*f5;
+ f4 = f14*f0;
+ heapFloat[(r4+6)] = f3;
+ f3 = f16*f5;
+ f6 = f17*f0;
+ f1 = f1+f4;
+ f4 = f21*f2;
+ f1 = f1+f4;
+ heapFloat[(fp+-161)] = f1;
+ heap32[(r4+7)] = 0;
+ f4 = f22*f5;
+ f0 = f23*f0;
+ f3 = f3+f6;
+ f5 = f25*f2;
+ f3 = f3+f5;
+ heapFloat[(fp+-164)] = f3;
+ heapFloat[(r4+8)] = f1;
+ f0 = f4+f0;
+ f1 = f24*f2;
+ f0 = f0+f1;
+ heapFloat[(fp+-166)] = f0;
+ heapFloat[(r4+9)] = f3;
+ heapFloat[(r4+10)] = f0;
+ heap32[(r4+11)] = 0;
+ f0 = heapFloat[(r2+1)];
+ heapFloat[(r4+16)] = f0;
+ f2 = heapFloat[(r2+2)];
+ heapFloat[(r4+17)] = f2;
+ f3 = heapFloat[(r2+3)];
+ heapFloat[(r4+18)] = f3;
+ f4 = heapFloat[(r2+4)];
+ heapFloat[(r4+19)] = f4;
+ f5 = heapFloat[(r2+5)];
+ heapFloat[(r4+20)] = f5;
+ f6 = heapFloat[(r2+6)];
+ heapFloat[(r4+21)] = f6;
+ f7 = heapFloat[(r2+7)];
+ heapFloat[(r4+22)] = f7;
+ f8 = heapFloat[(r2+8)];
+ heapFloat[(r4+23)] = f8;
+ f9 = heapFloat[(r2+9)];
+ heapFloat[(r4+24)] = f9;
+ f10 = heapFloat[(r2+10)];
+ heapFloat[(r4+25)] = f10;
+ f11 = heapFloat[(r2+11)];
+ heapFloat[(r4+26)] = f11;
+ f1 = heapFloat[(r2+12)];
+ heapFloat[(r4+27)] = f1;
+ f12 = heapFloat[(r2+13)];
+ heapFloat[(r4+28)] = f12;
+ f13 = heapFloat[(r2+14)];
+ heapFloat[(r4+29)] = f13;
+ f14 = heapFloat[(r2+15)];
+ heapFloat[(r4+30)] = f14;
+ f15 = heapFloat[(r2+16)];
+ heapFloat[(r4+31)] = f15;
+ f16 = heapFloat[(r4+12)];
+ heapFloat[(fp+-165)] = f16;
+ f16 = heapFloat[(r4+13)];
+ heapFloat[(fp+-167)] = f16;
+ f16 = heapFloat[(r4+14)];
+ heapFloat[(fp+-168)] = f16;
+ f16 = heapFloat[(r4+15)];
+ f17 = 0;
+ heapFloat[(fp+-162)] = f17;
+ heapFloat[(fp+-163)] = f17;
+}
+ r10 = _ZTV24btPerturbedContactResult;
+ r11 = sp + -616;
+ r12 = heap32[(r5+5)];
+ r10 = (r10 + 8)|0;
+ r13 = r11 >> 2;
+ heap32[(fp+-154)] = r10;
+ heap32[(r13+40)] = r6;
+ f18 = heapFloat[(fp+-155)];
+ heapFloat[(r13+41)] = f18;
+ f18 = heapFloat[(fp+-156)];
+ heapFloat[(r13+42)] = f18;
+ f18 = heapFloat[(fp+-157)];
+ heapFloat[(r13+43)] = f18;
+ f22 = heapFloat[(fp+-163)];
+ heapFloat[(r13+44)] = f22;
+ f18 = heapFloat[(fp+-158)];
+ heapFloat[(r13+45)] = f18;
+ f18 = heapFloat[(fp+-159)];
+ heapFloat[(r13+46)] = f18;
+ f18 = heapFloat[(fp+-160)];
+ heapFloat[(r13+47)] = f18;
+ f22 = heapFloat[(fp+-162)];
+ heapFloat[(r13+48)] = f22;
+ f18 = heapFloat[(fp+-161)];
+ heapFloat[(r13+49)] = f18;
+ f18 = heapFloat[(fp+-164)];
+ heapFloat[(r13+50)] = f18;
+ f18 = heapFloat[(fp+-166)];
+ heapFloat[(r13+51)] = f18;
+ heapFloat[(r13+52)] = f17;
+ f17 = heapFloat[(fp+-165)];
+ heapFloat[(r13+53)] = f17;
+ f17 = heapFloat[(fp+-167)];
+ heapFloat[(r13+54)] = f17;
+ f17 = heapFloat[(fp+-168)];
+ heapFloat[(r13+55)] = f17;
+ heapFloat[(r13+56)] = f16;
+ heapFloat[(r13+57)] = f0;
+ heapFloat[(r13+58)] = f2;
+ heapFloat[(r13+59)] = f3;
+ heapFloat[(r13+60)] = f4;
+ heapFloat[(r13+61)] = f5;
+ heapFloat[(r13+62)] = f6;
+ heapFloat[(r13+63)] = f7;
+ heapFloat[(r13+64)] = f8;
+ heapFloat[(r13+65)] = f9;
+ heapFloat[(r13+66)] = f10;
+ heapFloat[(r13+67)] = f11;
+ heapFloat[(r13+68)] = f1;
+ heapFloat[(r13+69)] = f12;
+ heapFloat[(r13+70)] = f13;
+ heapFloat[(r13+71)] = f14;
+ heapFloat[(r13+72)] = f15;
+ f0 = heapFloat[(fp+-176)];
+ heapFloat[(r13+73)] = f0;
+ f0 = heapFloat[(fp+-177)];
+ heapFloat[(r13+74)] = f0;
+ f0 = heapFloat[(fp+-178)];
+ heapFloat[(r13+75)] = f0;
+ f0 = heapFloat[(fp+-179)];
+ heapFloat[(r13+76)] = f0;
+ f0 = heapFloat[(fp+-180)];
+ heapFloat[(r13+77)] = f0;
+ f0 = heapFloat[(fp+-181)];
+ heapFloat[(r13+78)] = f0;
+ f0 = heapFloat[(fp+-182)];
+ heapFloat[(r13+79)] = f0;
+ f0 = heapFloat[(fp+-183)];
+ heapFloat[(r13+80)] = f0;
+ f0 = heapFloat[(fp+-184)];
+ heapFloat[(r13+81)] = f0;
+ f0 = heapFloat[(fp+-185)];
+ heapFloat[(r13+82)] = f0;
+ f0 = heapFloat[(fp+-186)];
+ heapFloat[(r13+83)] = f0;
+ f0 = heapFloat[(fp+-187)];
+ heapFloat[(r13+84)] = f0;
+ f0 = heapFloat[(fp+-188)];
+ heapFloat[(r13+85)] = f0;
+ f0 = heapFloat[(fp+-189)];
+ heapFloat[(r13+86)] = f0;
+ f0 = heapFloat[(fp+-190)];
+ heapFloat[(r13+87)] = f0;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(r13+88)] = f0;
+ heap8[sp+-260] = r9;
+ heap32[(r13+90)] = r12;
+ heap32[(g0)] = r15;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = r12;
+ heap32[(g0+4)] = 0;
+ _ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(i7);
+}
+else{
+break _78;
+}
+}
+else{
+break _78;
+}
+}
+ r14 = (r14 + 1)|0;
+}
+else{
+break _63;
+}
+}
+ r0 = _2E_str115;
+ r1 = _2E_str685;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 61;
+ _assert(i7);
+}
+}
+} while(0);
+ r0 = heapU8[r0+16];
+ if(r0 ==0) //_LBB301_47
+{
+__label__ = 44;
+}
+else{
+ r0 = heap32[(r7+1)];
+ if(r0 !=0) //_LBB301_76
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+279)];
+ if(r2 ==0) //_LBB301_47
+{
+__label__ = 44;
+}
+else{
+ r1 = heap32[(r1+277)];
+ r2 = heap32[(r7+34)];
+ if(r1 ==r2) //_LBB301_79
+{
+__label__ = 43;
+}
+else{
+ r1 = (r6 + 72)|0;
+ r6 = (r6 + 8)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r6;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+ return;
+}
+}
+}
+else{
+ r0 = _2E_str59;
+ r6 = _2E_str160;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = 101;
+ _assert(i7);
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 44:
+ return;
+break;
+case 43:
+ r1 = (r6 + 8)|0;
+ r2 = (r6 + 72)|0;
+break;
+}
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+ return;
+}
+
+function _ZN23btConvexConvexAlgorithmD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV23btConvexConvexAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+16];
+if(!(r1 ==0)) //_LBB302_3
+{
+ r1 = heap32[(r2+5)];
+if(!(r1 ==0)) //_LBB302_3
+{
+ r3 = heap32[(r2+1)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+}
+ r1 = _ZTV30btActivatingCollisionAlgorithm;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN23btConvexConvexAlgorithmD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV23btConvexConvexAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r0 = heapU8[r0+16];
+if(!(r0 ==0)) //_LBB303_3
+{
+ r0 = heap32[(r2+5)];
+if(!(r0 ==0)) //_LBB303_3
+{
+ r1 = heap32[(r2+1)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+}
+ r0 = _ZTV30btActivatingCollisionAlgorithm;
+ r0 = (r0 + 8)|0;
+ heap32[(r2)] = r0;
+ return;
+}
+
+function _ZN31btConvexPlaneCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var f0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ f0 = 1;
+ f_g0 = f0;
+ return;
+}
+
+function _ZN31btConvexPlaneCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+3)];
+if(!(r2 ==0)) //_LBB305_23
+{
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB305_23
+{
+ r0 = heap32[(fp+1)];
+ r3 = r0 >> 2;
+ r4 = heap32[(r3+2)];
+ r5 = heap32[(r3+1)];
+ if(r4 ==r5) //_LBB305_4
+{
+ r6 = 1;
+ r7 = r5 << 1;
+ r7 = r5 == 0 ? r6 : r7;
+if(!(r4 >=r7)) //_LBB305_3
+{
+ if(r7 !=0) //_LBB305_7
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r4 = heap32[(r2)];
+ r8 = r7 << 2;
+ r4 = (r4 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r2)] = r4;
+ r2 = (r8 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB305_9
+{
+ r4 = 0;
+ r8 = (r2 + 4)|0;
+ r4 = (r4 - r8)|0;
+ r4 = r4 & 15;
+ r4 = (r2 + r4)|0;
+ r8 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r2;
+ r2 = r8;
+}
+}
+else{
+ r2 = 0;
+}
+ r4 = (r0 + 12)|0;
+ if(r5 <1) //_LBB305_12
+{
+ r8 = r4 >> 2;
+ r9 = heap32[(r8)];
+}
+else{
+ r8 = 0;
+_15: while(true){
+ r9 = r4 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r8 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r2 + r10)|0;
+ r11 = heap32[(r11)];
+ r8 = (r8 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r11;
+if(!(r5 !=r8)) //_LBB305_13
+{
+break _15;
+}
+}
+ r4 = (r0 + 12)|0;
+}
+ if(r9 !=0) //_LBB305_17
+{
+ r8 = heapU8[r0+16];
+ if(r8 !=0) //_LBB305_19
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r8 = heap32[(r5)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r5)] = r8;
+ r5 = heap32[(r9+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+ r5 = heap32[(r3+1)];
+}
+ r8 = r4 >> 2;
+ heap32[(r8)] = 0;
+}
+ r4 = r4 >> 2;
+ heap8[r0+16] = r6;
+ heap32[(r4)] = r2;
+ heap32[(r3+2)] = r7;
+ r2 = heap32[(r1+3)];
+}
+}
+ r0 = r5 << 2;
+ r1 = heap32[(r3+3)];
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r2;
+ r0 = heap32[(r3+1)];
+ r0 = (r0 + 1)|0;
+ heap32[(r3+1)] = r0;
+}
+}
+ return;
+}
+
+function _ZN31btConvexPlaneCollisionAlgorithm20collideSingleContactERK12btQuaternionP17btCollisionObjectS4_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -136;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0)];
+ f1 = heapFloat[(r0+1)];
+ f2 = heapFloat[(r0+2)];
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f5 = heapFloat[(r0+3)];
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ f4 = f5*f5;
+ f6 = 2;
+ f3 = f3+f4;
+ f3 = f6/f3;
+ r0 = heap32[(fp)];
+ f4 = f2*f3;
+ f6 = f1*f3;
+ r1 = heapU8[r0+16];
+ r2 = heap32[(fp+3)];
+ r3 = heap32[(fp+2)];
+ f3 = f0*f3;
+ r4 = r1 == 0 ? r3 : r2;
+ f7 = f1*f6;
+ f2 = f2*f4;
+ r4 = r4 >> 2;
+ f8 = f0*f3;
+ f9 = 1;
+ f10 = f7+f2;
+ f11 = f0*f6;
+ f12 = f5*f4;
+ f2 = f8+f2;
+ f10 = f9-f10;
+ f13 = heapFloat[(r4+1)];
+ heapFloat[(fp+-17)] = f13;
+ f13 = heapFloat[(r4+5)];
+ heapFloat[(fp+-18)] = f13;
+ f14 = f11+f12;
+ f13 = heapFloat[(r4+2)];
+ heapFloat[(fp+-19)] = f13;
+ f13 = heapFloat[(r4+6)];
+ heapFloat[(fp+-20)] = f13;
+ f0 = f0*f4;
+ f6 = f5*f6;
+ f11 = f11-f12;
+ f2 = f9-f2;
+ f12 = heapFloat[(r4+9)];
+ heapFloat[(fp+-24)] = f12;
+ f15 = heapFloat[(r4+10)];
+ heapFloat[(fp+-25)] = f15;
+ r1 = r1 == 0 ? r2 : r3;
+ f1 = f1*f4;
+ f3 = f5*f3;
+ f13 = heapFloat[(fp+-17)];
+ f4 = f10*f13;
+ f13 = heapFloat[(fp+-19)];
+ f5 = f14*f13;
+ f13 = heapFloat[(fp+-18)];
+ f16 = f10*f13;
+ f13 = heapFloat[(fp+-20)];
+ f17 = f14*f13;
+ f18 = f0-f6;
+ f19 = heapFloat[(r4+3)];
+ heapFloat[(fp+-26)] = f19;
+ f20 = heapFloat[(r4+7)];
+ heapFloat[(fp+-27)] = f20;
+ r1 = r1 >> 2;
+ f0 = f0+f6;
+ f6 = f1-f3;
+ f1 = f1+f3;
+ f3 = heapFloat[(r4+11)];
+ heapFloat[(fp+-21)] = f3;
+ f7 = f8+f7;
+ f13 = heapFloat[(fp+-17)];
+ f8 = f11*f13;
+ f13 = heapFloat[(fp+-19)];
+ f21 = f2*f13;
+ f13 = heapFloat[(fp+-18)];
+ f22 = f11*f13;
+ f13 = heapFloat[(fp+-20)];
+ f23 = f2*f13;
+ f4 = f4+f5;
+ f5 = f18*f19;
+ f16 = f16+f17;
+ f17 = f18*f20;
+ f10 = f10*f12;
+ f14 = f14*f15;
+ f7 = f9-f7;
+ f9 = heapFloat[(r1+2)];
+ f24 = heapFloat[(r1+6)];
+ f25 = heapFloat[(r1+1)];
+ f26 = heapFloat[(r1+5)];
+ f4 = f4+f5;
+ f5 = f16+f17;
+ r2 = heap32[(r1+48)];
+ f13 = heapFloat[(fp+-17)];
+ f16 = f0*f13;
+ f13 = heapFloat[(fp+-19)];
+ f17 = f6*f13;
+ f13 = heapFloat[(fp+-18)];
+ f27 = f0*f13;
+ f13 = heapFloat[(fp+-20)];
+ f28 = f6*f13;
+ f8 = f8+f21;
+ f21 = f1*f19;
+ f22 = f22+f23;
+ f23 = f1*f20;
+ f11 = f11*f12;
+ f2 = f2*f15;
+ f10 = f10+f14;
+ f14 = f18*f3;
+ f18 = heapFloat[(r1+3)];
+ f29 = heapFloat[(r1+7)];
+ f8 = f8+f21;
+ f21 = f22+f23;
+ f22 = heapFloat[(r1+10)];
+ f23 = heapFloat[(r1+9)];
+ r2 = r2 >> 2;
+ f10 = f10+f14;
+ r3 = heap32[(r4+48)];
+ f14 = f16+f17;
+ f16 = f7*f19;
+ f17 = f27+f28;
+ f27 = f7*f20;
+ f0 = f0*f12;
+ f6 = f6*f15;
+ f2 = f11+f2;
+ f1 = f1*f3;
+ f11 = f25*f4;
+ f28 = f26*f5;
+ f30 = f9*f4;
+ f3 = f24*f5;
+ f12 = heapFloat[(r1+11)];
+ f14 = f14+f16;
+ f16 = f17+f27;
+ f1 = f2+f1;
+ r5 = r3 >> 2;
+ f2 = heapFloat[(r2+12)];
+ f0 = f0+f6;
+ f6 = heapFloat[(fp+-21)];
+ f7 = f7*f6;
+ f17 = f25*f8;
+ f27 = f26*f21;
+ f6 = f9*f8;
+ f13 = f24*f21;
+ f11 = f11+f28;
+ f28 = f23*f10;
+ f3 = f30+f3;
+ f30 = f22*f10;
+ f4 = f18*f4;
+ f5 = f29*f5;
+ f0 = f0+f7;
+ r5 = heap32[(r5)];
+ f7 = f25*f14;
+ f15 = f26*f16;
+ f19 = f9*f14;
+ f20 = f24*f16;
+ f17 = f17+f27;
+ f27 = f23*f1;
+ f6 = f6+f13;
+ f13 = f22*f1;
+ f8 = f18*f8;
+ f21 = f29*f21;
+ f11 = f11+f28;
+ f2 = -f2;
+ f3 = f3+f30;
+ f28 = heapFloat[(r2+13)];
+ f4 = f4+f5;
+ f5 = f12*f10;
+ r5 = r5 >> 2;
+ f10 = f17+f27;
+ f6 = f6+f13;
+ f7 = f7+f15;
+ f13 = f23*f0;
+ f15 = f19+f20;
+ f17 = f22*f0;
+ f14 = f18*f14;
+ f16 = f29*f16;
+ f8 = f8+f21;
+ f1 = f12*f1;
+ f11 = f11*f2;
+ f3 = f3*f28;
+ f4 = f4+f5;
+ f5 = heapFloat[(r2+14)];
+ f19 = heapFloat[(r4+13)];
+ heapFloat[(fp+-22)] = f19;
+ f19 = heapFloat[(r4+14)];
+ heapFloat[(fp+-23)] = f19;
+ f20 = heapFloat[(r4+15)];
+ heapFloat[(fp+-28)] = f20;
+ f21 = heapFloat[(r1+14)];
+ f27 = heapFloat[(r1+15)];
+ heapFloat[(fp+-29)] = f27;
+ f7 = f7+f13;
+ f13 = f15+f17;
+ f1 = f8+f1;
+ f8 = heapFloat[(r1+13)];
+ r4 = heap32[(r5+15)];
+ f14 = f14+f16;
+ f0 = f12*f0;
+ f10 = f10*f2;
+ f6 = f6*f28;
+ f3 = f11-f3;
+ f4 = f4*f5;
+ r5 = sp + -16;
+ f0 = f14+f0;
+ f2 = f7*f2;
+ f7 = f13*f28;
+ f6 = f10-f6;
+ f1 = f1*f5;
+ f3 = f3-f4;
+ r6 = r5 >> 2;
+ f2 = f2-f7;
+ f0 = f0*f5;
+ f1 = f6-f1;
+ heapFloat[(fp+-4)] = f3;
+ f0 = f2-f0;
+ heapFloat[(r6+1)] = f1;
+ heapFloat[(r6+2)] = f0;
+ heap32[(r6+3)] = 0;
+ r6 = sp + -32;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r5;
+ f13 = heapFloat[(fp+-17)];
+ f0 = f13*f9;
+ f13 = heapFloat[(fp+-18)];
+ f1 = f13*f24;
+ f13 = heapFloat[(fp+-19)];
+ f2 = f13*f9;
+ f13 = heapFloat[(fp+-20)];
+ f3 = f13*f24;
+ f13 = heapFloat[(fp+-17)];
+ f4 = f13*f25;
+ f13 = heapFloat[(fp+-18)];
+ f5 = f13*f26;
+ f13 = heapFloat[(fp+-19)];
+ f6 = f13*f25;
+ f13 = heapFloat[(fp+-20)];
+ f7 = f13*f26;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ f8 = -f8;
+ r3 = r6 >> 2;
+ f13 = heapFloat[(fp+-17)];
+ f10 = f13*f18;
+ f13 = heapFloat[(fp+-18)];
+ f11 = f13*f29;
+ f13 = heapFloat[(fp+-19)];
+ f13 = f13*f18;
+ f14 = heapFloat[(fp+-20)];
+ f14 = f14*f29;
+ f0 = f0+f1;
+ f1 = heapFloat[(fp+-24)];
+ f15 = f1*f22;
+ f2 = f2+f3;
+ f3 = heapFloat[(fp+-25)];
+ f16 = f3*f22;
+ f19 = heapFloat[(fp+-26)];
+ f17 = f19*f9;
+ f20 = heapFloat[(fp+-27)];
+ f28 = f20*f24;
+ f4 = f4+f5;
+ f5 = f1*f23;
+ f6 = f6+f7;
+ f7 = f3*f23;
+ f30 = f19*f25;
+ f1 = f20*f26;
+ f10 = f10+f11;
+ f11 = heapFloat[(fp+-24)];
+ f11 = f11*f12;
+ f13 = f13+f14;
+ f3 = f3*f12;
+ f14 = f19*f18;
+ f19 = f20*f29;
+ f0 = f0+f15;
+ f15 = heapFloat[(fp+-8)];
+ f4 = f4+f5;
+ f2 = f2+f16;
+ f5 = heapFloat[(r3+1)];
+ f6 = f6+f7;
+ f7 = f17+f28;
+ f16 = heapFloat[(fp+-21)];
+ f17 = f16*f22;
+ f20 = heapFloat[(fp+-22)];
+ f28 = f9*f20;
+ f16 = heapFloat[(fp+-23)];
+ f16 = f24*f16;
+ f9 = f9*f8;
+ f24 = f24*f21;
+ f1 = f30+f1;
+ f30 = heapFloat[(fp+-21)];
+ f20 = f30*f23;
+ f27 = heapFloat[(fp+-22)];
+ f27 = f25*f27;
+ f30 = heapFloat[(fp+-23)];
+ f30 = f26*f30;
+ f25 = f25*f8;
+ f26 = f26*f21;
+ f10 = f10+f11;
+ f3 = f13+f3;
+ f11 = f14+f19;
+ f13 = heapFloat[(fp+-21)];
+ f13 = f13*f12;
+ f14 = heapFloat[(fp+-22)];
+ f14 = f18*f14;
+ f19 = heapFloat[(fp+-23)];
+ f19 = f29*f19;
+ f8 = f18*f8;
+ f18 = f29*f21;
+ f0 = f0*f15;
+ f2 = f2*f5;
+ f7 = f7+f17;
+ f17 = heapFloat[(r3+2)];
+ f1 = f1+f20;
+ f16 = f28+f16;
+ f20 = heapFloat[(fp+-28)];
+ f21 = f22*f20;
+ f9 = f9-f24;
+ f24 = heapFloat[(fp+-29)];
+ f22 = f22*f24;
+ f4 = f4*f15;
+ f6 = f6*f5;
+ f27 = f27+f30;
+ f28 = f23*f20;
+ f25 = f25-f26;
+ f23 = f23*f24;
+ f11 = f11+f13;
+ f10 = f10*f15;
+ f3 = f3*f5;
+ f5 = f14+f19;
+ f13 = f12*f20;
+ f8 = f8-f18;
+ f12 = f12*f24;
+ f0 = f0+f2;
+ f2 = f7*f17;
+ f7 = f16+f21;
+ f9 = f9-f22;
+ f4 = f4+f6;
+ f1 = f1*f17;
+ f6 = f27+f28;
+ f14 = f25-f23;
+ f3 = f10+f3;
+ f10 = f11*f17;
+ f5 = f5+f13;
+ f8 = f8-f12;
+ f0 = f0+f2;
+ f2 = f7+f9;
+ f1 = f4+f1;
+ f4 = f6+f14;
+ f3 = f3+f10;
+ f5 = f5+f8;
+ f0 = f0+f2;
+ f2 = heapFloat[(r2+13)];
+ f1 = f1+f4;
+ f4 = heapFloat[(r2+12)];
+ f6 = f4*f1;
+ f7 = f2*f0;
+ f3 = f3+f5;
+ f5 = heapFloat[(r2+14)];
+ r0 = r0 >> 2;
+ f6 = f6+f7;
+ f7 = f5*f3;
+ r0 = heap32[(r0+3)];
+ f6 = f6+f7;
+ f7 = heapFloat[(r2+16)];
+ f6 = f6-f7;
+ r3 = r0 >> 2;
+ r4 = heap32[(fp+4)];
+ f7 = heapFloat[(r1+9)];
+ f8 = heapFloat[(r1+10)];
+ f9 = heapFloat[(r1+11)];
+ f10 = heapFloat[(r1+15)];
+ f11 = heapFloat[(r1+5)];
+ f12 = heapFloat[(r1+6)];
+ f13 = heapFloat[(r1+7)];
+ f14 = heapFloat[(r1+14)];
+ f15 = heapFloat[(r1+1)];
+ f16 = heapFloat[(r1+2)];
+ f17 = heapFloat[(r1+3)];
+ f18 = heapFloat[(r1+13)];
+ f19 = heapFloat[(r3+280)];
+ r3 = r4 >> 2;
+ heap32[(r3+1)] = r0;
+if(!(f19 <=f6)) //_LBB306_2
+{
+ f5 = f5*f6;
+ f2 = f2*f6;
+ f4 = f4*f6;
+ f3 = f3-f5;
+ f0 = f0-f2;
+ f1 = f1-f4;
+ f2 = heapFloat[(r2+12)];
+ f4 = heapFloat[(r1+1)];
+ f5 = heapFloat[(r2+13)];
+ f19 = heapFloat[(r1+2)];
+ f20 = heapFloat[(r1+5)];
+ f21 = heapFloat[(r1+6)];
+ f4 = f4*f2;
+ f19 = f19*f5;
+ f22 = heapFloat[(r2+14)];
+ f23 = heapFloat[(r1+3)];
+ f24 = heapFloat[(r1+9)];
+ f25 = heapFloat[(r1+10)];
+ f26 = heapFloat[(r1+11)];
+ f27 = heapFloat[(r1+7)];
+ f20 = f20*f2;
+ f21 = f21*f5;
+ f4 = f4+f19;
+ f19 = f23*f22;
+ r0 = sp + -48;
+ f2 = f24*f2;
+ f5 = f25*f5;
+ f20 = f20+f21;
+ f21 = f27*f22;
+ f4 = f4+f19;
+ f15 = f15*f1;
+ f16 = f16*f0;
+ r1 = r0 >> 2;
+ f2 = f2+f5;
+ f5 = f26*f22;
+ f19 = f20+f21;
+ heapFloat[(fp+-12)] = f4;
+ f4 = f11*f1;
+ f11 = f12*f0;
+ f12 = f15+f16;
+ f15 = f17*f3;
+ f2 = f2+f5;
+ heapFloat[(r1+1)] = f19;
+ heapFloat[(r1+2)] = f2;
+ f1 = f7*f1;
+ f0 = f8*f0;
+ f2 = f4+f11;
+ f4 = f13*f3;
+ f5 = f12+f15;
+ r2 = sp + -64;
+ f0 = f1+f0;
+ f1 = f9*f3;
+ f2 = f2+f4;
+ f3 = f5+f18;
+ heap32[(r1+3)] = 0;
+ r1 = r2 >> 2;
+ f0 = f0+f1;
+ f1 = f2+f14;
+ heapFloat[(fp+-16)] = f3;
+ f0 = f0+f10;
+ heapFloat[(r1+1)] = f1;
+ heapFloat[(r1+2)] = f0;
+ heap32[(r1+3)] = 0;
+ r1 = heap32[(r3)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ heapFloat[(g0+3)] = f6;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+ return;
+}
+
+function _ZN31btConvexPlaneCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+var __label__ = 0;
+ i7 = sp + -56;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+3)];
+if(!(r2 ==0)) //_LBB307_23
+{
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+4)];
+ r5 = heapU8[r0+16];
+ r6 = r5 == 0 ? r2 : r3;
+ r5 = r5 == 0 ? r3 : r2;
+ r6 = r6 >> 2;
+ r5 = r5 >> 2;
+ r6 = heap32[(r6+48)];
+ r5 = heap32[(r5+48)];
+ r7 = sp + -32;
+ r8 = r7 >> 2;
+ heap32[(fp+-8)] = 0;
+ heap32[(r8+1)] = 0;
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = 1065353216;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r4;
+ r7 = r4 >> 2;
+ _ZN31btConvexPlaneCollisionAlgorithm20collideSingleContactERK12btQuaternionP17btCollisionObjectS4_RK16btDispatcherInfoP16btManifoldResult(i7);
+ r8 = heap32[(r7+1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+279)];
+ r9 = heap32[(r1+6)];
+_3: do {
+if(!(r8 >=r9)) //_LBB307_15
+{
+ r5 = r5 >> 2;
+ f0 = heapFloat[(r5+14)];
+ f1 = 0;
+ if(f0 <f1) //_LBB307_4
+{
+ f2 = -f0;
+}
+else{
+ f2 = f0;
+}
+ f3 = 0.70710676908493042;
+ if(f2 <=f3) //_LBB307_7
+{
+ f0 = heapFloat[(r5+12)];
+ f2 = heapFloat[(r5+13)];
+ f0 = f0*f0;
+ f2 = f2*f2;
+ f0 = f0+f2;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f2 = heapFloat[(r5+13)];
+ f3 = 1;
+ f2 = -f2;
+ f0 = f3/f_g0;
+ f4 = heapFloat[(r5+12)];
+ f3 = f0*f2;
+ f2 = f4*f0;
+ f0 = f1;
+}
+else{
+ f2 = heapFloat[(r5+13)];
+ f2 = f2*f2;
+ f0 = f0*f0;
+ f0 = f2+f0;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f2 = heapFloat[(r5+14)];
+ f3 = 1;
+ f2 = -f2;
+ f0 = f3/f_g0;
+ f3 = heapFloat[(r5+13)];
+ f2 = f0*f2;
+ f0 = f3*f0;
+ f3 = 0;
+}
+ r8 = r6 >> 2;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r6;
+ f4 = f3*f3;
+ f5 = f2*f2;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ f6 = f_g0;
+ f4 = f4+f5;
+ f5 = f0*f0;
+ f4 = f4+f5;
+ heapFloat[(g0)] = f4;
+ sqrtf(i7);
+ f4 = f_g0;
+ if(f4 !=f1) //_LBB307_10
+{
+ f1 = 0.019999999552965164;
+ f1 = f1/f6;
+ f5 = 0.5;
+ f6 = 0.39269909262657166;
+ f7 = 0.19634954631328583;
+ f8 = f1*f5;
+ f1 = f1 > f6 ? f7 : f8;
+ heapFloat[(g0)] = f1;
+ sinf(i7);
+ heapFloat[(g0)] = f1;
+ f1 = f_g0/f4;
+ f0 = f0*f1;
+ f2 = f2*f1;
+ f1 = f3*f1;
+ r6 = 0;
+ cosf(i7);
+ f3 = f_g0;
+_15: while(true){
+ r8 = heap32[(r1+5)];
+ if(r8 >r6) //_LBB307_11
+{
+ f4 = heapFloat[(r5+12)];
+ f6 = heapFloat[(r5+13)];
+ f7 = heapFloat[(r5+14)];
+ f4 = f4*f4;
+ f6 = f6*f6;
+ f4 = f4+f6;
+ f6 = f7*f7;
+ f4 = f4+f6;
+ heapFloat[(g0)] = f4;
+ sqrtf(i7);
+ f4 = f_g0;
+ f6 = 0;
+ if(f4 !=f6) //_LBB307_13
+{
+ f6 = 6.2831854820251465;
+ f7 = r8; //fitos r8, f7
+ f8 = r6; //fitos r6, f8
+ f6 = f6/f7;
+ f6 = f8*f6;
+ f6 = f6*f5;
+ heapFloat[(g0)] = f6;
+ sinf(i7);
+ f7 = f_g0;
+ heapFloat[(g0)] = f6;
+ cosf(i7);
+ f4 = f7/f4;
+ f7 = heapFloat[(r5+12)];
+ f7 = f7*f4;
+ f8 = heapFloat[(r5+13)];
+ f8 = f8*f4;
+ f9 = heapFloat[(r5+14)];
+ f10 = f_g0*f3;
+ f11 = f1*f7;
+ f12 = f_g0*f1;
+ f13 = f3*f7;
+ f4 = f9*f4;
+ f9 = f10+f11;
+ f10 = f2*f8;
+ f11 = f12-f13;
+ f12 = f0*f8;
+ f13 = f_g0*f2;
+ f14 = f3*f8;
+ f9 = f9+f10;
+ f10 = f0*f4;
+ f11 = f11-f12;
+ f12 = f2*f4;
+ f13 = f13-f14;
+ f14 = f1*f4;
+ f15 = f_g0*f0;
+ f16 = f3*f4;
+ f9 = f9+f10;
+ f10 = f11+f12;
+ f11 = f13-f14;
+ f12 = f0*f7;
+ f13 = f15-f16;
+ f14 = f2*f7;
+ f11 = f11+f12;
+ f12 = f9*f7;
+ f15 = f10*f_g0;
+ f13 = f13-f14;
+ f14 = f1*f8;
+ f13 = f13+f14;
+ f14 = f9*f8;
+ f16 = f11*f_g0;
+ f12 = f12+f15;
+ f15 = f11*f4;
+ f17 = f9*f4;
+ f18 = f13*f_g0;
+ f14 = f14+f16;
+ f16 = f13*f7;
+ f12 = f12+f15;
+ f15 = f13*f8;
+ r8 = sp + -16;
+ f6 = f9*f_g0;
+ f9 = f10*f7;
+ f17 = f17+f18;
+ f18 = f10*f8;
+ f14 = f14+f16;
+ f10 = f10*f4;
+ f12 = f12-f15;
+ r9 = r8 >> 2;
+ f6 = f6-f9;
+ f8 = f11*f8;
+ f9 = f17+f18;
+ f7 = f11*f7;
+ f10 = f14-f10;
+ heapFloat[(fp+-4)] = f12;
+ f6 = f6-f8;
+ f4 = f13*f4;
+ f7 = f9-f7;
+ heapFloat[(r9+1)] = f10;
+ f4 = f6-f4;
+ heapFloat[(r9+2)] = f7;
+ heapFloat[(r9+3)] = f4;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r4;
+ r6 = (r6 + 1)|0;
+ _ZN31btConvexPlaneCollisionAlgorithm20collideSingleContactERK12btQuaternionP17btCollisionObjectS4_RK16btDispatcherInfoP16btManifoldResult(i7);
+}
+else{
+break _15;
+}
+}
+else{
+break _3;
+}
+}
+}
+ r0 = _2E_str115;
+ r1 = _2E_str685;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 61;
+ _assert(i7);
+}
+} while(0);
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB307_23
+{
+ r0 = heap32[(r1+3)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+279)];
+if(!(r0 ==0)) //_LBB307_23
+{
+ r0 = heap32[(r7+1)];
+ if(r0 !=0) //_LBB307_19
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+279)];
+if(!(r2 ==0)) //_LBB307_23
+{
+ r1 = heap32[(r1+277)];
+ r2 = heap32[(r7+34)];
+ if(r1 ==r2) //_LBB307_22
+{
+ r1 = (r4 + 8)|0;
+ r2 = (r4 + 72)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+}
+else{
+ r1 = (r4 + 72)|0;
+ r4 = (r4 + 8)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r4;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+ return;
+}
+}
+}
+else{
+ r0 = _2E_str59;
+ r4 = _2E_str160;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = 101;
+ _assert(i7);
+}
+}
+}
+}
+ return;
+}
+
+function _ZN31btConvexPlaneCollisionAlgorithmD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btConvexPlaneCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+8];
+if(!(r1 ==0)) //_LBB308_3
+{
+ r1 = heap32[(r2+3)];
+if(!(r1 ==0)) //_LBB308_3
+{
+ r2 = heap32[(r2+1)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+}
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN31btConvexPlaneCollisionAlgorithmD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btConvexPlaneCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB309_3
+{
+ r0 = heap32[(r2+3)];
+if(!(r0 ==0)) //_LBB309_3
+{
+ r1 = heap32[(r2+1)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+}
+ return;
+}
+
+function _ZN31btDefaultCollisionConfiguration25getPersistentManifoldPoolEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN31btDefaultCollisionConfiguration25getCollisionAlgorithmPoolEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+6)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN31btDefaultCollisionConfiguration17getStackAllocatorEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+2)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN31btDefaultCollisionConfiguration16getSimplexSolverEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+8)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN31btConvexPlaneCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 28;
+ r1 = heap32[(fp)];
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r3 = r1 >> 2;
+ r4 = _ZTV20btCollisionAlgorithm;
+ r5 = heap32[(r3+3)];
+ r3 = heap32[(r3+2)];
+ r1 = heapU8[r1+4];
+ r6 = r2 >> 2;
+ r4 = (r4 + 8)|0;
+ heap32[(r6)] = r4;
+ r0 = heap32[(r0)];
+ r4 = _ZTV31btConvexPlaneCollisionAlgorithm;
+ r4 = (r4 + 8)|0;
+ heap32[(r6+1)] = r0;
+ r7 = 0;
+ heap32[(r6)] = r4;
+ r4 = heap32[(fp+2)];
+ r8 = heap32[(fp+3)];
+ heap8[r2+8] = r7;
+ heap32[(r6+3)] = 0;
+ if(r1 !=0) //_LBB316_3
+{
+ r1 = 1;
+ r6 = r2 >> 2;
+ heap8[r2+16] = r1;
+ heap32[(r6+5)] = r3;
+ r3 = r0 >> 2;
+ heap32[(r6+6)] = r5;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB316_5
+{
+ r0 = heap32[(r6+1)];
+ r3 = r0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ heap32[(r6+3)] = r_g0;
+ heap8[r2+8] = r1;
+}
+}
+else{
+ r1 = r2 >> 2;
+ heap8[r2+16] = r7;
+ heap32[(r1+5)] = r3;
+ r3 = r0 >> 2;
+ heap32[(r1+6)] = r5;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r8;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB316_5
+{
+ r0 = heap32[(r1+1)];
+ r3 = r0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r8;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = 1;
+ heap32[(r1+3)] = r_g0;
+ heap8[r2+8] = r3;
+}
+}
+ r_g0 = r2;
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN33btConvexConcaveCollisionAlgorithm10CreateFuncE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN33btConvexConcaveCollisionAlgorithm10CreateFuncE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 80;
+ r1 = _ZTV20btCollisionAlgorithm;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r1 = (r1 + 8)|0;
+ r3 = r2 >> 2;
+ heap32[(r3)] = r1;
+ r1 = heap32[(r0)];
+ r4 = _ZTV33btConvexConcaveCollisionAlgorithm;
+ r4 = (r4 + 8)|0;
+ heap32[(r3+1)] = r1;
+ r1 = 0;
+ heap32[(r3)] = r4;
+ heap8[r2+8] = r1;
+ r1 = _ZTV24btConvexTriangleCallback;
+ r0 = heap32[(r0)];
+ r1 = (r1 + 8)|0;
+ heap32[(r3+3)] = r1;
+ heap32[(r3+15)] = r0;
+ r1 = heap32[(fp+2)];
+ heap32[(r3+16)] = 0;
+ r4 = heap32[(fp+3)];
+ heap32[(r3+4)] = r1;
+ r5 = r0 >> 2;
+ heap32[(r3+5)] = r4;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ heap32[(r3+19)] = r_g0;
+ r1 = heap32[(r3+15)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+5)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r_g0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r_g0 = r2;
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 80;
+ r1 = _ZTV20btCollisionAlgorithm;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r1 = (r1 + 8)|0;
+ r3 = r2 >> 2;
+ heap32[(r3)] = r1;
+ r1 = heap32[(r0)];
+ r4 = _ZTV33btConvexConcaveCollisionAlgorithm;
+ r4 = (r4 + 8)|0;
+ heap32[(r3+1)] = r1;
+ r1 = 1;
+ heap32[(r3)] = r4;
+ heap8[r2+8] = r1;
+ r1 = _ZTV24btConvexTriangleCallback;
+ r0 = heap32[(r0)];
+ r1 = (r1 + 8)|0;
+ heap32[(r3+3)] = r1;
+ heap32[(r3+15)] = r0;
+ r1 = heap32[(fp+3)];
+ heap32[(r3+16)] = 0;
+ r4 = heap32[(fp+2)];
+ heap32[(r3+4)] = r1;
+ r5 = r0 >> 2;
+ heap32[(r3+5)] = r4;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ heap32[(r3+19)] = r_g0;
+ r1 = heap32[(r3+15)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+5)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r_g0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r_g0 = r2;
+ return;
+}
+
+function _ZN28btCompoundCollisionAlgorithm10CreateFuncD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN28btCompoundCollisionAlgorithm10CreateFuncE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN28btCompoundCollisionAlgorithm10CreateFuncD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN28btCompoundCollisionAlgorithm10CreateFuncE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN28btCompoundCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 44;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = r_g0;
+ r2 = _ZTV20btCollisionAlgorithm;
+ r3 = r1 >> 2;
+ r2 = (r2 + 8)|0;
+ heap32[(r3)] = r2;
+ r2 = heap32[(r0)];
+ r4 = _ZTV28btCompoundCollisionAlgorithm;
+ r4 = (r4 + 8)|0;
+ heap32[(r3+1)] = r2;
+ r2 = 1;
+ heap32[(r3)] = r4;
+ heap8[r1+24] = r2;
+ heap32[(r3+5)] = 0;
+ heap32[(r3+3)] = 0;
+ r2 = 0;
+ heap32[(r3+4)] = 0;
+ heap8[r1+28] = r2;
+ r0 = heap32[(r0+1)];
+ r4 = heap32[(fp+2)];
+ heap32[(r3+8)] = r0;
+ r0 = r4 >> 2;
+ heap8[r1+36] = r2;
+ r0 = heap32[(r0+48)];
+ r0 = r0 >> 2;
+ r2 = heap32[(r0+1)];
+ if(r2 ==31) //_LBB325_2
+{
+ r2 = heap32[(fp+3)];
+ r3 = r1 >> 2;
+ r0 = heap32[(r0+17)];
+ heap32[(r3+10)] = r0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r2;
+ _ZN28btCompoundCollisionAlgorithm26preallocateChildAlgorithmsEP17btCollisionObjectS1_(i7);
+ r_g0 = r1;
+ return;
+}
+else{
+ r0 = _2E_str99;
+ r1 = _2E_str1100;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 32;
+ _assert(i7);
+}
+}
+
+function _ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN28btCompoundCollisionAlgorithm17SwappedCreateFuncE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN28btCompoundCollisionAlgorithm17SwappedCreateFuncE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN28btCompoundCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 44;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = r_g0;
+ r2 = _ZTV20btCollisionAlgorithm;
+ r3 = r1 >> 2;
+ r2 = (r2 + 8)|0;
+ heap32[(r3)] = r2;
+ r2 = heap32[(r0)];
+ r4 = _ZTV28btCompoundCollisionAlgorithm;
+ r4 = (r4 + 8)|0;
+ heap32[(r3+1)] = r2;
+ r2 = 1;
+ heap32[(r3)] = r4;
+ heap8[r1+24] = r2;
+ heap32[(r3+5)] = 0;
+ heap32[(r3+3)] = 0;
+ heap32[(r3+4)] = 0;
+ heap8[r1+28] = r2;
+ r0 = heap32[(r0+1)];
+ r2 = heap32[(fp+3)];
+ r4 = 0;
+ heap32[(r3+8)] = r0;
+ r0 = r2 >> 2;
+ heap8[r1+36] = r4;
+ r0 = heap32[(r0+48)];
+ r0 = r0 >> 2;
+ r3 = heap32[(r0+1)];
+ if(r3 ==31) //_LBB328_2
+{
+ r3 = heap32[(fp+2)];
+ r4 = r1 >> 2;
+ r0 = heap32[(r0+17)];
+ heap32[(r4+10)] = r0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r2;
+ _ZN28btCompoundCollisionAlgorithm26preallocateChildAlgorithmsEP17btCollisionObjectS1_(i7);
+ r_g0 = r1;
+ return;
+}
+else{
+ r0 = _2E_str99;
+ r1 = _2E_str1100;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 32;
+ _assert(i7);
+}
+}
+
+function _ZN16btEmptyAlgorithm10CreateFuncD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN16btEmptyAlgorithm10CreateFuncE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN16btEmptyAlgorithm10CreateFuncD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN16btEmptyAlgorithm10CreateFuncE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN16btEmptyAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 8;
+ r1 = _ZTV20btCollisionAlgorithm;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r3 = r_g0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r3)] = r1;
+ r0 = heap32[(r0)];
+ r1 = _ZTV16btEmptyAlgorithm;
+ r1 = (r1 + 8)|0;
+ heap32[(r3+1)] = r0;
+ heap32[(r3)] = r1;
+ return;
+}
+
+function _ZN32btSphereSphereCollisionAlgorithm10CreateFuncD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN32btSphereSphereCollisionAlgorithm10CreateFuncE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN32btSphereSphereCollisionAlgorithm10CreateFuncD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN32btSphereSphereCollisionAlgorithm10CreateFuncE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN32btSphereSphereCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 16;
+ r1 = _ZTV20btCollisionAlgorithm;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r3 = r2 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r3)] = r1;
+ r0 = heap32[(r0)];
+ r1 = _ZTV32btSphereSphereCollisionAlgorithm;
+ r1 = (r1 + 8)|0;
+ heap32[(r3+1)] = r0;
+ r4 = 0;
+ heap32[(r3)] = r1;
+ heap8[r2+8] = r4;
+ r1 = r0 >> 2;
+ heap32[(r3+3)] = 0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+3)];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = 1;
+ heap32[(r3+3)] = r_g0;
+ heap8[r2+8] = r1;
+ r_g0 = r2;
+ return;
+}
+
+function _ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN34btSphereTriangleCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 20;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = r_g0;
+ r2 = heap32[(fp)];
+ r3 = _ZTV20btCollisionAlgorithm;
+ r4 = heap32[(r0+1)];
+ r2 = heapU8[r2+4];
+ r5 = r1 >> 2;
+ r3 = (r3 + 8)|0;
+ heap32[(r5)] = r3;
+ r0 = heap32[(r0)];
+ r3 = _ZTV34btSphereTriangleCollisionAlgorithm;
+ r3 = (r3 + 8)|0;
+ heap32[(r5+1)] = r0;
+ r6 = 0;
+ heap32[(r5)] = r3;
+ heap8[r1+8] = r6;
+ heap32[(r5+3)] = r4;
+ heap8[r1+16] = r2;
+if(!(r4 !=0)) //_LBB337_2
+{
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r4 = r0 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ r0 = r1 >> 2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r3 = 1;
+ heap32[(r0+3)] = r_g0;
+ heap8[r1+8] = r3;
+}
+ r_g0 = r1;
+ return;
+}
+
+function _ZN26btBoxBoxCollisionAlgorithm10CreateFuncD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN26btBoxBoxCollisionAlgorithm10CreateFuncE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN26btBoxBoxCollisionAlgorithm10CreateFuncD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN26btBoxBoxCollisionAlgorithm10CreateFuncE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN26btBoxBoxCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 16;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = r_g0;
+ r2 = _ZTV20btCollisionAlgorithm;
+ r3 = r1 >> 2;
+ r2 = (r2 + 8)|0;
+ heap32[(r3)] = r2;
+ r0 = heap32[(r0)];
+ r2 = _ZTV26btBoxBoxCollisionAlgorithm;
+ r2 = (r2 + 8)|0;
+ heap32[(r3+1)] = r0;
+ r4 = 0;
+ heap32[(r3)] = r2;
+ heap8[r1+8] = r4;
+ r2 = r0 >> 2;
+ heap32[(r3+3)] = 0;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+6)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB340_2
+{
+ r0 = r1 >> 2;
+ r2 = heap32[(r0+1)];
+ r5 = r2 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+3)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r3 = 1;
+ heap32[(r0+3)] = r_g0;
+ heap8[r1+8] = r3;
+}
+ r_g0 = r1;
+ return;
+}
+
+function _ZN31btDefaultCollisionConfiguration31getCollisionAlgorithmCreateFuncEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+2)];
+ if(r0 !=8) //_LBB341_3
+{
+__label__ = 3;
+}
+else{
+ if(r2 !=8) //_LBB341_3
+{
+__label__ = 3;
+}
+else{
+ r0 = (r1 + 64)|0;
+__label__ = 30;
+}
+}
+_4: do {
+if (__label__ == 3){
+if(!(r0 !=8)) //_LBB341_6
+{
+if(!(r2 !=1)) //_LBB341_6
+{
+ r0 = (r1 + 72)|0;
+break _4;
+}
+}
+if(!(r0 !=1)) //_LBB341_9
+{
+if(!(r2 !=8)) //_LBB341_9
+{
+ r0 = (r1 + 76)|0;
+break _4;
+}
+}
+ r3 = r2 | r0;
+ if(r3 !=0) //_LBB341_11
+{
+if(!(r0 >19)) //_LBB341_14
+{
+if(!(r2 !=28)) //_LBB341_14
+{
+ r0 = (r1 + 84)|0;
+break _4;
+}
+}
+if(!(r2 >19)) //_LBB341_17
+{
+if(!(r0 !=28)) //_LBB341_17
+{
+ r0 = (r1 + 80)|0;
+break _4;
+}
+}
+_24: do {
+ if(r0 >19) //_LBB341_21
+{
+ if(r2 <20) //_LBB341_23
+{
+ r3 = (r0 + -21)|0;
+ if(uint(r3) <uint(9)) //_LBB341_25
+{
+ r0 = (r1 + 48)|0;
+break _4;
+}
+}
+ if(r0 ==31) //_LBB341_26
+{
+ r0 = (r1 + 52)|0;
+break _4;
+}
+else{
+break _24;
+}
+}
+else{
+ if(r2 >19) //_LBB341_20
+{
+ r0 = (r2 + -21)|0;
+ if(uint(r0) <uint(9)) //_LBB341_22
+{
+ r0 = (r1 + 44)|0;
+break _4;
+}
+}
+else{
+ r0 = (r1 + 40)|0;
+break _4;
+}
+}
+} while(0);
+ if(r2 !=31) //_LBB341_29
+{
+ r0 = (r1 + 60)|0;
+}
+else{
+ r0 = (r1 + 56)|0;
+}
+}
+else{
+ r0 = (r1 + 68)|0;
+}
+}
+} while(0);
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN31btDefaultCollisionConfigurationD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btDefaultCollisionConfiguration;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+12];
+_1: do {
+if(!(r1 ==0)) //_LBB342_13
+{
+ r1 = heap32[(r2+2)];
+ r3 = r1 >> 2;
+ r4 = heap32[(r3+2)];
+ if(r4 ==0) //_LBB342_3
+{
+ r1 = heapU8[r1+16];
+if(!(r1 !=0)) //_LBB342_6
+{
+ r1 = heap32[(r3)];
+if(!(r1 ==0)) //_LBB342_6
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r4)] = r5;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ heap32[(r3)] = 0;
+ heap32[(r3+2)] = 0;
+ r1 = heap32[(r2+2)];
+ r3 = r1 >> 2;
+ r4 = heap32[(r3+2)];
+ if(r4 ==0) //_LBB342_8
+{
+ r1 = heapU8[r1+16];
+if(!(r1 !=0)) //_LBB342_11
+{
+ r1 = heap32[(r3)];
+if(!(r1 ==0)) //_LBB342_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r4)] = r5;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ heap32[(r3)] = 0;
+ heap32[(r3+2)] = 0;
+ r1 = heap32[(r2+2)];
+ if(r1 ==0) //_LBB342_13
+{
+break _1;
+}
+else{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+break _1;
+}
+}
+}
+ r0 = _2E_str128;
+ r1 = _2E_str1129;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 49;
+ _assert(i7);
+}
+} while(0);
+ r1 = heapU8[r0+28];
+if(!(r1 ==0)) //_LBB342_19
+{
+ r1 = heap32[(r2+6)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3+4)];
+ if(r3 !=0) //_LBB342_16
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r4 = heap32[(r1)];
+ r4 = (r4 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r1)] = r4;
+ r1 = heap32[(r3+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+ r1 = heap32[(r2+6)];
+}
+if(!(r1 ==0)) //_LBB342_19
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = heapU8[r0+20];
+if(!(r1 ==0)) //_LBB342_25
+{
+ r1 = heap32[(r2+4)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3+4)];
+ if(r3 !=0) //_LBB342_22
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r4 = heap32[(r1)];
+ r4 = (r4 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r1)] = r4;
+ r1 = heap32[(r3+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+ r1 = heap32[(r2+4)];
+}
+if(!(r1 ==0)) //_LBB342_25
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = heap32[(r2+10)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+10)];
+if(!(r1 ==0)) //_LBB342_27
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+11)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+11)];
+if(!(r1 ==0)) //_LBB342_29
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+12)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+12)];
+if(!(r1 ==0)) //_LBB342_31
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+13)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+13)];
+if(!(r1 ==0)) //_LBB342_33
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+14)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+14)];
+if(!(r1 ==0)) //_LBB342_35
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+15)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+15)];
+if(!(r1 ==0)) //_LBB342_37
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+16)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+16)];
+if(!(r1 ==0)) //_LBB342_39
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+18)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+18)];
+if(!(r1 ==0)) //_LBB342_41
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+19)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+19)];
+if(!(r1 ==0)) //_LBB342_43
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+17)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+17)];
+if(!(r1 ==0)) //_LBB342_45
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+21)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+21)];
+if(!(r1 ==0)) //_LBB342_47
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+20)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+20)];
+if(!(r1 ==0)) //_LBB342_49
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+8)];
+if(!(r1 ==0)) //_LBB342_51
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ r1 = heap32[(r2+9)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+9)];
+if(!(r1 ==0)) //_LBB342_53
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r3 = heap32[(r2)];
+ r3 = (r3 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r2)] = r3;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN31btDefaultCollisionConfigurationD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ _ZN31btDefaultCollisionConfigurationD2Ev(i7);
+ return;
+}
+
+function _ZN31btDefaultCollisionConfigurationD2Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btDefaultCollisionConfiguration;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+12];
+_1: do {
+if(!(r1 ==0)) //_LBB344_13
+{
+ r1 = heap32[(r2+2)];
+ r3 = r1 >> 2;
+ r4 = heap32[(r3+2)];
+ if(r4 ==0) //_LBB344_3
+{
+ r1 = heapU8[r1+16];
+if(!(r1 !=0)) //_LBB344_6
+{
+ r1 = heap32[(r3)];
+if(!(r1 ==0)) //_LBB344_6
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r4)] = r5;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ heap32[(r3)] = 0;
+ heap32[(r3+2)] = 0;
+ r1 = heap32[(r2+2)];
+ r3 = r1 >> 2;
+ r4 = heap32[(r3+2)];
+ if(r4 ==0) //_LBB344_8
+{
+ r1 = heapU8[r1+16];
+if(!(r1 !=0)) //_LBB344_11
+{
+ r1 = heap32[(r3)];
+if(!(r1 ==0)) //_LBB344_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r4)] = r5;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ heap32[(r3)] = 0;
+ heap32[(r3+2)] = 0;
+ r1 = heap32[(r2+2)];
+ if(r1 ==0) //_LBB344_13
+{
+break _1;
+}
+else{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+break _1;
+}
+}
+}
+ r0 = _2E_str128;
+ r1 = _2E_str1129;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 49;
+ _assert(i7);
+}
+} while(0);
+ r1 = heapU8[r0+28];
+if(!(r1 ==0)) //_LBB344_19
+{
+ r1 = heap32[(r2+6)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3+4)];
+ if(r3 !=0) //_LBB344_16
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r4 = heap32[(r1)];
+ r4 = (r4 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r1)] = r4;
+ r1 = heap32[(r3+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+ r1 = heap32[(r2+6)];
+}
+if(!(r1 ==0)) //_LBB344_19
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r0 = heapU8[r0+20];
+if(!(r0 ==0)) //_LBB344_25
+{
+ r0 = heap32[(r2+4)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1+4)];
+ if(r1 !=0) //_LBB344_22
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r3 = heap32[(r0)];
+ r3 = (r3 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r0)] = r3;
+ r0 = heap32[(r1+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+ r0 = heap32[(r2+4)];
+}
+if(!(r0 ==0)) //_LBB344_25
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+}
+ r0 = heap32[(r2+10)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+10)];
+if(!(r0 ==0)) //_LBB344_27
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+11)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+11)];
+if(!(r0 ==0)) //_LBB344_29
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+12)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+12)];
+if(!(r0 ==0)) //_LBB344_31
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+13)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+13)];
+if(!(r0 ==0)) //_LBB344_33
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+14)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+14)];
+if(!(r0 ==0)) //_LBB344_35
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+15)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+15)];
+if(!(r0 ==0)) //_LBB344_37
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+16)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+16)];
+if(!(r0 ==0)) //_LBB344_39
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+18)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+18)];
+if(!(r0 ==0)) //_LBB344_41
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+19)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+19)];
+if(!(r0 ==0)) //_LBB344_43
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+17)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+17)];
+if(!(r0 ==0)) //_LBB344_45
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+21)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+21)];
+if(!(r0 ==0)) //_LBB344_47
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+20)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+20)];
+if(!(r0 ==0)) //_LBB344_49
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+8)];
+if(!(r0 ==0)) //_LBB344_51
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ r0 = heap32[(r2+9)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+9)];
+if(!(r0 ==0)) //_LBB344_53
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ r2 = (r2 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r2;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZN16btEmptyAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN16btEmptyAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN16btEmptyAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var f0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ f0 = 1;
+ f_g0 = f0;
+ return;
+}
+
+function _ZN16btEmptyAlgorithmD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btEmptyAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN16btEmptyAlgorithmD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btEmptyAlgorithm;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN16btManifoldResultD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btManifoldResult;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN16btManifoldResultD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btManifoldResult;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN16btManifoldResult15addContactPointERK9btVector3S2_f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -304;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+1)];
+ if(r1 !=0) //_LBB352_2
+{
+ f0 = heapFloat[(fp+3)];
+ r2 = r1 >> 2;
+ f1 = heapFloat[(r2+280)];
+if(!(f1 <f0)) //_LBB352_53
+{
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ r3 = r3 >> 2;
+ r4 = r4 >> 2;
+ f1 = heapFloat[(r3+2)];
+ heapFloat[(fp+-71)] = f1;
+ f2 = heapFloat[(r3+1)];
+ f3 = heapFloat[(r3)];
+ f4 = heapFloat[(r4+2)];
+ f1 = f1*f0;
+ f5 = heapFloat[(r4+1)];
+ f6 = f2*f0;
+ f7 = heapFloat[(r4)];
+ f8 = f3*f0;
+ r5 = heap32[(r2+277)];
+ r6 = heap32[(r0+34)];
+ f1 = f4+f1;
+ f6 = f5+f6;
+ f8 = f7+f8;
+ if(r5 ==r6) //_LBB352_5
+{
+ f9 = heapFloat[(r0+14)];
+ f10 = heapFloat[(r0+15)];
+ f11 = heapFloat[(r0+30)];
+ f13 = heapFloat[(r0+31)];
+ f14 = heapFloat[(r0+4)];
+ f9 = f8-f9;
+ f15 = heapFloat[(r0+3)];
+ f12 = heapFloat[(r0+2)];
+ f16 = heapFloat[(r0+8)];
+ f10 = f6-f10;
+ f17 = heapFloat[(r0+7)];
+ f18 = heapFloat[(r0+6)];
+ f19 = heapFloat[(r0+16)];
+ f20 = heapFloat[(r0+20)];
+ f11 = f7-f11;
+ f21 = heapFloat[(r0+19)];
+ f22 = heapFloat[(r0+18)];
+ f23 = heapFloat[(r0+24)];
+ f13 = f5-f13;
+ f24 = heapFloat[(r0+23)];
+ f25 = heapFloat[(r0+22)];
+ f26 = heapFloat[(r0+32)];
+ f14 = f14*f9;
+ f16 = f16*f10;
+ f27 = heapFloat[(r0+12)];
+ f19 = f1-f19;
+ f28 = heapFloat[(r0+11)];
+ f29 = heapFloat[(r0+10)];
+ f15 = f15*f9;
+ f17 = f17*f10;
+ f9 = f12*f9;
+ f10 = f18*f10;
+ f12 = f20*f11;
+ f18 = f23*f13;
+ f20 = heapFloat[(r0+28)];
+ f23 = f4-f26;
+ f26 = heapFloat[(r0+27)];
+ f30 = heapFloat[(r0+26)];
+ f21 = f21*f11;
+ f24 = f24*f13;
+ f11 = f22*f11;
+ f13 = f25*f13;
+ f14 = f14+f16;
+ f16 = f27*f19;
+ f15 = f15+f17;
+ f17 = f28*f19;
+ f9 = f9+f10;
+ f10 = f29*f19;
+ f12 = f12+f18;
+ f18 = f20*f23;
+ f19 = f21+f24;
+ f20 = f26*f23;
+ f11 = f11+f13;
+ f21 = f30*f23;
+ f13 = f14+f16;
+ f14 = f15+f17;
+ f9 = f9+f10;
+ f10 = f12+f18;
+ f15 = f19+f20;
+ f11 = f11+f21;
+}
+else{
+ f9 = heapFloat[(r0+30)];
+ f10 = heapFloat[(r0+31)];
+ f11 = heapFloat[(r0+14)];
+ f12 = heapFloat[(r0+15)];
+ f13 = heapFloat[(r0+20)];
+ f9 = f8-f9;
+ f14 = heapFloat[(r0+19)];
+ f15 = heapFloat[(r0+18)];
+ f16 = heapFloat[(r0+24)];
+ f10 = f6-f10;
+ f17 = heapFloat[(r0+23)];
+ f18 = heapFloat[(r0+22)];
+ f19 = heapFloat[(r0+32)];
+ f20 = heapFloat[(r0+4)];
+ f11 = f7-f11;
+ f21 = heapFloat[(r0+3)];
+ f22 = heapFloat[(r0+2)];
+ f23 = heapFloat[(r0+8)];
+ f12 = f5-f12;
+ f24 = heapFloat[(r0+7)];
+ f25 = heapFloat[(r0+6)];
+ f26 = heapFloat[(r0+16)];
+ f13 = f13*f9;
+ f16 = f16*f10;
+ f27 = heapFloat[(r0+28)];
+ f19 = f1-f19;
+ f28 = heapFloat[(r0+27)];
+ f29 = heapFloat[(r0+26)];
+ f14 = f14*f9;
+ f17 = f17*f10;
+ f9 = f15*f9;
+ f10 = f18*f10;
+ f15 = f20*f11;
+ f18 = f23*f12;
+ f20 = heapFloat[(r0+12)];
+ f23 = f4-f26;
+ f26 = heapFloat[(r0+11)];
+ f30 = heapFloat[(r0+10)];
+ f21 = f21*f11;
+ f24 = f24*f12;
+ f11 = f22*f11;
+ f12 = f25*f12;
+ f13 = f13+f16;
+ f16 = f27*f19;
+ f14 = f14+f17;
+ f17 = f28*f19;
+ f9 = f9+f10;
+ f10 = f29*f19;
+ f15 = f15+f18;
+ f18 = f20*f23;
+ f19 = f21+f24;
+ f20 = f26*f23;
+ f11 = f11+f12;
+ f12 = f30*f23;
+ f13 = f13+f16;
+ f14 = f14+f17;
+ f9 = f9+f10;
+ f10 = f15+f18;
+ f15 = f19+f20;
+ f11 = f11+f12;
+}
+ r7 = sp + -280;
+ r8 = r7 >> 2;
+ heapFloat[(fp+-70)] = f9;
+ heapFloat[(r8+1)] = f14;
+ heapFloat[(r8+2)] = f13;
+ heap32[(r8+3)] = 0;
+ heapFloat[(r8+4)] = f11;
+ heapFloat[(r8+5)] = f15;
+ heapFloat[(r8+6)] = f10;
+ heap32[(r8+7)] = 0;
+ heapFloat[(r8+16)] = f3;
+ heapFloat[(r8+17)] = f2;
+ f2 = heapFloat[(fp+-71)];
+ heapFloat[(r8+18)] = f2;
+ heap32[(r8+19)] = heap32[(r3+3)];
+ heapFloat[(r8+20)] = f0;
+ heap32[(r8+21)] = 0;
+ heap32[(r8+22)] = 0;
+ heap32[(r8+27)] = 0;
+ r3 = 0;
+ heap32[(r8+28)] = 0;
+ heap8[sp+-164] = r3;
+ heap32[(r8+30)] = 0;
+ heap32[(r8+31)] = 0;
+ heap32[(r8+32)] = 0;
+ heap32[(r8+33)] = 0;
+ heap32[(r8+34)] = 0;
+ heap32[(r8+35)] = 0;
+ heap32[(r8+36)] = 0;
+ heap32[(r8+52)] = 0;
+ heap32[(r8+60)] = 0;
+ heap32[(r8+68)] = 0;
+ heapFloat[(r8+12)] = f8;
+ heapFloat[(r8+13)] = f6;
+ heapFloat[(r8+14)] = f1;
+ heap32[(r8+15)] = 0;
+ heapFloat[(r8+8)] = f7;
+ heapFloat[(r8+9)] = f5;
+ heapFloat[(r8+10)] = f4;
+ heap32[(r8+11)] = heap32[(r4+3)];
+ r4 = heap32[(r2+279)];
+_9: do {
+ if(r4 >0) //_LBB352_8
+{
+ f1 = heapFloat[(r2+280)];
+ f1 = f1*f1;
+ r10 = 0;
+ r9 = -1;
+_11: while(true){
+ r11 = (r10 * 69)|0;
+ r11 = r11 << 2;
+ r11 = (r1 + r11)|0;
+ r11 = r11 >> 2;
+ f2 = heapFloat[(r11+1)];
+ f3 = heapFloat[(r11+2)];
+ f2 = f2-f9;
+ f3 = f3-f14;
+ f4 = heapFloat[(r11+3)];
+ f4 = f4-f13;
+ f2 = f2*f2;
+ f3 = f3*f3;
+ f2 = f2+f3;
+ f3 = f4*f4;
+ f2 = f2+f3;
+ r11 = (r10 + 1)|0;
+ r9 = f2 < f1 ? r10 : r9;
+ f1 = f2 < f1 ? f2 : f1;
+ r10 = r11;
+if(!(r4 !=r11)) //_LBB352_9
+{
+break _9;
+}
+}
+}
+else{
+ r9 = -1;
+}
+} while(0);
+ r4 = heap32[(r0+35)];
+ r4 = r4 >> 2;
+ r10 = r6 >> 2;
+ f1 = heapFloat[(r10+56)];
+ f2 = heapFloat[(r4+56)];
+ f1 = f1*f2;
+ f2 = -10;
+ f1 = f1 < f2 ? f2 : f1;
+ f2 = 10;
+ f1 = f1 > f2 ? f2 : f1;
+ heapFloat[(r8+21)] = f1;
+ f1 = heapFloat[(r10+57)];
+ f2 = heapFloat[(r4+57)];
+ f1 = f1*f2;
+ heapFloat[(r8+22)] = f1;
+ if(r5 ==r6) //_LBB352_12
+{
+ r4 = heap32[(r0+36)];
+ heap32[(r8+23)] = r4;
+ r4 = heap32[(r0+37)];
+ heap32[(r8+24)] = r4;
+ r4 = heap32[(r0+38)];
+ heap32[(r8+25)] = r4;
+ r0 = heap32[(r0+39)];
+ heap32[(r8+26)] = r0;
+}
+else{
+ r4 = heap32[(r0+37)];
+ heap32[(r8+23)] = r4;
+ r4 = heap32[(r0+36)];
+ heap32[(r8+24)] = r4;
+ r4 = heap32[(r0+39)];
+ heap32[(r8+25)] = r4;
+ r0 = heap32[(r0+38)];
+ heap32[(r8+26)] = r0;
+}
+ f1 = heapFloat[(r2+280)];
+ if(r9 <0) //_LBB352_19
+{
+ if(f1 >=f0) //_LBB352_21
+{
+ r0 = heap32[(r2+279)];
+ if(r0 !=4) //_LBB352_49
+{
+ r4 = (r0 + 1)|0;
+ heap32[(r2+279)] = r4;
+}
+else{
+ f1 = heapFloat[(r2+21)];
+ r0 = -1;
+ f2 = heapFloat[(r2+90)];
+ f3 = f1 < f0 ? f1 : f0;
+ r4 = 1;
+ f4 = heapFloat[(r2+159)];
+ f5 = f2 < f3 ? f2 : f3;
+ r5 = 2;
+ f6 = heapFloat[(r2+228)];
+ f7 = f4 < f5 ? f4 : f5;
+ if(f6 >=f7) //_LBB352_24
+{
+ r6 = f1 >= f0 ? r0 : r3;
+ r6 = f2 < f3 ? r4 : r6;
+ r6 = f4 < f5 ? r5 : r6;
+ if(r6 ==0) //_LBB352_26
+{
+ f0 = heapFloat[(r2+210)];
+ f1 = heapFloat[(r2+141)];
+ f2 = heapFloat[(r2+209)];
+ f3 = heapFloat[(r2+140)];
+ f4 = heapFloat[(r2+208)];
+ f5 = heapFloat[(r2+139)];
+ f6 = heapFloat[(r2+72)];
+ f7 = heapFloat[(r2+71)];
+ f8 = heapFloat[(r2+70)];
+ f10 = 0;
+ r6 = r3;
+__label__ = 28;
+}
+else{
+__label__ = 26;
+}
+}
+else{
+ r6 = 3;
+__label__ = 26;
+}
+if (__label__ == 26){
+ f6 = heapFloat[(r2+72)];
+ f0 = heapFloat[(r2+210)];
+ f1 = heapFloat[(r2+141)];
+ f8 = heapFloat[(r2+70)];
+ f2 = heapFloat[(r2+209)];
+ f3 = heapFloat[(r2+140)];
+ f7 = heapFloat[(r2+71)];
+ f4 = heapFloat[(r2+208)];
+ f5 = heapFloat[(r2+139)];
+ f10 = f13-f6;
+ f11 = f2-f3;
+ f12 = f9-f8;
+ f15 = f0-f1;
+ f16 = f14-f7;
+ f17 = f4-f5;
+ f18 = f16*f15;
+ f19 = f10*f11;
+ f10 = f10*f17;
+ f15 = f12*f15;
+ f18 = f18-f19;
+ f10 = f10-f15;
+ f11 = f12*f11;
+ f12 = f16*f17;
+ f11 = f11-f12;
+ f12 = f18*f18;
+ f10 = f10*f10;
+ f10 = f12+f10;
+ f11 = f11*f11;
+ f10 = f10+f11;
+ if(r6 ==1) //_LBB352_29
+{
+ f11 = heapFloat[(r2+3)];
+ f12 = heapFloat[(r2+2)];
+ f15 = heapFloat[(r2+1)];
+ f16 = 0;
+ r6 = r4;
+__label__ = 30;
+}
+else{
+__label__ = 28;
+}
+}
+if (__label__ == 28){
+ f11 = heapFloat[(r2+3)];
+ f15 = heapFloat[(r2+1)];
+ f12 = heapFloat[(r2+2)];
+ f16 = f13-f11;
+ f17 = f2-f3;
+ f18 = f9-f15;
+ f19 = f0-f1;
+ f20 = f14-f12;
+ f21 = f4-f5;
+ f22 = f20*f19;
+ f23 = f16*f17;
+ f16 = f16*f21;
+ f19 = f18*f19;
+ f22 = f22-f23;
+ f16 = f16-f19;
+ f17 = f18*f17;
+ f18 = f20*f21;
+ f17 = f17-f18;
+ f18 = f22*f22;
+ f16 = f16*f16;
+ f16 = f18+f16;
+ f17 = f17*f17;
+ f16 = f16+f17;
+ if(r6 ==2) //_LBB352_32
+{
+ f0 = 0;
+__label__ = 32;
+}
+else{
+__label__ = 30;
+}
+}
+if (__label__ == 30){
+ f17 = f13-f11;
+ f2 = f2-f7;
+ f18 = f9-f15;
+ f0 = f0-f6;
+ f19 = f14-f12;
+ f4 = f4-f8;
+ f20 = f19*f0;
+ f21 = f17*f2;
+ f17 = f17*f4;
+ f0 = f18*f0;
+ f20 = f20-f21;
+ f0 = f17-f0;
+ f2 = f18*f2;
+ f4 = f19*f4;
+ f2 = f2-f4;
+ f4 = f20*f20;
+ f0 = f0*f0;
+ f0 = f4+f0;
+ f2 = f2*f2;
+ f0 = f0+f2;
+ if(r6 ==3) //_LBB352_35
+{
+ f1 = 0;
+__label__ = 34;
+}
+else{
+__label__ = 32;
+}
+}
+if (__label__ == 32){
+ f2 = f13-f11;
+ f3 = f3-f7;
+ f4 = f9-f15;
+ f1 = f1-f6;
+ f6 = f14-f12;
+ f5 = f5-f8;
+ f7 = f6*f1;
+ f8 = f2*f3;
+ f2 = f2*f5;
+ f1 = f4*f1;
+ f7 = f7-f8;
+ f1 = f2-f1;
+ f2 = f4*f3;
+ f3 = f6*f5;
+ f2 = f2-f3;
+ f3 = f7*f7;
+ f1 = f1*f1;
+ f1 = f3+f1;
+ f2 = f2*f2;
+ f1 = f1+f2;
+ f2 = 0;
+ if(f1 <f2) //_LBB352_38
+{
+ f1 = -f1;
+}
+}
+ f2 = 0;
+ if(f0 <f2) //_LBB352_41
+{
+ f0 = -f0;
+}
+ if(f16 <f2) //_LBB352_44
+{
+ f16 = -f16;
+}
+ if(f10 <f2) //_LBB352_47
+{
+ f10 = -f10;
+}
+ f2 = -999999984306749440;
+ r2 = 0;
+ f3 = f10 > f2 ? f10 : f2;
+ r0 = f10 <= f2 ? r0 : r2;
+ f2 = f16 > f3 ? f16 : f3;
+ r0 = f16 > f3 ? r4 : r0;
+ f3 = f0 > f2 ? f0 : f2;
+ r2 = 3;
+ r0 = f0 > f2 ? r5 : r0;
+ r0 = f1 > f3 ? r2 : r0;
+}
+ r0 = r0 < 0 ? r3 : r0;
+ r0 = (r0 * 276)|0;
+ r0 = (r1 + r0)|0;
+ r1 = r0 >> 2;
+ r1 = heap32[(r1+28)];
+ if(r1 ==0) //_LBB352_52
+{
+ r0 = (r0 + 4)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = 276;
+ memcpy(i7);
+}
+else{
+ r0 = _2E_str4438;
+ r7 = _2E_str3437;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = 190;
+ _assert(i7);
+}
+}
+else{
+ r1 = _2E_str2149;
+ r2 = _2E_str3437;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 168;
+ _assert(i7);
+}
+}
+else{
+ if(f1 >=f0) //_LBB352_16
+{
+ r2 = (r9 * 276)|0;
+ r1 = (r1 + r2)|0;
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+37)];
+ if(r3 >-1) //_LBB352_18
+{
+ f0 = heapFloat[(r2+53)];
+ f1 = heapFloat[(r2+61)];
+ f9 = heapFloat[(r2+69)];
+ r0 = heap32[(r2+28)];
+ r1 = (r1 + 4)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = 276;
+ memcpy(i7);
+ heap32[(r2+28)] = r0;
+ heapFloat[(r2+29)] = f0;
+ heapFloat[(r2+31)] = f1;
+ heapFloat[(r2+32)] = f9;
+ heapFloat[(r2+53)] = f0;
+ heapFloat[(r2+61)] = f1;
+ heapFloat[(r2+69)] = f9;
+ heap32[(r2+37)] = r3;
+ return;
+}
+else{
+ r1 = _2E_str3150;
+ r2 = _2E_str483;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 177;
+ _assert(i7);
+}
+}
+else{
+ r1 = _2E_str2149;
+ r2 = _2E_str483;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 165;
+ _assert(i7);
+}
+}
+}
+ return;
+}
+else{
+ r0 = _2E_str59;
+ r1 = _2E_str5152;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 64;
+ _assert(i7);
+}
+}
+
+function _ZN25btSimulationIslandManager26storeIslandActivationStateEP16btCollisionWorld(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+2)];
+if(!(r1 <1)) //_LBB353_10
+{
+ r1 = heap32[(fp)];
+ r2 = 0;
+ r3 = r2;
+_3: while(true){
+ r4 = heap32[(r0+4)];
+ r5 = r2 << 2;
+ r4 = (r4 + r5)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r5 = (r2 + 1)|0;
+ r6 = heapU8[r4+204];
+ r6 = r6 & 3;
+ if(r6 !=0) //_LBB353_8
+{
+ r2 = r4 >> 2;
+ heap32[(r2+52)] = -1;
+ heap32[(r2+53)] = -2;
+}
+else{
+ r6 = r1 >> 2;
+ r7 = heap32[(r6+4)];
+ r8 = r3 << 3;
+ r9 = (r7 + r8)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+ if(r9 ==r3) //_LBB353_5
+{
+ r10 = r3;
+}
+else{
+ r10 = r3;
+_11: while(true){
+ r9 = r9 << 3;
+ r10 = r10 << 3;
+ r9 = (r7 + r9)|0;
+ r7 = (r7 + r10)|0;
+ r9 = r9 >> 2;
+ r7 = r7 >> 2;
+ r10 = heap32[(r9)];
+ heap32[(r7)] = r10;
+ r10 = heap32[(r9)];
+ r7 = heap32[(r6+4)];
+ r9 = r10 << 3;
+ r9 = (r7 + r9)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+if(!(r9 !=r10)) //_LBB353_6
+{
+break _11;
+}
+}
+}
+ r4 = r4 >> 2;
+ heap32[(r4+52)] = r10;
+ r6 = heap32[(r6+4)];
+ r6 = (r6 + r8)|0;
+ r6 = r6 >> 2;
+ r3 = (r3 + 1)|0;
+ heap32[(r6+1)] = r2;
+ heap32[(r4+53)] = -1;
+}
+ r4 = heap32[(r0+2)];
+ r2 = r5;
+ if(r4 >r5) //_LBB353_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+1)];
+ r2 = (r0 + r1)|0;
+ r3 = r2 >>> 31;
+ r4 = heap32[(fp)];
+ r2 = (r2 + r3)|0;
+ r3 = r4 >> 2;
+ r2 = r2 & 2147483646;
+ r5 = heap32[(r3+3)];
+ r2 = r2 << 1;
+ r2 = (r5 + r2)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r5 = r1;
+ r6 = r0;
+_1: while(true){
+ r7 = r2 >> 2;
+ r8 = heap32[(r7+277)];
+ r8 = r8 >> 2;
+ r9 = heap32[(r3+3)];
+ r8 = heap32[(r8+52)];
+_3: while(true){
+ r10 = r5 << 2;
+ r10 = (r9 + r10)|0;
+ r10 = r10 >> 2;
+ r11 = heap32[(r10)];
+ r12 = r11 >> 2;
+ r13 = heap32[(r12+277)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+52)];
+ if(r13 <0) //_LBB354_5
+{
+ r13 = heap32[(r12+278)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+52)];
+}
+ if(r8 <0) //_LBB354_8
+{
+ r12 = heap32[(r7+278)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+52)];
+}
+else{
+ r12 = r8;
+}
+ if(r13 <r12) //_LBB354_2
+{
+ r5 = (r5 + 1)|0;
+continue _3;
+}
+else{
+break _3;
+}
+}
+_13: while(true){
+ r12 = r6 << 2;
+ r13 = (r9 + r12)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+ if(r8 <0) //_LBB354_13
+{
+ r14 = heap32[(r7+278)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+52)];
+}
+else{
+ r14 = r8;
+}
+ r15 = r13 >> 2;
+ r16 = heap32[(r15+277)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+52)];
+ if(r16 <0) //_LBB354_16
+{
+ r16 = heap32[(r15+278)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+52)];
+}
+ if(r14 <r16) //_LBB354_10
+{
+ r6 = (r6 + -1)|0;
+continue _13;
+}
+else{
+break _13;
+}
+}
+ if(r5 <=r6) //_LBB354_20
+{
+ heap32[(r10)] = r13;
+ r7 = heap32[(r3+3)];
+ r7 = (r7 + r12)|0;
+ r5 = (r5 + 1)|0;
+ r6 = (r6 + -1)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r11;
+}
+ if(r5 <=r6) //_LBB354_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+if(!(r6 <=r1)) //_LBB354_24
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r6;
+ _ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii(i7);
+}
+if(!(r5 >=r0)) //_LBB354_26
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r0;
+ _ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii(i7);
+}
+ return;
+}
+
+function _ZN25btSimulationIslandManager21updateActivationStateEP16btCollisionWorldP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r2 = heap32[(r0+2)];
+_1: do {
+ if(r2 >0) //_LBB355_2
+{
+ r3 = 0;
+ r2 = r3;
+_3: while(true){
+ r4 = heap32[(r0+4)];
+ r5 = r3 << 2;
+ r4 = (r4 + r5)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r3 = (r3 + 1)|0;
+ r5 = heapU8[r4+204];
+ r5 = r5 & 3;
+ if(r5 ==0) //_LBB355_5
+{
+ r5 = (r2 + 1)|0;
+ r6 = r4 >> 2;
+ heap32[(r6+52)] = r2;
+ r2 = r5;
+}
+ r4 = r4 >> 2;
+ heap32[(r4+53)] = -1;
+ heap32[(r4+60)] = 1065353216;
+ r4 = heap32[(r0+2)];
+ if(r4 >r3) //_LBB355_3
+{
+continue _3;
+}
+else{
+break _1;
+}
+}
+}
+else{
+ r2 = 0;
+}
+} while(0);
+ r3 = r1 >> 2;
+ r4 = heap32[(r3+2)];
+_10: do {
+if(!(r4 >r2)) //_LBB355_26
+{
+if(!(r4 >=r2)) //_LBB355_26
+{
+ r5 = heap32[(r3+3)];
+if(!(r5 >=r2)) //_LBB355_25
+{
+ if(r2 !=0) //_LBB355_12
+{
+ r5 = gNumAlignedAllocs;
+ r5 = r5 >> 2;
+ r6 = heap32[(r5)];
+ r7 = r2 << 3;
+ r6 = (r6 + 1)|0;
+ r7 = r7 | 3;
+ heap32[(r5)] = r6;
+ r5 = (r7 + 16)|0;
+ heap32[(g0)] = r5;
+ malloc(i7);
+ r5 = r_g0;
+ if(r5 !=0) //_LBB355_14
+{
+ r6 = 0;
+ r7 = (r5 + 4)|0;
+ r6 = (r6 - r7)|0;
+ r6 = r6 & 15;
+ r6 = (r5 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r5;
+ r5 = r7;
+}
+}
+else{
+ r5 = 0;
+}
+ r6 = (r1 + 16)|0;
+ if(r4 <1) //_LBB355_17
+{
+ r7 = r6 >> 2;
+ r8 = heap32[(r7)];
+}
+else{
+ r7 = 0;
+_23: while(true){
+ r8 = r6 >> 2;
+ r8 = heap32[(r8)];
+ r9 = r7 << 3;
+ r10 = (r8 + r9)|0;
+ r10 = r10 >> 2;
+ r9 = (r5 + r9)|0;
+ r11 = heap32[(r10+1)];
+ r10 = heap32[(r10)];
+ r9 = r9 >> 2;
+ r7 = (r7 + 1)|0;
+ heap32[(r9)] = r10;
+ heap32[(r9+1)] = r11;
+if(!(r4 !=r7)) //_LBB355_18
+{
+break _23;
+}
+}
+ r6 = (r1 + 16)|0;
+}
+if(!(r8 ==0)) //_LBB355_24
+{
+ r7 = heapU8[r1+20];
+if(!(r7 ==0)) //_LBB355_23
+{
+ r7 = gNumAlignedFree;
+ r7 = r7 >> 2;
+ r9 = heap32[(r7)];
+ r9 = (r9 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r7)] = r9;
+ r7 = heap32[(r8+-1)];
+ heap32[(g0)] = r7;
+ free(i7);
+}
+ r7 = r6 >> 2;
+ heap32[(r7)] = 0;
+}
+ r7 = 1;
+ r6 = r6 >> 2;
+ heap8[r1+20] = r7;
+ heap32[(r6)] = r5;
+ heap32[(r3+3)] = r2;
+ if(r4 >=r2) //_LBB355_26
+{
+break _10;
+}
+}
+_33: while(true){
+ r1 = r4 << 3;
+ r5 = heap32[(r3+4)];
+ r1 = (r5 + r1)|0;
+ r1 = r1 >> 2;
+ r4 = (r4 + 1)|0;
+ heap32[(r1)] = 0;
+ heap32[(r1+1)] = 0;
+ if(r2 !=r4) //_LBB355_25
+{
+continue _33;
+}
+else{
+break _10;
+}
+}
+}
+}
+} while(0);
+ heap32[(r3+2)] = r2;
+_36: do {
+if(!(r2 <1)) //_LBB355_29
+{
+ r1 = 0;
+_38: while(true){
+ r4 = r1 << 3;
+ r5 = heap32[(r3+4)];
+ r5 = (r5 + r4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r1;
+ r5 = heap32[(r3+4)];
+ r4 = (r5 + r4)|0;
+ r1 = (r1 + 1)|0;
+ r4 = r4 >> 2;
+ heap32[(r4+1)] = 1;
+ if(r2 !=r1) //_LBB355_28
+{
+continue _38;
+}
+else{
+break _36;
+}
+}
+}
+} while(0);
+ r0 = heap32[(r0+20)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+9)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = r_g0;
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+9)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = r_g0;
+_41: do {
+if(!(r2 <1)) //_LBB355_46
+{
+ r0 = (r0 + 4)|0;
+_43: while(true){
+ r1 = r0 >> 2;
+ r4 = heap32[(r1+-1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+if(!(r4 ==0)) //_LBB355_45
+{
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+if(!(r1 ==0)) //_LBB355_45
+{
+ r4 = r4 >> 2;
+ r5 = heap32[(r4+51)];
+ r5 = r5 & 7;
+if(!(r5 !=0)) //_LBB355_45
+{
+ r5 = heapU8[r1+204];
+ r5 = r5 & 7;
+if(!(r5 !=0)) //_LBB355_45
+{
+ r4 = heap32[(r4+52)];
+ r5 = heap32[(r3+4)];
+ r6 = r4 << 3;
+ r6 = (r5 + r6)|0;
+ r6 = r6 >> 2;
+ r1 = r1 >> 2;
+ r6 = heap32[(r6)];
+ r1 = heap32[(r1+52)];
+if(!(r6 ==r4)) //_LBB355_37
+{
+_51: while(true){
+ r6 = r6 << 3;
+ r4 = r4 << 3;
+ r6 = (r5 + r6)|0;
+ r4 = (r5 + r4)|0;
+ r5 = r6 >> 2;
+ r4 = r4 >> 2;
+ r6 = heap32[(r5)];
+ heap32[(r4)] = r6;
+ r4 = heap32[(r5)];
+ r5 = heap32[(r3+4)];
+ r6 = r4 << 3;
+ r6 = (r5 + r6)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+if(!(r6 !=r4)) //_LBB355_38
+{
+break _51;
+}
+}
+}
+ r6 = r1 << 3;
+ r6 = (r5 + r6)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+_54: do {
+if(!(r6 ==r1)) //_LBB355_41
+{
+_55: while(true){
+ r6 = r6 << 3;
+ r1 = r1 << 3;
+ r6 = (r5 + r6)|0;
+ r1 = (r5 + r1)|0;
+ r5 = r6 >> 2;
+ r1 = r1 >> 2;
+ r6 = heap32[(r5)];
+ heap32[(r1)] = r6;
+ r1 = heap32[(r5)];
+ r5 = heap32[(r3+4)];
+ r6 = r1 << 3;
+ r6 = (r5 + r6)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+if(!(r6 !=r1)) //_LBB355_42
+{
+break _54;
+}
+}
+}
+} while(0);
+if(!(r4 ==r1)) //_LBB355_45
+{
+ r4 = r4 << 3;
+ r5 = (r5 + r4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r1;
+ r5 = heap32[(r3+4)];
+ r1 = r1 << 3;
+ r1 = (r5 + r1)|0;
+ r4 = (r5 + r4)|0;
+ r1 = r1 >> 2;
+ r4 = r4 >> 2;
+ r5 = heap32[(r1+1)];
+ r4 = heap32[(r4+1)];
+ r4 = (r4 + r5)|0;
+ heap32[(r1+1)] = r4;
+}
+}
+}
+}
+}
+ r2 = (r2 + -1)|0;
+ r0 = (r0 + 16)|0;
+ if(r2 !=0) //_LBB355_31
+{
+continue _43;
+}
+else{
+break _41;
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN25btSimulationIslandManagerD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV25btSimulationIslandManager;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+14)];
+if(!(r1 ==0)) //_LBB356_4
+{
+ r3 = heapU8[r0+60];
+if(!(r3 ==0)) //_LBB356_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+14)] = 0;
+}
+ r1 = 1;
+ heap8[r0+60] = r1;
+ heap32[(r2+14)] = 0;
+ heap32[(r2+12)] = 0;
+ heap32[(r2+13)] = 0;
+ r3 = heap32[(r2+9)];
+if(!(r3 ==0)) //_LBB356_8
+{
+ r4 = heapU8[r0+40];
+if(!(r4 ==0)) //_LBB356_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+9)] = 0;
+}
+ heap8[r0+40] = r1;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+7)] = 0;
+ heap32[(r2+8)] = 0;
+ r3 = heap32[(r2+4)];
+if(!(r3 ==0)) //_LBB356_12
+{
+ r4 = heapU8[r0+20];
+if(!(r4 ==0)) //_LBB356_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+4)] = 0;
+}
+ heap8[r0+20] = r1;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN25btSimulationIslandManagerD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV25btSimulationIslandManager;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+14)];
+if(!(r1 ==0)) //_LBB357_4
+{
+ r3 = heapU8[r0+60];
+if(!(r3 ==0)) //_LBB357_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+14)] = 0;
+}
+ r1 = 1;
+ heap8[r0+60] = r1;
+ heap32[(r2+14)] = 0;
+ heap32[(r2+12)] = 0;
+ heap32[(r2+13)] = 0;
+ r3 = heap32[(r2+9)];
+if(!(r3 ==0)) //_LBB357_8
+{
+ r4 = heapU8[r0+40];
+if(!(r4 ==0)) //_LBB357_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+9)] = 0;
+}
+ heap8[r0+40] = r1;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+7)] = 0;
+ heap32[(r2+8)] = 0;
+ r3 = heap32[(r2+4)];
+if(!(r3 ==0)) //_LBB357_12
+{
+ r4 = heapU8[r0+20];
+if(!(r4 ==0)) //_LBB357_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+4)] = 0;
+}
+ heap8[r0+20] = r1;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ return;
+}
+
+function _ZN32btSphereSphereCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var f0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ f0 = 1;
+ f_g0 = f0;
+ return;
+}
+
+function _ZN32btSphereSphereCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+3)];
+if(!(r2 ==0)) //_LBB359_23
+{
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB359_23
+{
+ r0 = heap32[(fp+1)];
+ r3 = r0 >> 2;
+ r4 = heap32[(r3+2)];
+ r5 = heap32[(r3+1)];
+ if(r4 ==r5) //_LBB359_4
+{
+ r6 = 1;
+ r7 = r5 << 1;
+ r7 = r5 == 0 ? r6 : r7;
+if(!(r4 >=r7)) //_LBB359_3
+{
+ if(r7 !=0) //_LBB359_7
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r4 = heap32[(r2)];
+ r8 = r7 << 2;
+ r4 = (r4 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r2)] = r4;
+ r2 = (r8 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB359_9
+{
+ r4 = 0;
+ r8 = (r2 + 4)|0;
+ r4 = (r4 - r8)|0;
+ r4 = r4 & 15;
+ r4 = (r2 + r4)|0;
+ r8 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r2;
+ r2 = r8;
+}
+}
+else{
+ r2 = 0;
+}
+ r4 = (r0 + 12)|0;
+ if(r5 <1) //_LBB359_12
+{
+ r8 = r4 >> 2;
+ r9 = heap32[(r8)];
+}
+else{
+ r8 = 0;
+_15: while(true){
+ r9 = r4 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r8 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r2 + r10)|0;
+ r11 = heap32[(r11)];
+ r8 = (r8 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r11;
+if(!(r5 !=r8)) //_LBB359_13
+{
+break _15;
+}
+}
+ r4 = (r0 + 12)|0;
+}
+ if(r9 !=0) //_LBB359_17
+{
+ r8 = heapU8[r0+16];
+ if(r8 !=0) //_LBB359_19
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r8 = heap32[(r5)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r5)] = r8;
+ r5 = heap32[(r9+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+ r5 = heap32[(r3+1)];
+}
+ r8 = r4 >> 2;
+ heap32[(r8)] = 0;
+}
+ r4 = r4 >> 2;
+ heap8[r0+16] = r6;
+ heap32[(r4)] = r2;
+ heap32[(r3+2)] = r7;
+ r2 = heap32[(r1+3)];
+}
+}
+ r0 = r5 << 2;
+ r1 = heap32[(r3+3)];
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r2;
+ r0 = heap32[(r3+1)];
+ r0 = (r0 + 1)|0;
+ heap32[(r3+1)] = r0;
+}
+}
+ return;
+}
+
+function _ZN32btSphereSphereCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+3)];
+_1: do {
+if(!(r0 ==0)) //_LBB360_10
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+4)];
+ r4 = r3 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r4+1)] = r0;
+ r0 = r2 >> 2;
+ f0 = heapFloat[(r1+14)];
+ f1 = heapFloat[(r0+14)];
+ f2 = heapFloat[(r1+13)];
+ f3 = heapFloat[(r0+13)];
+ f0 = f0-f1;
+ f1 = f2-f3;
+ f2 = heapFloat[(r1+15)];
+ f3 = heapFloat[(r0+15)];
+ f2 = f2-f3;
+ r1 = heap32[(r1+48)];
+ r2 = heap32[(r0+48)];
+ f3 = f1*f1;
+ f4 = f0*f0;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f3 = f_g0;
+ r1 = r1 >> 2;
+ r2 = r2 >> 2;
+ f4 = heapFloat[(r1+7)];
+ f5 = heapFloat[(r1+3)];
+ f6 = heapFloat[(r2+7)];
+ f7 = heapFloat[(r2+3)];
+ f6 = f6*f7;
+ f4 = f4*f5;
+ f4 = f4+f6;
+_3: do {
+ if(f4 >=f3) //_LBB360_11
+{
+ r1 = sp + -16;
+ r2 = r1 >> 2;
+ heap32[(fp+-4)] = 1065353216;
+ heap32[(r2+1)] = 0;
+ f4 = f3-f4;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ f5 = 1.1920928955078125e-007;
+ if(f3 >f5) //_LBB360_13
+{
+ f5 = 1;
+ f3 = f5/f3;
+ f1 = f1*f3;
+ f0 = f0*f3;
+ heapFloat[(fp+-4)] = f1;
+ f2 = f2*f3;
+ heapFloat[(r2+1)] = f0;
+ heapFloat[(r2+2)] = f2;
+ heap32[(r2+3)] = 0;
+}
+else{
+ f1 = 1;
+ f0 = 0;
+ f2 = f0;
+}
+ f1 = f1*f6;
+ f3 = heapFloat[(r0+13)];
+ f5 = heapFloat[(r0+15)];
+ f7 = heapFloat[(r0+14)];
+ r0 = sp + -32;
+ f0 = f0*f6;
+ f1 = f3+f1;
+ f2 = f2*f6;
+ r2 = r0 >> 2;
+ f0 = f7+f0;
+ heapFloat[(fp+-8)] = f1;
+ f1 = f5+f2;
+ heapFloat[(r2+1)] = f0;
+ heapFloat[(r2+2)] = f1;
+ heap32[(r2+3)] = 0;
+ r2 = heap32[(r4)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r0;
+ heapFloat[(g0+3)] = f4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = heap32[(r4+1)];
+ if(r0 !=0) //_LBB360_16
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+279)];
+ if(r2 ==0) //_LBB360_10
+{
+break _1;
+}
+else{
+ r1 = heap32[(r1+277)];
+ r2 = heap32[(r4+34)];
+ if(r1 ==r2) //_LBB360_19
+{
+ r1 = (r3 + 8)|0;
+ r2 = (r3 + 72)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+ return;
+}
+else{
+ r1 = (r3 + 72)|0;
+ r3 = (r3 + 8)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+__label__ = 8;
+break _3;
+}
+}
+}
+else{
+__label__ = 3;
+}
+}
+else{
+ r0 = heap32[(r4+1)];
+ if(r0 !=0) //_LBB360_4
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+279)];
+ if(r2 ==0) //_LBB360_10
+{
+break _1;
+}
+else{
+ r1 = heap32[(r1+277)];
+ r4 = heap32[(r4+34)];
+ if(r1 ==r4) //_LBB360_9
+{
+ r4 = (r3 + 8)|0;
+ r3 = (r3 + 72)|0;
+}
+else{
+ r4 = (r3 + 72)|0;
+ r3 = (r3 + 8)|0;
+}
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+__label__ = 8;
+}
+}
+else{
+__label__ = 3;
+}
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 8:
+ heap32[(g0+2)] = r3;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+ return;
+break;
+case 3:
+ r0 = _2E_str59;
+ r3 = _2E_str160;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 101;
+ _assert(i7);
+break;
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN32btSphereSphereCollisionAlgorithmD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV32btSphereSphereCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+8];
+if(!(r1 ==0)) //_LBB361_3
+{
+ r1 = heap32[(r2+3)];
+if(!(r1 ==0)) //_LBB361_3
+{
+ r3 = heap32[(r2+1)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+}
+ r1 = _ZTV30btActivatingCollisionAlgorithm;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN32btSphereSphereCollisionAlgorithmD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV32btSphereSphereCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB362_3
+{
+ r0 = heap32[(r2+3)];
+if(!(r0 ==0)) //_LBB362_3
+{
+ r1 = heap32[(r2+1)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+}
+ r0 = _ZTV30btActivatingCollisionAlgorithm;
+ r0 = (r0 + 8)|0;
+ heap32[(r2)] = r0;
+ return;
+}
+
+function _ZN34btSphereTriangleCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var f0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ f0 = 1;
+ f_g0 = f0;
+ return;
+}
+
+function _ZN34btSphereTriangleCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+3)];
+if(!(r2 ==0)) //_LBB364_23
+{
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB364_23
+{
+ r0 = heap32[(fp+1)];
+ r3 = r0 >> 2;
+ r4 = heap32[(r3+2)];
+ r5 = heap32[(r3+1)];
+ if(r4 ==r5) //_LBB364_4
+{
+ r6 = 1;
+ r7 = r5 << 1;
+ r7 = r5 == 0 ? r6 : r7;
+if(!(r4 >=r7)) //_LBB364_3
+{
+ if(r7 !=0) //_LBB364_7
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r4 = heap32[(r2)];
+ r8 = r7 << 2;
+ r4 = (r4 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r2)] = r4;
+ r2 = (r8 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB364_9
+{
+ r4 = 0;
+ r8 = (r2 + 4)|0;
+ r4 = (r4 - r8)|0;
+ r4 = r4 & 15;
+ r4 = (r2 + r4)|0;
+ r8 = (r4 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r2;
+ r2 = r8;
+}
+}
+else{
+ r2 = 0;
+}
+ r4 = (r0 + 12)|0;
+ if(r5 <1) //_LBB364_12
+{
+ r8 = r4 >> 2;
+ r9 = heap32[(r8)];
+}
+else{
+ r8 = 0;
+_15: while(true){
+ r9 = r4 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r8 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r2 + r10)|0;
+ r11 = heap32[(r11)];
+ r8 = (r8 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r11;
+if(!(r5 !=r8)) //_LBB364_13
+{
+break _15;
+}
+}
+ r4 = (r0 + 12)|0;
+}
+ if(r9 !=0) //_LBB364_17
+{
+ r8 = heapU8[r0+16];
+ if(r8 !=0) //_LBB364_19
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r8 = heap32[(r5)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r5)] = r8;
+ r5 = heap32[(r9+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+ r5 = heap32[(r3+1)];
+}
+ r8 = r4 >> 2;
+ heap32[(r8)] = 0;
+}
+ r4 = r4 >> 2;
+ heap8[r0+16] = r6;
+ heap32[(r4)] = r2;
+ heap32[(r3+2)] = r7;
+ r2 = heap32[(r1+3)];
+}
+}
+ r0 = r5 << 2;
+ r1 = heap32[(r3+3)];
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r2;
+ r0 = heap32[(r3+1)];
+ r0 = (r0 + 1)|0;
+ heap32[(r3+1)] = r0;
+}
+}
+ return;
+}
+
+function _ZN34btSphereTriangleCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -176;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+3)];
+if(!(r2 ==0)) //_LBB365_8
+{
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ r6 = heap32[(fp+4)];
+ r7 = heapU8[r0+16];
+ r8 = r7 == 0 ? r4 : r3;
+ r3 = r7 == 0 ? r3 : r4;
+ r4 = r8 >> 2;
+ r3 = r3 >> 2;
+ r7 = heap32[(r4+48)];
+ r8 = heap32[(r3+48)];
+ r9 = r6 >> 2;
+ heap32[(r9+1)] = r2;
+ r1 = heap32[(r1+3)];
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r1+280)];
+ r1 = _ZTV22SphereTriangleDetector;
+ r2 = sp + -16;
+ r1 = (r1 + 8)|0;
+ r10 = r2 >> 2;
+ heap32[(fp+-4)] = r1;
+ heap32[(r10+1)] = r8;
+ r1 = sp + -152;
+ heap32[(r10+2)] = r7;
+ r7 = r1 >> 2;
+ heapFloat[(r10+3)] = f0;
+ heap32[(r7+33)] = 0;
+ heap32[(r7+32)] = 1566444395;
+ heap32[(fp+-38)] = heap32[(r3+1)];
+ heap32[(r7+1)] = heap32[(r3+2)];
+ heap32[(r7+2)] = heap32[(r3+3)];
+ heap32[(r7+3)] = heap32[(r3+4)];
+ heap32[(r7+4)] = heap32[(r3+5)];
+ heap32[(r7+5)] = heap32[(r3+6)];
+ heap32[(r7+6)] = heap32[(r3+7)];
+ heap32[(r7+7)] = heap32[(r3+8)];
+ heap32[(r7+8)] = heap32[(r3+9)];
+ heap32[(r7+9)] = heap32[(r3+10)];
+ heap32[(r7+10)] = heap32[(r3+11)];
+ heap32[(r7+11)] = heap32[(r3+12)];
+ heap32[(r7+12)] = heap32[(r3+13)];
+ heap32[(r7+13)] = heap32[(r3+14)];
+ heap32[(r7+14)] = heap32[(r3+15)];
+ heap32[(r7+15)] = heap32[(r3+16)];
+ heap32[(r7+16)] = heap32[(r4+1)];
+ heap32[(r7+17)] = heap32[(r4+2)];
+ heap32[(r7+18)] = heap32[(r4+3)];
+ heap32[(r7+19)] = heap32[(r4+4)];
+ heap32[(r7+20)] = heap32[(r4+5)];
+ heap32[(r7+21)] = heap32[(r4+6)];
+ heap32[(r7+22)] = heap32[(r4+7)];
+ heap32[(r7+23)] = heap32[(r4+8)];
+ heap32[(r7+24)] = heap32[(r4+9)];
+ heap32[(r7+25)] = heap32[(r4+10)];
+ heap32[(r7+26)] = heap32[(r4+11)];
+ heap32[(r7+27)] = heap32[(r4+12)];
+ heap32[(r7+28)] = heap32[(r4+13)];
+ heap32[(r7+29)] = heap32[(r4+14)];
+ heap32[(r7+30)] = heap32[(r4+15)];
+ heap32[(r7+31)] = heap32[(r4+16)];
+ r3 = r5 >> 2;
+ r4 = heapU8[r0+16];
+ r3 = heap32[(r3+5)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r4;
+ _ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(i7);
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB365_8
+{
+ r0 = heap32[(r9+1)];
+ if(r0 !=0) //_LBB365_4
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+279)];
+if(!(r2 ==0)) //_LBB365_8
+{
+ r1 = heap32[(r1+277)];
+ r2 = heap32[(r9+34)];
+ if(r1 ==r2) //_LBB365_7
+{
+ r1 = (r6 + 8)|0;
+ r2 = (r6 + 72)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+}
+else{
+ r1 = (r6 + 72)|0;
+ r6 = (r6 + 8)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r6;
+ _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(i7);
+ return;
+}
+}
+}
+else{
+ r0 = _2E_str59;
+ r6 = _2E_str160;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = 101;
+ _assert(i7);
+}
+}
+}
+ return;
+}
+
+function _ZN34btSphereTriangleCollisionAlgorithmD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV34btSphereTriangleCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+8];
+if(!(r1 ==0)) //_LBB366_3
+{
+ r1 = heap32[(r2+3)];
+if(!(r1 ==0)) //_LBB366_3
+{
+ r3 = heap32[(r2+1)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+}
+ r1 = _ZTV30btActivatingCollisionAlgorithm;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN34btSphereTriangleCollisionAlgorithmD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV34btSphereTriangleCollisionAlgorithm;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r0 = heapU8[r0+8];
+if(!(r0 ==0)) //_LBB367_3
+{
+ r0 = heap32[(r2+3)];
+if(!(r0 ==0)) //_LBB367_3
+{
+ r1 = heap32[(r2+1)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+}
+ r0 = _ZTV30btActivatingCollisionAlgorithm;
+ r0 = (r0 + 8)|0;
+ heap32[(r2)] = r0;
+ return;
+}
+
+function _ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+1)];
+ r2 = (r0 + r1)|0;
+ r3 = r2 >>> 31;
+ r4 = heap32[(fp)];
+ r2 = (r2 + r3)|0;
+ r3 = r4 >> 2;
+ r2 = r2 & 1073741822;
+ r5 = heap32[(r3+3)];
+ r2 = r2 << 2;
+ r2 = (r5 + r2)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r5 = r1;
+ r6 = r0;
+_1: while(true){
+ r7 = heap32[(r3+3)];
+ r8 = r5 << 3;
+ r8 = (r7 + r8)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+ if(r8 <r2) //_LBB368_3
+{
+_4: while(true){
+ r8 = r5 << 3;
+ r8 = (r7 + r8)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ r5 = (r5 + 1)|0;
+ if(r8 <r2) //_LBB368_3
+{
+continue _4;
+}
+else{
+break _4;
+}
+}
+}
+ r9 = r6 << 3;
+ r9 = (r7 + r9)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+_7: do {
+ if(r2 <r9) //_LBB368_6
+{
+_8: while(true){
+ r9 = r6 << 3;
+ r9 = (r7 + r9)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+-2)];
+ r6 = (r6 + -1)|0;
+ if(r2 <r9) //_LBB368_6
+{
+continue _8;
+}
+else{
+break _7;
+}
+}
+}
+} while(0);
+ if(r5 <=r6) //_LBB368_9
+{
+ r10 = r5 << 3;
+ r11 = r6 << 3;
+ r10 = (r7 + r10)|0;
+ r7 = (r7 + r11)|0;
+ r10 = r10 >> 2;
+ r7 = r7 >> 2;
+ r12 = heap32[(r10+1)];
+ r7 = heap32[(r7+1)];
+ heap32[(r10)] = r9;
+ heap32[(r10+1)] = r7;
+ r7 = heap32[(r3+3)];
+ r7 = (r7 + r11)|0;
+ r7 = r7 >> 2;
+ r5 = (r5 + 1)|0;
+ r6 = (r6 + -1)|0;
+ heap32[(r7)] = r8;
+ heap32[(r7+1)] = r12;
+}
+ if(r5 <=r6) //_LBB368_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+if(!(r6 <=r1)) //_LBB368_13
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r6;
+ _ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii(i7);
+}
+if(!(r5 >=r0)) //_LBB368_15
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r0;
+ _ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii(i7);
+}
+ return;
+}
+
+function _ZN22SphereTriangleDetectorD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV22SphereTriangleDetector;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN22SphereTriangleDetectorD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV22SphereTriangleDetector;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -144;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+2)];
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r1+19)];
+ f1 = heapFloat[(r1+15)];
+ f2 = heapFloat[(r1+23)];
+ f3 = heapFloat[(r1+17)];
+ f4 = heapFloat[(r1+13)];
+ f5 = heapFloat[(r1+21)];
+ f6 = heapFloat[(r1+22)];
+ f7 = heapFloat[(r1+14)];
+ f8 = heapFloat[(r1+18)];
+ f0 = f0-f1;
+ f6 = f6-f7;
+ f3 = f3-f4;
+ f1 = f2-f1;
+ f2 = f8-f7;
+ f4 = f5-f4;
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(r0+1)];
+ f5 = f2*f1;
+ f7 = f0*f6;
+ f0 = f0*f4;
+ f1 = f3*f1;
+ r2 = r2 >> 2;
+ r3 = r3 >> 2;
+ f5 = f5-f7;
+ f0 = f0-f1;
+ f1 = f3*f6;
+ f2 = f2*f4;
+ f3 = heapFloat[(r0+3)];
+ f1 = f1-f2;
+ f2 = f5*f5;
+ f4 = f0*f0;
+ f6 = heapFloat[(r3+7)];
+ f7 = heapFloat[(r3+3)];
+ f8 = heapFloat[(r2+18)];
+ f9 = heapFloat[(r2+22)];
+ f10 = heapFloat[(r2+26)];
+ f11 = heapFloat[(r2+17)];
+ f12 = heapFloat[(r2+21)];
+ f13 = heapFloat[(r2+25)];
+ f14 = heapFloat[(r2+16)];
+ f15 = heapFloat[(r2+12)];
+ f16 = heapFloat[(r2+28)];
+ f17 = heapFloat[(r2+20)];
+ f18 = heapFloat[(r2+13)];
+ f19 = heapFloat[(r2+29)];
+ f20 = heapFloat[(r2+24)];
+ f21 = heapFloat[(r2+14)];
+ f22 = heapFloat[(r2+30)];
+ f2 = f2+f4;
+ f4 = f1*f1;
+ f15 = f15-f16;
+ f16 = f18-f19;
+ f2 = f2+f4;
+ f4 = f21-f22;
+ heapFloat[(g0)] = f2;
+ f2 = f11*f15;
+ f11 = f12*f16;
+ f12 = f14*f15;
+ f14 = f17*f16;
+ sqrtf(i7);
+ f18 = 1;
+ heapFloat[(fp+-25)] = f18;
+ f8 = f8*f15;
+ f9 = f9*f16;
+ f2 = f2+f11;
+ f11 = f13*f4;
+ f12 = f12+f14;
+ f13 = f20*f4;
+ f14 = f18/f_g0;
+ f2 = f2+f11;
+ f11 = heapFloat[(r1+14)];
+ f12 = f12+f13;
+ f13 = heapFloat[(r1+13)];
+ f8 = f8+f9;
+ f4 = f10*f4;
+ f5 = f5*f14;
+ f9 = f12-f13;
+ heapFloat[(fp+-28)] = f9;
+ f0 = f0*f14;
+ f10 = f2-f11;
+ heapFloat[(fp+-29)] = f10;
+ f4 = f8+f4;
+ f8 = heapFloat[(r1+15)];
+ f1 = f1*f14;
+ f14 = f4-f8;
+ heapFloat[(fp+-27)] = f14;
+ f9 = f9*f5;
+ f10 = f10*f0;
+ f9 = f9+f10;
+ f10 = f14*f1;
+ f9 = f9+f10;
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+4)];
+ f6 = f6*f7;
+ heapFloat[(fp+-26)] = f6;
+ f6 = 0;
+ if(f9 <f6) //_LBB371_2
+{
+ f9 = -f9;
+ f5 = -f5;
+ f0 = -f0;
+ f1 = -f1;
+}
+ f7 = heapFloat[(fp+-26)];
+ if(f9 <f7) //_LBB371_5
+{
+__label__ = 4;
+}
+else{
+ f7 = f5*f6;
+ f10 = f0*f6;
+ f7 = f7+f10;
+ f10 = f1*f6;
+ f7 = f7+f10;
+ if(f7 >=f6) //_LBB371_31
+{
+__label__ = 29;
+}
+else{
+__label__ = 4;
+}
+}
+_6: do {
+if (__label__ == 4){
+ f7 = heapFloat[(fp+-26)];
+ f3 = f7+f3;
+ heapFloat[(fp+-30)] = f3;
+if(!(f3 <=f9)) //_LBB371_31
+{
+ f3 = heapFloat[(r1+19)];
+ f7 = heapFloat[(r1+23)];
+ f10 = heapFloat[(r1+17)];
+ f14 = heapFloat[(r1+21)];
+ f15 = heapFloat[(r1+18)];
+ f16 = heapFloat[(r1+22)];
+ f17 = f7-f3;
+ f18 = f14-f10;
+ f19 = f3-f8;
+ f8 = f8-f7;
+ f20 = f16-f15;
+ f21 = f10-f13;
+ f22 = f15-f11;
+ f13 = f13-f14;
+ f11 = f11-f16;
+ f23 = f20*f1;
+ f24 = f17*f0;
+ f17 = f17*f5;
+ f25 = f18*f1;
+ f26 = f22*f1;
+ f27 = f19*f0;
+ f19 = f19*f5;
+ f28 = f21*f1;
+ f29 = f11*f1;
+ f30 = f8*f0;
+ f8 = f8*f5;
+ heapFloat[(fp+-31)] = f8;
+ f8 = f13*f1;
+ f23 = f23-f24;
+ f10 = f12-f10;
+ f17 = f17-f25;
+ f15 = f2-f15;
+ f18 = f18*f0;
+ f20 = f20*f5;
+ f24 = f26-f27;
+ f19 = f19-f28;
+ f21 = f21*f0;
+ f22 = f22*f5;
+ f25 = f29-f30;
+ f14 = f12-f14;
+ f26 = heapFloat[(fp+-31)];
+ f8 = f26-f8;
+ f16 = f2-f16;
+ f13 = f13*f0;
+ f11 = f11*f5;
+ f10 = f23*f10;
+ f15 = f17*f15;
+ f17 = f18-f20;
+ f3 = f4-f3;
+ f18 = heapFloat[(fp+-28)];
+ f18 = f24*f18;
+ f20 = heapFloat[(fp+-29)];
+ f19 = f19*f20;
+ f20 = f21-f22;
+ f14 = f25*f14;
+ f8 = f8*f16;
+ f11 = f13-f11;
+ f7 = f4-f7;
+ f10 = f10+f15;
+ f3 = f17*f3;
+ f13 = f18+f19;
+ f15 = heapFloat[(fp+-27)];
+ f15 = f20*f15;
+ f8 = f14+f8;
+ f7 = f11*f7;
+ f3 = f10+f3;
+ f10 = f13+f15;
+ f7 = f8+f7;
+ if(f3 <=f6) //_LBB371_9
+{
+__label__ = 8;
+}
+else{
+ f8 = 0;
+ if(f10 <=f8) //_LBB371_9
+{
+__label__ = 8;
+}
+else{
+ if(f7 >f8) //_LBB371_12
+{
+__label__ = 11;
+}
+else{
+__label__ = 8;
+}
+}
+}
+_12: do {
+if (__label__ == 8){
+if(!(f10 >f6)) //_LBB371_13
+{
+if(!(f3 >f6)) //_LBB371_13
+{
+if(!(f7 >f6)) //_LBB371_13
+{
+__label__ = 11;
+break _12;
+}
+}
+}
+ r1 = heap32[(r0+2)];
+ r5 = r1 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+22)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r1 = r_g0;
+ if(r1 <1) //_LBB371_31
+{
+break _6;
+}
+else{
+ f0 = heapFloat[(fp+-30)];
+ f5 = f0*f0;
+ r1 = 0;
+ r5 = r1;
+_19: while(true){
+ r6 = heap32[(r0+2)];
+ r7 = r6 >> 2;
+ r7 = heap32[(r7)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+23)];
+ r8 = sp + -32;
+ r9 = sp + -16;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r8;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r6 = r8 >> 2;
+ r7 = r9 >> 2;
+ f7 = heapFloat[(r7+1)];
+ f8 = heapFloat[(r6+1)];
+ f9 = heapFloat[(fp+-4)];
+ f10 = heapFloat[(fp+-8)];
+ f11 = f2-f7;
+ f8 = f8-f7;
+ f13 = f12-f9;
+ f10 = f10-f9;
+ f14 = heapFloat[(r7+2)];
+ f15 = heapFloat[(r6+2)];
+ f16 = f4-f14;
+ f15 = f15-f14;
+ f17 = f10*f13;
+ f18 = f8*f11;
+ f17 = f17+f18;
+ f18 = f15*f16;
+ f17 = f17+f18;
+ r1 = (r1 + 1)|0;
+ if(f17 >f6) //_LBB371_17
+{
+ f18 = f10*f10;
+ f19 = f8*f8;
+ f18 = f18+f19;
+ f19 = f15*f15;
+ f18 = f18+f19;
+ if(f17 >=f18) //_LBB371_19
+{
+ f13 = f13-f10;
+ f11 = f11-f8;
+ f16 = f16-f15;
+ f17 = heapFloat[(fp+-25)];
+}
+else{
+ f17 = f17/f18;
+ f18 = f10*f17;
+ f19 = f8*f17;
+ f20 = f15*f17;
+ f13 = f13-f18;
+ f11 = f11-f19;
+ f16 = f16-f20;
+}
+}
+else{
+ f17 = f6;
+}
+ f13 = f13*f13;
+ f11 = f11*f11;
+ f11 = f13+f11;
+ f13 = f16*f16;
+ f11 = f11+f13;
+ if(f11 <f5) //_LBB371_22
+{
+ f0 = f10*f17;
+ f3 = f8*f17;
+ f8 = f15*f17;
+ f1 = f9+f0;
+ f0 = f7+f3;
+ f3 = f14+f8;
+ r5 = 1;
+}
+ r6 = heap32[(r0+2)];
+ r7 = r6 >> 2;
+ r7 = heap32[(r7)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+22)];
+ heap32[(g0)] = r6;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r6 = r_g0;
+if(!(r6 >r1)) //_LBB371_15
+{
+break _19;
+}
+}
+ r0 = r5 & 255;
+ if(r0 ==0) //_LBB371_31
+{
+break _6;
+}
+else{
+__label__ = 23;
+}
+}
+}
+} while(0);
+if (__label__ == 11){
+ f6 = f1*f9;
+ f0 = f0*f9;
+ f1 = f5*f9;
+ f3 = f4-f6;
+ f0 = f2-f0;
+ f1 = f12-f1;
+}
+ f2 = f2-f0;
+ f5 = f12-f1;
+ f4 = f4-f3;
+ f6 = f5*f5;
+ f7 = f2*f2;
+ f6 = f6+f7;
+ f7 = f4*f4;
+ f6 = f6+f7;
+ f7 = heapFloat[(fp+-26)];
+ f7 = f7*f7;
+ if(f7 <=f6) //_LBB371_27
+{
+ f6 = 0;
+ f5 = f5*f6;
+ f2 = f2*f6;
+ f2 = f5+f2;
+ f4 = f4*f6;
+ f2 = f2+f4;
+ if(f2 >=f6) //_LBB371_31
+{
+break _6;
+}
+}
+else{
+ heapFloat[(g0)] = f6;
+ sqrtf(i7);
+ f7 = f_g0;
+ heapFloat[(g0)] = f6;
+ f6 = 1;
+ sqrtf(i7);
+ f9 = heapFloat[(fp+-26)];
+ f7 = f9-f7;
+ f6 = f6/f_g0;
+ f5 = f5*f6;
+ f2 = f2*f6;
+ f4 = f4*f6;
+ f6 = -f7;
+}
+ if(r4 ==0) //_LBB371_30
+{
+ r0 = r3 >> 2;
+ f7 = heapFloat[(r2+16)];
+ f8 = heapFloat[(r2+17)];
+ r0 = heap32[(r0)];
+ f9 = heapFloat[(r2+20)];
+ f10 = heapFloat[(r2+21)];
+ f11 = f7*f1;
+ f12 = f8*f0;
+ f13 = heapFloat[(r2+18)];
+ r0 = r0 >> 2;
+ f14 = heapFloat[(r2+24)];
+ f15 = heapFloat[(r2+25)];
+ f16 = heapFloat[(r2+22)];
+ f17 = f9*f1;
+ f18 = f10*f0;
+ f11 = f11+f12;
+ f12 = f13*f3;
+ f19 = heapFloat[(r2+26)];
+ r0 = heap32[(r0+4)];
+ f1 = f14*f1;
+ f0 = f15*f0;
+ f17 = f17+f18;
+ f18 = f16*f3;
+ f11 = f11+f12;
+ f12 = heapFloat[(r2+28)];
+ f20 = heapFloat[(r2+30)];
+ f21 = heapFloat[(r2+29)];
+ r1 = sp + -64;
+ f17 = f17+f18;
+ f0 = f1+f0;
+ f1 = f19*f3;
+ f3 = f11+f12;
+ f0 = f0+f1;
+ r2 = r1 >> 2;
+ f1 = f17+f21;
+ heapFloat[(fp+-16)] = f3;
+ f3 = f7*f5;
+ f7 = f8*f2;
+ f0 = f0+f20;
+ heapFloat[(r2+1)] = f1;
+ heapFloat[(r2+2)] = f0;
+ f0 = f9*f5;
+ f1 = f10*f2;
+ f3 = f3+f7;
+ f7 = f13*f4;
+ r4 = sp + -48;
+ f5 = f14*f5;
+ f2 = f15*f2;
+ f0 = f0+f1;
+ f1 = f16*f4;
+ f3 = f3+f7;
+ heap32[(r2+3)] = 0;
+ r2 = r4 >> 2;
+ f2 = f5+f2;
+ f4 = f19*f4;
+ f0 = f0+f1;
+ heapFloat[(fp+-12)] = f3;
+ f1 = f2+f4;
+ heapFloat[(r2+1)] = f0;
+ heapFloat[(r2+2)] = f1;
+ heap32[(r2+3)] = 0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ heapFloat[(g0+3)] = f6;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+}
+else{
+ f7 = heapFloat[(r2+16)];
+ f8 = heapFloat[(r2+17)];
+ f9 = heapFloat[(r2+20)];
+ f10 = heapFloat[(r2+21)];
+ f11 = f7*f5;
+ f12 = f8*f2;
+ f13 = heapFloat[(r2+18)];
+ f14 = heapFloat[(r2+24)];
+ f15 = heapFloat[(r2+25)];
+ f16 = heapFloat[(r2+22)];
+ f17 = f9*f5;
+ f18 = f10*f2;
+ f11 = f11+f12;
+ f12 = f13*f4;
+ f19 = heapFloat[(r2+26)];
+ f11 = f11+f12;
+ f5 = f14*f5;
+ f2 = f15*f2;
+ f12 = f17+f18;
+ f17 = f16*f4;
+ r0 = sp + -80;
+ f12 = f12+f17;
+ f2 = f5+f2;
+ f4 = f19*f4;
+ f5 = -f11;
+ f2 = f2+f4;
+ r1 = r0 >> 2;
+ f4 = -f12;
+ heapFloat[(fp+-20)] = f5;
+ f5 = -f2;
+ heapFloat[(r1+1)] = f4;
+ heapFloat[(r1+2)] = f5;
+ f4 = f7*f1;
+ f5 = f8*f0;
+ heap32[(r1+3)] = 0;
+ f7 = f9*f1;
+ f8 = f10*f0;
+ f4 = f4+f5;
+ f5 = f13*f3;
+ f1 = f14*f1;
+ f0 = f15*f0;
+ f7 = f7+f8;
+ f8 = f16*f3;
+ f4 = f4+f5;
+ f5 = heapFloat[(r2+28)];
+ f0 = f1+f0;
+ f1 = f19*f3;
+ f3 = f7+f8;
+ f7 = heapFloat[(r2+29)];
+ f8 = heapFloat[(r2+30)];
+ f4 = f4+f5;
+ f5 = f11*f6;
+ r2 = sp + -96;
+ f0 = f0+f1;
+ f1 = f3+f7;
+ f3 = f12*f6;
+ f4 = f4+f5;
+ r1 = r2 >> 2;
+ f0 = f0+f8;
+ f2 = f2*f6;
+ f1 = f1+f3;
+ heapFloat[(fp+-24)] = f4;
+ f0 = f0+f2;
+ heapFloat[(r1+1)] = f1;
+ heapFloat[(r1+2)] = f0;
+ r4 = r3 >> 2;
+ heap32[(r1+3)] = 0;
+ r1 = heap32[(r4)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ heapFloat[(g0+3)] = f6;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZNK10btBoxShape7getAabbERK11btTransformR9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f1 = heapFloat[(r1+7)];
+ f2 = heapFloat[(r1+8)];
+ f3 = heapFloat[(r1+9)];
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp+3)];
+ heapFloat[(g0)] = f1;
+ heapFloat[(g0+1)] = f2;
+ heapFloat[(g0+2)] = f3;
+ heapFloat[(g0+3)] = f_g0;
+ heap32[(g0+4)] = r0;
+ heap32[(g0+5)] = r1;
+ heap32[(g0+6)] = r2;
+ _Z15btTransformAabbRK9btVector3fRK11btTransformRS_S5_(i7);
+ return;
+}
+
+function _Z15btTransformAabbRK9btVector3fRK11btTransformRS_S5_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+4)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(fp+2)];
+ f1 = heapFloat[(fp+3)];
+ f2 = heapFloat[(fp+1)];
+ f3 = heapFloat[(fp)];
+ f4 = heapFloat[(r0+10)];
+ r1 = heap32[(fp+5)];
+ r2 = heap32[(fp+6)];
+ f0 = f0+f1;
+ f2 = f2+f1;
+ f1 = f3+f1;
+ f3 = 0;
+ if(f4 <f3) //_LBB373_2
+{
+ f4 = -f4;
+}
+ f5 = heapFloat[(r0+9)];
+ if(f5 <f3) //_LBB373_5
+{
+ f5 = -f5;
+}
+ f6 = heapFloat[(r0+8)];
+ if(f6 <f3) //_LBB373_8
+{
+ f6 = -f6;
+}
+ f7 = heapFloat[(r0+6)];
+ if(f7 <f3) //_LBB373_11
+{
+ f7 = -f7;
+}
+ f8 = heapFloat[(r0+5)];
+ if(f8 <f3) //_LBB373_14
+{
+ f8 = -f8;
+}
+ f9 = heapFloat[(r0+4)];
+ if(f9 <f3) //_LBB373_17
+{
+ f9 = -f9;
+}
+ f10 = heapFloat[(r0+2)];
+ if(f10 <f3) //_LBB373_20
+{
+ f10 = -f10;
+}
+ f11 = heapFloat[(r0+1)];
+ if(f11 <f3) //_LBB373_23
+{
+ f11 = -f11;
+}
+ f12 = heapFloat[(r0)];
+ if(f12 <f3) //_LBB373_26
+{
+ f12 = -f12;
+}
+ f3 = f12*f1;
+ f11 = f11*f2;
+ f9 = f9*f1;
+ f8 = f8*f2;
+ f3 = f3+f11;
+ f10 = f10*f0;
+ f1 = f6*f1;
+ f2 = f5*f2;
+ f5 = f9+f8;
+ f6 = f7*f0;
+ f3 = f3+f10;
+ f7 = heapFloat[(r0+12)];
+ f8 = heapFloat[(r0+13)];
+ f9 = heapFloat[(r0+14)];
+ f5 = f5+f6;
+ r0 = r1 >> 2;
+ f1 = f1+f2;
+ f0 = f4*f0;
+ f2 = f7-f3;
+ f0 = f1+f0;
+ f1 = f8-f5;
+ heapFloat[(r0)] = f2;
+ f2 = f9-f0;
+ heapFloat[(r0+1)] = f1;
+ heapFloat[(r0+2)] = f2;
+ r1 = r2 >> 2;
+ f1 = f7+f3;
+ heap32[(r0+3)] = 0;
+ f2 = f8+f5;
+ heapFloat[(r1)] = f1;
+ f0 = f9+f0;
+ heapFloat[(r1+1)] = f2;
+ heapFloat[(r1+2)] = f0;
+ heap32[(r1+3)] = 0;
+ return;
+}
+
+function _ZNK10btBoxShape24localGetSupportingVertexERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ f0 = heapFloat[(r1+7)];
+ f1 = heapFloat[(r1+8)];
+ f2 = heapFloat[(r1+9)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f3 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f4 = f_g0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+11)];
+ heap32[(g0)] = r0;
+ r0 = heap32[(fp+2)];
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = r0 >> 2;
+ f0 = f0+f_g0;
+ r1 = heap32[(fp)];
+ f1 = f1+f4;
+ f4 = 0;
+ f5 = -f0;
+ f6 = heapFloat[(r0)];
+ f7 = heapFloat[(r0+2)];
+ f8 = heapFloat[(r0+1)];
+ f2 = f2+f3;
+ f3 = -f1;
+ r0 = r1 >> 2;
+ f0 = f6 < f4 ? f5 : f0;
+ f5 = -f2;
+ f1 = f8 < f4 ? f3 : f1;
+ heapFloat[(r0)] = f0;
+ f0 = f7 < f4 ? f5 : f2;
+ heapFloat[(r0+1)] = f1;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZNK10btBoxShape37localGetSupportingVertexWithoutMarginERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+2)];
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r0+7)];
+ r2 = heap32[(fp)];
+ f1 = heapFloat[(r0+9)];
+ f2 = heapFloat[(r0+8)];
+ f3 = 0;
+ f4 = -f0;
+ f5 = heapFloat[(r1)];
+ f6 = heapFloat[(r1+2)];
+ f7 = heapFloat[(r1+1)];
+ f8 = -f2;
+ r0 = r2 >> 2;
+ f0 = f5 < f3 ? f4 : f0;
+ f4 = -f1;
+ f2 = f7 < f3 ? f8 : f2;
+ heapFloat[(r0)] = f0;
+ f0 = f6 < f3 ? f4 : f1;
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZNK10btBoxShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+if(!(r0 <1)) //_LBB376_3
+{
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r3 = (r3 + 8)|0;
+ r2 = (r2 + 8)|0;
+ f3 = 0;
+_3: while(true){
+ r4 = r1 >> 2;
+ r5 = r2 >> 2;
+ f0 = heapFloat[(r4+7)];
+ f1 = heapFloat[(r4+9)];
+ f2 = heapFloat[(r4+8)];
+ f4 = -f0;
+ f5 = heapFloat[(r5+-2)];
+ f6 = heapFloat[(r5)];
+ f7 = heapFloat[(r5+-1)];
+ f8 = -f2;
+ r4 = r3 >> 2;
+ f0 = f5 < f3 ? f4 : f0;
+ f4 = -f1;
+ f2 = f7 < f3 ? f8 : f2;
+ heapFloat[(r4+-2)] = f0;
+ f0 = f6 < f3 ? f4 : f1;
+ heapFloat[(r4+-1)] = f2;
+ r0 = (r0 + -1)|0;
+ r3 = (r3 + 16)|0;
+ r2 = (r2 + 16)|0;
+ heapFloat[(r4)] = f0;
+ heap32[(r4+1)] = 0;
+ if(r0 !=0) //_LBB376_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZN10btBoxShape9setMarginEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f1 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f2 = f_g0;
+ f3 = heapFloat[(r1+9)];
+ f4 = heapFloat[(r1+8)];
+ f5 = heapFloat[(r1+7)];
+ heap32[(r1+11)] = heap32[(fp+1)];
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f6 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f7 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ f2 = f5+f2;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f1 = f4+f1;
+ f2 = f2-f_g0;
+ f0 = f3+f0;
+ f1 = f1-f7;
+ heapFloat[(r1+7)] = f2;
+ f0 = f0-f6;
+ heapFloat[(r1+8)] = f1;
+ heapFloat[(r1+9)] = f0;
+ heap32[(r1+10)] = 0;
+ return;
+}
+
+function _ZNK10btBoxShape8getPlaneER9btVector3S1_i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -64;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+28)];
+ r3 = sp + -32;
+ r4 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r3 >> 2;
+ r3 = heap32[(fp+1)];
+ f0 = heapFloat[(r2+2)];
+ f1 = heapFloat[(r2+1)];
+ f2 = heapFloat[(fp+-8)];
+ r2 = r3 >> 2;
+ heapFloat[(r2)] = f2;
+ heapFloat[(r2+1)] = f1;
+ heapFloat[(r2+2)] = f0;
+ heap32[(r2+3)] = 0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+15)];
+ r2 = sp + -16;
+ f2 = -f2;
+ r3 = r2 >> 2;
+ f1 = -f1;
+ heapFloat[(fp+-4)] = f2;
+ f0 = -f0;
+ heapFloat[(r3+1)] = f1;
+ heapFloat[(r3+2)] = f0;
+ heap32[(r3+3)] = 0;
+ r3 = sp + -48;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ r0 = heap32[(fp+2)];
+ r0 = r0 >> 2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = r3 >> 2;
+ heap32[(r0)] = heap32[(fp+-12)];
+ heap32[(r0+1)] = heap32[(r1+1)];
+ heap32[(r0+2)] = heap32[(r1+2)];
+ heap32[(r0+3)] = heap32[(r1+3)];
+ return;
+}
+
+function _ZNK10btBoxShape12getNumPlanesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 6;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10btBoxShape14getNumVerticesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 8;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10btBoxShape11getNumEdgesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 12;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10btBoxShape9getVertexEiR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >>> 1;
+ r2 = heap32[(fp)];
+ r2 = r2 >> 2;
+ r1 = r1 & 1;
+ r3 = r0 >>> 2;
+ r0 = r0 & 1;
+ r4 = 0;
+ f0 = 1;
+ f1 = 0;
+ r3 = r3 & 1;
+ r5 = r1 ^ 1;
+ f0 = r0 == r4 ? f0 : f1;
+ f1 = heapFloat[(r2+7)];
+ f2 = r0; //fitos r0, f2
+ r0 = heap32[(fp+2)];
+ r4 = r3 ^ 1;
+ f3 = r5; //fitos r5, f3
+ f4 = heapFloat[(r2+8)];
+ f5 = r1; //fitos r1, f5
+ f6 = heapFloat[(r2+9)];
+ f0 = f1*f0;
+ f1 = f1*f2;
+ f2 = r4; //fitos r4, f2
+ f7 = r3; //fitos r3, f7
+ r0 = r0 >> 2;
+ f3 = f4*f3;
+ f4 = f4*f5;
+ f0 = f0-f1;
+ f1 = f6*f2;
+ f2 = f6*f7;
+ f3 = f3-f4;
+ heapFloat[(r0)] = f0;
+ f0 = f1-f2;
+ heapFloat[(r0+1)] = f3;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZNK10btBoxShape8isInsideERK9btVector3f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0)];
+ f1 = heapFloat[(fp+2)];
+ f2 = heapFloat[(r1+7)];
+ f3 = f2+f1;
+if(!(f0 >f3)) //_LBB383_6
+{
+ f2 = -f2;
+ f2 = f2-f1;
+if(!(f0 <f2)) //_LBB383_6
+{
+ f0 = heapFloat[(r1+8)];
+ f2 = heapFloat[(r0+1)];
+ f3 = f0+f1;
+if(!(f2 >f3)) //_LBB383_6
+{
+ f0 = -f0;
+ f0 = f0-f1;
+if(!(f2 <f0)) //_LBB383_6
+{
+ f0 = heapFloat[(r1+9)];
+ f2 = heapFloat[(r0+2)];
+ f3 = f0+f1;
+if(!(f2 >f3)) //_LBB383_6
+{
+ f0 = -f0;
+ f0 = f0-f1;
+ r0 = f2 >= f0;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+}
+}
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10btBoxShape7getNameEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _2E_str173;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10btBoxShape36getNumPreferredPenetrationDirectionsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 6;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ f0 = heapFloat[(r1+7)];
+ f1 = heapFloat[(r1+8)];
+ f2 = heapFloat[(r1+9)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f3 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+11)];
+ heap32[(g0)] = r0;
+ f1 = f1+f_g0;
+ f2 = f2+f3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ f0 = f0+f_g0;
+ f1 = f1+f1;
+ f2 = f2+f2;
+ f0 = f0+f0;
+ f3 = heapFloat[(fp+1)];
+ f4 = 12;
+ f1 = f1*f1;
+ f2 = f2*f2;
+ f0 = f0*f0;
+ r0 = heap32[(fp+2)];
+ f3 = f3/f4;
+ f4 = f1+f2;
+ f2 = f0+f2;
+ r0 = r0 >> 2;
+ f4 = f3*f4;
+ f0 = f0+f1;
+ f1 = f3*f2;
+ heapFloat[(r0)] = f4;
+ f0 = f3*f0;
+ heapFloat[(r0+1)] = f1;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZNK10btBoxShape16getPlaneEquationER9btVector4i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp+1)];
+ f0 = heapFloat[(r0+8)];
+_1: do {
+ if(r1 >2) //_LBB387_4
+{
+ if(r1 ==3) //_LBB387_13
+{
+ r2 = r2 >> 2;
+ heap32[(r2)] = 0;
+ heap32[(r2+1)] = -1082130432;
+__label__ = 11;
+break _1;
+}
+else{
+ f0 = heapFloat[(r0+9)];
+ if(r1 ==4) //_LBB387_14
+{
+ r2 = r2 >> 2;
+ heap32[(r2)] = 0;
+ heap32[(r2+1)] = 0;
+ f0 = -f0;
+ heap32[(r2+2)] = 1065353216;
+ heapFloat[(r2+3)] = f0;
+ return;
+}
+else{
+ if(r1 ==5) //_LBB387_15
+{
+ r0 = r2 >> 2;
+ heap32[(r0)] = 0;
+ heap32[(r0+1)] = 0;
+ f0 = -f0;
+ heap32[(r0+2)] = -1082130432;
+ heapFloat[(r0+3)] = f0;
+ return;
+}
+else{
+__label__ = 16;
+break _1;
+}
+}
+}
+}
+else{
+ f1 = heapFloat[(r0+7)];
+ if(r1 ==0) //_LBB387_7
+{
+ r2 = r2 >> 2;
+ heap32[(r2)] = 1065353216;
+}
+else{
+ if(r1 ==1) //_LBB387_9
+{
+ r2 = r2 >> 2;
+ heap32[(r2)] = -1082130432;
+}
+else{
+ if(r1 ==2) //_LBB387_10
+{
+ r2 = r2 >> 2;
+ heap32[(r2)] = 0;
+ heap32[(r2+1)] = 1065353216;
+__label__ = 11;
+break _1;
+}
+else{
+__label__ = 16;
+break _1;
+}
+}
+}
+ heap32[(r2+1)] = 0;
+ f0 = -f1;
+__label__ = 12;
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 11:
+ f0 = -f0;
+break;
+case 16:
+ r0 = _2E_str10;
+ r1 = _2E_str2175;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 182;
+ _assert(i7);
+break;
+}
+ heap32[(r2+2)] = 0;
+ heapFloat[(r2+3)] = f0;
+ return;
+}
+
+function _ZNK10btBoxShape7getEdgeEiR9btVector3S1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+_1: do {
+ if(r0 >5) //_LBB388_8
+{
+ if(r0 >8) //_LBB388_12
+{
+ if(r0 ==9) //_LBB388_24
+{
+ r0 = 4;
+ r4 = 6;
+__label__ = 28;
+break _1;
+}
+else{
+ if(r0 ==10) //_LBB388_25
+{
+ r0 = 5;
+ r4 = 7;
+__label__ = 28;
+break _1;
+}
+else{
+ if(r0 ==11) //_LBB388_26
+{
+ r0 = 6;
+ r4 = 7;
+__label__ = 28;
+break _1;
+}
+else{
+__label__ = 27;
+break _1;
+}
+}
+}
+}
+else{
+ if(r0 ==6) //_LBB388_21
+{
+ r0 = 2;
+ r4 = 6;
+__label__ = 28;
+break _1;
+}
+else{
+ if(r0 ==7) //_LBB388_22
+{
+ r0 = 3;
+ r4 = 7;
+__label__ = 28;
+break _1;
+}
+else{
+ if(r0 ==8) //_LBB388_23
+{
+ r0 = 4;
+ r4 = 5;
+__label__ = 28;
+break _1;
+}
+else{
+__label__ = 27;
+break _1;
+}
+}
+}
+}
+}
+else{
+ if(r0 >2) //_LBB388_5
+{
+ if(r0 ==3) //_LBB388_18
+{
+ r0 = 2;
+ r4 = 3;
+__label__ = 28;
+break _1;
+}
+else{
+ if(r0 ==4) //_LBB388_19
+{
+ r0 = 0;
+ r4 = 4;
+__label__ = 28;
+break _1;
+}
+else{
+ if(r0 ==5) //_LBB388_20
+{
+ r0 = 1;
+ r4 = 5;
+__label__ = 28;
+break _1;
+}
+else{
+__label__ = 27;
+break _1;
+}
+}
+}
+}
+else{
+ if(r0 ==0) //_LBB388_15
+{
+ r0 = 0;
+ r4 = 1;
+__label__ = 28;
+break _1;
+}
+else{
+ if(r0 ==1) //_LBB388_16
+{
+ r0 = 0;
+ r4 = 2;
+__label__ = 28;
+}
+else{
+ if(r0 ==2) //_LBB388_17
+{
+ r0 = 1;
+ r4 = 3;
+__label__ = 28;
+}
+else{
+__label__ = 27;
+}
+}
+}
+}
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 28:
+ r5 = r1 >> 2;
+ r6 = heap32[(r5)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+24)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r0 = heap32[(r5)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+24)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ return;
+break;
+case 27:
+ r0 = _2E_str10;
+ r1 = _2E_str2175;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 246;
+ _assert(i7);
+break;
+}
+}
+
+function _ZNK10btBoxShape32getPreferredPenetrationDirectionEiR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+2)];
+_1: do {
+ if(r0 >2) //_LBB389_4
+{
+ if(r0 ==3) //_LBB389_12
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = 0;
+ heap32[(r1+1)] = -1082130432;
+__label__ = 9;
+break _1;
+}
+else{
+ if(r0 ==4) //_LBB389_13
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = 0;
+ heap32[(r1+1)] = 0;
+ heap32[(r1+2)] = 1065353216;
+ heap32[(r1+3)] = 0;
+ return;
+}
+else{
+ if(r0 ==5) //_LBB389_14
+{
+ r0 = r1 >> 2;
+ heap32[(r0)] = 0;
+ heap32[(r0+1)] = 0;
+ heap32[(r0+2)] = -1082130432;
+ heap32[(r0+3)] = 0;
+ return;
+}
+else{
+__label__ = 15;
+break _1;
+}
+}
+}
+}
+else{
+ if(r0 ==0) //_LBB389_7
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = 1065353216;
+}
+else{
+ if(r0 ==1) //_LBB389_10
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = -1082130432;
+}
+else{
+ if(r0 ==2) //_LBB389_11
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = 0;
+ heap32[(r1+1)] = 1065353216;
+__label__ = 9;
+break _1;
+}
+else{
+__label__ = 15;
+break _1;
+}
+}
+}
+ heap32[(r1+1)] = 0;
+__label__ = 9;
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 9:
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 0;
+ return;
+break;
+case 15:
+ r0 = _2E_str10;
+ r1 = _2E_str2175;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 309;
+ _assert(i7);
+break;
+}
+}
+
+function _ZN10btBoxShape15setLocalScalingERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f1 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f2 = f_g0;
+ r0 = heap32[(fp+1)];
+ f3 = heapFloat[(r1+9)];
+ f4 = heapFloat[(r1+8)];
+ f5 = heapFloat[(r1+7)];
+ r0 = r0 >> 2;
+ f3 = f3+f0;
+ f6 = heapFloat[(r1+5)];
+ f4 = f4+f1;
+ f7 = heapFloat[(r1+4)];
+ f5 = f5+f2;
+ f8 = heapFloat[(r1+3)];
+ f9 = heapFloat[(r0+2)];
+ f3 = f3/f6;
+ f4 = f4/f7;
+ f5 = f5/f8;
+ f6 = 0;
+ if(f9 <f6) //_LBB390_2
+{
+ f9 = -f9;
+}
+ f7 = heapFloat[(r0+1)];
+ if(f7 <f6) //_LBB390_5
+{
+ f7 = -f7;
+}
+ f8 = heapFloat[(r0)];
+ if(f8 <f6) //_LBB390_8
+{
+ f8 = -f8;
+}
+ heapFloat[(r1+3)] = f8;
+ heapFloat[(r1+4)] = f7;
+ heapFloat[(r1+5)] = f9;
+ f5 = f5*f8;
+ f4 = f4*f7;
+ f2 = f5-f2;
+ heap32[(r1+6)] = 0;
+ f3 = f3*f9;
+ f1 = f4-f1;
+ heapFloat[(r1+7)] = f2;
+ f0 = f3-f0;
+ heapFloat[(r1+8)] = f1;
+ heapFloat[(r1+9)] = f0;
+ heap32[(r1+10)] = 0;
+ return;
+}
+
+function _ZN10btBoxShapeD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13btConvexShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+if(!(r0 ==0)) //_LBB391_2
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZN10btBoxShapeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13btConvexShape;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZNK14btConcaveShape9getMarginEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var f0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+3)];
+ f_g0 = f0;
+ return;
+}
+
+function _ZN14btConcaveShape9setMarginEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ heap32[(r0+3)] = heap32[(fp+1)];
+ return;
+}
+
+function _ZNK22btBvhTriangleMeshShape7getNameEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _2E_str181;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK22btBvhTriangleMeshShape28calculateSerializeBufferSizeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 60;
+ r_g0 = r0;
+ return;
+}
+
+function _ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -120;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+1)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ r3 = heap32[(fp+1)];
+ r4 = sp + -52;
+ r5 = sp + -56;
+ r6 = sp + -60;
+ r7 = sp + -64;
+ r8 = sp + -68;
+ r9 = sp + -72;
+ r10 = sp + -76;
+ r11 = sp + -80;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r6;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r8;
+ heap32[(g0+6)] = r9;
+ heap32[(g0+7)] = r10;
+ heap32[(g0+8)] = r11;
+ heap32[(g0+9)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = heap32[(fp+-20)];
+ r2 = (r1 + -2)|0;
+ if(uint(r2) <uint(2)) //_LBB399_2
+{
+ r2 = heap32[(fp+2)];
+ r4 = heap32[(fp+-17)];
+ r5 = heap32[(fp+-18)];
+ r5 = (r5 * r2)|0;
+ r6 = heap32[(r0+1)];
+ r4 = (r4 + r5)|0;
+ r5 = -6;
+_3: while(true){
+ r7 = 0;
+ r8 = r5 << 1;
+ r7 = (r7 - r8)|0;
+ if(r1 !=3) //_LBB399_5
+{
+ r8 = (r4 - r8)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+-1)];
+}
+else{
+ r8 = (r4 - r5)|0;
+ r8 = heapU16[(r8+-2)>>1];
+}
+ r9 = heap32[(fp+-16)];
+ r10 = heap32[(fp+-13)];
+ r8 = (r9 * r8)|0;
+ r9 = heap32[(fp+-15)];
+ if(r9 !=0) //_LBB399_8
+{
+ r9 = (r10 + r8)|0;
+ r11 = r6 >> 2;
+ f0 = llvm_readDouble((r9+16));
+ f1 = llvm_readDouble((r9+8));
+ f2 = llvm_readDouble((r10+r8));
+ f0 = f0; //fdtos f0, f0
+ f3 = heapFloat[(r11+3)];
+ f1 = f1; //fdtos f1, f1
+ f4 = heapFloat[(r11+2)];
+ f2 = f2; //fdtos f2, f2
+ f5 = heapFloat[(r11+1)];
+ f0 = f0*f3;
+ f1 = f1*f4;
+ f2 = f2*f5;
+}
+else{
+ r8 = (r10 + r8)|0;
+ r8 = r8 >> 2;
+ r10 = r6 >> 2;
+ f0 = heapFloat[(r8+2)];
+ f1 = heapFloat[(r10+3)];
+ f2 = heapFloat[(r8+1)];
+ f3 = heapFloat[(r10+2)];
+ f4 = heapFloat[(r8)];
+ f5 = heapFloat[(r10+1)];
+ f0 = f0*f1;
+ f1 = f2*f3;
+ f2 = f4*f5;
+}
+ r8 = sp + -48;
+ r9 = r7 << 2;
+ r10 = r7 << 2;
+ r9 = (r8 + r9)|0;
+ r11 = r7 << 2;
+ r10 = (r8 + r10)|0;
+ r9 = r9 >> 2;
+ r7 = r7 << 2;
+ r11 = (r8 + r11)|0;
+ r10 = r10 >> 2;
+ heapFloat[(r9+-4)] = f2;
+ r7 = (r8 + r7)|0;
+ r9 = r11 >> 2;
+ heapFloat[(r10+-3)] = f1;
+ r5 = (r5 + 2)|0;
+ r7 = r7 >> 2;
+ heapFloat[(r9+-2)] = f0;
+ heap32[(r7+-1)] = 0;
+if(!(r5 !=0)) //_LBB399_3
+{
+break _3;
+}
+}
+ r1 = heap32[(r0+2)];
+ r4 = r1 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r0 = heap32[(r0+1)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+else{
+ r0 = _2E_str6187;
+ r1 = _2E_str7188;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 130;
+ _assert(i7);
+}
+}
+
+function _ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallback11processNodeEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -120;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+1)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ r3 = heap32[(fp+1)];
+ r4 = sp + -52;
+ r5 = sp + -56;
+ r6 = sp + -60;
+ r7 = sp + -64;
+ r8 = sp + -68;
+ r9 = sp + -72;
+ r10 = sp + -76;
+ r11 = sp + -80;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r6;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r8;
+ heap32[(g0+6)] = r9;
+ heap32[(g0+7)] = r10;
+ heap32[(g0+8)] = r11;
+ heap32[(g0+9)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = heap32[(fp+-20)];
+ r2 = (r1 + -2)|0;
+ if(uint(r2) <uint(2)) //_LBB402_2
+{
+ r2 = heap32[(fp+2)];
+ r4 = heap32[(fp+-17)];
+ r5 = heap32[(fp+-18)];
+ r5 = (r5 * r2)|0;
+ r6 = heap32[(r0+1)];
+ r4 = (r4 + r5)|0;
+ r5 = -6;
+_3: while(true){
+ r7 = 0;
+ r8 = r5 << 1;
+ r7 = (r7 - r8)|0;
+ if(r1 !=3) //_LBB402_5
+{
+ r8 = (r4 - r8)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+-1)];
+}
+else{
+ r8 = (r4 - r5)|0;
+ r8 = heapU16[(r8+-2)>>1];
+}
+ r9 = heap32[(fp+-16)];
+ r10 = heap32[(fp+-13)];
+ r8 = (r9 * r8)|0;
+ r9 = heap32[(fp+-15)];
+ if(r9 !=0) //_LBB402_8
+{
+ r9 = (r10 + r8)|0;
+ r11 = r6 >> 2;
+ f0 = llvm_readDouble((r9+16));
+ f1 = llvm_readDouble((r9+8));
+ f2 = llvm_readDouble((r10+r8));
+ f0 = f0; //fdtos f0, f0
+ f3 = heapFloat[(r11+3)];
+ f1 = f1; //fdtos f1, f1
+ f4 = heapFloat[(r11+2)];
+ f2 = f2; //fdtos f2, f2
+ f5 = heapFloat[(r11+1)];
+ f0 = f0*f3;
+ f1 = f1*f4;
+ f2 = f2*f5;
+}
+else{
+ r8 = (r10 + r8)|0;
+ r8 = r8 >> 2;
+ r10 = r6 >> 2;
+ f0 = heapFloat[(r8+2)];
+ f1 = heapFloat[(r10+3)];
+ f2 = heapFloat[(r8+1)];
+ f3 = heapFloat[(r10+2)];
+ f4 = heapFloat[(r8)];
+ f5 = heapFloat[(r10+1)];
+ f0 = f0*f1;
+ f1 = f2*f3;
+ f2 = f4*f5;
+}
+ r8 = sp + -48;
+ r9 = r7 << 2;
+ r10 = r7 << 2;
+ r9 = (r8 + r9)|0;
+ r11 = r7 << 2;
+ r10 = (r8 + r10)|0;
+ r9 = r9 >> 2;
+ r7 = r7 << 2;
+ r11 = (r8 + r11)|0;
+ r10 = r10 >> 2;
+ heapFloat[(r9+-4)] = f2;
+ r7 = (r8 + r7)|0;
+ r9 = r11 >> 2;
+ heapFloat[(r10+-3)] = f1;
+ r5 = (r5 + 2)|0;
+ r7 = r7 >> 2;
+ heapFloat[(r9+-2)] = f0;
+ heap32[(r7+-1)] = 0;
+if(!(r5 !=0)) //_LBB402_3
+{
+break _3;
+}
+}
+ r1 = heap32[(r0+2)];
+ r4 = r1 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r0 = heap32[(r0+1)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+else{
+ r0 = _2E_str6187;
+ r1 = _2E_str7188;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 199;
+ _assert(i7);
+}
+}
+
+function _ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -72;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+1)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ r4 = heap32[(fp+1)];
+ r5 = sp + -4;
+ r6 = sp + -8;
+ r7 = sp + -12;
+ r8 = sp + -16;
+ r9 = sp + -20;
+ r10 = sp + -24;
+ r11 = sp + -28;
+ r12 = sp + -32;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = r8;
+ heap32[(g0+5)] = r9;
+ heap32[(g0+6)] = r10;
+ heap32[(g0+7)] = r11;
+ heap32[(g0+8)] = r12;
+ heap32[(g0+9)] = r4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = heap32[(fp+-8)];
+ r3 = (r2 + -2)|0;
+ if(uint(r3) <uint(2)) //_LBB405_2
+{
+ r3 = heap32[(fp+2)];
+ r5 = heap32[(fp+-5)];
+ r6 = heap32[(fp+-6)];
+ r6 = (r6 * r3)|0;
+ r5 = (r6 + r5)|0;
+ r6 = heap32[(r1+1)];
+ r5 = (r5 + 8)|0;
+ r7 = 0;
+ r8 = r7;
+_3: while(true){
+ r9 = r8 << 1;
+ r10 = (r7 - r9)|0;
+ if(r2 !=3) //_LBB405_5
+{
+ r9 = (r5 - r9)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+}
+else{
+ r9 = (r5 - r8)|0;
+ r9 = heapU16[(r9+-4)>>1];
+}
+ r11 = heap32[(fp+-4)];
+ r12 = heap32[(fp+-1)];
+ r9 = (r11 * r9)|0;
+ r11 = heap32[(fp+-3)];
+ if(r11 !=0) //_LBB405_8
+{
+ r11 = (r12 + r9)|0;
+ r13 = r6 >> 2;
+ f0 = llvm_readDouble((r11+16));
+ f1 = llvm_readDouble((r11+8));
+ f2 = llvm_readDouble((r12+r9));
+ f0 = f0; //fdtos f0, f0
+ f3 = heapFloat[(r13+3)];
+ f1 = f1; //fdtos f1, f1
+ f4 = heapFloat[(r13+2)];
+ f2 = f2; //fdtos f2, f2
+ f5 = heapFloat[(r13+1)];
+ f0 = f0*f3;
+ f1 = f1*f4;
+ f2 = f2*f5;
+}
+else{
+ r9 = (r12 + r9)|0;
+ r9 = r9 >> 2;
+ r12 = r6 >> 2;
+ f0 = heapFloat[(r9+2)];
+ f1 = heapFloat[(r12+3)];
+ f2 = heapFloat[(r9+1)];
+ f3 = heapFloat[(r12+2)];
+ f4 = heapFloat[(r9)];
+ f5 = heapFloat[(r12+1)];
+ f0 = f0*f1;
+ f1 = f2*f3;
+ f2 = f4*f5;
+}
+ r9 = r10 << 2;
+ r11 = r10 << 2;
+ r9 = (r0 + r9)|0;
+ r12 = r10 << 2;
+ r11 = (r0 + r11)|0;
+ r9 = r9 >> 2;
+ r10 = r10 << 2;
+ r12 = (r0 + r12)|0;
+ r11 = r11 >> 2;
+ heapFloat[(r9+11)] = f2;
+ r9 = (r0 + r10)|0;
+ r10 = r12 >> 2;
+ heapFloat[(r11+12)] = f1;
+ r8 = (r8 + 2)|0;
+ r9 = r9 >> 2;
+ heapFloat[(r10+13)] = f0;
+ heap32[(r9+14)] = 0;
+if(!(r8 !=6)) //_LBB405_3
+{
+break _3;
+}
+}
+ r2 = heap32[(r1+2)];
+ r5 = r2 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+2)];
+ r0 = (r0 + 12)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r3;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r0 = heap32[(r1+1)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+else{
+ r0 = _2E_str6187;
+ r1 = _2E_str7188;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 280;
+ _assert(i7);
+}
+}
+
+function _ZNK22btBvhTriangleMeshShape18serializeSingleBvhEP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+13)];
+if(!(r1 ==0)) //_LBB406_2
+{
+ r2 = heap32[(fp+1)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r2 >> 2;
+ r4 = heap32[(r3)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r1 = r_g0;
+ r4 = heap32[(r0+13)];
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r6 = r1 >> 2;
+ r5 = heap32[(r5+4)];
+ r6 = heap32[(r6+2)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+5)];
+ r0 = heap32[(r0+13)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r_g0;
+ heap32[(g0+3)] = 1213612625;
+ heap32[(g0+4)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+ return;
+}
+
+function _ZNK22btBvhTriangleMeshShape30serializeSingleTriangleInfoMapEP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+14)];
+if(!(r1 ==0)) //_LBB407_2
+{
+ r2 = heap32[(fp+1)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+2)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r2 >> 2;
+ r4 = heap32[(r3)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r1 = r_g0;
+ r4 = heap32[(r0+14)];
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r6 = r1 >> 2;
+ r5 = heap32[(r5+3)];
+ r6 = heap32[(r6+2)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+5)];
+ r0 = heap32[(r0+14)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r_g0;
+ heap32[(g0+3)] = 1346456916;
+ heap32[(g0+4)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+}
+ return;
+}
+
+function _ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _2E_str10;
+ r1 = _2E_str5186;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 43;
+ _assert(i7);
+}
+
+function _ZNK22btBvhTriangleMeshShape9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+10)];
+ r3 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ r5 = heap32[(fp+1)];
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+ r6 = r5 >> 2;
+ heap32[(r6)] = r4;
+if(!(r4 ==0)) //_LBB409_2
+{
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+12)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+ r2 = r3 >> 2;
+ r3 = heap32[(r2+1)];
+ heap32[(r6+1)] = r3;
+ r3 = heap32[(r2+12)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+14)];
+ r5 = (r5 + 12)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ heap32[(r6+13)] = heap32[(r2+3)];
+ r3 = heap32[(r2+13)];
+ if(r3 ==0) //_LBB409_4
+{
+__label__ = 4;
+}
+else{
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+13)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r_g0 & 1;
+ if(r3 ==0) //_LBB409_5
+{
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+6)];
+ r4 = heap32[(r2+13)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r_g0;
+ if(r3 ==0) //_LBB409_7
+{
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+7)];
+ r4 = heap32[(r2+13)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ heap32[(r6+10)] = r_g0;
+ heap32[(r6+11)] = 0;
+ r3 = heap32[(r2+13)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+3)];
+ heap32[(g0)] = r3;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r3 = r_g0;
+ r4 = heap32[(r2+13)];
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r7 = r3 >> 2;
+ r5 = heap32[(r5+4)];
+ r7 = heap32[(r7+2)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r5 = heap32[(r1)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+5)];
+ r7 = heap32[(r2+13)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r_g0;
+ heap32[(g0+3)] = 1213612625;
+ heap32[(g0+4)] = r7;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+__label__ = 8;
+}
+else{
+ heap32[(r6+10)] = r3;
+ heap32[(r6+11)] = 0;
+__label__ = 8;
+}
+}
+else{
+__label__ = 4;
+}
+}
+if (__label__ == 4){
+ heap32[(r6+10)] = 0;
+ heap32[(r6+11)] = 0;
+}
+ r3 = heap32[(r2+14)];
+ if(r3 ==0) //_LBB409_10
+{
+__label__ = 10;
+}
+else{
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+13)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r_g0 & 2;
+ if(r3 ==0) //_LBB409_12
+{
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+6)];
+ r4 = heap32[(r2+14)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r_g0;
+ if(r3 ==0) //_LBB409_14
+{
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+7)];
+ r4 = heap32[(r2+14)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ heap32[(r6+12)] = r_g0;
+ r3 = heap32[(r2+14)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ heap32[(g0)] = r3;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r3 = r_g0;
+ r4 = heap32[(r2+14)];
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r6 = r3 >> 2;
+ r5 = heap32[(r5+3)];
+ r6 = heap32[(r6+2)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ r2 = heap32[(r2+14)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r_g0;
+ heap32[(g0+3)] = 1346456916;
+ heap32[(g0+4)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+__label__ = 11;
+}
+else{
+ heap32[(r6+12)] = r3;
+__label__ = 11;
+}
+}
+else{
+__label__ = 10;
+}
+}
+if (__label__ == 10){
+ heap32[(r6+12)] = 0;
+}
+ r0 = _2E_str8189;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+var __label__ = 0;
+ i7 = sp + -72;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+61];
+if(!(r1 ==0)) //_LBB410_3
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+13)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r1+13)];
+if(!(r1 ==0)) //_LBB410_3
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r3 = heap32[(r2)];
+ r3 = (r3 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r2)] = r3;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = gNumAlignedAllocs;
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ r2 = (r2 + 1)|0;
+ heap32[(r1)] = r2;
+ heap32[(g0)] = 191;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB410_5
+{
+ r3 = 0;
+ r4 = (r2 + 4)|0;
+ r3 = (r3 - r4)|0;
+ r3 = r3 & 15;
+ r3 = (r2 + r3)|0;
+ r4 = (r3 + 4)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r2;
+ r2 = r4;
+}
+ r3 = r2 >> 2;
+ r4 = 1;
+ heap32[(r3+13)] = 277;
+ heap8[r2+80] = r4;
+ heap32[(r3+19)] = 0;
+ heap32[(r3+17)] = 0;
+ heap32[(r3+18)] = 0;
+ heap8[r2+100] = r4;
+ heap32[(r3+24)] = 0;
+ heap32[(r3+22)] = 0;
+ heap32[(r3+23)] = 0;
+ heap8[r2+120] = r4;
+ heap32[(r3+29)] = 0;
+ heap32[(r3+27)] = 0;
+ heap32[(r3+28)] = 0;
+ heap8[r2+140] = r4;
+ heap32[(r3+34)] = 0;
+ heap32[(r3+32)] = 0;
+ heap32[(r3+33)] = 0;
+ heap32[(r3+36)] = 0;
+ heap8[r2+164] = r4;
+ heap32[(r3+40)] = 0;
+ heap32[(r3+38)] = 0;
+ heap32[(r3+39)] = 0;
+ heap32[(r3+42)] = 0;
+ heap32[(r3+1)] = -8388609;
+ heap32[(r3+2)] = -8388609;
+ heap32[(r3+3)] = -8388609;
+ heap32[(r3+4)] = 0;
+ heap32[(r3+5)] = 2139095039;
+ heap32[(r3+6)] = 2139095039;
+ r5 = _ZTV14btOptimizedBvh;
+ heap32[(r3+7)] = 2139095039;
+ r5 = (r5 + 8)|0;
+ heap32[(r3+8)] = 0;
+ r6 = r0 >> 2;
+ heap32[(r3)] = r5;
+ heap32[(r6+13)] = r2;
+ r5 = heap32[(r6+12)];
+ r7 = heapU8[r0+60];
+ heap8[r2+60] = r7;
+ if(r7 ==0) //_LBB410_11
+{
+ r6 = _ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback;
+ r7 = sp + -24;
+ r6 = (r6 + 8)|0;
+ r8 = r7 >> 2;
+ r9 = (r2 + 64)|0;
+ heap32[(fp+-6)] = r6;
+ r6 = sp + -40;
+ heap32[(r8+1)] = r9;
+ r8 = r6 >> 2;
+ heap32[(fp+-10)] = -581039253;
+ heap32[(r8+1)] = -581039253;
+ heap32[(r8+2)] = -581039253;
+ r9 = sp + -56;
+ heap32[(r8+3)] = 0;
+ r8 = r9 >> 2;
+ heap32[(fp+-14)] = 1566444395;
+ heap32[(r8+1)] = 1566444395;
+ heap32[(r8+2)] = 1566444395;
+ r10 = r5 >> 2;
+ heap32[(r8+3)] = 0;
+ r8 = heap32[(r10)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r9;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r5 = heap32[(r3+17)];
+ r6 = heap32[(r3+22)];
+ r7 = r5 << 1;
+if(!(r6 >=r7)) //_LBB410_26
+{
+ r8 = heap32[(r3+23)];
+if(!(r8 >=r7)) //_LBB410_26
+{
+ if(r7 !=0) //_LBB410_15
+{
+ r8 = heap32[(r1)];
+ r8 = (r8 + 1)|0;
+ r9 = r5 << 7;
+ heap32[(r1)] = r8;
+ r8 = r9 | 19;
+ heap32[(g0)] = r8;
+ malloc(i7);
+ r8 = r_g0;
+ if(r8 !=0) //_LBB410_17
+{
+ r9 = 0;
+ r10 = (r8 + 4)|0;
+ r9 = (r9 - r10)|0;
+ r9 = r9 & 15;
+ r9 = (r8 + r9)|0;
+ r10 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r8;
+ r8 = r10;
+}
+}
+else{
+ r8 = 0;
+}
+if(!(r6 <1)) //_LBB410_21
+{
+ r9 = 0;
+_20: while(true){
+ r10 = heap32[(r3+24)];
+ r11 = (r8 + r9)|0;
+ r10 = (r10 + r9)|0;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = 64;
+ r6 = (r6 + -1)|0;
+ r9 = (r9 + 64)|0;
+ memcpy(i7);
+if(!(r6 !=0)) //_LBB410_20
+{
+break _20;
+}
+}
+}
+ r6 = heap32[(r3+24)];
+if(!(r6 ==0)) //_LBB410_25
+{
+ r9 = heapU8[r2+100];
+if(!(r9 ==0)) //_LBB410_24
+{
+ r9 = gNumAlignedFree;
+ r9 = r9 >> 2;
+ r10 = heap32[(r9)];
+ r10 = (r10 + 1)|0;
+ r6 = r6 >> 2;
+ heap32[(r9)] = r10;
+ r6 = heap32[(r6+-1)];
+ heap32[(g0)] = r6;
+ free(i7);
+}
+ heap32[(r3+24)] = 0;
+}
+ r6 = 1;
+ heap8[r2+100] = r6;
+ heap32[(r3+24)] = r8;
+ heap32[(r3+23)] = r7;
+}
+}
+ r6 = _ZTV31btInternalTriangleIndexCallback;
+ r6 = (r6 + 8)|0;
+ heap32[(r3+22)] = r7;
+ heap32[(fp+-6)] = r6;
+}
+else{
+ r7 = (r2 + 4)|0;
+ r8 = (r2 + 20)|0;
+ f0 = -1;
+ f1 = heapFloat[(r6+6)];
+ f2 = heapFloat[(r6+5)];
+ f3 = heapFloat[(r6+4)];
+ f3 = f3+f0;
+ f2 = f2+f0;
+ heapFloat[(r3+1)] = f3;
+ f0 = f1+f0;
+ heapFloat[(r3+2)] = f2;
+ heapFloat[(r3+3)] = f0;
+ heap32[(r3+4)] = 0;
+ f1 = 1;
+ f4 = heapFloat[(r6+10)];
+ f5 = heapFloat[(r6+9)];
+ f6 = heapFloat[(r6+8)];
+ f6 = f6+f1;
+ f5 = f5+f1;
+ heapFloat[(r3+5)] = f6;
+ f1 = f4+f1;
+ heapFloat[(r3+6)] = f5;
+ heapFloat[(r3+7)] = f1;
+ f4 = 65533;
+ f3 = f6-f3;
+ f2 = f5-f2;
+ f3 = f4/f3;
+ heap32[(r3+8)] = 0;
+ f0 = f1-f0;
+ f1 = f4/f2;
+ heapFloat[(r3+9)] = f3;
+ f0 = f4/f0;
+ heapFloat[(r3+10)] = f1;
+ heapFloat[(r3+11)] = f0;
+ r6 = _ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback;
+ heap32[(r3+12)] = 0;
+ r9 = sp + -16;
+ r6 = (r6 + 8)|0;
+ heap8[r2+60] = r4;
+ r10 = r9 >> 2;
+ r11 = (r2 + 104)|0;
+ heap32[(fp+-4)] = r6;
+ heap32[(r10+1)] = r11;
+ r6 = r5 >> 2;
+ heap32[(r10+2)] = r2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r8;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r5 = heap32[(r3+27)];
+ r6 = heap32[(r3+32)];
+ r7 = r5 << 1;
+_31: do {
+if(!(r6 >=r7)) //_LBB410_10
+{
+ r8 = (r2 + 124)|0;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r7;
+ r8 = (r7 - r6)|0;
+ r6 = r6 << 4;
+ _ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(i7);
+_33: while(true){
+ r9 = heap32[(r3+34)];
+ r9 = (r9 + r6)|0;
+ r9 = r9 >> 2;
+ r8 = (r8 + -1)|0;
+ r6 = (r6 + 16)|0;
+ heap32[(r9)] = 0;
+ heap32[(r9+1)] = 0;
+ heap32[(r9+2)] = 0;
+ heap32[(r9+3)] = 0;
+if(!(r8 !=0)) //_LBB410_9
+{
+break _31;
+}
+}
+}
+} while(0);
+ r6 = _ZTV31btInternalTriangleIndexCallback;
+ r6 = (r6 + 8)|0;
+ heap32[(r3+32)] = r7;
+ heap32[(fp+-4)] = r6;
+}
+ heap32[(r3+14)] = 0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r5;
+ _ZN14btQuantizedBvh9buildTreeEii(i7);
+ r5 = heapU8[r2+60];
+if(!(r5 ==0)) //_LBB410_41
+{
+ r5 = heap32[(r3+38)];
+if(!(r5 !=0)) //_LBB410_41
+{
+ r6 = heap32[(r3+39)];
+ if(r6 !=r5) //_LBB410_31
+{
+__label__ = 29;
+}
+else{
+ if(r6 <1) //_LBB410_32
+{
+ r6 = heap32[(r1)];
+ r6 = (r6 + 1)|0;
+ heap32[(r1)] = r6;
+ heap32[(g0)] = 51;
+ malloc(i7);
+ r1 = r_g0;
+ if(r1 !=0) //_LBB410_34
+{
+ r6 = 0;
+ r7 = (r1 + 4)|0;
+ r6 = (r6 - r7)|0;
+ r6 = r6 & 15;
+ r6 = (r1 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r1;
+ r1 = r7;
+}
+ r6 = heap32[(r3+40)];
+if(!(r6 ==0)) //_LBB410_39
+{
+ r7 = heapU8[r2+164];
+if(!(r7 ==0)) //_LBB410_38
+{
+ r7 = gNumAlignedFree;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7)];
+ r8 = (r8 + 1)|0;
+ r6 = r6 >> 2;
+ heap32[(r7)] = r8;
+ r6 = heap32[(r6+-1)];
+ heap32[(g0)] = r6;
+ free(i7);
+}
+ heap32[(r3+40)] = 0;
+}
+ r6 = 1;
+ heap8[r2+164] = r6;
+ heap32[(r3+40)] = r1;
+ heap32[(r3+39)] = 1;
+ r6 = heap32[(r3+38)];
+ r6 = (r6 + 1)|0;
+__label__ = 37;
+}
+else{
+__label__ = 29;
+}
+}
+if (__label__ == 29){
+ r1 = heap32[(r3+40)];
+ r6 = r4;
+}
+ heap32[(r3+38)] = r6;
+ r6 = heap32[(r3+34)];
+ r7 = heapU16[(r6)>>1];
+ r5 = r5 << 5;
+ heap16[(r1+r5)>>1] = r7;
+ r1 = (r1 + r5)|0;
+ r5 = heapU16[(r6+2)>>1];
+ heap16[(r1+2)>>1] = r5;
+ r5 = heapU16[(r6+4)>>1];
+ heap16[(r1+4)>>1] = r5;
+ r5 = heapU16[(r6+6)>>1];
+ heap16[(r1+6)>>1] = r5;
+ r5 = heapU16[(r6+8)>>1];
+ heap16[(r1+8)>>1] = r5;
+ r5 = heapU16[(r6+10)>>1];
+ r6 = r1 >> 2;
+ heap16[(r1+10)>>1] = r5;
+ heap32[(r6+3)] = 0;
+ r1 = heap32[(r3+34)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+3)];
+ r5 = 0;
+ r5 = (r5 - r1)|0;
+ r1 = r1 < 0 ? r5 : r4;
+ heap32[(r6+4)] = r1;
+}
+}
+ r1 = heap32[(r3+38)];
+ heap32[(r3+42)] = r1;
+ r1 = heap32[(r3+29)];
+if(!(r1 ==0)) //_LBB410_45
+{
+ r4 = heapU8[r2+120];
+if(!(r4 ==0)) //_LBB410_44
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r4)] = r5;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r3+29)] = 0;
+}
+ r1 = 1;
+ heap8[r2+120] = r1;
+ heap32[(r3+29)] = 0;
+ heap32[(r3+27)] = 0;
+ heap32[(r3+28)] = 0;
+ r4 = heap32[(r3+19)];
+if(!(r4 ==0)) //_LBB410_49
+{
+ r5 = heapU8[r2+80];
+if(!(r5 ==0)) //_LBB410_48
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r6 = heap32[(r5)];
+ r6 = (r6 + 1)|0;
+ r4 = r4 >> 2;
+ heap32[(r5)] = r6;
+ r4 = heap32[(r4+-1)];
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ heap32[(r3+19)] = 0;
+}
+ heap8[r2+80] = r1;
+ heap32[(r3+19)] = 0;
+ heap32[(r3+17)] = 0;
+ heap32[(r3+18)] = 0;
+ heap8[r0+61] = r1;
+ return;
+}
+
+function _ZN22btBvhTriangleMeshShape15setLocalScalingERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+7)];
+ heap32[(g0)] = r0;
+ r3 = heap32[(fp+1)];
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0 >> 2;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r3)];
+ f1 = heapFloat[(r2)];
+ f2 = heapFloat[(r2+1)];
+ f3 = heapFloat[(r3+1)];
+ f1 = f1-f0;
+ f2 = f2-f3;
+ f3 = heapFloat[(r2+2)];
+ f4 = heapFloat[(r3+2)];
+ f3 = f3-f4;
+ f1 = f1*f1;
+ f2 = f2*f2;
+ f1 = f1+f2;
+ f2 = f3*f3;
+ f1 = f1+f2;
+ f2 = 1.1920928955078125e-007;
+if(!(f1 <=f2)) //_LBB411_2
+{
+ r1 = heap32[(r1+12)];
+ r1 = r1 >> 2;
+ heapFloat[(r1+1)] = f0;
+ heap32[(r1+2)] = heap32[(r3+1)];
+ heap32[(r1+3)] = heap32[(r3+2)];
+ heap32[(r1+4)] = heap32[(r3+3)];
+ heap32[(g0)] = r0;
+ _ZN19btTriangleMeshShape15recalcLocalAabbEv(i7);
+ heap32[(g0)] = r0;
+ _ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv(i7);
+}
+ return;
+}
+
+function _ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -80;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = _ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
+ r2 = sp + -64;
+ r3 = heap32[(r0+12)];
+ r1 = (r1 + 8)|0;
+ r4 = r2 >> 2;
+ heap32[(fp+-16)] = r1;
+ r1 = heap32[(fp+1)];
+ heap32[(r4+1)] = r3;
+ heap32[(r4+2)] = r1;
+ r0 = heap32[(r0+13)];
+ r1 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r3;
+ _ZNK14btQuantizedBvh26reportAabbOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_(i7);
+ return;
+}
+
+function _ZN22btBvhTriangleMeshShapeD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV22btBvhTriangleMeshShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+61];
+ if(r1 ==0) //_LBB413_3
+{
+__label__ = 3;
+}
+else{
+ r1 = heap32[(r2+13)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+13)];
+ if(r1 ==0) //_LBB413_3
+{
+__label__ = 3;
+}
+else{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r3 = heap32[(r0)];
+ r3 = (r3 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r0)] = r3;
+ r0 = heap32[(r1+-1)];
+ r1 = _ZTV14btConcaveShape;
+ heap32[(g0)] = r0;
+ r0 = (r1 + 8)|0;
+ free(i7);
+ heap32[(r2)] = r0;
+__label__ = 4;
+}
+}
+if (__label__ == 3){
+ r1 = _ZTV14btConcaveShape;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ if(r0 ==0) //_LBB413_5
+{
+__label__ = 5;
+}
+else{
+__label__ = 4;
+}
+}
+if (__label__ == 4){
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZN22btBvhTriangleMeshShapeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV22btBvhTriangleMeshShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r0 = heapU8[r0+61];
+if(!(r0 ==0)) //_LBB414_3
+{
+ r0 = heap32[(r2+13)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = heap32[(r2+13)];
+if(!(r0 ==0)) //_LBB414_3
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+}
+ r0 = _ZTV14btConcaveShape;
+ r0 = (r0 + 8)|0;
+ heap32[(r2)] = r0;
+ return;
+}
+
+function _ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN14btCapsuleShape9setMarginEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f1 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f2 = f_g0;
+ f3 = heapFloat[(r1+9)];
+ f4 = heapFloat[(r1+8)];
+ f5 = heapFloat[(r1+7)];
+ heap32[(r1+11)] = heap32[(fp+1)];
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f6 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f7 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ f2 = f5+f2;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f1 = f4+f1;
+ f2 = f2-f_g0;
+ f0 = f3+f0;
+ f1 = f1-f7;
+ heapFloat[(r1+7)] = f2;
+ f0 = f0-f6;
+ heapFloat[(r1+8)] = f1;
+ heapFloat[(r1+9)] = f0;
+ heap32[(r1+10)] = 0;
+ return;
+}
+
+function _ZNK14btCapsuleShape7getNameEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _2E_str194;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+13)];
+ r3 = (r2 + 2)|0;
+ r3 = (r3 % 3)|0;
+ r4 = (r0 + 28)|0;
+ r3 = r3 << 2;
+ r3 = (r4 + r3)|0;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r3)];
+ r3 = sp + -16;
+ r5 = r3 >> 2;
+ heapFloat[(fp+-4)] = f0;
+ r2 = r2 << 2;
+ heapFloat[(r5+1)] = f0;
+ r4 = (r4 + r2)|0;
+ heapFloat[(r5+2)] = f0;
+ r4 = r4 >> 2;
+ heap32[(r5+3)] = 0;
+ r2 = (r3 + r2)|0;
+ f1 = heapFloat[(r4)];
+ r2 = r2 >> 2;
+ f0 = f0+f1;
+ heapFloat[(r2)] = f0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f1 = f_g0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ f3 = heapFloat[(fp+-4)];
+ f2 = f3+f_g0;
+ heapFloat[(fp+-4)] = f2;
+ f3 = heapFloat[(r5+1)];
+ f1 = f3+f1;
+ heapFloat[(r5+1)] = f1;
+ f3 = heapFloat[(r5+2)];
+ r0 = heap32[(fp+1)];
+ f0 = f3+f0;
+ r0 = r0 >> 2;
+ heapFloat[(r5+2)] = f0;
+ f3 = heapFloat[(r0+10)];
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp+3)];
+ f4 = 0;
+ if(f3 <f4) //_LBB418_2
+{
+ f3 = -f3;
+}
+ f5 = heapFloat[(r0+9)];
+ if(f5 <f4) //_LBB418_5
+{
+ f5 = -f5;
+}
+ f6 = heapFloat[(r0+8)];
+ if(f6 <f4) //_LBB418_8
+{
+ f6 = -f6;
+}
+ f7 = heapFloat[(r0+6)];
+ if(f7 <f4) //_LBB418_11
+{
+ f7 = -f7;
+}
+ f8 = heapFloat[(r0+5)];
+ if(f8 <f4) //_LBB418_14
+{
+ f8 = -f8;
+}
+ f9 = heapFloat[(r0+4)];
+ if(f9 <f4) //_LBB418_17
+{
+ f9 = -f9;
+}
+ f10 = heapFloat[(r0+2)];
+ if(f10 <f4) //_LBB418_20
+{
+ f10 = -f10;
+}
+ f11 = heapFloat[(r0+1)];
+ if(f11 <f4) //_LBB418_23
+{
+ f11 = -f11;
+}
+ f12 = heapFloat[(r0)];
+ if(f12 <f4) //_LBB418_26
+{
+ f12 = -f12;
+}
+ f4 = f12*f2;
+ f11 = f11*f1;
+ f9 = f9*f2;
+ f8 = f8*f1;
+ f4 = f4+f11;
+ f10 = f10*f0;
+ f2 = f6*f2;
+ f1 = f5*f1;
+ f5 = f9+f8;
+ f6 = f7*f0;
+ f4 = f4+f10;
+ f7 = heapFloat[(r0+12)];
+ f8 = heapFloat[(r0+13)];
+ f9 = heapFloat[(r0+14)];
+ f5 = f5+f6;
+ r0 = r1 >> 2;
+ f1 = f2+f1;
+ f0 = f3*f0;
+ f2 = f7-f4;
+ f0 = f1+f0;
+ f1 = f8-f5;
+ heapFloat[(r0)] = f2;
+ f2 = f9-f0;
+ heapFloat[(r0+1)] = f1;
+ heapFloat[(r0+2)] = f2;
+ r1 = r2 >> 2;
+ f1 = f7+f4;
+ heap32[(r0+3)] = 0;
+ f2 = f8+f5;
+ heapFloat[(r1)] = f1;
+ f0 = f9+f0;
+ heapFloat[(r1+1)] = f2;
+ heapFloat[(r1+2)] = f0;
+ heap32[(r1+3)] = 0;
+ return;
+}
+
+function _ZNK14btCapsuleShape28calculateSerializeBufferSizeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 60;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+if(!(r0 <1)) //_LBB420_9
+{
+ r1 = heap32[(fp)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+13)];
+ r4 = (r3 + 2)|0;
+ r4 = (r4 % 3)|0;
+ r4 = r4 << 2;
+ r4 = (r1 + r4)|0;
+ r4 = r4 >> 2;
+ r5 = heap32[(fp+1)];
+ r6 = heap32[(fp+2)];
+ f0 = heapFloat[(r4+7)];
+ r0 = (r0 + -1)|0;
+ r4 = (r5 + 8)|0;
+ r5 = (r6 + 8)|0;
+_3: while(true){
+ r6 = sp + -16;
+ heap32[(fp+-4)] = 0;
+ r7 = r6 >> 2;
+ r3 = r3 << 2;
+ heap32[(r7+1)] = 0;
+ r6 = (r6 + r3)|0;
+ r3 = (r1 + r3)|0;
+ heap32[(r7+2)] = 0;
+ r6 = r6 >> 2;
+ r3 = r3 >> 2;
+ heap32[(r7+3)] = 0;
+ heap32[(r6)] = heap32[(r3+7)];
+ r3 = heap32[(r2)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+11)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r4 >> 2;
+ f2 = heapFloat[(r3+-1)];
+ f3 = heapFloat[(r2+4)];
+ f4 = heapFloat[(r3+-2)];
+ f5 = heapFloat[(r2+3)];
+ f6 = heapFloat[(r3)];
+ f7 = heapFloat[(r2+5)];
+ f3 = f2*f3;
+ f5 = f4*f5;
+ f7 = f6*f7;
+ f8 = heapFloat[(r7+1)];
+ f3 = f3*f0;
+ f9 = heapFloat[(fp+-4)];
+ f5 = f5*f0;
+ f10 = heapFloat[(r7+2)];
+ f7 = f7*f0;
+ f3 = f8+f3;
+ f8 = f2*f_g0;
+ f5 = f9+f5;
+ f9 = f4*f_g0;
+ f3 = f3-f8;
+ f5 = f5-f9;
+ f7 = f10+f7;
+ f1 = f6*f_g0;
+ f1 = f7-f1;
+ f4 = f4*f5;
+ f2 = f2*f3;
+ f2 = f4+f2;
+ f4 = f6*f1;
+ f2 = f2+f4;
+ f4 = -999999984306749440;
+ if(f2 >f4) //_LBB420_4
+{
+ r6 = r5 >> 2;
+ heapFloat[(r6+-2)] = f5;
+ heapFloat[(r6+-1)] = f3;
+ heapFloat[(r6)] = f1;
+ heap32[(r6+1)] = 0;
+ f4 = f2;
+}
+ r6 = sp + -32;
+ heap32[(fp+-8)] = 0;
+ r7 = r6 >> 2;
+ heap32[(r7+1)] = 0;
+ heap32[(r7+2)] = 0;
+ heap32[(r7+3)] = 0;
+ r8 = heap32[(r2+13)];
+ r8 = r8 << 2;
+ r9 = (r1 + r8)|0;
+ r9 = r9 >> 2;
+ f1 = heapFloat[(r9+7)];
+ r6 = (r6 + r8)|0;
+ r6 = r6 >> 2;
+ f1 = -f1;
+ heapFloat[(r6)] = f1;
+ r6 = heap32[(r2)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+11)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ f2 = heapFloat[(r3+-1)];
+ f3 = heapFloat[(r2+4)];
+ f5 = heapFloat[(r3+-2)];
+ f6 = heapFloat[(r2+3)];
+ f7 = heapFloat[(r3)];
+ f8 = heapFloat[(r2+5)];
+ f3 = f2*f3;
+ f6 = f5*f6;
+ f8 = f7*f8;
+ f9 = heapFloat[(r7+1)];
+ f3 = f3*f0;
+ f10 = heapFloat[(fp+-8)];
+ f6 = f6*f0;
+ f11 = heapFloat[(r7+2)];
+ f8 = f8*f0;
+ f3 = f9+f3;
+ f9 = f2*f_g0;
+ f6 = f10+f6;
+ f10 = f5*f_g0;
+ f3 = f3-f9;
+ f6 = f6-f10;
+ f8 = f11+f8;
+ f1 = f7*f_g0;
+ f1 = f8-f1;
+ f5 = f5*f6;
+ f2 = f2*f3;
+ f2 = f5+f2;
+ f5 = f7*f1;
+ f2 = f2+f5;
+if(!(f2 <=f4)) //_LBB420_7
+{
+ r3 = r5 >> 2;
+ heapFloat[(r3+-2)] = f6;
+ heapFloat[(r3+-1)] = f3;
+ heapFloat[(r3)] = f1;
+ heap32[(r3+1)] = 0;
+}
+ if(r0 ==0) //_LBB420_9
+{
+break _3;
+}
+else{
+ r3 = heap32[(r2+13)];
+ r0 = (r0 + -1)|0;
+ r4 = (r4 + 16)|0;
+ r5 = (r5 + 16)|0;
+continue _3;
+}
+}
+}
+ return;
+}
+
+function _ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1+13)];
+ r2 = (r1 + 2)|0;
+ r2 = (r2 % 3)|0;
+ r0 = (r0 + 28)|0;
+ r2 = r2 << 2;
+ r2 = (r0 + r2)|0;
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2)];
+ r2 = sp + -16;
+ r3 = r2 >> 2;
+ heapFloat[(fp+-4)] = f0;
+ r1 = r1 << 2;
+ heapFloat[(r3+1)] = f0;
+ r2 = (r2 + r1)|0;
+ r0 = (r0 + r1)|0;
+ heapFloat[(r3+2)] = f0;
+ r1 = r2 >> 2;
+ heap32[(r3+3)] = 0;
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r0)];
+ f0 = f0+f1;
+ heapFloat[(r1)] = f0;
+ f0 = 0.039999999105930328;
+ f1 = heapFloat[(r3+1)];
+ f2 = heapFloat[(r3+2)];
+ f3 = heapFloat[(fp+-4)];
+ f1 = f1+f0;
+ f2 = f2+f0;
+ f0 = f3+f0;
+ f1 = f1+f1;
+ f2 = f2+f2;
+ f0 = f0+f0;
+ f1 = f1*f1;
+ f2 = f2*f2;
+ f3 = heapFloat[(fp+1)];
+ f4 = 0.083333328366279602;
+ f0 = f0*f0;
+ r0 = heap32[(fp+2)];
+ f5 = f1+f2;
+ f3 = f3*f4;
+ f2 = f0+f2;
+ r0 = r0 >> 2;
+ f4 = f5*f3;
+ f0 = f0+f1;
+ f1 = f2*f3;
+ heapFloat[(r0)] = f4;
+ f0 = f0*f3;
+ heapFloat[(r0+1)] = f1;
+ heapFloat[(r0+2)] = f0;
+ return;
+}
+
+function _ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _2E_str10;
+ r1 = _2E_str4198;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 110;
+ _assert(i7);
+}
+
+function _ZNK14btCapsuleShape9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+10)];
+ r3 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ r5 = heap32[(fp+1)];
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r4;
+if(!(r4 ==0)) //_LBB423_2
+{
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+12)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+ r0 = r3 >> 2;
+ r1 = heap32[(r0+1)];
+ heap32[(r5+1)] = r1;
+ heap32[(r5+7)] = heap32[(r0+7)];
+ heap32[(r5+8)] = heap32[(r0+8)];
+ heap32[(r5+9)] = heap32[(r0+9)];
+ heap32[(r5+10)] = heap32[(r0+10)];
+ heap32[(r5+3)] = heap32[(r0+3)];
+ heap32[(r5+4)] = heap32[(r0+4)];
+ heap32[(r5+5)] = heap32[(r0+5)];
+ heap32[(r5+6)] = heap32[(r0+6)];
+ heap32[(r5+11)] = heap32[(r0+11)];
+ r0 = heap32[(r0+13)];
+ heap32[(r5+13)] = r0;
+ r0 = _2E_str6199;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN14btCapsuleShape15setLocalScalingERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f1 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f2 = f_g0;
+ r0 = heap32[(fp+1)];
+ f3 = heapFloat[(r1+9)];
+ f4 = heapFloat[(r1+8)];
+ f5 = heapFloat[(r1+7)];
+ r0 = r0 >> 2;
+ f3 = f3+f0;
+ f6 = heapFloat[(r1+5)];
+ f4 = f4+f1;
+ f7 = heapFloat[(r1+4)];
+ f5 = f5+f2;
+ f8 = heapFloat[(r1+3)];
+ f9 = heapFloat[(r0+2)];
+ f3 = f3/f6;
+ f4 = f4/f7;
+ f5 = f5/f8;
+ f6 = 0;
+ if(f9 <f6) //_LBB424_2
+{
+ f9 = -f9;
+}
+ f7 = heapFloat[(r0+1)];
+ if(f7 <f6) //_LBB424_5
+{
+ f7 = -f7;
+}
+ f8 = heapFloat[(r0)];
+ if(f8 <f6) //_LBB424_8
+{
+ f8 = -f8;
+}
+ heapFloat[(r1+3)] = f8;
+ heapFloat[(r1+4)] = f7;
+ heapFloat[(r1+5)] = f9;
+ f5 = f5*f8;
+ f4 = f4*f7;
+ f2 = f5-f2;
+ heap32[(r1+6)] = 0;
+ f3 = f3*f9;
+ f1 = f4-f1;
+ heapFloat[(r1+7)] = f2;
+ f0 = f3-f0;
+ heapFloat[(r1+8)] = f1;
+ heapFloat[(r1+9)] = f0;
+ heap32[(r1+10)] = 0;
+ return;
+}
+
+function _ZN14btCapsuleShapeD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13btConvexShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+if(!(r0 ==0)) //_LBB425_2
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZN14btCapsuleShapeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13btConvexShape;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+ heap32[(r0+1)] = 0;
+ r1 = heap32[(fp+2)];
+ heap32[(r0+2)] = 0;
+ r1 = r1 >> 2;
+ heap32[(r0+3)] = 0;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r1+1)];
+ f2 = heapFloat[(r1+2)];
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ r1 = heap32[(fp+1)];
+ f4 = 9.9999997473787516e-005;
+ if(f3 >=f4) //_LBB427_2
+{
+ heapFloat[(g0)] = f3;
+ f3 = 1;
+ sqrtf(i7);
+ f3 = f3/f_g0;
+ f0 = f0*f3;
+ f1 = f1*f3;
+ f2 = f2*f3;
+}
+else{
+ f0 = 1;
+ f1 = 0;
+ f2 = f1;
+}
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+13)];
+ r4 = (r3 + 2)|0;
+ r4 = (r4 % 3)|0;
+ r5 = (r1 + 28)|0;
+ r4 = r4 << 2;
+ r4 = (r5 + r4)|0;
+ r4 = r4 >> 2;
+ f3 = heapFloat[(r4)];
+ r4 = sp + -16;
+ heap32[(fp+-4)] = 0;
+ r6 = r4 >> 2;
+ r3 = r3 << 2;
+ heap32[(r6+1)] = 0;
+ r4 = (r4 + r3)|0;
+ r3 = (r5 + r3)|0;
+ heap32[(r6+2)] = 0;
+ r4 = r4 >> 2;
+ r3 = r3 >> 2;
+ heap32[(r6+3)] = 0;
+ heap32[(r4)] = heap32[(r3)];
+ r3 = heap32[(r2)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+11)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ f5 = heapFloat[(r2+4)];
+ f6 = heapFloat[(r2+3)];
+ f7 = heapFloat[(r2+5)];
+ f5 = f1*f5;
+ f6 = f0*f6;
+ f7 = f2*f7;
+ f8 = heapFloat[(r6+1)];
+ f5 = f5*f3;
+ f9 = heapFloat[(fp+-4)];
+ f6 = f6*f3;
+ f10 = heapFloat[(r6+2)];
+ f7 = f7*f3;
+ f5 = f8+f5;
+ f8 = f1*f_g0;
+ f6 = f9+f6;
+ f9 = f0*f_g0;
+ f5 = f5-f8;
+ f6 = f6-f9;
+ f7 = f10+f7;
+ f4 = f2*f_g0;
+ f4 = f7-f4;
+ f7 = f0*f6;
+ f8 = f1*f5;
+ f7 = f7+f8;
+ f8 = f2*f4;
+ f7 = f7+f8;
+ f8 = -999999984306749440;
+ if(f7 >f8) //_LBB427_5
+{
+ heapFloat[(r0)] = f6;
+ heapFloat[(r0+1)] = f5;
+ heapFloat[(r0+2)] = f4;
+ heap32[(r0+3)] = 0;
+ f8 = f7;
+}
+ r3 = sp + -32;
+ heap32[(fp+-8)] = 0;
+ r4 = r3 >> 2;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 0;
+ r5 = heap32[(r2+13)];
+ r5 = r5 << 2;
+ r6 = (r1 + r5)|0;
+ r6 = r6 >> 2;
+ f4 = heapFloat[(r6+7)];
+ r3 = (r3 + r5)|0;
+ r3 = r3 >> 2;
+ f4 = -f4;
+ heapFloat[(r3)] = f4;
+ r3 = heap32[(r2)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+11)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ f5 = heapFloat[(r2+4)];
+ f6 = heapFloat[(r2+3)];
+ f7 = heapFloat[(r2+5)];
+ f5 = f1*f5;
+ f6 = f0*f6;
+ f7 = f2*f7;
+ f9 = heapFloat[(r4+1)];
+ f5 = f5*f3;
+ f10 = heapFloat[(fp+-8)];
+ f6 = f6*f3;
+ f11 = heapFloat[(r4+2)];
+ f3 = f7*f3;
+ f5 = f9+f5;
+ f7 = f1*f_g0;
+ f6 = f10+f6;
+ f9 = f0*f_g0;
+ f5 = f5-f7;
+ f6 = f6-f9;
+ f3 = f11+f3;
+ f4 = f2*f_g0;
+ f3 = f3-f4;
+ f0 = f0*f6;
+ f1 = f1*f5;
+ f0 = f0+f1;
+ f1 = f2*f3;
+ f0 = f0+f1;
+if(!(f0 <=f8)) //_LBB427_8
+{
+ heapFloat[(r0)] = f6;
+ heapFloat[(r0+1)] = f5;
+ heapFloat[(r0+2)] = f3;
+ heap32[(r0+3)] = 0;
+}
+ return;
+}
+
+function _ZNK16btCollisionShape28calculateSerializeBufferSizeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 12;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK16btCollisionShape27getContactBreakingThresholdEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ f1 = heapFloat[(fp+1)];
+ f0 = f_g0*f1;
+ f_g0 = f0;
+ return;
+}
+
+function _ZNK16btCollisionShape9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+10)];
+ r3 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ r5 = heap32[(fp+1)];
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r4;
+if(!(r4 ==0)) //_LBB430_2
+{
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+12)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+ r0 = r3 >> 2;
+ r0 = heap32[(r0+1)];
+ heap32[(r5+1)] = r0;
+ r0 = _2E_str200;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r0;
+ r3 = heap32[(fp+1)];
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r4 = r3 >> 2;
+ r5 = heap32[(r4)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+4)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r2 = r_g0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r5 = r2 >> 2;
+ r1 = heap32[(r1+13)];
+ r5 = heap32[(r5+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+5)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r_g0;
+ heap32[(g0+3)] = 1346455635;
+ heap32[(g0+4)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ return;
+}
+
+function _ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -112;var g0 = i7>>2; // save stack
+ r0 = sp + -64;
+ r1 = r0 >> 2;
+ heap32[(fp+-16)] = 1065353216;
+ heap32[(r1+1)] = 0;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 0;
+ heap32[(r1+4)] = 0;
+ heap32[(r1+5)] = 1065353216;
+ heap32[(r1+6)] = 0;
+ heap32[(r1+7)] = 0;
+ heap32[(r1+8)] = 0;
+ heap32[(r1+9)] = 0;
+ heap32[(r1+10)] = 1065353216;
+ heap32[(r1+11)] = 0;
+ heap32[(r1+12)] = 0;
+ heap32[(r1+13)] = 0;
+ r2 = heap32[(fp)];
+ heap32[(r1+14)] = 0;
+ r3 = r2 >> 2;
+ heap32[(r1+15)] = 0;
+ r1 = heap32[(r3)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+2)];
+ r3 = sp + -96;
+ r4 = sp + -80;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = r3 >> 2;
+ r1 = r4 >> 2;
+ f0 = heapFloat[(r0+1)];
+ f1 = heapFloat[(r1+1)];
+ f2 = heapFloat[(fp+-24)];
+ f3 = heapFloat[(fp+-20)];
+ f2 = f2-f3;
+ f0 = f0-f1;
+ f1 = heapFloat[(r0+2)];
+ f3 = heapFloat[(r1+2)];
+ f1 = f1-f3;
+ f2 = f2*f2;
+ f0 = f0*f0;
+ f0 = f2+f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ r2 = heap32[(fp+2)];
+ f0 = 0.5;
+ sqrtf(i7);
+ r2 = r2 >> 2;
+ f1 = f_g0*f0;
+ heapFloat[(r2)] = f1;
+ f1 = heapFloat[(fp+-20)];
+ f2 = heapFloat[(fp+-24)];
+ r2 = heap32[(fp+1)];
+ f1 = f1+f2;
+ f2 = heapFloat[(r1+2)];
+ f3 = heapFloat[(r0+2)];
+ f4 = heapFloat[(r1+1)];
+ f5 = heapFloat[(r0+1)];
+ f4 = f4+f5;
+ r0 = r2 >> 2;
+ f1 = f1*f0;
+ f2 = f2+f3;
+ f3 = f4*f0;
+ heapFloat[(r0)] = f1;
+ f0 = f2*f0;
+ heapFloat[(r0+1)] = f3;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZNK16btCollisionShape20getAngularMotionDiscEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+3)];
+ r2 = sp + -16;
+ r3 = sp + -20;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = r2 >> 2;
+ f0 = heapFloat[(fp+-4)];
+ f1 = heapFloat[(r0+1)];
+ f2 = heapFloat[(r0+2)];
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = heapFloat[(fp+-5)];
+ f0 = f_g0+f1;
+ f_g0 = f0;
+ return;
+}
+
+function _ZNK16btCollisionShape21calculateTemporalAabbERK11btTransformRK9btVector3S5_fRS3_S6_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+2)];
+ r3 = heap32[(fp+5)];
+ r4 = heap32[(fp+4)];
+ r5 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r3;
+ r5 = heap32[(fp+2)];
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r3 >> 2;
+ r3 = r4 >> 2;
+ r4 = r5 >> 2;
+ f0 = heapFloat[(r4)];
+ r5 = heap32[(fp+3)];
+ f1 = heapFloat[(r2)];
+ f2 = heapFloat[(r2+1)];
+ f3 = heapFloat[(r2+2)];
+ f4 = heapFloat[(r3)];
+ f5 = heapFloat[(r3+1)];
+ f6 = heapFloat[(r3+2)];
+ f7 = heapFloat[(r4+2)];
+ f8 = heapFloat[(r4+1)];
+ f9 = 0;
+ if(f0 <=f9) //_LBB434_2
+{
+ f4 = f0+f4;
+}
+else{
+ f1 = f0+f1;
+}
+ if(f8 <=f9) //_LBB434_5
+{
+ f5 = f8+f5;
+}
+else{
+ f2 = f8+f2;
+}
+ if(f7 <=f9) //_LBB434_8
+{
+ f6 = f7+f6;
+}
+else{
+ f3 = f7+f3;
+}
+ r4 = r5 >> 2;
+ f0 = heapFloat[(r4)];
+ f7 = heapFloat[(r4+1)];
+ f8 = heapFloat[(r4+2)];
+ f0 = f0*f0;
+ f7 = f7*f7;
+ f0 = f0+f7;
+ f7 = f8*f8;
+ f0 = f0+f7;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f_g0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ heapFloat[(r3)] = f4;
+ heapFloat[(r3+1)] = f5;
+ heapFloat[(r3+2)] = f6;
+ heap32[(r3+3)] = 0;
+ heapFloat[(r2)] = f1;
+ heapFloat[(r2+1)] = f2;
+ heapFloat[(r2+2)] = f3;
+ heap32[(r2+3)] = 0;
+ f0 = f0*f_g0;
+ f1 = heapFloat[(r3)];
+ f1 = f1-f0;
+ heapFloat[(r3)] = f1;
+ f1 = heapFloat[(r3+1)];
+ f1 = f1-f0;
+ heapFloat[(r3+1)] = f1;
+ f1 = heapFloat[(r3+2)];
+ f1 = f1-f0;
+ heapFloat[(r3+2)] = f1;
+ f1 = heapFloat[(r2)];
+ f1 = f1+f0;
+ heapFloat[(r2)] = f1;
+ f1 = heapFloat[(r2+1)];
+ f1 = f1+f0;
+ heapFloat[(r2+1)] = f1;
+ f1 = heapFloat[(r2+2)];
+ f0 = f1+f0;
+ heapFloat[(r2+2)] = f0;
+ return;
+}
+
+function _ZN14btConcaveShapeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV14btConcaveShape;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN14btConcaveShapeD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV14btConcaveShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZNK17btConvexHullShape7getNameEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _2E_str219;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK17btConvexHullShape28calculateSerializeBufferSizeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 68;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK17btConvexHullShape12getNumPlanesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK17btConvexHullShape9getVertexEiR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(r0+25)];
+ r1 = r1 << 4;
+ r1 = (r2 + r1)|0;
+ r1 = r1 >> 2;
+ r2 = heap32[(fp+2)];
+ f0 = heapFloat[(r1+2)];
+ f1 = heapFloat[(r0+5)];
+ f2 = heapFloat[(r1+1)];
+ f3 = heapFloat[(r0+4)];
+ f4 = heapFloat[(r1)];
+ f5 = heapFloat[(r0+3)];
+ r0 = r2 >> 2;
+ f4 = f4*f5;
+ f2 = f2*f3;
+ heapFloat[(r0)] = f4;
+ f0 = f0*f1;
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZNK17btConvexHullShape7getEdgeEiR9btVector3S1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(r0+23)];
+ r3 = (r1 % r2)|0;
+ r4 = heap32[(r0+25)];
+ r3 = r3 << 4;
+ r3 = (r4 + r3)|0;
+ r3 = r3 >> 2;
+ r4 = heap32[(fp+2)];
+ f0 = heapFloat[(r3+2)];
+ f1 = heapFloat[(r0+5)];
+ f2 = heapFloat[(r3+1)];
+ f3 = heapFloat[(r0+4)];
+ f4 = heapFloat[(r3)];
+ f5 = heapFloat[(r0+3)];
+ r3 = r4 >> 2;
+ f4 = f4*f5;
+ f2 = f2*f3;
+ heapFloat[(r3)] = f4;
+ f0 = f0*f1;
+ heapFloat[(r3+1)] = f2;
+ r1 = (r1 + 1)|0;
+ heapFloat[(r3+2)] = f0;
+ heap32[(r3+3)] = 0;
+ r1 = (r1 % r2)|0;
+ r2 = heap32[(r0+25)];
+ r1 = r1 << 4;
+ r1 = (r2 + r1)|0;
+ r1 = r1 >> 2;
+ r2 = heap32[(fp+3)];
+ f0 = heapFloat[(r1+2)];
+ f1 = heapFloat[(r0+5)];
+ f2 = heapFloat[(r1+1)];
+ f3 = heapFloat[(r0+4)];
+ f4 = heapFloat[(r1)];
+ f5 = heapFloat[(r0+3)];
+ r0 = r2 >> 2;
+ f4 = f4*f5;
+ f2 = f2*f3;
+ heapFloat[(r0)] = f4;
+ f0 = f0*f1;
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZNK17btConvexHullShape11getNumEdgesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+23)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK17btConvexHullShape14getNumVerticesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+23)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK17btConvexHullShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+ r1 = heap32[(fp+2)];
+if(!(r0 <1)) //_LBB444_3
+{
+ r2 = (r1 + 12)|0;
+ r3 = r0;
+_3: while(true){
+ r3 = (r3 + -1)|0;
+ r4 = (r2 + 16)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = -581039253;
+ r2 = r4;
+ if(r3 !=0) //_LBB444_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r2 = heap32[(fp)];
+ r2 = r2 >> 2;
+ r3 = heap32[(r2+23)];
+_6: do {
+if(!(r3 <1)) //_LBB444_11
+{
+ r3 = heap32[(fp+1)];
+ r1 = (r1 + 8)|0;
+ r3 = (r3 + 8)|0;
+ r4 = 0;
+_8: while(true){
+if(!(r0 <1)) //_LBB444_10
+{
+ r5 = heap32[(r2+25)];
+ r6 = r4 << 4;
+ r5 = (r5 + r6)|0;
+ r5 = r5 >> 2;
+ f0 = heapFloat[(r5+2)];
+ f1 = heapFloat[(r2+5)];
+ f2 = heapFloat[(r5+1)];
+ f3 = heapFloat[(r2+4)];
+ f4 = heapFloat[(r5)];
+ f5 = heapFloat[(r2+3)];
+ f0 = f0*f1;
+ f1 = f2*f3;
+ f2 = f4*f5;
+ r5 = r3;
+ r6 = r1;
+ r7 = r0;
+_12: while(true){
+ r8 = r5 >> 2;
+ f3 = heapFloat[(r8+-2)];
+ f4 = heapFloat[(r8+-1)];
+ f3 = f3*f2;
+ f4 = f4*f1;
+ f5 = heapFloat[(r8)];
+ f3 = f3+f4;
+ f4 = f5*f0;
+ r8 = r6 >> 2;
+ f3 = f3+f4;
+ f4 = heapFloat[(r8+1)];
+if(!(f4 >=f3)) //_LBB444_9
+{
+ heapFloat[(r8+-2)] = f2;
+ heapFloat[(r8+-1)] = f1;
+ heapFloat[(r8)] = f0;
+ heapFloat[(r8+1)] = f3;
+}
+ r7 = (r7 + -1)|0;
+ r6 = (r6 + 16)|0;
+ r5 = (r5 + 16)|0;
+if(!(r7 !=0)) //_LBB444_7
+{
+break _12;
+}
+}
+}
+ r4 = (r4 + 1)|0;
+ r5 = heap32[(r2+23)];
+ if(r5 >r4) //_LBB444_5
+{
+continue _8;
+}
+else{
+break _6;
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZNK17btConvexHullShape37localGetSupportingVertexWithoutMarginERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+ heap32[(r0+1)] = 0;
+ r1 = heap32[(fp+1)];
+ heap32[(r0+2)] = 0;
+ r1 = r1 >> 2;
+ heap32[(r0+3)] = 0;
+ r2 = heap32[(r1+23)];
+if(!(r2 <1)) //_LBB445_6
+{
+ r3 = heap32[(fp+2)];
+ r3 = r3 >> 2;
+ r4 = heap32[(r1+25)];
+ f0 = heapFloat[(r1+5)];
+ f1 = heapFloat[(r1+4)];
+ f2 = heapFloat[(r1+3)];
+ f3 = heapFloat[(r3)];
+ f4 = heapFloat[(r3+1)];
+ f5 = heapFloat[(r3+2)];
+ r1 = 0;
+ f6 = -999999984306749440;
+_3: while(true){
+ r3 = r1 << 4;
+ r3 = (r4 + r3)|0;
+ r3 = r3 >> 2;
+ f7 = heapFloat[(r3+1)];
+ f8 = heapFloat[(r3)];
+ f7 = f7*f1;
+ f8 = f8*f2;
+ f9 = heapFloat[(r3+2)];
+ f9 = f9*f0;
+ f10 = f3*f8;
+ f11 = f4*f7;
+ f10 = f10+f11;
+ f11 = f5*f9;
+ f10 = f10+f11;
+ if(f10 >f6) //_LBB445_4
+{
+ heapFloat[(r0)] = f8;
+ heapFloat[(r0+1)] = f7;
+ heapFloat[(r0+2)] = f9;
+ heap32[(r0+3)] = 0;
+ f6 = f10;
+}
+ r1 = (r1 + 1)|0;
+ if(r1 <r2) //_LBB445_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZNK17btConvexHullShape8isInsideERK9btVector3f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _2E_str10;
+ r1 = _2E_str3222;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 173;
+ _assert(i7);
+}
+
+function _ZNK17btConvexHullShape8getPlaneER9btVector3S1_i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _2E_str10;
+ r1 = _2E_str3222;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 167;
+ _assert(i7);
+}
+
+function _ZN17btConvexHullShapeD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV17btConvexHullShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+25)];
+if(!(r1 ==0)) //_LBB448_4
+{
+ r3 = heapU8[r0+104];
+if(!(r3 ==0)) //_LBB448_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+25)] = 0;
+}
+ r1 = 1;
+ heap8[r0+104] = r1;
+ heap32[(r2+25)] = 0;
+ r1 = _ZTV13btConvexShape;
+ heap32[(r2+23)] = 0;
+ r1 = (r1 + 8)|0;
+ heap32[(r2+24)] = 0;
+ heap32[(r2)] = r1;
+if(!(r0 ==0)) //_LBB448_6
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZN17btConvexHullShapeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV17btConvexHullShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+25)];
+if(!(r1 ==0)) //_LBB449_4
+{
+ r3 = heapU8[r0+104];
+if(!(r3 ==0)) //_LBB449_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+25)] = 0;
+}
+ r1 = 1;
+ heap8[r0+104] = r1;
+ heap32[(r2+25)] = 0;
+ r0 = _ZTV13btConvexShape;
+ heap32[(r2+23)] = 0;
+ r0 = (r0 + 8)|0;
+ heap32[(r2+24)] = 0;
+ heap32[(r2)] = r0;
+ return;
+}
+
+function _ZN17btConvexHullShape15setLocalScalingERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r2+3)] = heap32[(r1)];
+ heap32[(r2+4)] = heap32[(r1+1)];
+ heap32[(r2+5)] = heap32[(r1+2)];
+ heap32[(r2+6)] = heap32[(r1+3)];
+ heap32[(g0)] = r0;
+ _ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(i7);
+ return;
+}
+
+function _ZNK17btConvexHullShape9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+10)];
+ r3 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ r5 = heap32[(fp+1)];
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r4;
+if(!(r4 ==0)) //_LBB451_2
+{
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+12)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+ r2 = r3 >> 2;
+ r3 = heap32[(r2+1)];
+ heap32[(r5+1)] = r3;
+ heap32[(r5+7)] = heap32[(r2+7)];
+ heap32[(r5+8)] = heap32[(r2+8)];
+ heap32[(r5+9)] = heap32[(r2+9)];
+ heap32[(r5+10)] = heap32[(r2+10)];
+ heap32[(r5+3)] = heap32[(r2+3)];
+ heap32[(r5+4)] = heap32[(r2+4)];
+ heap32[(r5+5)] = heap32[(r2+5)];
+ heap32[(r5+6)] = heap32[(r2+6)];
+ heap32[(r5+11)] = heap32[(r2+11)];
+ r3 = heap32[(r2+23)];
+ heap32[(r5+15)] = r3;
+ if(r3 ==0) //_LBB451_7
+{
+ heap32[(r5+13)] = 0;
+ heap32[(r5+14)] = 0;
+ r0 = _2E_str6224;
+ r_g0 = r0;
+ return;
+}
+else{
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ r6 = heap32[(r2+25)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ heap32[(r5+13)] = r_g0;
+ heap32[(r5+14)] = 0;
+ r5 = heap32[(r1)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+4)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 16;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r5 = r_g0;
+if(!(r3 <1)) //_LBB451_6
+{
+ r4 = r5 >> 2;
+ r4 = heap32[(r4+2)];
+ r6 = 0;
+_9: while(true){
+ r7 = r6 << 4;
+ r8 = heap32[(r2+25)];
+ r9 = (r4 + r7)|0;
+ r7 = (r8 + r7)|0;
+ r8 = r9 >> 2;
+ r7 = r7 >> 2;
+ heap32[(r8)] = heap32[(r7)];
+ heap32[(r8+1)] = heap32[(r7+1)];
+ r6 = (r6 + 1)|0;
+ heap32[(r8+2)] = heap32[(r7+2)];
+ heap32[(r8+3)] = heap32[(r7+3)];
+if(!(r3 !=r6)) //_LBB451_5
+{
+break _9;
+}
+}
+}
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ r2 = heap32[(r2+25)];
+ r3 = _2E_str5223;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = 1497453121;
+ heap32[(g0+4)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r5 = _2E_str6224;
+ r_g0 = r5;
+ return;
+}
+}
+
+function _ZNK17btConvexHullShape24localGetSupportingVertexERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+16)];
+ r3 = heap32[(fp)];
+ r4 = heap32[(fp+2)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = f_g0;
+ f1 = 0;
+if(!(f0 ==f1)) //_LBB452_2
+{
+ r2 = r4 >> 2;
+ f0 = heapFloat[(r2)];
+ f1 = heapFloat[(r2+1)];
+ f2 = heapFloat[(r2+2)];
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ f4 = 1.4210854715202004e-014;
+ f5 = -1;
+ f0 = f3 < f4 ? f5 : f0;
+ f1 = f3 < f4 ? f5 : f1;
+ f2 = f3 < f4 ? f5 : f2;
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+11)];
+ f4 = 1;
+ f3 = f4/f_g0;
+ heap32[(g0)] = r0;
+ r0 = r3 >> 2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ f0 = f0*f3;
+ f0 = f0*f_g0;
+ f5 = heapFloat[(r0)];
+ f0 = f5+f0;
+ f1 = f1*f3;
+ heapFloat[(r0)] = f0;
+ f0 = f1*f_g0;
+ f1 = heapFloat[(r0+1)];
+ f0 = f1+f0;
+ f1 = f2*f3;
+ heapFloat[(r0+1)] = f0;
+ f0 = f1*f_g0;
+ f1 = heapFloat[(r0+2)];
+ f0 = f1+f0;
+ heapFloat[(r0+2)] = f0;
+}
+ return;
+}
+
+function _ZN17btConvexHullShape8addPointERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+24)];
+ r3 = heap32[(r1+23)];
+ r4 = heap32[(fp+1)];
+ if(r2 ==r3) //_LBB453_2
+{
+ r5 = 1;
+ r6 = r3 << 1;
+ r6 = r3 == 0 ? r5 : r6;
+if(!(r2 >=r6)) //_LBB453_1
+{
+ if(r6 !=0) //_LBB453_5
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r7 = heap32[(r2)];
+ r8 = r6 << 4;
+ r7 = (r7 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r2)] = r7;
+ r2 = (r8 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB453_7
+{
+ r7 = 0;
+ r8 = (r2 + 4)|0;
+ r7 = (r7 - r8)|0;
+ r7 = r7 & 15;
+ r7 = (r2 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r2;
+ r2 = r8;
+}
+}
+else{
+ r2 = 0;
+}
+ r7 = (r0 + 100)|0;
+ if(r3 <1) //_LBB453_10
+{
+ r8 = r7 >> 2;
+ r9 = heap32[(r8)];
+}
+else{
+ r8 = 0;
+_12: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r8 << 4;
+ r11 = (r2 + r10)|0;
+ r10 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = r10 >> 2;
+ heap32[(r11)] = heap32[(r10)];
+ heap32[(r11+1)] = heap32[(r10+1)];
+ r8 = (r8 + 1)|0;
+ heap32[(r11+2)] = heap32[(r10+2)];
+ heap32[(r11+3)] = heap32[(r10+3)];
+if(!(r3 !=r8)) //_LBB453_11
+{
+break _12;
+}
+}
+ r7 = (r0 + 100)|0;
+}
+ if(r9 !=0) //_LBB453_15
+{
+ r8 = heapU8[r0+104];
+ if(r8 !=0) //_LBB453_17
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r8 = heap32[(r3)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r3)] = r8;
+ r3 = heap32[(r9+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+ r3 = heap32[(r1+23)];
+}
+ r8 = r7 >> 2;
+ heap32[(r8)] = 0;
+}
+ r7 = r7 >> 2;
+ heap8[r0+104] = r5;
+ heap32[(r7)] = r2;
+ heap32[(r1+24)] = r6;
+}
+}
+ r2 = r3 << 4;
+ r3 = heap32[(r1+25)];
+ r2 = (r3 + r2)|0;
+ r2 = r2 >> 2;
+ r3 = r4 >> 2;
+ heap32[(r2)] = heap32[(r3)];
+ heap32[(r2+1)] = heap32[(r3+1)];
+ heap32[(r2+2)] = heap32[(r3+2)];
+ heap32[(r2+3)] = heap32[(r3+3)];
+ r2 = heap32[(r1+23)];
+ r2 = (r2 + 1)|0;
+ heap32[(r1+23)] = r2;
+ heap32[(g0)] = r0;
+ _ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(i7);
+ return;
+}
+
+function _ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+1)];
+ r3 = heap32[(fp+1)];
+_1: do {
+if(!(r2 >r3)) //_LBB454_20
+{
+if(!(r2 >=r3)) //_LBB454_20
+{
+ r4 = heap32[(r1+2)];
+if(!(r4 >=r3)) //_LBB454_18
+{
+ if(r3 !=0) //_LBB454_5
+{
+ r4 = gNumAlignedAllocs;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r6 = r3 << 4;
+ r5 = (r5 + 1)|0;
+ r6 = r6 | 3;
+ heap32[(r4)] = r5;
+ r4 = (r6 + 16)|0;
+ heap32[(g0)] = r4;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB454_7
+{
+ r5 = 0;
+ r6 = (r4 + 4)|0;
+ r5 = (r5 - r6)|0;
+ r5 = r5 & 15;
+ r5 = (r4 + r5)|0;
+ r6 = (r5 + 4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = r4;
+ r4 = r6;
+}
+}
+else{
+ r4 = 0;
+}
+ r5 = (r0 + 12)|0;
+ if(r2 <1) //_LBB454_10
+{
+ r6 = r5 >> 2;
+ r7 = heap32[(r6)];
+}
+else{
+ r6 = 0;
+_14: while(true){
+ r7 = r5 >> 2;
+ r7 = heap32[(r7)];
+ r8 = r6 << 4;
+ r9 = (r4 + r8)|0;
+ r8 = (r7 + r8)|0;
+ r9 = r9 >> 2;
+ r8 = r8 >> 2;
+ heap32[(r9)] = heap32[(r8)];
+ heap32[(r9+1)] = heap32[(r8+1)];
+ r6 = (r6 + 1)|0;
+ heap32[(r9+2)] = heap32[(r8+2)];
+ heap32[(r9+3)] = heap32[(r8+3)];
+if(!(r2 !=r6)) //_LBB454_11
+{
+break _14;
+}
+}
+ r5 = (r0 + 12)|0;
+}
+if(!(r7 ==0)) //_LBB454_17
+{
+ r6 = heapU8[r0+16];
+if(!(r6 ==0)) //_LBB454_16
+{
+ r6 = gNumAlignedFree;
+ r6 = r6 >> 2;
+ r8 = heap32[(r6)];
+ r8 = (r8 + 1)|0;
+ r7 = r7 >> 2;
+ heap32[(r6)] = r8;
+ r6 = heap32[(r7+-1)];
+ heap32[(g0)] = r6;
+ free(i7);
+}
+ r6 = r5 >> 2;
+ heap32[(r6)] = 0;
+}
+ r6 = 1;
+ r5 = r5 >> 2;
+ heap8[r0+16] = r6;
+ heap32[(r5)] = r4;
+ heap32[(r1+2)] = r3;
+ if(r2 >=r3) //_LBB454_20
+{
+break _1;
+}
+}
+ r0 = heap32[(fp+2)];
+_25: while(true){
+ r4 = r2 << 4;
+ r5 = heap32[(r1+3)];
+ r4 = (r5 + r4)|0;
+ r4 = r4 >> 2;
+ r5 = r0 >> 2;
+ heap32[(r4)] = heap32[(r5)];
+ heap32[(r4+1)] = heap32[(r5+1)];
+ r2 = (r2 + 1)|0;
+ heap32[(r4+2)] = heap32[(r5+2)];
+ heap32[(r4+3)] = heap32[(r5+3)];
+ if(r3 !=r2) //_LBB454_19
+{
+continue _25;
+}
+else{
+break _1;
+}
+}
+}
+}
+} while(0);
+ heap32[(r1+1)] = r3;
+ return;
+}
+
+function _ZN17btConvexHullShapeC1EPKfii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 1065353216;
+ heap32[(r1+4)] = 1065353216;
+ heap32[(r1+5)] = 1065353216;
+ heap32[(r1+6)] = 0;
+ heap32[(r1+11)] = 1025758986;
+ heap32[(r1+13)] = 1065353216;
+ heap32[(r1+14)] = 1065353216;
+ heap32[(r1+15)] = 1065353216;
+ heap32[(r1+16)] = 0;
+ heap32[(r1+17)] = -1082130432;
+ heap32[(r1+18)] = -1082130432;
+ heap32[(r1+19)] = -1082130432;
+ r2 = _ZTV17btConvexHullShape;
+ r3 = 0;
+ heap32[(r1+20)] = 0;
+ r2 = (r2 + 8)|0;
+ heap8[r0+84] = r3;
+ r4 = 1;
+ heap32[(r1)] = r2;
+ heap8[r0+104] = r4;
+ heap32[(r1+25)] = 0;
+ heap32[(r1+23)] = 0;
+ heap32[(r1+24)] = 0;
+ heap32[(r1+1)] = 4;
+ r2 = heap32[(fp+2)];
+ r4 = (r0 + 88)|0;
+ r5 = sp + -16;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r5;
+ _ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(i7);
+if(!(r2 <1)) //_LBB455_3
+{
+ r4 = heap32[(fp+1)];
+_3: while(true){
+ r5 = r3 << 4;
+ r6 = (r4 + r5)|0;
+ r6 = r6 >> 2;
+ r7 = heap32[(r1+25)];
+ r5 = (r7 + r5)|0;
+ f0 = heapFloat[(r6+2)];
+ f1 = heapFloat[(r6+1)];
+ r5 = r5 >> 2;
+ heap32[(r5)] = heap32[(r6)];
+ heapFloat[(r5+1)] = f1;
+ r3 = (r3 + 1)|0;
+ heapFloat[(r5+2)] = f0;
+ heap32[(r5+3)] = 0;
+ if(r2 !=r3) //_LBB455_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ heap32[(g0)] = r0;
+ _ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(i7);
+ return;
+}
+
+function _ZN21btConvexInternalShape15setLocalScalingERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+2)];
+ r1 = heap32[(fp)];
+ f1 = 0;
+ if(f0 <f1) //_LBB456_2
+{
+ f0 = -f0;
+}
+ f2 = heapFloat[(r0+1)];
+ if(f2 <f1) //_LBB456_5
+{
+ f2 = -f2;
+}
+ f3 = heapFloat[(r0)];
+ if(f3 <f1) //_LBB456_8
+{
+ f3 = -f3;
+}
+ r0 = r1 >> 2;
+ heapFloat[(r0+3)] = f3;
+ heapFloat[(r0+4)] = f2;
+ heapFloat[(r0+5)] = f0;
+ heap32[(r0+6)] = 0;
+ return;
+}
+
+function _ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+var __label__ = 0;
+ i7 = sp + -112;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ r6 = 0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = f_g0;
+_1: while(true){
+ r2 = sp + -64;
+ r7 = r2 >> 2;
+ heap32[(fp+-16)] = 0;
+ heap32[(r7+1)] = 0;
+ r8 = r6 << 2;
+ r2 = (r2 - r8)|0;
+ heap32[(r7+2)] = 0;
+ r2 = r2 >> 2;
+ heap32[(r7+3)] = 0;
+ heap32[(r2)] = 1065353216;
+ r9 = r3 >> 2;
+ r10 = heap32[(r1)];
+ f1 = heapFloat[(fp+-16)];
+ f2 = heapFloat[(r9)];
+ f3 = heapFloat[(r7+1)];
+ f4 = heapFloat[(r9+4)];
+ r10 = r10 >> 2;
+ f5 = heapFloat[(r9+1)];
+ f6 = heapFloat[(r9+5)];
+ f2 = f2*f1;
+ f4 = f4*f3;
+ f7 = heapFloat[(r7+2)];
+ f8 = heapFloat[(r9+8)];
+ f9 = heapFloat[(r9+2)];
+ f10 = heapFloat[(r9+6)];
+ f11 = heapFloat[(r9+10)];
+ f12 = heapFloat[(r9+9)];
+ r10 = heap32[(r10+15)];
+ f5 = f5*f1;
+ f6 = f6*f3;
+ f2 = f2+f4;
+ f4 = f8*f7;
+ r11 = sp + -48;
+ f1 = f9*f1;
+ f3 = f10*f3;
+ f5 = f5+f6;
+ f6 = f12*f7;
+ f2 = f2+f4;
+ r12 = r11 >> 2;
+ f1 = f1+f3;
+ f3 = f11*f7;
+ f4 = f5+f6;
+ heapFloat[(fp+-12)] = f2;
+ f1 = f1+f3;
+ heapFloat[(r12+1)] = f4;
+ heapFloat[(r12+2)] = f1;
+ heap32[(r12+3)] = 0;
+ r12 = sp + -80;
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r11;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r10 = r12 >> 2;
+ f1 = heapFloat[(fp+-20)];
+ f2 = heapFloat[(r9)];
+ f3 = heapFloat[(r10+1)];
+ f4 = heapFloat[(r9+1)];
+ f5 = heapFloat[(r9+4)];
+ f6 = heapFloat[(r9+5)];
+ f2 = f2*f1;
+ f4 = f4*f3;
+ f7 = heapFloat[(r10+2)];
+ f8 = heapFloat[(r9+2)];
+ f9 = heapFloat[(r9+8)];
+ f10 = heapFloat[(r9+9)];
+ f11 = heapFloat[(r9+6)];
+ f5 = f5*f1;
+ f6 = f6*f3;
+ f2 = f2+f4;
+ f4 = f8*f7;
+ f8 = heapFloat[(r9+10)];
+ f1 = f9*f1;
+ f3 = f10*f3;
+ f5 = f5+f6;
+ f6 = f11*f7;
+ f2 = f2+f4;
+ f4 = heapFloat[(r9+12)];
+ f9 = heapFloat[(r9+14)];
+ f10 = heapFloat[(r9+13)];
+ r10 = sp + -96;
+ f5 = f5+f6;
+ f1 = f1+f3;
+ f3 = f8*f7;
+ f2 = f2+f4;
+ f1 = f1+f3;
+ f3 = f5+f10;
+ heapFloat[(fp+-24)] = f2;
+ r11 = r10 >> 2;
+ f1 = f1+f9;
+ heapFloat[(r11+1)] = f3;
+ heapFloat[(r11+2)] = f1;
+ r10 = (r10 - r8)|0;
+ heap32[(r11+3)] = 0;
+ r10 = r10 >> 2;
+ r12 = (r5 - r8)|0;
+ f1 = heapFloat[(r10)];
+ r12 = r12 >> 2;
+ f1 = f1+f0;
+ heapFloat[(r12)] = f1;
+ heap32[(r2)] = -1082130432;
+ r2 = heap32[(r1)];
+ f1 = heapFloat[(fp+-16)];
+ f2 = heapFloat[(r9)];
+ f3 = heapFloat[(r7+1)];
+ f4 = heapFloat[(r9+4)];
+ r2 = r2 >> 2;
+ f5 = heapFloat[(r9+1)];
+ f6 = heapFloat[(r9+5)];
+ f2 = f2*f1;
+ f4 = f4*f3;
+ f7 = heapFloat[(r7+2)];
+ f8 = heapFloat[(r9+8)];
+ f9 = heapFloat[(r9+2)];
+ f10 = heapFloat[(r9+6)];
+ f11 = heapFloat[(r9+10)];
+ f12 = heapFloat[(r9+9)];
+ r2 = heap32[(r2+15)];
+ f5 = f5*f1;
+ f6 = f6*f3;
+ f2 = f2+f4;
+ f4 = f8*f7;
+ r7 = sp + -16;
+ f1 = f9*f1;
+ f3 = f10*f3;
+ f5 = f5+f6;
+ f6 = f12*f7;
+ f2 = f2+f4;
+ r12 = r7 >> 2;
+ f1 = f1+f3;
+ f3 = f11*f7;
+ f4 = f5+f6;
+ heapFloat[(fp+-4)] = f2;
+ f1 = f1+f3;
+ heapFloat[(r12+1)] = f4;
+ heapFloat[(r12+2)] = f1;
+ heap32[(r12+3)] = 0;
+ r12 = sp + -32;
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r7;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r12 >> 2;
+ f1 = heapFloat[(fp+-8)];
+ f2 = heapFloat[(r9)];
+ f3 = heapFloat[(r2+1)];
+ f4 = heapFloat[(r9+1)];
+ f5 = heapFloat[(r9+4)];
+ f6 = heapFloat[(r9+5)];
+ f2 = f2*f1;
+ f4 = f4*f3;
+ f7 = heapFloat[(r2+2)];
+ f8 = heapFloat[(r9+2)];
+ f9 = heapFloat[(r9+8)];
+ f10 = heapFloat[(r9+9)];
+ f11 = heapFloat[(r9+6)];
+ f5 = f5*f1;
+ f6 = f6*f3;
+ f2 = f2+f4;
+ f4 = f8*f7;
+ f8 = heapFloat[(r9+10)];
+ f1 = f9*f1;
+ f3 = f10*f3;
+ f5 = f5+f6;
+ f6 = f11*f7;
+ f2 = f2+f4;
+ f4 = heapFloat[(r9+12)];
+ f9 = heapFloat[(r9+14)];
+ f10 = heapFloat[(r9+13)];
+ f5 = f5+f6;
+ f1 = f1+f3;
+ f3 = f8*f7;
+ f2 = f2+f4;
+ f1 = f1+f3;
+ f3 = f5+f10;
+ heapFloat[(fp+-24)] = f2;
+ f1 = f1+f9;
+ heapFloat[(r11+1)] = f3;
+ heapFloat[(r11+2)] = f1;
+ heap32[(r11+3)] = 0;
+ r2 = (r4 - r8)|0;
+ f1 = heapFloat[(r10)];
+ r6 = (r6 + -1)|0;
+ r2 = r2 >> 2;
+ f1 = f1-f0;
+ heapFloat[(r2)] = f1;
+ if(r6 !=-3) //_LBB457_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+ return;
+}
+
+function _ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+16)];
+ r3 = heap32[(fp)];
+ r4 = heap32[(fp+2)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = f_g0;
+ f1 = 0;
+if(!(f0 ==f1)) //_LBB458_2
+{
+ r2 = r4 >> 2;
+ f0 = heapFloat[(r2)];
+ f1 = heapFloat[(r2+1)];
+ f2 = heapFloat[(r2+2)];
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ f4 = 1.4210854715202004e-014;
+ f5 = -1;
+ f0 = f3 < f4 ? f5 : f0;
+ f1 = f3 < f4 ? f5 : f1;
+ f2 = f3 < f4 ? f5 : f2;
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+11)];
+ f4 = 1;
+ f3 = f4/f_g0;
+ heap32[(g0)] = r0;
+ r0 = r3 >> 2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ f0 = f0*f3;
+ f0 = f0*f_g0;
+ f5 = heapFloat[(r0)];
+ f0 = f5+f0;
+ f1 = f1*f3;
+ heapFloat[(r0)] = f0;
+ f0 = f1*f_g0;
+ f1 = heapFloat[(r0+1)];
+ f0 = f1+f0;
+ f1 = f2*f3;
+ heapFloat[(r0+1)] = f0;
+ f0 = f1*f_g0;
+ f1 = heapFloat[(r0+2)];
+ f0 = f1+f0;
+ heapFloat[(r0+2)] = f0;
+}
+ return;
+}
+
+function _ZN13btConvexShapeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13btConvexShape;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN13btConvexShapeD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13btConvexShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+if(!(r0 ==0)) //_LBB460_2
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZL17convexHullSupportRK9btVector3PS0_iS1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+5)];
+if(!(r0 <1)) //_LBB461_4
+{
+ f0 = heapFloat[(fp+8)];
+ f1 = heapFloat[(fp+3)];
+ f2 = heapFloat[(fp+7)];
+ f3 = heapFloat[(fp+2)];
+ f4 = heapFloat[(fp+6)];
+ f5 = heapFloat[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+4)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f5 = f5*f4;
+ r3 = 0;
+ r4 = -1;
+ f6 = -999999984306749440;
+_3: while(true){
+ r5 = r3 << 4;
+ r5 = (r2 + r5)|0;
+ r5 = r5 >> 2;
+ f7 = heapFloat[(r5)];
+ f8 = heapFloat[(r5+1)];
+ f7 = f5*f7;
+ f8 = f3*f8;
+ f9 = heapFloat[(r5+2)];
+ f7 = f7+f8;
+ f8 = f1*f9;
+ f7 = f7+f8;
+ r5 = (r3 + 1)|0;
+ r4 = f7 > f6 ? r3 : r4;
+ f6 = f7 > f6 ? f7 : f6;
+ r3 = r5;
+if(!(r0 !=r5)) //_LBB461_2
+{
+break _3;
+}
+}
+ if(r4 >-1) //_LBB461_5
+{
+ r0 = r4 << 4;
+ r0 = (r2 + r0)|0;
+ r0 = r0 >> 2;
+ f1 = heapFloat[(r0)];
+ f3 = heapFloat[(r0+2)];
+ f5 = heapFloat[(r0+1)];
+ r0 = r1 >> 2;
+ f1 = f1*f4;
+ f2 = f5*f2;
+ heapFloat[(r0)] = f1;
+ f0 = f3*f0;
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+}
+ r1 = _2E_str6249;
+ r2 = _2E_str7250;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 108;
+ _assert(i7);
+}
+
+function _ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+var __label__ = 0;
+ i7 = sp + -120;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+1)];
+ r3 = heap32[(fp)];
+ r4 = heap32[(fp+2)];
+_1: do {
+ if(r2 >4) //_LBB462_4
+{
+ if(r2 >9) //_LBB462_7
+{
+ if(r2 ==10) //_LBB462_32
+{
+ r2 = heap32[(r1+13)];
+ r5 = (r2 + 2)|0;
+ r4 = r4 >> 2;
+ r5 = (r5 % 3)|0;
+ f0 = heapFloat[(r4)];
+ f1 = heapFloat[(r4+1)];
+ r2 = r2 << 2;
+ r0 = (r0 + 28)|0;
+ r5 = r5 << 2;
+ f2 = heapFloat[(r4+2)];
+ r4 = (r0 + r2)|0;
+ r0 = (r0 + r5)|0;
+ f3 = f0*f0;
+ f4 = f1*f1;
+ r4 = r4 >> 2;
+ r0 = r0 >> 2;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ f4 = heapFloat[(r4)];
+ f5 = heapFloat[(r0)];
+ f6 = 9.9999997473787516e-005;
+ if(f3 >=f6) //_LBB462_34
+{
+ heapFloat[(g0)] = f3;
+ f3 = 1;
+ sqrtf(i7);
+ f3 = f3/f_g0;
+ f0 = f0*f3;
+ f1 = f1*f3;
+ f2 = f2*f3;
+}
+else{
+ f0 = 1;
+ f1 = 0;
+ f2 = f1;
+}
+ r0 = sp + -64;
+ r4 = r0 >> 2;
+ heap32[(fp+-16)] = 0;
+ heap32[(r4+1)] = 0;
+ r0 = (r0 + r2)|0;
+ heap32[(r4+2)] = 0;
+ r0 = r0 >> 2;
+ heap32[(r4+3)] = 0;
+ heapFloat[(r0)] = f4;
+ f3 = heapFloat[(r1+4)];
+ f6 = heapFloat[(r1+3)];
+ f7 = heapFloat[(r1+5)];
+ f3 = f1*f3;
+ f6 = f0*f6;
+ f8 = heapFloat[(r1+11)];
+ f7 = f2*f7;
+ f3 = f3*f5;
+ f9 = heapFloat[(r4+1)];
+ f6 = f6*f5;
+ f10 = heapFloat[(fp+-16)];
+ f5 = f7*f5;
+ f7 = heapFloat[(r4+2)];
+ f11 = f1*f8;
+ f9 = f9+f3;
+ f12 = f0*f8;
+ f10 = f10+f6;
+ f9 = f9-f11;
+ f10 = f10-f12;
+ f8 = f2*f8;
+ f7 = f7+f5;
+ f7 = f7-f8;
+ f13 = f0*f10;
+ f14 = f1*f9;
+ f13 = f13+f14;
+ f14 = f2*f7;
+ f13 = f13+f14;
+ f14 = -999999984306749440;
+ if(f13 >f14) //_LBB462_37
+{
+ f14 = f13;
+}
+else{
+ f10 = 0;
+ f9 = f10;
+ f7 = f10;
+}
+ r0 = sp + -80;
+ r1 = r0 >> 2;
+ heap32[(fp+-20)] = 0;
+ heap32[(r1+1)] = 0;
+ r0 = (r0 + r2)|0;
+ heap32[(r1+2)] = 0;
+ r0 = r0 >> 2;
+ f4 = -f4;
+ heap32[(r1+3)] = 0;
+ heapFloat[(r0)] = f4;
+ f4 = heapFloat[(r1+1)];
+ f13 = heapFloat[(fp+-20)];
+ f15 = heapFloat[(r1+2)];
+ f3 = f4+f3;
+ f4 = f13+f6;
+ f4 = f4-f12;
+ f3 = f3-f11;
+ f5 = f15+f5;
+ f0 = f0*f4;
+ f1 = f1*f3;
+ f5 = f5-f8;
+ f0 = f0+f1;
+ f1 = f2*f5;
+ f0 = f0+f1;
+ r0 = r3 >> 2;
+ f1 = f0 > f14 ? f4 : f10;
+ f2 = f0 > f14 ? f3 : f9;
+ heapFloat[(r0)] = f1;
+ f0 = f0 > f14 ? f5 : f7;
+__label__ = 11;
+break _1;
+}
+else{
+ if(r2 ==13) //_LBB462_16
+{
+ r0 = sp + -16;
+ r2 = r0 >> 2;
+ heap32[(fp+-4)] = heap32[(r1+7)];
+ heap32[(r2+1)] = heap32[(r1+8)];
+ heap32[(r2+2)] = heap32[(r1+9)];
+ r4 = r4 >> 2;
+ heap32[(r2+3)] = heap32[(r1+10)];
+ r2 = sp + -32;
+ heap32[(fp+-8)] = heap32[(r4)];
+ f0 = heapFloat[(r4+1)];
+ r5 = r2 >> 2;
+ heapFloat[(r5+1)] = f0;
+ f1 = heapFloat[(r4+2)];
+ heapFloat[(r5+2)] = f1;
+ heap32[(r5+3)] = 0;
+ r1 = heap32[(r1+13)];
+ if(r1 ==2) //_LBB462_21
+{
+ r4 = 0;
+ r5 = 2;
+ r6 = 1;
+ f1 = f0;
+}
+else{
+ if(r1 ==1) //_LBB462_20
+{
+ r4 = 0;
+ r5 = 1;
+ r6 = 2;
+}
+else{
+ if(r1 !=0) //_LBB462_22
+{
+ r0 = _2E_str10;
+ r1 = _2E_str7250;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 175;
+ _assert(i7);
+}
+else{
+ r4 = 1;
+ r5 = 0;
+ r6 = 2;
+}
+}
+}
+ r1 = r1 << 2;
+ r4 = r4 << 2;
+ r7 = (r0 + r4)|0;
+ r0 = (r0 + r1)|0;
+ r1 = (r2 + r4)|0;
+ r7 = r7 >> 2;
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r1)];
+ f2 = heapFloat[(r7)];
+ f3 = heapFloat[(r0)];
+ f4 = f0*f0;
+ f5 = f1*f1;
+ f4 = f4+f5;
+ heapFloat[(g0)] = f4;
+ sqrtf(i7);
+ f4 = f_g0;
+ f5 = 0;
+ if(f4 ==f5) //_LBB462_28
+{
+ r0 = sp + -48;
+ r1 = (r0 + r4)|0;
+ r4 = r5 << 2;
+ r2 = (r2 + r4)|0;
+ r1 = r1 >> 2;
+ r2 = r2 >> 2;
+ heapFloat[(r1)] = f2;
+ f0 = heapFloat[(r2)];
+ if(f0 <f5) //_LBB462_30
+{
+ f3 = -f3;
+}
+ r1 = r6 << 2;
+ r4 = (r0 + r4)|0;
+ r1 = (r0 + r1)|0;
+ r4 = r4 >> 2;
+ r1 = r1 >> 2;
+ heapFloat[(r4)] = f3;
+ r3 = r3 >> 2;
+ heap32[(r1)] = 0;
+ r0 = r0 >> 2;
+ heap32[(r3)] = heap32[(fp+-12)];
+ heap32[(r3+1)] = heap32[(r0+1)];
+ heap32[(r3+2)] = heap32[(r0+2)];
+ heap32[(r3+3)] = 0;
+ return;
+}
+else{
+ r0 = sp + -48;
+ r4 = (r0 + r4)|0;
+ f2 = f2/f4;
+ r1 = r5 << 2;
+ r2 = (r2 + r1)|0;
+ r4 = r4 >> 2;
+ f0 = f0*f2;
+ r2 = r2 >> 2;
+ heapFloat[(r4)] = f0;
+ f0 = heapFloat[(r2)];
+ if(f0 <f5) //_LBB462_26
+{
+ f3 = -f3;
+}
+ r4 = r6 << 2;
+ r1 = (r0 + r1)|0;
+ r4 = (r0 + r4)|0;
+ r1 = r1 >> 2;
+ r4 = r4 >> 2;
+ f2 = f1*f2;
+ heapFloat[(r1)] = f3;
+ r1 = r3 >> 2;
+ heapFloat[(r4)] = f2;
+ r4 = r0 >> 2;
+ heap32[(r1)] = heap32[(fp+-12)];
+ heap32[(r1+1)] = heap32[(r4+1)];
+ heap32[(r1+2)] = heap32[(r4+2)];
+ heap32[(r1+3)] = 0;
+ return;
+}
+}
+else{
+__label__ = 40;
+break _1;
+}
+}
+}
+else{
+ if(r2 ==5) //_LBB462_39
+{
+ r0 = r4 >> 2;
+ f0 = heapFloat[(r1+5)];
+ r4 = heap32[(r1+22)];
+__label__ = 38;
+break _1;
+}
+else{
+ if(r2 ==8) //_LBB462_9
+{
+ r0 = r3 >> 2;
+ heap32[(r0)] = 0;
+ heap32[(r0+1)] = 0;
+ heap32[(r0+2)] = 0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+else{
+__label__ = 40;
+break _1;
+}
+}
+}
+}
+else{
+ if(r2 ==0) //_LBB462_10
+{
+ r0 = r4 >> 2;
+ f0 = heapFloat[(r1+7)];
+ f1 = heapFloat[(r1+9)];
+ f2 = heapFloat[(r1+8)];
+ f3 = 0;
+ f4 = -f0;
+ f5 = heapFloat[(r0)];
+ f6 = heapFloat[(r0+2)];
+ f7 = heapFloat[(r0+1)];
+ f8 = -f2;
+ r0 = r3 >> 2;
+ f0 = f5 < f3 ? f4 : f0;
+ f4 = -f1;
+ f2 = f7 < f3 ? f8 : f2;
+ heapFloat[(r0)] = f0;
+ f0 = f6 < f3 ? f4 : f1;
+__label__ = 11;
+break _1;
+}
+else{
+ if(r2 ==1) //_LBB462_12
+{
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r1+13)];
+ f1 = heapFloat[(r4)];
+ f2 = heapFloat[(r1+17)];
+ f3 = heapFloat[(r1+21)];
+ f4 = heapFloat[(r1+14)];
+ f5 = heapFloat[(r4+1)];
+ f6 = heapFloat[(r1+18)];
+ f7 = heapFloat[(r1+22)];
+ f0 = f1*f0;
+ f4 = f5*f4;
+ f8 = heapFloat[(r1+15)];
+ f9 = heapFloat[(r4+2)];
+ f10 = heapFloat[(r1+19)];
+ f11 = heapFloat[(r1+23)];
+ f2 = f1*f2;
+ f6 = f5*f6;
+ f1 = f1*f3;
+ f3 = f5*f7;
+ f0 = f0+f4;
+ f4 = f9*f8;
+ f2 = f2+f6;
+ f5 = f9*f10;
+ f1 = f1+f3;
+ f3 = f9*f11;
+ f0 = f0+f4;
+ f2 = f2+f5;
+ f1 = f1+f3;
+ if(f0 >=f2) //_LBB462_14
+{
+ r1 = 2;
+ r4 = 0;
+ r1 = f0 < f1 ? r1 : r4;
+}
+else{
+ r1 = 2;
+ r4 = 1;
+ r1 = f2 < f1 ? r1 : r4;
+}
+ r1 = r1 << 4;
+ r0 = (r0 + r1)|0;
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+15)];
+ f1 = heapFloat[(r0+14)];
+ r1 = r3 >> 2;
+ heap32[(r1)] = heap32[(r0+13)];
+ heapFloat[(r1+1)] = f1;
+ heapFloat[(r1+2)] = f0;
+ heap32[(r1+3)] = 0;
+ return;
+}
+else{
+ if(r2 ==4) //_LBB462_41
+{
+ r0 = r4 >> 2;
+ f0 = heapFloat[(r1+5)];
+ r4 = heap32[(r1+25)];
+__label__ = 38;
+}
+else{
+__label__ = 40;
+}
+}
+}
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 11:
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+break;
+case 40:
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+16)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+break;
+case 38:
+ r2 = heap32[(r1+23)];
+ f1 = heapFloat[(r0)];
+ f2 = heapFloat[(r0+1)];
+ f3 = heapFloat[(r0+2)];
+ f4 = heapFloat[(r1+3)];
+ f5 = heapFloat[(r1+4)];
+ heap32[(g0)] = r3;
+ heapFloat[(g0+1)] = f1;
+ heapFloat[(g0+2)] = f2;
+ heapFloat[(g0+3)] = f3;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r2;
+ heapFloat[(g0+6)] = f4;
+ heapFloat[(g0+7)] = f5;
+ heapFloat[(g0+8)] = f0;
+ _ZL17convexHullSupportRK9btVector3PS0_iS1_(i7);
+ return;
+break;
+}
+}
+
+function _ZNK13btConvexShape31localGetSupportVertexNonVirtualERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0)];
+ r1 = sp + -32;
+ heapFloat[(fp+-8)] = f0;
+ f1 = heapFloat[(r0+1)];
+ r2 = r1 >> 2;
+ heapFloat[(r2+1)] = f1;
+ f2 = heapFloat[(r0+2)];
+ r3 = heap32[(fp)];
+ r4 = heap32[(fp+1)];
+ heapFloat[(r2+2)] = f2;
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ heap32[(r2+3)] = heap32[(r0+3)];
+ f3 = f3+f4;
+ f4 = 1.4210854715202004e-014;
+ if(f3 <f4) //_LBB463_2
+{
+ heap32[(fp+-8)] = -1082130432;
+ heap32[(r2+1)] = -1082130432;
+ f2 = -1;
+ heap32[(r2+2)] = -1082130432;
+ heap32[(r2+3)] = 0;
+ f1 = f2;
+ f0 = f2;
+}
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = 1;
+ f0 = f1/f_g0;
+ f1 = heapFloat[(fp+-8)];
+ f1 = f1*f0;
+ heapFloat[(fp+-8)] = f1;
+ f2 = heapFloat[(r2+1)];
+ f2 = f2*f0;
+ heapFloat[(r2+1)] = f2;
+ f3 = heapFloat[(r2+2)];
+ f0 = f3*f0;
+ r0 = r4 >> 2;
+ heapFloat[(r2+2)] = f0;
+ r5 = heap32[(r0+1)];
+_4: do {
+ if(r5 >7) //_LBB463_7
+{
+ if(r5 ==13) //_LBB463_13
+{
+ f3 = heapFloat[(r0+11)];
+__label__ = 16;
+break _4;
+}
+else{
+ if(r5 ==10) //_LBB463_14
+{
+ f3 = heapFloat[(r0+11)];
+__label__ = 16;
+break _4;
+}
+else{
+ if(r5 !=8) //_LBB463_16
+{
+__label__ = 15;
+break _4;
+}
+else{
+ f3 = heapFloat[(r0+7)];
+ f4 = heapFloat[(r0+3)];
+ f3 = f3*f4;
+__label__ = 16;
+break _4;
+}
+}
+}
+}
+else{
+ if(r5 ==0) //_LBB463_11
+{
+ f3 = heapFloat[(r0+11)];
+__label__ = 16;
+break _4;
+}
+else{
+ if(r5 ==1) //_LBB463_12
+{
+ f3 = heapFloat[(r0+11)];
+__label__ = 16;
+}
+else{
+ r5 = (r5 + -4)|0;
+ if(uint(r5) <uint(2)) //_LBB463_15
+{
+ f3 = heapFloat[(r0+11)];
+__label__ = 16;
+}
+else{
+__label__ = 15;
+}
+}
+}
+}
+} while(0);
+if (__label__ == 15){
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+11)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ f3 = f_g0;
+ f0 = heapFloat[(r2+2)];
+ f2 = heapFloat[(r2+1)];
+ f1 = heapFloat[(fp+-8)];
+}
+ r0 = sp + -16;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ _ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3(i7);
+ r0 = r0 >> 2;
+ f1 = f1*f3;
+ f4 = heapFloat[(fp+-4)];
+ f5 = heapFloat[(r0+2)];
+ f6 = heapFloat[(r0+1)];
+ f2 = f2*f3;
+ r0 = r3 >> 2;
+ f1 = f4+f1;
+ f0 = f0*f3;
+ f2 = f6+f2;
+ heapFloat[(r0)] = f1;
+ f0 = f5+f0;
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btInternalTriangleIndexCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btInternalTriangleIndexCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallback28internalProcessTriangleIndexEPS2_ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp)];
+ r1 = r1 >> 2;
+ f0 = 999999984306749440;
+ f1 = heapFloat[(r0)];
+ f2 = heapFloat[(r0+1)];
+ f3 = -999999984306749440;
+ f4 = heapFloat[(r0+2)];
+ f5 = heapFloat[(r0+3)];
+ f6 = 0;
+ r1 = heap32[(r1+1)];
+ f7 = f1 < f0 ? f1 : f0;
+ f8 = heapFloat[(r0+4)];
+ f1 = f1 > f3 ? f1 : f3;
+ f9 = f2 < f0 ? f2 : f0;
+ f10 = heapFloat[(r0+5)];
+ f2 = f2 > f3 ? f2 : f3;
+ f0 = f4 < f0 ? f4 : f0;
+ f11 = heapFloat[(r0+6)];
+ f3 = f4 > f3 ? f4 : f3;
+ f4 = f5 < f6 ? f5 : f6;
+ f12 = heapFloat[(r0+7)];
+ f5 = f5 > f6 ? f5 : f6;
+ r2 = r1 >> 2;
+ f6 = f8 < f7 ? f8 : f7;
+ f7 = heapFloat[(r0+8)];
+ f1 = f1 < f8 ? f8 : f1;
+ f8 = f10 < f9 ? f10 : f9;
+ f9 = heapFloat[(r0+9)];
+ f2 = f2 < f10 ? f10 : f2;
+ f0 = f11 < f0 ? f11 : f0;
+ f10 = heapFloat[(r0+10)];
+ f3 = f3 < f11 ? f11 : f3;
+ f4 = f12 < f4 ? f12 : f4;
+ f11 = heapFloat[(r0+11)];
+ f5 = f5 < f12 ? f12 : f5;
+ r0 = heap32[(r2+2)];
+ r3 = heap32[(r2+1)];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ f6 = f7 < f6 ? f7 : f6;
+ f8 = f9 < f8 ? f9 : f8;
+ f0 = f10 < f0 ? f10 : f0;
+ f4 = f11 < f4 ? f11 : f4;
+ f1 = f1 < f7 ? f7 : f1;
+ f2 = f2 < f9 ? f9 : f2;
+ f3 = f3 < f10 ? f10 : f3;
+ f5 = f5 < f11 ? f11 : f5;
+ if(r0 ==r3) //_LBB466_2
+{
+ r6 = 1;
+ r7 = r3 << 1;
+ r7 = r3 == 0 ? r6 : r7;
+if(!(r0 >=r7)) //_LBB466_1
+{
+ if(r7 !=0) //_LBB466_5
+{
+ r0 = gNumAlignedAllocs;
+ r0 = r0 >> 2;
+ r8 = heap32[(r0)];
+ r8 = (r8 + 1)|0;
+ r9 = r7 << 6;
+ heap32[(r0)] = r8;
+ r0 = r9 | 19;
+ heap32[(g0)] = r0;
+ malloc(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB466_7
+{
+ r3 = 0;
+ r8 = (r0 + 4)|0;
+ r3 = (r3 - r8)|0;
+ r3 = r3 & 15;
+ r3 = (r0 + r3)|0;
+ r8 = r3 >> 2;
+ heap32[(r8)] = r0;
+ r0 = (r3 + 4)|0;
+ r3 = heap32[(r2+1)];
+}
+}
+else{
+ r0 = 0;
+}
+if(!(r3 <1)) //_LBB466_11
+{
+ r8 = 0;
+_11: while(true){
+ r9 = heap32[(r2+3)];
+ r10 = (r0 + r8)|0;
+ r9 = (r9 + r8)|0;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = 64;
+ r3 = (r3 + -1)|0;
+ r8 = (r8 + 64)|0;
+ memcpy(i7);
+if(!(r3 !=0)) //_LBB466_10
+{
+break _11;
+}
+}
+}
+ r3 = heap32[(r2+3)];
+if(!(r3 ==0)) //_LBB466_15
+{
+ r8 = heapU8[r1+16];
+if(!(r8 ==0)) //_LBB466_14
+{
+ r8 = gNumAlignedFree;
+ r8 = r8 >> 2;
+ r9 = heap32[(r8)];
+ r9 = (r9 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r8)] = r9;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+3)] = 0;
+}
+ heap8[r1+16] = r6;
+ heap32[(r2+3)] = r0;
+ heap32[(r2+2)] = r7;
+ r3 = heap32[(r2+1)];
+}
+}
+ r0 = r3 << 6;
+ r1 = heap32[(r2+3)];
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ heapFloat[(r0)] = f6;
+ heapFloat[(r0+1)] = f8;
+ heapFloat[(r0+2)] = f0;
+ heapFloat[(r0+3)] = f4;
+ heapFloat[(r0+4)] = f1;
+ heapFloat[(r0+5)] = f2;
+ heapFloat[(r0+6)] = f3;
+ heapFloat[(r0+7)] = f5;
+ heap32[(r0+8)] = -1;
+ heap32[(r0+9)] = r4;
+ heap32[(r0+10)] = r5;
+ r0 = heap32[(r2+1)];
+ r0 = (r0 + 1)|0;
+ heap32[(r2+1)] = r0;
+ return;
+}
+
+function _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btInternalTriangleIndexCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btInternalTriangleIndexCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallback28internalProcessTriangleIndexEPS2_ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -64;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ if(r0 <1024) //_LBB469_2
+{
+ r1 = heap32[(fp+3)];
+ if(r1 <2097152) //_LBB469_4
+{
+ if(r1 >-1) //_LBB469_6
+{
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+1)];
+ r4 = sp + -32;
+ r5 = r4 >> 2;
+ heap32[(fp+-8)] = 1566444395;
+ heap32[(r5+1)] = 1566444395;
+ heap32[(r5+2)] = 1566444395;
+ r6 = sp + -48;
+ heap32[(r5+3)] = 0;
+ r7 = r6 >> 2;
+ heap32[(fp+-12)] = -581039253;
+ heap32[(r7+1)] = -581039253;
+ heap32[(r7+2)] = -581039253;
+ r3 = r3 >> 2;
+ heap32[(r7+3)] = 0;
+ f0 = heapFloat[(r3)];
+ f1 = 999999984306749440;
+ if(f0 <f1) //_LBB469_8
+{
+ heapFloat[(fp+-8)] = f0;
+ f2 = f0;
+}
+else{
+ f2 = f1;
+}
+ f3 = heapFloat[(r3+1)];
+ if(f3 <f1) //_LBB469_11
+{
+ heapFloat[(r5+1)] = f3;
+ f1 = f3;
+}
+else{
+ f1 = 999999984306749440;
+}
+ f4 = heapFloat[(r3+2)];
+ f5 = 999999984306749440;
+ if(f4 <f5) //_LBB469_14
+{
+ heapFloat[(r5+2)] = f4;
+ f5 = f4;
+}
+ f6 = heapFloat[(r3+3)];
+ f7 = 0;
+ if(f6 <f7) //_LBB469_17
+{
+ heapFloat[(r5+3)] = f6;
+ f7 = f6;
+}
+ f8 = -999999984306749440;
+ if(f0 >f8) //_LBB469_20
+{
+ heapFloat[(fp+-12)] = f0;
+}
+else{
+ f0 = f8;
+}
+ if(f3 >f8) //_LBB469_23
+{
+ heapFloat[(r7+1)] = f3;
+}
+else{
+ f3 = -999999984306749440;
+}
+ f8 = -999999984306749440;
+ if(f4 >f8) //_LBB469_26
+{
+ heapFloat[(r7+2)] = f4;
+ f8 = f4;
+}
+ f4 = 0;
+ if(f6 >f4) //_LBB469_29
+{
+ heapFloat[(r7+3)] = f6;
+ f4 = f6;
+}
+ f6 = heapFloat[(r3+4)];
+ if(f6 <f2) //_LBB469_32
+{
+ heapFloat[(fp+-8)] = f6;
+ f2 = f6;
+}
+ f9 = heapFloat[(r3+5)];
+ if(f9 <f1) //_LBB469_35
+{
+ heapFloat[(r5+1)] = f9;
+ f1 = f9;
+}
+ f10 = heapFloat[(r3+6)];
+ if(f10 <f5) //_LBB469_38
+{
+ heapFloat[(r5+2)] = f10;
+ f5 = f10;
+}
+ f11 = heapFloat[(r3+7)];
+ if(f11 <f7) //_LBB469_41
+{
+ heapFloat[(r5+3)] = f11;
+ f7 = f11;
+}
+ if(f0 <f6) //_LBB469_44
+{
+ heapFloat[(fp+-12)] = f6;
+ f0 = f6;
+}
+ if(f3 <f9) //_LBB469_47
+{
+ heapFloat[(r7+1)] = f9;
+ f3 = f9;
+}
+ if(f8 <f10) //_LBB469_50
+{
+ heapFloat[(r7+2)] = f10;
+ f8 = f10;
+}
+ if(f4 <f11) //_LBB469_53
+{
+ heapFloat[(r7+3)] = f11;
+ f4 = f11;
+}
+ f6 = heapFloat[(r3+8)];
+ if(f6 <f2) //_LBB469_56
+{
+ heapFloat[(fp+-8)] = f6;
+ f2 = f6;
+}
+ f9 = heapFloat[(r3+9)];
+ if(f9 <f1) //_LBB469_59
+{
+ heapFloat[(r5+1)] = f9;
+ f1 = f9;
+}
+ f10 = heapFloat[(r3+10)];
+ if(f10 <f5) //_LBB469_62
+{
+ heapFloat[(r5+2)] = f10;
+ f5 = f10;
+}
+ f11 = heapFloat[(r3+11)];
+if(!(f11 >=f7)) //_LBB469_65
+{
+ heapFloat[(r5+3)] = f11;
+}
+ if(f0 <f6) //_LBB469_67
+{
+ heapFloat[(fp+-12)] = f6;
+ f0 = f6;
+}
+ if(f3 <f9) //_LBB469_70
+{
+ heapFloat[(r7+1)] = f9;
+ f3 = f9;
+}
+ if(f8 <f10) //_LBB469_73
+{
+ heapFloat[(r7+2)] = f10;
+ f8 = f10;
+}
+if(!(f4 >=f11)) //_LBB469_76
+{
+ heapFloat[(r7+3)] = f11;
+}
+ f4 = f0-f2;
+ f6 = 0.0020000000949949026;
+if(!(f4 >=f6)) //_LBB469_78
+{
+ f4 = 0.0010000000474974513;
+ f0 = f0+f4;
+ f4 = -0.0010000000474974513;
+ f2 = f2+f4;
+ heapFloat[(fp+-12)] = f0;
+ heapFloat[(fp+-8)] = f2;
+}
+ f0 = f3-f1;
+if(!(f0 >=f6)) //_LBB469_80
+{
+ f0 = 0.0010000000474974513;
+ f2 = -0.0010000000474974513;
+ f0 = f3+f0;
+ f1 = f1+f2;
+ heapFloat[(r7+1)] = f0;
+ heapFloat[(r5+1)] = f1;
+}
+ f0 = f8-f5;
+if(!(f0 >=f6)) //_LBB469_82
+{
+ f0 = 0.0010000000474974513;
+ f1 = -0.0010000000474974513;
+ f0 = f8+f0;
+ f1 = f5+f1;
+ heapFloat[(r7+2)] = f0;
+ heapFloat[(r5+2)] = f1;
+}
+ r2 = r2 >> 2;
+ r3 = heap32[(r2+2)];
+ r5 = sp + -16;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = 0;
+ _ZNK14btQuantizedBvh8quantizeEPtRK9btVector3i(i7);
+ r3 = heap32[(r2+2)];
+ r4 = (r5 + 6)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = 1;
+ r0 = r0 << 21;
+ r0 = r0 | r1;
+ _ZNK14btQuantizedBvh8quantizeEPtRK9btVector3i(i7);
+ r1 = r5 >> 2;
+ heap32[(r1+3)] = r0;
+ r1 = heap32[(r2+1)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+1)];
+ r4 = heap32[(r2+2)];
+ if(r4 ==r3) //_LBB469_84
+{
+ r4 = 1;
+ r5 = r3 << 1;
+ r3 = r3 == 0 ? r4 : r5;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ _ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(i7);
+ r3 = heap32[(r2+1)];
+}
+ r1 = heap32[(r2+3)];
+ r4 = heapU16[(sp+-16)>>1];
+ r3 = r3 << 4;
+ heap16[(r1+r3)>>1] = r4;
+ r1 = (r1 + r3)|0;
+ r3 = heapU16[(sp+-14)>>1];
+ heap16[(r1+2)>>1] = r3;
+ r3 = heapU16[(sp+-12)>>1];
+ heap16[(r1+4)>>1] = r3;
+ r3 = heapU16[(sp+-10)>>1];
+ heap16[(r1+6)>>1] = r3;
+ r3 = heapU16[(sp+-8)>>1];
+ heap16[(r1+8)>>1] = r3;
+ r3 = heapU16[(sp+-6)>>1];
+ r4 = r1 >> 2;
+ heap16[(r1+10)>>1] = r3;
+ heap32[(r4+3)] = r0;
+ r0 = heap32[(r2+1)];
+ r0 = (r0 + 1)|0;
+ heap32[(r2+1)] = r0;
+ return;
+}
+else{
+ r0 = _2E_str20316;
+ r1 = _2E_str10306;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 103;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str19315;
+ r1 = _2E_str10306;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 101;
+ _assert(i7);
+}
+}
+else{
+ r0 = _2E_str18314;
+ r1 = _2E_str10306;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 100;
+ _assert(i7);
+}
+}
+
+function _ZNK14btOptimizedBvh16serializeInPlaceEPvjb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r3;
+ _ZNK14btQuantizedBvh9serializeEPvjb(i7);
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN14btOptimizedBvhD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV14btOptimizedBvh;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN14btQuantizedBvhD2Ev(i7);
+if(!(r0 ==0)) //_LBB471_2
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZN14btOptimizedBvhD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV14btOptimizedBvh;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN14btQuantizedBvhD2Ev(i7);
+ return;
+}
+
+function _ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -112;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ r3 = sp + -64;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = f_g0;
+ r2 = r3 >> 2;
+ heap32[(fp+-16)] = 1065353216;
+ heap32[(r2+1)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+5)] = 1065353216;
+ heap32[(r2+6)] = 0;
+ heap32[(r2+7)] = 0;
+ heap32[(r2+8)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 1065353216;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+12)] = 0;
+ heap32[(r2+13)] = 0;
+ heap32[(r2+14)] = 0;
+ heap32[(r2+15)] = 0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+2)];
+ r2 = sp + -80;
+ r4 = sp + -96;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = r4 >> 2;
+ r1 = r2 >> 2;
+ f1 = heapFloat[(r0+2)];
+ f2 = heapFloat[(r1+2)];
+ f3 = heapFloat[(r0+1)];
+ f4 = heapFloat[(r1+1)];
+ f3 = f3-f4;
+ f4 = 0.5;
+ f1 = f1-f2;
+ f2 = heapFloat[(fp+-24)];
+ f5 = heapFloat[(fp+-20)];
+ f2 = f2-f5;
+ f3 = f3*f4;
+ f1 = f1*f4;
+ f2 = f2*f4;
+ f3 = f3+f0;
+ f1 = f1+f0;
+ f0 = f2+f0;
+ f2 = f3+f3;
+ f1 = f1+f1;
+ f0 = f0+f0;
+ f2 = f2*f2;
+ f1 = f1*f1;
+ f3 = heapFloat[(fp+1)];
+ f4 = 0.083333328366279602;
+ f0 = f0*f0;
+ r0 = heap32[(fp+2)];
+ f5 = f2+f1;
+ f3 = f3*f4;
+ f1 = f0+f1;
+ r0 = r0 >> 2;
+ f4 = f5*f3;
+ f0 = f0+f2;
+ f1 = f1*f3;
+ heapFloat[(r0)] = f4;
+ f0 = f0*f3;
+ heapFloat[(r0+1)] = f1;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ f0 = f_g0;
+ r1 = heapU8[r0+84];
+ if(r1 !=0) //_LBB474_2
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r4 = (r0 + 52)|0;
+ r0 = (r0 + 68)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r0;
+ heapFloat[(g0+2)] = f0;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = r2;
+ heap32[(g0+5)] = r3;
+ _Z15btTransformAabbRK9btVector3S1_fRK11btTransformRS_S5_(i7);
+ return;
+}
+else{
+ r0 = _2E_str6232;
+ r1 = _2E_str7331;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 86;
+ _assert(i7);
+}
+}
+
+function _ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -112;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = 1;
+ r2 = _ZGVZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions;
+ heap8[r0+84] = r1;
+ r3 = heapU8[r2];
+if(!(r3 !=0)) //_LBB475_2
+{
+ r3 = _ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions;
+ r3 = r3 >> 2;
+ heap32[(r3)] = 1065353216;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 0;
+ heap32[(r3+4)] = 0;
+ heap32[(r3+5)] = 1065353216;
+ heap32[(r3+6)] = 0;
+ heap32[(r3+7)] = 0;
+ heap32[(r3+8)] = 0;
+ heap32[(r3+9)] = 0;
+ heap32[(r3+10)] = 1065353216;
+ heap32[(r3+11)] = 0;
+ heap32[(r3+12)] = -1082130432;
+ heap32[(r3+13)] = 0;
+ heap32[(r3+14)] = 0;
+ heap32[(r3+15)] = 0;
+ heap32[(r3+16)] = 0;
+ heap32[(r3+17)] = -1082130432;
+ heap32[(r3+18)] = 0;
+ heap32[(r3+19)] = 0;
+ heap32[(r3+20)] = 0;
+ heap32[(r3+21)] = 0;
+ heap32[(r3+22)] = -1082130432;
+ heap32[(r3+23)] = 0;
+ heap8[r2] = r1;
+}
+ r1 = sp + -96;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 96;
+ r2 = r0 >> 2;
+ memset(i7);
+ r3 = heap32[(r2)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+17)];
+ r4 = _ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = 6;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ f0 = heapFloat[(fp+-24)];
+ f1 = heapFloat[(r2+11)];
+ f0 = f0+f1;
+ r0 = r1 >> 2;
+ heapFloat[(r2+17)] = f0;
+ f0 = heapFloat[(r0+12)];
+ f0 = f0-f1;
+ heapFloat[(r2+13)] = f0;
+ f0 = heapFloat[(r0+5)];
+ f0 = f0+f1;
+ heapFloat[(r2+18)] = f0;
+ f0 = heapFloat[(r0+17)];
+ f0 = f0-f1;
+ heapFloat[(r2+14)] = f0;
+ f0 = heapFloat[(r0+10)];
+ f0 = f0+f1;
+ heapFloat[(r2+19)] = f0;
+ f0 = heapFloat[(r0+22)];
+ f0 = f0-f1;
+ heapFloat[(r2+15)] = f0;
+ return;
+}
+
+function _ZNK13btSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+ heap32[(r0+1)] = 0;
+ heap32[(r0+2)] = 0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZNK13btSphereShape7getNameEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _2E_str342;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN13btSphereShape9setMarginEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ heap32[(r0+11)] = heap32[(fp+1)];
+ return;
+}
+
+function _ZNK13btSphereShape9getMarginEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+7)];
+ f1 = heapFloat[(r0+3)];
+ f0 = f0*f1;
+ f_g0 = f0;
+ return;
+}
+
+function _ZNK13btSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+if(!(r0 <1)) //_LBB480_3
+{
+ r1 = heap32[(fp+2)];
+ r1 = (r1 + 8)|0;
+_3: while(true){
+ r2 = r1 >> 2;
+ heap32[(r2+-2)] = 0;
+ heap32[(r2+-1)] = 0;
+ r0 = (r0 + -1)|0;
+ r1 = (r1 + 16)|0;
+ heap32[(r2)] = 0;
+ heap32[(r2+1)] = 0;
+ if(r0 !=0) //_LBB480_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZNK13btSphereShape7getAabbERK11btTransformR9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f0 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f1 = f_g0;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+11)];
+ r2 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ r0 = r2 >> 2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = heap32[(fp+2)];
+ f3 = heapFloat[(r0+14)];
+ f4 = heapFloat[(r0+13)];
+ f5 = heapFloat[(r0+12)];
+ r1 = r1 >> 2;
+ f5 = f5-f_g0;
+ f4 = f4-f1;
+ heapFloat[(r1)] = f5;
+ f3 = f3-f0;
+ heapFloat[(r1+1)] = f4;
+ heapFloat[(r1+2)] = f3;
+ heap32[(r1+3)] = 0;
+ r1 = heap32[(fp+3)];
+ f3 = heapFloat[(r0+14)];
+ f4 = heapFloat[(r0+13)];
+ f5 = heapFloat[(r0+12)];
+ r0 = r1 >> 2;
+ f2 = f5+f_g0;
+ f1 = f4+f1;
+ heapFloat[(r0)] = f2;
+ f0 = f3+f0;
+ heapFloat[(r0+1)] = f1;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZNK13btSphereShape21calculateLocalInertiaEfR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+11)];
+ f1 = heapFloat[(fp+1)];
+ f2 = 0.40000000596046448;
+ f1 = f1*f2;
+ heap32[(g0)] = r0;
+ r0 = heap32[(fp+2)];
+ f0 = f1*f_g0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = r0 >> 2;
+ f0 = f0*f_g0;
+ heapFloat[(r0)] = f0;
+ heapFloat[(r0+1)] = f0;
+ heapFloat[(r0+2)] = f0;
+ heap32[(r0+3)] = 0;
+ return;
+}
+
+function _ZN13btSphereShapeD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13btConvexShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+if(!(r0 ==0)) //_LBB483_2
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZN13btSphereShapeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV13btConvexShape;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZNK13btSphereShape24localGetSupportingVertexERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+16)];
+ r3 = heap32[(fp+2)];
+ r4 = sp + -16;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r4 >> 2;
+ r4 = heap32[(fp)];
+ f0 = heapFloat[(fp+-4)];
+ f1 = heapFloat[(r2+1)];
+ f2 = heapFloat[(r2+2)];
+ r4 = r4 >> 2;
+ r3 = r3 >> 2;
+ heap32[(r4+3)] = heap32[(r2+3)];
+ f3 = heapFloat[(r3)];
+ f4 = heapFloat[(r3+1)];
+ f5 = heapFloat[(r3+2)];
+ f6 = f3*f3;
+ f7 = f4*f4;
+ f6 = f6+f7;
+ f7 = f5*f5;
+ f6 = f6+f7;
+ f7 = 1.4210854715202004e-014;
+ f8 = -1;
+ f3 = f6 < f7 ? f8 : f3;
+ f4 = f6 < f7 ? f8 : f4;
+ f5 = f6 < f7 ? f8 : f5;
+ f6 = f3*f3;
+ f7 = f4*f4;
+ f6 = f6+f7;
+ f7 = f5*f5;
+ f6 = f6+f7;
+ heapFloat[(g0)] = f6;
+ sqrtf(i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+11)];
+ f7 = 1;
+ f6 = f7/f_g0;
+ heap32[(g0)] = r0;
+ f3 = f3*f6;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ f4 = f4*f6;
+ f3 = f3*f_g0;
+ f5 = f5*f6;
+ f4 = f4*f_g0;
+ f0 = f0+f3;
+ f3 = f5*f_g0;
+ f1 = f1+f4;
+ heapFloat[(r4)] = f0;
+ f0 = f2+f3;
+ heapFloat[(r4+1)] = f1;
+ heapFloat[(r4+2)] = f0;
+ return;
+}
+
+function _ZNK23btStridingMeshInterface14hasPremadeAabbEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK23btStridingMeshInterface14setPremadeAabbERK9btVector3S2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZNK23btStridingMeshInterface14getPremadeAabbEP9btVector3S1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 28;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK23btStridingMeshInterface9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+var __label__ = 0;
+ i7 = sp + -72;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+7)];
+ r3 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r3 = r3 >> 2;
+ heap32[(r3+5)] = r2;
+ heap32[(r3)] = 0;
+if(!(r2 ==0)) //_LBB490_32
+{
+ r4 = heap32[(fp+2)];
+ r5 = r4 >> 2;
+ r6 = heap32[(r5)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+4)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 28;
+ heap32[(g0+2)] = r2;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r2 = r_g0;
+ r6 = heap32[(r5)];
+ r6 = r6 >> 2;
+ r7 = r2 >> 2;
+ r7 = heap32[(r7+2)];
+ r6 = heap32[(r6+7)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r7;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ heap32[(r3)] = r_g0;
+ r6 = heap32[(r1)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+7)];
+ heap32[(g0)] = r0;
+ r8 = 0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = r_g0;
+_3: while(true){
+ if(r8 <r6) //_LBB490_2
+{
+ r9 = heap32[(r1)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+4)];
+ r10 = sp + -4;
+ r11 = sp + -28;
+ r12 = sp + -16;
+ r13 = sp + -24;
+ r14 = sp + -8;
+ r15 = sp + -12;
+ r16 = sp + -32;
+ r17 = sp + -20;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = r12;
+ heap32[(g0+4)] = r13;
+ heap32[(g0+5)] = r14;
+ heap32[(g0+6)] = r15;
+ heap32[(g0+7)] = r16;
+ heap32[(g0+8)] = r17;
+ heap32[(g0+9)] = r8;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r9 = r7 >> 2;
+ r10 = heap32[(fp+-8)];
+ heap32[(r9+5)] = r10;
+ r10 = heap32[(fp+-7)];
+ heap32[(r9+6)] = r10;
+ heap32[(r9+4)] = 0;
+ heap32[(r9+2)] = 0;
+ heap32[(r9+3)] = 0;
+ heap32[(r9)] = 0;
+ heap32[(r9+1)] = 0;
+ r10 = heap32[(fp+-5)];
+ if(r10 ==3) //_LBB490_9
+{
+ r10 = heap32[(fp+-8)];
+if(!(r10 ==0)) //_LBB490_15
+{
+ r11 = heap32[(r5)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 8;
+ heap32[(g0+2)] = r10;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r10 = r_g0;
+ r11 = heap32[(r5)];
+ r11 = r11 >> 2;
+ r12 = r10 >> 2;
+ r12 = heap32[(r12+2)];
+ r11 = heap32[(r11+7)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r12;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ heap32[(r9+3)] = r_g0;
+ r11 = heap32[(fp+-8)];
+if(!(r11 <1)) //_LBB490_13
+{
+ r11 = 0;
+_11: while(true){
+ r13 = heap32[(fp+-3)];
+ r13 = (r13 * r11)|0;
+ r14 = heap32[(fp+-2)];
+ r15 = heapU16[(r14+r13)>>1];
+ r16 = r11 << 3;
+ r13 = (r14 + r13)|0;
+ heap16[(r12+r16)>>1] = r15;
+ r14 = (r12 + r16)|0;
+ r15 = heapU16[(r13+2)>>1];
+ heap16[(r14+2)>>1] = r15;
+ r13 = heapU16[(r13+4)>>1];
+ r11 = (r11 + 1)|0;
+ heap16[(r14+4)>>1] = r13;
+ r13 = heap32[(fp+-8)];
+if(!(r11 <r13)) //_LBB490_12
+{
+break _11;
+}
+}
+}
+ r11 = heap32[(r5)];
+ r11 = r11 >> 2;
+ r12 = r10 >> 2;
+ r11 = heap32[(r11+5)];
+ r12 = heap32[(r12+2)];
+ r13 = _2E_str1350;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = 1497453121;
+ heap32[(g0+4)] = r12;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+}
+}
+else{
+ if(r10 !=2) //_LBB490_14
+{
+__label__ = 14;
+break _3;
+}
+else{
+ r10 = heap32[(fp+-8)];
+ r10 = (r10 * 3)|0;
+if(!(r10 ==0)) //_LBB490_15
+{
+ r11 = heap32[(r5)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 4;
+ heap32[(g0+2)] = r10;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r10 = r_g0;
+ r11 = heap32[(r5)];
+ r11 = r11 >> 2;
+ r12 = r10 >> 2;
+ r12 = heap32[(r12+2)];
+ r11 = heap32[(r11+7)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r12;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ heap32[(r9+2)] = r_g0;
+ r11 = heap32[(fp+-8)];
+_17: do {
+if(!(r11 <1)) //_LBB490_8
+{
+ r11 = 0;
+_19: while(true){
+ r13 = heap32[(fp+-3)];
+ r13 = (r13 * r11)|0;
+ r14 = heap32[(fp+-2)];
+ r15 = (r11 * 3)|0;
+ r13 = (r14 + r13)|0;
+ r13 = r13 >> 2;
+ r14 = r15 << 2;
+ r14 = (r12 + r14)|0;
+ r15 = heap32[(r13)];
+ r14 = r14 >> 2;
+ heap32[(r14)] = r15;
+ r15 = heap32[(r13+1)];
+ heap32[(r14+1)] = r15;
+ r13 = heap32[(r13+2)];
+ r11 = (r11 + 1)|0;
+ heap32[(r14+2)] = r13;
+ r13 = heap32[(fp+-8)];
+if(!(r11 <r13)) //_LBB490_7
+{
+break _17;
+}
+}
+}
+} while(0);
+ r11 = heap32[(r5)];
+ r11 = r11 >> 2;
+ r12 = r10 >> 2;
+ r11 = heap32[(r11+5)];
+ r12 = heap32[(r12+2)];
+ r13 = _2E_str349;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = 1497453121;
+ heap32[(g0+4)] = r12;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+}
+}
+}
+ r10 = heap32[(fp+-4)];
+_23: do {
+ if(r10 ==1) //_LBB490_22
+{
+ r10 = heap32[(fp+-7)];
+ if(r10 ==0) //_LBB490_29
+{
+break _23;
+}
+else{
+ r11 = heap32[(r5)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 32;
+ heap32[(g0+2)] = r10;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r10 = r_g0;
+ r11 = heap32[(r5)];
+ r11 = r11 >> 2;
+ r12 = r10 >> 2;
+ r12 = heap32[(r12+2)];
+ r11 = heap32[(r11+7)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r12;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ heap32[(r9+1)] = r_g0;
+ r9 = heap32[(fp+-7)];
+_26: do {
+if(!(r9 <1)) //_LBB490_26
+{
+ r11 = heap32[(fp+-1)];
+ r13 = heap32[(fp+-6)];
+ r11 = (r11 + 16)|0;
+ r14 = 0;
+_28: while(true){
+ r15 = r14 << 5;
+ r15 = (r12 + r15)|0;
+ llvm_move_double(r15,r11+-16);
+ r14 = (r14 + 1)|0;
+ r16 = (r11 + r13)|0;
+ llvm_move_double(r15+8,r11+-8);
+ llvm_move_double(r15+16,r11);
+ r11 = r16;
+if(!(r14 <r9)) //_LBB490_25
+{
+break _26;
+}
+}
+}
+} while(0);
+ r9 = heap32[(r5)];
+ r9 = r9 >> 2;
+ r11 = r10 >> 2;
+ r9 = heap32[(r9+5)];
+ r11 = heap32[(r11+2)];
+ r12 = _2E_str5354;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = 1497453121;
+ heap32[(g0+4)] = r11;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+}
+}
+else{
+ if(r10 !=0) //_LBB490_27
+{
+if(!(uint(r10) <uint(2))) //_LBB490_29
+{
+__label__ = 28;
+break _3;
+}
+}
+else{
+ r10 = heap32[(fp+-7)];
+if(!(r10 ==0)) //_LBB490_29
+{
+ r11 = heap32[(r5)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 16;
+ heap32[(g0+2)] = r10;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r10 = r_g0;
+ r11 = heap32[(r5)];
+ r11 = r11 >> 2;
+ r12 = r10 >> 2;
+ r12 = heap32[(r12+2)];
+ r11 = heap32[(r11+7)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r12;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ heap32[(r9)] = r_g0;
+ r9 = heap32[(fp+-7)];
+_36: do {
+if(!(r9 <1)) //_LBB490_21
+{
+ r9 = 0;
+_38: while(true){
+ r11 = heap32[(fp+-6)];
+ r13 = heap32[(fp+-1)];
+ r11 = (r11 * r9)|0;
+ r14 = r9 << 4;
+ r14 = (r12 + r14)|0;
+ r11 = (r13 + r11)|0;
+ r13 = r14 >> 2;
+ r11 = r11 >> 2;
+ heap32[(r13)] = heap32[(r11)];
+ r9 = (r9 + 1)|0;
+ heap32[(r13+1)] = heap32[(r11+1)];
+ heap32[(r13+2)] = heap32[(r11+2)];
+ r11 = heap32[(fp+-7)];
+if(!(r9 <r11)) //_LBB490_20
+{
+break _36;
+}
+}
+}
+} while(0);
+ r9 = heap32[(r5)];
+ r9 = r9 >> 2;
+ r11 = r10 >> 2;
+ r9 = heap32[(r9+5)];
+ r11 = heap32[(r11+2)];
+ r12 = _2E_str5223;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = 1497453121;
+ heap32[(g0+4)] = r11;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+}
+}
+}
+} while(0);
+ r9 = heap32[(r1)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r8;
+ r8 = (r8 + 1)|0;
+ r7 = (r7 + 28)|0;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+}
+else{
+__label__ = 31;
+break _3;
+}
+}
+switch(__label__ ){//multiple entries
+case 31:
+ r0 = heap32[(r5)];
+ r0 = r0 >> 2;
+ r5 = r2 >> 2;
+ r0 = heap32[(r0+5)];
+ r5 = heap32[(r5+2)];
+ r6 = _2E_str7356;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = 1497453121;
+ heap32[(g0+4)] = r5;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+break;
+case 28:
+ r0 = _2E_str6355;
+ r1 = _2E_str3352;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 319;
+ _assert(i7);
+break;
+case 14:
+ r0 = _2E_str10;
+ r1 = _2E_str3352;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 271;
+ _assert(i7);
+break;
+}
+}
+ heap32[(r3+1)] = heap32[(r1+1)];
+ heap32[(r3+2)] = heap32[(r1+2)];
+ heap32[(r3+3)] = heap32[(r1+3)];
+ heap32[(r3+4)] = heap32[(r1+4)];
+ r0 = _2E_str8357;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -120;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+7)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r3 = heap32[(fp+1)];
+ f0 = heapFloat[(r1+1)];
+ f1 = heapFloat[(r1+2)];
+ f2 = heapFloat[(r1+3)];
+ r4 = 0;
+_1: while(true){
+ if(r4 <r2) //_LBB491_1
+{
+ r5 = heap32[(r1)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+4)];
+ r6 = sp + -4;
+ r7 = sp + -28;
+ r8 = sp + -16;
+ r9 = sp + -24;
+ r10 = sp + -8;
+ r11 = sp + -12;
+ r12 = sp + -32;
+ r13 = sp + -20;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r8;
+ heap32[(g0+4)] = r9;
+ heap32[(g0+5)] = r10;
+ heap32[(g0+6)] = r11;
+ heap32[(g0+7)] = r12;
+ heap32[(g0+8)] = r13;
+ heap32[(g0+9)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r5 = heap32[(fp+-4)];
+_4: do {
+ if(r5 ==1) //_LBB491_13
+{
+ r5 = heap32[(fp+-5)];
+ if(r5 ==3) //_LBB491_17
+{
+ r5 = heap32[(fp+-8)];
+ if(r5 <1) //_LBB491_25
+{
+break _4;
+}
+else{
+ r5 = 0;
+_9: while(true){
+ r6 = heap32[(fp+-3)];
+ r7 = heap32[(fp+-2)];
+ r6 = (r6 * r5)|0;
+ r8 = heapU16[(r7+r6)>>1];
+ r9 = heap32[(fp+-6)];
+ r10 = heap32[(fp+-1)];
+ r8 = (r8 * r9)|0;
+ r11 = (r10 + r8)|0;
+ f3 = llvm_readDouble((r10+r8));
+ f4 = llvm_readDouble((r11+16));
+ f5 = llvm_readDouble((r11+8));
+ f3 = f3; //fdtos f3, f3
+ r8 = sp + -80;
+ f5 = f5; //fdtos f5, f5
+ f3 = f3*f0;
+ r11 = r8 >> 2;
+ f4 = f4; //fdtos f4, f4
+ f5 = f5*f1;
+ heapFloat[(fp+-20)] = f3;
+ f3 = f4*f2;
+ heapFloat[(r11+1)] = f5;
+ heapFloat[(r11+2)] = f3;
+ r6 = (r7 + r6)|0;
+ heap32[(r11+3)] = 0;
+ r7 = heapU16[(r6+2)>>1];
+ r7 = (r7 * r9)|0;
+ r12 = (r10 + r7)|0;
+ f3 = llvm_readDouble((r10+r7));
+ f3 = f3; //fdtos f3, f3
+ f4 = llvm_readDouble((r12+16));
+ f5 = llvm_readDouble((r12+8));
+ f5 = f5; //fdtos f5, f5
+ f3 = f3*f0;
+ f4 = f4; //fdtos f4, f4
+ f5 = f5*f1;
+ heapFloat[(r11+4)] = f3;
+ f3 = f4*f2;
+ heapFloat[(r11+5)] = f5;
+ heapFloat[(r11+6)] = f3;
+ heap32[(r11+7)] = 0;
+ r6 = heapU16[(r6+4)>>1];
+ r6 = (r6 * r9)|0;
+ r7 = (r10 + r6)|0;
+ f3 = llvm_readDouble((r10+r6));
+ f3 = f3; //fdtos f3, f3
+ f4 = llvm_readDouble((r7+16));
+ f5 = llvm_readDouble((r7+8));
+ f5 = f5; //fdtos f5, f5
+ f3 = f3*f0;
+ f4 = f4; //fdtos f4, f4
+ f5 = f5*f1;
+ heapFloat[(r11+8)] = f3;
+ f3 = f4*f2;
+ heapFloat[(r11+9)] = f5;
+ heapFloat[(r11+10)] = f3;
+ r6 = r3 >> 2;
+ heap32[(r11+11)] = 0;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ r5 = (r5 + 1)|0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = heap32[(fp+-8)];
+ if(r5 <r6) //_LBB491_20
+{
+continue _9;
+}
+else{
+break _4;
+}
+}
+}
+}
+else{
+ if(r5 !=2) //_LBB491_21
+{
+ r5 = (r5 + -2)|0;
+if(!(uint(r5) <uint(2))) //_LBB491_25
+{
+__label__ = 22;
+break _1;
+}
+}
+else{
+ r5 = heap32[(fp+-8)];
+ if(r5 <1) //_LBB491_25
+{
+break _4;
+}
+else{
+ r5 = 0;
+_16: while(true){
+ r6 = heap32[(fp+-3)];
+ r7 = heap32[(fp+-2)];
+ r6 = (r6 * r5)|0;
+ r6 = (r7 + r6)|0;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r8 = heap32[(fp+-6)];
+ r9 = heap32[(fp+-1)];
+ r7 = (r8 * r7)|0;
+ r10 = (r9 + r7)|0;
+ f3 = llvm_readDouble((r9+r7));
+ f4 = llvm_readDouble((r10+16));
+ f5 = llvm_readDouble((r10+8));
+ f3 = f3; //fdtos f3, f3
+ r7 = sp + -80;
+ f5 = f5; //fdtos f5, f5
+ f3 = f3*f0;
+ r10 = r7 >> 2;
+ f4 = f4; //fdtos f4, f4
+ f5 = f5*f1;
+ heapFloat[(fp+-20)] = f3;
+ f3 = f4*f2;
+ heapFloat[(r10+1)] = f5;
+ heapFloat[(r10+2)] = f3;
+ heap32[(r10+3)] = 0;
+ r11 = heap32[(r6+1)];
+ r11 = (r8 * r11)|0;
+ r12 = (r9 + r11)|0;
+ f3 = llvm_readDouble((r9+r11));
+ f3 = f3; //fdtos f3, f3
+ f4 = llvm_readDouble((r12+16));
+ f5 = llvm_readDouble((r12+8));
+ f5 = f5; //fdtos f5, f5
+ f3 = f3*f0;
+ f4 = f4; //fdtos f4, f4
+ f5 = f5*f1;
+ heapFloat[(r10+4)] = f3;
+ f3 = f4*f2;
+ heapFloat[(r10+5)] = f5;
+ heapFloat[(r10+6)] = f3;
+ heap32[(r10+7)] = 0;
+ r6 = heap32[(r6+2)];
+ r6 = (r8 * r6)|0;
+ r8 = (r9 + r6)|0;
+ f3 = llvm_readDouble((r9+r6));
+ f3 = f3; //fdtos f3, f3
+ f4 = llvm_readDouble((r8+16));
+ f5 = llvm_readDouble((r8+8));
+ f5 = f5; //fdtos f5, f5
+ f3 = f3*f0;
+ f4 = f4; //fdtos f4, f4
+ f5 = f5*f1;
+ heapFloat[(r10+8)] = f3;
+ f3 = f4*f2;
+ heapFloat[(r10+9)] = f5;
+ heapFloat[(r10+10)] = f3;
+ r6 = r3 >> 2;
+ heap32[(r10+11)] = 0;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ r5 = (r5 + 1)|0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = heap32[(fp+-8)];
+ if(r5 <r6) //_LBB491_19
+{
+continue _16;
+}
+else{
+break _4;
+}
+}
+}
+}
+}
+}
+else{
+ if(r5 !=0) //_LBB491_23
+{
+if(!(uint(r5) <uint(2))) //_LBB491_25
+{
+__label__ = 24;
+break _1;
+}
+}
+else{
+ r5 = heap32[(fp+-5)];
+ if(r5 ==3) //_LBB491_7
+{
+ r5 = heap32[(fp+-8)];
+ if(r5 <1) //_LBB491_25
+{
+break _4;
+}
+else{
+ r5 = 0;
+_25: while(true){
+ r6 = heap32[(fp+-3)];
+ r7 = heap32[(fp+-2)];
+ r6 = (r6 * r5)|0;
+ r8 = heapU16[(r7+r6)>>1];
+ r9 = heap32[(fp+-6)];
+ r10 = heap32[(fp+-1)];
+ r8 = (r8 * r9)|0;
+ r8 = (r10 + r8)|0;
+ r8 = r8 >> 2;
+ f3 = heapFloat[(r8)];
+ f4 = heapFloat[(r8+2)];
+ f5 = heapFloat[(r8+1)];
+ r8 = sp + -80;
+ f3 = f3*f0;
+ r11 = r8 >> 2;
+ f5 = f5*f1;
+ heapFloat[(fp+-20)] = f3;
+ f3 = f4*f2;
+ heapFloat[(r11+1)] = f5;
+ heapFloat[(r11+2)] = f3;
+ r6 = (r7 + r6)|0;
+ heap32[(r11+3)] = 0;
+ r7 = heapU16[(r6+2)>>1];
+ r7 = (r7 * r9)|0;
+ r7 = (r10 + r7)|0;
+ r7 = r7 >> 2;
+ f3 = heapFloat[(r7+2)];
+ f4 = heapFloat[(r7+1)];
+ f5 = heapFloat[(r7)];
+ f5 = f5*f0;
+ f4 = f4*f1;
+ heapFloat[(r11+4)] = f5;
+ f3 = f3*f2;
+ heapFloat[(r11+5)] = f4;
+ heapFloat[(r11+6)] = f3;
+ heap32[(r11+7)] = 0;
+ r6 = heapU16[(r6+4)>>1];
+ r6 = (r6 * r9)|0;
+ r6 = (r10 + r6)|0;
+ r6 = r6 >> 2;
+ f3 = heapFloat[(r6+2)];
+ f4 = heapFloat[(r6+1)];
+ f5 = heapFloat[(r6)];
+ f5 = f5*f0;
+ f4 = f4*f1;
+ heapFloat[(r11+8)] = f5;
+ f3 = f3*f2;
+ heapFloat[(r11+9)] = f4;
+ heapFloat[(r11+10)] = f3;
+ r6 = r3 >> 2;
+ heap32[(r11+11)] = 0;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ r5 = (r5 + 1)|0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = heap32[(fp+-8)];
+ if(r5 <r6) //_LBB491_10
+{
+continue _25;
+}
+else{
+break _4;
+}
+}
+}
+}
+else{
+ if(r5 !=2) //_LBB491_11
+{
+ r5 = (r5 + -2)|0;
+if(!(uint(r5) <uint(2))) //_LBB491_25
+{
+__label__ = 12;
+break _1;
+}
+}
+else{
+ r5 = heap32[(fp+-8)];
+if(!(r5 <1)) //_LBB491_25
+{
+ r5 = 0;
+_32: while(true){
+ r6 = heap32[(fp+-3)];
+ r7 = heap32[(fp+-2)];
+ r6 = (r6 * r5)|0;
+ r6 = (r7 + r6)|0;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r8 = heap32[(fp+-6)];
+ r9 = heap32[(fp+-1)];
+ r7 = (r8 * r7)|0;
+ r7 = (r9 + r7)|0;
+ r7 = r7 >> 2;
+ f3 = heapFloat[(r7)];
+ f4 = heapFloat[(r7+2)];
+ f5 = heapFloat[(r7+1)];
+ r7 = sp + -80;
+ f3 = f3*f0;
+ r10 = r7 >> 2;
+ f5 = f5*f1;
+ heapFloat[(fp+-20)] = f3;
+ f3 = f4*f2;
+ heapFloat[(r10+1)] = f5;
+ heapFloat[(r10+2)] = f3;
+ heap32[(r10+3)] = 0;
+ r11 = heap32[(r6+1)];
+ r11 = (r8 * r11)|0;
+ r11 = (r9 + r11)|0;
+ r11 = r11 >> 2;
+ f3 = heapFloat[(r11+2)];
+ f4 = heapFloat[(r11+1)];
+ f5 = heapFloat[(r11)];
+ f5 = f5*f0;
+ f4 = f4*f1;
+ heapFloat[(r10+4)] = f5;
+ f3 = f3*f2;
+ heapFloat[(r10+5)] = f4;
+ heapFloat[(r10+6)] = f3;
+ heap32[(r10+7)] = 0;
+ r6 = heap32[(r6+2)];
+ r6 = (r8 * r6)|0;
+ r6 = (r9 + r6)|0;
+ r6 = r6 >> 2;
+ f3 = heapFloat[(r6+2)];
+ f4 = heapFloat[(r6+1)];
+ f5 = heapFloat[(r6)];
+ f5 = f5*f0;
+ f4 = f4*f1;
+ heapFloat[(r10+8)] = f5;
+ f3 = f3*f2;
+ heapFloat[(r10+9)] = f4;
+ heapFloat[(r10+10)] = f3;
+ r6 = r3 >> 2;
+ heap32[(r10+11)] = 0;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ r5 = (r5 + 1)|0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = heap32[(fp+-8)];
+if(!(r5 <r6)) //_LBB491_9
+{
+break _4;
+}
+}
+}
+}
+}
+}
+}
+} while(0);
+ r5 = heap32[(r1)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ r4 = (r4 + 1)|0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+continue _1;
+}
+else{
+__label__ = 27;
+break _1;
+}
+}
+switch(__label__ ){//multiple entries
+case 27:
+ return;
+break;
+case 22:
+ r0 = _2E_str9358;
+ r1 = _2E_str3352;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 134;
+ _assert(i7);
+break;
+case 24:
+ r0 = _2E_str6355;
+ r1 = _2E_str3352;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 139;
+ _assert(i7);
+break;
+case 12:
+ r0 = _2E_str9358;
+ r1 = _2E_str3352;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 92;
+ _assert(i7);
+break;
+}
+}
+
+function _ZN23btStridingMeshInterfaceD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV23btStridingMeshInterface;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN23btStridingMeshInterfaceD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV23btStridingMeshInterface;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN31btInternalTriangleIndexCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btInternalTriangleIndexCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN31btInternalTriangleIndexCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btInternalTriangleIndexCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN18btTriangleCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN18btTriangleCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN26btTriangleIndexVertexArray16unLockVertexBaseEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN26btTriangleIndexVertexArray19preallocateVerticesEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN26btTriangleIndexVertexArray18preallocateIndicesEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+12)];
+ r1 = 1;
+ r0 = r0 == r1;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r0+13)] = heap32[(r1)];
+ heap32[(r0+14)] = heap32[(r1+1)];
+ r2 = heap32[(fp+2)];
+ heap32[(r0+15)] = heap32[(r1+2)];
+ r2 = r2 >> 2;
+ heap32[(r0+16)] = heap32[(r1+3)];
+ heap32[(r0+17)] = heap32[(r2)];
+ heap32[(r0+18)] = heap32[(r2+1)];
+ heap32[(r0+19)] = heap32[(r2+2)];
+ heap32[(r0+20)] = heap32[(r2+3)];
+ heap32[(r0+12)] = 1;
+ return;
+}
+
+function _ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r1)] = heap32[(r0+13)];
+ heap32[(r1+1)] = heap32[(r0+14)];
+ r2 = heap32[(fp+2)];
+ heap32[(r1+2)] = heap32[(r0+15)];
+ r2 = r2 >> 2;
+ heap32[(r1+3)] = heap32[(r0+16)];
+ heap32[(r2)] = heap32[(r0+17)];
+ heap32[(r2+1)] = heap32[(r0+18)];
+ heap32[(r2+2)] = heap32[(r0+19)];
+ heap32[(r2+3)] = heap32[(r0+20)];
+ return;
+}
+
+function _ZNK26btTriangleIndexVertexArray14getNumSubPartsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+6)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+9)];
+ r0 = r0 >> 2;
+ r1 = r1 << 5;
+ r0 = heap32[(r0+8)];
+ r0 = (r0 + r1)|0;
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(r0+3)];
+ r1 = r1 >> 2;
+ r3 = heap32[(fp+1)];
+ heap32[(r1)] = r2;
+ r1 = r3 >> 2;
+ r2 = heap32[(r0+4)];
+ r3 = heap32[(fp+3)];
+ heap32[(r1)] = r2;
+ r1 = r3 >> 2;
+ r2 = heap32[(r0+7)];
+ r3 = heap32[(fp+4)];
+ heap32[(r1)] = r2;
+ r1 = r3 >> 2;
+ r2 = heap32[(r0+5)];
+ r3 = heap32[(fp+7)];
+ heap32[(r1)] = r2;
+ r1 = r3 >> 2;
+ r2 = heap32[(r0)];
+ r3 = heap32[(fp+5)];
+ heap32[(r1)] = r2;
+ r1 = r3 >> 2;
+ r2 = heap32[(r0+1)];
+ r3 = heap32[(fp+6)];
+ heap32[(r1)] = r2;
+ r1 = r3 >> 2;
+ r2 = heap32[(r0+2)];
+ r3 = heap32[(fp+8)];
+ heap32[(r1)] = r2;
+ r1 = r3 >> 2;
+ r0 = heap32[(r0+6)];
+ heap32[(r1)] = r0;
+ return;
+}
+
+function _ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+7)];
+ r3 = heap32[(fp+9)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = r_g0;
+ if(r0 >r3) //_LBB507_2
+{
+ r0 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+ r5 = heap32[(fp+4)];
+ r6 = heap32[(fp+5)];
+ r7 = heap32[(fp+6)];
+ r8 = heap32[(fp+7)];
+ r9 = heap32[(fp+8)];
+ r3 = r3 << 5;
+ r1 = heap32[(r1+8)];
+ r1 = (r1 + r3)|0;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1+3)];
+ r2 = r2 >> 2;
+ heap32[(r2)] = r3;
+ r0 = r0 >> 2;
+ r2 = heap32[(r1+4)];
+ heap32[(r0)] = r2;
+ r0 = r4 >> 2;
+ r2 = heap32[(r1+7)];
+ heap32[(r0)] = r2;
+ r0 = r5 >> 2;
+ r2 = heap32[(r1+5)];
+ heap32[(r0)] = r2;
+ r0 = r8 >> 2;
+ r2 = heap32[(r1)];
+ heap32[(r0)] = r2;
+ r0 = r6 >> 2;
+ r2 = heap32[(r1+1)];
+ heap32[(r0)] = r2;
+ r0 = r7 >> 2;
+ r2 = heap32[(r1+2)];
+ heap32[(r0)] = r2;
+ r0 = r9 >> 2;
+ r1 = heap32[(r1+6)];
+ heap32[(r0)] = r1;
+ return;
+}
+else{
+ r1 = _2E_str367;
+ r3 = _2E_str1368;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 41;
+ _assert(i7);
+}
+}
+
+function _ZN26btTriangleIndexVertexArrayD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV26btTriangleIndexVertexArray;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+8)];
+if(!(r1 ==0)) //_LBB508_4
+{
+ r3 = heapU8[r0+36];
+if(!(r3 ==0)) //_LBB508_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+8)] = 0;
+}
+ r1 = 1;
+ heap8[r0+36] = r1;
+ heap32[(r2+8)] = 0;
+ r1 = _ZTV23btStridingMeshInterface;
+ heap32[(r2+6)] = 0;
+ r1 = (r1 + 8)|0;
+ heap32[(r2+7)] = 0;
+ heap32[(r2)] = r1;
+if(!(r0 ==0)) //_LBB508_6
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+
+function _ZN26btTriangleIndexVertexArrayD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV26btTriangleIndexVertexArray;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+8)];
+if(!(r1 ==0)) //_LBB509_4
+{
+ r3 = heapU8[r0+36];
+if(!(r3 ==0)) //_LBB509_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+8)] = 0;
+}
+ r1 = 1;
+ heap8[r0+36] = r1;
+ heap32[(r2+8)] = 0;
+ r0 = _ZTV23btStridingMeshInterface;
+ heap32[(r2+6)] = 0;
+ r0 = (r0 + 8)|0;
+ heap32[(r2+7)] = 0;
+ heap32[(r2)] = r0;
+ return;
+}
+
+function _ZNK19btTriangleMeshShape7getNameEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _2E_str372;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ f0 = heapFloat[(r1+10)];
+ f1 = heapFloat[(r1+6)];
+ f2 = heapFloat[(r1+9)];
+ f3 = heapFloat[(r1+5)];
+ f4 = heapFloat[(r1+8)];
+ f5 = heapFloat[(r1+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f6 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ f7 = f_g0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+11)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = heap32[(fp+1)];
+ f4 = f4-f5;
+ f5 = 0.5;
+ f2 = f2-f3;
+ f0 = f0-f1;
+ f1 = heapFloat[(r1+10)];
+ f3 = heapFloat[(r1+6)];
+ f9 = heapFloat[(r1+9)];
+ f10 = heapFloat[(r1+5)];
+ f11 = heapFloat[(r1+8)];
+ f12 = heapFloat[(r1+4)];
+ r0 = r0 >> 2;
+ f4 = f4*f5;
+ f2 = f2*f5;
+ f0 = f0*f5;
+ f1 = f1+f3;
+ f3 = f9+f10;
+ f9 = f11+f12;
+ f10 = heapFloat[(r0+10)];
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp+3)];
+ f4 = f4+f_g0;
+ f2 = f2+f7;
+ f0 = f0+f6;
+ f1 = f1*f5;
+ f3 = f3*f5;
+ f5 = f9*f5;
+ f6 = 0;
+ if(f10 <f6) //_LBB511_2
+{
+ f7 = -f10;
+}
+else{
+ f7 = f10;
+}
+ f8 = heapFloat[(r0+9)];
+ if(f8 <f6) //_LBB511_5
+{
+ f9 = -f8;
+}
+else{
+ f9 = f8;
+}
+ f11 = heapFloat[(r0+8)];
+ if(f11 <f6) //_LBB511_8
+{
+ f12 = -f11;
+}
+else{
+ f12 = f11;
+}
+ f13 = heapFloat[(r0+6)];
+ if(f13 <f6) //_LBB511_11
+{
+ f14 = -f13;
+}
+else{
+ f14 = f13;
+}
+ f15 = heapFloat[(r0+5)];
+ if(f15 <f6) //_LBB511_14
+{
+ f16 = -f15;
+}
+else{
+ f16 = f15;
+}
+ f17 = heapFloat[(r0+4)];
+ if(f17 <f6) //_LBB511_17
+{
+ f18 = -f17;
+}
+else{
+ f18 = f17;
+}
+ f19 = heapFloat[(r0+2)];
+ if(f19 <f6) //_LBB511_20
+{
+ f20 = -f19;
+}
+else{
+ f20 = f19;
+}
+ f21 = heapFloat[(r0+1)];
+ if(f21 <f6) //_LBB511_23
+{
+ f22 = -f21;
+}
+else{
+ f22 = f21;
+}
+ f23 = heapFloat[(r0)];
+ if(f23 <f6) //_LBB511_26
+{
+ f6 = -f23;
+}
+else{
+ f6 = f23;
+}
+ f23 = f23*f5;
+ f21 = f21*f3;
+ f17 = f17*f5;
+ f15 = f15*f3;
+ f21 = f23+f21;
+ f19 = f19*f1;
+ f6 = f6*f4;
+ f22 = f22*f2;
+ f5 = f11*f5;
+ f3 = f8*f3;
+ f8 = f17+f15;
+ f11 = f13*f1;
+ f13 = f18*f4;
+ f15 = f16*f2;
+ f16 = f21+f19;
+ f17 = heapFloat[(r0+12)];
+ f6 = f6+f22;
+ f18 = f20*f0;
+ f3 = f5+f3;
+ f1 = f10*f1;
+ f4 = f12*f4;
+ f2 = f9*f2;
+ f5 = f8+f11;
+ f8 = heapFloat[(r0+13)];
+ f9 = heapFloat[(r0+14)];
+ f10 = f13+f15;
+ f11 = f14*f0;
+ f12 = f16+f17;
+ f6 = f6+f18;
+ f1 = f3+f1;
+ r0 = r1 >> 2;
+ f2 = f4+f2;
+ f0 = f7*f0;
+ f3 = f5+f8;
+ f4 = f10+f11;
+ f5 = f12-f6;
+ f1 = f1+f9;
+ f0 = f2+f0;
+ f2 = f3-f4;
+ heapFloat[(r0)] = f5;
+ f5 = f1-f0;
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f5;
+ r1 = r2 >> 2;
+ f2 = f12+f6;
+ heap32[(r0+3)] = 0;
+ f3 = f3+f4;
+ heapFloat[(r1)] = f2;
+ f0 = f1+f0;
+ heapFloat[(r1+1)] = f3;
+ heapFloat[(r1+2)] = f0;
+ heap32[(r1+3)] = 0;
+ return;
+}
+
+function _ZN19btTriangleMeshShape15recalcLocalAabbEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -64;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = 0;
+_1: while(true){
+ r2 = sp + -16;
+ r3 = r2 >> 2;
+ heap32[(fp+-4)] = 0;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+2)] = 0;
+ r4 = (r2 + r1)|0;
+ heap32[(r3+3)] = 0;
+ r3 = r4 >> 2;
+ heap32[(r3)] = 1065353216;
+ r4 = r0 >> 2;
+ r5 = heap32[(r4)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+16)];
+ r6 = sp + -32;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ r7 = (r6 + r1)|0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r5 = r7 >> 2;
+ r7 = (r0 + r1)|0;
+ f0 = heapFloat[(r5)];
+ f1 = heapFloat[(r4+3)];
+ f0 = f0+f1;
+ r7 = r7 >> 2;
+ heapFloat[(r7+8)] = f0;
+ heap32[(r3)] = -1082130432;
+ r3 = heap32[(r4)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+16)];
+ r8 = sp + -48;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = r6 >> 2;
+ r3 = r8 >> 2;
+ heap32[(fp+-8)] = heap32[(fp+-12)];
+ heap32[(r2+1)] = heap32[(r3+1)];
+ heap32[(r2+2)] = heap32[(r3+2)];
+ heap32[(r2+3)] = heap32[(r3+3)];
+ f0 = heapFloat[(r5)];
+ f1 = heapFloat[(r4+3)];
+ r1 = (r1 + 4)|0;
+ f0 = f0-f1;
+ heapFloat[(r7+4)] = f0;
+ if(r1 !=12) //_LBB512_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+ return;
+}
+
+function _ZN21SupportVertexCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN21SupportVertexCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN21SupportVertexCallback15processTriangleEP9btVector3ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r1+22)];
+ f1 = heapFloat[(r0)];
+ f2 = heapFloat[(r1+23)];
+ f3 = heapFloat[(r0+1)];
+ f4 = heapFloat[(r1+24)];
+ f5 = heapFloat[(r0+2)];
+ f1 = f0*f1;
+ f3 = f2*f3;
+ f1 = f1+f3;
+ f3 = f4*f5;
+ f5 = heapFloat[(r1+21)];
+ f1 = f1+f3;
+ if(f5 <f1) //_LBB515_2
+{
+ heapFloat[(r1+21)] = f1;
+ heap32[(r1+1)] = heap32[(r0)];
+ heap32[(r1+2)] = heap32[(r0+1)];
+ heap32[(r1+3)] = heap32[(r0+2)];
+ heap32[(r1+4)] = heap32[(r0+3)];
+ f5 = f1;
+}
+ f1 = heapFloat[(r0+4)];
+ f3 = heapFloat[(r0+5)];
+ f1 = f0*f1;
+ f3 = f2*f3;
+ f6 = heapFloat[(r0+6)];
+ f1 = f1+f3;
+ f3 = f4*f6;
+ f1 = f1+f3;
+ if(f5 <f1) //_LBB515_7
+{
+ heapFloat[(r1+21)] = f1;
+ heap32[(r1+1)] = heap32[(r0+4)];
+ heap32[(r1+2)] = heap32[(r0+5)];
+ heap32[(r1+3)] = heap32[(r0+6)];
+ heap32[(r1+4)] = heap32[(r0+7)];
+ f5 = f1;
+}
+ f1 = heapFloat[(r0+8)];
+ f3 = heapFloat[(r0+9)];
+ f0 = f0*f1;
+ f1 = f2*f3;
+ f2 = heapFloat[(r0+10)];
+ f0 = f0+f1;
+ f1 = f4*f2;
+ f0 = f0+f1;
+ if(f5 <f0) //_LBB515_8
+{
+ heapFloat[(r1+21)] = f0;
+ heap32[(r1+1)] = heap32[(r0+8)];
+ heap32[(r1+2)] = heap32[(r0+9)];
+ heap32[(r1+3)] = heap32[(r0+10)];
+ heap32[(r1+4)] = heap32[(r0+11)];
+ return;
+}
+else{
+ return;
+}
+}
+
+function _ZN19btTriangleMeshShape15setLocalScalingERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+1)];
+ r1 = heap32[(r1+12)];
+ r1 = r1 >> 2;
+ r2 = r2 >> 2;
+ heap32[(r1+1)] = heap32[(r2)];
+ heap32[(r1+2)] = heap32[(r2+1)];
+ heap32[(r1+3)] = heap32[(r2+2)];
+ heap32[(r1+4)] = heap32[(r2+3)];
+ heap32[(g0)] = r0;
+ _ZN19btTriangleMeshShape15recalcLocalAabbEv(i7);
+ return;
+}
+
+function _ZNK19btTriangleMeshShape15getLocalScalingEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+12)];
+ r0 = (r0 + 4)|0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btInternalTriangleIndexCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV31btInternalTriangleIndexCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallback28internalProcessTriangleIndexEPS2_ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp)];
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r1+4)];
+ f2 = heapFloat[(r1+8)];
+ f3 = f0 < f1 ? f0 : f1;
+ r2 = r2 >> 2;
+ f3 = f3 < f2 ? f3 : f2;
+ f4 = heapFloat[(r2+6)];
+if(!(f3 >f4)) //_LBB520_7
+{
+ f0 = f0 > f1 ? f0 : f1;
+ f0 = f0 > f2 ? f0 : f2;
+ f1 = heapFloat[(r2+2)];
+if(!(f0 <f1)) //_LBB520_7
+{
+ f0 = heapFloat[(r1+2)];
+ f1 = heapFloat[(r1+6)];
+ f2 = heapFloat[(r1+10)];
+ f3 = f0 < f1 ? f0 : f1;
+ f3 = f3 < f2 ? f3 : f2;
+ f4 = heapFloat[(r2+8)];
+if(!(f3 >f4)) //_LBB520_7
+{
+ f0 = f0 > f1 ? f0 : f1;
+ f0 = f0 > f2 ? f0 : f2;
+ f1 = heapFloat[(r2+4)];
+if(!(f0 <f1)) //_LBB520_7
+{
+ f0 = heapFloat[(r1+1)];
+ f1 = heapFloat[(r1+5)];
+ f2 = heapFloat[(r1+9)];
+ f3 = f0 < f1 ? f0 : f1;
+ f3 = f3 < f2 ? f3 : f2;
+ f4 = heapFloat[(r2+7)];
+if(!(f3 >f4)) //_LBB520_7
+{
+ f0 = f0 > f1 ? f0 : f1;
+ f0 = f0 > f2 ? f0 : f2;
+ f1 = heapFloat[(r2+3)];
+if(!(f0 <f1)) //_LBB520_7
+{
+ r1 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r2 = heap32[(r2+1)];
+ r4 = r2 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r3;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+}
+}
+}
+}
+}
+}
+ return;
+}
+
+function _ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _2E_str10;
+ r1 = _2E_str3375;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 188;
+ _assert(i7);
+}
+
+function _ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -152;var g0 = i7>>2; // save stack
+ r0 = _ZTV21SupportVertexCallback;
+ r1 = sp + -120;
+ r0 = (r0 + 8)|0;
+ r2 = r1 >> 2;
+ heap32[(fp+-30)] = r0;
+ heap32[(r2+1)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+5)] = 1065353216;
+ heap32[(r2+6)] = 0;
+ heap32[(r2+7)] = 0;
+ heap32[(r2+8)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 1065353216;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+12)] = 0;
+ heap32[(r2+13)] = 0;
+ heap32[(r2+14)] = 0;
+ heap32[(r2+15)] = 1065353216;
+ heap32[(r2+16)] = 0;
+ heap32[(r2+17)] = 0;
+ heap32[(r2+18)] = 0;
+ heap32[(r2+19)] = 0;
+ r0 = heap32[(fp+2)];
+ heap32[(r2+20)] = 0;
+ r0 = r0 >> 2;
+ heap32[(r2+21)] = -581039253;
+ f0 = 0;
+ f1 = heapFloat[(r0+1)];
+ f2 = heapFloat[(r0)];
+ f3 = heapFloat[(r0+2)];
+ f4 = f1*f0;
+ f5 = f2*f0;
+ f2 = f2+f4;
+ f0 = f3*f0;
+ f1 = f5+f1;
+ f2 = f2+f0;
+ f4 = f5+f4;
+ f0 = f1+f0;
+ heapFloat[(r2+22)] = f2;
+ f1 = f4+f3;
+ heapFloat[(r2+23)] = f0;
+ heapFloat[(r2+24)] = f1;
+ r0 = sp + -136;
+ heap32[(r2+25)] = 0;
+ r3 = r0 >> 2;
+ heap32[(fp+-34)] = 1566444395;
+ heap32[(r3+1)] = 1566444395;
+ r4 = heap32[(fp+1)];
+ heap32[(r3+2)] = 1566444395;
+ r5 = r4 >> 2;
+ heap32[(r3+3)] = 0;
+ r3 = heap32[(r5)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+15)];
+ r5 = sp + -16;
+ r6 = r5 >> 2;
+ heap32[(fp+-4)] = -581039253;
+ heap32[(r6+1)] = -581039253;
+ heap32[(r6+2)] = -581039253;
+ heap32[(r6+3)] = 0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r0 = heap32[(fp)];
+ f0 = heapFloat[(r2+4)];
+ f1 = heapFloat[(r2+3)];
+ f2 = heapFloat[(r2+2)];
+ r0 = r0 >> 2;
+ heap32[(r0)] = heap32[(r2+1)];
+ heapFloat[(r0+1)] = f2;
+ heapFloat[(r0+2)] = f1;
+ heapFloat[(r0+3)] = f0;
+ return;
+}
+
+function _ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -56;var g0 = i7>>2; // save stack
+ r0 = _ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback;
+ r1 = sp + -40;
+ r0 = (r0 + 8)|0;
+ r2 = heap32[(fp+2)];
+ r3 = r1 >> 2;
+ r4 = heap32[(fp+1)];
+ heap32[(fp+-10)] = r0;
+ r0 = r2 >> 2;
+ heap32[(r3+1)] = r4;
+ heap32[(r3+2)] = heap32[(r0)];
+ heap32[(r3+3)] = heap32[(r0+1)];
+ r4 = heap32[(fp+3)];
+ heap32[(r3+4)] = heap32[(r0+2)];
+ r5 = r4 >> 2;
+ heap32[(r3+5)] = heap32[(r0+3)];
+ heap32[(r3+6)] = heap32[(r5)];
+ heap32[(r3+7)] = heap32[(r5+1)];
+ r0 = heap32[(fp)];
+ heap32[(r3+8)] = heap32[(r5+2)];
+ r0 = r0 >> 2;
+ heap32[(r3+9)] = heap32[(r5+3)];
+ r0 = heap32[(r0+12)];
+ r3 = r0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ return;
+}
+
+function _ZN19btTriangleMeshShapeD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV14btConcaveShape;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN19btTriangleMeshShapeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV14btConcaveShape;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _GLOBAL__D__ZN19btGenericMemoryPool24allocate_from_free_nodesEj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN16btPointCollectorD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btPointCollector;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN16btPointCollectorD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV16btPointCollector;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN16btPointCollector20setShapeIdentifiersAEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN16btPointCollector20setShapeIdentifiersBEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN16btPointCollector15addContactPointERK9btVector3S2_f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ f0 = heapFloat[(fp+3)];
+ r1 = r0 >> 2;
+ f1 = heapFloat[(r1+9)];
+if(!(f1 <=f0)) //_LBB531_2
+{
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = 1;
+ r2 = r2 >> 2;
+ heap8[r0+40] = r4;
+ heap32[(r1+1)] = heap32[(r2)];
+ heap32[(r1+2)] = heap32[(r2+1)];
+ heap32[(r1+3)] = heap32[(r2+2)];
+ r0 = r3 >> 2;
+ heap32[(r1+4)] = heap32[(r2+3)];
+ heap32[(r1+5)] = heap32[(r0)];
+ heap32[(r1+6)] = heap32[(r0+1)];
+ heap32[(r1+7)] = heap32[(r0+2)];
+ heap32[(r1+8)] = heap32[(r0+3)];
+ heapFloat[(r1+9)] = f0;
+}
+ return;
+}
+
+function _ZN27btContinuousConvexCollisionD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btConvexCast;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN27btContinuousConvexCollisionD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btConvexCast;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var r25;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+var __label__ = 0;
+ i7 = sp + -816;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+1)];
+ r2 = 0;
+ r3 = r1 >> 2;
+ heap8[r1+312] = r2;
+ r4 = 1;
+ heap32[(r3)] = 0;
+ heap8[r1+356] = r4;
+ heap32[(r3+73)] = 1566444395;
+ heap32[(r3+74)] = 1566444395;
+ heap32[(r3+75)] = 1566444395;
+ heap32[(r3+76)] = 0;
+ heap8[r1+352] = r2;
+ heap32[(r3+84)] = 0;
+ heap32[(r3+85)] = 0;
+ heap32[(r3+86)] = 0;
+ heap32[(r3+87)] = 0;
+ r3 = heapU8[r1+332];
+ r5 = heap32[(fp+1)];
+ r6 = heap32[(fp+2)];
+ r3 = r3 & 240;
+ r7 = r6 >> 2;
+ heap8[r1+332] = r3;
+ r1 = r5 >> 2;
+ f0 = heapFloat[(r7+14)];
+ f1 = heapFloat[(r1+14)];
+ f2 = heapFloat[(r7+13)];
+ f3 = heapFloat[(r1+13)];
+ f4 = heapFloat[(r7+12)];
+ f5 = heapFloat[(r1+12)];
+ r3 = sp + -40;
+ r7 = sp + -44;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r7;
+ _ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(i7);
+ r3 = r3 >> 2;
+ f6 = heapFloat[(r3+2)];
+ f7 = heapFloat[(fp+-11)];
+ f8 = heapFloat[(r3+1)];
+ f9 = heapFloat[(fp+-10)];
+ r3 = sp + -96;
+ f9 = f9*f7;
+ f8 = f8*f7;
+ r6 = r3 >> 2;
+ heapFloat[(fp+-24)] = f9;
+ f6 = f6*f7;
+ heapFloat[(r6+1)] = f8;
+ r7 = heap32[(fp+3)];
+ r8 = heap32[(fp+4)];
+ heapFloat[(r6+2)] = f6;
+ r9 = r8 >> 2;
+ heap32[(r6+3)] = 0;
+ r6 = r7 >> 2;
+ f7 = heapFloat[(r9+14)];
+ f10 = heapFloat[(r6+14)];
+ f11 = heapFloat[(r9+13)];
+ f12 = heapFloat[(r6+13)];
+ f13 = heapFloat[(r9+12)];
+ f14 = heapFloat[(r6+12)];
+ r9 = sp + -16;
+ r10 = sp + -20;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r10;
+ _ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(i7);
+ r8 = r9 >> 2;
+ f15 = heapFloat[(r8+2)];
+ f16 = heapFloat[(fp+-5)];
+ f17 = heapFloat[(r8+1)];
+ f18 = heapFloat[(fp+-4)];
+ r8 = sp + -112;
+ f18 = f18*f16;
+ f17 = f17*f16;
+ r9 = r8 >> 2;
+ heapFloat[(fp+-28)] = f18;
+ f15 = f15*f16;
+ heapFloat[(r9+1)] = f17;
+ heapFloat[(r9+2)] = f15;
+ heap32[(r9+3)] = 0;
+ r9 = heap32[(r0+3)];
+ r10 = r9 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+4)];
+ heap32[(g0)] = r9;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ f16 = f_g0;
+ r9 = heap32[(r0+4)];
+ r10 = r9 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+4)];
+ heap32[(g0)] = r9;
+ f9 = f9*f9;
+ f8 = f8*f8;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ f19 = f_g0;
+ f8 = f9+f8;
+ f6 = f6*f6;
+ f6 = f8+f6;
+ heapFloat[(g0)] = f6;
+ f6 = f18*f18;
+ f8 = f17*f17;
+ sqrtf(i7);
+ f9 = f_g0;
+ f11 = f11-f12;
+ f2 = f2-f3;
+ f3 = f13-f14;
+ f4 = f4-f5;
+ f5 = f6+f8;
+ f6 = f15*f15;
+ f8 = f11-f2;
+ f12 = f3-f4;
+ f7 = f7-f10;
+ f0 = f0-f1;
+ f1 = f5+f6;
+ f5 = f7-f0;
+ heapFloat[(g0)] = f1;
+ f1 = f12*f12;
+ f6 = f8*f8;
+ sqrtf(i7);
+ f1 = f1+f6;
+ f6 = f5*f5;
+ f1 = f1+f6;
+ f6 = f9*f16;
+ f9 = f_g0*f19;
+ heapFloat[(g0)] = f1;
+ f1 = f6+f9;
+ sqrtf(i7);
+ f6 = f_g0+f1;
+ f9 = 0;
+_1: do {
+if(!(f6 ==f9)) //_LBB534_21
+{
+ r9 = _ZTV16btPointCollector;
+ r9 = (r9 + 8)|0;
+ r10 = sp + -176;
+ heap32[(fp+-44)] = r9;
+ r11 = r10 >> 2;
+ heap32[(r11+9)] = 1566444395;
+ heap8[sp+-136] = r2;
+ r12 = heap32[(r0+4)];
+ r13 = r12 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+11)];
+ r14 = heap32[(r0+2)];
+ r15 = heap32[(r0+1)];
+ heap32[(g0)] = r12;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ f6 = f_g0;
+ r12 = heap32[(r0+3)];
+ r13 = r12 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+11)];
+ heap32[(g0)] = r12;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ r12 = heap32[(r0+4)];
+ r13 = heap32[(r0+3)];
+ r16 = r12 >> 2;
+ r17 = r13 >> 2;
+ r18 = _ZTV17btGjkPairDetector;
+ r16 = heap32[(r16+1)];
+ r17 = heap32[(r17+1)];
+ r19 = sp + -256;
+ r18 = (r18 + 8)|0;
+ r20 = r19 >> 2;
+ heap32[(fp+-64)] = r18;
+ heap32[(r20+1)] = 0;
+ heap32[(r20+2)] = 1065353216;
+ heap32[(r20+3)] = 0;
+ heap32[(r20+4)] = 0;
+ heap32[(r20+5)] = r14;
+ heap32[(r20+6)] = r15;
+ heap32[(r20+7)] = r13;
+ heap32[(r20+8)] = r12;
+ heap32[(r20+9)] = r17;
+ heap32[(r20+10)] = r16;
+ heapFloat[(r20+11)] = f_g0;
+ heapFloat[(r20+12)] = f6;
+ heap8[sp+-204] = r2;
+ r12 = sp + -392;
+ heap32[(r20+15)] = -1;
+ r13 = r12 >> 2;
+ heap32[(r20+18)] = 1;
+ heap32[(r13+32)] = 1566444395;
+ heap32[(r13+33)] = 0;
+ heap32[(fp+-98)] = heap32[(r1)];
+ heap32[(r13+1)] = heap32[(r1+1)];
+ heap32[(r13+2)] = heap32[(r1+2)];
+ heap32[(r13+3)] = heap32[(r1+3)];
+ heap32[(r13+4)] = heap32[(r1+4)];
+ heap32[(r13+5)] = heap32[(r1+5)];
+ heap32[(r13+6)] = heap32[(r1+6)];
+ heap32[(r13+7)] = heap32[(r1+7)];
+ heap32[(r13+8)] = heap32[(r1+8)];
+ heap32[(r13+9)] = heap32[(r1+9)];
+ heap32[(r13+10)] = heap32[(r1+10)];
+ heap32[(r13+11)] = heap32[(r1+11)];
+ heap32[(r13+12)] = heap32[(r1+12)];
+ heap32[(r13+13)] = heap32[(r1+13)];
+ heap32[(r13+14)] = heap32[(r1+14)];
+ heap32[(r13+15)] = heap32[(r1+15)];
+ heap32[(r13+16)] = heap32[(r6)];
+ heap32[(r13+17)] = heap32[(r6+1)];
+ heap32[(r13+18)] = heap32[(r6+2)];
+ heap32[(r13+19)] = heap32[(r6+3)];
+ heap32[(r13+20)] = heap32[(r6+4)];
+ heap32[(r13+21)] = heap32[(r6+5)];
+ heap32[(r13+22)] = heap32[(r6+6)];
+ heap32[(r13+23)] = heap32[(r6+7)];
+ heap32[(r13+24)] = heap32[(r6+8)];
+ heap32[(r13+25)] = heap32[(r6+9)];
+ heap32[(r13+26)] = heap32[(r6+10)];
+ heap32[(r13+27)] = heap32[(r6+11)];
+ heap32[(r13+28)] = heap32[(r6+12)];
+ heap32[(r13+29)] = heap32[(r6+13)];
+ heap32[(r13+30)] = heap32[(r6+14)];
+ heap32[(r13+31)] = heap32[(r6+15)];
+ heap32[(g0)] = r19;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = 0;
+ heap32[(g0+4)] = 0;
+ _ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(i7);
+ f6 = heapFloat[(r11+5)];
+ r1 = heapU8[sp+-136];
+ r6 = sp + -128;
+ heapFloat[(fp+-32)] = f6;
+ f10 = heapFloat[(r11+6)];
+ r10 = r6 >> 2;
+ heapFloat[(r10+1)] = f10;
+ f13 = heapFloat[(r11+7)];
+ heapFloat[(r10+2)] = f13;
+ f14 = heapFloat[(r11+8)];
+ heapFloat[(r10+3)] = f14;
+if(!(r1 ==0)) //_LBB534_21
+{
+ r1 = heap32[(fp+5)];
+ f15 = heapFloat[(r11+1)];
+ f16 = heapFloat[(r11+2)];
+ f17 = heapFloat[(r11+3)];
+ f18 = f12*f15;
+ f19 = f8*f16;
+ r12 = sp + -456;
+ f18 = f18+f19;
+ f19 = f5*f17;
+ f20 = heapFloat[(r11+9)];
+ f21 = heapFloat[(r11+4)];
+ f18 = f18+f19;
+ r11 = (r12 + 48)|0;
+_4: while(true){
+ f19 = 0.0010000000474974513;
+ if(f20 >f19) //_LBB534_3
+{
+ r13 = r1 >> 2;
+ r14 = heap32[(r13+42)];
+if(!(r14 ==0)) //_LBB534_5
+{
+ r15 = r14 >> 2;
+ r15 = heap32[(r15)];
+ r15 = r15 >> 2;
+ r15 = heap32[(r15+5)];
+ r16 = sp + -80;
+ r17 = r16 >> 2;
+ heap32[(fp+-20)] = 1065353216;
+ heap32[(r17+1)] = 1065353216;
+ heap32[(r17+2)] = 1065353216;
+ heap32[(r17+3)] = 0;
+ heap32[(g0)] = r14;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = 1045220557;
+ heap32[(g0+3)] = r16;
+ __FUNCTION_TABLE__[(r15)>>2](i7);
+}
+ r2 = (r2 + 1)|0;
+ if(r2 >64) //_LBB534_21
+{
+break _1;
+}
+else{
+ f6 = f12*f15;
+ f10 = f8*f16;
+ f6 = f6+f10;
+ f10 = f5*f17;
+ f18 = f6+f10;
+ f6 = f18+f1;
+ f10 = 1.1920928955078125e-007;
+ if(f6 <=f10) //_LBB534_21
+{
+break _1;
+}
+else{
+ f6 = f20/f6;
+ f19 = f9+f6;
+ f6 = 0;
+ if(f19 <f6) //_LBB534_21
+{
+break _1;
+}
+else{
+ f10 = 1;
+ if(f19 >f10) //_LBB534_21
+{
+break _1;
+}
+else{
+ if(f19 <=f9) //_LBB534_21
+{
+break _1;
+}
+else{
+ heap32[(g0)] = r5;
+ heapFloat[(g0+1)] = f4;
+ heapFloat[(g0+2)] = f2;
+ heapFloat[(g0+3)] = f0;
+ heap32[(g0+4)] = r3;
+ heapFloat[(g0+5)] = f19;
+ heap32[(g0+6)] = r12;
+ _ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(i7);
+ r14 = sp + -520;
+ heap32[(g0)] = r7;
+ heapFloat[(g0+1)] = f3;
+ heapFloat[(g0+2)] = f11;
+ heapFloat[(g0+3)] = f7;
+ heap32[(g0+4)] = r8;
+ heapFloat[(g0+5)] = f19;
+ heap32[(g0+6)] = r14;
+ _ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(i7);
+ r15 = heap32[(r13+42)];
+if(!(r15 ==0)) //_LBB534_12
+{
+ r16 = r15 >> 2;
+ r16 = heap32[(r16)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+5)];
+ r17 = sp + -64;
+ r19 = r17 >> 2;
+ heap32[(fp+-16)] = 1065353216;
+ heap32[(r19+1)] = 0;
+ heap32[(r19+2)] = 0;
+ heap32[(r19+3)] = 0;
+ heap32[(g0)] = r15;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = 1045220557;
+ heap32[(g0+3)] = r17;
+ __FUNCTION_TABLE__[(r16)>>2](i7);
+}
+ r15 = heap32[(r13)];
+ r15 = r15 >> 2;
+ r15 = heap32[(r15)];
+ heap32[(g0)] = r1;
+ heapFloat[(g0+1)] = f19;
+ r16 = sp + -568;
+ __FUNCTION_TABLE__[(r15)>>2](i7);
+ r15 = r16 >> 2;
+ heap32[(fp+-142)] = r9;
+ r17 = 0;
+ heap32[(r15+9)] = 1566444395;
+ heap8[sp+-528] = r17;
+ r19 = heap32[(r0+4)];
+ r20 = heap32[(r0+3)];
+ r21 = heap32[(r0+1)];
+ r22 = heap32[(r0+2)];
+ r23 = sp + -648;
+ heap32[(fp+-162)] = r18;
+ r24 = r23 >> 2;
+ heap32[(r24+1)] = 0;
+ heap32[(r24+2)] = 1065353216;
+ heap32[(r24+3)] = 0;
+ heap32[(r24+4)] = 0;
+ heap32[(r24+5)] = r22;
+ heap32[(r24+6)] = r21;
+ heap32[(r24+7)] = r20;
+ r21 = r20 >> 2;
+ heap32[(r24+8)] = r19;
+ r22 = heap32[(r21+1)];
+ heap32[(r24+9)] = r22;
+ r22 = r19 >> 2;
+ r25 = heap32[(r22+1)];
+ heap32[(r24+10)] = r25;
+ r21 = heap32[(r21)];
+ r21 = r21 >> 2;
+ r21 = heap32[(r21+11)];
+ heap32[(g0)] = r20;
+ __FUNCTION_TABLE__[(r21)>>2](i7);
+ heapFloat[(r24+11)] = f_g0;
+ r20 = heap32[(r22)];
+ r20 = r20 >> 2;
+ r20 = heap32[(r20+11)];
+ heap32[(g0)] = r19;
+ __FUNCTION_TABLE__[(r20)>>2](i7);
+ heapFloat[(r24+12)] = f_g0;
+ heap8[sp+-596] = r17;
+ r19 = sp + -784;
+ heap32[(r24+15)] = -1;
+ r20 = r19 >> 2;
+ heap32[(r24+18)] = 1;
+ heap32[(r20+32)] = 1566444395;
+ heap32[(r20+33)] = 0;
+ r21 = r12 >> 2;
+ heap32[(fp+-196)] = heap32[(fp+-114)];
+ heap32[(r20+1)] = heap32[(r21+1)];
+ heap32[(r20+2)] = heap32[(r21+2)];
+ heap32[(r20+3)] = heap32[(r21+3)];
+ heap32[(r20+4)] = heap32[(r21+4)];
+ heap32[(r20+5)] = heap32[(r21+5)];
+ heap32[(r20+6)] = heap32[(r21+6)];
+ heap32[(r20+7)] = heap32[(r21+7)];
+ heap32[(r20+8)] = heap32[(r21+8)];
+ heap32[(r20+9)] = heap32[(r21+9)];
+ heap32[(r20+10)] = heap32[(r21+10)];
+ heap32[(r20+11)] = heap32[(r21+11)];
+ heap32[(r20+12)] = heap32[(r21+12)];
+ heap32[(r20+13)] = heap32[(r21+13)];
+ heap32[(r20+14)] = heap32[(r21+14)];
+ heap32[(r20+15)] = heap32[(r21+15)];
+ r14 = r14 >> 2;
+ heap32[(r20+16)] = heap32[(fp+-130)];
+ heap32[(r20+17)] = heap32[(r14+1)];
+ heap32[(r20+18)] = heap32[(r14+2)];
+ heap32[(r20+19)] = heap32[(r14+3)];
+ heap32[(r20+20)] = heap32[(r14+4)];
+ heap32[(r20+21)] = heap32[(r14+5)];
+ heap32[(r20+22)] = heap32[(r14+6)];
+ heap32[(r20+23)] = heap32[(r14+7)];
+ heap32[(r20+24)] = heap32[(r14+8)];
+ heap32[(r20+25)] = heap32[(r14+9)];
+ heap32[(r20+26)] = heap32[(r14+10)];
+ heap32[(r20+27)] = heap32[(r14+11)];
+ heap32[(r20+28)] = heap32[(r14+12)];
+ heap32[(r20+29)] = heap32[(r14+13)];
+ heap32[(r20+30)] = heap32[(r14+14)];
+ heap32[(r20+31)] = heap32[(r14+15)];
+ heap32[(g0)] = r23;
+ heap32[(g0+1)] = r19;
+ heap32[(g0+2)] = r16;
+ heap32[(g0+3)] = 0;
+ heap32[(g0+4)] = 0;
+ _ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(i7);
+ r14 = heapU8[sp+-528];
+ if(r14 !=0) //_LBB534_14
+{
+ f20 = heapFloat[(r15+9)];
+ if(f20 >=f6) //_LBB534_17
+{
+ f6 = heapFloat[(r15+5)];
+ heapFloat[(fp+-32)] = f6;
+ f10 = heapFloat[(r15+6)];
+ heapFloat[(r10+1)] = f10;
+ f13 = heapFloat[(r15+7)];
+ heapFloat[(r10+2)] = f13;
+ f14 = heapFloat[(r15+8)];
+ heapFloat[(r10+3)] = f14;
+ f15 = heapFloat[(r15+1)];
+ f16 = heapFloat[(r15+2)];
+ f17 = heapFloat[(r15+3)];
+ f21 = heapFloat[(r15+4)];
+ heap32[(fp+-142)] = r9;
+ f9 = f19;
+}
+else{
+__label__ = 14;
+break _4;
+}
+}
+else{
+__label__ = 15;
+break _4;
+}
+}
+}
+}
+}
+}
+}
+else{
+__label__ = 18;
+break _4;
+}
+}
+switch(__label__ ){//multiple entries
+case 18:
+ r0 = r1 >> 2;
+ f0 = f18+f1;
+ f1 = heapFloat[(r0+43)];
+ if(f0 <=f1) //_LBB534_21
+{
+break _1;
+}
+else{
+ heapFloat[(r0+41)] = f9;
+ heapFloat[(r0+33)] = f15;
+ heapFloat[(r0+34)] = f16;
+ heapFloat[(r0+35)] = f17;
+ heapFloat[(r0+36)] = f21;
+ heapFloat[(r0+37)] = f6;
+ heapFloat[(r0+38)] = f10;
+ heapFloat[(r0+39)] = f13;
+ heapFloat[(r0+40)] = f14;
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+break;
+case 14:
+ heapFloat[(r13+41)] = f19;
+ f0 = heapFloat[(r15+4)];
+ f1 = heapFloat[(r15+3)];
+ f2 = heapFloat[(r15+2)];
+ heap32[(r13+33)] = heap32[(r15+1)];
+ heapFloat[(r13+34)] = f2;
+ heapFloat[(r13+35)] = f1;
+ heapFloat[(r13+36)] = f0;
+ heap32[(r13+37)] = heap32[(r15+5)];
+ heap32[(r13+38)] = heap32[(r15+6)];
+ heap32[(r13+39)] = heap32[(r15+7)];
+ heap32[(r13+40)] = heap32[(r15+8)];
+ r17 = r4;
+break;
+}
+ heap32[(fp+-142)] = r9;
+ r0 = r17 & 255;
+ r_g0 = r0;
+ return;
+}
+}
+} while(0);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ f0 = heapFloat[(fp+5)];
+ f1 = heapFloat[(fp+1)];
+ r2 = heap32[(fp+6)];
+ f2 = heapFloat[(fp+2)];
+ f1 = f1*f0;
+ f3 = heapFloat[(r1+12)];
+ f4 = heapFloat[(r1+14)];
+ f5 = heapFloat[(r1+13)];
+ f6 = heapFloat[(fp+3)];
+ f2 = f2*f0;
+ r1 = r2 >> 2;
+ f1 = f3+f1;
+ f3 = f6*f0;
+ f2 = f5+f2;
+ heapFloat[(r1+12)] = f1;
+ f1 = f4+f3;
+ heapFloat[(r1+13)] = f2;
+ r2 = heap32[(fp+4)];
+ heapFloat[(r1+14)] = f1;
+ r2 = r2 >> 2;
+ heap32[(r1+15)] = 0;
+ f1 = heapFloat[(r2)];
+ f2 = heapFloat[(r2+1)];
+ f3 = heapFloat[(r2+2)];
+ f1 = f1*f1;
+ f2 = f2*f2;
+ f1 = f1+f2;
+ f2 = f3*f3;
+ f1 = f1+f2;
+ heapFloat[(g0)] = f1;
+ sqrtf(i7);
+ f1 = f_g0;
+ f2 = f1*f0;
+ f3 = 0.78539818525314331;
+ if(f2 >f3) //_LBB535_2
+{
+ f1 = f3/f0;
+}
+ f2 = 0.0010000000474974513;
+ if(f1 >=f2) //_LBB535_5
+{
+ f2 = 0.5;
+ f2 = f1*f2;
+ f2 = f2*f0;
+ heapFloat[(g0)] = f2;
+ sinf(i7);
+ f3 = heapFloat[(r2+2)];
+ f2 = f_g0/f1;
+ f5 = heapFloat[(r2+1)];
+ f6 = heapFloat[(r2)];
+ f4 = f3*f2;
+ f3 = f5*f2;
+ f2 = f6*f2;
+}
+else{
+ f2 = f0*f0;
+ f2 = f2*f0;
+ f3 = -0.02083333395421505;
+ f2 = f2*f3;
+ f3 = 0.5;
+ f2 = f2*f1;
+ f3 = f0*f3;
+ f2 = f2*f1;
+ f4 = heapFloat[(r2+2)];
+ f2 = f3+f2;
+ f3 = heapFloat[(r2+1)];
+ f5 = heapFloat[(r2)];
+ f4 = f4*f2;
+ f3 = f3*f2;
+ f2 = f5*f2;
+}
+ f0 = f1*f0;
+ f1 = 0.5;
+ f0 = f0*f1;
+ heapFloat[(g0)] = f0;
+ cosf(i7);
+ f0 = f_g0;
+ r2 = sp + -16;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ _ZNK11btMatrix3x311getRotationER12btQuaternion(i7);
+ r0 = r2 >> 2;
+ f1 = heapFloat[(fp+-4)];
+ f5 = heapFloat[(r0+3)];
+ f6 = heapFloat[(r0+1)];
+ f7 = heapFloat[(r0+2)];
+ f8 = f0*f6;
+ f9 = f3*f5;
+ f10 = f0*f1;
+ f11 = f2*f5;
+ f12 = f0*f7;
+ f13 = f4*f5;
+ f8 = f8+f9;
+ f9 = f4*f1;
+ f10 = f10+f11;
+ f11 = f3*f7;
+ f0 = f0*f5;
+ f5 = f2*f1;
+ f12 = f12+f13;
+ f13 = f2*f6;
+ f8 = f8+f9;
+ f2 = f2*f7;
+ f9 = f10+f11;
+ f10 = f4*f6;
+ f2 = f8-f2;
+ f8 = f9-f10;
+ f0 = f0-f5;
+ f5 = f3*f6;
+ f6 = f12+f13;
+ f1 = f3*f1;
+ f1 = f6-f1;
+ f3 = f8*f8;
+ f6 = f2*f2;
+ f0 = f0-f5;
+ f4 = f4*f7;
+ f0 = f0-f4;
+ f3 = f3+f6;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f0*f0;
+ f3 = f3+f4;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f3 = f_g0;
+ f4 = 0;
+ if(f3 !=f4) //_LBB535_8
+{
+ f4 = 1;
+ f3 = f4/f3;
+ f5 = f8*f3;
+ f2 = f2*f3;
+ f1 = f1*f3;
+ f6 = f5*f5;
+ f7 = f2*f2;
+ f0 = f0*f3;
+ f3 = f6+f7;
+ f6 = f1*f1;
+ f3 = f3+f6;
+ f6 = f0*f0;
+ f7 = 2;
+ f3 = f3+f6;
+ f3 = f7/f3;
+ f6 = f1*f3;
+ f7 = f2*f3;
+ f8 = f2*f7;
+ f1 = f1*f6;
+ f9 = f8+f1;
+ f9 = f4-f9;
+ f10 = f5*f7;
+ f11 = f0*f6;
+ f12 = f5*f6;
+ f7 = f0*f7;
+ f13 = f10-f11;
+ heapFloat[(r1)] = f9;
+ f3 = f5*f3;
+ f9 = f12+f7;
+ heapFloat[(r1+1)] = f13;
+ f5 = f5*f3;
+ heapFloat[(r1+2)] = f9;
+ f1 = f5+f1;
+ f9 = f10+f11;
+ heap32[(r1+3)] = 0;
+ f2 = f2*f6;
+ f0 = f0*f3;
+ f1 = f4-f1;
+ heapFloat[(r1+4)] = f9;
+ f3 = f2-f0;
+ heapFloat[(r1+5)] = f1;
+ heapFloat[(r1+6)] = f3;
+ f1 = f12-f7;
+ heap32[(r1+7)] = 0;
+ f3 = f5+f8;
+ f0 = f2+f0;
+ heapFloat[(r1+8)] = f1;
+ f1 = f4-f3;
+ heapFloat[(r1+9)] = f0;
+ heapFloat[(r1+10)] = f1;
+ heap32[(r1+11)] = 0;
+ return;
+}
+else{
+ r1 = _2E_str584;
+ r0 = _2E_str685;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 188;
+ _assert(i7);
+}
+}
+
+function _ZN12btConvexCastD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btConvexCast;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN12btConvexCastD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btConvexCast;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN15btGjkConvexCastD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btConvexCast;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN15btGjkConvexCastD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btConvexCast;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+var __label__ = 0;
+ i7 = sp + -288;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+1)];
+ r2 = 0;
+ r3 = r1 >> 2;
+ heap8[r1+312] = r2;
+ r4 = 1;
+ heap32[(r3)] = 0;
+ heap8[r1+356] = r4;
+ heap32[(r3+73)] = 1566444395;
+ heap32[(r3+74)] = 1566444395;
+ heap32[(r3+75)] = 1566444395;
+ heap32[(r3+76)] = 0;
+ heap8[r1+352] = r2;
+ heap32[(r3+84)] = 0;
+ heap32[(r3+85)] = 0;
+ heap32[(r3+86)] = 0;
+ heap32[(r3+87)] = 0;
+ r3 = heapU8[r1+332];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+1)];
+ r6 = heap32[(fp+4)];
+ r7 = heap32[(fp+3)];
+ r3 = r3 & 240;
+ r4 = r4 >> 2;
+ heap8[r1+332] = r3;
+ r1 = r5 >> 2;
+ r3 = r6 >> 2;
+ r5 = r7 >> 2;
+ r6 = _ZTV16btPointCollector;
+ f0 = heapFloat[(r4+14)];
+ f1 = heapFloat[(r1+14)];
+ f2 = heapFloat[(r3+14)];
+ f3 = heapFloat[(r5+14)];
+ f4 = heapFloat[(r4+13)];
+ f5 = heapFloat[(r1+13)];
+ f6 = heapFloat[(r3+13)];
+ f7 = heapFloat[(r5+13)];
+ f8 = heapFloat[(r4+12)];
+ f9 = heapFloat[(r1+12)];
+ f10 = heapFloat[(r3+12)];
+ f11 = heapFloat[(r5+12)];
+ r7 = sp + -48;
+ r6 = (r6 + 8)|0;
+ r8 = r7 >> 2;
+ heap32[(fp+-12)] = r6;
+ heap32[(r8+9)] = 1566444395;
+ heap8[sp+-8] = r2;
+ r6 = heap32[(r0+3)];
+ r9 = heap32[(r0+2)];
+ r0 = heap32[(r0+1)];
+ r10 = _ZTV17btGjkPairDetector;
+ r11 = sp + -128;
+ r10 = (r10 + 8)|0;
+ heap32[(fp+-32)] = r10;
+ r10 = r11 >> 2;
+ heap32[(r10+1)] = 0;
+ heap32[(r10+2)] = 1065353216;
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = 0;
+ heap32[(r10+5)] = 0;
+ heap32[(r10+6)] = r0;
+ heap32[(r10+7)] = r9;
+ r0 = r9 >> 2;
+ heap32[(r10+8)] = r6;
+ r12 = heap32[(r0+1)];
+ heap32[(r10+9)] = r12;
+ r12 = r6 >> 2;
+ r13 = heap32[(r12+1)];
+ heap32[(r10+10)] = r13;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+11)];
+ heap32[(g0)] = r9;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ heapFloat[(r10+11)] = f_g0;
+ r0 = heap32[(r12)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+11)];
+ heap32[(g0)] = r6;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ heapFloat[(r10+12)] = f_g0;
+ heap8[sp+-76] = r2;
+ r0 = sp + -264;
+ heap32[(r10+15)] = -1;
+ r6 = r0 >> 2;
+ heap32[(r10+18)] = 1;
+ heap32[(r6+32)] = 1566444395;
+ heap32[(r6+33)] = 0;
+ heap32[(fp+-66)] = heap32[(r1)];
+ heap32[(r6+1)] = heap32[(r1+1)];
+ heap32[(r6+2)] = heap32[(r1+2)];
+ heap32[(r6+3)] = heap32[(r1+3)];
+ heap32[(r6+4)] = heap32[(r1+4)];
+ heap32[(r6+5)] = heap32[(r1+5)];
+ heap32[(r6+6)] = heap32[(r1+6)];
+ heap32[(r6+7)] = heap32[(r1+7)];
+ heap32[(r6+8)] = heap32[(r1+8)];
+ heap32[(r6+9)] = heap32[(r1+9)];
+ heap32[(r6+10)] = heap32[(r1+10)];
+ heap32[(r6+11)] = heap32[(r1+11)];
+ heap32[(r6+12)] = heap32[(r1+12)];
+ heap32[(r6+13)] = heap32[(r1+13)];
+ heap32[(r6+14)] = heap32[(r1+14)];
+ heap32[(r6+15)] = heap32[(r1+15)];
+ heap32[(r6+16)] = heap32[(r5)];
+ heap32[(r6+17)] = heap32[(r5+1)];
+ heap32[(r6+18)] = heap32[(r5+2)];
+ heap32[(r6+19)] = heap32[(r5+3)];
+ heap32[(r6+20)] = heap32[(r5+4)];
+ heap32[(r6+21)] = heap32[(r5+5)];
+ heap32[(r6+22)] = heap32[(r5+6)];
+ heap32[(r6+23)] = heap32[(r5+7)];
+ heap32[(r6+24)] = heap32[(r5+8)];
+ heap32[(r6+25)] = heap32[(r5+9)];
+ heap32[(r6+26)] = heap32[(r5+10)];
+ heap32[(r6+27)] = heap32[(r5+11)];
+ heap32[(r6+28)] = heap32[(r5+12)];
+ heap32[(r6+29)] = heap32[(r5+13)];
+ heap32[(r6+30)] = heap32[(r5+14)];
+ heap32[(r6+31)] = heap32[(r5+15)];
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = 0;
+ heap32[(g0+4)] = 0;
+ _ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(i7);
+ r9 = heapU8[sp+-8];
+_1: do {
+if(!(r9 ==0)) //_LBB540_14
+{
+ f0 = f0-f1;
+ f1 = f2-f3;
+ f2 = f4-f5;
+ f3 = f6-f7;
+ f4 = f8-f9;
+ f5 = f10-f11;
+ r9 = heap32[(fp+5)];
+ f0 = f0-f1;
+ f1 = f2-f3;
+ f2 = f4-f5;
+ f3 = heapFloat[(r8+8)];
+ f4 = heapFloat[(r8+7)];
+ f5 = heapFloat[(r8+6)];
+ f6 = heapFloat[(r8+5)];
+ f7 = heapFloat[(r8+9)];
+ f8 = heapFloat[(r8+1)];
+ f9 = heapFloat[(r8+2)];
+ f10 = heapFloat[(r8+3)];
+ f11 = heapFloat[(r8+4)];
+ f12 = 0;
+_3: while(true){
+ f13 = 0.0010000000474974513;
+ if(f7 >f13) //_LBB540_2
+{
+ r2 = (r2 + 1)|0;
+ if(r2 >32) //_LBB540_14
+{
+break _1;
+}
+else{
+ f3 = f2*f8;
+ f4 = f1*f9;
+ f3 = f3+f4;
+ f4 = f0*f10;
+ f3 = f3+f4;
+ f3 = f7/f3;
+ f13 = f12-f3;
+ f3 = 0;
+ if(f13 <f3) //_LBB540_14
+{
+break _1;
+}
+else{
+ f4 = 1;
+ if(f13 >f4) //_LBB540_14
+{
+break _1;
+}
+else{
+ if(f13 <=f12) //_LBB540_14
+{
+break _1;
+}
+else{
+ r10 = r9 >> 2;
+ r12 = heap32[(r10)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12)];
+ heap32[(g0)] = r9;
+ heapFloat[(g0+1)] = f13;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+ f5 = heapFloat[(r4+12)];
+ f6 = heapFloat[(r1+12)];
+ f4 = f4-f13;
+ f6 = f6*f4;
+ f5 = f5*f13;
+ f5 = f6+f5;
+ heapFloat[(r6+12)] = f5;
+ f5 = heapFloat[(r1+13)];
+ f6 = heapFloat[(r4+13)];
+ f5 = f5*f4;
+ f6 = f6*f13;
+ f5 = f5+f6;
+ heapFloat[(r6+13)] = f5;
+ f5 = heapFloat[(r1+14)];
+ f6 = heapFloat[(r4+14)];
+ f5 = f5*f4;
+ f6 = f6*f13;
+ f5 = f5+f6;
+ heapFloat[(r6+14)] = f5;
+ f5 = heapFloat[(r5+12)];
+ f6 = heapFloat[(r3+12)];
+ f5 = f5*f4;
+ f6 = f6*f13;
+ f5 = f5+f6;
+ heapFloat[(r6+28)] = f5;
+ f5 = heapFloat[(r5+13)];
+ f6 = heapFloat[(r3+13)];
+ f5 = f5*f4;
+ f6 = f6*f13;
+ f5 = f5+f6;
+ heapFloat[(r6+29)] = f5;
+ f5 = heapFloat[(r5+14)];
+ f6 = heapFloat[(r3+14)];
+ f4 = f5*f4;
+ f5 = f6*f13;
+ f4 = f4+f5;
+ heapFloat[(r6+30)] = f4;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = 0;
+ heap32[(g0+4)] = 0;
+ _ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(i7);
+ r12 = heapU8[sp+-8];
+ if(r12 ==0) //_LBB540_14
+{
+break _1;
+}
+else{
+ f7 = heapFloat[(r8+9)];
+ if(f7 >=f3) //_LBB540_9
+{
+ f6 = heapFloat[(r8+5)];
+ f5 = heapFloat[(r8+6)];
+ f4 = heapFloat[(r8+7)];
+ f3 = heapFloat[(r8+8)];
+ f8 = heapFloat[(r8+1)];
+ f9 = heapFloat[(r8+2)];
+ f10 = heapFloat[(r8+3)];
+ f11 = heapFloat[(r8+4)];
+ f12 = f13;
+}
+else{
+__label__ = 8;
+break _3;
+}
+}
+}
+}
+}
+}
+}
+else{
+__label__ = 11;
+break _3;
+}
+}
+switch(__label__ ){//multiple entries
+case 11:
+ r0 = r9 >> 2;
+ f2 = f8*f2;
+ f1 = f9*f1;
+ f7 = heapFloat[(r0+43)];
+ f1 = f2+f1;
+ f0 = f10*f0;
+ f0 = f1+f0;
+ f1 = -f7;
+ if(f0 >=f1) //_LBB540_14
+{
+break _1;
+}
+else{
+ heapFloat[(r0+41)] = f12;
+ heapFloat[(r0+33)] = f8;
+ heapFloat[(r0+34)] = f9;
+ heapFloat[(r0+35)] = f10;
+ heapFloat[(r0+36)] = f11;
+ heapFloat[(r0+37)] = f6;
+ heapFloat[(r0+38)] = f5;
+ heapFloat[(r0+39)] = f4;
+ heapFloat[(r0+40)] = f3;
+}
+break;
+case 8:
+ heapFloat[(r10+41)] = f13;
+ f0 = heapFloat[(r8+4)];
+ f1 = heapFloat[(r8+3)];
+ f2 = heapFloat[(r8+2)];
+ heap32[(r10+33)] = heap32[(r8+1)];
+ heapFloat[(r10+34)] = f2;
+ heapFloat[(r10+35)] = f1;
+ heapFloat[(r10+36)] = f0;
+ heap32[(r10+37)] = heap32[(r8+5)];
+ heap32[(r10+38)] = heap32[(r8+6)];
+ heap32[(r10+39)] = heap32[(r8+7)];
+ heap32[(r10+40)] = heap32[(r8+8)];
+break;
+}
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+} while(0);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_PfRj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r1+1)];
+ f1 = heapFloat[(r0+1)];
+ f2 = heapFloat[(r1)];
+ f3 = heapFloat[(r0)];
+ f1 = f1-f0;
+ f3 = f3-f2;
+ f4 = heapFloat[(r1+2)];
+ f5 = heapFloat[(r0+2)];
+ f5 = f5-f4;
+ f6 = f3*f3;
+ f7 = f1*f1;
+ f6 = f6+f7;
+ f7 = f5*f5;
+ f6 = f6+f7;
+ f7 = 0;
+ if(f6 <=f7) //_LBB541_7
+{
+ f0 = -1;
+ f_g0 = f0;
+ return;
+}
+else{
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ f2 = f2*f3;
+ f0 = f0*f1;
+ f0 = f2+f0;
+ f2 = f4*f5;
+ f0 = f0+f2;
+ f0 = -f0;
+ f0 = f0/f6;
+ f2 = 1;
+ if(f0 <f2) //_LBB541_4
+{
+ if(f0 >f7) //_LBB541_6
+{
+ r0 = r2 >> 2;
+ f2 = f2-f0;
+ heapFloat[(r0+1)] = f0;
+ r2 = r3 >> 2;
+ heapFloat[(r0)] = f2;
+ heap32[(r2)] = 3;
+ f2 = heapFloat[(r1)];
+ f3 = f3*f0;
+ f4 = heapFloat[(r1+1)];
+ f1 = f1*f0;
+ f2 = f2+f3;
+ f1 = f4+f1;
+ f3 = heapFloat[(r1+2)];
+ f0 = f5*f0;
+ f0 = f3+f0;
+ f2 = f2*f2;
+ f1 = f1*f1;
+ f1 = f2+f1;
+ f0 = f0*f0;
+ f0 = f1+f0;
+ f_g0 = f0;
+ return;
+}
+else{
+ r2 = r2 >> 2;
+ heap32[(r2)] = 1065353216;
+ r3 = r3 >> 2;
+ heap32[(r2+1)] = 0;
+ heap32[(r3)] = 1;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r1+1)];
+ f2 = heapFloat[(r1+2)];
+}
+}
+else{
+ r1 = r2 >> 2;
+ heap32[(r1)] = 0;
+ r2 = r3 >> 2;
+ heap32[(r1+1)] = 1065353216;
+ heap32[(r2)] = 2;
+ f0 = heapFloat[(r0)];
+ f1 = heapFloat[(r0+1)];
+ f2 = heapFloat[(r0+2)];
+}
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ f_g0 = f0;
+ return;
+}
+}
+
+function _ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+4)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+5)];
+ heap32[(r0)] = 0;
+ heap32[(r0+1)] = 0;
+ heap32[(r0+2)] = 0;
+ heap32[(r0+3)] = 0;
+ heap32[(r0+4)] = 0;
+ heap32[(r0+5)] = 0;
+ heap32[(r0+6)] = 0;
+ heap32[(r0+7)] = 0;
+ heap32[(r0+8)] = 0;
+ r0 = r1 >> 2;
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+3)];
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ heap32[(r0)] = r1;
+ r1 = r2 >> 2;
+ heap32[(r0+1)] = r4;
+ r2 = r3 >> 2;
+ f0 = heapFloat[(r2)];
+ f1 = heapFloat[(r1)];
+ f2 = heapFloat[(r2+4)];
+ f3 = heapFloat[(r1+4)];
+ f4 = heapFloat[(r2+1)];
+ f5 = heapFloat[(r2+5)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r2+8)];
+ f9 = heapFloat[(r1+8)];
+ f10 = heapFloat[(r1+2)];
+ f11 = heapFloat[(r2+2)];
+ f12 = heapFloat[(r1+1)];
+ f13 = heapFloat[(r1+6)];
+ f14 = heapFloat[(r2+6)];
+ f15 = heapFloat[(r1+5)];
+ f16 = heapFloat[(r1+10)];
+ f17 = heapFloat[(r2+10)];
+ f18 = heapFloat[(r2+9)];
+ f19 = heapFloat[(r1+9)];
+ f20 = f1*f4;
+ f21 = f3*f5;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ f1 = f1*f11;
+ f3 = f3*f14;
+ f20 = f20+f21;
+ f21 = f9*f18;
+ f6 = f6+f7;
+ f1 = f1+f3;
+ f3 = f9*f17;
+ f7 = f20+f21;
+ heapFloat[(r0+2)] = f6;
+ f6 = f12*f0;
+ f9 = f15*f2;
+ f1 = f1+f3;
+ heapFloat[(r0+3)] = f7;
+ heapFloat[(r0+4)] = f1;
+ f1 = f12*f4;
+ f3 = f15*f5;
+ f6 = f6+f9;
+ f7 = f19*f8;
+ f9 = f12*f11;
+ f12 = f15*f14;
+ f1 = f1+f3;
+ f3 = f19*f18;
+ f6 = f6+f7;
+ heap32[(r0+5)] = 0;
+ f7 = f9+f12;
+ f9 = f19*f17;
+ f1 = f1+f3;
+ heapFloat[(r0+6)] = f6;
+ f0 = f10*f0;
+ f2 = f13*f2;
+ f3 = f7+f9;
+ heapFloat[(r0+7)] = f1;
+ heapFloat[(r0+8)] = f3;
+ f1 = f10*f4;
+ f3 = f13*f5;
+ f0 = f0+f2;
+ f2 = f16*f8;
+ f4 = f10*f11;
+ f5 = f13*f14;
+ f1 = f1+f3;
+ f3 = f16*f18;
+ f0 = f0+f2;
+ heap32[(r0+9)] = 0;
+ f2 = f4+f5;
+ f4 = f16*f17;
+ f1 = f1+f3;
+ heapFloat[(r0+10)] = f0;
+ f0 = f2+f4;
+ heapFloat[(r0+11)] = f1;
+ heapFloat[(r0+12)] = f0;
+ heap32[(r0+13)] = 0;
+ f0 = heapFloat[(r2)];
+ f1 = heapFloat[(r1)];
+ f2 = heapFloat[(r2+4)];
+ f3 = heapFloat[(r1+4)];
+ f4 = heapFloat[(r1+1)];
+ f5 = heapFloat[(r1+5)];
+ f6 = f0*f1;
+ f7 = f2*f3;
+ f8 = heapFloat[(r2+8)];
+ f9 = heapFloat[(r1+8)];
+ f10 = heapFloat[(r2+2)];
+ f11 = heapFloat[(r2+6)];
+ f12 = heapFloat[(r2+1)];
+ f13 = heapFloat[(r1+2)];
+ f14 = heapFloat[(r2+5)];
+ f15 = heapFloat[(r1+6)];
+ f16 = heapFloat[(r2+10)];
+ f17 = heapFloat[(r1+10)];
+ f18 = heapFloat[(r2+9)];
+ f19 = heapFloat[(r1+9)];
+ f20 = f0*f4;
+ f21 = f2*f5;
+ f6 = f6+f7;
+ f7 = f8*f9;
+ f22 = heapFloat[(r1+14)];
+ f23 = heapFloat[(r2+14)];
+ f24 = heapFloat[(r1+13)];
+ f25 = heapFloat[(r2+13)];
+ f26 = heapFloat[(r1+12)];
+ f27 = heapFloat[(r2+12)];
+ f28 = f0*f13;
+ f29 = f2*f15;
+ f20 = f20+f21;
+ f21 = f8*f19;
+ f6 = f6+f7;
+ f7 = f28+f29;
+ f28 = f8*f17;
+ f20 = f20+f21;
+ heapFloat[(r0+14)] = f6;
+ f6 = f12*f1;
+ f21 = f14*f3;
+ f7 = f7+f28;
+ heapFloat[(r0+15)] = f20;
+ heapFloat[(r0+16)] = f7;
+ f7 = f12*f4;
+ f20 = f14*f5;
+ f6 = f6+f21;
+ f21 = f18*f9;
+ f28 = f12*f13;
+ f29 = f14*f15;
+ f7 = f7+f20;
+ f20 = f18*f19;
+ f6 = f6+f21;
+ heap32[(r0+17)] = 0;
+ f21 = f28+f29;
+ f28 = f18*f17;
+ f7 = f7+f20;
+ heapFloat[(r0+18)] = f6;
+ f1 = f10*f1;
+ f3 = f11*f3;
+ f6 = f21+f28;
+ heapFloat[(r0+19)] = f7;
+ heapFloat[(r0+20)] = f6;
+ f4 = f10*f4;
+ f5 = f11*f5;
+ f1 = f1+f3;
+ f3 = f16*f9;
+ f6 = f10*f13;
+ f7 = f11*f15;
+ f4 = f4+f5;
+ f5 = f16*f19;
+ f1 = f1+f3;
+ heap32[(r0+21)] = 0;
+ f3 = f26-f27;
+ f9 = f24-f25;
+ f6 = f6+f7;
+ f7 = f16*f17;
+ f4 = f4+f5;
+ heapFloat[(r0+22)] = f1;
+ f1 = f22-f23;
+ f0 = f0*f3;
+ f2 = f2*f9;
+ f5 = f6+f7;
+ heapFloat[(r0+23)] = f4;
+ heapFloat[(r0+24)] = f5;
+ f4 = f12*f3;
+ f5 = f14*f9;
+ f0 = f0+f2;
+ f2 = f8*f1;
+ f3 = f10*f3;
+ f6 = f11*f9;
+ f4 = f4+f5;
+ f5 = f18*f1;
+ f0 = f0+f2;
+ heap32[(r0+25)] = 0;
+ f2 = f3+f6;
+ f1 = f16*f1;
+ f3 = f4+f5;
+ heapFloat[(r0+26)] = f0;
+ f0 = f2+f1;
+ heapFloat[(r0+27)] = f3;
+ heapFloat[(r0+28)] = f0;
+ heap32[(r0+29)] = 0;
+ r1 = heap32[(fp+6)];
+ if(r1 ==0) //_LBB542_3
+{
+ r1 = _ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3__index__;
+}
+else{
+ r1 = _ZNK13btConvexShape31localGetSupportVertexNonVirtualERK9btVector3__index__;
+}
+ heap32[(r0+30)] = r1;
+ heap32[(r0+31)] = 0;
+ return;
+}
+
+function _ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -64;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0)];
+ f1 = heapFloat[(r0+1)];
+ f2 = heapFloat[(r0+2)];
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = 1;
+ r1 = heap32[(fp+2)];
+ f0 = f1/f_g0;
+ f1 = heapFloat[(r0+2)];
+ f2 = heapFloat[(r0+1)];
+ f3 = heapFloat[(r0)];
+ f3 = f3*f0;
+ r0 = r1 >> 2;
+ f2 = f2*f0;
+ heapFloat[(r0)] = f3;
+ f0 = f1*f0;
+ heapFloat[(r0+1)] = f2;
+ r2 = heap32[(fp)];
+ heapFloat[(r0+2)] = f0;
+ r2 = r2 >> 2;
+ heap32[(r0+3)] = 0;
+ r3 = heap32[(r2+30)];
+ f0 = -f0;
+ f1 = -f2;
+ f2 = -f3;
+ r4 = heap32[(r2+1)];
+ r5 = heap32[(r2+31)];
+ r6 = r3 & 1;
+ if(r6 != 0) //_LBB543_2
+{
+ r6 = (r4 + r5)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ r3 = (r6 + r3)|0;
+ r3 = (r3 + -1)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+}
+ f3 = heapFloat[(r2+2)];
+ f4 = heapFloat[(r2+3)];
+ f5 = heapFloat[(r2+6)];
+ f6 = heapFloat[(r2+7)];
+ f3 = f3*f2;
+ f4 = f4*f1;
+ f7 = heapFloat[(r2+4)];
+ f8 = heapFloat[(r2+10)];
+ f9 = heapFloat[(r2+11)];
+ f10 = heapFloat[(r2+12)];
+ f11 = heapFloat[(r2+8)];
+ f5 = f5*f2;
+ f6 = f6*f1;
+ f3 = f3+f4;
+ f4 = f7*f0;
+ r6 = sp + -16;
+ f2 = f8*f2;
+ f1 = f9*f1;
+ f5 = f5+f6;
+ f6 = f11*f0;
+ f3 = f3+f4;
+ r7 = r6 >> 2;
+ f1 = f2+f1;
+ f0 = f10*f0;
+ f2 = f5+f6;
+ heapFloat[(fp+-4)] = f3;
+ f0 = f1+f0;
+ heapFloat[(r7+1)] = f2;
+ heapFloat[(r7+2)] = f0;
+ heap32[(r7+3)] = 0;
+ r7 = sp + -32;
+ r4 = (r4 + r5)|0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r6;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r7 >> 2;
+ f0 = heapFloat[(r2+22)];
+ f1 = heapFloat[(fp+-8)];
+ f2 = heapFloat[(r2+18)];
+ f3 = heapFloat[(r2+14)];
+ f4 = heapFloat[(r2+23)];
+ f5 = heapFloat[(r3+1)];
+ f6 = heapFloat[(r2+19)];
+ f7 = heapFloat[(r2+15)];
+ f0 = f0*f1;
+ f4 = f4*f5;
+ f8 = heapFloat[(r2+24)];
+ f9 = heapFloat[(r3+2)];
+ f10 = heapFloat[(r2+20)];
+ f11 = heapFloat[(r2+16)];
+ f2 = f2*f1;
+ f6 = f6*f5;
+ f1 = f3*f1;
+ f3 = f7*f5;
+ f0 = f0+f4;
+ f4 = f8*f9;
+ f2 = f2+f6;
+ f5 = f10*f9;
+ f1 = f1+f3;
+ f3 = f11*f9;
+ f0 = f0+f4;
+ f4 = heapFloat[(r2+28)];
+ f2 = f2+f5;
+ f5 = heapFloat[(r2+27)];
+ f1 = f1+f3;
+ f3 = heapFloat[(r2+26)];
+ r3 = heap32[(r2+30)];
+ f0 = f0+f4;
+ f2 = f2+f5;
+ f1 = f1+f3;
+ r4 = heap32[(r2)];
+ r2 = heap32[(r2+31)];
+ r5 = r3 & 1;
+ if(r5 != 0) //_LBB543_5
+{
+ r5 = (r4 + r2)|0;
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ r3 = (r3 + r5)|0;
+ r3 = (r3 + -1)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+}
+ r5 = sp + -48;
+ r2 = (r4 + r2)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = r5 >> 2;
+ f3 = heapFloat[(fp+-12)];
+ f4 = heapFloat[(r1+2)];
+ f5 = heapFloat[(r1+1)];
+ f1 = f3-f1;
+ f2 = f5-f2;
+ heapFloat[(r0+4)] = f1;
+ f0 = f4-f0;
+ heapFloat[(r0+5)] = f2;
+ heapFloat[(r0+6)] = f0;
+ heap32[(r0+7)] = 0;
+ return;
+}
+
+function _ZN12gjkepa2_impl3GJK13EncloseOriginEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+var __label__ = 0;
+ i7 = sp + -128;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+93)];
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+8)];
+_1: do {
+ if(r4 >2) //_LBB544_3
+{
+ if(r4 ==3) //_LBB544_17
+{
+ r5 = heap32[(r3)];
+ r6 = heap32[(r3+2)];
+ r7 = heap32[(r3+1)];
+ r6 = r6 >> 2;
+ r5 = r5 >> 2;
+ r7 = r7 >> 2;
+ f0 = heapFloat[(r6+6)];
+ f1 = heapFloat[(r5+6)];
+ f2 = heapFloat[(r7+6)];
+ f3 = heapFloat[(r6+5)];
+ f4 = heapFloat[(r5+5)];
+ f5 = heapFloat[(r7+5)];
+ f5 = f5-f4;
+ f0 = f0-f1;
+ f1 = f2-f1;
+ f2 = f3-f4;
+ f3 = heapFloat[(r6+4)];
+ f4 = heapFloat[(r5+4)];
+ f6 = heapFloat[(r7+4)];
+ f3 = f3-f4;
+ f4 = f6-f4;
+ f6 = f5*f0;
+ f7 = f1*f2;
+ r5 = sp + -112;
+ f6 = f6-f7;
+ f1 = f1*f3;
+ f0 = f4*f0;
+ f0 = f1-f0;
+ r6 = r5 >> 2;
+ heapFloat[(fp+-28)] = f6;
+ f1 = f4*f2;
+ f2 = f5*f3;
+ f1 = f1-f2;
+ heapFloat[(r6+1)] = f0;
+ f2 = f6*f6;
+ f0 = f0*f0;
+ heapFloat[(r6+2)] = f1;
+ f0 = f2+f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = 0;
+ heap32[(r6+3)] = 0;
+ if(f0 <=f1) //_LBB544_25
+{
+__label__ = 24;
+break _1;
+}
+else{
+ r4 = r4 << 2;
+ r4 = (r2 + r4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4+4)] = 0;
+ r4 = heap32[(r1+91)];
+ r4 = (r4 + -1)|0;
+ r7 = heap32[(r3+8)];
+ r8 = r4 << 2;
+ r7 = r7 << 2;
+ r8 = (r0 + r8)|0;
+ r7 = (r2 + r7)|0;
+ r8 = r8 >> 2;
+ heap32[(r1+91)] = r4;
+ r4 = r7 >> 2;
+ r7 = heap32[(r8+87)];
+ heap32[(r4)] = r7;
+ r4 = heap32[(r3+8)];
+ r7 = r4 << 2;
+ r2 = (r2 + r7)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r4 = (r4 + 1)|0;
+ heap32[(r3+8)] = r4;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r2;
+ _ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(i7);
+ heap32[(g0)] = r0;
+ _ZN12gjkepa2_impl3GJK13EncloseOriginEv(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB544_26
+{
+__label__ = 25;
+break _1;
+}
+else{
+ r3 = heap32[(r1+93)];
+ r2 = r3 >> 2;
+ r4 = heap32[(r2+8)];
+ r4 = (r4 + -1)|0;
+ r5 = heap32[(r1+91)];
+ r7 = r4 << 2;
+ r3 = (r3 + r7)|0;
+ r7 = (r0 + 348)|0;
+ r8 = r5 << 2;
+ r8 = (r7 + r8)|0;
+ r3 = r3 >> 2;
+ heap32[(r2+8)] = r4;
+ r2 = r8 >> 2;
+ r3 = heap32[(r3)];
+ r4 = (r5 + 1)|0;
+ heap32[(r2)] = r3;
+ heap32[(r1+91)] = r4;
+ f0 = heapFloat[(r6+2)];
+ f1 = heapFloat[(r6+1)];
+ f2 = heapFloat[(fp+-28)];
+ r3 = sp + -16;
+ f2 = -f2;
+ r2 = r3 >> 2;
+ f1 = -f1;
+ heapFloat[(fp+-4)] = f2;
+ f0 = -f0;
+ heapFloat[(r2+1)] = f1;
+ heapFloat[(r2+2)] = f0;
+ heap32[(r2+3)] = 0;
+ r2 = heap32[(r1+93)];
+ r4 = r2 >> 2;
+ r5 = heap32[(r4+8)];
+ r5 = r5 << 2;
+ r5 = (r2 + r5)|0;
+ r5 = r5 >> 2;
+ heap32[(r5+4)] = 0;
+ r5 = heap32[(r1+91)];
+ r5 = (r5 + -1)|0;
+ r6 = heap32[(r4+8)];
+ r8 = r5 << 2;
+ r6 = r6 << 2;
+ r7 = (r7 + r8)|0;
+ r6 = (r2 + r6)|0;
+ r7 = r7 >> 2;
+ heap32[(r1+91)] = r5;
+ r5 = r6 >> 2;
+ r6 = heap32[(r7)];
+ heap32[(r5)] = r6;
+ r5 = heap32[(r4+8)];
+ r6 = r5 << 2;
+ r2 = (r2 + r6)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r5 = (r5 + 1)|0;
+ heap32[(r4+8)] = r5;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r2;
+ _ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(i7);
+ heap32[(g0)] = r0;
+ _ZN12gjkepa2_impl3GJK13EncloseOriginEv(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB544_26
+{
+__label__ = 25;
+break _1;
+}
+else{
+ r3 = heap32[(r1+93)];
+ r2 = r3 >> 2;
+ r4 = heap32[(r2+8)];
+ r4 = (r4 + -1)|0;
+ r5 = heap32[(r1+91)];
+ r6 = r4 << 2;
+ r7 = r5 << 2;
+ r3 = (r3 + r6)|0;
+ r0 = (r0 + r7)|0;
+ r3 = r3 >> 2;
+ heap32[(r2+8)] = r4;
+ r0 = r0 >> 2;
+ r3 = heap32[(r3)];
+ r2 = (r5 + 1)|0;
+ heap32[(r0+87)] = r3;
+ heap32[(r1+91)] = r2;
+ r3 = 0;
+ r_g0 = r3;
+ return;
+}
+}
+}
+}
+else{
+ if(r4 ==4) //_LBB544_21
+{
+ r0 = heap32[(r3)];
+ r1 = heap32[(r3+1)];
+ r2 = heap32[(r3+3)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r2 = r2 >> 2;
+ r3 = heap32[(r3+2)];
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r1+6)];
+ f1 = heapFloat[(r2+6)];
+ f2 = heapFloat[(r0+6)];
+ f3 = heapFloat[(r0+5)];
+ f4 = heapFloat[(r2+5)];
+ f5 = heapFloat[(r1+4)];
+ f6 = heapFloat[(r2+4)];
+ f7 = heapFloat[(r3+5)];
+ f8 = heapFloat[(r0+4)];
+ f9 = heapFloat[(r3+4)];
+ f0 = f0-f1;
+ f3 = f3-f4;
+ f5 = f5-f6;
+ f2 = f2-f1;
+ f8 = f8-f6;
+ f10 = f3*f0;
+ f6 = f9-f6;
+ f9 = f2*f5;
+ f7 = f7-f4;
+ f0 = f8*f0;
+ f11 = heapFloat[(r3+6)];
+ f12 = heapFloat[(r1+5)];
+ f10 = f10*f6;
+ f9 = f9*f7;
+ f4 = f12-f4;
+ f9 = f10+f9;
+ f0 = f0*f7;
+ f3 = f3*f5;
+ f1 = f11-f1;
+ f5 = f8*f4;
+ f0 = f9-f0;
+ f3 = f3*f1;
+ f2 = f2*f4;
+ f0 = f0-f3;
+ f1 = f5*f1;
+ f0 = f0+f1;
+ f1 = f2*f6;
+ f0 = f0-f1;
+ f1 = 0;
+ if(f0 <f1) //_LBB544_23
+{
+ f0 = -f0;
+}
+ r0 = f0 > f1;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+else{
+__label__ = 24;
+break _1;
+}
+}
+}
+else{
+ if(r4 ==1) //_LBB544_5
+{
+ r2 = 0;
+_16: while(true){
+ if(uint(r2) <uint(3)) //_LBB544_6
+{
+ r3 = sp + -64;
+ r4 = r3 >> 2;
+ heap32[(fp+-16)] = 0;
+ r5 = r2 << 2;
+ heap32[(r4+1)] = 0;
+ r5 = (r3 + r5)|0;
+ heap32[(r4+2)] = 0;
+ r5 = r5 >> 2;
+ heap32[(r4+3)] = 0;
+ heap32[(r5)] = 1065353216;
+ r5 = heap32[(r1+93)];
+ r6 = r5 >> 2;
+ r7 = heap32[(r6+8)];
+ r7 = r7 << 2;
+ r7 = (r5 + r7)|0;
+ r7 = r7 >> 2;
+ heap32[(r7+4)] = 0;
+ r7 = heap32[(r1+91)];
+ r7 = (r7 + -1)|0;
+ r8 = heap32[(r6+8)];
+ r9 = r7 << 2;
+ r8 = r8 << 2;
+ r9 = (r0 + r9)|0;
+ r8 = (r5 + r8)|0;
+ r9 = r9 >> 2;
+ heap32[(r1+91)] = r7;
+ r7 = r8 >> 2;
+ r8 = heap32[(r9+87)];
+ heap32[(r7)] = r8;
+ r7 = heap32[(r6+8)];
+ r8 = r7 << 2;
+ r5 = (r5 + r8)|0;
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ r7 = (r7 + 1)|0;
+ heap32[(r6+8)] = r7;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r5;
+ _ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(i7);
+ heap32[(g0)] = r0;
+ _ZN12gjkepa2_impl3GJK13EncloseOriginEv(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB544_26
+{
+__label__ = 25;
+break _1;
+}
+else{
+ r3 = heap32[(r1+93)];
+ r5 = r3 >> 2;
+ r6 = heap32[(r5+8)];
+ r6 = (r6 + -1)|0;
+ r7 = heap32[(r1+91)];
+ r8 = r6 << 2;
+ r3 = (r3 + r8)|0;
+ r8 = (r0 + 348)|0;
+ r9 = r7 << 2;
+ r9 = (r8 + r9)|0;
+ r3 = r3 >> 2;
+ heap32[(r5+8)] = r6;
+ r5 = r9 >> 2;
+ r3 = heap32[(r3)];
+ r6 = (r7 + 1)|0;
+ heap32[(r5)] = r3;
+ heap32[(r1+91)] = r6;
+ f0 = heapFloat[(r4+2)];
+ f1 = heapFloat[(r4+1)];
+ f2 = heapFloat[(fp+-16)];
+ r3 = sp + -48;
+ f2 = -f2;
+ r4 = r3 >> 2;
+ f1 = -f1;
+ heapFloat[(fp+-12)] = f2;
+ f0 = -f0;
+ heapFloat[(r4+1)] = f1;
+ heapFloat[(r4+2)] = f0;
+ heap32[(r4+3)] = 0;
+ r4 = heap32[(r1+93)];
+ r5 = r4 >> 2;
+ r6 = heap32[(r5+8)];
+ r6 = r6 << 2;
+ r6 = (r4 + r6)|0;
+ r6 = r6 >> 2;
+ heap32[(r6+4)] = 0;
+ r6 = heap32[(r1+91)];
+ r6 = (r6 + -1)|0;
+ r7 = heap32[(r5+8)];
+ r9 = r6 << 2;
+ r7 = r7 << 2;
+ r8 = (r8 + r9)|0;
+ r7 = (r4 + r7)|0;
+ r8 = r8 >> 2;
+ heap32[(r1+91)] = r6;
+ r6 = r7 >> 2;
+ r7 = heap32[(r8)];
+ heap32[(r6)] = r7;
+ r6 = heap32[(r5+8)];
+ r7 = r6 << 2;
+ r4 = (r4 + r7)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r6 = (r6 + 1)|0;
+ heap32[(r5+8)] = r6;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ _ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(i7);
+ heap32[(g0)] = r0;
+ _ZN12gjkepa2_impl3GJK13EncloseOriginEv(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB544_26
+{
+__label__ = 25;
+break _1;
+}
+else{
+ r3 = heap32[(r1+93)];
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+8)];
+ r5 = (r5 + -1)|0;
+ r6 = heap32[(r1+91)];
+ r7 = r5 << 2;
+ r8 = r6 << 2;
+ r3 = (r3 + r7)|0;
+ r7 = (r0 + r8)|0;
+ r3 = r3 >> 2;
+ heap32[(r4+8)] = r5;
+ r4 = r7 >> 2;
+ r3 = heap32[(r3)];
+ r2 = (r2 + 1)|0;
+ r5 = (r6 + 1)|0;
+ heap32[(r4+87)] = r3;
+ heap32[(r1+91)] = r5;
+continue _16;
+}
+}
+}
+else{
+__label__ = 24;
+break _1;
+}
+}
+}
+else{
+ if(r4 ==2) //_LBB544_10
+{
+ r2 = heap32[(r3+1)];
+ r3 = heap32[(r3)];
+ r2 = r2 >> 2;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r2+6)];
+ f1 = heapFloat[(r3+6)];
+ f2 = heapFloat[(r2+5)];
+ f3 = heapFloat[(r3+5)];
+ f4 = heapFloat[(r2+4)];
+ f5 = heapFloat[(r3+4)];
+ f0 = f0-f1;
+ f1 = f2-f3;
+ f2 = f4-f5;
+ r2 = 0;
+_23: while(true){
+ if(uint(r2) <uint(3)) //_LBB544_11
+{
+ r3 = sp + -80;
+ r4 = r3 >> 2;
+ heap32[(fp+-20)] = 0;
+ r5 = r2 << 2;
+ heap32[(r4+1)] = 0;
+ r3 = (r3 + r5)|0;
+ heap32[(r4+2)] = 0;
+ r3 = r3 >> 2;
+ heap32[(r4+3)] = 0;
+ heap32[(r3)] = 1065353216;
+ f3 = heapFloat[(r4+2)];
+ f4 = heapFloat[(r4+1)];
+ f5 = heapFloat[(fp+-20)];
+ f6 = f1*f3;
+ f7 = f0*f4;
+ r3 = sp + -96;
+ f6 = f6-f7;
+ f7 = f0*f5;
+ f3 = f2*f3;
+ f3 = f7-f3;
+ r4 = r3 >> 2;
+ heapFloat[(fp+-24)] = f6;
+ f4 = f2*f4;
+ f5 = f1*f5;
+ f4 = f4-f5;
+ heapFloat[(r4+1)] = f3;
+ f5 = f6*f6;
+ f3 = f3*f3;
+ heapFloat[(r4+2)] = f4;
+ f3 = f5+f3;
+ f4 = f4*f4;
+ f3 = f3+f4;
+ f4 = 0;
+ heap32[(r4+3)] = 0;
+if(!(f3 <=f4)) //_LBB544_15
+{
+ r5 = heap32[(r1+93)];
+ r6 = r5 >> 2;
+ r7 = heap32[(r6+8)];
+ r7 = r7 << 2;
+ r7 = (r5 + r7)|0;
+ r7 = r7 >> 2;
+ heap32[(r7+4)] = 0;
+ r7 = heap32[(r1+91)];
+ r7 = (r7 + -1)|0;
+ r8 = heap32[(r6+8)];
+ r9 = r7 << 2;
+ r8 = r8 << 2;
+ r9 = (r0 + r9)|0;
+ r8 = (r5 + r8)|0;
+ r9 = r9 >> 2;
+ heap32[(r1+91)] = r7;
+ r7 = r8 >> 2;
+ r8 = heap32[(r9+87)];
+ heap32[(r7)] = r8;
+ r7 = heap32[(r6+8)];
+ r8 = r7 << 2;
+ r5 = (r5 + r8)|0;
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ r7 = (r7 + 1)|0;
+ heap32[(r6+8)] = r7;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r5;
+ _ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(i7);
+ heap32[(g0)] = r0;
+ _ZN12gjkepa2_impl3GJK13EncloseOriginEv(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB544_26
+{
+__label__ = 25;
+break _1;
+}
+else{
+ r3 = heap32[(r1+93)];
+ r5 = r3 >> 2;
+ r6 = heap32[(r5+8)];
+ r6 = (r6 + -1)|0;
+ r7 = heap32[(r1+91)];
+ r8 = r6 << 2;
+ r3 = (r3 + r8)|0;
+ r8 = (r0 + 348)|0;
+ r9 = r7 << 2;
+ r9 = (r8 + r9)|0;
+ r3 = r3 >> 2;
+ heap32[(r5+8)] = r6;
+ r5 = r9 >> 2;
+ r3 = heap32[(r3)];
+ r6 = (r7 + 1)|0;
+ heap32[(r5)] = r3;
+ heap32[(r1+91)] = r6;
+ f3 = heapFloat[(r4+2)];
+ f4 = heapFloat[(r4+1)];
+ f5 = heapFloat[(fp+-24)];
+ r3 = sp + -32;
+ f5 = -f5;
+ r4 = r3 >> 2;
+ f4 = -f4;
+ heapFloat[(fp+-8)] = f5;
+ f3 = -f3;
+ heapFloat[(r4+1)] = f4;
+ heapFloat[(r4+2)] = f3;
+ heap32[(r4+3)] = 0;
+ r4 = heap32[(r1+93)];
+ r5 = r4 >> 2;
+ r6 = heap32[(r5+8)];
+ r6 = r6 << 2;
+ r6 = (r4 + r6)|0;
+ r6 = r6 >> 2;
+ heap32[(r6+4)] = 0;
+ r6 = heap32[(r1+91)];
+ r6 = (r6 + -1)|0;
+ r7 = heap32[(r5+8)];
+ r9 = r6 << 2;
+ r7 = r7 << 2;
+ r8 = (r8 + r9)|0;
+ r7 = (r4 + r7)|0;
+ r8 = r8 >> 2;
+ heap32[(r1+91)] = r6;
+ r6 = r7 >> 2;
+ r7 = heap32[(r8)];
+ heap32[(r6)] = r7;
+ r6 = heap32[(r5+8)];
+ r7 = r6 << 2;
+ r4 = (r4 + r7)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r6 = (r6 + 1)|0;
+ heap32[(r5+8)] = r6;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ _ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(i7);
+ heap32[(g0)] = r0;
+ _ZN12gjkepa2_impl3GJK13EncloseOriginEv(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB544_26
+{
+__label__ = 25;
+break _1;
+}
+else{
+ r3 = heap32[(r1+93)];
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+8)];
+ r5 = (r5 + -1)|0;
+ r6 = heap32[(r1+91)];
+ r7 = r5 << 2;
+ r8 = r6 << 2;
+ r3 = (r3 + r7)|0;
+ r7 = (r0 + r8)|0;
+ r3 = r3 >> 2;
+ heap32[(r4+8)] = r5;
+ r4 = r7 >> 2;
+ r3 = heap32[(r3)];
+ r5 = (r6 + 1)|0;
+ heap32[(r4+87)] = r3;
+ heap32[(r1+91)] = r5;
+}
+}
+}
+ r2 = (r2 + 1)|0;
+continue _23;
+}
+else{
+__label__ = 24;
+break _1;
+}
+}
+}
+else{
+__label__ = 24;
+}
+}
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 24:
+ r0 = 0;
+ r_g0 = r0;
+ return;
+break;
+case 25:
+ r0 = 1;
+ r_g0 = r0;
+ return;
+break;
+}
+}
+
+function _ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+var __label__ = 0;
+ i7 = sp + -96;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = sp + -12;
+ r2 = heap32[(fp+1)];
+ r3 = r1 >> 2;
+ heap32[(fp+-3)] = r0;
+ r4 = heap32[(fp+2)];
+ heap32[(r3+1)] = r2;
+ r5 = r0 >> 2;
+ heap32[(r3+2)] = r4;
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r5+2)];
+ f1 = heapFloat[(r2+2)];
+ f2 = heapFloat[(r5+1)];
+ f3 = heapFloat[(r2+1)];
+ f4 = heapFloat[(r5)];
+ f5 = heapFloat[(r2)];
+ r3 = sp + -64;
+ f6 = f4-f5;
+ f7 = f2-f3;
+ r6 = r3 >> 2;
+ heapFloat[(fp+-16)] = f6;
+ f8 = f0-f1;
+ heapFloat[(r6+1)] = f7;
+ heapFloat[(r6+2)] = f8;
+ r4 = r4 >> 2;
+ heap32[(r6+3)] = 0;
+ f9 = heapFloat[(r4+2)];
+ f10 = heapFloat[(r4+1)];
+ f11 = heapFloat[(r4)];
+ f5 = f5-f11;
+ f3 = f3-f10;
+ heapFloat[(r6+4)] = f5;
+ f1 = f1-f9;
+ heapFloat[(r6+5)] = f3;
+ heapFloat[(r6+6)] = f1;
+ f12 = f8*f5;
+ f13 = f6*f1;
+ f14 = f7*f1;
+ f15 = f8*f3;
+ f12 = f12-f13;
+ f13 = f14-f15;
+ f11 = f11-f4;
+ heap32[(r6+7)] = 0;
+ f14 = f6*f3;
+ f15 = f7*f5;
+ f14 = f14-f15;
+ f10 = f10-f2;
+ heapFloat[(r6+8)] = f11;
+ f15 = f13*f13;
+ f16 = f12*f12;
+ f9 = f9-f0;
+ heapFloat[(r6+9)] = f10;
+ f15 = f15+f16;
+ f16 = f14*f14;
+ f15 = f15+f16;
+ heapFloat[(r6+10)] = f9;
+ heap32[(r6+11)] = 0;
+ f16 = 0;
+ if(f15 >f16) //_LBB545_2
+{
+ r6 = heap32[(fp+3)];
+ r7 = heap32[(fp+4)];
+ r8 = sp + -72;
+ r9 = r8 >> 2;
+ heap32[(fp+-18)] = 0;
+ r10 = 0;
+ f17 = -1;
+ heap32[(r9+1)] = 0;
+ heap32[(fp+-19)] = 0;
+ r18 = 0;
+_3: while(true){
+ f18 = f7*f14;
+ f19 = f8*f12;
+ f8 = f8*f13;
+ f20 = f6*f14;
+ f18 = f18-f19;
+ f8 = f8-f20;
+ f6 = f6*f12;
+ f7 = f7*f13;
+ f4 = f4*f18;
+ f2 = f2*f8;
+ f6 = f6-f7;
+ f2 = f4+f2;
+ f0 = f0*f6;
+ f0 = f2+f0;
+_5: do {
+ if(f0 >f16) //_LBB545_5
+{
+ r11 = _ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRjE4imd3;
+ r12 = r10 << 2;
+ r13 = (r11 + r12)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+ r14 = r13 << 2;
+ r15 = (r1 + r14)|0;
+ r15 = r15 >> 2;
+ r15 = heap32[(r15)];
+ r16 = sp + -76;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r15;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r16;
+ _ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_PfRj(i7);
+ f0 = f_g0;
+if(!(f17 <f16)) //_LBB545_7
+{
+ if(f0 >=f17) //_LBB545_4
+{
+break _5;
+}
+}
+ r0 = heap32[(fp+-19)];
+ r15 = 1;
+ r11 = (r11 + r14)|0;
+ r16 = r0 & 1;
+ r17 = r15 << r10;
+ r0 = r0 & 2;
+ r13 = r15 << r13;
+ r11 = r11 >> 2;
+ r15 = r16 == 0 ? r18 : r17;
+ r0 = r0 == 0 ? r18 : r13;
+ r11 = heap32[(r11)];
+ r12 = (r6 + r12)|0;
+ r13 = r7 >> 2;
+ r0 = (r15 + r0)|0;
+ r11 = r11 << 2;
+ r14 = (r6 + r14)|0;
+ r12 = r12 >> 2;
+ heap32[(r13)] = r0;
+ r0 = (r6 + r11)|0;
+ r11 = r14 >> 2;
+ heap32[(r12)] = heap32[(fp+-18)];
+ r0 = r0 >> 2;
+ heap32[(r11)] = heap32[(r9+1)];
+ heap32[(r0)] = 0;
+ f17 = f0;
+}
+} while(0);
+ if(r10 ==2) //_LBB545_10
+{
+break _3;
+}
+else{
+ r11 = (r10 + 1)|0;
+ r0 = r10 << 2;
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ r10 = r10 << 4;
+ r0 = heap32[(r0+1)];
+ r10 = (r3 + r10)|0;
+ r10 = r10 >> 2;
+ r12 = r0 >> 2;
+ f6 = heapFloat[(r10+4)];
+ f7 = heapFloat[(r10+5)];
+ f8 = heapFloat[(r10+6)];
+ f4 = heapFloat[(r12)];
+ f2 = heapFloat[(r12+1)];
+ f0 = heapFloat[(r12+2)];
+ r10 = r11;
+}
+}
+ if(f17 <f16) //_LBB545_12
+{
+ f17 = heapFloat[(r5)];
+ f0 = heapFloat[(r5+1)];
+ f2 = heapFloat[(r5+2)];
+ f17 = f17*f13;
+ f0 = f0*f12;
+ heapFloat[(g0)] = f15;
+ f17 = f17+f0;
+ f0 = f2*f14;
+ f17 = f17+f0;
+ r0 = r7 >> 2;
+ sqrtf(i7);
+ f0 = f_g0;
+ f17 = f17/f15;
+ heap32[(r0)] = 7;
+ f2 = f13*f17;
+ f4 = heapFloat[(r2)];
+ f6 = f12*f17;
+ f7 = heapFloat[(r2+1)];
+ f8 = heapFloat[(r2+2)];
+ f17 = f14*f17;
+ f7 = f7-f6;
+ f8 = f8-f17;
+ f4 = f4-f2;
+ f12 = f3*f8;
+ f13 = f1*f7;
+ f1 = f1*f4;
+ f8 = f5*f8;
+ f12 = f12-f13;
+ f1 = f1-f8;
+ f5 = f5*f7;
+ f3 = f3*f4;
+ f3 = f5-f3;
+ f4 = f12*f12;
+ f1 = f1*f1;
+ f1 = f4+f1;
+ f3 = f3*f3;
+ f1 = f1+f3;
+ heapFloat[(g0)] = f1;
+ sqrtf(i7);
+ r0 = r6 >> 2;
+ f1 = f_g0/f0;
+ heapFloat[(r0)] = f1;
+ f1 = heapFloat[(r4+2)];
+ f3 = heapFloat[(r4+1)];
+ f4 = heapFloat[(r4)];
+ f3 = f3-f6;
+ f1 = f1-f17;
+ f4 = f4-f2;
+ f5 = f10*f1;
+ f7 = f9*f3;
+ f8 = f9*f4;
+ f1 = f11*f1;
+ f5 = f5-f7;
+ f1 = f8-f1;
+ f3 = f11*f3;
+ f4 = f10*f4;
+ f3 = f3-f4;
+ f4 = f5*f5;
+ f1 = f1*f1;
+ f1 = f4+f1;
+ f3 = f3*f3;
+ f1 = f1+f3;
+ heapFloat[(g0)] = f1;
+ sqrtf(i7);
+ f0 = f_g0/f0;
+ heapFloat[(r0+1)] = f0;
+ f1 = heapFloat[(r0)];
+ f3 = 1;
+ f0 = f1+f0;
+ f1 = f2*f2;
+ f2 = f6*f6;
+ f0 = f3-f0;
+ f1 = f1+f2;
+ f17 = f17*f17;
+ heapFloat[(r0+2)] = f0;
+ f17 = f1+f17;
+}
+}
+else{
+ f17 = -1;
+}
+ f_g0 = f17;
+ return;
+}
+
+function _ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var r25;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+var __label__ = 0;
+ i7 = sp + -240;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = (r0 + 220)|0;
+ r3 = (r0 + 252)|0;
+ heap32[(r1+87)] = r2;
+ r2 = (r0 + 284)|0;
+ heap32[(r1+88)] = r3;
+ r3 = (r0 + 316)|0;
+ heap32[(r1+89)] = r2;
+ heap32[(r1+90)] = r3;
+ heap32[(r1+91)] = 4;
+ r2 = heap32[(fp+1)];
+ heap32[(r1+92)] = 0;
+ r2 = r2 >> 2;
+ heap32[(r1+94)] = 0;
+ r4 = heap32[(r2+1)];
+ r5 = heap32[(r2)];
+ heap32[(r1)] = r5;
+ heap32[(r1+1)] = r4;
+ heap32[(r1+2)] = heap32[(r2+2)];
+ heap32[(r1+3)] = heap32[(r2+3)];
+ heap32[(r1+4)] = heap32[(r2+4)];
+ heap32[(r1+5)] = heap32[(r2+5)];
+ heap32[(r1+6)] = heap32[(r2+6)];
+ heap32[(r1+7)] = heap32[(r2+7)];
+ heap32[(r1+8)] = heap32[(r2+8)];
+ heap32[(r1+9)] = heap32[(r2+9)];
+ heap32[(r1+10)] = heap32[(r2+10)];
+ heap32[(r1+11)] = heap32[(r2+11)];
+ heap32[(r1+12)] = heap32[(r2+12)];
+ heap32[(r1+13)] = heap32[(r2+13)];
+ heap32[(r1+14)] = heap32[(r2+14)];
+ heap32[(r1+15)] = heap32[(r2+15)];
+ heap32[(r1+16)] = heap32[(r2+16)];
+ heap32[(r1+17)] = heap32[(r2+17)];
+ heap32[(r1+18)] = heap32[(r2+18)];
+ heap32[(r1+19)] = heap32[(r2+19)];
+ heap32[(r1+20)] = heap32[(r2+20)];
+ heap32[(r1+21)] = heap32[(r2+21)];
+ heap32[(r1+22)] = heap32[(r2+22)];
+ heap32[(r1+23)] = heap32[(r2+23)];
+ heap32[(r1+24)] = heap32[(r2+24)];
+ heap32[(r1+25)] = heap32[(r2+25)];
+ heap32[(r1+26)] = heap32[(r2+26)];
+ heap32[(r1+27)] = heap32[(r2+27)];
+ heap32[(r1+28)] = heap32[(r2+28)];
+ heap32[(r1+29)] = heap32[(r2+29)];
+ r4 = heap32[(r2+31)];
+ r2 = heap32[(r2+30)];
+ heap32[(r1+30)] = r2;
+ heap32[(r1+31)] = r4;
+ r2 = heap32[(fp+2)];
+ heap32[(r1+36)] = 0;
+ r2 = r2 >> 2;
+ heap32[(r1+45)] = 0;
+ f0 = heapFloat[(r2)];
+ heapFloat[(r1+32)] = f0;
+ f1 = heapFloat[(r2+1)];
+ heapFloat[(r1+33)] = f1;
+ f2 = heapFloat[(r2+2)];
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ heapFloat[(r1+34)] = f2;
+ heap32[(r1+35)] = heap32[(r2+3)];
+ f4 = 0;
+ if(f3 <=f4) //_LBB546_2
+{
+ r2 = sp + -112;
+ r2 = r2 >> 2;
+ heap32[(fp+-28)] = 1065353216;
+ heap32[(r2+1)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+}
+else{
+ r2 = sp + -112;
+ f0 = -f0;
+ r2 = r2 >> 2;
+ f1 = -f1;
+ heapFloat[(fp+-28)] = f0;
+ f0 = -f2;
+ heapFloat[(r2+1)] = f1;
+ heapFloat[(r2+2)] = f0;
+ heap32[(r2+3)] = 0;
+}
+ heap32[(r1+41)] = 0;
+ heap32[(r1+91)] = 3;
+ heap32[(r1+37)] = r3;
+ heap32[(r1+45)] = 1;
+ r2 = sp + -112;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ _ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(i7);
+ heap32[(r1+41)] = 1065353216;
+ r2 = heap32[(r1+37)];
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2+4)];
+ heapFloat[(r1+32)] = f0;
+ f1 = heapFloat[(r2+5)];
+ heapFloat[(r1+33)] = f1;
+ f2 = heapFloat[(r2+6)];
+ heapFloat[(r1+34)] = f2;
+ f5 = heapFloat[(r2+7)];
+ r2 = sp + -176;
+ r3 = r2 >> 2;
+ heapFloat[(r1+35)] = f5;
+ heapFloat[(r3+12)] = f0;
+ heapFloat[(r3+13)] = f1;
+ heapFloat[(r3+14)] = f2;
+ heapFloat[(r3+15)] = f5;
+ heapFloat[(r3+8)] = f0;
+ heapFloat[(r3+9)] = f1;
+ heapFloat[(r3+10)] = f2;
+ heapFloat[(r3+11)] = f5;
+ heapFloat[(r3+4)] = f0;
+ heapFloat[(r3+5)] = f1;
+ heapFloat[(r3+6)] = f2;
+ heapFloat[(r3+7)] = f5;
+ heapFloat[(fp+-44)] = f0;
+ heapFloat[(r3+1)] = f1;
+ r4 = (r0 + 148)|0;
+ heap32[(fp+-52)] = r4;
+ r4 = 0;
+ r5 = 1;
+ heap32[(fp+-53)] = r5;
+ heapFloat[(r3+2)] = f2;
+ heapFloat[(r3+3)] = f5;
+ heap32[(fp+-50)] = r5;
+ r24 = 0;
+_5: while(true){
+ f0 = f0*f0;
+ f1 = f1*f1;
+ r3 = heap32[(r1+92)];
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f_g0;
+ f1 = 9.9999997473787516e-005;
+ if(f0 >=f1) //_LBB546_6
+{
+ r5 = heap32[(fp+-53)];
+ r5 = (r5 - r3)|0;
+ heap32[(fp+-51)] = r5;
+ f2 = heapFloat[(r1+34)];
+ f5 = heapFloat[(r1+33)];
+ f6 = heapFloat[(r1+32)];
+ r5 = sp + -96;
+ f6 = -f6;
+ r6 = r5 >> 2;
+ f5 = -f5;
+ heapFloat[(fp+-24)] = f6;
+ r3 = (r3 * 36)|0;
+ f2 = -f2;
+ heapFloat[(r6+1)] = f5;
+ r7 = (r0 + r3)|0;
+ heapFloat[(r6+2)] = f2;
+ heap32[(r6+3)] = 0;
+ r6 = r7 >> 2;
+ r8 = heap32[(r6+45)];
+ r8 = r8 << 2;
+ r8 = (r7 + r8)|0;
+ r8 = r8 >> 2;
+ heap32[(r8+41)] = 0;
+ r8 = heap32[(r1+91)];
+ r8 = (r8 + -1)|0;
+ r9 = heap32[(r6+45)];
+ r10 = r8 << 2;
+ r10 = (r0 + r10)|0;
+ r9 = r9 << 2;
+ r7 = (r7 + 148)|0;
+ r9 = (r7 + r9)|0;
+ r10 = r10 >> 2;
+ heap32[(r1+91)] = r8;
+ r8 = r9 >> 2;
+ r9 = heap32[(r10+87)];
+ heap32[(r8)] = r9;
+ r8 = heap32[(r6+45)];
+ r9 = r8 << 2;
+ r9 = (r7 + r9)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+ r8 = (r8 + 1)|0;
+ heap32[(r6+45)] = r8;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r9;
+ _ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(i7);
+ r5 = heap32[(r6+45)];
+ r8 = r5 << 2;
+ r7 = (r8 + r7)|0;
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+-1)];
+ r8 = 0;
+_8: while(true){
+ if(uint(r8) <uint(4)) //_LBB546_7
+{
+ r9 = r8 << 4;
+ r9 = (r2 + r9)|0;
+ r10 = r7 >> 2;
+ r9 = r9 >> 2;
+ f2 = heapFloat[(r10+4)];
+ f5 = heapFloat[(r9)];
+ f6 = heapFloat[(r10+5)];
+ f7 = heapFloat[(r9+1)];
+ f2 = f2-f5;
+ f5 = f6-f7;
+ f6 = heapFloat[(r10+6)];
+ f7 = heapFloat[(r9+2)];
+ f6 = f6-f7;
+ f2 = f2*f2;
+ f5 = f5*f5;
+ f2 = f2+f5;
+ f5 = f6*f6;
+ f2 = f2+f5;
+ if(f2 <f1) //_LBB546_10
+{
+__label__ = 10;
+break _5;
+}
+else{
+ r8 = (r8 + 1)|0;
+}
+}
+else{
+break _8;
+}
+}
+ r8 = heap32[(fp+-50)];
+ r8 = r8 << 4;
+ r8 = (r2 + r8)|0;
+ r8 = r8 >> 2;
+ r7 = r7 >> 2;
+ heap32[(r8)] = heap32[(r7+4)];
+ heap32[(r8+1)] = heap32[(r7+5)];
+ heap32[(r8+2)] = heap32[(r7+6)];
+ heap32[(r8+3)] = heap32[(r7+7)];
+ f1 = heapFloat[(r1+32)];
+ f2 = heapFloat[(r7+4)];
+ f5 = heapFloat[(r1+33)];
+ f6 = heapFloat[(r7+5)];
+ f1 = f1*f2;
+ f2 = f5*f6;
+ f5 = heapFloat[(r1+34)];
+ f6 = heapFloat[(r7+6)];
+ f1 = f1+f2;
+ f2 = f5*f6;
+ f1 = f1+f2;
+ f1 = f1/f0;
+ f4 = f1 > f4 ? f1 : f4;
+ f1 = -9.9999997473787516e-005;
+ f2 = f0-f4;
+ f0 = f0*f1;
+ f0 = f2+f0;
+ f5 = 0;
+ if(f0 >f5) //_LBB546_13
+{
+ heap32[(fp+-49)] = 0;
+_14: do {
+ if(r5 ==2) //_LBB546_17
+{
+ r5 = heap32[(r6+38)];
+ r7 = heap32[(r6+37)];
+ r7 = (r7 + 16)|0;
+ r5 = (r5 + 16)|0;
+ r8 = sp + -192;
+ r9 = sp + -196;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r9;
+ _ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_PfRj(i7);
+ f3 = f_g0;
+__label__ = 32;
+break _14;
+}
+else{
+ if(r5 ==3) //_LBB546_18
+{
+ r5 = heap32[(r6+39)];
+ r7 = heap32[(r6+38)];
+ r8 = heap32[(r6+37)];
+ r8 = (r8 + 16)|0;
+ r7 = (r7 + 16)|0;
+ r5 = (r5 + 16)|0;
+ r9 = sp + -192;
+ r10 = sp + -196;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r9;
+ heap32[(g0+4)] = r10;
+ _ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRj(i7);
+ f3 = f_g0;
+__label__ = 32;
+}
+else{
+ if(r5 ==4) //_LBB546_19
+{
+ r5 = heap32[(r6+40)];
+ r7 = heap32[(r6+39)];
+ r8 = heap32[(r6+38)];
+ r9 = heap32[(r6+37)];
+ r10 = sp + -16;
+ r11 = (r9 + 16)|0;
+ r12 = r10 >> 2;
+ r13 = (r8 + 16)|0;
+ heap32[(fp+-4)] = r11;
+ r11 = (r7 + 16)|0;
+ heap32[(r12+1)] = r13;
+ r13 = (r5 + 16)|0;
+ heap32[(r12+2)] = r11;
+ r9 = r9 >> 2;
+ heap32[(r12+3)] = r13;
+ r5 = r5 >> 2;
+ f0 = heapFloat[(r9+6)];
+ f1 = heapFloat[(r5+6)];
+ f2 = heapFloat[(r9+5)];
+ f3 = heapFloat[(r5+5)];
+ f6 = heapFloat[(r9+4)];
+ f7 = heapFloat[(r5+4)];
+ r11 = sp + -64;
+ f8 = f6-f7;
+ f9 = f2-f3;
+ r12 = r11 >> 2;
+ heapFloat[(fp+-16)] = f8;
+ f10 = f0-f1;
+ heapFloat[(r12+1)] = f9;
+ heapFloat[(r12+2)] = f10;
+ r8 = r8 >> 2;
+ heap32[(r12+3)] = 0;
+ f11 = heapFloat[(r8+6)];
+ f12 = heapFloat[(r8+5)];
+ f13 = heapFloat[(r8+4)];
+ f14 = f13-f7;
+ f15 = f12-f3;
+ heapFloat[(r12+4)] = f14;
+ f16 = f11-f1;
+ heapFloat[(r12+5)] = f15;
+ heapFloat[(r12+6)] = f16;
+ r7 = r7 >> 2;
+ heap32[(r12+7)] = 0;
+ f17 = heapFloat[(r7+5)];
+ f18 = heapFloat[(r7+4)];
+ f19 = f9*f16;
+ f7 = f18-f7;
+ f20 = f10*f14;
+ f3 = f17-f3;
+ f21 = heapFloat[(r7+6)];
+ f16 = f8*f16;
+ f19 = f19*f7;
+ f20 = f20*f3;
+ f22 = f11-f21;
+ f23 = f2-f12;
+ f18 = f13-f18;
+ f11 = f0-f11;
+ f12 = f12-f17;
+ f13 = f6-f13;
+ f17 = f19+f20;
+ f16 = f16*f3;
+ f14 = f9*f14;
+ f1 = f21-f1;
+ f19 = f8*f15;
+ f20 = f12*f11;
+ f21 = f22*f23;
+ f22 = f22*f13;
+ f11 = f18*f11;
+ f16 = f17-f16;
+ f14 = f14*f1;
+ f17 = f20-f21;
+ f11 = f22-f11;
+ f15 = f10*f15;
+ heapFloat[(r12+8)] = f7;
+ f18 = f18*f23;
+ f12 = f12*f13;
+ f13 = f16-f14;
+ f14 = f19*f1;
+ f12 = f18-f12;
+ heapFloat[(r12+9)] = f3;
+ f3 = f6*f17;
+ f2 = f2*f11;
+ f6 = f13+f14;
+ f7 = f15*f7;
+ f6 = f6-f7;
+ heapFloat[(r12+10)] = f1;
+ f1 = f3+f2;
+ f0 = f0*f12;
+ f0 = f1+f0;
+ heap32[(r12+11)] = 0;
+ f0 = f0*f6;
+ if(f0 >f5) //_LBB546_45
+{
+__label__ = 42;
+break _5;
+}
+else{
+ if(f6 <f5) //_LBB546_22
+{
+ f0 = -f6;
+}
+else{
+ f0 = f6;
+}
+ if(f0 <=f5) //_LBB546_45
+{
+__label__ = 42;
+break _5;
+}
+else{
+ r12 = sp + -76;
+ r14 = r12 >> 2;
+ heap32[(fp+-19)] = 0;
+ heap32[(r14+1)] = 0;
+ r15 = 0;
+ f3 = -1;
+ heap32[(r14+2)] = 0;
+ heap32[(fp+-20)] = 0;
+_27: while(true){
+ r16 = _ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRjE4imd3;
+ r17 = r15 << 2;
+ r18 = (r16 + r17)|0;
+ r18 = r18 >> 2;
+ r18 = heap32[(r18)];
+ r19 = r18 << 4;
+ r19 = (r11 + r19)|0;
+ r19 = r19 >> 2;
+ f0 = heapFloat[(r19+1)];
+ f1 = heapFloat[(r19+2)];
+ f2 = heapFloat[(r19)];
+ f7 = f9*f1;
+ f11 = f10*f0;
+ f10 = f10*f2;
+ f1 = f8*f1;
+ f12 = heapFloat[(r5+4)];
+ f7 = f7-f11;
+ f11 = heapFloat[(r5+5)];
+ f1 = f10-f1;
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f8 = f12*f7;
+ f1 = f11*f1;
+ f9 = heapFloat[(r5+6)];
+ f0 = f0-f2;
+ f1 = f8+f1;
+ f0 = f9*f0;
+ f0 = f1+f0;
+ f0 = f0*f6;
+_29: do {
+ if(f0 >f5) //_LBB546_27
+{
+ r19 = r18 << 2;
+ r20 = (r10 + r19)|0;
+ r21 = (r10 + r17)|0;
+ r20 = r20 >> 2;
+ r21 = r21 >> 2;
+ r20 = heap32[(r20)];
+ r21 = heap32[(r21)];
+ r22 = sp + -80;
+ heap32[(g0)] = r21;
+ heap32[(g0+1)] = r20;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = r12;
+ heap32[(g0+4)] = r22;
+ _ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRj(i7);
+ f0 = f_g0;
+ f1 = 0;
+if(!(f3 <f1)) //_LBB546_29
+{
+ if(f0 >=f3) //_LBB546_26
+{
+break _29;
+}
+}
+ r20 = heap32[(fp+-20)];
+ r21 = 1;
+ r22 = r20 & 1;
+ r23 = r21 << r15;
+ r25 = r20 & 2;
+ r18 = r21 << r18;
+ r16 = (r16 + r19)|0;
+ r21 = r22 == 0 ? r24 : r23;
+ r18 = r25 == 0 ? r24 : r18;
+ r20 = r20 & 4;
+ r22 = 8;
+ r23 = sp + -192;
+ r16 = r16 >> 2;
+ r18 = (r21 + r18)|0;
+ r20 = r20 == 0 ? r24 : r22;
+ r16 = heap32[(r16)];
+ r17 = (r23 + r17)|0;
+ r18 = (r18 + r20)|0;
+ r16 = r16 << 2;
+ r19 = (r23 + r19)|0;
+ r17 = r17 >> 2;
+ heap32[(fp+-49)] = r18;
+ r16 = (r23 + r16)|0;
+ r18 = r19 >> 2;
+ heap32[(r17)] = heap32[(fp+-19)];
+ r16 = r16 >> 2;
+ heap32[(r18)] = heap32[(r14+1)];
+ r17 = r23 >> 2;
+ heap32[(r16)] = 0;
+ heap32[(r17+3)] = heap32[(r14+2)];
+ f3 = f0;
+}
+} while(0);
+ if(r15 ==2) //_LBB546_32
+{
+break _27;
+}
+else{
+ r16 = (r15 + 1)|0;
+ r15 = r15 << 4;
+ r15 = (r11 + r15)|0;
+ r15 = r15 >> 2;
+ f8 = heapFloat[(r15+4)];
+ f9 = heapFloat[(r15+5)];
+ f10 = heapFloat[(r15+6)];
+ r15 = r16;
+}
+}
+ if(f3 <f5) //_LBB546_34
+{
+ heap32[(fp+-49)] = 15;
+ f0 = heapFloat[(r7+5)];
+ f1 = heapFloat[(r8+6)];
+ f2 = heapFloat[(r8+4)];
+ f3 = heapFloat[(r7+6)];
+ f7 = heapFloat[(r7+4)];
+ f8 = f0*f1;
+ f9 = heapFloat[(r5+4)];
+ f10 = f3*f2;
+ f11 = heapFloat[(r5+5)];
+ f12 = f7*f1;
+ f8 = f8*f9;
+ f10 = f10*f11;
+ f13 = heapFloat[(r8+5)];
+ f14 = heapFloat[(r5+6)];
+ f15 = f0*f2;
+ f8 = f8+f10;
+ f10 = f12*f11;
+ f12 = f7*f13;
+ f8 = f8-f10;
+ f10 = f15*f14;
+ f15 = f3*f13;
+ f8 = f8-f10;
+ f10 = f12*f14;
+ f8 = f8+f10;
+ f10 = f15*f9;
+ f8 = f8-f10;
+ f8 = f8/f6;
+ heapFloat[(fp+-48)] = f8;
+ f10 = heapFloat[(r9+5)];
+ f12 = heapFloat[(r9+6)];
+ f15 = heapFloat[(r9+4)];
+ f16 = f10*f3;
+ f17 = f12*f7;
+ f18 = f13*f12;
+ f19 = f1*f15;
+ f3 = f15*f3;
+ f16 = f16*f9;
+ f17 = f17*f11;
+ f20 = f2*f12;
+ f7 = f10*f7;
+ f18 = f18*f9;
+ f19 = f19*f11;
+ f16 = f16+f17;
+ f3 = f3*f11;
+ f13 = f13*f15;
+ f15 = f15*f0;
+ f17 = f18+f19;
+ f11 = f20*f11;
+ f3 = f16-f3;
+ f7 = f7*f14;
+ f2 = f2*f10;
+ f0 = f12*f0;
+ f11 = f17-f11;
+ f12 = f13*f14;
+ f3 = f3-f7;
+ f7 = f15*f14;
+ f1 = f1*f10;
+ f10 = f11-f12;
+ f2 = f2*f14;
+ f3 = f3+f7;
+ f0 = f0*f9;
+ f0 = f3-f0;
+ f2 = f10+f2;
+ f1 = f1*f9;
+ r5 = sp + -192;
+ f1 = f2-f1;
+ f0 = f0/f6;
+ r5 = r5 >> 2;
+ f2 = f8+f0;
+ f1 = f1/f6;
+ heapFloat[(r5+1)] = f0;
+ f0 = 1;
+ f2 = f2+f1;
+ r7 = 15;
+ f0 = f0-f2;
+ heapFloat[(r5+2)] = f1;
+ heapFloat[(r5+3)] = f0;
+__label__ = 34;
+}
+else{
+__label__ = 32;
+}
+}
+}
+}
+else{
+__label__ = 32;
+}
+}
+}
+} while(0);
+if (__label__ == 32){
+ f0 = 0;
+ if(f3 <f0) //_LBB546_45
+{
+__label__ = 42;
+break _5;
+}
+else{
+ r7 = heap32[(fp+-49)];
+ f5 = f3;
+}
+}
+ r5 = heap32[(fp+-51)];
+ r8 = (r5 * 36)|0;
+ r8 = (r0 + r8)|0;
+ r9 = r8 >> 2;
+ heap32[(r9+45)] = 0;
+ heap32[(r1+32)] = 0;
+ heap32[(r1+33)] = 0;
+ heap32[(r1+34)] = 0;
+ heap32[(r1+35)] = 0;
+ heap32[(r1+92)] = r5;
+ r5 = heap32[(r6+45)];
+_42: do {
+if(!(r5 ==0)) //_LBB546_43
+{
+ r6 = heap32[(fp+-52)];
+ r3 = (r6 + r3)|0;
+ r6 = 0;
+_44: while(true){
+ r10 = 1;
+ r10 = r10 << r6;
+ r10 = r7 & r10;
+ if(r10 ==0) //_LBB546_41
+{
+ r10 = r6 << 2;
+ r11 = heap32[(r1+91)];
+ r10 = (r3 + r10)|0;
+ r12 = r11 << 2;
+ r10 = r10 >> 2;
+ r12 = (r0 + r12)|0;
+ r10 = heap32[(r10)];
+ r12 = r12 >> 2;
+ r11 = (r11 + 1)|0;
+ heap32[(r12+87)] = r10;
+ heap32[(r1+91)] = r11;
+}
+else{
+ r10 = r6 << 2;
+ r11 = (r3 + r10)|0;
+ r12 = heap32[(r9+45)];
+ r11 = r11 >> 2;
+ r13 = (r8 + 148)|0;
+ r12 = r12 << 2;
+ r12 = (r13 + r12)|0;
+ r14 = heap32[(r11)];
+ r12 = r12 >> 2;
+ r15 = sp + -192;
+ heap32[(r12)] = r14;
+ r12 = heap32[(r9+45)];
+ r10 = (r15 + r10)|0;
+ r14 = r12 << 2;
+ r10 = r10 >> 2;
+ r13 = (r13 + r14)|0;
+ f0 = heapFloat[(r10)];
+ r10 = r13 >> 2;
+ r12 = (r12 + 1)|0;
+ heapFloat[(r10+4)] = f0;
+ heap32[(r9+45)] = r12;
+ r10 = heap32[(r11)];
+ r10 = r10 >> 2;
+ f1 = heapFloat[(r10+4)];
+ f2 = heapFloat[(r10+6)];
+ f3 = heapFloat[(r10+5)];
+ f6 = heapFloat[(r1+32)];
+ f1 = f1*f0;
+ f1 = f6+f1;
+ heapFloat[(r1+32)] = f1;
+ f1 = f3*f0;
+ f3 = heapFloat[(r1+33)];
+ f1 = f3+f1;
+ heapFloat[(r1+33)] = f1;
+ f0 = f2*f0;
+ f1 = heapFloat[(r1+34)];
+ f0 = f1+f0;
+ heapFloat[(r1+34)] = f0;
+}
+ r6 = (r6 + 1)|0;
+if(!(r5 !=r6)) //_LBB546_39
+{
+break _42;
+}
+}
+}
+} while(0);
+if(!(r7 !=15)) //_LBB546_46
+{
+ heap32[(r1+94)] = 1;
+}
+ r4 = (r4 + 1)|0;
+ if(uint(r4) <uint(128)) //_LBB546_48
+{
+ r3 = heap32[(r1+94)];
+ if(r3 !=0) //_LBB546_50
+{
+__label__ = 47;
+break _5;
+}
+else{
+ r5 = heap32[(fp+-50)];
+ r3 = (r5 + 1)|0;
+ f0 = heapFloat[(r1+32)];
+ f1 = heapFloat[(r1+33)];
+ f2 = heapFloat[(r1+34)];
+ r5 = r3 & 3;
+ heap32[(fp+-50)] = r5;
+ f3 = f5;
+continue _5;
+}
+}
+else{
+__label__ = 44;
+break _5;
+}
+}
+else{
+__label__ = 12;
+break _5;
+}
+}
+else{
+__label__ = 5;
+break _5;
+}
+}
+switch(__label__ ){//multiple entries
+case 10:
+ r2 = heap32[(r1+92)];
+ r2 = (r2 * 36)|0;
+ r2 = (r0 + r2)|0;
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+45)];
+ r4 = (r4 + -1)|0;
+ r5 = r4 << 2;
+ r6 = heap32[(r1+91)];
+ r2 = (r2 + r5)|0;
+ r5 = r6 << 2;
+ r2 = (r2 + 148)|0;
+ r5 = (r0 + r5)|0;
+ r2 = r2 >> 2;
+ heap32[(r3+45)] = r4;
+ r3 = r5 >> 2;
+ r2 = heap32[(r2)];
+ r4 = (r6 + 1)|0;
+ heap32[(r3+87)] = r2;
+ heap32[(r1+91)] = r4;
+break;
+case 42:
+ r2 = heap32[(r1+92)];
+ r2 = (r2 * 36)|0;
+ r2 = (r0 + r2)|0;
+ r4 = r2 >> 2;
+ r3 = heap32[(r4+45)];
+ r3 = (r3 + -1)|0;
+ r5 = r3 << 2;
+ r6 = heap32[(r1+91)];
+ r2 = (r2 + r5)|0;
+ r5 = r6 << 2;
+ r2 = (r2 + 148)|0;
+ r5 = (r0 + r5)|0;
+ r2 = r2 >> 2;
+ heap32[(r4+45)] = r3;
+ r4 = r5 >> 2;
+ r2 = heap32[(r2)];
+ r3 = (r6 + 1)|0;
+ heap32[(r4+87)] = r2;
+ heap32[(r1+91)] = r3;
+break;
+case 5:
+ heap32[(r1+94)] = 1;
+break;
+case 44:
+ heap32[(r1+94)] = 2;
+break;
+case 12:
+ r2 = heap32[(r1+92)];
+ r2 = (r2 * 36)|0;
+ r2 = (r0 + r2)|0;
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+45)];
+ r4 = (r4 + -1)|0;
+ r5 = r4 << 2;
+ r6 = heap32[(r1+91)];
+ r2 = (r2 + r5)|0;
+ r5 = r6 << 2;
+ r2 = (r2 + 148)|0;
+ r5 = (r0 + r5)|0;
+ r2 = r2 >> 2;
+ heap32[(r3+45)] = r4;
+ r3 = r5 >> 2;
+ r2 = heap32[(r2)];
+ r4 = (r6 + 1)|0;
+ heap32[(r3+87)] = r2;
+ heap32[(r1+91)] = r4;
+break;
+}
+ r2 = heap32[(r1+92)];
+ r2 = (r2 * 36)|0;
+ r0 = (r0 + r2)|0;
+ r0 = (r0 + 148)|0;
+ heap32[(r1+93)] = r0;
+ r0 = heap32[(r1+94)];
+ if(r0 ==1) //_LBB546_53
+{
+ heap32[(r1+36)] = 0;
+ r0 = 1;
+}
+else{
+if(!(r0 !=0)) //_LBB546_54
+{
+ f0 = heapFloat[(r1+32)];
+ f1 = heapFloat[(r1+33)];
+ f2 = heapFloat[(r1+34)];
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ heapFloat[(r1+36)] = f_g0;
+ r0 = heap32[(r1+94)];
+ r_g0 = r0;
+ return;
+}
+}
+ r_g0 = r0;
+ return;
+}
+
+function _ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+2450)];
+_1: do {
+ if(r1 ==0) //_LBB547_23
+{
+ heap32[(r0)] = 5;
+ r1 = 0;
+}
+else{
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+13)];
+if(!(r3 ==0)) //_LBB547_3
+{
+ r3 = r3 >> 2;
+ r4 = heap32[(r2+12)];
+ heap32[(r3+12)] = r4;
+}
+ r3 = heap32[(r2+12)];
+if(!(r3 ==0)) //_LBB547_5
+{
+ r3 = r3 >> 2;
+ r4 = heap32[(r2+13)];
+ heap32[(r3+13)] = r4;
+}
+ r3 = heap32[(r0+2450)];
+if(!(r3 !=r1)) //_LBB547_7
+{
+ r3 = heap32[(r2+13)];
+ heap32[(r0+2450)] = r3;
+}
+ r3 = heap32[(r0+2451)];
+ r3 = (r3 + -1)|0;
+ heap32[(r0+2451)] = r3;
+ heap32[(r2+12)] = 0;
+ r3 = heap32[(r0+2448)];
+ heap32[(r2+13)] = r3;
+ r3 = heap32[(r0+2448)];
+if(!(r3 ==0)) //_LBB547_9
+{
+ r3 = r3 >> 2;
+ heap32[(r3+12)] = r1;
+}
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ heap32[(r0+2448)] = r1;
+ r6 = heap32[(r0+2449)];
+ r6 = (r6 + 1)|0;
+ r7 = 0;
+ heap32[(r0+2449)] = r6;
+ heap8[r1+59] = r7;
+ heap32[(r2+6)] = r3;
+ heap32[(r2+7)] = r4;
+ heap32[(r2+8)] = r5;
+ r5 = r5 >> 2;
+ r3 = r3 >> 2;
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r5+6)];
+ f1 = heapFloat[(r3+6)];
+ f2 = heapFloat[(r4+6)];
+ f3 = heapFloat[(r5+5)];
+ f4 = heapFloat[(r3+5)];
+ f5 = heapFloat[(r4+5)];
+ f5 = f5-f4;
+ f0 = f0-f1;
+ f1 = f2-f1;
+ f2 = f3-f4;
+ f3 = heapFloat[(r5+4)];
+ f4 = heapFloat[(r3+4)];
+ f6 = heapFloat[(r4+4)];
+ f3 = f3-f4;
+ f4 = f6-f4;
+ f6 = f5*f0;
+ f7 = f1*f2;
+ f6 = f6-f7;
+ f1 = f1*f3;
+ f0 = f4*f0;
+ f0 = f1-f0;
+ heapFloat[(r2)] = f6;
+ f1 = f4*f2;
+ f2 = f5*f3;
+ f1 = f1-f2;
+ heapFloat[(r2+1)] = f0;
+ heapFloat[(r2+2)] = f1;
+ f2 = f6*f6;
+ f0 = f0*f0;
+ heap32[(r2+3)] = 0;
+ f0 = f2+f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f_g0;
+ f1 = heapFloat[(r5+6)];
+ f2 = heapFloat[(r3+6)];
+ f3 = heapFloat[(r4+6)];
+ f4 = heapFloat[(r5+5)];
+ f5 = heapFloat[(r3+5)];
+ f6 = heapFloat[(r4+5)];
+ f7 = heapFloat[(r5+4)];
+ f8 = heapFloat[(r3+4)];
+ f9 = heapFloat[(r4+4)];
+ f10 = heapFloat[(r2)];
+ f11 = f2-f3;
+ f12 = heapFloat[(r2+1)];
+ f13 = f3-f1;
+ f14 = heapFloat[(r2+2)];
+ f15 = f5-f6;
+ f16 = f8-f9;
+ f17 = f6-f4;
+ f18 = f9-f7;
+ f19 = f1-f2;
+ f20 = f4-f5;
+ f21 = f7-f8;
+ f22 = f12*f11;
+ f23 = f14*f15;
+ f24 = f14*f16;
+ f11 = f10*f11;
+ f25 = f12*f13;
+ f26 = f14*f17;
+ f27 = f14*f18;
+ f13 = f10*f13;
+ f22 = f22-f23;
+ f11 = f24-f11;
+ f23 = f25-f26;
+ f13 = f27-f13;
+ f15 = f10*f15;
+ f16 = f12*f16;
+ f17 = f10*f17;
+ f18 = f12*f18;
+ f24 = f12*f19;
+ f25 = f14*f20;
+ f26 = f14*f21;
+ f19 = f10*f19;
+ f15 = f15-f16;
+ f16 = f17-f18;
+ f17 = f24-f25;
+ f18 = f26-f19;
+ f8 = f8*f22;
+ f5 = f5*f11;
+ f9 = f9*f23;
+ f6 = f6*f13;
+ f11 = f10*f20;
+ f13 = f12*f21;
+ f11 = f11-f13;
+ f5 = f8+f5;
+ f2 = f2*f15;
+ f6 = f9+f6;
+ f3 = f3*f16;
+ f7 = f7*f17;
+ f4 = f4*f18;
+ f2 = f5+f2;
+ f3 = f6+f3;
+ f4 = f7+f4;
+ f1 = f1*f11;
+ f5 = 9.9999997473787516e-005;
+ f6 = 1;
+ f2 = f2 < f3 ? f2 : f3;
+ f1 = f4+f1;
+ f1 = f2 < f1 ? f2 : f1;
+ f2 = f0 > f5 ? f0 : f6;
+ f1 = f1/f2;
+ f2 = -0.0099999997764825821;
+ f3 = 0;
+ f1 = f1 < f2 ? f1 : f3;
+ heapFloat[(r2+5)] = f1;
+ if(f0 <=f5) //_LBB547_13
+{
+ heap32[(r0)] = 2;
+}
+else{
+ r4 = heap32[(fp+4)];
+ f1 = heapFloat[(r3+4)];
+ f2 = heapFloat[(r3+5)];
+ f3 = heapFloat[(r3+6)];
+ f1 = f1*f10;
+ f2 = f2*f12;
+ f1 = f1+f2;
+ f2 = f3*f14;
+ f1 = f1+f2;
+ f2 = f6/f0;
+ f0 = f1/f0;
+ f1 = f10*f2;
+ heapFloat[(r2+4)] = f0;
+ f3 = f12*f2;
+ heapFloat[(r2)] = f1;
+ f1 = f14*f2;
+ heapFloat[(r2+1)] = f3;
+ heapFloat[(r2+2)] = f1;
+ if(r4 !=0) //_LBB547_24
+{
+break _1;
+}
+else{
+ f1 = -9.9999997473787516e-006;
+ if(f0 >=f1) //_LBB547_24
+{
+break _1;
+}
+else{
+ heap32[(r0)] = 3;
+}
+}
+}
+ r3 = heap32[(r2+13)];
+if(!(r3 ==0)) //_LBB547_16
+{
+ r3 = r3 >> 2;
+ r4 = heap32[(r2+12)];
+ heap32[(r3+12)] = r4;
+}
+ r3 = heap32[(r2+12)];
+if(!(r3 ==0)) //_LBB547_18
+{
+ r3 = r3 >> 2;
+ r4 = heap32[(r2+13)];
+ heap32[(r3+13)] = r4;
+}
+ r3 = heap32[(r0+2448)];
+if(!(r3 !=r1)) //_LBB547_20
+{
+ r3 = heap32[(r2+13)];
+ heap32[(r0+2448)] = r3;
+}
+ r3 = heap32[(r0+2449)];
+ r3 = (r3 + -1)|0;
+ heap32[(r0+2449)] = r3;
+ heap32[(r2+12)] = 0;
+ r3 = heap32[(r0+2450)];
+ heap32[(r2+13)] = r3;
+ r2 = heap32[(r0+2450)];
+if(!(r2 ==0)) //_LBB547_22
+{
+ r2 = r2 >> 2;
+ heap32[(r2+12)] = r1;
+}
+ heap32[(r0+2450)] = r1;
+ r1 = heap32[(r0+2451)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0+2451)] = r1;
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+} while(0);
+ r_g0 = r1;
+ return;
+}
+
+function _ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+ r1 = heap32[(fp+1)];
+ r2 = heapU8[r0+59];
+_1: do {
+if(!(r2 ==r1)) //_LBB548_10
+{
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+4)];
+ r5 = heap32[(fp+5)];
+ r6 = r0 >> 2;
+ r7 = r3 >> 2;
+ f0 = heapFloat[(r6)];
+ f1 = heapFloat[(r7+4)];
+ f2 = heapFloat[(r6+1)];
+ f3 = heapFloat[(r7+5)];
+ r8 = _ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRjE4imd3;
+ r9 = r4 << 2;
+ r8 = (r8 + r9)|0;
+ f0 = f0*f1;
+ f1 = f2*f3;
+ f2 = heapFloat[(r6+2)];
+ f3 = heapFloat[(r7+6)];
+ r7 = r8 >> 2;
+ f0 = f0+f1;
+ f1 = f2*f3;
+ r7 = heap32[(r7)];
+ f0 = f0+f1;
+ f1 = heapFloat[(r6+4)];
+ f0 = f0-f1;
+ f1 = -9.9999997473787516e-006;
+ if(f0 >=f1) //_LBB548_8
+{
+ r4 = r7 << 2;
+ r4 = (r0 + r4)|0;
+ r7 = (r0 + r7)|0;
+ heap8[r0+59] = r1;
+ r4 = r4 >> 2;
+ r7 = heapU8[r7+56];
+ r4 = heap32[(r4+9)];
+ r8 = _ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i2m3;
+ r8 = (r8 + r9)|0;
+ r8 = r8 >> 2;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r5;
+ r4 = heap32[(r8)];
+ _ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE(i7);
+ r7 = r_g0;
+ if(r7 ==0) //_LBB548_10
+{
+break _1;
+}
+else{
+ r7 = r4 << 2;
+ r7 = (r0 + r7)|0;
+ r4 = (r0 + r4)|0;
+ r7 = r7 >> 2;
+ r4 = heapU8[r4+56];
+ r7 = heap32[(r7+9)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r5;
+ _ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE(i7);
+ r1 = r_g0;
+ if(r1 !=0) //_LBB548_11
+{
+ r1 = heap32[(r6+13)];
+if(!(r1 ==0)) //_LBB548_13
+{
+ r1 = r1 >> 2;
+ r3 = heap32[(r6+12)];
+ heap32[(r1+12)] = r3;
+}
+ r1 = heap32[(r6+12)];
+if(!(r1 ==0)) //_LBB548_15
+{
+ r1 = r1 >> 2;
+ r3 = heap32[(r6+13)];
+ heap32[(r1+13)] = r3;
+}
+ r1 = r2 >> 2;
+ r2 = heap32[(r1+2448)];
+if(!(r2 !=r0)) //_LBB548_17
+{
+ r2 = heap32[(r6+13)];
+ heap32[(r1+2448)] = r2;
+}
+ r2 = heap32[(r1+2449)];
+ r2 = (r2 + -1)|0;
+ heap32[(r1+2449)] = r2;
+ heap32[(r6+12)] = 0;
+ r2 = heap32[(r1+2450)];
+ heap32[(r6+13)] = r2;
+ r2 = heap32[(r1+2450)];
+if(!(r2 ==0)) //_LBB548_19
+{
+ r2 = r2 >> 2;
+ heap32[(r2+12)] = r0;
+}
+ heap32[(r1+2450)] = r0;
+ r0 = heap32[(r1+2451)];
+ r0 = (r0 + 1)|0;
+ heap32[(r1+2451)] = r0;
+}
+else{
+break _1;
+}
+}
+}
+else{
+ r1 = (r0 + 24)|0;
+ r6 = r7 << 2;
+ r7 = (r1 + r9)|0;
+ r1 = (r1 + r6)|0;
+ r6 = r7 >> 2;
+ r1 = r1 >> 2;
+ r6 = heap32[(r6)];
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = 0;
+ _ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(i7);
+ r1 = r_g0;
+ if(r1 ==0) //_LBB548_10
+{
+break _1;
+}
+else{
+ r2 = r1 >> 2;
+ heap8[r1+56] = r4;
+ r3 = (r0 + r9)|0;
+ r6 = (r0 + r4)|0;
+ r7 = 0;
+ heap32[(r2+9)] = r0;
+ r0 = r3 >> 2;
+ heap8[r6+56] = r7;
+ r3 = r5 >> 2;
+ heap32[(r0+9)] = r1;
+ r0 = heap32[(r3)];
+ if(r0 ==0) //_LBB548_5
+{
+ heap32[(r3+1)] = r1;
+}
+else{
+ r5 = 2;
+ r6 = r0 >> 2;
+ heap8[r0+57] = r5;
+ r5 = 1;
+ heap32[(r6+10)] = r1;
+ heap8[r1+58] = r5;
+ heap32[(r2+11)] = r0;
+}
+ heap32[(r3)] = r1;
+ r0 = heap32[(r3+2)];
+ r0 = (r0 + 1)|0;
+ heap32[(r3+2)] = r0;
+}
+}
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+} while(0);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btGjkEpaSolver211PenetrationEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsEb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+var __label__ = 0;
+ i7 = sp + -10400;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+5)];
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+ r5 = sp + -176;
+ r6 = heap32[(fp+6)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = r1;
+ heap32[(g0+5)] = r5;
+ heap32[(g0+6)] = r6;
+ r2 = sp + -560;
+ r3 = r2 >> 2;
+ _ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb(i7);
+ heap32[(r3+32)] = 0;
+ heap32[(r3+33)] = 0;
+ heap32[(r3+34)] = 0;
+ heap32[(r3+35)] = 0;
+ heap32[(r3+91)] = 0;
+ heap32[(r3+94)] = 2;
+ r4 = heap32[(fp+4)];
+ heap32[(r3+92)] = 0;
+ r4 = r4 >> 2;
+ heap32[(r3+36)] = 0;
+ f0 = heapFloat[(r4+2)];
+ f1 = heapFloat[(r4+1)];
+ f2 = heapFloat[(r4)];
+ r6 = sp + -48;
+ f2 = -f2;
+ r7 = r6 >> 2;
+ f1 = -f1;
+ heapFloat[(fp+-12)] = f2;
+ f0 = -f0;
+ heapFloat[(r7+1)] = f1;
+ heapFloat[(r7+2)] = f0;
+ heap32[(r7+3)] = 0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r6;
+ _ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3(i7);
+ r6 = r_g0;
+ if(r6 ==2) //_LBB549_71
+{
+ r0 = r1 >> 2;
+ heap32[(r0)] = 2;
+}
+else{
+if(!(r6 !=1)) //_LBB549_72
+{
+ r6 = sp + -10368;
+ r7 = r6 >> 2;
+ heap32[(r7+2448)] = 0;
+ heap32[(r7+2449)] = 0;
+ heap32[(r7+2450)] = 0;
+ heap32[(r7+2451)] = 0;
+ heap32[(fp+-2592)] = 9;
+ heap32[(r7+10)] = 0;
+ heap32[(r7+11)] = 0;
+ heap32[(r7+12)] = 0;
+ heap32[(r7+13)] = 0;
+ r8 = 0;
+ r9 = (r6 + 9780)|0;
+ r10 = (r6 + 9728)|0;
+ heap32[(r7+14)] = 0;
+ heap32[(r7+2447)] = 0;
+ r11 = r8;
+ r12 = r8;
+ r13 = r8;
+_5: while(true){
+ r14 = 127;
+ r14 = (r14 - r13)|0;
+ r15 = (r9 + r8)|0;
+ r14 = (r14 * 60)|0;
+ r14 = (r6 + r14)|0;
+ r15 = r15 >> 2;
+ r14 = (r14 + 2108)|0;
+ r16 = (r10 + r8)|0;
+ heap32[(r15+-1)] = 0;
+ heap32[(r15)] = r12;
+ if(r12 !=0) //_LBB549_5
+{
+ r11 = r12 >> 2;
+ heap32[(r11+12)] = r16;
+ r11 = heap32[(r7+2451)];
+}
+ r8 = (r8 + -60)|0;
+ r13 = (r13 + 1)|0;
+ r11 = (r11 + 1)|0;
+ heap32[(r7+2450)] = r16;
+ heap32[(r7+2451)] = r11;
+ r12 = r14;
+if(!(r8 !=-7680)) //_LBB549_3
+{
+break _5;
+}
+}
+ r3 = heap32[(r3+93)];
+ f0 = heapFloat[(r4+2)];
+ f1 = heapFloat[(r4+1)];
+ f2 = heapFloat[(r4)];
+ r3 = r3 >> 2;
+ r4 = heap32[(r3+8)];
+ if(uint(r4) <uint(2)) //_LBB549_57
+{
+__label__ = 56;
+}
+else{
+ heap32[(g0)] = r2;
+ _ZN12gjkepa2_impl3GJK13EncloseOriginEv(i7);
+ r4 = r_g0;
+ if(r4 ==0) //_LBB549_57
+{
+__label__ = 56;
+}
+else{
+ r4 = heap32[(r7+2448)];
+_14: do {
+if(!(r4 ==0)) //_LBB549_19
+{
+_15: while(true){
+ r8 = r4 >> 2;
+ r9 = heap32[(r8+13)];
+if(!(r9 ==0)) //_LBB549_12
+{
+ r9 = r9 >> 2;
+ r10 = heap32[(r8+12)];
+ heap32[(r9+12)] = r10;
+}
+ r9 = heap32[(r8+12)];
+if(!(r9 ==0)) //_LBB549_14
+{
+ r9 = r9 >> 2;
+ r10 = heap32[(r8+13)];
+ heap32[(r9+13)] = r10;
+}
+ r9 = heap32[(r7+2448)];
+if(!(r9 !=r4)) //_LBB549_16
+{
+ r9 = heap32[(r8+13)];
+ heap32[(r7+2448)] = r9;
+}
+ r9 = heap32[(r7+2449)];
+ r9 = (r9 + -1)|0;
+ heap32[(r7+2449)] = r9;
+ heap32[(r8+12)] = 0;
+ r9 = heap32[(r7+2450)];
+ heap32[(r8+13)] = r9;
+ r8 = heap32[(r7+2450)];
+if(!(r8 ==0)) //_LBB549_18
+{
+ r8 = r8 >> 2;
+ heap32[(r8+12)] = r4;
+}
+ heap32[(r7+2450)] = r4;
+ r4 = heap32[(r7+2451)];
+ r4 = (r4 + 1)|0;
+ heap32[(r7+2451)] = r4;
+ r4 = heap32[(r7+2448)];
+if(!(r4 !=0)) //_LBB549_10
+{
+break _14;
+}
+}
+}
+} while(0);
+ heap32[(fp+-2592)] = 0;
+ heap32[(r7+2447)] = 0;
+ r4 = heap32[(r3+1)];
+ r8 = heap32[(r3)];
+ r9 = heap32[(r3+3)];
+ r10 = r8 >> 2;
+ r11 = r4 >> 2;
+ r9 = r9 >> 2;
+ r12 = heap32[(r3+2)];
+ r13 = r12 >> 2;
+ f3 = heapFloat[(r11+6)];
+ f4 = heapFloat[(r9+6)];
+ f5 = heapFloat[(r10+6)];
+ f6 = heapFloat[(r10+5)];
+ f7 = heapFloat[(r9+5)];
+ f8 = heapFloat[(r11+4)];
+ f9 = heapFloat[(r9+4)];
+ f10 = heapFloat[(r13+5)];
+ f11 = heapFloat[(r10+4)];
+ f12 = heapFloat[(r13+4)];
+ f3 = f3-f4;
+ f6 = f6-f7;
+ f8 = f8-f9;
+ f5 = f5-f4;
+ f11 = f11-f9;
+ f13 = f6*f3;
+ f9 = f12-f9;
+ f12 = f5*f8;
+ f10 = f10-f7;
+ f3 = f11*f3;
+ f14 = heapFloat[(r13+6)];
+ f15 = heapFloat[(r11+5)];
+ f13 = f13*f9;
+ f12 = f12*f10;
+ f7 = f15-f7;
+ f12 = f13+f12;
+ f3 = f3*f10;
+ f6 = f6*f8;
+ f4 = f14-f4;
+ f8 = f11*f7;
+ f3 = f12-f3;
+ f6 = f6*f4;
+ f5 = f5*f7;
+ f3 = f3-f6;
+ f4 = f8*f4;
+ f3 = f3+f4;
+ f4 = f5*f9;
+ f3 = f3-f4;
+ f4 = 0;
+ if(f3 <f4) //_LBB549_21
+{
+ heap32[(r3)] = r4;
+ heap32[(r3+1)] = r8;
+ f3 = heapFloat[(r3+4)];
+ heap32[(r3+4)] = heap32[(r3+5)];
+ heapFloat[(r3+5)] = f3;
+ r9 = r4;
+ r4 = r8;
+}
+else{
+ r9 = r8;
+}
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r12;
+ heap32[(g0+4)] = 1;
+ _ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(i7);
+ r4 = r_g0;
+ r8 = heap32[(r3+3)];
+ r9 = heap32[(r3)];
+ r10 = heap32[(r3+1)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r8;
+ heap32[(g0+4)] = 1;
+ _ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(i7);
+ r8 = r_g0;
+ r9 = heap32[(r3+3)];
+ r10 = heap32[(r3+1)];
+ r11 = heap32[(r3+2)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r9;
+ heap32[(g0+4)] = 1;
+ _ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(i7);
+ r9 = r_g0;
+ r10 = heap32[(r3+3)];
+ r11 = heap32[(r3+2)];
+ r12 = heap32[(r3)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = r10;
+ heap32[(g0+4)] = 1;
+ _ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(i7);
+ r10 = r_g0;
+ r11 = heap32[(r7+2449)];
+ if(r11 !=4) //_LBB549_57
+{
+__label__ = 56;
+}
+else{
+ r3 = heap32[(r7+2448)];
+ r11 = r3 >> 2;
+ f0 = heapFloat[(r11+4)];
+ f0 = f0*f0;
+ f1 = heapFloat[(r11+5)];
+_35: while(true){
+ f2 = f1;
+ r11 = r3;
+ f3 = f0;
+_37: while(true){
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+13)];
+ if(r3 !=0) //_LBB549_24
+{
+ r12 = r3 >> 2;
+ f1 = heapFloat[(r12+5)];
+if(!(f1 <f2)) //_LBB549_27
+{
+ f0 = heapFloat[(r12+4)];
+ f0 = f0*f0;
+if(!(f0 >=f3)) //_LBB549_27
+{
+continue _35;
+}
+}
+}
+else{
+break _35;
+}
+}
+}
+ r3 = r11 >> 2;
+ f0 = heapFloat[(r3)];
+ f1 = heapFloat[(r3+1)];
+ f2 = heapFloat[(r3+2)];
+ f3 = heapFloat[(r3+3)];
+ f4 = heapFloat[(r3+4)];
+ f5 = heapFloat[(r3+5)];
+ r12 = heap32[(r3+6)];
+ r13 = heap32[(r3+7)];
+ r3 = heap32[(r3+8)];
+ r14 = 0;
+ r15 = r4 >> 2;
+ heap8[r4+56] = r14;
+ heap32[(r15+9)] = r8;
+ r16 = r8 >> 2;
+ heap8[r8+56] = r14;
+ heap32[(r16+9)] = r4;
+ heap8[r4+57] = r14;
+ r17 = 1;
+ heap32[(r15+10)] = r9;
+ r18 = r9 >> 2;
+ heap8[r9+56] = r17;
+ heap32[(r18+9)] = r4;
+ heap8[r4+58] = r14;
+ r19 = 2;
+ heap32[(r15+11)] = r10;
+ r15 = r10 >> 2;
+ heap8[r10+56] = r19;
+ heap32[(r15+9)] = r4;
+ heap8[r8+57] = r19;
+ heap32[(r16+10)] = r10;
+ heap8[r10+58] = r17;
+ heap32[(r15+11)] = r8;
+ heap8[r8+58] = r17;
+ heap32[(r16+11)] = r9;
+ heap8[r9+57] = r19;
+ heap32[(r18+10)] = r8;
+ heap8[r9+58] = r17;
+ heap32[(r18+11)] = r10;
+ heap8[r10+57] = r19;
+ heap32[(r15+10)] = r9;
+ heap32[(fp+-2592)] = 0;
+_42: while(true){
+ r4 = (r14 + 1)|0;
+_44: while(true){
+ if(uint(r14) <uint(255)) //_LBB549_30
+{
+ r8 = heap32[(r7+2447)];
+ if(uint(r8) >uint(63)) //_LBB549_54
+{
+__label__ = 53;
+break _42;
+}
+else{
+ r9 = sp + -16;
+ r10 = r9 >> 2;
+ heap32[(fp+-4)] = 0;
+ heap32[(r10+1)] = 0;
+ r15 = (r8 + 1)|0;
+ heap32[(r10+2)] = 0;
+ r8 = r8 << 5;
+ heap32[(r7+2447)] = r15;
+ r8 = (r6 + r8)|0;
+ heap8[r11+59] = r4;
+ r15 = (r8 + 60)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r15;
+ r8 = r8 >> 2;
+ _ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(i7);
+ r16 = r11 >> 2;
+ f6 = heapFloat[(r16)];
+ f7 = heapFloat[(r8+19)];
+ f8 = heapFloat[(r16+1)];
+ f9 = heapFloat[(r8+20)];
+ f6 = f6*f7;
+ f7 = f8*f9;
+ f8 = heapFloat[(r16+2)];
+ f9 = heapFloat[(r8+21)];
+ f6 = f6+f7;
+ f7 = f8*f9;
+ f6 = f6+f7;
+ f7 = heapFloat[(r16+4)];
+ f6 = f6-f7;
+ f7 = 9.9999997473787516e-005;
+ if(f6 <=f7) //_LBB549_53
+{
+__label__ = 52;
+break _42;
+}
+else{
+ r14 = (r14 + 1)|0;
+ r8 = (r11 + 1)|0;
+ r18 = 0;
+ r20 = r17;
+_49: while(true){
+ r21 = r18 << 2;
+ r21 = (r11 + r21)|0;
+ r22 = (r8 + r18)|0;
+ r21 = r21 >> 2;
+ r22 = heapU8[r22+55];
+ r21 = heap32[(r21+9)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r14;
+ heap32[(g0+2)] = r15;
+ heap32[(g0+3)] = r21;
+ heap32[(g0+4)] = r22;
+ heap32[(g0+5)] = r9;
+ _ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE(i7);
+ r18 = (r18 + 1)|0;
+ r20 = r_g0 & r20;
+ if(uint(r18) >uint(2)) //_LBB549_35
+{
+break _49;
+}
+else{
+if(!(r20 !=0)) //_LBB549_33
+{
+break _49;
+}
+}
+}
+ if(r20 !=1) //_LBB549_52
+{
+__label__ = 51;
+break _42;
+}
+else{
+ r8 = heap32[(r10+2)];
+ if(uint(r8) <uint(3)) //_LBB549_52
+{
+__label__ = 51;
+break _42;
+}
+else{
+ r8 = heap32[(fp+-4)];
+ r9 = heap32[(r10+1)];
+ r10 = r8 >> 2;
+ heap8[r8+57] = r19;
+ r15 = 1;
+ heap32[(r10+10)] = r9;
+ r10 = r9 >> 2;
+ heap8[r9+58] = r15;
+ heap32[(r10+11)] = r8;
+ r8 = heap32[(r16+13)];
+if(!(r8 ==0)) //_LBB549_39
+{
+ r8 = r8 >> 2;
+ r9 = heap32[(r16+12)];
+ heap32[(r8+12)] = r9;
+}
+ r8 = heap32[(r16+12)];
+if(!(r8 ==0)) //_LBB549_41
+{
+ r8 = r8 >> 2;
+ r9 = heap32[(r16+13)];
+ heap32[(r8+13)] = r9;
+}
+ r8 = heap32[(r7+2448)];
+if(!(r8 !=r11)) //_LBB549_43
+{
+ r8 = heap32[(r16+13)];
+ heap32[(r7+2448)] = r8;
+}
+ r8 = heap32[(r7+2449)];
+ r8 = (r8 + -1)|0;
+ heap32[(r7+2449)] = r8;
+ heap32[(r16+12)] = 0;
+ r8 = heap32[(r7+2450)];
+ heap32[(r16+13)] = r8;
+ r8 = heap32[(r7+2450)];
+if(!(r8 ==0)) //_LBB549_45
+{
+ r8 = r8 >> 2;
+ heap32[(r8+12)] = r11;
+}
+ heap32[(r7+2450)] = r11;
+ r11 = heap32[(r7+2451)];
+ r11 = (r11 + 1)|0;
+ heap32[(r7+2451)] = r11;
+ r8 = heap32[(r7+2448)];
+ r11 = r8 >> 2;
+ f6 = heapFloat[(r11+4)];
+ f6 = f6*f6;
+ f7 = heapFloat[(r11+5)];
+_67: while(true){
+ f8 = f7;
+ r11 = r8;
+ f9 = f6;
+_69: while(true){
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+13)];
+ if(r8 !=0) //_LBB549_46
+{
+ r9 = r8 >> 2;
+ f7 = heapFloat[(r9+5)];
+if(!(f7 <f8)) //_LBB549_49
+{
+ f6 = heapFloat[(r9+4)];
+ f6 = f6*f6;
+if(!(f6 >=f9)) //_LBB549_49
+{
+continue _67;
+}
+}
+}
+else{
+break _67;
+}
+}
+}
+ r8 = r11 >> 2;
+ f6 = heapFloat[(r8+5)];
+ r4 = (r4 + 1)|0;
+if(!(f6 <f5)) //_LBB549_55
+{
+break _44;
+}
+}
+}
+}
+}
+}
+else{
+__label__ = 55;
+break _42;
+}
+}
+ f0 = heapFloat[(r8)];
+ f1 = heapFloat[(r8+1)];
+ f2 = heapFloat[(r8+2)];
+ f3 = heapFloat[(r8+3)];
+ f4 = heapFloat[(r8+4)];
+ r12 = heap32[(r8+6)];
+ r13 = heap32[(r8+7)];
+ r3 = heap32[(r8+8)];
+ f5 = f6;
+}
+switch(__label__ ){//multiple entries
+case 53:
+ heap32[(fp+-2592)] = 6;
+break;
+case 52:
+ heap32[(fp+-2592)] = 7;
+break;
+case 51:
+ heap32[(fp+-2592)] = 4;
+break;
+}
+ heapFloat[(r7+10)] = f0;
+ heapFloat[(r7+11)] = f1;
+ heapFloat[(r7+12)] = f2;
+ heapFloat[(r7+13)] = f3;
+ heapFloat[(r7+14)] = f4;
+ heap32[(r7+9)] = 3;
+ heap32[(r7+1)] = r12;
+ heap32[(r7+2)] = r13;
+ heap32[(r7+3)] = r3;
+ r3 = r3 >> 2;
+ r2 = r13 >> 2;
+ f2 = f2*f4;
+ f3 = heapFloat[(r3+6)];
+ f5 = heapFloat[(r2+6)];
+ f1 = f1*f4;
+ f6 = heapFloat[(r3+5)];
+ f7 = heapFloat[(r2+5)];
+ f0 = f0*f4;
+ f4 = heapFloat[(r3+4)];
+ f8 = heapFloat[(r2+4)];
+ f5 = f5-f2;
+ f6 = f6-f1;
+ f8 = f8-f0;
+ f3 = f3-f2;
+ f7 = f7-f1;
+ f4 = f4-f0;
+ f9 = f7*f3;
+ f10 = f5*f6;
+ f5 = f5*f4;
+ f3 = f8*f3;
+ f9 = f9-f10;
+ f3 = f5-f3;
+ f5 = f8*f6;
+ f4 = f7*f4;
+ f4 = f5-f4;
+ f5 = f9*f9;
+ f3 = f3*f3;
+ f3 = f5+f3;
+ f4 = f4*f4;
+ f3 = f3+f4;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ heapFloat[(r7+5)] = f_g0;
+ r4 = r12 >> 2;
+ f3 = heapFloat[(r4+6)];
+ f4 = heapFloat[(r4+5)];
+ f5 = heapFloat[(r4+4)];
+ f6 = heapFloat[(r3+6)];
+ f7 = heapFloat[(r3+5)];
+ f8 = heapFloat[(r3+4)];
+ f6 = f6-f2;
+ f4 = f4-f1;
+ f8 = f8-f0;
+ f3 = f3-f2;
+ f7 = f7-f1;
+ f5 = f5-f0;
+ f9 = f7*f3;
+ f10 = f6*f4;
+ f6 = f6*f5;
+ f3 = f8*f3;
+ f9 = f9-f10;
+ f3 = f6-f3;
+ f4 = f8*f4;
+ f5 = f7*f5;
+ f4 = f4-f5;
+ f5 = f9*f9;
+ f3 = f3*f3;
+ f3 = f5+f3;
+ f4 = f4*f4;
+ f3 = f3+f4;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ heapFloat[(r7+6)] = f_g0;
+ f3 = heapFloat[(r2+6)];
+ f4 = heapFloat[(r2+5)];
+ f5 = heapFloat[(r2+4)];
+ f6 = heapFloat[(r4+6)];
+ f7 = heapFloat[(r4+5)];
+ f8 = heapFloat[(r4+4)];
+ f6 = f6-f2;
+ f4 = f4-f1;
+ f8 = f8-f0;
+ f2 = f3-f2;
+ f1 = f7-f1;
+ f0 = f5-f0;
+ f3 = f1*f2;
+ f5 = f6*f4;
+ f6 = f6*f0;
+ f2 = f8*f2;
+ f3 = f3-f5;
+ f2 = f6-f2;
+ f4 = f8*f4;
+ f0 = f1*f0;
+ f0 = f4-f0;
+ f1 = f3*f3;
+ f2 = f2*f2;
+ f1 = f1+f2;
+ f0 = f0*f0;
+ f0 = f1+f0;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = heapFloat[(r7+5)];
+ f2 = heapFloat[(r7+6)];
+ f3 = f1+f2;
+ f3 = f3+f_g0;
+ f1 = f1/f3;
+ f2 = f2/f3;
+ heapFloat[(r7+5)] = f1;
+ f0 = f_g0/f3;
+ heapFloat[(r7+6)] = f2;
+ heapFloat[(r7+7)] = f0;
+__label__ = 60;
+}
+}
+}
+if (__label__ == 56){
+ heap32[(fp+-2592)] = 8;
+ heapFloat[(r7+10)] = f2;
+ heapFloat[(r7+11)] = f1;
+ heapFloat[(r7+12)] = f0;
+ f2 = f2*f2;
+ f1 = f1*f1;
+ heap32[(r7+13)] = 0;
+ f1 = f2+f1;
+ f0 = f0*f0;
+ f0 = f1+f0;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f_g0;
+ f1 = 0;
+ if(f0 >f1) //_LBB549_59
+{
+ f1 = 1;
+ f2 = heapFloat[(r7+12)];
+ f0 = f1/f0;
+ f1 = heapFloat[(r7+11)];
+ f3 = heapFloat[(r7+10)];
+ f2 = f2*f0;
+ f1 = f1*f0;
+ f0 = f3*f0;
+}
+else{
+ f0 = 1;
+ f2 = f1;
+}
+ heapFloat[(r7+10)] = f0;
+ heapFloat[(r7+11)] = f1;
+ heapFloat[(r7+12)] = f2;
+ heap32[(r7+13)] = 0;
+ heap32[(r7+14)] = 0;
+ heap32[(r7+9)] = 1;
+ r2 = heap32[(r3)];
+ heap32[(r7+1)] = r2;
+ heap32[(r7+5)] = 1065353216;
+}
+ r2 = heap32[(fp+-2592)];
+ if(r2 ==9) //_LBB549_70
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = 3;
+ r1 = 0;
+ r_g0 = r1;
+ return;
+}
+else{
+ r2 = heap32[(r7+9)];
+_90: do {
+ if(r2 !=0) //_LBB549_64
+{
+ r2 = 0;
+ f0 = 0;
+ f1 = f0;
+ f2 = f0;
+_92: while(true){
+ r3 = r2 << 2;
+ r3 = (r6 + r3)|0;
+ r4 = r5 >> 2;
+ r3 = r3 >> 2;
+ r8 = heap32[(r4+30)];
+ r2 = (r2 + 1)|0;
+ r9 = heap32[(r3+1)];
+ r10 = heap32[(fp+-44)];
+ r4 = heap32[(r4+31)];
+ r11 = r8 & 1;
+ if(r11 != 0) //_LBB549_67
+{
+ r11 = (r10 + r4)|0;
+ r11 = r11 >> 2;
+ r11 = heap32[(r11)];
+ r8 = (r8 + r11)|0;
+ r8 = (r8 + -1)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+}
+ r11 = sp + -32;
+ r4 = (r10 + r4)|0;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r9;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r4 = r11 >> 2;
+ f3 = heapFloat[(fp+-8)];
+ f4 = heapFloat[(r3+5)];
+ f5 = heapFloat[(r4+1)];
+ f6 = heapFloat[(r4+2)];
+ f3 = f3*f4;
+ f5 = f5*f4;
+ f4 = f6*f4;
+ f2 = f2+f3;
+ f1 = f1+f5;
+ f0 = f0+f4;
+ r3 = heap32[(r7+9)];
+if(!(uint(r3) >uint(r2))) //_LBB549_65
+{
+break _90;
+}
+}
+}
+else{
+ f0 = 0;
+ f1 = f0;
+ f2 = f0;
+}
+} while(0);
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ heap32[(r1)] = 1;
+ f3 = heapFloat[(r0)];
+ f4 = heapFloat[(r0+1)];
+ f5 = heapFloat[(r0+4)];
+ f6 = heapFloat[(r0+5)];
+ f3 = f3*f2;
+ f4 = f4*f1;
+ f7 = heapFloat[(r0+2)];
+ f8 = heapFloat[(r0+8)];
+ f9 = heapFloat[(r0+9)];
+ f10 = heapFloat[(r0+6)];
+ f5 = f5*f2;
+ f6 = f6*f1;
+ f3 = f3+f4;
+ f4 = f7*f0;
+ f7 = heapFloat[(r0+10)];
+ f8 = f8*f2;
+ f9 = f9*f1;
+ f5 = f5+f6;
+ f6 = f10*f0;
+ f3 = f3+f4;
+ f4 = heapFloat[(r0+12)];
+ f10 = heapFloat[(r0+14)];
+ f11 = heapFloat[(r0+13)];
+ f5 = f5+f6;
+ f6 = f8+f9;
+ f7 = f7*f0;
+ f3 = f3+f4;
+ f4 = f6+f7;
+ f5 = f5+f11;
+ heapFloat[(r1+1)] = f3;
+ f3 = f4+f10;
+ heapFloat[(r1+2)] = f5;
+ heapFloat[(r1+3)] = f3;
+ heap32[(r1+4)] = 0;
+ f3 = heapFloat[(r7+14)];
+ f4 = heapFloat[(r7+11)];
+ f5 = heapFloat[(r7+10)];
+ f6 = heapFloat[(r7+12)];
+ f7 = f5*f3;
+ f8 = f4*f3;
+ f9 = f6*f3;
+ f2 = f2-f7;
+ f7 = heapFloat[(r0)];
+ f1 = f1-f8;
+ f8 = heapFloat[(r0+1)];
+ f10 = heapFloat[(r0+4)];
+ f11 = heapFloat[(r0+5)];
+ f7 = f7*f2;
+ f8 = f8*f1;
+ f0 = f0-f9;
+ f9 = heapFloat[(r0+2)];
+ f12 = heapFloat[(r0+8)];
+ f13 = heapFloat[(r0+9)];
+ f14 = heapFloat[(r0+6)];
+ f10 = f10*f2;
+ f11 = f11*f1;
+ f7 = f7+f8;
+ f8 = f9*f0;
+ f9 = heapFloat[(r0+10)];
+ f2 = f12*f2;
+ f1 = f13*f1;
+ f10 = f10+f11;
+ f11 = f14*f0;
+ f7 = f7+f8;
+ f8 = heapFloat[(r0+12)];
+ f12 = heapFloat[(r0+14)];
+ f13 = heapFloat[(r0+13)];
+ f10 = f10+f11;
+ f1 = f2+f1;
+ f0 = f9*f0;
+ f2 = f7+f8;
+ f0 = f1+f0;
+ f1 = f10+f13;
+ heapFloat[(r1+5)] = f2;
+ f0 = f0+f12;
+ heapFloat[(r1+6)] = f1;
+ heapFloat[(r1+7)] = f0;
+ f0 = -f5;
+ heap32[(r1+8)] = 0;
+ f1 = -f4;
+ heapFloat[(r1+9)] = f0;
+ f0 = -f6;
+ heapFloat[(r1+10)] = f1;
+ heapFloat[(r1+11)] = f0;
+ f0 = -f3;
+ heap32[(r1+12)] = 0;
+ heapFloat[(r1+13)] = f0;
+ r1 = 1;
+ r_g0 = r1;
+ return;
+}
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btGjkEpaSolver28DistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+var __label__ = 0;
+ i7 = sp + -592;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+5)];
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+ r5 = sp + -176;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = r1;
+ heap32[(g0+5)] = r5;
+ heap32[(g0+6)] = 0;
+ r2 = sp + -560;
+ r3 = r2 >> 2;
+ _ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb(i7);
+ heap32[(r3+32)] = 0;
+ heap32[(r3+33)] = 0;
+ heap32[(r3+34)] = 0;
+ heap32[(r3+35)] = 0;
+ heap32[(r3+91)] = 0;
+ heap32[(r3+94)] = 2;
+ heap32[(r3+92)] = 0;
+ heap32[(r3+36)] = 0;
+ r4 = heap32[(fp+4)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r4;
+ _ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3(i7);
+ r2 = r_g0;
+ if(r2 ==0) //_LBB550_3
+{
+ r2 = heap32[(r3+93)];
+ r4 = r2 >> 2;
+ r4 = heap32[(r4+8)];
+_3: do {
+ if(r4 !=0) //_LBB550_5
+{
+ r4 = 0;
+ f0 = 0;
+ f1 = f0;
+ f2 = f0;
+ f3 = f0;
+ f4 = f0;
+ f5 = f0;
+_5: while(true){
+ r6 = r4 << 2;
+ r2 = (r2 + r6)|0;
+ r2 = r2 >> 2;
+ r7 = r5 >> 2;
+ r8 = heap32[(r7+30)];
+ r4 = (r4 + 1)|0;
+ f6 = heapFloat[(r2+4)];
+ r2 = heap32[(r2)];
+ r9 = heap32[(fp+-44)];
+ r10 = heap32[(r7+31)];
+ r11 = r8 & 1;
+ if(r11 != 0) //_LBB550_8
+{
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r11 = heap32[(r11)];
+ r8 = (r8 + r11)|0;
+ r8 = (r8 + -1)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+}
+ r11 = sp + -48;
+ r9 = (r9 + r10)|0;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r2;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r2 = heap32[(r3+93)];
+ r2 = (r2 + r6)|0;
+ r2 = r2 >> 2;
+ r6 = r11 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ f7 = heapFloat[(fp+-12)];
+ f8 = heapFloat[(r6+1)];
+ f9 = heapFloat[(r6+2)];
+ f10 = heapFloat[(r2+2)];
+ f11 = heapFloat[(r2+1)];
+ f12 = heapFloat[(r2)];
+ f7 = f7*f6;
+ f8 = f8*f6;
+ f9 = f9*f6;
+ r2 = heap32[(r7+30)];
+ f5 = f5+f7;
+ f4 = f4+f8;
+ f3 = f3+f9;
+ f7 = -f10;
+ f8 = -f11;
+ f9 = -f12;
+ r6 = heap32[(r7+1)];
+ r8 = heap32[(r7+31)];
+ r9 = r2 & 1;
+ if(r9 != 0) //_LBB550_11
+{
+ r9 = (r6 + r8)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+ r2 = (r2 + r9)|0;
+ r2 = (r2 + -1)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+}
+ f10 = heapFloat[(r7+2)];
+ f11 = heapFloat[(r7+3)];
+ f12 = heapFloat[(r7+6)];
+ f13 = heapFloat[(r7+7)];
+ f10 = f10*f9;
+ f11 = f11*f8;
+ f14 = heapFloat[(r7+4)];
+ f15 = heapFloat[(r7+10)];
+ f16 = heapFloat[(r7+11)];
+ f17 = heapFloat[(r7+12)];
+ f18 = heapFloat[(r7+8)];
+ f12 = f12*f9;
+ f13 = f13*f8;
+ f10 = f10+f11;
+ f11 = f14*f7;
+ r9 = sp + -16;
+ f9 = f15*f9;
+ f8 = f16*f8;
+ f12 = f12+f13;
+ f13 = f18*f7;
+ f10 = f10+f11;
+ r10 = r9 >> 2;
+ f8 = f9+f8;
+ f7 = f17*f7;
+ f9 = f12+f13;
+ heapFloat[(fp+-4)] = f10;
+ f7 = f8+f7;
+ heapFloat[(r10+1)] = f9;
+ heapFloat[(r10+2)] = f7;
+ heap32[(r10+3)] = 0;
+ r10 = sp + -32;
+ r6 = (r6 + r8)|0;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r9;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r10 >> 2;
+ f7 = heapFloat[(r7+14)];
+ f8 = heapFloat[(fp+-8)];
+ f9 = heapFloat[(r7+18)];
+ f10 = heapFloat[(r7+22)];
+ f11 = heapFloat[(r7+15)];
+ f12 = heapFloat[(r2+1)];
+ f13 = heapFloat[(r7+19)];
+ f14 = heapFloat[(r7+23)];
+ f7 = f7*f8;
+ f11 = f11*f12;
+ f15 = heapFloat[(r7+16)];
+ f16 = heapFloat[(r2+2)];
+ f17 = heapFloat[(r7+20)];
+ f18 = heapFloat[(r7+24)];
+ f9 = f9*f8;
+ f13 = f13*f12;
+ f8 = f10*f8;
+ f10 = f14*f12;
+ f7 = f7+f11;
+ f11 = f15*f16;
+ f9 = f9+f13;
+ f12 = f17*f16;
+ f8 = f8+f10;
+ f10 = f18*f16;
+ f7 = f7+f11;
+ f11 = heapFloat[(r7+26)];
+ f9 = f9+f12;
+ f12 = heapFloat[(r7+27)];
+ f8 = f8+f10;
+ f10 = heapFloat[(r7+28)];
+ f7 = f7+f11;
+ f9 = f9+f12;
+ f8 = f8+f10;
+ f7 = f7*f6;
+ f9 = f9*f6;
+ f6 = f8*f6;
+ r2 = heap32[(r3+93)];
+ f2 = f2+f7;
+ f1 = f1+f9;
+ f0 = f0+f6;
+ r6 = r2 >> 2;
+ r6 = heap32[(r6+8)];
+if(!(uint(r6) >uint(r4))) //_LBB550_6
+{
+break _3;
+}
+}
+}
+else{
+ f0 = 0;
+ f1 = f0;
+ f2 = f0;
+ f3 = f0;
+ f4 = f0;
+ f5 = f0;
+}
+} while(0);
+ r0 = r0 >> 2;
+ f6 = heapFloat[(r0)];
+ f7 = heapFloat[(r0+1)];
+ f8 = heapFloat[(r0+4)];
+ f9 = heapFloat[(r0+5)];
+ f6 = f6*f5;
+ f7 = f7*f4;
+ f10 = heapFloat[(r0+2)];
+ f11 = heapFloat[(r0+8)];
+ f12 = heapFloat[(r0+9)];
+ f13 = heapFloat[(r0+6)];
+ f8 = f8*f5;
+ f9 = f9*f4;
+ f6 = f6+f7;
+ f7 = f10*f3;
+ f10 = heapFloat[(r0+10)];
+ f11 = f11*f5;
+ f12 = f12*f4;
+ f8 = f8+f9;
+ f9 = f13*f3;
+ f6 = f6+f7;
+ f7 = heapFloat[(r0+12)];
+ f13 = heapFloat[(r0+14)];
+ f14 = heapFloat[(r0+13)];
+ f8 = f8+f9;
+ r1 = r1 >> 2;
+ f9 = f11+f12;
+ f10 = f10*f3;
+ f6 = f6+f7;
+ f7 = f9+f10;
+ f8 = f8+f14;
+ heapFloat[(r1+1)] = f6;
+ f6 = f7+f13;
+ heapFloat[(r1+2)] = f8;
+ heapFloat[(r1+3)] = f6;
+ heap32[(r1+4)] = 0;
+ f6 = heapFloat[(r0)];
+ f7 = heapFloat[(r0+1)];
+ f8 = heapFloat[(r0+4)];
+ f9 = heapFloat[(r0+5)];
+ f10 = heapFloat[(r0+2)];
+ f6 = f6*f2;
+ f7 = f7*f1;
+ f11 = heapFloat[(r0+8)];
+ f12 = heapFloat[(r0+9)];
+ f13 = heapFloat[(r0+6)];
+ f8 = f8*f2;
+ f9 = f9*f1;
+ f6 = f6+f7;
+ f7 = f10*f0;
+ f10 = heapFloat[(r0+10)];
+ f11 = f11*f2;
+ f12 = f12*f1;
+ f8 = f8+f9;
+ f9 = f13*f0;
+ f6 = f6+f7;
+ f7 = heapFloat[(r0+12)];
+ f13 = heapFloat[(r0+14)];
+ f14 = heapFloat[(r0+13)];
+ f8 = f8+f9;
+ f9 = f11+f12;
+ f10 = f10*f0;
+ f6 = f6+f7;
+ f7 = f9+f10;
+ f8 = f8+f14;
+ heapFloat[(r1+5)] = f6;
+ f6 = f7+f13;
+ heapFloat[(r1+6)] = f8;
+ heapFloat[(r1+7)] = f6;
+ f2 = f5-f2;
+ heap32[(r1+8)] = 0;
+ f1 = f4-f1;
+ heapFloat[(r1+9)] = f2;
+ f0 = f3-f0;
+ heapFloat[(r1+10)] = f1;
+ heapFloat[(r1+11)] = f0;
+ f2 = f2*f2;
+ f1 = f1*f1;
+ heap32[(r1+12)] = 0;
+ f1 = f2+f1;
+ f0 = f0*f0;
+ f0 = f1+f0;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = 1;
+ f2 = 9.9999997473787516e-005;
+ f2 = f_g0 > f2 ? f_g0 : f1;
+ heapFloat[(r1+13)] = f_g0;
+ f0 = f1/f2;
+ f1 = heapFloat[(r1+9)];
+ f1 = f1*f0;
+ heapFloat[(r1+9)] = f1;
+ f1 = heapFloat[(r1+10)];
+ f1 = f1*f0;
+ heapFloat[(r1+10)] = f1;
+ f1 = heapFloat[(r1+11)];
+ f0 = f1*f0;
+ heapFloat[(r1+11)] = f0;
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+else{
+ if(r2 !=1) //_LBB550_14
+{
+ r0 = 2;
+}
+else{
+ r0 = 1;
+}
+ r1 = r1 >> 2;
+ heap32[(r1)] = r0;
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN30btGjkEpaPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -104;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+4)];
+ r1 = heap32[(fp+5)];
+ r2 = r0 >> 2;
+ r3 = r1 >> 2;
+ f0 = heapFloat[(r2+14)];
+ f1 = heapFloat[(r3+14)];
+ f2 = heapFloat[(r2+13)];
+ f3 = heapFloat[(r3+13)];
+ f4 = heapFloat[(r2+12)];
+ f5 = heapFloat[(r3+12)];
+ r2 = sp + -16;
+ f4 = f4-f5;
+ r3 = r2 >> 2;
+ f2 = f2-f3;
+ heapFloat[(fp+-4)] = f4;
+ f0 = f0-f1;
+ heapFloat[(r3+1)] = f2;
+ heapFloat[(r3+2)] = f0;
+ heap32[(r3+3)] = 0;
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+ r5 = sp + -72;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = r2;
+ heap32[(g0+5)] = r5;
+ heap32[(g0+6)] = 1;
+ r6 = heap32[(fp+6)];
+ r7 = heap32[(fp+7)];
+ r8 = heap32[(fp+8)];
+ _ZN15btGjkEpaSolver211PenetrationEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsEb(i7);
+ r9 = r_g0;
+ if(r9 ==0) //_LBB551_2
+{
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = r2;
+ heap32[(g0+5)] = r5;
+ _ZN15btGjkEpaSolver28DistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE(i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB551_4
+{
+ r0 = r5 >> 2;
+ r1 = r7 >> 2;
+ heap32[(r1)] = heap32[(r0+1)];
+ heap32[(r1+1)] = heap32[(r0+2)];
+ heap32[(r1+2)] = heap32[(r0+3)];
+ r2 = r8 >> 2;
+ heap32[(r1+3)] = heap32[(r0+4)];
+ heap32[(r2)] = heap32[(r0+5)];
+ heap32[(r2+1)] = heap32[(r0+6)];
+ heap32[(r2+2)] = heap32[(r0+7)];
+ r1 = r6 >> 2;
+ heap32[(r2+3)] = heap32[(r0+8)];
+ heap32[(r1)] = heap32[(r0+9)];
+ heap32[(r1+1)] = heap32[(r0+10)];
+ heap32[(r1+2)] = heap32[(r0+11)];
+ heap32[(r1+3)] = heap32[(r0+12)];
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+else{
+ r0 = r5 >> 2;
+ r1 = r7 >> 2;
+ heap32[(r1)] = heap32[(r0+1)];
+ heap32[(r1+1)] = heap32[(r0+2)];
+ heap32[(r1+2)] = heap32[(r0+3)];
+ r2 = r8 >> 2;
+ heap32[(r1+3)] = heap32[(r0+4)];
+ heap32[(r2)] = heap32[(r0+5)];
+ heap32[(r2+1)] = heap32[(r0+6)];
+ heap32[(r2+2)] = heap32[(r0+7)];
+ r1 = r6 >> 2;
+ heap32[(r2+3)] = heap32[(r0+8)];
+ heap32[(r1)] = heap32[(r0+9)];
+ heap32[(r1+1)] = heap32[(r0+10)];
+ heap32[(r1+2)] = heap32[(r0+11)];
+ heap32[(r1+3)] = heap32[(r0+12)];
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN30btGjkEpaPenetrationDepthSolverD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV30btGjkEpaPenetrationDepthSolver;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN30btGjkEpaPenetrationDepthSolverD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV30btGjkEpaPenetrationDepthSolver;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN17btGjkPairDetectorD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV17btGjkPairDetector;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN17btGjkPairDetectorD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV17btGjkPairDetector;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var r25;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -304;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = sp + -32;
+ heap32[(r1+14)] = 0;
+ r3 = r2 >> 2;
+ heap32[(fp+-8)] = 0;
+ heap32[(r3+1)] = 0;
+ r4 = heap32[(fp+1)];
+ heap32[(r3+2)] = 0;
+ r5 = sp + -96;
+ r4 = r4 >> 2;
+ heap32[(r3+3)] = 0;
+ r6 = r5 >> 2;
+ heap32[(fp+-24)] = heap32[(r4)];
+ heap32[(r6+1)] = heap32[(r4+1)];
+ heap32[(r6+2)] = heap32[(r4+2)];
+ heap32[(r6+3)] = heap32[(r4+3)];
+ heap32[(r6+4)] = heap32[(r4+4)];
+ heap32[(r6+5)] = heap32[(r4+5)];
+ heap32[(r6+6)] = heap32[(r4+6)];
+ heap32[(r6+7)] = heap32[(r4+7)];
+ heap32[(r6+8)] = heap32[(r4+8)];
+ heap32[(r6+9)] = heap32[(r4+9)];
+ heap32[(r6+10)] = heap32[(r4+10)];
+ heap32[(r6+11)] = heap32[(r4+11)];
+ f0 = heapFloat[(r4+12)];
+ f1 = heapFloat[(r4+13)];
+ f2 = heapFloat[(r4+14)];
+ r7 = sp + -160;
+ heap32[(r6+15)] = heap32[(r4+15)];
+ r8 = r7 >> 2;
+ heap32[(fp+-40)] = heap32[(r4+16)];
+ heap32[(r8+1)] = heap32[(r4+17)];
+ heap32[(r8+2)] = heap32[(r4+18)];
+ heap32[(r8+3)] = heap32[(r4+19)];
+ heap32[(r8+4)] = heap32[(r4+20)];
+ heap32[(r8+5)] = heap32[(r4+21)];
+ heap32[(r8+6)] = heap32[(r4+22)];
+ heap32[(r8+7)] = heap32[(r4+23)];
+ heap32[(r8+8)] = heap32[(r4+24)];
+ heap32[(r8+9)] = heap32[(r4+25)];
+ heap32[(r8+10)] = heap32[(r4+26)];
+ heap32[(r8+11)] = heap32[(r4+27)];
+ f3 = heapFloat[(r4+28)];
+ f4 = heapFloat[(r4+29)];
+ f5 = heapFloat[(r4+30)];
+ f6 = f0+f3;
+ f7 = 0.5;
+ f6 = f6*f7;
+ f8 = f1+f4;
+ f8 = f8*f7;
+ f9 = f2+f5;
+ f0 = f0-f6;
+ heap32[(r8+15)] = heap32[(r4+31)];
+ f7 = f9*f7;
+ f1 = f1-f8;
+ heapFloat[(r6+12)] = f0;
+ f0 = f2-f7;
+ heapFloat[(r6+13)] = f1;
+ f1 = f3-f6;
+ heapFloat[(r6+14)] = f0;
+ f0 = f4-f8;
+ heapFloat[(r8+12)] = f1;
+ f1 = f5-f7;
+ heapFloat[(r8+13)] = f0;
+ heapFloat[(r8+14)] = f1;
+ r9 = heap32[(r1+7)];
+ r9 = r9 >> 2;
+ r10 = heap32[(fp+2)];
+ r11 = heap32[(fp+3)];
+ r9 = heap32[(r9+1)];
+ r9 = (r9 + -17)|0;
+ if(uint(r9) >uint(1)) //_LBB556_3
+{
+__label__ = 3;
+}
+else{
+ r9 = heap32[(r1+8)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+1)];
+ r9 = (r9 + -17)|0;
+ if(uint(r9) >uint(1)) //_LBB556_3
+{
+__label__ = 3;
+}
+else{
+ r9 = (r0 + 32)|0;
+ r12 = 0;
+__label__ = 4;
+}
+}
+if (__label__ == 3){
+ r9 = (r0 + 32)|0;
+ r12 = 1;
+}
+ r13 = gNumGjkChecks;
+ r13 = r13 >> 2;
+ r14 = heap32[(r13)];
+ f0 = heapFloat[(r1+11)];
+ f1 = heapFloat[(r1+12)];
+ r14 = (r14 + 1)|0;
+ heap32[(r13)] = r14;
+ r13 = heapU8[r0+52];
+ heap32[(r1+16)] = 0;
+ heap32[(r1+1)] = 0;
+ heap32[(r1+2)] = 1065353216;
+ heap32[(r1+3)] = 0;
+ heap32[(r1+4)] = 0;
+ heap32[(r1+17)] = 0;
+ heap32[(r1+15)] = -1;
+ r14 = heap32[(r1+6)];
+ r15 = 0;
+ r16 = r14 >> 2;
+ heap8[r14+312] = r15;
+ r17 = 1;
+ heap32[(r16)] = 0;
+ heap8[r14+356] = r17;
+ heap32[(r16+73)] = 1566444395;
+ heap32[(r16+74)] = 1566444395;
+ heap32[(r16+75)] = 1566444395;
+ heap32[(r16+76)] = 0;
+ heap8[r14+352] = r15;
+ heap32[(r16+84)] = 0;
+ heap32[(r16+85)] = 0;
+ heap32[(r16+86)] = 0;
+ heap32[(r16+87)] = 0;
+ r16 = heapU8[r14+332];
+ f2 = 0;
+ r16 = r16 & 240;
+ heap8[r14+332] = r16;
+ f1 = r13 == r15 ? f1 : f2;
+ f0 = r13 == r15 ? f0 : f2;
+ f0 = f0+f1;
+ f3 = heapFloat[(r1+3)];
+ f4 = heapFloat[(r1+2)];
+ f5 = heapFloat[(r1+1)];
+ f9 = 999999984306749440;
+_7: while(true){
+ f10 = -f5;
+ f11 = heapFloat[(r4)];
+ f12 = heapFloat[(r4+4)];
+ f13 = heapFloat[(r4+1)];
+ f14 = heapFloat[(r4+5)];
+ f11 = f11*f10;
+ f12 = f12*f4;
+ f15 = heapFloat[(r4+8)];
+ f16 = heapFloat[(r4+2)];
+ f17 = heapFloat[(r4+6)];
+ f18 = heapFloat[(r4+10)];
+ f19 = heapFloat[(r4+9)];
+ f13 = f13*f10;
+ f14 = f14*f4;
+ f11 = f11-f12;
+ f12 = f15*f3;
+ r13 = sp + -176;
+ f10 = f16*f10;
+ f15 = f17*f4;
+ f13 = f13-f14;
+ f14 = f19*f3;
+ f11 = f11-f12;
+ r14 = r13 >> 2;
+ f10 = f10-f15;
+ f12 = f18*f3;
+ f13 = f13-f14;
+ heapFloat[(fp+-44)] = f11;
+ f10 = f10-f12;
+ heapFloat[(r14+1)] = f13;
+ heapFloat[(r14+2)] = f10;
+ heap32[(r14+3)] = 0;
+ f10 = heapFloat[(r4+16)];
+ f11 = heapFloat[(r4+20)];
+ f12 = heapFloat[(r4+17)];
+ f13 = heapFloat[(r4+21)];
+ f14 = heapFloat[(r4+24)];
+ f10 = f10*f5;
+ f11 = f11*f4;
+ f15 = heapFloat[(r4+18)];
+ f16 = heapFloat[(r4+22)];
+ f17 = heapFloat[(r4+26)];
+ f18 = heapFloat[(r4+25)];
+ f12 = f12*f5;
+ f13 = f13*f4;
+ f10 = f10+f11;
+ f11 = f14*f3;
+ r14 = sp + -192;
+ f5 = f15*f5;
+ f4 = f16*f4;
+ f12 = f12+f13;
+ f13 = f18*f3;
+ f10 = f10+f11;
+ r16 = r14 >> 2;
+ f4 = f5+f4;
+ f3 = f17*f3;
+ f5 = f12+f13;
+ heapFloat[(fp+-48)] = f10;
+ f3 = f4+f3;
+ heapFloat[(r16+1)] = f5;
+ heapFloat[(r16+2)] = f3;
+ heap32[(r16+3)] = 0;
+ r16 = heap32[(r1+7)];
+ r18 = sp + -208;
+ heap32[(g0)] = r18;
+ heap32[(g0+1)] = r16;
+ heap32[(g0+2)] = r13;
+ r13 = r9 >> 2;
+ _ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3(i7);
+ r16 = heap32[(r13)];
+ r19 = sp + -224;
+ heap32[(g0)] = r19;
+ heap32[(g0+1)] = r16;
+ heap32[(g0+2)] = r14;
+ _ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3(i7);
+ r14 = r18 >> 2;
+ r16 = r19 >> 2;
+ f3 = heapFloat[(r6+8)];
+ f4 = heapFloat[(fp+-52)];
+ f5 = heapFloat[(r6+4)];
+ f10 = heapFloat[(fp+-24)];
+ f11 = heapFloat[(r6+9)];
+ f12 = heapFloat[(r14+1)];
+ f13 = heapFloat[(r6+5)];
+ f14 = heapFloat[(r6+1)];
+ f15 = heapFloat[(r8+8)];
+ f16 = heapFloat[(fp+-56)];
+ f17 = heapFloat[(r8+4)];
+ f18 = heapFloat[(fp+-40)];
+ f19 = heapFloat[(r8+9)];
+ f20 = heapFloat[(r16+1)];
+ f21 = heapFloat[(r8+5)];
+ f22 = heapFloat[(r8+1)];
+ f3 = f3*f4;
+ f11 = f11*f12;
+ f23 = heapFloat[(r6+10)];
+ f24 = heapFloat[(r14+2)];
+ f25 = heapFloat[(r6+6)];
+ f26 = heapFloat[(r6+2)];
+ f15 = f15*f16;
+ f19 = f19*f20;
+ f27 = heapFloat[(r8+10)];
+ f28 = heapFloat[(r16+2)];
+ f29 = heapFloat[(r8+6)];
+ f30 = heapFloat[(r8+2)];
+ f5 = f5*f4;
+ f13 = f13*f12;
+ f17 = f17*f16;
+ f21 = f21*f20;
+ f4 = f10*f4;
+ f10 = f14*f12;
+ f12 = f18*f16;
+ f14 = f22*f20;
+ f3 = f3+f11;
+ f11 = f23*f24;
+ f15 = f15+f19;
+ f16 = f27*f28;
+ f5 = f5+f13;
+ f13 = f25*f24;
+ f17 = f17+f21;
+ f18 = f29*f28;
+ f4 = f4+f10;
+ f10 = f26*f24;
+ f12 = f12+f14;
+ f14 = f30*f28;
+ f3 = f3+f11;
+ f11 = heapFloat[(r6+14)];
+ f15 = f15+f16;
+ f16 = heapFloat[(r8+14)];
+ f5 = f5+f13;
+ f13 = heapFloat[(r6+13)];
+ f17 = f17+f18;
+ f18 = heapFloat[(r8+13)];
+ f4 = f4+f10;
+ f10 = heapFloat[(r6+12)];
+ f12 = f12+f14;
+ f14 = heapFloat[(r8+12)];
+ f5 = f5+f13;
+ f13 = f17+f18;
+ f4 = f4+f10;
+ f10 = f12+f14;
+ f3 = f3+f11;
+ f11 = f15+f16;
+ f3 = r12 != r15 ? f3 : f2;
+ f11 = r12 != r15 ? f11 : f2;
+ f12 = f5-f13;
+ f14 = heapFloat[(r1+2)];
+ f15 = f4-f10;
+ f16 = heapFloat[(r1+1)];
+ f17 = f3-f11;
+ f18 = heapFloat[(r1+3)];
+ f16 = f16*f15;
+ f14 = f14*f12;
+ f14 = f16+f14;
+ f16 = f18*f17;
+ f14 = f14+f16;
+if(!(f14 <=f2)) //_LBB556_8
+{
+ f16 = heapFloat[(r4+32)];
+ f18 = f14*f14;
+ f16 = f16*f9;
+if(!(f18 <=f16)) //_LBB556_8
+{
+__label__ = 7;
+break _7;
+}
+}
+ r14 = heap32[(r1+6)];
+ r16 = r14 >> 2;
+ r18 = heap32[(r16)];
+_12: do {
+ if(r18 >0) //_LBB556_10
+{
+ r19 = -12;
+ f16 = heapFloat[(r16+77)];
+ r20 = (r19 - r14)|0;
+ r21 = 0;
+ r22 = r18;
+ r19 = r21;
+_14: while(true){
+ r23 = -8;
+ r24 = -4;
+ r23 = (r23 - r20)|0;
+ r24 = (r24 - r20)|0;
+ r23 = r23 >> 2;
+ r24 = r24 >> 2;
+ r25 = (r21 - r20)|0;
+ r25 = r25 >> 2;
+ f18 = heapFloat[(r23)];
+ f19 = heapFloat[(r24)];
+ f18 = f15-f18;
+ f19 = f12-f19;
+ f20 = heapFloat[(r25)];
+ f20 = f17-f20;
+ f18 = f18*f18;
+ f19 = f19*f19;
+ f18 = f18+f19;
+ f19 = f20*f20;
+ f18 = f18+f19;
+ r22 = (r22 + -1)|0;
+ r19 = f18 > f16 ? r19 : r17;
+ r20 = (r20 + -16)|0;
+ if(r22 !=0) //_LBB556_11
+{
+continue _14;
+}
+else{
+break _12;
+}
+}
+}
+else{
+ r19 = r15;
+}
+} while(0);
+ f16 = heapFloat[(r16+76)];
+ if(f16 ==f2) //_LBB556_14
+{
+ f16 = heapFloat[(r16+75)];
+if(!(f17 !=f16)) //_LBB556_13
+{
+ f16 = heapFloat[(r16+74)];
+if(!(f12 !=f16)) //_LBB556_13
+{
+ f16 = heapFloat[(r16+73)];
+ r19 = f15 != f16 ? r19 : r17;
+}
+}
+}
+ r19 = r19 & 255;
+ if(r19 ==0) //_LBB556_19
+{
+ f14 = f9-f14;
+ f16 = 9.9999999747524271e-007;
+ f18 = f9*f16;
+ if(f14 >f18) //_LBB556_21
+{
+ heapFloat[(r16+73)] = f15;
+ heapFloat[(r16+74)] = f12;
+ r18 = r18 << 4;
+ heapFloat[(r16+75)] = f17;
+ r18 = (r14 + r18)|0;
+ heap32[(r16+76)] = 0;
+ r18 = r18 >> 2;
+ heap8[r14+356] = r17;
+ heapFloat[(r18+1)] = f15;
+ heapFloat[(r18+2)] = f12;
+ heapFloat[(r18+3)] = f17;
+ heap32[(r18+4)] = 0;
+ r18 = heap32[(r16)];
+ r18 = r18 << 4;
+ r18 = (r14 + r18)|0;
+ r18 = r18 >> 2;
+ heapFloat[(r18+21)] = f4;
+ heapFloat[(r18+22)] = f5;
+ heapFloat[(r18+23)] = f3;
+ heap32[(r18+24)] = 0;
+ r18 = heap32[(r16)];
+ r18 = r18 << 4;
+ r14 = (r14 + r18)|0;
+ r14 = r14 >> 2;
+ heapFloat[(r14+41)] = f10;
+ heapFloat[(r14+42)] = f13;
+ heapFloat[(r14+43)] = f11;
+ heap32[(r14+44)] = 0;
+ r14 = heap32[(r16)];
+ r14 = (r14 + 1)|0;
+ heap32[(r16)] = r14;
+ r14 = heap32[(r1+6)];
+ heap32[(g0)] = r14;
+ _ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv(i7);
+ r16 = r_g0;
+ if(r16 !=0) //_LBB556_23
+{
+ r14 = r14 >> 2;
+ f5 = heapFloat[(r14+69)];
+ f4 = heapFloat[(r14+70)];
+ f3 = heapFloat[(r14+71)];
+ f10 = heapFloat[(r14+72)];
+ heapFloat[(r1+1)] = f5;
+ f11 = f5*f5;
+ f12 = f4*f4;
+ heapFloat[(r1+2)] = f4;
+ f11 = f11+f12;
+ f12 = f3*f3;
+ f11 = f11+f12;
+ heapFloat[(r1+3)] = f3;
+ heapFloat[(r1+4)] = f10;
+ if(f11 >=f16) //_LBB556_25
+{
+ f10 = 1.1920928955078125e-007;
+ f12 = f9-f11;
+ f9 = f9*f10;
+ if(f12 >f9) //_LBB556_27
+{
+ r14 = heap32[(r1+16)];
+ r16 = (r14 + 1)|0;
+ heap32[(r1+16)] = r16;
+ if(r14 <1001) //_LBB556_29
+{
+ r14 = heap32[(r1+6)];
+ r14 = r14 >> 2;
+ r16 = heap32[(r14)];
+ f9 = f11;
+ if(r16 !=4) //_LBB556_5
+{
+continue _7;
+}
+else{
+__label__ = 29;
+break _7;
+}
+}
+else{
+__label__ = 27;
+break _7;
+}
+}
+else{
+__label__ = 25;
+break _7;
+}
+}
+else{
+__label__ = 23;
+break _7;
+}
+}
+else{
+__label__ = 21;
+break _7;
+}
+}
+else{
+__label__ = 19;
+break _7;
+}
+}
+else{
+__label__ = 17;
+break _7;
+}
+}
+_29: do {
+switch(__label__ ){//multiple entries
+case 7:
+ heap32[(r1+17)] = 10;
+__label__ = 30;
+break _29;
+break;
+case 29:
+ heap32[(r1+1)] = heap32[(r14+69)];
+ heap32[(r1+2)] = heap32[(r14+70)];
+ heap32[(r1+3)] = heap32[(r14+71)];
+ r17 = 0;
+ heap32[(r1+4)] = heap32[(r14+72)];
+ heap32[(r1+17)] = 13;
+__label__ = 37;
+break _29;
+break;
+case 27:
+ r6 = _2E_str425;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r16;
+ printf(i7);
+ r6 = heap32[(r13)];
+ r8 = heap32[(r1+7)];
+ r6 = r6 >> 2;
+ r8 = r8 >> 2;
+ f2 = heapFloat[(r1+3)];
+ f3 = heapFloat[(r1+2)];
+ f4 = heapFloat[(r1+1)];
+ r6 = heap32[(r6+1)];
+ r8 = heap32[(r8+1)];
+ r9 = _2E_str1426;
+ f4 = f4; //fstod f4, f4
+ f3 = f3; //fstod f3, f3
+ f2 = f2; //fstod f2, f2
+ f5 = f11; //fstod f11, f5
+ heap32[(g0)] = r9;
+ llvm_writeDouble((i7+8),f4);
+ llvm_writeDouble((i7+16),f3);
+ llvm_writeDouble((i7+24),f2);
+ llvm_writeDouble((i7+32),f5);
+ heap32[(g0+10)] = r8;
+ heap32[(g0+11)] = r6;
+ f2 = 0;
+ r17 = 0;
+ printf(i7);
+__label__ = 37;
+break _29;
+break;
+case 25:
+ r6 = heap32[(r1+6)];
+ r6 = r6 >> 2;
+ heap32[(r1+1)] = heap32[(r6+69)];
+ heap32[(r1+2)] = heap32[(r6+70)];
+ heap32[(r1+3)] = heap32[(r6+71)];
+ heap32[(r1+4)] = heap32[(r6+72)];
+ heap32[(r1+17)] = 12;
+ f9 = f11;
+__label__ = 30;
+break _29;
+break;
+case 23:
+ heap32[(r1+17)] = 6;
+__label__ = 30;
+break _29;
+break;
+case 21:
+ heap32[(r1+17)] = 3;
+__label__ = 30;
+break _29;
+break;
+case 19:
+ r6 = 11;
+ r8 = 2;
+ r6 = f14 > f2 ? r6 : r8;
+ heap32[(r1+17)] = r6;
+__label__ = 30;
+break _29;
+break;
+case 17:
+ heap32[(r1+17)] = 1;
+__label__ = 30;
+break;
+}
+} while(0);
+if (__label__ == 30){
+ r6 = heap32[(r1+6)];
+ heap32[(g0)] = r6;
+ r6 = r6 >> 2;
+ _ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv(i7);
+ f3 = heapFloat[(r6+65)];
+ f2 = heapFloat[(r6+61)];
+ f4 = heapFloat[(r6+66)];
+ f5 = heapFloat[(r6+62)];
+ f10 = heapFloat[(r6+67)];
+ f11 = heapFloat[(r6+63)];
+ f2 = f2-f3;
+ f5 = f5-f4;
+ heapFloat[(fp+-8)] = f2;
+ f2 = f11-f10;
+ heapFloat[(r3+1)] = f5;
+ heapFloat[(r3+2)] = f2;
+ heap32[(r3+3)] = 0;
+ f2 = heapFloat[(r1+1)];
+ f5 = heapFloat[(r1+2)];
+ f11 = heapFloat[(r1+3)];
+ f2 = f2*f2;
+ f5 = f5*f5;
+ f2 = f2+f5;
+ f5 = f11*f11;
+ f2 = f2+f5;
+ f5 = f2; //fstod f2, f5
+ f11 = 0.0001;
+if(!(f5 >=f11)) //_LBB556_33
+{
+ heap32[(r1+17)] = 5;
+}
+ f5 = 1.4210854715202004e-014;
+ if(f2 <=f5) //_LBB556_37
+{
+ f2 = 0;
+ r17 = 0;
+ heap32[(r1+15)] = 2;
+}
+else{
+ heapFloat[(g0)] = f2;
+ sqrtf(i7);
+ f5 = 1;
+ f2 = f5/f_g0;
+ f11 = heapFloat[(fp+-8)];
+ f11 = f11*f2;
+ heapFloat[(fp+-8)] = f11;
+ f11 = heapFloat[(r3+1)];
+ f11 = f11*f2;
+ heapFloat[(r3+1)] = f11;
+ f11 = heapFloat[(r3+2)];
+ f11 = f11*f2;
+ heapFloat[(r3+2)] = f11;
+ heapFloat[(g0)] = f9;
+ sqrtf(i7);
+ f9 = f_g0;
+ f11 = 0;
+ if(f9 >f11) //_LBB556_36
+{
+ f9 = f1/f9;
+ f11 = heapFloat[(r1+3)];
+ f12 = heapFloat[(r1+2)];
+ f13 = heapFloat[(r1+1)];
+ f13 = f13*f9;
+ f12 = f12*f9;
+ f9 = f11*f9;
+ f2 = f5/f2;
+ f3 = f3+f13;
+ f4 = f4+f12;
+ f10 = f10+f9;
+ f2 = f2-f0;
+ heap32[(r1+15)] = 1;
+}
+else{
+ r0 = _2E_str2427;
+ r1 = _2E_str3428;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 320;
+ _assert(i7);
+}
+}
+}
+ r6 = heap32[(r1+18)];
+ if(r6 ==0) //_LBB556_45
+{
+__label__ = 42;
+}
+else{
+ r6 = heap32[(r1+5)];
+ if(r6 ==0) //_LBB556_45
+{
+__label__ = 42;
+}
+else{
+ r8 = heap32[(r1+17)];
+ if(r8 ==0) //_LBB556_45
+{
+__label__ = 42;
+}
+else{
+ f5 = f2+f0;
+ f5 = f5; //fstod f5, f5
+ f9 = 0.01;
+ if(f5 <f9) //_LBB556_43
+{
+__label__ = 44;
+}
+else{
+ r8 = r17 & 255;
+ if(r8 ==1) //_LBB556_44
+{
+__label__ = 60;
+}
+else{
+__label__ = 44;
+}
+}
+}
+}
+}
+if (__label__ == 42){
+ r6 = r17 & 255;
+ if(r6 ==1) //_LBB556_44
+{
+__label__ = 60;
+}
+else{
+ r6 = heap32[(r1+5)];
+ if(r6 ==0) //_LBB556_62
+{
+__label__ = 59;
+}
+else{
+__label__ = 44;
+}
+}
+}
+_58: do {
+if (__label__ == 44){
+ r8 = gNumDeepPenetrationChecks;
+ r8 = r8 >> 2;
+ r9 = heap32[(r8)];
+ r9 = (r9 + 1)|0;
+ heap32[(r8)] = r9;
+ heap32[(r1+1)] = 0;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 0;
+ heap32[(r1+4)] = 0;
+ r8 = r6 >> 2;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+2)];
+ r9 = heap32[(r4+33)];
+ r12 = heap32[(r13)];
+ r13 = heap32[(r1+7)];
+ r14 = heap32[(r1+6)];
+ r0 = (r0 + 4)|0;
+ r15 = sp + -240;
+ r16 = sp + -256;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r14;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = r12;
+ heap32[(g0+4)] = r5;
+ heap32[(g0+5)] = r7;
+ heap32[(g0+6)] = r0;
+ heap32[(g0+7)] = r15;
+ heap32[(g0+8)] = r16;
+ heap32[(g0+9)] = r11;
+ heap32[(g0+10)] = r9;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r0 = r_g0;
+ if(r0 ==0) //_LBB556_57
+{
+ f5 = heapFloat[(r1+1)];
+ f9 = heapFloat[(r1+2)];
+ f11 = heapFloat[(r1+3)];
+ f5 = f5*f5;
+ f9 = f9*f9;
+ f5 = f5+f9;
+ f9 = f11*f11;
+ f5 = f5+f9;
+ f9 = 0;
+ if(f5 <=f9) //_LBB556_62
+{
+__label__ = 59;
+break _58;
+}
+else{
+ r0 = r15 >> 2;
+ r5 = r16 >> 2;
+ f5 = heapFloat[(r0+1)];
+ f9 = heapFloat[(r5+1)];
+ f11 = heapFloat[(fp+-60)];
+ f12 = heapFloat[(fp+-64)];
+ f11 = f11-f12;
+ f5 = f5-f9;
+ f9 = heapFloat[(r0+2)];
+ f12 = heapFloat[(r5+2)];
+ f9 = f9-f12;
+ f11 = f11*f11;
+ f5 = f5*f5;
+ f5 = f11+f5;
+ f9 = f9*f9;
+ f5 = f5+f9;
+ heapFloat[(g0)] = f5;
+ sqrtf(i7);
+ f0 = f_g0-f0;
+ r0 = r17 & 255;
+if(!(r0 !=1)) //_LBB556_60
+{
+ if(f0 >=f2) //_LBB556_61
+{
+ heap32[(r1+15)] = 5;
+__label__ = 59;
+break _58;
+}
+}
+ f2 = heapFloat[(r1+1)];
+ f3 = heapFloat[(r1+2)];
+ f4 = heapFloat[(r1+3)];
+ f10 = heapFloat[(fp+-64)];
+ f5 = heapFloat[(r5+1)];
+ f9 = heapFloat[(r5+2)];
+ heapFloat[(fp+-8)] = f2;
+ heapFloat[(r3+1)] = f3;
+ heapFloat[(r3+2)] = f4;
+ f11 = f2*f2;
+ f12 = f3*f3;
+ heap32[(r3+3)] = heap32[(r1+4)];
+ f11 = f11+f12;
+ f12 = f4*f4;
+ f11 = f11+f12;
+ heapFloat[(g0)] = f11;
+ sqrtf(i7);
+ f12 = 1;
+ f11 = f12/f_g0;
+ f12 = heapFloat[(fp+-8)];
+ f12 = f12*f11;
+ heapFloat[(fp+-8)] = f12;
+ f12 = heapFloat[(r3+1)];
+ f12 = f12*f11;
+ heapFloat[(r3+1)] = f12;
+ f12 = heapFloat[(r3+2)];
+ f2 = f2*f1;
+ f13 = f3*f1;
+ f1 = f4*f1;
+ f11 = f12*f11;
+ f3 = f10+f2;
+ f4 = f5+f13;
+ f10 = f9+f1;
+ heapFloat[(r3+2)] = f11;
+ heap32[(r1+15)] = 6;
+ f2 = f0;
+__label__ = 60;
+break _58;
+}
+}
+else{
+ r16 = r16 >> 2;
+ r15 = r15 >> 2;
+ f0 = heapFloat[(r16+1)];
+ f1 = heapFloat[(r15+1)];
+ f5 = heapFloat[(fp+-64)];
+ f9 = heapFloat[(fp+-60)];
+ f0 = f0-f1;
+ f1 = f5-f9;
+ f5 = heapFloat[(r16+2)];
+ f9 = heapFloat[(r15+2)];
+ f5 = f5-f9;
+ f9 = f1*f1;
+ f11 = f0*f0;
+ f9 = f9+f11;
+ f11 = f5*f5;
+ f9 = f9+f11;
+ f11 = 1.4210854715202004e-014;
+ if(f9 <=f11) //_LBB556_50
+{
+ f1 = heapFloat[(r1+1)];
+ f0 = heapFloat[(r1+2)];
+ f5 = heapFloat[(r1+3)];
+ f9 = f1*f1;
+ f12 = f0*f0;
+ f9 = f9+f12;
+ f13 = f5*f5;
+ f12 = heapFloat[(r1+4)];
+ f9 = f9+f13;
+}
+else{
+ f12 = 0;
+}
+ if(f9 <=f11) //_LBB556_56
+{
+ heap32[(r1+15)] = 9;
+__label__ = 59;
+break _58;
+}
+else{
+ heapFloat[(g0)] = f9;
+ sqrtf(i7);
+ f9 = f_g0;
+ f11 = heapFloat[(r15+1)];
+ f13 = heapFloat[(r16+1)];
+ f14 = heapFloat[(fp+-60)];
+ f15 = heapFloat[(fp+-64)];
+ f14 = f14-f15;
+ f11 = f11-f13;
+ f13 = heapFloat[(r15+2)];
+ f15 = heapFloat[(r16+2)];
+ f13 = f13-f15;
+ f14 = f14*f14;
+ f11 = f11*f11;
+ f11 = f14+f11;
+ f13 = f13*f13;
+ f11 = f11+f13;
+ heapFloat[(g0)] = f11;
+ sqrtf(i7);
+ f11 = -f_g0;
+ r15 = r17 & 255;
+if(!(r15 !=1)) //_LBB556_54
+{
+ if(f2 <=f11) //_LBB556_55
+{
+ heap32[(r1+15)] = 8;
+__label__ = 59;
+break _58;
+}
+}
+ f2 = 1;
+ f2 = f2/f9;
+ f3 = heapFloat[(fp+-64)];
+ f4 = heapFloat[(r16+1)];
+ f10 = heapFloat[(r16+2)];
+ f1 = f1*f2;
+ f0 = f0*f2;
+ heapFloat[(fp+-8)] = f1;
+ f1 = f5*f2;
+ heapFloat[(r3+1)] = f0;
+ heapFloat[(r3+2)] = f1;
+ heapFloat[(r3+3)] = f12;
+ heap32[(r1+15)] = 3;
+ f2 = f11;
+__label__ = 60;
+}
+}
+}
+} while(0);
+if (__label__ == 59){
+ r0 = r17 & 255;
+ if(r0 ==0) //_LBB556_66
+{
+__label__ = 63;
+}
+else{
+__label__ = 60;
+}
+}
+_81: do {
+if (__label__ == 60){
+ f0 = 0;
+if(!(f2 <f0)) //_LBB556_65
+{
+ f0 = f2*f2;
+ f1 = heapFloat[(r4+32)];
+ if(f0 >=f1) //_LBB556_66
+{
+break _81;
+}
+}
+ heap32[(r1+1)] = heap32[(fp+-8)];
+ heap32[(r1+2)] = heap32[(r3+1)];
+ heap32[(r1+3)] = heap32[(r3+2)];
+ heap32[(r1+4)] = heap32[(r3+3)];
+ r0 = r10 >> 2;
+ heapFloat[(r1+14)] = f2;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ r1 = sp + -16;
+ f0 = f3+f6;
+ r3 = r1 >> 2;
+ f1 = f4+f8;
+ heapFloat[(fp+-4)] = f0;
+ f0 = f10+f7;
+ heapFloat[(r3+1)] = f1;
+ heapFloat[(r3+2)] = f0;
+ heap32[(r3+3)] = 0;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r1;
+ heapFloat[(g0+3)] = f2;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+}
+} while(0);
+ return;
+}
+
+function _ZN20btPersistentManifold18removeContactPointEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+279)];
+ r3 = (r2 + -1)|0;
+ r4 = heap32[(fp+1)];
+ if(r3 ==r4) //_LBB557_2
+{
+ r3 = (r2 * 276)|0;
+ r0 = (r0 + r3)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+-41)];
+ if(r0 !=0) //_LBB557_4
+{
+ r1 = _2E_str434;
+ r2 = _2E_str483;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 160;
+ _assert(i7);
+}
+}
+else{
+ r4 = (r4 * 276)|0;
+ r5 = (r0 + 4)|0;
+ r3 = (r3 * 276)|0;
+ r4 = (r5 + r4)|0;
+ r3 = (r5 + r3)|0;
+ r2 = (r2 * 276)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 276;
+ r0 = (r0 + r2)|0;
+ memcpy(i7);
+ r2 = r0 >> 2;
+ heap32[(r2+-41)] = 0;
+ heap32[(r2+-16)] = 0;
+ heap32[(r2+-8)] = 0;
+ heap32[(r2)] = 0;
+ r3 = 0;
+ heap32[(r2+-40)] = 0;
+ heap8[r0+-156] = r3;
+ heap32[(r2+-38)] = 0;
+ heap32[(r2+-37)] = 0;
+ heap32[(r2+-32)] = 0;
+ r2 = heap32[(r1+279)];
+}
+ r0 = (r2 + -1)|0;
+ heap32[(r1+279)] = r0;
+ return;
+}
+
+function _ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+279)];
+ r3 = (r2 + -1)|0;
+ if(r3 >-1) //_LBB558_2
+{
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+_3: while(true){
+ r5 = (r2 * 69)|0;
+ r5 = r5 << 2;
+ r5 = (r0 + r5)|0;
+ r6 = r3 >> 2;
+ r5 = r5 >> 2;
+ f0 = heapFloat[(r5+-68)];
+ f1 = heapFloat[(r6)];
+ f2 = heapFloat[(r5+-67)];
+ f3 = heapFloat[(r6+1)];
+ f4 = heapFloat[(r6+4)];
+ f5 = heapFloat[(r6+5)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r5+-66)];
+ f7 = heapFloat[(r6+2)];
+ f8 = heapFloat[(r6+8)];
+ f9 = heapFloat[(r6+9)];
+ f10 = heapFloat[(r6+6)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r6+10)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r6+12)];
+ f8 = heapFloat[(r6+14)];
+ f9 = heapFloat[(r6+13)];
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ f2 = f4+f9;
+ heapFloat[(r5+-56)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r5+-55)] = f2;
+ heapFloat[(r5+-54)] = f0;
+ heap32[(r5+-53)] = 0;
+ r6 = r4 >> 2;
+ f0 = heapFloat[(r5+-64)];
+ f1 = heapFloat[(r6)];
+ f2 = heapFloat[(r5+-63)];
+ f3 = heapFloat[(r6+1)];
+ f4 = heapFloat[(r6+4)];
+ f5 = heapFloat[(r6+5)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r5+-62)];
+ f7 = heapFloat[(r6+2)];
+ f8 = heapFloat[(r6+8)];
+ f9 = heapFloat[(r6+9)];
+ f10 = heapFloat[(r6+6)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r6+10)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r6+12)];
+ f8 = heapFloat[(r6+14)];
+ f9 = heapFloat[(r6+13)];
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ f2 = f4+f9;
+ heapFloat[(r5+-60)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r5+-59)] = f2;
+ heapFloat[(r5+-58)] = f0;
+ heap32[(r5+-57)] = 0;
+ f0 = heapFloat[(r5+-55)];
+ f1 = heapFloat[(r5+-59)];
+ f2 = heapFloat[(r5+-56)];
+ f3 = heapFloat[(r5+-60)];
+ f2 = f2-f3;
+ f3 = heapFloat[(r5+-52)];
+ f0 = f0-f1;
+ f1 = heapFloat[(r5+-51)];
+ f4 = heapFloat[(r5+-54)];
+ f5 = heapFloat[(r5+-58)];
+ f6 = heapFloat[(r5+-50)];
+ f4 = f4-f5;
+ f2 = f2*f3;
+ f0 = f0*f1;
+ f0 = f2+f0;
+ f1 = f4*f6;
+ f0 = f0+f1;
+ heapFloat[(r5+-48)] = f0;
+ r6 = heap32[(r5+-32)];
+ r2 = (r2 + -1)|0;
+ r6 = (r6 + 1)|0;
+ heap32[(r5+-32)] = r6;
+if(!(r2 !=0)) //_LBB558_3
+{
+break _3;
+}
+}
+ r2 = heap32[(r1+279)];
+}
+ r2 = (r2 + -1)|0;
+_7: do {
+if(!(r2 <0)) //_LBB558_11
+{
+_8: while(true){
+ r3 = r2;
+ r2 = (r3 * 69)|0;
+ r2 = r2 << 2;
+ r2 = (r0 + r2)|0;
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2+21)];
+ f1 = heapFloat[(r1+280)];
+ if(f0 <=f1) //_LBB558_8
+{
+ f2 = heapFloat[(r2+17)];
+ f3 = heapFloat[(r2+18)];
+ f4 = heapFloat[(r2+19)];
+ f5 = heapFloat[(r2+13)];
+ f2 = f2*f0;
+ f6 = heapFloat[(r2+14)];
+ f3 = f3*f0;
+ f7 = heapFloat[(r2+9)];
+ f2 = f5-f2;
+ f5 = heapFloat[(r2+10)];
+ f3 = f6-f3;
+ f6 = heapFloat[(r2+15)];
+ f0 = f4*f0;
+ f2 = f7-f2;
+ f3 = f5-f3;
+ f4 = heapFloat[(r2+11)];
+ f0 = f6-f0;
+ f0 = f4-f0;
+ f2 = f2*f2;
+ f3 = f3*f3;
+ f2 = f2+f3;
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f2+f0;
+if(!(f1 >=f0)) //_LBB558_10
+{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ _ZN20btPersistentManifold18removeContactPointEi(i7);
+}
+}
+else{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ _ZN20btPersistentManifold18removeContactPointEi(i7);
+}
+ r2 = (r3 + -1)|0;
+ if(r3 !=0) //_LBB558_6
+{
+continue _8;
+}
+else{
+break _7;
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+var __label__ = 0;
+ i7 = sp + -56;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+6)];
+ f1 = heapFloat[(r0+2)];
+ f2 = heapFloat[(r0+10)];
+ f3 = heapFloat[(r0+5)];
+ f4 = heapFloat[(r0+1)];
+ f5 = heapFloat[(r0+9)];
+ f6 = heapFloat[(r0+4)];
+ f7 = heapFloat[(r0)];
+ f8 = heapFloat[(r0+8)];
+ f9 = f3-f4;
+ f10 = f2-f1;
+ f11 = f0-f1;
+ f12 = f5-f4;
+ f13 = f8-f7;
+ f14 = f6-f7;
+ f15 = f9*f10;
+ f16 = f11*f12;
+ f15 = f15-f16;
+ r0 = sp + -32;
+ f11 = f11*f13;
+ f10 = f14*f10;
+ f10 = f11-f10;
+ r1 = r0 >> 2;
+ heapFloat[(fp+-8)] = f15;
+ f11 = f14*f12;
+ f9 = f9*f13;
+ f9 = f11-f9;
+ heapFloat[(r1+1)] = f10;
+ r2 = heap32[(fp)];
+ heapFloat[(r1+2)] = f9;
+ r3 = r2 >> 2;
+ heap32[(r1+3)] = 0;
+ f11 = heapFloat[(r3+1)];
+ f12 = heapFloat[(r3+2)];
+ f13 = heapFloat[(r3+5)];
+ f14 = heapFloat[(r3+6)];
+ f16 = heapFloat[(r3+3)];
+ f17 = heapFloat[(r3+7)];
+ f18 = f15*f11;
+ f19 = f10*f12;
+ f20 = f15*f13;
+ f21 = f10*f14;
+ f22 = f7*f15;
+ f23 = f4*f10;
+ f18 = f18+f19;
+ f19 = f9*f16;
+ f20 = f20+f21;
+ f21 = f9*f17;
+ f22 = f22+f23;
+ f23 = f1*f9;
+ f18 = f18+f19;
+ f19 = f22+f23;
+ f20 = f20+f21;
+ f18 = f18-f19;
+ f19 = f20-f19;
+ f20 = f18*f19;
+ f21 = 0;
+_1: do {
+if(!(f20 >=f21)) //_LBB559_11
+{
+ r4 = heap32[(r3+9)];
+ r4 = r4 & 1;
+if(!(r4 ==0)) //_LBB559_3
+{
+ if(f18 >f21) //_LBB559_11
+{
+break _1;
+}
+}
+ f19 = f18-f19;
+ f19 = f18/f19;
+ f20 = heapFloat[(r3+10)];
+if(!(f20 <=f19)) //_LBB559_11
+{
+ f20 = 1;
+ f22 = f20-f19;
+ f16 = f16*f22;
+ f17 = f17*f19;
+ f12 = f12*f22;
+ f14 = f14*f19;
+ f11 = f11*f22;
+ f13 = f13*f19;
+ f16 = f16+f17;
+ f12 = f12+f14;
+ f11 = f11+f13;
+ f1 = f1-f16;
+ f3 = f3-f12;
+ f7 = f7-f11;
+ f0 = f0-f16;
+ f4 = f4-f12;
+ f6 = f6-f11;
+ f13 = f15*f15;
+ f14 = f10*f10;
+ f17 = f4*f0;
+ f22 = f1*f3;
+ f23 = f1*f6;
+ f24 = f7*f0;
+ f13 = f13+f14;
+ f14 = f9*f9;
+ f17 = f17-f22;
+ f22 = f23-f24;
+ f13 = f13+f14;
+ f14 = -9.9999997473787516e-005;
+ f23 = f7*f3;
+ f24 = f4*f6;
+ f23 = f23-f24;
+ f14 = f13*f14;
+ f17 = f17*f15;
+ f22 = f22*f10;
+ f17 = f17+f22;
+ f22 = f23*f9;
+ f17 = f17+f22;
+if(!(f17 <f14)) //_LBB559_11
+{
+ f2 = f2-f16;
+ f5 = f5-f12;
+ f8 = f8-f11;
+ f11 = f3*f2;
+ f12 = f0*f5;
+ f0 = f0*f8;
+ f16 = f6*f2;
+ f11 = f11-f12;
+ f0 = f0-f16;
+ f6 = f6*f5;
+ f3 = f3*f8;
+ f11 = f11*f15;
+ f0 = f0*f10;
+ f3 = f6-f3;
+ f0 = f11+f0;
+ f3 = f3*f9;
+ f0 = f0+f3;
+if(!(f0 <f14)) //_LBB559_11
+{
+ f0 = f5*f1;
+ f3 = f2*f4;
+ f2 = f2*f7;
+ f1 = f8*f1;
+ f0 = f0-f3;
+ f1 = f2-f1;
+ f2 = f8*f4;
+ f3 = f5*f7;
+ f0 = f0*f15;
+ f1 = f1*f10;
+ f2 = f2-f3;
+ f0 = f0+f1;
+ f1 = f2*f9;
+ f0 = f0+f1;
+if(!(f0 <f14)) //_LBB559_11
+{
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ heapFloat[(g0)] = f13;
+ sqrtf(i7);
+ f0 = f20/f_g0;
+ f1 = heapFloat[(fp+-8)];
+ f1 = f1*f0;
+ heapFloat[(fp+-8)] = f1;
+ f2 = heapFloat[(r1+1)];
+ f2 = f2*f0;
+ heapFloat[(r1+1)] = f2;
+ f3 = heapFloat[(r1+2)];
+ f0 = f3*f0;
+ heapFloat[(r1+2)] = f0;
+ r1 = heap32[(r3)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+3)];
+ r6 = heap32[(r3+9)];
+ r6 = r6 & 2;
+ if(r6 !=0) //_LBB559_9
+{
+__label__ = 9;
+}
+else{
+ if(f18 >f21) //_LBB559_10
+{
+__label__ = 10;
+}
+else{
+__label__ = 9;
+}
+}
+if (__label__ == 9){
+ r0 = sp + -16;
+ f1 = -f1;
+ r6 = r0 >> 2;
+ f2 = -f2;
+ heapFloat[(fp+-4)] = f1;
+ f0 = -f0;
+ heapFloat[(r6+1)] = f2;
+ heapFloat[(r6+2)] = f0;
+ heap32[(r6+3)] = 0;
+}
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heapFloat[(g0+2)] = f19;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = r5;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ heapFloat[(r3+10)] = f_g0;
+}
+}
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV28btTriangleConvexcastCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+1)];
+ heap32[(r0)] = r1;
+ r1 = r2 >> 2;
+ heap32[(r0+1)] = r3;
+ heap32[(r0+2)] = heap32[(r1)];
+ heap32[(r0+3)] = heap32[(r1+1)];
+ heap32[(r0+4)] = heap32[(r1+2)];
+ heap32[(r0+5)] = heap32[(r1+3)];
+ heap32[(r0+6)] = heap32[(r1+4)];
+ heap32[(r0+7)] = heap32[(r1+5)];
+ heap32[(r0+8)] = heap32[(r1+6)];
+ heap32[(r0+9)] = heap32[(r1+7)];
+ heap32[(r0+10)] = heap32[(r1+8)];
+ heap32[(r0+11)] = heap32[(r1+9)];
+ heap32[(r0+12)] = heap32[(r1+10)];
+ heap32[(r0+13)] = heap32[(r1+11)];
+ heap32[(r0+14)] = heap32[(r1+12)];
+ heap32[(r0+15)] = heap32[(r1+13)];
+ r2 = heap32[(fp+3)];
+ heap32[(r0+16)] = heap32[(r1+14)];
+ r2 = r2 >> 2;
+ heap32[(r0+17)] = heap32[(r1+15)];
+ heap32[(r0+18)] = heap32[(r2)];
+ heap32[(r0+19)] = heap32[(r2+1)];
+ heap32[(r0+20)] = heap32[(r2+2)];
+ heap32[(r0+21)] = heap32[(r2+3)];
+ heap32[(r0+22)] = heap32[(r2+4)];
+ heap32[(r0+23)] = heap32[(r2+5)];
+ heap32[(r0+24)] = heap32[(r2+6)];
+ heap32[(r0+25)] = heap32[(r2+7)];
+ heap32[(r0+26)] = heap32[(r2+8)];
+ heap32[(r0+27)] = heap32[(r2+9)];
+ heap32[(r0+28)] = heap32[(r2+10)];
+ heap32[(r0+29)] = heap32[(r2+11)];
+ heap32[(r0+30)] = heap32[(r2+12)];
+ heap32[(r0+31)] = heap32[(r2+13)];
+ r1 = heap32[(fp+4)];
+ heap32[(r0+32)] = heap32[(r2+14)];
+ r1 = r1 >> 2;
+ heap32[(r0+33)] = heap32[(r2+15)];
+ heap32[(r0+34)] = heap32[(r1)];
+ heap32[(r0+35)] = heap32[(r1+1)];
+ heap32[(r0+36)] = heap32[(r1+2)];
+ heap32[(r0+37)] = heap32[(r1+3)];
+ heap32[(r0+38)] = heap32[(r1+4)];
+ heap32[(r0+39)] = heap32[(r1+5)];
+ heap32[(r0+40)] = heap32[(r1+6)];
+ heap32[(r0+41)] = heap32[(r1+7)];
+ heap32[(r0+42)] = heap32[(r1+8)];
+ heap32[(r0+43)] = heap32[(r1+9)];
+ heap32[(r0+44)] = heap32[(r1+10)];
+ heap32[(r0+45)] = heap32[(r1+11)];
+ heap32[(r0+46)] = heap32[(r1+12)];
+ heap32[(r0+47)] = heap32[(r1+13)];
+ heap32[(r0+48)] = heap32[(r1+14)];
+ heap32[(r0+49)] = heap32[(r1+15)];
+ heap32[(r0+50)] = 1065353216;
+ heap32[(r0+51)] = heap32[(fp+5)];
+ return;
+}
+
+function _ZN28btTriangleConvexcastCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN28btTriangleConvexcastCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV18btTriangleCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -696;var g0 = i7>>2; // save stack
+ r0 = sp + -104;
+ r1 = r0 >> 2;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 1065353216;
+ heap32[(r1+4)] = 1065353216;
+ r2 = _ZTV15btTriangleShape;
+ heap32[(r1+5)] = 1065353216;
+ r2 = (r2 + 8)|0;
+ heap32[(r1+6)] = 0;
+ r3 = heap32[(fp+1)];
+ heap32[(fp+-26)] = r2;
+ r2 = r3 >> 2;
+ heap32[(r1+1)] = 1;
+ heap32[(r1+13)] = heap32[(r2)];
+ heap32[(r1+14)] = heap32[(r2+1)];
+ heap32[(r1+15)] = heap32[(r2+2)];
+ heap32[(r1+16)] = heap32[(r2+3)];
+ heap32[(r1+17)] = heap32[(r2+4)];
+ heap32[(r1+18)] = heap32[(r2+5)];
+ heap32[(r1+19)] = heap32[(r2+6)];
+ heap32[(r1+20)] = heap32[(r2+7)];
+ heap32[(r1+21)] = heap32[(r2+8)];
+ heap32[(r1+22)] = heap32[(r2+9)];
+ r3 = heap32[(fp)];
+ heap32[(r1+23)] = heap32[(r2+10)];
+ r4 = sp + -464;
+ r5 = r3 >> 2;
+ heap32[(r1+24)] = heap32[(r2+11)];
+ r2 = r4 >> 2;
+ heap32[(r1+11)] = heap32[(r5+51)];
+ r1 = _ZTV30btGjkEpaPenetrationDepthSolver;
+ r6 = 0;
+ heap32[(r2+77)] = 953267991;
+ r1 = (r1 + 8)|0;
+ heap8[sp+-132] = r6;
+ heap32[(fp+-118)] = r1;
+ r1 = _ZTV27btContinuousConvexCollision;
+ r2 = sp + -496;
+ r6 = heap32[(r5+1)];
+ r1 = (r1 + 8)|0;
+ r7 = r2 >> 2;
+ heap32[(fp+-124)] = r1;
+ r1 = sp + -472;
+ heap32[(r7+1)] = r4;
+ heap32[(r7+2)] = r1;
+ r1 = _ZTVN12btConvexCast10CastResultE;
+ heap32[(r7+3)] = r6;
+ r4 = sp + -672;
+ r1 = (r1 + 8)|0;
+ heap32[(r7+4)] = r0;
+ r0 = r4 >> 2;
+ heap32[(fp+-168)] = r1;
+ heap32[(r0+42)] = 0;
+ heap32[(r0+43)] = 0;
+ heap32[(r0+41)] = 1065353216;
+ r1 = (r3 + 136)|0;
+ r6 = (r3 + 8)|0;
+ r7 = (r3 + 72)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = r1;
+ heap32[(g0+5)] = r4;
+ _ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(i7);
+ r1 = r_g0;
+if(!(r1 ==0)) //_LBB563_4
+{
+ f0 = heapFloat[(r0+33)];
+ f1 = heapFloat[(r0+34)];
+ f2 = heapFloat[(r0+35)];
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ f1 = 9.9999997473787516e-005;
+if(!(f0 <=f1)) //_LBB563_4
+{
+ f1 = heapFloat[(r0+41)];
+ f2 = heapFloat[(r5+50)];
+if(!(f1 >=f2)) //_LBB563_4
+{
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp+3)];
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f1 = 1;
+ f0 = f1/f_g0;
+ f1 = heapFloat[(r0+33)];
+ f1 = f1*f0;
+ heapFloat[(r0+33)] = f1;
+ f1 = heapFloat[(r0+34)];
+ f1 = f1*f0;
+ heapFloat[(r0+34)] = f1;
+ f1 = heapFloat[(r0+35)];
+ f0 = f1*f0;
+ heapFloat[(r0+35)] = f0;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+3)];
+ f0 = heapFloat[(r0+41)];
+ r0 = (r4 + 132)|0;
+ r4 = (r4 + 148)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heapFloat[(g0+3)] = f0;
+ heap32[(g0+4)] = r1;
+ heap32[(g0+5)] = r2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+}
+}
+ return;
+}
+
+function _ZN22btSubsimplexConvexCastD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btConvexCast;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN22btSubsimplexConvexCastD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV12btConvexCast;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -240;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+1)];
+ r2 = 0;
+ r3 = r1 >> 2;
+ heap8[r1+312] = r2;
+ r4 = 1;
+ heap32[(r3)] = 0;
+ heap8[r1+356] = r4;
+ heap32[(r3+73)] = 1566444395;
+ heap32[(r3+74)] = 1566444395;
+ heap32[(r3+75)] = 1566444395;
+ heap32[(r3+76)] = 0;
+ heap8[r1+352] = r2;
+ heap32[(r3+84)] = 0;
+ heap32[(r3+85)] = 0;
+ heap32[(r3+86)] = 0;
+ heap32[(r3+87)] = 0;
+ r3 = heapU8[r1+332];
+ r5 = heap32[(fp+1)];
+ r6 = heap32[(fp+2)];
+ r7 = heap32[(fp+4)];
+ r8 = heap32[(fp+3)];
+ r3 = r3 & 240;
+ heap8[r1+332] = r3;
+ r1 = r5 >> 2;
+ r3 = r8 >> 2;
+ r5 = r6 >> 2;
+ r6 = r7 >> 2;
+ f0 = heapFloat[(r1+12)];
+ f1 = heapFloat[(r5+12)];
+ f2 = heapFloat[(r3+12)];
+ f3 = heapFloat[(r6+12)];
+ f4 = heapFloat[(r1+13)];
+ f5 = heapFloat[(r5+13)];
+ f6 = heapFloat[(r3+13)];
+ f7 = heapFloat[(r6+13)];
+ r7 = heap32[(r0+2)];
+ f1 = f1-f0;
+ f3 = f3-f2;
+ f1 = f1-f3;
+ heapFloat[(fp+-50)] = f1;
+ f3 = heapFloat[(r1+14)];
+ f8 = heapFloat[(r5+14)];
+ f9 = heapFloat[(r3+14)];
+ f10 = heapFloat[(r6+14)];
+ r8 = r7 >> 2;
+ f5 = f5-f4;
+ f7 = f7-f6;
+ f5 = f5-f7;
+ heapFloat[(fp+-51)] = f5;
+ f7 = heapFloat[(r1+4)];
+ heapFloat[(fp+-42)] = f7;
+ f11 = heapFloat[(r1)];
+ heapFloat[(fp+-43)] = f11;
+ f12 = -f1;
+ r8 = heap32[(r8)];
+ f8 = f8-f3;
+ f10 = f10-f9;
+ f13 = heapFloat[(r1+1)];
+ heapFloat[(fp+-44)] = f13;
+ f14 = heapFloat[(r1+5)];
+ heapFloat[(fp+-45)] = f14;
+ r8 = r8 >> 2;
+ f8 = f8-f10;
+ heapFloat[(fp+-52)] = f8;
+ f10 = heapFloat[(r1+8)];
+ heapFloat[(fp+-46)] = f10;
+ f11 = f11*f12;
+ f7 = f7*f5;
+ f15 = heapFloat[(r1+2)];
+ heapFloat[(fp+-47)] = f15;
+ f16 = heapFloat[(r1+6)];
+ f17 = heapFloat[(r1+9)];
+ f18 = heapFloat[(r1+10)];
+ f19 = heapFloat[(r3)];
+ heapFloat[(fp+-33)] = f19;
+ f19 = heapFloat[(r3+1)];
+ heapFloat[(fp+-34)] = f19;
+ f19 = heapFloat[(r3+2)];
+ heapFloat[(fp+-35)] = f19;
+ f19 = heapFloat[(r3+4)];
+ heapFloat[(fp+-36)] = f19;
+ f19 = heapFloat[(r3+5)];
+ heapFloat[(fp+-37)] = f19;
+ f19 = heapFloat[(r3+6)];
+ heapFloat[(fp+-38)] = f19;
+ f19 = heapFloat[(r3+8)];
+ heapFloat[(fp+-39)] = f19;
+ f19 = heapFloat[(r3+9)];
+ heapFloat[(fp+-40)] = f19;
+ f19 = heapFloat[(r3+10)];
+ heapFloat[(fp+-41)] = f19;
+ r8 = heap32[(r8+15)];
+ f13 = f13*f12;
+ f14 = f14*f5;
+ f7 = f11-f7;
+ f10 = f10*f8;
+ r9 = sp + -112;
+ f11 = f15*f12;
+ f12 = f16*f5;
+ f13 = f13-f14;
+ f14 = f17*f8;
+ f7 = f7-f10;
+ r10 = r9 >> 2;
+ f10 = f11-f12;
+ f11 = f18*f8;
+ f12 = f13-f14;
+ heapFloat[(fp+-28)] = f7;
+ f7 = f10-f11;
+ heapFloat[(r10+1)] = f12;
+ heapFloat[(r10+2)] = f7;
+ heap32[(r10+3)] = 0;
+ r10 = sp + -128;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r9;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r7 = heap32[(r0+3)];
+ r8 = r7 >> 2;
+ r8 = heap32[(r8)];
+ f7 = heapFloat[(r3)];
+ f10 = heapFloat[(r3+4)];
+ r9 = r10 >> 2;
+ r8 = r8 >> 2;
+ f11 = heapFloat[(r3+1)];
+ f12 = heapFloat[(r3+5)];
+ f13 = heapFloat[(r3+8)];
+ f7 = f7*f1;
+ f10 = f10*f5;
+ f14 = heapFloat[(r3+2)];
+ f15 = heapFloat[(r3+6)];
+ f19 = heapFloat[(r3+10)];
+ f20 = heapFloat[(r3+9)];
+ r8 = heap32[(r8+15)];
+ f11 = f11*f1;
+ f12 = f12*f5;
+ f7 = f7+f10;
+ f10 = f13*f8;
+ f13 = heapFloat[(r1)];
+ heapFloat[(fp+-48)] = f13;
+ f21 = heapFloat[(fp+-32)];
+ f22 = heapFloat[(r1+4)];
+ f23 = heapFloat[(r1+8)];
+ heapFloat[(fp+-49)] = f23;
+ f24 = heapFloat[(r1+1)];
+ f25 = heapFloat[(r9+1)];
+ f26 = heapFloat[(r1+5)];
+ f27 = heapFloat[(r1+9)];
+ f28 = heapFloat[(r1+2)];
+ f29 = heapFloat[(r9+2)];
+ f30 = heapFloat[(r1+6)];
+ f13 = heapFloat[(r1+10)];
+ heapFloat[(fp+-54)] = f13;
+ f13 = heapFloat[(r1+12)];
+ heapFloat[(fp+-53)] = f13;
+ f13 = heapFloat[(r1+13)];
+ heapFloat[(fp+-56)] = f13;
+ f13 = heapFloat[(r1+14)];
+ heapFloat[(fp+-55)] = f13;
+ r9 = sp + -80;
+ f1 = f14*f1;
+ f5 = f15*f5;
+ f11 = f11+f12;
+ f12 = f20*f8;
+ f7 = f7+f10;
+ r10 = r9 >> 2;
+ f1 = f1+f5;
+ f5 = f19*f8;
+ f8 = f11+f12;
+ heapFloat[(fp+-20)] = f7;
+ f1 = f1+f5;
+ heapFloat[(r10+1)] = f8;
+ heapFloat[(r10+2)] = f1;
+ heap32[(r10+3)] = 0;
+ r10 = sp + -96;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r9;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r7 = r10 >> 2;
+ f1 = heapFloat[(r3)];
+ f5 = heapFloat[(fp+-24)];
+ f7 = heapFloat[(r3+4)];
+ f8 = heapFloat[(r3+1)];
+ f10 = heapFloat[(r7+1)];
+ f11 = heapFloat[(r3+5)];
+ f12 = heapFloat[(r3+8)];
+ f14 = heapFloat[(r3+9)];
+ f13 = heapFloat[(fp+-48)];
+ f13 = f13*f21;
+ f15 = f24*f25;
+ f1 = f1*f5;
+ f8 = f8*f10;
+ f19 = heapFloat[(r3+2)];
+ f20 = heapFloat[(r7+2)];
+ f24 = heapFloat[(r3+6)];
+ f22 = f22*f21;
+ f26 = f26*f25;
+ f7 = f7*f5;
+ f11 = f11*f10;
+ f23 = heapFloat[(r3+10)];
+ f13 = f13+f15;
+ f15 = f28*f29;
+ f1 = f1+f8;
+ f8 = f19*f20;
+ f19 = f22+f26;
+ f22 = f30*f29;
+ f7 = f7+f11;
+ f11 = f24*f20;
+ f24 = heapFloat[(fp+-49)];
+ f21 = f24*f21;
+ f24 = f27*f25;
+ f5 = f12*f5;
+ f10 = f14*f10;
+ f12 = f13+f15;
+ f13 = f19+f22;
+ f1 = f1+f8;
+ f8 = heapFloat[(r3+12)];
+ f7 = f7+f11;
+ f11 = heapFloat[(r3+13)];
+ f14 = f21+f24;
+ f15 = heapFloat[(fp+-54)];
+ f15 = f15*f29;
+ f5 = f5+f10;
+ f10 = f23*f20;
+ f14 = f14+f15;
+ f15 = heapFloat[(fp+-53)];
+ f12 = f12+f15;
+ f1 = f1+f8;
+ f8 = heapFloat[(fp+-56)];
+ f8 = f13+f8;
+ f7 = f7+f11;
+ f5 = f5+f10;
+ f10 = heapFloat[(r3+14)];
+ f1 = f12-f1;
+ f7 = f8-f7;
+ f13 = heapFloat[(fp+-55)];
+ f8 = f14+f13;
+ f5 = f5+f10;
+ f5 = f8-f5;
+ f8 = f1*f1;
+ f10 = f7*f7;
+ f8 = f8+f10;
+ f10 = f5*f5;
+ r7 = heap32[(fp+5)];
+ f8 = f8+f10;
+ r8 = -33;
+ f10 = 0;
+ heapFloat[(fp+-48)] = f10;
+ heapFloat[(fp+-49)] = f10;
+ f11 = f10;
+_1: while(true){
+ f12 = 9.9999997473787516e-005;
+ if(f8 <=f12) //_LBB566_22
+{
+__label__ = 19;
+break _1;
+}
+else{
+ r8 = (r8 + 1)|0;
+ if(r8 !=0) //_LBB566_1
+{
+ r9 = heap32[(r0+2)];
+ r10 = r9 >> 2;
+ r10 = heap32[(r10)];
+ f8 = -f1;
+ r10 = r10 >> 2;
+ f12 = heapFloat[(fp+-43)];
+ f12 = f12*f8;
+ f13 = heapFloat[(fp+-42)];
+ f13 = f13*f7;
+ r10 = heap32[(r10+15)];
+ f14 = heapFloat[(fp+-44)];
+ f14 = f14*f8;
+ f15 = heapFloat[(fp+-45)];
+ f15 = f15*f7;
+ f12 = f12-f13;
+ f13 = heapFloat[(fp+-46)];
+ f13 = f13*f5;
+ r11 = sp + -48;
+ f19 = heapFloat[(fp+-47)];
+ f8 = f19*f8;
+ f19 = f16*f7;
+ f14 = f14-f15;
+ f15 = f17*f5;
+ f12 = f12-f13;
+ r12 = r11 >> 2;
+ f8 = f8-f19;
+ f13 = f18*f5;
+ f14 = f14-f15;
+ heapFloat[(fp+-12)] = f12;
+ f8 = f8-f13;
+ heapFloat[(r12+1)] = f14;
+ heapFloat[(r12+2)] = f8;
+ heap32[(r12+3)] = 0;
+ r12 = sp + -64;
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r11;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r9 = heap32[(r0+3)];
+ r10 = r9 >> 2;
+ r10 = heap32[(r10)];
+ r11 = r12 >> 2;
+ r10 = r10 >> 2;
+ f8 = heapFloat[(fp+-33)];
+ f8 = f8*f1;
+ f12 = heapFloat[(fp+-36)];
+ f12 = f12*f7;
+ f13 = heapFloat[(fp+-16)];
+ f14 = heapFloat[(r11+1)];
+ f15 = heapFloat[(r11+2)];
+ r10 = heap32[(r10+15)];
+ f19 = heapFloat[(fp+-34)];
+ f19 = f19*f1;
+ f20 = heapFloat[(fp+-37)];
+ f20 = f20*f7;
+ f8 = f8+f12;
+ f12 = heapFloat[(fp+-39)];
+ f12 = f12*f5;
+ r11 = sp + -16;
+ f21 = heapFloat[(fp+-35)];
+ f21 = f21*f1;
+ f22 = heapFloat[(fp+-38)];
+ f22 = f22*f7;
+ f19 = f19+f20;
+ f20 = heapFloat[(fp+-40)];
+ f20 = f20*f5;
+ f8 = f8+f12;
+ r12 = r11 >> 2;
+ f12 = f21+f22;
+ f21 = heapFloat[(fp+-41)];
+ f21 = f21*f5;
+ f19 = f19+f20;
+ heapFloat[(fp+-4)] = f8;
+ f8 = f12+f21;
+ heapFloat[(r12+1)] = f19;
+ heapFloat[(r12+2)] = f8;
+ heap32[(r12+3)] = 0;
+ r12 = sp + -32;
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = r11;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ f12 = 1;
+ if(f11 >f12) //_LBB566_27
+{
+__label__ = 24;
+break _1;
+}
+else{
+ r9 = r12 >> 2;
+ f8 = heapFloat[(fp+-8)];
+ f19 = heapFloat[(r9+1)];
+ f20 = heapFloat[(r9+2)];
+ f21 = heapFloat[(fp+-43)];
+ f21 = f21*f13;
+ f22 = heapFloat[(fp+-44)];
+ f22 = f22*f14;
+ f23 = heapFloat[(fp+-33)];
+ f23 = f23*f8;
+ f24 = heapFloat[(fp+-34)];
+ f24 = f24*f19;
+ f25 = heapFloat[(fp+-42)];
+ f25 = f25*f13;
+ f26 = heapFloat[(fp+-45)];
+ f26 = f26*f14;
+ f27 = heapFloat[(fp+-36)];
+ f27 = f27*f8;
+ f28 = heapFloat[(fp+-37)];
+ f28 = f28*f19;
+ f21 = f21+f22;
+ f22 = heapFloat[(fp+-47)];
+ f22 = f22*f15;
+ f23 = f23+f24;
+ f24 = heapFloat[(fp+-35)];
+ f24 = f24*f20;
+ f25 = f25+f26;
+ f26 = f16*f15;
+ f27 = f27+f28;
+ f28 = heapFloat[(fp+-38)];
+ f28 = f28*f20;
+ f29 = heapFloat[(fp+-46)];
+ f13 = f29*f13;
+ f14 = f17*f14;
+ f29 = heapFloat[(fp+-39)];
+ f8 = f29*f8;
+ f29 = heapFloat[(fp+-40)];
+ f19 = f29*f19;
+ f21 = f21+f22;
+ f22 = f23+f24;
+ f23 = f25+f26;
+ f24 = f27+f28;
+ f13 = f13+f14;
+ f14 = f18*f15;
+ f8 = f8+f19;
+ f15 = heapFloat[(fp+-41)];
+ f15 = f15*f20;
+ f19 = f21+f0;
+ f20 = f22+f2;
+ f21 = f23+f4;
+ f22 = f24+f6;
+ f13 = f13+f14;
+ f8 = f8+f15;
+ f14 = f19-f20;
+ f15 = f21-f22;
+ f13 = f13+f3;
+ f23 = f8+f9;
+ f24 = f13-f23;
+ f8 = f1*f14;
+ f25 = f7*f15;
+ f8 = f8+f25;
+ f25 = f5*f24;
+ f25 = f8+f25;
+ f8 = 0;
+ if(f25 >f8) //_LBB566_4
+{
+ f0 = heapFloat[(fp+-50)];
+ f0 = f1*f0;
+ f2 = heapFloat[(fp+-51)];
+ f2 = f7*f2;
+ f0 = f0+f2;
+ f2 = heapFloat[(fp+-52)];
+ f2 = f5*f2;
+ f0 = f0+f2;
+ f2 = -1.4210854715202004e-014;
+ if(f0 >=f2) //_LBB566_27
+{
+__label__ = 24;
+break _1;
+}
+else{
+ f0 = f25/f0;
+ f11 = f11-f0;
+ f0 = heapFloat[(r5+12)];
+ f2 = heapFloat[(r5+13)];
+ f3 = heapFloat[(r5+14)];
+ f4 = heapFloat[(r6+12)];
+ f6 = heapFloat[(r6+13)];
+ f9 = heapFloat[(r6+14)];
+ f10 = heapFloat[(r1+12)];
+ f12 = f12-f11;
+ f25 = heapFloat[(r1+13)];
+ f26 = heapFloat[(r1+14)];
+ f27 = heapFloat[(r3+12)];
+ f28 = heapFloat[(r3+13)];
+ f29 = heapFloat[(r3+14)];
+ f10 = f10*f12;
+ f0 = f0*f11;
+ f25 = f25*f12;
+ f2 = f2*f11;
+ f26 = f26*f12;
+ f3 = f3*f11;
+ f27 = f27*f12;
+ f30 = f4*f11;
+ f28 = f28*f12;
+ f6 = f6*f11;
+ f12 = f29*f12;
+ f9 = f9*f11;
+ f0 = f10+f0;
+ f4 = f25+f2;
+ f3 = f26+f3;
+ f2 = f27+f30;
+ f6 = f28+f6;
+ f9 = f12+f9;
+ f10 = f1;
+ heapFloat[(fp+-48)] = f7;
+ heapFloat[(fp+-49)] = f5;
+}
+}
+ r9 = heap32[(r0+1)];
+ r10 = r9 >> 2;
+ r11 = heap32[(r10)];
+_10: do {
+ if(r11 >0) //_LBB566_8
+{
+ r12 = -12;
+ f1 = heapFloat[(r10+77)];
+ r13 = (r12 - r9)|0;
+ r14 = 0;
+ r15 = r11;
+ r12 = r14;
+_12: while(true){
+ r16 = -8;
+ r17 = -4;
+ r16 = (r16 - r13)|0;
+ r17 = (r17 - r13)|0;
+ r16 = r16 >> 2;
+ r17 = r17 >> 2;
+ r18 = (r14 - r13)|0;
+ r18 = r18 >> 2;
+ f5 = heapFloat[(r16)];
+ f7 = heapFloat[(r17)];
+ f5 = f14-f5;
+ f7 = f15-f7;
+ f12 = heapFloat[(r18)];
+ f12 = f24-f12;
+ f5 = f5*f5;
+ f7 = f7*f7;
+ f5 = f5+f7;
+ f7 = f12*f12;
+ f5 = f5+f7;
+ r15 = (r15 + -1)|0;
+ r12 = f5 > f1 ? r12 : r4;
+ r13 = (r13 + -16)|0;
+if(!(r15 !=0)) //_LBB566_9
+{
+break _10;
+}
+}
+}
+else{
+ r12 = r2;
+}
+} while(0);
+ f1 = heapFloat[(r10+76)];
+ if(f1 ==f8) //_LBB566_12
+{
+ f1 = heapFloat[(r10+75)];
+if(!(f24 !=f1)) //_LBB566_11
+{
+ f1 = heapFloat[(r10+74)];
+if(!(f15 !=f1)) //_LBB566_11
+{
+ f1 = heapFloat[(r10+73)];
+ r12 = f14 != f1 ? r12 : r4;
+}
+}
+}
+ r12 = r12 & 255;
+ if(r12 ==0) //_LBB566_17
+{
+ heapFloat[(r10+73)] = f14;
+ heapFloat[(r10+74)] = f15;
+ r11 = r11 << 4;
+ heapFloat[(r10+75)] = f24;
+ r11 = (r9 + r11)|0;
+ heap32[(r10+76)] = 0;
+ r11 = r11 >> 2;
+ heap8[r9+356] = r4;
+ heapFloat[(r11+1)] = f14;
+ heapFloat[(r11+2)] = f15;
+ heapFloat[(r11+3)] = f24;
+ heap32[(r11+4)] = 0;
+ r11 = heap32[(r10)];
+ r11 = r11 << 4;
+ r11 = (r9 + r11)|0;
+ r11 = r11 >> 2;
+ heapFloat[(r11+21)] = f19;
+ heapFloat[(r11+22)] = f21;
+ heapFloat[(r11+23)] = f13;
+ heap32[(r11+24)] = 0;
+ r11 = heap32[(r10)];
+ r11 = r11 << 4;
+ r9 = (r9 + r11)|0;
+ r9 = r9 >> 2;
+ heapFloat[(r9+41)] = f20;
+ heapFloat[(r9+42)] = f22;
+ heapFloat[(r9+43)] = f23;
+ heap32[(r9+44)] = 0;
+ r9 = heap32[(r10)];
+ r9 = (r9 + 1)|0;
+ heap32[(r10)] = r9;
+ r9 = heap32[(r0+1)];
+}
+ heap32[(g0)] = r9;
+ _ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv(i7);
+ r10 = r_g0;
+ r9 = r9 >> 2;
+ f1 = heapFloat[(r9+69)];
+ f7 = heapFloat[(r9+70)];
+ f5 = heapFloat[(r9+71)];
+ if(r10 ==0) //_LBB566_20
+{
+continue _1;
+}
+else{
+ f8 = f1*f1;
+ f12 = f7*f7;
+ f8 = f8+f12;
+ f12 = f5*f5;
+ f8 = f8+f12;
+continue _1;
+}
+}
+}
+else{
+__label__ = 19;
+break _1;
+}
+}
+}
+if (__label__ == 19){
+ f0 = f10*f10;
+ f7 = heapFloat[(fp+-48)];
+ f1 = f7*f7;
+ f0 = f0+f1;
+ f1 = heapFloat[(fp+-49)];
+ f1 = f1*f1;
+ f0 = f0+f1;
+ r1 = r7 >> 2;
+ heapFloat[(r1+41)] = f11;
+ f1 = 1.4210854715202004e-014;
+ if(f0 <f1) //_LBB566_24
+{
+ heap32[(r1+33)] = 0;
+ heap32[(r1+34)] = 0;
+ f0 = 0;
+ heap32[(r1+35)] = 0;
+ heap32[(r1+36)] = 0;
+ f2 = f0;
+ f1 = f0;
+}
+else{
+ heapFloat[(g0)] = f0;
+ f0 = 1;
+ sqrtf(i7);
+ f0 = f0/f_g0;
+ f1 = f10*f0;
+ f7 = heapFloat[(fp+-48)];
+ f2 = f7*f0;
+ heapFloat[(r1+33)] = f1;
+ f11 = heapFloat[(fp+-49)];
+ f0 = f11*f0;
+ heapFloat[(r1+34)] = f2;
+ heapFloat[(r1+35)] = f0;
+ heap32[(r1+36)] = 0;
+}
+ f3 = heapFloat[(fp+-50)];
+ f1 = f1*f3;
+ f3 = heapFloat[(fp+-51)];
+ f2 = f2*f3;
+ f3 = heapFloat[(r1+43)];
+ f1 = f1+f2;
+ f2 = heapFloat[(fp+-52)];
+ f0 = f0*f2;
+ f0 = f1+f0;
+ f1 = -f3;
+if(!(f0 >=f1)) //_LBB566_27
+{
+ r0 = heap32[(r0+1)];
+ heap32[(g0)] = r0;
+ r0 = r0 >> 2;
+ _ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv(i7);
+ f0 = heapFloat[(r0+68)];
+ f1 = heapFloat[(r0+67)];
+ f2 = heapFloat[(r0+66)];
+ heap32[(r1+37)] = heap32[(r0+65)];
+ heapFloat[(r1+38)] = f2;
+ heapFloat[(r1+39)] = f1;
+ heapFloat[(r1+40)] = f0;
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN22btVoronoiSimplexSolver12removeVertexEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ if(r2 >0) //_LBB567_2
+{
+ r3 = heap32[(fp+1)];
+ r2 = (r2 + -1)|0;
+ r3 = r3 << 4;
+ r4 = (r0 + 4)|0;
+ r5 = r2 << 4;
+ r6 = (r4 + r3)|0;
+ r4 = (r4 + r5)|0;
+ r5 = r6 >> 2;
+ r4 = r4 >> 2;
+ heap32[(r1)] = r2;
+ heap32[(r5)] = heap32[(r4)];
+ heap32[(r5+1)] = heap32[(r4+1)];
+ heap32[(r5+2)] = heap32[(r4+2)];
+ heap32[(r5+3)] = heap32[(r4+3)];
+ r2 = heap32[(r1)];
+ r4 = (r0 + 84)|0;
+ r2 = r2 << 4;
+ r5 = (r4 + r3)|0;
+ r2 = (r4 + r2)|0;
+ r4 = r5 >> 2;
+ r2 = r2 >> 2;
+ heap32[(r4)] = heap32[(r2)];
+ heap32[(r4+1)] = heap32[(r2+1)];
+ heap32[(r4+2)] = heap32[(r2+2)];
+ heap32[(r4+3)] = heap32[(r2+3)];
+ r1 = heap32[(r1)];
+ r0 = (r0 + 164)|0;
+ r1 = r1 << 4;
+ r2 = (r0 + r3)|0;
+ r0 = (r0 + r1)|0;
+ r1 = r2 >> 2;
+ r0 = r0 >> 2;
+ heap32[(r1)] = heap32[(r0)];
+ heap32[(r1+1)] = heap32[(r0+1)];
+ heap32[(r1+2)] = heap32[(r0+2)];
+ heap32[(r1+3)] = heap32[(r0+3)];
+ return;
+}
+else{
+ r0 = _2E_str457;
+ r1 = _2E_str1458;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 38;
+ _assert(i7);
+}
+}
+
+function _ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+4)];
+ r1 = heapU8[r0+16];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r4 = heap32[(fp+1)];
+ r1 = r1 & -16;
+ r5 = heap32[(fp)];
+ r2 = r2 >> 2;
+ heap8[r0+16] = r1;
+ r3 = r3 >> 2;
+ r5 = r5 >> 2;
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r2+1)];
+ f1 = heapFloat[(r4+1)];
+ f2 = heapFloat[(r3+1)];
+ f3 = heapFloat[(r5+1)];
+ f4 = heapFloat[(r2)];
+ f5 = heapFloat[(r4)];
+ f6 = heapFloat[(r3)];
+ f7 = heapFloat[(r5)];
+ f8 = heapFloat[(r2+2)];
+ f9 = heapFloat[(r4+2)];
+ f10 = heapFloat[(r3+2)];
+ f11 = heapFloat[(r5+2)];
+ f12 = f0-f1;
+ f13 = f4-f5;
+ f14 = f6-f5;
+ f15 = f7-f5;
+ f16 = f2-f1;
+ f17 = f3-f1;
+ f18 = f8-f9;
+ f19 = f10-f9;
+ f20 = f11-f9;
+ f21 = f13*f15;
+ f22 = f12*f17;
+ f15 = f14*f15;
+ f17 = f16*f17;
+ f21 = f21+f22;
+ f22 = f18*f20;
+ f15 = f15+f17;
+ f17 = f19*f20;
+ f20 = f21+f22;
+ f15 = f15+f17;
+ f17 = 0;
+if(!(f20 >f17)) //_LBB568_3
+{
+if(!(f15 >f17)) //_LBB568_3
+{
+ r2 = r0 >> 2;
+ heapFloat[(r2)] = f5;
+ heap32[(r2+1)] = heap32[(r4+1)];
+ heap32[(r2+2)] = heap32[(r4+2)];
+ r1 = r1 | 1;
+ heap32[(r2+3)] = heap32[(r4+3)];
+ heap8[r0+16] = r1;
+ heap32[(r2+5)] = 1065353216;
+ heap32[(r2+6)] = 0;
+ heap32[(r2+7)] = 0;
+ heap32[(r2+8)] = 0;
+ return;
+}
+}
+ f21 = f7-f4;
+ f22 = f3-f0;
+ f23 = f13*f21;
+ f24 = f12*f22;
+ f25 = f11-f8;
+ f21 = f14*f21;
+ f22 = f16*f22;
+ f23 = f23+f24;
+ f24 = f18*f25;
+ f21 = f21+f22;
+ f22 = f19*f25;
+ f23 = f23+f24;
+ f21 = f21+f22;
+ if(f23 <f17) //_LBB568_7
+{
+__label__ = 7;
+}
+else{
+ if(f21 >f23) //_LBB568_7
+{
+__label__ = 7;
+}
+else{
+ r3 = r0 >> 2;
+ heapFloat[(r3)] = f4;
+ heap32[(r3+1)] = heap32[(r2+1)];
+ heap32[(r3+2)] = heap32[(r2+2)];
+ r1 = r1 | 2;
+ heap32[(r3+3)] = heap32[(r2+3)];
+ heap8[r0+16] = r1;
+ heap32[(r3+5)] = 0;
+ heap32[(r3+6)] = 1065353216;
+__label__ = 6;
+}
+}
+_8: do {
+if (__label__ == 7){
+ f22 = f20*f21;
+ f24 = f23*f15;
+ f22 = f22-f24;
+if(!(f22 >f17)) //_LBB568_11
+{
+if(!(f20 <f17)) //_LBB568_11
+{
+if(!(f23 >f17)) //_LBB568_11
+{
+ f0 = f20-f23;
+ f0 = f20/f0;
+ f2 = f13*f0;
+ r3 = r0 >> 2;
+ f2 = f5+f2;
+ f3 = f12*f0;
+ f4 = f18*f0;
+ f1 = f1+f3;
+ heapFloat[(r3)] = f2;
+ f2 = f9+f4;
+ heapFloat[(r3+1)] = f1;
+ heapFloat[(r3+2)] = f2;
+ f1 = 1;
+ r1 = r1 | 3;
+ heap32[(r3+3)] = 0;
+ f1 = f1-f0;
+ heap8[r0+16] = r1;
+ heapFloat[(r3+5)] = f1;
+ heapFloat[(r3+6)] = f0;
+break _8;
+}
+}
+}
+ f7 = f7-f6;
+ f3 = f3-f2;
+ f24 = f14*f7;
+ f25 = f16*f3;
+ f11 = f11-f10;
+ f7 = f13*f7;
+ f3 = f12*f3;
+ f24 = f24+f25;
+ f25 = f19*f11;
+ f3 = f7+f3;
+ f7 = f18*f11;
+ f11 = f24+f25;
+ f3 = f3+f7;
+if(!(f11 <f17)) //_LBB568_14
+{
+if(!(f3 >f11)) //_LBB568_14
+{
+ r2 = r0 >> 2;
+ heapFloat[(r2)] = f6;
+ heap32[(r2+1)] = heap32[(r3+1)];
+ heap32[(r2+2)] = heap32[(r3+2)];
+ r1 = r1 | 4;
+ heap32[(r2+3)] = heap32[(r3+3)];
+ heap8[r0+16] = r1;
+ heap32[(r2+5)] = 0;
+ heap32[(r2+6)] = 0;
+ heap32[(r2+7)] = 1065353216;
+ heap32[(r2+8)] = 0;
+ return;
+}
+}
+ f7 = f3*f15;
+ f20 = f20*f11;
+ f7 = f7-f20;
+ if(f7 >f17) //_LBB568_19
+{
+__label__ = 19;
+}
+else{
+ if(f15 <f17) //_LBB568_19
+{
+__label__ = 19;
+}
+else{
+ if(f11 >f17) //_LBB568_19
+{
+__label__ = 19;
+}
+else{
+ f0 = f15-f11;
+ f0 = f15/f0;
+ f2 = f14*f0;
+ r2 = r0 >> 2;
+ f2 = f5+f2;
+ f3 = f16*f0;
+ f4 = f19*f0;
+ f1 = f1+f3;
+ heapFloat[(r2)] = f2;
+ f2 = f9+f4;
+ heapFloat[(r2+1)] = f1;
+ heapFloat[(r2+2)] = f2;
+ f1 = 1;
+ r1 = r1 | 5;
+ heap32[(r2+3)] = 0;
+ f1 = f1-f0;
+ heap8[r0+16] = r1;
+ heapFloat[(r2+5)] = f1;
+ heap32[(r2+6)] = 0;
+__label__ = 18;
+}
+}
+}
+if (__label__ == 19){
+ f15 = f23*f11;
+ f20 = f3*f21;
+ f15 = f15-f20;
+if(!(f15 >f17)) //_LBB568_23
+{
+ f20 = f21-f23;
+if(!(f20 <f17)) //_LBB568_23
+{
+ f3 = f3-f11;
+if(!(f3 <f17)) //_LBB568_23
+{
+ f1 = f20+f3;
+ f1 = f20/f1;
+ f5 = f6-f4;
+ f7 = f2-f0;
+ f5 = f5*f1;
+ f9 = f10-f8;
+ f7 = f7*f1;
+ r2 = r0 >> 2;
+ f5 = f4+f5;
+ f9 = f9*f1;
+ f7 = f0+f7;
+ heapFloat[(r2)] = f5;
+ f5 = f8+f9;
+ heapFloat[(r2+1)] = f7;
+ heapFloat[(r2+2)] = f5;
+ r1 = r1 | 6;
+ heap32[(r2+3)] = 0;
+ f5 = 1;
+ heap8[r0+16] = r1;
+ f5 = f5-f1;
+ heap32[(r2+5)] = 0;
+ heapFloat[(r2+6)] = f5;
+ heapFloat[(r2+7)] = f1;
+ heap32[(r2+8)] = 0;
+ return;
+}
+}
+}
+ f0 = f15+f7;
+ f0 = f0+f22;
+ f2 = 1;
+ f0 = f2/f0;
+ f3 = f7*f0;
+ f0 = f22*f0;
+ f4 = f13*f3;
+ f6 = f12*f3;
+ f4 = f5+f4;
+ f5 = f14*f0;
+ r2 = r0 >> 2;
+ f4 = f4+f5;
+ f5 = f18*f3;
+ f1 = f1+f6;
+ f6 = f16*f0;
+ f5 = f9+f5;
+ f7 = f19*f0;
+ f1 = f1+f6;
+ heapFloat[(r2)] = f4;
+ f4 = f5+f7;
+ heapFloat[(r2+1)] = f1;
+ heapFloat[(r2+2)] = f4;
+ f1 = f2-f3;
+ r1 = r1 | 7;
+ heap32[(r2+3)] = 0;
+ f1 = f1-f0;
+ heap8[r0+16] = r1;
+ heapFloat[(r2+5)] = f1;
+ heapFloat[(r2+6)] = f3;
+}
+ heapFloat[(r2+7)] = f0;
+ heap32[(r2+8)] = 0;
+ return;
+}
+} while(0);
+ heap32[(r3+7)] = 0;
+ heap32[(r3+8)] = 0;
+ return;
+}
+
+function _ZN22btVoronoiSimplexSolver19pointOutsideOfPlaneERK9btVector3S2_S2_S2_S2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ f0 = heapFloat[(fp+5)];
+ f1 = heapFloat[(fp+8)];
+ f2 = heapFloat[(fp+11)];
+ f3 = heapFloat[(fp+4)];
+ f4 = heapFloat[(fp+10)];
+ f5 = heapFloat[(fp+7)];
+ f6 = heapFloat[(fp+3)];
+ f7 = heapFloat[(fp+6)];
+ f8 = heapFloat[(fp+9)];
+ f1 = f1-f0;
+ f4 = f4-f3;
+ f7 = f7-f6;
+ f2 = f2-f0;
+ f5 = f5-f3;
+ f8 = f8-f6;
+ f9 = heapFloat[(fp+12)];
+ f10 = heapFloat[(fp+13)];
+ f11 = f5*f2;
+ f12 = f1*f4;
+ f1 = f1*f8;
+ f2 = f7*f2;
+ f11 = f11-f12;
+ f9 = f9-f6;
+ f1 = f1-f2;
+ f2 = f10-f3;
+ f10 = heapFloat[(fp+14)];
+ f4 = f7*f4;
+ f5 = f5*f8;
+ f4 = f4-f5;
+ f5 = f10-f0;
+ f7 = f9*f11;
+ f2 = f2*f1;
+ f2 = f7+f2;
+ f5 = f5*f4;
+ f2 = f2+f5;
+ f5 = f2*f2;
+ f7 = 9.9999990510468706e-009;
+ if(f5 <f7) //_LBB569_2
+{
+ r0 = -1;
+ r_g0 = r0;
+ return;
+}
+else{
+ f5 = heapFloat[(fp)];
+ f7 = heapFloat[(fp+1)];
+ f8 = heapFloat[(fp+2)];
+ f5 = f5-f6;
+ f3 = f7-f3;
+ f5 = f5*f11;
+ f1 = f3*f1;
+ f0 = f8-f0;
+ f1 = f5+f1;
+ f0 = f0*f4;
+ f0 = f1+f0;
+ f0 = f0*f2;
+ f1 = 0;
+ r0 = f0 < f1;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r3 = heap32[(fp+1)];
+ if(r2 >3) //_LBB570_2
+{
+ r2 = heapU8[r3];
+ r4 = r2 & 8;
+ if(r4 ==0) //_LBB570_4
+{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 3;
+ _ZN22btVoronoiSimplexSolver12removeVertexEi(i7);
+ r2 = heap32[(r1)];
+__label__ = 3;
+}
+else{
+__label__ = 5;
+}
+}
+else{
+__label__ = 3;
+}
+if (__label__ == 3){
+ if(r2 >2) //_LBB570_7
+{
+ r2 = heapU8[r3];
+__label__ = 5;
+}
+else{
+__label__ = 7;
+}
+}
+if (__label__ == 5){
+ r4 = r2 & 4;
+ if(r4 ==0) //_LBB570_10
+{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 2;
+ _ZN22btVoronoiSimplexSolver12removeVertexEi(i7);
+ r2 = heap32[(r1)];
+__label__ = 7;
+}
+else{
+__label__ = 9;
+}
+}
+if (__label__ == 7){
+ if(r2 >1) //_LBB570_13
+{
+ r2 = heapU8[r3];
+__label__ = 9;
+}
+else{
+__label__ = 11;
+}
+}
+if (__label__ == 9){
+ r4 = r2 & 2;
+ if(r4 ==0) //_LBB570_16
+{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 1;
+ _ZN22btVoronoiSimplexSolver12removeVertexEi(i7);
+ r2 = heap32[(r1)];
+__label__ = 11;
+}
+else{
+__label__ = 13;
+}
+}
+if (__label__ == 11){
+ if(r2 <1) //_LBB570_20
+{
+__label__ = 14;
+}
+else{
+ r2 = heapU8[r3];
+__label__ = 13;
+}
+}
+if (__label__ == 13){
+ r1 = r2 & 1;
+ if(r1 ==0) //_LBB570_21
+{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ _ZN22btVoronoiSimplexSolver12removeVertexEi(i7);
+ return;
+}
+}
+ return;
+}
+
+function _ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+var __label__ = 0;
+ i7 = sp + -136;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+356];
+ if(r1 !=0) //_LBB571_2
+{
+ r1 = 0;
+ r2 = r0 >> 2;
+ heap8[r0+352] = r1;
+ heap32[(r2+84)] = 0;
+ heap32[(r2+85)] = 0;
+ heap32[(r2+86)] = 0;
+ heap32[(r2+87)] = 0;
+ r3 = heapU8[r0+332];
+ r4 = r3 & -16;
+ heap8[r0+332] = r4;
+ heap8[r0+356] = r1;
+ r5 = heap32[(r2)];
+_3: do {
+ if(r5 >1) //_LBB571_5
+{
+_5: do {
+ if(r5 ==2) //_LBB571_11
+{
+ f0 = 0;
+ f1 = heapFloat[(r2+2)];
+ f2 = heapFloat[(r2+6)];
+ f3 = heapFloat[(r2+1)];
+ f4 = heapFloat[(r2+5)];
+ f5 = heapFloat[(r2+3)];
+ f6 = heapFloat[(r2+7)];
+ f2 = f2-f1;
+ f1 = f0-f1;
+ f4 = f4-f3;
+ f3 = f0-f3;
+ f6 = f6-f5;
+ f5 = f0-f5;
+ f3 = f4*f3;
+ f1 = f2*f1;
+ f1 = f3+f1;
+ f3 = f6*f5;
+ f1 = f1+f3;
+ if(f1 <=f0) //_LBB571_15
+{
+ r1 = r4 | 1;
+ heap8[r0+332] = r1;
+ f1 = f0;
+}
+else{
+ f3 = f4*f4;
+ f2 = f2*f2;
+ f2 = f3+f2;
+ f3 = f6*f6;
+ f2 = f2+f3;
+ if(f1 >=f2) //_LBB571_14
+{
+ f1 = 1;
+ r1 = r4 | 2;
+ heap8[r0+332] = r1;
+}
+else{
+ f1 = f1/f2;
+ r1 = r4 | 3;
+ heap8[r0+332] = r1;
+}
+}
+ f2 = 1;
+ f2 = f2-f1;
+ heapFloat[(r2+84)] = f2;
+ heapFloat[(r2+85)] = f1;
+ heap32[(r2+86)] = 0;
+ heap32[(r2+87)] = 0;
+ f2 = heapFloat[(r2+25)];
+ f3 = heapFloat[(r2+21)];
+ f2 = f2-f3;
+ f4 = heapFloat[(r2+26)];
+ f5 = heapFloat[(r2+22)];
+ f4 = f4-f5;
+ f2 = f2*f1;
+ f6 = heapFloat[(r2+27)];
+ f7 = heapFloat[(r2+23)];
+ f6 = f6-f7;
+ f4 = f4*f1;
+ f2 = f3+f2;
+ f3 = f6*f1;
+ f4 = f5+f4;
+ heapFloat[(r2+61)] = f2;
+ f3 = f7+f3;
+ heapFloat[(r2+62)] = f4;
+ heapFloat[(r2+63)] = f3;
+ heap32[(r2+64)] = 0;
+ f5 = heapFloat[(r2+45)];
+ f6 = heapFloat[(r2+41)];
+ f5 = f5-f6;
+ f7 = heapFloat[(r2+46)];
+ f8 = heapFloat[(r2+42)];
+ f7 = f7-f8;
+ f5 = f5*f1;
+ f9 = heapFloat[(r2+47)];
+ f10 = heapFloat[(r2+43)];
+ f9 = f9-f10;
+ f7 = f7*f1;
+ f5 = f6+f5;
+ f1 = f9*f1;
+ f6 = f8+f7;
+ heapFloat[(r2+65)] = f5;
+ f1 = f10+f1;
+ heapFloat[(r2+66)] = f6;
+ heapFloat[(r2+67)] = f1;
+ f2 = f2-f5;
+ heap32[(r2+68)] = 0;
+ f4 = f4-f6;
+ heapFloat[(r2+69)] = f2;
+ f1 = f3-f1;
+ heapFloat[(r2+70)] = f4;
+ heapFloat[(r2+71)] = f1;
+ heap32[(r2+72)] = 0;
+ r1 = (r0 + 332)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ _ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield(i7);
+ f1 = heapFloat[(r2+84)];
+ if(f1 >=f0) //_LBB571_18
+{
+ f0 = heapFloat[(r2+85)];
+ f1 = 0;
+if(!(f0 <f1)) //_LBB571_17
+{
+ f0 = heapFloat[(r2+86)];
+if(!(f0 <f1)) //_LBB571_17
+{
+ f0 = heapFloat[(r2+87)];
+ r1 = f0 >= f1;
+ r1 = r1 & 1;
+break _5;
+}
+}
+}
+ r1 = 0;
+}
+else{
+ if(r5 ==3) //_LBB571_22
+{
+ r1 = sp + -56;
+ r3 = r1 >> 2;
+ heap32[(fp+-14)] = 0;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 0;
+ r3 = (r0 + 4)|0;
+ r4 = (r0 + 20)|0;
+ r5 = (r0 + 36)|0;
+ r6 = (r0 + 316)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = r6;
+ _ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(i7);
+ f0 = heapFloat[(r2+85)];
+ f1 = heapFloat[(r2+25)];
+ f2 = heapFloat[(r2+84)];
+ f3 = heapFloat[(r2+21)];
+ f4 = heapFloat[(r2+26)];
+ f5 = heapFloat[(r2+22)];
+ f3 = f3*f2;
+ f1 = f1*f0;
+ f6 = heapFloat[(r2+86)];
+ f7 = heapFloat[(r2+29)];
+ f8 = heapFloat[(r2+31)];
+ f9 = heapFloat[(r2+30)];
+ f10 = heapFloat[(r2+27)];
+ f11 = heapFloat[(r2+23)];
+ f5 = f5*f2;
+ f4 = f4*f0;
+ f1 = f3+f1;
+ f3 = f7*f6;
+ f7 = f11*f2;
+ f10 = f10*f0;
+ f4 = f5+f4;
+ f5 = f9*f6;
+ f1 = f1+f3;
+ f3 = f7+f10;
+ f7 = f8*f6;
+ f4 = f4+f5;
+ heapFloat[(r2+61)] = f1;
+ f3 = f3+f7;
+ heapFloat[(r2+62)] = f4;
+ heapFloat[(r2+63)] = f3;
+ heap32[(r2+64)] = 0;
+ f5 = heapFloat[(r2+45)];
+ f7 = heapFloat[(r2+41)];
+ f8 = heapFloat[(r2+49)];
+ f9 = heapFloat[(r2+46)];
+ f10 = heapFloat[(r2+42)];
+ f7 = f7*f2;
+ f5 = f5*f0;
+ f11 = heapFloat[(r2+51)];
+ f12 = heapFloat[(r2+50)];
+ f13 = heapFloat[(r2+47)];
+ f14 = heapFloat[(r2+43)];
+ f10 = f10*f2;
+ f9 = f9*f0;
+ f5 = f7+f5;
+ f7 = f8*f6;
+ f5 = f5+f7;
+ f2 = f14*f2;
+ f0 = f13*f0;
+ f7 = f10+f9;
+ f8 = f12*f6;
+ f7 = f7+f8;
+ heapFloat[(r2+65)] = f5;
+ f0 = f2+f0;
+ f2 = f11*f6;
+ f0 = f0+f2;
+ heapFloat[(r2+66)] = f7;
+ heapFloat[(r2+67)] = f0;
+ f1 = f1-f5;
+ heap32[(r2+68)] = 0;
+ f2 = f4-f7;
+ heapFloat[(r2+69)] = f1;
+ f0 = f3-f0;
+ heapFloat[(r2+70)] = f2;
+ heapFloat[(r2+71)] = f0;
+ heap32[(r2+72)] = 0;
+ r1 = (r0 + 332)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ _ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield(i7);
+ f0 = heapFloat[(r2+84)];
+ f1 = 0;
+ if(f0 >=f1) //_LBB571_24
+{
+ f0 = heapFloat[(r2+85)];
+if(!(f0 <f1)) //_LBB571_23
+{
+ f0 = heapFloat[(r2+86)];
+if(!(f0 <f1)) //_LBB571_23
+{
+ f0 = heapFloat[(r2+87)];
+ r1 = f0 >= f1;
+ r1 = r1 & 1;
+break _5;
+}
+}
+}
+ r1 = 0;
+}
+else{
+ if(r5 ==4) //_LBB571_28
+{
+ r4 = sp + -72;
+ r5 = r4 >> 2;
+ heap32[(fp+-18)] = 0;
+ heap32[(r5+1)] = 0;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+ heap8[sp+-24] = r1;
+ heap32[(r2+79)] = 0;
+ heap32[(r2+80)] = 0;
+ heap32[(r2+81)] = 0;
+ r3 = r3 | 15;
+ heap32[(r2+82)] = 0;
+ heap8[r0+332] = r3;
+ f0 = heapFloat[(r2+11)];
+ f1 = heapFloat[(r2+7)];
+ f2 = heapFloat[(r2+15)];
+ f3 = heapFloat[(r2+1)];
+ f4 = heapFloat[(r2+2)];
+ f5 = heapFloat[(r2+3)];
+ f6 = heapFloat[(r2+5)];
+ f7 = heapFloat[(r2+6)];
+ f8 = heapFloat[(r2+9)];
+ f9 = heapFloat[(r2+10)];
+ f10 = heapFloat[(r2+13)];
+ f11 = heapFloat[(r2+14)];
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 0;
+ heapFloat[(g0+3)] = f3;
+ heapFloat[(g0+4)] = f4;
+ heapFloat[(g0+5)] = f5;
+ heapFloat[(g0+6)] = f6;
+ heapFloat[(g0+7)] = f7;
+ heapFloat[(g0+8)] = f1;
+ heapFloat[(g0+9)] = f8;
+ heapFloat[(g0+10)] = f9;
+ heapFloat[(g0+11)] = f0;
+ heapFloat[(g0+12)] = f10;
+ heapFloat[(g0+13)] = f11;
+ heapFloat[(g0+14)] = f2;
+ _ZN22btVoronoiSimplexSolver19pointOutsideOfPlaneERK9btVector3S2_S2_S2_S2_(i7);
+ r3 = r_g0;
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 0;
+ heapFloat[(g0+3)] = f3;
+ heapFloat[(g0+4)] = f4;
+ heapFloat[(g0+5)] = f5;
+ heapFloat[(g0+6)] = f8;
+ heapFloat[(g0+7)] = f9;
+ heapFloat[(g0+8)] = f0;
+ heapFloat[(g0+9)] = f10;
+ heapFloat[(g0+10)] = f11;
+ heapFloat[(g0+11)] = f2;
+ heapFloat[(g0+12)] = f6;
+ heapFloat[(g0+13)] = f7;
+ heapFloat[(g0+14)] = f1;
+ _ZN22btVoronoiSimplexSolver19pointOutsideOfPlaneERK9btVector3S2_S2_S2_S2_(i7);
+ r6 = r_g0;
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 0;
+ heapFloat[(g0+3)] = f3;
+ heapFloat[(g0+4)] = f4;
+ heapFloat[(g0+5)] = f5;
+ heapFloat[(g0+6)] = f10;
+ heapFloat[(g0+7)] = f11;
+ heapFloat[(g0+8)] = f2;
+ heapFloat[(g0+9)] = f6;
+ heapFloat[(g0+10)] = f7;
+ heapFloat[(g0+11)] = f1;
+ heapFloat[(g0+12)] = f8;
+ heapFloat[(g0+13)] = f9;
+ heapFloat[(g0+14)] = f0;
+ _ZN22btVoronoiSimplexSolver19pointOutsideOfPlaneERK9btVector3S2_S2_S2_S2_(i7);
+ r7 = r_g0;
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 0;
+ heapFloat[(g0+3)] = f6;
+ heapFloat[(g0+4)] = f7;
+ heapFloat[(g0+5)] = f1;
+ heapFloat[(g0+6)] = f10;
+ heapFloat[(g0+7)] = f11;
+ heapFloat[(g0+8)] = f2;
+ heapFloat[(g0+9)] = f8;
+ heapFloat[(g0+10)] = f9;
+ heapFloat[(g0+11)] = f0;
+ heapFloat[(g0+12)] = f3;
+ heapFloat[(g0+13)] = f4;
+ heapFloat[(g0+14)] = f5;
+ r8 = r6 | r3;
+ _ZN22btVoronoiSimplexSolver19pointOutsideOfPlaneERK9btVector3S2_S2_S2_S2_(i7);
+ r9 = r_g0;
+if(!(r8 <0)) //_LBB571_52
+{
+ r10 = r9 | r7;
+if(!(r10 <0)) //_LBB571_52
+{
+ r8 = r8 | r7;
+ r8 = r8 | r9;
+ if(r8 ==0) //_LBB571_53
+{
+ r1 = 1;
+ heap8[r0+312] = r1;
+ heap32[(r2+69)] = 0;
+ heap32[(r2+70)] = 0;
+ heap32[(r2+71)] = 0;
+ heap32[(r2+72)] = 0;
+ r_g0 = r1;
+ return;
+}
+else{
+ r8 = (r0 + 4)|0;
+ r10 = (r0 + 20)|0;
+ r11 = (r0 + 36)|0;
+ r12 = (r0 + 52)|0;
+ if(r3 !=0) //_LBB571_33
+{
+ r3 = sp + -40;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r11;
+ heap32[(g0+4)] = r3;
+ _ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(i7);
+ r3 = r3 >> 2;
+ f1 = heapFloat[(fp+-10)];
+ f0 = heapFloat[(fp+-18)];
+ f2 = heapFloat[(r3+1)];
+ f3 = heapFloat[(r5+1)];
+ f0 = f1-f0;
+ f3 = f2-f3;
+ f4 = heapFloat[(r3+2)];
+ f5 = heapFloat[(r5+2)];
+ f5 = f4-f5;
+ f0 = f0*f0;
+ f3 = f3*f3;
+ f0 = f0+f3;
+ f3 = f5*f5;
+ f0 = f0+f3;
+ f3 = 3.4028234663852886e+038;
+ if(f0 >=f3) //_LBB571_32
+{
+__label__ = 31;
+}
+else{
+ f3 = heapFloat[(r3+3)];
+ heapFloat[(r2+79)] = f1;
+ heapFloat[(r2+80)] = f2;
+ heapFloat[(r2+81)] = f4;
+ heapFloat[(r2+82)] = f3;
+ r13 = heapU8[sp+-24];
+ r14 = heapU8[r0+332];
+ r15 = r13 & 1;
+ r14 = r14 & 240;
+ r14 = r15 | r14;
+ r15 = r13 & 2;
+ r14 = r14 | r15;
+ r13 = r13 & 4;
+ r13 = r14 | r13;
+ heap8[r0+332] = r13;
+ f1 = heapFloat[(r3+7)];
+ f2 = heapFloat[(r3+6)];
+ heap32[(r2+84)] = heap32[(r3+5)];
+ heapFloat[(r2+85)] = f2;
+ heapFloat[(r2+86)] = f1;
+ heap32[(r2+87)] = 0;
+__label__ = 34;
+}
+}
+else{
+__label__ = 31;
+}
+if (__label__ == 31){
+ f0 = 3.4028234663852886e+038;
+}
+ if(r6 !=0) //_LBB571_37
+{
+ r3 = sp + -40;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r11;
+ heap32[(g0+3)] = r12;
+ heap32[(g0+4)] = r3;
+ _ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(i7);
+ r3 = r3 >> 2;
+ f1 = heapFloat[(fp+-10)];
+ f2 = heapFloat[(fp+-18)];
+ f3 = heapFloat[(r3+1)];
+ f4 = heapFloat[(r5+1)];
+ f2 = f1-f2;
+ f4 = f3-f4;
+ f5 = heapFloat[(r3+2)];
+ f6 = heapFloat[(r5+2)];
+ f6 = f5-f6;
+ f2 = f2*f2;
+ f4 = f4*f4;
+ f2 = f2+f4;
+ f4 = f6*f6;
+ f2 = f2+f4;
+if(!(f2 >=f0)) //_LBB571_36
+{
+ f0 = heapFloat[(r3+3)];
+ heapFloat[(r2+79)] = f1;
+ heapFloat[(r2+80)] = f3;
+ heapFloat[(r2+81)] = f5;
+ heapFloat[(r2+82)] = f0;
+ r6 = heapU8[sp+-24];
+ r13 = heapU8[r0+332];
+ r14 = r6 << 1;
+ r6 = r6 & 1;
+ r13 = r13 & 240;
+ r6 = r6 | r13;
+ r13 = r14 & 4;
+ r6 = r6 | r13;
+ r13 = r14 & 8;
+ r6 = r6 | r13;
+ heap8[r0+332] = r6;
+ f0 = heapFloat[(r3+7)];
+ f1 = heapFloat[(r3+6)];
+ heap32[(r2+84)] = heap32[(r3+5)];
+ heap32[(r2+85)] = 0;
+ heapFloat[(r2+86)] = f1;
+ heapFloat[(r2+87)] = f0;
+ f0 = f2;
+}
+}
+ if(r7 !=0) //_LBB571_41
+{
+ r3 = sp + -40;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = r10;
+ heap32[(g0+4)] = r3;
+ _ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(i7);
+ r3 = r3 >> 2;
+ f1 = heapFloat[(fp+-10)];
+ f2 = heapFloat[(fp+-18)];
+ f3 = heapFloat[(r3+1)];
+ f4 = heapFloat[(r5+1)];
+ f2 = f1-f2;
+ f4 = f3-f4;
+ f5 = heapFloat[(r3+2)];
+ f6 = heapFloat[(r5+2)];
+ f6 = f5-f6;
+ f2 = f2*f2;
+ f4 = f4*f4;
+ f2 = f2+f4;
+ f4 = f6*f6;
+ f2 = f2+f4;
+if(!(f2 >=f0)) //_LBB571_40
+{
+ f0 = heapFloat[(r3+3)];
+ heapFloat[(r2+79)] = f1;
+ heapFloat[(r2+80)] = f3;
+ heapFloat[(r2+81)] = f5;
+ heapFloat[(r2+82)] = f0;
+ r6 = heapU8[sp+-24];
+ r7 = heapU8[r0+332];
+ r8 = r6 >>> 1;
+ r13 = r6 & 1;
+ r7 = r7 & 240;
+ r6 = r6 << 2;
+ r7 = r13 | r7;
+ r8 = r8 & 2;
+ r7 = r7 | r8;
+ r6 = r6 & 8;
+ r6 = r7 | r6;
+ heap8[r0+332] = r6;
+ f0 = heapFloat[(r3+6)];
+ f1 = heapFloat[(r3+7)];
+ heap32[(r2+84)] = heap32[(r3+5)];
+ heapFloat[(r2+85)] = f1;
+ heap32[(r2+86)] = 0;
+ heapFloat[(r2+87)] = f0;
+ f0 = f2;
+}
+}
+if(!(r9 ==0)) //_LBB571_46
+{
+ r3 = sp + -40;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = r11;
+ heap32[(g0+4)] = r3;
+ _ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(i7);
+ r3 = r3 >> 2;
+ f1 = heapFloat[(fp+-10)];
+ f2 = heapFloat[(fp+-18)];
+ f3 = heapFloat[(r3+1)];
+ f4 = heapFloat[(r5+1)];
+ f2 = f1-f2;
+ f4 = f3-f4;
+ f5 = heapFloat[(r3+2)];
+ f6 = heapFloat[(r5+2)];
+ f6 = f5-f6;
+ f2 = f2*f2;
+ f4 = f4*f4;
+ f2 = f2+f4;
+ f4 = f6*f6;
+ f2 = f2+f4;
+if(!(f2 >=f0)) //_LBB571_46
+{
+ f0 = heapFloat[(r3+3)];
+ heapFloat[(r2+79)] = f1;
+ heapFloat[(r2+80)] = f3;
+ heapFloat[(r2+81)] = f5;
+ heapFloat[(r2+82)] = f0;
+ r4 = heapU8[sp+-24];
+ r5 = heapU8[r0+332];
+ r6 = r4 << 1;
+ r6 = r6 & 2;
+ r5 = r5 & 240;
+ r7 = r4 << 2;
+ r5 = r6 | r5;
+ r4 = r4 & 4;
+ r4 = r5 | r4;
+ r5 = r7 & 8;
+ r4 = r4 | r5;
+ heap8[r0+332] = r4;
+ f0 = heapFloat[(r3+6)];
+ f1 = heapFloat[(r3+7)];
+ f2 = heapFloat[(r3+5)];
+ heap32[(r2+84)] = 0;
+ heapFloat[(r2+85)] = f2;
+ heapFloat[(r2+86)] = f1;
+ heapFloat[(r2+87)] = f0;
+}
+}
+ f0 = heapFloat[(r2+85)];
+ f1 = heapFloat[(r2+25)];
+ f2 = heapFloat[(r2+84)];
+ f3 = heapFloat[(r2+21)];
+ f4 = heapFloat[(r2+26)];
+ f5 = heapFloat[(r2+22)];
+ f3 = f3*f2;
+ f1 = f1*f0;
+ f6 = heapFloat[(r2+86)];
+ f7 = heapFloat[(r2+29)];
+ f8 = heapFloat[(r2+30)];
+ f9 = heapFloat[(r2+27)];
+ f10 = heapFloat[(r2+23)];
+ f5 = f5*f2;
+ f4 = f4*f0;
+ f1 = f3+f1;
+ f3 = f7*f6;
+ f7 = heapFloat[(r2+87)];
+ f11 = heapFloat[(r2+33)];
+ f12 = heapFloat[(r2+35)];
+ f13 = heapFloat[(r2+34)];
+ f14 = heapFloat[(r2+31)];
+ f10 = f10*f2;
+ f9 = f9*f0;
+ f4 = f5+f4;
+ f5 = f8*f6;
+ f1 = f1+f3;
+ f3 = f11*f7;
+ f8 = f10+f9;
+ f9 = f14*f6;
+ f4 = f4+f5;
+ f5 = f13*f7;
+ f1 = f1+f3;
+ f3 = f8+f9;
+ f8 = f12*f7;
+ f4 = f4+f5;
+ heapFloat[(r2+61)] = f1;
+ f3 = f3+f8;
+ heapFloat[(r2+62)] = f4;
+ heapFloat[(r2+63)] = f3;
+ heap32[(r2+64)] = 0;
+ f5 = heapFloat[(r2+45)];
+ f8 = heapFloat[(r2+41)];
+ f9 = heapFloat[(r2+49)];
+ f10 = heapFloat[(r2+46)];
+ f11 = heapFloat[(r2+42)];
+ f8 = f8*f2;
+ f5 = f5*f0;
+ f12 = heapFloat[(r2+53)];
+ f13 = heapFloat[(r2+50)];
+ f14 = heapFloat[(r2+47)];
+ f15 = heapFloat[(r2+43)];
+ f11 = f11*f2;
+ f10 = f10*f0;
+ f5 = f8+f5;
+ f8 = f9*f6;
+ f9 = heapFloat[(r2+55)];
+ f16 = heapFloat[(r2+54)];
+ f17 = heapFloat[(r2+51)];
+ f2 = f15*f2;
+ f0 = f14*f0;
+ f10 = f11+f10;
+ f11 = f13*f6;
+ f5 = f5+f8;
+ f8 = f12*f7;
+ f5 = f5+f8;
+ f0 = f2+f0;
+ f2 = f17*f6;
+ f6 = f10+f11;
+ f8 = f16*f7;
+ f6 = f6+f8;
+ heapFloat[(r2+65)] = f5;
+ f0 = f0+f2;
+ f2 = f9*f7;
+ f0 = f0+f2;
+ heapFloat[(r2+66)] = f6;
+ heapFloat[(r2+67)] = f0;
+ f1 = f1-f5;
+ heap32[(r2+68)] = 0;
+ f2 = f4-f6;
+ heapFloat[(r2+69)] = f1;
+ f0 = f3-f0;
+ heapFloat[(r2+70)] = f2;
+ heapFloat[(r2+71)] = f0;
+ heap32[(r2+72)] = 0;
+ r3 = (r0 + 332)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ _ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield(i7);
+ f0 = heapFloat[(r2+84)];
+ f1 = 0;
+ if(f0 >=f1) //_LBB571_48
+{
+ f0 = heapFloat[(r2+85)];
+ if(f0 <f1) //_LBB571_47
+{
+break _5;
+}
+else{
+ f0 = heapFloat[(r2+86)];
+ if(f0 <f1) //_LBB571_47
+{
+break _5;
+}
+else{
+ f0 = heapFloat[(r2+87)];
+ r1 = f0 >= f1;
+ r1 = r1 & 1;
+break _5;
+}
+}
+}
+else{
+break _5;
+}
+}
+}
+}
+ r2 = 1;
+ heap8[r0+352] = r2;
+ r2 = 0;
+ heap8[r0+312] = r2;
+ r_g0 = r2;
+ return;
+}
+else{
+__label__ = 8;
+break _3;
+}
+}
+}
+} while(0);
+ heap8[r0+312] = r1;
+ r0 = r1 & 255;
+ r_g0 = r0;
+ return;
+}
+else{
+ if(r5 ==0) //_LBB571_8
+{
+__label__ = 8;
+}
+else{
+ if(r5 ==1) //_LBB571_10
+{
+ f0 = heapFloat[(r2+21)];
+ heapFloat[(r2+61)] = f0;
+ f1 = heapFloat[(r2+22)];
+ heapFloat[(r2+62)] = f1;
+ f2 = heapFloat[(r2+23)];
+ heapFloat[(r2+63)] = f2;
+ heap32[(r2+64)] = heap32[(r2+24)];
+ f3 = heapFloat[(r2+41)];
+ heapFloat[(r2+65)] = f3;
+ f4 = heapFloat[(r2+42)];
+ heapFloat[(r2+66)] = f4;
+ f5 = heapFloat[(r2+43)];
+ heapFloat[(r2+67)] = f5;
+ f0 = f0-f3;
+ heap32[(r2+68)] = heap32[(r2+44)];
+ f1 = f1-f4;
+ heapFloat[(r2+69)] = f0;
+ f0 = f2-f5;
+ heapFloat[(r2+70)] = f1;
+ heapFloat[(r2+71)] = f0;
+ r1 = 0;
+ heap32[(r2+72)] = 0;
+ heap8[r0+352] = r1;
+ heap8[r0+332] = r4;
+ heap32[(r2+84)] = 1065353216;
+ heap32[(r2+85)] = 0;
+ heap32[(r2+86)] = 0;
+ heap32[(r2+87)] = 0;
+ r1 = 1;
+__label__ = 9;
+}
+else{
+__label__ = 8;
+}
+}
+}
+} while(0);
+if (__label__ == 8){
+ r1 = 0;
+}
+ heap8[r0+312] = r1;
+ r_g0 = r1;
+ return;
+}
+else{
+ r0 = heapU8[r0+312];
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN16btCollisionWorld27ClosestConvexResultCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN16btCollisionWorld27ClosestConvexResultCallbackE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN16btCollisionWorld27ClosestConvexResultCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN16btCollisionWorld27ClosestConvexResultCallbackE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp)];
+ f0 = heapFloat[(r0+10)];
+ r1 = r1 >> 2;
+ f1 = heapFloat[(r1+1)];
+ if(f0 <=f1) //_LBB574_2
+{
+ r2 = heap32[(fp+2)];
+ heapFloat[(r1+1)] = f0;
+ r3 = heap32[(r0)];
+ heap32[(r1+19)] = r3;
+ if(r2 ==0) //_LBB574_4
+{
+ r2 = r3 >> 2;
+ f0 = heapFloat[(r0+2)];
+ f1 = heapFloat[(r2+1)];
+ f2 = heapFloat[(r0+3)];
+ f3 = heapFloat[(r2+2)];
+ f4 = heapFloat[(r2+5)];
+ f5 = heapFloat[(r2+6)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r0+4)];
+ f7 = heapFloat[(r2+3)];
+ f8 = heapFloat[(r2+9)];
+ f9 = heapFloat[(r2+10)];
+ f10 = heapFloat[(r2+11)];
+ f11 = heapFloat[(r2+7)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f11*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ f2 = f10*f6;
+ f3 = f4+f5;
+ heapFloat[(r1+11)] = f1;
+ f0 = f0+f2;
+ heapFloat[(r1+12)] = f3;
+ heapFloat[(r1+13)] = f0;
+ heap32[(r1+14)] = 0;
+}
+else{
+ heap32[(r1+11)] = heap32[(r0+2)];
+ heap32[(r1+12)] = heap32[(r0+3)];
+ heap32[(r1+13)] = heap32[(r0+4)];
+ heap32[(r1+14)] = heap32[(r0+5)];
+}
+ heap32[(r1+15)] = heap32[(r0+6)];
+ heap32[(r1+16)] = heap32[(r0+7)];
+ heap32[(r1+17)] = heap32[(r0+8)];
+ heap32[(r1+18)] = heap32[(r0+9)];
+ f0 = heapFloat[(r0+10)];
+ f_g0 = f0;
+ return;
+}
+else{
+ r0 = _2E_str36;
+ r1 = _2E_str4;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 384;
+ _assert(i7);
+}
+}
+
+function _ZNK21btConeTwistConstraint28calculateSerializeBufferSizeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 204;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK21btConeTwistConstraint9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ _ZNK17btTypedConstraint9serializeEPvP12btSerializer(i7);
+ heap32[(r1+11)] = heap32[(r0+72)];
+ heap32[(r1+12)] = heap32[(r0+73)];
+ heap32[(r1+13)] = heap32[(r0+74)];
+ heap32[(r1+14)] = heap32[(r0+75)];
+ heap32[(r1+15)] = heap32[(r0+76)];
+ heap32[(r1+16)] = heap32[(r0+77)];
+ heap32[(r1+17)] = heap32[(r0+78)];
+ heap32[(r1+18)] = heap32[(r0+79)];
+ heap32[(r1+19)] = heap32[(r0+80)];
+ heap32[(r1+20)] = heap32[(r0+81)];
+ heap32[(r1+21)] = heap32[(r0+82)];
+ heap32[(r1+22)] = heap32[(r0+83)];
+ heap32[(r1+23)] = heap32[(r0+84)];
+ heap32[(r1+24)] = heap32[(r0+85)];
+ heap32[(r1+25)] = heap32[(r0+86)];
+ heap32[(r1+26)] = heap32[(r0+87)];
+ heap32[(r1+27)] = heap32[(r0+88)];
+ heap32[(r1+28)] = heap32[(r0+89)];
+ heap32[(r1+29)] = heap32[(r0+90)];
+ heap32[(r1+30)] = heap32[(r0+91)];
+ heap32[(r1+31)] = heap32[(r0+92)];
+ heap32[(r1+32)] = heap32[(r0+93)];
+ heap32[(r1+33)] = heap32[(r0+94)];
+ heap32[(r1+34)] = heap32[(r0+95)];
+ heap32[(r1+35)] = heap32[(r0+96)];
+ heap32[(r1+36)] = heap32[(r0+97)];
+ heap32[(r1+37)] = heap32[(r0+98)];
+ heap32[(r1+38)] = heap32[(r0+99)];
+ heap32[(r1+39)] = heap32[(r0+100)];
+ heap32[(r1+40)] = heap32[(r0+101)];
+ heap32[(r1+41)] = heap32[(r0+102)];
+ heap32[(r1+42)] = heap32[(r0+103)];
+ heap32[(r1+43)] = heap32[(r0+108)];
+ heap32[(r1+44)] = heap32[(r0+109)];
+ heap32[(r1+45)] = heap32[(r0+110)];
+ heap32[(r1+46)] = heap32[(r0+104)];
+ heap32[(r1+47)] = heap32[(r0+105)];
+ heap32[(r1+48)] = heap32[(r0+106)];
+ heap32[(r1+49)] = heap32[(r0+107)];
+ r0 = _2E_str239;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN21btConeTwistConstraintD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV21btConeTwistConstraint;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN21btConeTwistConstraintD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV21btConeTwistConstraint;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN21btConeTwistConstraint13buildJacobianEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+var __label__ = 0;
+ i7 = sp + -216;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+515];
+if(!(r1 ==0)) //_LBB579_14
+{
+ r1 = r0 >> 2;
+ heap32[(r1+7)] = 0;
+ heap32[(r1+127)] = 0;
+ heap32[(r1+126)] = 0;
+ heap32[(r1+141)] = 0;
+ heap32[(r1+142)] = 0;
+ heap32[(r1+143)] = 0;
+ heap32[(r1+144)] = 0;
+ r2 = heapU8[r0+512];
+if(!(r2 !=0)) //_LBB579_13
+{
+ r2 = heap32[(r1+6)];
+ r3 = heap32[(r1+5)];
+ r2 = r2 >> 2;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r2+5)];
+ f1 = heapFloat[(r1+100)];
+ f2 = heapFloat[(r2+1)];
+ f3 = heapFloat[(r2+6)];
+ f4 = heapFloat[(r1+101)];
+ f5 = heapFloat[(r2+2)];
+ f6 = heapFloat[(r3+5)];
+ f7 = heapFloat[(r1+84)];
+ f8 = heapFloat[(r3+1)];
+ f9 = heapFloat[(r3+6)];
+ f10 = heapFloat[(r1+85)];
+ f11 = heapFloat[(r3+2)];
+ f12 = heapFloat[(r2+9)];
+ f13 = heapFloat[(r2+10)];
+ f14 = heapFloat[(r3+9)];
+ f15 = heapFloat[(r3+10)];
+ f0 = f0*f1;
+ f3 = f3*f4;
+ f16 = heapFloat[(r2+7)];
+ f17 = heapFloat[(r1+102)];
+ f18 = heapFloat[(r2+3)];
+ f6 = f6*f7;
+ f9 = f9*f10;
+ f19 = heapFloat[(r3+7)];
+ f20 = heapFloat[(r1+86)];
+ f21 = heapFloat[(r3+3)];
+ f2 = f2*f1;
+ f5 = f5*f4;
+ f8 = f8*f7;
+ f11 = f11*f10;
+ f22 = heapFloat[(r2+11)];
+ f23 = heapFloat[(r3+11)];
+ f1 = f12*f1;
+ f4 = f13*f4;
+ f7 = f14*f7;
+ f10 = f15*f10;
+ f0 = f0+f3;
+ f3 = f16*f17;
+ f6 = f6+f9;
+ f9 = f19*f20;
+ f2 = f2+f5;
+ f5 = f18*f17;
+ f8 = f8+f11;
+ f11 = f21*f20;
+ f1 = f1+f4;
+ f4 = f22*f17;
+ f7 = f7+f10;
+ f10 = f23*f20;
+ f0 = f0+f3;
+ f3 = heapFloat[(r2+14)];
+ f6 = f6+f9;
+ f9 = heapFloat[(r3+14)];
+ f2 = f2+f5;
+ f5 = heapFloat[(r2+13)];
+ f8 = f8+f11;
+ f11 = heapFloat[(r3+13)];
+ f0 = f0+f3;
+ f3 = f6+f9;
+ f2 = f2+f5;
+ f5 = f8+f11;
+ f1 = f1+f4;
+ f4 = heapFloat[(r2+15)];
+ f6 = f7+f10;
+ f7 = heapFloat[(r3+15)];
+ f8 = f0-f3;
+ f9 = f2-f5;
+ f1 = f1+f4;
+ f4 = f6+f7;
+ f6 = f1-f4;
+ f7 = f9*f9;
+ f10 = f8*f8;
+ f7 = f7+f10;
+ f10 = f6*f6;
+ f7 = f7+f10;
+ f10 = 1.1920928955078125e-007;
+ if(f7 >f10) //_LBB579_4
+{
+ heapFloat[(g0)] = f7;
+ f10 = 1;
+ sqrtf(i7);
+ f11 = f10/f_g0;
+ r2 = sp + -176;
+ f7 = f9*f11;
+ f8 = f8*f11;
+ r3 = r2 >> 2;
+ heapFloat[(fp+-44)] = f7;
+ f6 = f6*f11;
+ heapFloat[(r3+1)] = f8;
+ r2 = (r2 + 8)|0;
+ heapFloat[(r3+2)] = f6;
+ heap32[(r3+3)] = 0;
+ f9 = 0;
+ if(f6 <f9) //_LBB579_6
+{
+ f9 = -f6;
+}
+else{
+ f9 = f6;
+}
+ f11 = 0.70710676908493042;
+ if(f9 >f11) //_LBB579_9
+{
+ f7 = f8*f8;
+ f8 = f6*f6;
+ f7 = f7+f8;
+ heapFloat[(g0)] = f7;
+ sqrtf(i7);
+ heap32[(r3+4)] = 0;
+ f6 = heapFloat[(r3+2)];
+ f8 = f10/f_g0;
+ f6 = -f6;
+ f6 = f8*f6;
+ heapFloat[(r3+5)] = f6;
+ f9 = heapFloat[(r3+1)];
+ f9 = f9*f8;
+ f7 = f7*f8;
+ heapFloat[(r3+6)] = f9;
+ heapFloat[(r3+8)] = f7;
+ f7 = heapFloat[(fp+-44)];
+ f8 = -f7;
+ f8 = f9*f8;
+ f7 = f7*f6;
+ heapFloat[(r3+9)] = f8;
+ heapFloat[(r3+10)] = f7;
+__label__ = 10;
+}
+else{
+__label__ = 9;
+}
+}
+else{
+ r2 = sp + -176;
+ r3 = r2 >> 2;
+ heap32[(fp+-44)] = 1065353216;
+ heap32[(r3+1)] = 0;
+ r2 = (r2 + 8)|0;
+ f7 = 1;
+ f8 = 0;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 0;
+__label__ = 9;
+}
+if (__label__ == 9){
+ f6 = f7*f7;
+ f7 = f8*f8;
+ f6 = f6+f7;
+ r3 = sp + -176;
+ heapFloat[(g0)] = f6;
+ r3 = r3 >> 2;
+ sqrtf(i7);
+ f8 = 1;
+ f9 = heapFloat[(r3+1)];
+ f7 = f8/f_g0;
+ f8 = -f9;
+ f8 = f7*f8;
+ heapFloat[(r3+4)] = f8;
+ f9 = heapFloat[(fp+-44)];
+ f9 = f9*f7;
+ heapFloat[(r3+5)] = f9;
+ r2 = r2 >> 2;
+ heap32[(r3+6)] = 0;
+ f10 = heapFloat[(r2)];
+ f11 = -f10;
+ f9 = f9*f11;
+ f8 = f10*f8;
+ heapFloat[(r3+8)] = f9;
+ f6 = f6*f7;
+ heapFloat[(r3+9)] = f8;
+ heapFloat[(r3+10)] = f6;
+}
+ r2 = (r0 + 36)|0;
+ r3 = 0;
+_16: while(true){
+ r4 = heap32[(r1+5)];
+ r5 = r4 >> 2;
+ r6 = sp + -128;
+ r7 = r6 >> 2;
+ heap32[(fp+-32)] = heap32[(r5+1)];
+ heap32[(r7+1)] = heap32[(r5+5)];
+ heap32[(r7+2)] = heap32[(r5+9)];
+ heap32[(r7+3)] = 0;
+ heap32[(r7+4)] = heap32[(r5+2)];
+ heap32[(r7+5)] = heap32[(r5+6)];
+ heap32[(r7+6)] = heap32[(r5+10)];
+ heap32[(r7+7)] = 0;
+ heap32[(r7+8)] = heap32[(r5+3)];
+ heap32[(r7+9)] = heap32[(r5+7)];
+ heap32[(r7+10)] = heap32[(r5+11)];
+ heap32[(r7+11)] = 0;
+ r7 = heap32[(r1+6)];
+ r8 = sp + -80;
+ r9 = r7 >> 2;
+ r10 = r8 >> 2;
+ heap32[(fp+-20)] = heap32[(r9+1)];
+ heap32[(r10+1)] = heap32[(r9+5)];
+ heap32[(r10+2)] = heap32[(r9+9)];
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = heap32[(r9+2)];
+ heap32[(r10+5)] = heap32[(r9+6)];
+ heap32[(r10+6)] = heap32[(r9+10)];
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = heap32[(r9+3)];
+ heap32[(r10+9)] = heap32[(r9+7)];
+ heap32[(r10+10)] = heap32[(r9+11)];
+ heap32[(r10+11)] = 0;
+ f6 = heapFloat[(r5+13)];
+ f7 = heapFloat[(r5+15)];
+ f8 = heapFloat[(r5+14)];
+ r10 = sp + -32;
+ f6 = f5-f6;
+ r11 = r10 >> 2;
+ f8 = f3-f8;
+ heapFloat[(fp+-8)] = f6;
+ f6 = f4-f7;
+ heapFloat[(r11+1)] = f8;
+ heapFloat[(r11+2)] = f6;
+ heap32[(r11+3)] = 0;
+ f6 = heapFloat[(r9+13)];
+ f7 = heapFloat[(r9+15)];
+ f8 = heapFloat[(r9+14)];
+ r11 = sp + -16;
+ f6 = f2-f6;
+ r12 = r11 >> 2;
+ f8 = f0-f8;
+ heapFloat[(fp+-4)] = f6;
+ f6 = f1-f7;
+ heapFloat[(r12+1)] = f8;
+ heapFloat[(r12+2)] = f6;
+ heap32[(r12+3)] = 0;
+ f6 = heapFloat[(r9+84)];
+ f7 = heapFloat[(r5+84)];
+ r5 = sp + -176;
+ r5 = (r5 + r3)|0;
+ r4 = (r4 + 388)|0;
+ r7 = (r7 + 388)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r10;
+ heap32[(g0+4)] = r11;
+ heap32[(g0+5)] = r5;
+ heap32[(g0+6)] = r4;
+ heapFloat[(g0+7)] = f7;
+ heap32[(g0+8)] = r7;
+ heapFloat[(g0+9)] = f6;
+ r3 = (r3 + 16)|0;
+ r2 = (r2 + 84)|0;
+ _ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(i7);
+if(!(r3 !=48)) //_LBB579_12
+{
+break _16;
+}
+}
+}
+ r2 = heap32[(r1+6)];
+ r1 = heap32[(r1+5)];
+ r3 = (r1 + 4)|0;
+ r4 = (r2 + 4)|0;
+ r1 = (r1 + 256)|0;
+ r2 = (r2 + 256)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = r2;
+ _ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_(i7);
+}
+ return;
+}
+
+function _ZN21btConeTwistConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heapU8[r0+515];
+ if(r2 ==0) //_LBB580_2
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = 3;
+ r2 = r0 >> 2;
+ heap32[(r1+1)] = 3;
+ r3 = heap32[(r2+6)];
+ r4 = heap32[(r2+5)];
+ r5 = (r4 + 4)|0;
+ r6 = (r3 + 4)|0;
+ r4 = (r4 + 256)|0;
+ r3 = (r3 + 256)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = r3;
+ _ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_(i7);
+ r3 = heapU8[r0+514];
+if(!(r3 ==0)) //_LBB580_6
+{
+ r3 = heap32[(r1)];
+ r4 = (r3 + 1)|0;
+ heap32[(r1)] = r4;
+ r4 = heap32[(r1+1)];
+ r5 = (r4 + -1)|0;
+ heap32[(r1+1)] = r5;
+ f0 = heapFloat[(r2+111)];
+ f1 = heapFloat[(r2+108)];
+if(!(f1 >=f0)) //_LBB580_6
+{
+ f1 = heapFloat[(r2+109)];
+if(!(f1 >=f0)) //_LBB580_6
+{
+ r2 = (r3 + 2)|0;
+ r3 = (r4 + -2)|0;
+ heap32[(r1)] = r2;
+ heap32[(r1+1)] = r3;
+}
+}
+}
+ r0 = heapU8[r0+513];
+if(!(r0 ==0)) //_LBB580_8
+{
+ r0 = heap32[(r1)];
+ r0 = (r0 + 1)|0;
+ heap32[(r1)] = r0;
+ r0 = heap32[(r1+1)];
+ r0 = (r0 + -1)|0;
+ heap32[(r1+1)] = r0;
+}
+ return;
+}
+else{
+ r0 = r1 >> 2;
+ heap32[(r0)] = 0;
+ heap32[(r0+1)] = 0;
+ return;
+}
+}
+
+function _ZN21btConeTwistConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+6)];
+ r3 = heap32[(r1+5)];
+ r4 = (r3 + 4)|0;
+ r5 = (r2 + 4)|0;
+ r6 = (r3 + 256)|0;
+ r7 = (r2 + 256)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r6;
+ heap32[(g0+4)] = r7;
+ _ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_(i7);
+ r4 = heapU8[r0+515];
+ if(r4 ==0) //_LBB581_2
+{
+ r4 = heap32[(fp+1)];
+ r5 = r4 >> 2;
+ r6 = heap32[(r5+2)];
+ r6 = r6 >> 2;
+ heap32[(r6)] = 1065353216;
+ r6 = heap32[(r5+6)];
+ r7 = heap32[(r5+2)];
+ r6 = r6 << 2;
+ r6 = (r6 + r7)|0;
+ r6 = r6 >> 2;
+ heap32[(r6+1)] = 1065353216;
+ r6 = heap32[(r5+6)];
+ r7 = heap32[(r5+2)];
+ r6 = r6 << 3;
+ r6 = (r6 + r7)|0;
+ r6 = r6 >> 2;
+ heap32[(r6+2)] = 1065353216;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r3+9)];
+ f1 = heapFloat[(r1+84)];
+ f2 = heapFloat[(r3+5)];
+ f3 = heapFloat[(r3+10)];
+ f4 = heapFloat[(r1+85)];
+ f5 = heapFloat[(r3+6)];
+ r6 = heap32[(r5+6)];
+ f6 = heapFloat[(r3+1)];
+ f7 = heapFloat[(r3+2)];
+ r7 = heap32[(r5+3)];
+ f2 = f2*f1;
+ f5 = f5*f4;
+ f0 = f0*f1;
+ f3 = f3*f4;
+ f8 = heapFloat[(r3+11)];
+ f9 = heapFloat[(r1+86)];
+ f10 = heapFloat[(r3+7)];
+ f11 = heapFloat[(r3+3)];
+ f2 = f2+f5;
+ f5 = f10*f9;
+ r8 = r7 >> 2;
+ f0 = f0+f3;
+ f3 = f8*f9;
+ f2 = f2+f5;
+ f0 = f0+f3;
+ heap32[(r8)] = 0;
+ r9 = r6 << 2;
+ f3 = -f2;
+ heapFloat[(r8+1)] = f0;
+ r9 = (r7 + r9)|0;
+ heapFloat[(r8+2)] = f3;
+ r9 = r9 >> 2;
+ f1 = f6*f1;
+ f3 = f7*f4;
+ f4 = -f0;
+ heap32[(r8+3)] = 0;
+ heapFloat[(r9)] = f4;
+ f1 = f1+f3;
+ f3 = f11*f9;
+ r6 = r6 << 3;
+ f1 = f1+f3;
+ heap32[(r9+1)] = 0;
+ r8 = (r6 + r7)|0;
+ r6 = r6 | 4;
+ heapFloat[(r9+2)] = f1;
+ r6 = (r7 + r6)|0;
+ r7 = r8 >> 2;
+ heap32[(r9+3)] = 0;
+ r6 = r6 >> 2;
+ f3 = -f1;
+ heapFloat[(r7)] = f2;
+ heapFloat[(r6)] = f3;
+ heap32[(r7+2)] = 0;
+ heap32[(r7+3)] = 0;
+ r2 = r2 >> 2;
+ f3 = heapFloat[(r2+9)];
+ f4 = heapFloat[(r1+100)];
+ f5 = heapFloat[(r2+10)];
+ f6 = heapFloat[(r1+101)];
+ f3 = f3*f4;
+ f5 = f5*f6;
+ f7 = heapFloat[(r2+11)];
+ f8 = heapFloat[(r1+102)];
+ r6 = heap32[(r5+6)];
+ f9 = heapFloat[(r2+5)];
+ f10 = heapFloat[(r2+6)];
+ f11 = heapFloat[(r2+7)];
+ f12 = heapFloat[(r2+1)];
+ f13 = heapFloat[(r2+2)];
+ f14 = heapFloat[(r2+3)];
+ r7 = heap32[(r5+5)];
+ f3 = f3+f5;
+ f5 = f7*f8;
+ f3 = f3+f5;
+ r8 = r7 >> 2;
+ f5 = f9*f4;
+ f7 = f10*f6;
+ f5 = f5+f7;
+ f7 = f11*f8;
+ f9 = -f3;
+ heap32[(r8)] = 0;
+ f5 = f5+f7;
+ r9 = r6 << 2;
+ heapFloat[(r8+1)] = f9;
+ r9 = (r7 + r9)|0;
+ heapFloat[(r8+2)] = f5;
+ f4 = f12*f4;
+ f6 = f13*f6;
+ f4 = f4+f6;
+ f6 = f14*f8;
+ r9 = r9 >> 2;
+ heap32[(r8+3)] = 0;
+ f4 = f4+f6;
+ heapFloat[(r9)] = f3;
+ r6 = r6 << 3;
+ f6 = -f4;
+ heap32[(r9+1)] = 0;
+ r8 = (r6 + r7)|0;
+ r6 = r6 | 4;
+ heapFloat[(r9+2)] = f6;
+ r6 = (r7 + r6)|0;
+ r7 = r8 >> 2;
+ f6 = -f5;
+ heap32[(r9+3)] = 0;
+ r6 = r6 >> 2;
+ heapFloat[(r7)] = f6;
+ heapFloat[(r6)] = f4;
+ heap32[(r7+2)] = 0;
+ heap32[(r7+3)] = 0;
+ r6 = heapU8[r0+580];
+ r6 = r6 & 2;
+ if(r6 ==0) //_LBB581_4
+{
+ r4 = (r4 + 4)|0;
+}
+else{
+ r4 = (r0 + 588)|0;
+}
+ f6 = heapFloat[(r2+13)];
+ r4 = r4 >> 2;
+ f4 = f4+f6;
+ f1 = f4-f1;
+ f4 = heapFloat[(r3+13)];
+ f6 = heapFloat[(r4)];
+ f7 = heapFloat[(r5)];
+ r4 = heap32[(r5+7)];
+ f6 = f7*f6;
+ f1 = f1-f4;
+ r4 = r4 >> 2;
+ f1 = f1*f6;
+ heapFloat[(r4)] = f1;
+ r4 = heap32[(r5+9)];
+ r4 = r4 >> 2;
+ heap32[(r4)] = -8388609;
+ r4 = heap32[(r5+10)];
+ r4 = r4 >> 2;
+ heap32[(r4)] = 2139095039;
+ r4 = heapU8[r0+580];
+ r4 = r4 & 1;
+if(!(r4 ==0)) //_LBB581_7
+{
+ r4 = heap32[(r5+8)];
+ r4 = r4 >> 2;
+ heap32[(r4)] = heap32[(r1+146)];
+}
+ f1 = heapFloat[(r2+14)];
+ r4 = heap32[(r5+6)];
+ f1 = f5+f1;
+ r4 = r4 << 2;
+ r6 = heap32[(r5+7)];
+ f4 = heapFloat[(r3+14)];
+ f1 = f1-f2;
+ r4 = (r6 + r4)|0;
+ f1 = f1-f4;
+ r4 = r4 >> 2;
+ f1 = f1*f6;
+ heapFloat[(r4)] = f1;
+ r4 = heap32[(r5+6)];
+ r6 = heap32[(r5+9)];
+ r4 = r4 << 2;
+ r4 = (r6 + r4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = -8388609;
+ r4 = heap32[(r5+6)];
+ r6 = heap32[(r5+10)];
+ r4 = r4 << 2;
+ r4 = (r6 + r4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = 2139095039;
+ r4 = heapU8[r0+580];
+ r4 = r4 & 1;
+if(!(r4 ==0)) //_LBB581_25
+{
+ r4 = heap32[(r5+6)];
+ r6 = heap32[(r5+8)];
+ r4 = r4 << 2;
+ r4 = (r6 + r4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = heap32[(r1+146)];
+}
+ f1 = heapFloat[(r2+15)];
+ r2 = heap32[(r5+6)];
+ f3 = f3+f1;
+ r2 = r2 << 3;
+ r4 = heap32[(r5+7)];
+ f1 = heapFloat[(r3+15)];
+ f0 = f3-f0;
+ r2 = (r4 + r2)|0;
+ f0 = f0-f1;
+ r2 = r2 >> 2;
+ f0 = f0*f6;
+ heapFloat[(r2)] = f0;
+ r2 = heap32[(r5+6)];
+ r4 = heap32[(r5+9)];
+ r2 = r2 << 3;
+ r2 = (r4 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = -8388609;
+ r2 = heap32[(r5+6)];
+ r4 = heap32[(r5+10)];
+ r2 = r2 << 3;
+ r2 = (r4 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = 2139095039;
+ r2 = heapU8[r0+580];
+ r2 = r2 & 1;
+if(!(r2 ==0)) //_LBB581_8
+{
+ r2 = heap32[(r5+6)];
+ r4 = heap32[(r5+8)];
+ r2 = r2 << 3;
+ r2 = (r4 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = heap32[(r1+146)];
+}
+ r2 = heap32[(r5+6)];
+ r4 = (r2 * 3)|0;
+ r6 = heapU8[r0+514];
+_16: do {
+ if(r6 !=0) //_LBB581_10
+{
+ f0 = heapFloat[(r1+111)];
+ r6 = heap32[(r5+3)];
+ r7 = heap32[(r5+5)];
+ f3 = heapFloat[(r1+108)];
+if(!(f3 >=f0)) //_LBB581_13
+{
+ f3 = heapFloat[(r1+109)];
+if(!(f3 >=f0)) //_LBB581_13
+{
+ f0 = heapFloat[(r3+1)];
+ f3 = heapFloat[(r1+73)];
+ f6 = heapFloat[(r3+2)];
+ f1 = heapFloat[(r1+77)];
+ r8 = (r4 + 1)|0;
+ f2 = heapFloat[(r3+5)];
+ f4 = heapFloat[(r3+6)];
+ r9 = r4 << 2;
+ f5 = f3*f0;
+ f7 = f1*f6;
+ f8 = heapFloat[(r3+3)];
+ f9 = heapFloat[(r1+81)];
+ f10 = heapFloat[(r1+74)];
+ f11 = heapFloat[(r3+9)];
+ f12 = heapFloat[(r1+78)];
+ f13 = heapFloat[(r3+10)];
+ r10 = (r4 + 2)|0;
+ r8 = r8 << 2;
+ r11 = (r6 + r9)|0;
+ f14 = heapFloat[(r3+11)];
+ f15 = heapFloat[(r1+82)];
+ f16 = heapFloat[(r3+7)];
+ f17 = f3*f2;
+ f18 = f1*f4;
+ f5 = f5+f7;
+ f7 = f9*f8;
+ r2 = (r2 + r4)|0;
+ r3 = r10 << 2;
+ r4 = (r6 + r8)|0;
+ f5 = f5+f7;
+ f3 = f3*f11;
+ f1 = f1*f13;
+ f7 = f17+f18;
+ f17 = f9*f16;
+ r10 = r11 >> 2;
+ r11 = (r2 + 1)|0;
+ r12 = r2 << 2;
+ r13 = (r6 + r3)|0;
+ f7 = f7+f17;
+ f0 = f10*f0;
+ f6 = f12*f6;
+ f3 = f3+f1;
+ f1 = f9*f14;
+ r4 = r4 >> 2;
+ heapFloat[(r10)] = f5;
+ r10 = (r2 + 2)|0;
+ r11 = r11 << 2;
+ r14 = (r6 + r12)|0;
+ f3 = f3+f1;
+ f1 = f10*f2;
+ f2 = f12*f4;
+ f0 = f0+f6;
+ f6 = f15*f8;
+ r13 = r13 >> 2;
+ heapFloat[(r4)] = f7;
+ r4 = r10 << 2;
+ r10 = (r6 + r11)|0;
+ f0 = f0+f6;
+ f6 = f10*f11;
+ f4 = f12*f13;
+ f1 = f1+f2;
+ f2 = f15*f16;
+ r14 = r14 >> 2;
+ heapFloat[(r13)] = f3;
+ r6 = (r6 + r4)|0;
+ f1 = f1+f2;
+ f6 = f6+f4;
+ f2 = f15*f14;
+ r10 = r10 >> 2;
+ heapFloat[(r14)] = f0;
+ r13 = (r7 + r9)|0;
+ f6 = f6+f2;
+ r6 = r6 >> 2;
+ heapFloat[(r10)] = f1;
+ r8 = (r7 + r8)|0;
+ r10 = r13 >> 2;
+ f2 = -f5;
+ heapFloat[(r6)] = f6;
+ r3 = (r7 + r3)|0;
+ r6 = r8 >> 2;
+ f4 = -f7;
+ heapFloat[(r10)] = f2;
+ r8 = (r7 + r12)|0;
+ r3 = r3 >> 2;
+ f2 = -f3;
+ heapFloat[(r6)] = f4;
+ r6 = (r7 + r11)|0;
+ r8 = r8 >> 2;
+ f4 = -f0;
+ heapFloat[(r3)] = f2;
+ r3 = (r7 + r4)|0;
+ r4 = r6 >> 2;
+ f2 = -f1;
+ heapFloat[(r8)] = f4;
+ r3 = r3 >> 2;
+ f4 = -f6;
+ heapFloat[(r4)] = f2;
+ heapFloat[(r3)] = f4;
+ f2 = heapFloat[(r1+112)];
+ f4 = heapFloat[(r1+113)];
+ f8 = heapFloat[(r1+114)];
+ f2 = f2*f5;
+ f4 = f4*f7;
+ r3 = heap32[(r5+7)];
+ f2 = f2+f4;
+ f3 = f8*f3;
+ f4 = heapFloat[(r5)];
+ f5 = heapFloat[(r1+106)];
+ r3 = (r3 + r9)|0;
+ f3 = f2+f3;
+ f2 = f4*f5;
+ r3 = r3 >> 2;
+ f3 = f3*f2;
+ heapFloat[(r3)] = f3;
+ f3 = heapFloat[(r1+112)];
+ f4 = heapFloat[(r1+113)];
+ f5 = heapFloat[(r1+114)];
+ f0 = f3*f0;
+ f3 = f4*f1;
+ r3 = heap32[(r5+7)];
+ f0 = f0+f3;
+ f3 = f5*f6;
+ r3 = (r3 + r12)|0;
+ f0 = f0+f3;
+ r3 = r3 >> 2;
+ f0 = f0*f2;
+ heapFloat[(r3)] = f0;
+ r3 = heap32[(r5+9)];
+ r3 = (r3 + r9)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = -8388609;
+ r3 = heap32[(r5+10)];
+ r3 = (r3 + r9)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = 2139095039;
+ r3 = heap32[(r5+9)];
+ r3 = (r3 + r12)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = -8388609;
+ r3 = heap32[(r5+10)];
+ r3 = (r3 + r12)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = 2139095039;
+ r3 = heap32[(r5+6)];
+ r4 = (r3 + r2)|0;
+break _16;
+}
+}
+ r2 = (r4 + 1)|0;
+ r3 = r4 << 2;
+ f0 = heapFloat[(r1+106)];
+ f3 = heapFloat[(r1+112)];
+ r8 = (r4 + 2)|0;
+ r2 = r2 << 2;
+ r9 = (r6 + r3)|0;
+ f3 = f3*f0;
+ f6 = heapFloat[(r1+114)];
+ f1 = heapFloat[(r1+113)];
+ r8 = r8 << 2;
+ r10 = (r6 + r2)|0;
+ f1 = f1*f0;
+ f3 = f3*f0;
+ r9 = r9 >> 2;
+ r6 = (r6 + r8)|0;
+ f6 = f6*f0;
+ f1 = f1*f0;
+ r10 = r10 >> 2;
+ heapFloat[(r9)] = f3;
+ r9 = (r7 + r3)|0;
+ f0 = f6*f0;
+ r6 = r6 >> 2;
+ heapFloat[(r10)] = f1;
+ r2 = (r7 + r2)|0;
+ r9 = r9 >> 2;
+ f3 = -f3;
+ heapFloat[(r6)] = f0;
+ r6 = (r7 + r8)|0;
+ r2 = r2 >> 2;
+ f6 = -f1;
+ heapFloat[(r9)] = f3;
+ r6 = r6 >> 2;
+ f0 = -f0;
+ heapFloat[(r2)] = f6;
+ heapFloat[(r6)] = f0;
+ r2 = heap32[(r5+7)];
+ f0 = heapFloat[(r5)];
+ f3 = heapFloat[(r1+105)];
+ r2 = (r2 + r3)|0;
+ f6 = heapFloat[(r1+123)];
+ f0 = f0*f3;
+ r2 = r2 >> 2;
+ f0 = f6*f0;
+ heapFloat[(r2)] = f0;
+ r2 = heapU8[r0+580];
+ r2 = r2 & 4;
+if(!(r2 ==0)) //_LBB581_15
+{
+ r2 = heap32[(r5+8)];
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = heap32[(r1+148)];
+}
+ r2 = heap32[(r5+9)];
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = 0;
+ r2 = heap32[(r5+10)];
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = 2139095039;
+ r2 = heap32[(r5+6)];
+ r4 = (r2 + r4)|0;
+}
+} while(0);
+ r2 = heapU8[r0+513];
+ if(r2 ==0) //_LBB581_28
+{
+ return;
+}
+else{
+ r2 = (r4 + 1)|0;
+ r3 = r4 << 2;
+ r6 = heap32[(r5+3)];
+ f0 = heapFloat[(r1+106)];
+ f3 = heapFloat[(r1+116)];
+ r4 = (r4 + 2)|0;
+ r2 = r2 << 2;
+ r7 = heap32[(r5+5)];
+ r8 = (r6 + r3)|0;
+ f3 = f3*f0;
+ f6 = heapFloat[(r1+118)];
+ f1 = heapFloat[(r1+117)];
+ r4 = r4 << 2;
+ r9 = (r6 + r2)|0;
+ f1 = f1*f0;
+ f3 = f3*f0;
+ r8 = r8 >> 2;
+ r6 = (r6 + r4)|0;
+ f6 = f6*f0;
+ f1 = f1*f0;
+ r9 = r9 >> 2;
+ heapFloat[(r8)] = f3;
+ r8 = (r7 + r3)|0;
+ f0 = f6*f0;
+ r6 = r6 >> 2;
+ heapFloat[(r9)] = f1;
+ r2 = (r7 + r2)|0;
+ r8 = r8 >> 2;
+ f3 = -f3;
+ heapFloat[(r6)] = f0;
+ r4 = (r7 + r4)|0;
+ r2 = r2 >> 2;
+ f6 = -f1;
+ heapFloat[(r8)] = f3;
+ r4 = r4 >> 2;
+ f0 = -f0;
+ heapFloat[(r2)] = f6;
+ heapFloat[(r4)] = f0;
+ r2 = heap32[(r5+7)];
+ f0 = heapFloat[(r5)];
+ f3 = heapFloat[(r1+105)];
+ r2 = (r2 + r3)|0;
+ f6 = heapFloat[(r1+124)];
+ f0 = f0*f3;
+ r2 = r2 >> 2;
+ f0 = f6*f0;
+ heapFloat[(r2)] = f0;
+ r0 = heapU8[r0+580];
+ r0 = r0 & 4;
+if(!(r0 ==0)) //_LBB581_19
+{
+ r0 = heap32[(r5+8)];
+ r0 = (r0 + r3)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = heap32[(r1+148)];
+}
+ f0 = heapFloat[(r1+110)];
+ f3 = 0;
+ if(f0 <=f3) //_LBB581_24
+{
+ r0 = heap32[(r5+9)];
+ r0 = (r0 + r3)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = -8388609;
+}
+else{
+ r0 = heap32[(r5+9)];
+ f0 = heapFloat[(r1+124)];
+ if(f0 <=f3) //_LBB581_23
+{
+ r0 = (r0 + r3)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = -8388609;
+ r0 = heap32[(r5+10)];
+ r3 = (r0 + r3)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = 0;
+ return;
+}
+else{
+ r0 = (r0 + r3)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+}
+}
+ r0 = heap32[(r5+10)];
+ r0 = (r0 + r3)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 2139095039;
+ return;
+}
+}
+else{
+ r0 = _2E_str1149;
+ r1 = _2E_str24;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 126;
+ _assert(i7);
+}
+}
+
+function _ZN21btConeTwistConstraint23solveConstraintObsoleteER11btRigidBodyS1_f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -624;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+515];
+if(!(r1 ==0)) //_LBB582_52
+{
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ f0 = heapFloat[(fp+3)];
+ heapFloat[(fp+-117)] = f0;
+ r3 = r0 >> 2;
+ r4 = heapU8[r0+512];
+if(!(r4 !=0)) //_LBB582_8
+{
+ r4 = heap32[(r3+5)];
+ r5 = heap32[(r3+6)];
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ f0 = heapFloat[(r4+9)];
+ f1 = heapFloat[(r3+84)];
+ f2 = heapFloat[(r4+5)];
+ f3 = heapFloat[(r4+1)];
+ f4 = heapFloat[(r4+10)];
+ f5 = heapFloat[(r3+85)];
+ f6 = heapFloat[(r4+6)];
+ f7 = heapFloat[(r4+2)];
+ f8 = heapFloat[(r5+9)];
+ f9 = heapFloat[(r3+100)];
+ f10 = heapFloat[(r5+5)];
+ f11 = heapFloat[(r5+1)];
+ f12 = heapFloat[(r5+10)];
+ f13 = heapFloat[(r3+101)];
+ f14 = heapFloat[(r5+6)];
+ f15 = heapFloat[(r5+2)];
+ f0 = f0*f1;
+ f4 = f4*f5;
+ f16 = heapFloat[(r4+11)];
+ f17 = heapFloat[(r3+86)];
+ f18 = heapFloat[(r4+7)];
+ f19 = heapFloat[(r4+3)];
+ f2 = f2*f1;
+ f6 = f6*f5;
+ f1 = f3*f1;
+ f3 = f7*f5;
+ f5 = f8*f9;
+ f7 = f12*f13;
+ f8 = heapFloat[(r5+11)];
+ f12 = heapFloat[(r3+102)];
+ f20 = heapFloat[(r5+7)];
+ f21 = heapFloat[(r5+3)];
+ f10 = f10*f9;
+ f14 = f14*f13;
+ f9 = f11*f9;
+ f11 = f15*f13;
+ f0 = f0+f4;
+ f4 = f16*f17;
+ f2 = f2+f6;
+ f6 = f18*f17;
+ f1 = f1+f3;
+ f3 = f19*f17;
+ f5 = f5+f7;
+ f7 = f8*f12;
+ f8 = f10+f14;
+ f10 = f20*f12;
+ f9 = f9+f11;
+ f11 = f21*f12;
+ f12 = heapFloat[(r4+15)];
+ f0 = f0+f4;
+ f4 = heapFloat[(r4+14)];
+ f2 = f2+f6;
+ f6 = heapFloat[(r4+13)];
+ f1 = f1+f3;
+ f3 = heapFloat[(r5+15)];
+ f5 = f5+f7;
+ f7 = heapFloat[(r5+14)];
+ f8 = f8+f10;
+ f10 = heapFloat[(r5+13)];
+ f9 = f9+f11;
+ f0 = f0+f12;
+ heapFloat[(fp+-119)] = f0;
+ f0 = f2+f4;
+ heapFloat[(fp+-121)] = f0;
+ f1 = f1+f6;
+ heapFloat[(fp+-120)] = f1;
+ f0 = f5+f3;
+ heapFloat[(fp+-122)] = f0;
+ f0 = f8+f7;
+ heapFloat[(fp+-123)] = f0;
+ f1 = f9+f10;
+ r4 = r1 >> 2;
+ r5 = r2 >> 2;
+ f2 = heapFloat[(r4+80)];
+ f5 = heapFloat[(r4+130)];
+ f8 = heapFloat[(r5+80)];
+ f9 = heapFloat[(r5+130)];
+ f11 = heapFloat[(r4+81)];
+ f13 = heapFloat[(r4+131)];
+ f14 = heapFloat[(r4+82)];
+ f15 = heapFloat[(r4+132)];
+ f16 = heapFloat[(r5+81)];
+ f17 = heapFloat[(r5+131)];
+ f18 = heapFloat[(r5+82)];
+ f19 = heapFloat[(r5+132)];
+ f20 = heapFloat[(fp+-120)];
+ f6 = f20-f6;
+ f10 = f1-f10;
+ f11 = f11+f13;
+ f0 = heapFloat[(fp+-119)];
+ f12 = f0-f12;
+ f2 = f2+f5;
+ f0 = heapFloat[(fp+-121)];
+ f4 = f0-f4;
+ f5 = f14+f15;
+ f13 = f16+f17;
+ f0 = heapFloat[(fp+-122)];
+ f3 = f0-f3;
+ f8 = f8+f9;
+ f0 = heapFloat[(fp+-123)];
+ f7 = f0-f7;
+ f9 = f18+f19;
+ f14 = heapFloat[(r4+78)];
+ f15 = heapFloat[(r4+128)];
+ f16 = f2*f4;
+ f17 = f11*f6;
+ f18 = heapFloat[(r5+78)];
+ f19 = heapFloat[(r5+128)];
+ f21 = f8*f7;
+ f22 = f13*f10;
+ f23 = heapFloat[(r4+77)];
+ f24 = heapFloat[(r4+127)];
+ f25 = f5*f6;
+ f2 = f2*f12;
+ f26 = heapFloat[(r5+77)];
+ f27 = heapFloat[(r5+127)];
+ f28 = f9*f10;
+ f8 = f8*f3;
+ f29 = heapFloat[(r4+76)];
+ f30 = heapFloat[(r4+126)];
+ f11 = f11*f12;
+ f5 = f5*f4;
+ f0 = heapFloat[(r5+76)];
+ f20 = heapFloat[(r5+126)];
+ f13 = f13*f3;
+ f9 = f9*f7;
+ f14 = f14+f15;
+ f15 = f16-f17;
+ f16 = f18+f19;
+ f17 = f21-f22;
+ f18 = f23+f24;
+ f2 = f25-f2;
+ f19 = f26+f27;
+ f8 = f28-f8;
+ f21 = f29+f30;
+ f5 = f11-f5;
+ f0 = f0+f20;
+ f9 = f13-f9;
+ f11 = f14+f15;
+ f13 = f16+f17;
+ f2 = f18+f2;
+ f8 = f19+f8;
+ f5 = f21+f5;
+ f0 = f0+f9;
+ f9 = f11-f13;
+ f2 = f2-f8;
+ heapFloat[(fp+-118)] = f2;
+ f0 = f5-f0;
+ f2 = heapFloat[(fp+-119)];
+ f5 = heapFloat[(fp+-122)];
+ f2 = f2-f5;
+ f5 = heapFloat[(fp+-121)];
+ f8 = heapFloat[(fp+-123)];
+ f5 = f5-f8;
+ f8 = heapFloat[(fp+-120)];
+ f1 = f8-f1;
+ r6 = 0;
+_5: while(true){
+ r7 = (r6 * -21)|0;
+ r8 = r7 << 2;
+ r8 = (r0 + r8)|0;
+ r8 = r8 >> 2;
+ f8 = heapFloat[(r8+9)];
+ f11 = heapFloat[(r8+10)];
+ f13 = heapFloat[(r8+11)];
+ f14 = f1*f8;
+ f15 = f5*f11;
+ f14 = f14+f15;
+ f15 = f2*f13;
+ f14 = f14+f15;
+ f15 = -0.30000001192092896;
+ f16 = f8*f0;
+ f17 = heapFloat[(fp+-118)];
+ f17 = f11*f17;
+ f14 = f14*f15;
+ f15 = f16+f17;
+ f16 = f13*f9;
+ f17 = 1;
+ f18 = heapFloat[(r8+29)];
+ f19 = heapFloat[(fp+-117)];
+ f14 = f14/f19;
+ f17 = f17/f18;
+ f15 = f15+f16;
+ f14 = f14*f17;
+ f15 = f15*f17;
+ f14 = f14-f15;
+ f15 = heapFloat[(r3+7)];
+ f15 = f15+f14;
+ heapFloat[(r3+7)] = f15;
+ f15 = heapFloat[(r4+84)];
+ f16 = 0;
+if(!(f15 ==f16)) //_LBB582_5
+{
+ r9 = heap32[(r3+5)];
+ r9 = r9 >> 2;
+ f15 = f6*f11;
+ f17 = f4*f8;
+ f18 = f12*f8;
+ f19 = f6*f13;
+ f20 = f4*f13;
+ f21 = f12*f11;
+ f15 = f15-f17;
+ f17 = f18-f19;
+ f18 = f20-f21;
+ f19 = heapFloat[(r9+84)];
+ f20 = f8*f19;
+ f20 = f20*f14;
+ f21 = heapFloat[(r4+126)];
+ f22 = heapFloat[(r9+65)];
+ f23 = heapFloat[(r9+64)];
+ f24 = heapFloat[(r9+69)];
+ f25 = heapFloat[(r9+68)];
+ f26 = heapFloat[(r9+73)];
+ f27 = heapFloat[(r9+72)];
+ f28 = heapFloat[(r9+66)];
+ f29 = heapFloat[(r9+70)];
+ f30 = heapFloat[(r9+74)];
+ f20 = f21+f20;
+ f21 = f11*f19;
+ heapFloat[(r4+126)] = f20;
+ f20 = f21*f14;
+ f21 = heapFloat[(r4+127)];
+ f20 = f21+f20;
+ f19 = f13*f19;
+ heapFloat[(r4+127)] = f20;
+ f19 = f19*f14;
+ f20 = heapFloat[(r4+128)];
+ f19 = f20+f19;
+ heapFloat[(r4+128)] = f19;
+ f19 = f23*f18;
+ f20 = f22*f17;
+ f21 = heapFloat[(r4+134)];
+ f19 = f19+f20;
+ f20 = f28*f15;
+ f19 = f19+f20;
+ f20 = f21*f14;
+ f21 = heapFloat[(r4+136)];
+ f22 = heapFloat[(r4+135)];
+ f23 = heapFloat[(r4+130)];
+ f19 = f19*f20;
+ f20 = f25*f18;
+ f24 = f24*f17;
+ f20 = f20+f24;
+ f24 = f29*f15;
+ f19 = f23+f19;
+ heapFloat[(r4+130)] = f19;
+ f19 = f20+f24;
+ f20 = f22*f14;
+ f18 = f27*f18;
+ f17 = f26*f17;
+ f19 = f19*f20;
+ f20 = heapFloat[(r4+131)];
+ f19 = f20+f19;
+ f17 = f18+f17;
+ f15 = f30*f15;
+ heapFloat[(r4+131)] = f19;
+ f15 = f17+f15;
+ f17 = f21*f14;
+ f15 = f15*f17;
+ f17 = heapFloat[(r4+132)];
+ f15 = f17+f15;
+ heapFloat[(r4+132)] = f15;
+}
+ f15 = heapFloat[(r5+84)];
+if(!(f15 ==f16)) //_LBB582_7
+{
+ f15 = f10*f11;
+ f16 = f7*f8;
+ f8 = f3*f8;
+ f17 = f10*f13;
+ f13 = f7*f13;
+ f11 = f3*f11;
+ f15 = f15-f16;
+ f8 = f8-f17;
+ f11 = f13-f11;
+ r9 = heap32[(r3+6)];
+ r9 = r9 >> 2;
+ f13 = -f14;
+ f14 = heapFloat[(r9+84)];
+ r10 = r7 << 2;
+ r10 = (r0 + r10)|0;
+ r10 = r10 >> 2;
+ r7 = r7 << 2;
+ r7 = (r0 + r7)|0;
+ f16 = heapFloat[(r10+9)];
+ r7 = r7 >> 2;
+ f16 = f16*f14;
+ f17 = heapFloat[(r7+10)];
+ f18 = heapFloat[(r8+11)];
+ f16 = f16*f13;
+ f19 = heapFloat[(r5+126)];
+ f20 = heapFloat[(r9+65)];
+ f21 = heapFloat[(r9+64)];
+ f22 = heapFloat[(r9+69)];
+ f23 = heapFloat[(r9+68)];
+ f24 = heapFloat[(r9+73)];
+ f25 = heapFloat[(r9+72)];
+ f26 = heapFloat[(r9+66)];
+ f27 = heapFloat[(r9+70)];
+ f28 = heapFloat[(r9+74)];
+ f16 = f19+f16;
+ f17 = f17*f14;
+ heapFloat[(r5+126)] = f16;
+ f16 = f17*f13;
+ f17 = heapFloat[(r5+127)];
+ f16 = f17+f16;
+ f14 = f18*f14;
+ heapFloat[(r5+127)] = f16;
+ f14 = f14*f13;
+ f16 = heapFloat[(r5+128)];
+ f14 = f16+f14;
+ heapFloat[(r5+128)] = f14;
+ f14 = f21*f11;
+ f16 = f20*f8;
+ f17 = heapFloat[(r5+134)];
+ f14 = f14+f16;
+ f16 = f26*f15;
+ f14 = f14+f16;
+ f16 = f17*f13;
+ f17 = heapFloat[(r5+136)];
+ f18 = heapFloat[(r5+135)];
+ f19 = heapFloat[(r5+130)];
+ f14 = f14*f16;
+ f16 = f23*f11;
+ f20 = f22*f8;
+ f16 = f16+f20;
+ f20 = f27*f15;
+ f14 = f19+f14;
+ heapFloat[(r5+130)] = f14;
+ f14 = f16+f20;
+ f16 = f18*f13;
+ f11 = f25*f11;
+ f8 = f24*f8;
+ f14 = f14*f16;
+ f16 = heapFloat[(r5+131)];
+ f14 = f16+f14;
+ f8 = f11+f8;
+ f11 = f28*f15;
+ heapFloat[(r5+131)] = f14;
+ f8 = f8+f11;
+ f11 = f17*f13;
+ f8 = f8*f11;
+ f11 = heapFloat[(r5+132)];
+ f8 = f11+f8;
+ heapFloat[(r5+132)] = f8;
+}
+ r6 = (r6 + -1)|0;
+if(!(r6 !=-3)) //_LBB582_3
+{
+break _5;
+}
+}
+}
+ r4 = heapU8[r0+540];
+_14: do {
+ if(r4 ==0) //_LBB582_29
+{
+ f0 = heapFloat[(r3+107)];
+ f1 = 1.1920928955078125e-007;
+ if(f0 <=f1) //_LBB582_35
+{
+break _14;
+}
+else{
+ r4 = r2 >> 2;
+ r5 = r1 >> 2;
+ f0 = heapFloat[(r4+81)];
+ f2 = heapFloat[(r4+131)];
+ f3 = heapFloat[(r5+81)];
+ f4 = heapFloat[(r5+131)];
+ f5 = heapFloat[(r4+80)];
+ f6 = heapFloat[(r4+130)];
+ f7 = heapFloat[(r5+80)];
+ f8 = heapFloat[(r5+130)];
+ f9 = heapFloat[(r4+82)];
+ f10 = heapFloat[(r4+132)];
+ f11 = heapFloat[(r5+82)];
+ f12 = heapFloat[(r5+132)];
+ f0 = f0+f2;
+ f2 = f3+f4;
+ f3 = f5+f6;
+ f4 = f7+f8;
+ f0 = f0-f2;
+ f2 = f3-f4;
+ f3 = f9+f10;
+ f4 = f11+f12;
+ f3 = f3-f4;
+ f4 = f2*f2;
+ f5 = f0*f0;
+ f4 = f4+f5;
+ f5 = f3*f3;
+ f4 = f4+f5;
+ if(f4 <=f1) //_LBB582_35
+{
+break _14;
+}
+else{
+ heapFloat[(g0)] = f4;
+ sqrtf(i7);
+ r6 = heap32[(r3+5)];
+ r7 = heap32[(r3+6)];
+ f4 = 1;
+ r6 = r6 >> 2;
+ r7 = r7 >> 2;
+ f1 = f4/f_g0;
+ f5 = heapFloat[(r6+64)];
+ f6 = f2*f1;
+ f7 = heapFloat[(r6+65)];
+ f8 = heapFloat[(r7+64)];
+ f9 = heapFloat[(r7+65)];
+ f10 = heapFloat[(r6+68)];
+ f11 = f0*f1;
+ f12 = heapFloat[(r6+69)];
+ f13 = heapFloat[(r7+68)];
+ f14 = heapFloat[(r7+69)];
+ f15 = heapFloat[(r6+66)];
+ f16 = heapFloat[(r6+70)];
+ f17 = heapFloat[(r7+66)];
+ f18 = heapFloat[(r7+70)];
+ f5 = f5*f6;
+ f10 = f10*f11;
+ f19 = heapFloat[(r6+72)];
+ f1 = f3*f1;
+ f20 = heapFloat[(r6+73)];
+ f21 = heapFloat[(r7+72)];
+ f22 = heapFloat[(r7+73)];
+ f7 = f7*f6;
+ f12 = f12*f11;
+ f8 = f8*f6;
+ f13 = f13*f11;
+ f9 = f9*f6;
+ f14 = f14*f11;
+ f23 = heapFloat[(r6+74)];
+ f24 = heapFloat[(r7+74)];
+ f5 = f5+f10;
+ f10 = f19*f1;
+ f7 = f7+f12;
+ f12 = f20*f1;
+ f15 = f15*f6;
+ f16 = f16*f11;
+ f8 = f8+f13;
+ f13 = f21*f1;
+ f9 = f9+f14;
+ f14 = f22*f1;
+ f17 = f17*f6;
+ f18 = f18*f11;
+ f5 = f5+f10;
+ f7 = f7+f12;
+ f8 = f8+f13;
+ f9 = f9+f14;
+ f10 = f15+f16;
+ f12 = f23*f1;
+ f13 = f17+f18;
+ f14 = f24*f1;
+ f10 = f10+f12;
+ f12 = f13+f14;
+ f5 = f6*f5;
+ f7 = f11*f7;
+ f6 = f6*f8;
+ f8 = f11*f9;
+ f5 = f5+f7;
+ f7 = f1*f10;
+ f6 = f6+f8;
+ f1 = f1*f12;
+ f5 = f5+f7;
+ f1 = f6+f1;
+ f1 = f5+f1;
+ f5 = heapFloat[(r3+107)];
+ f1 = f4/f1;
+ f1 = f5*f1;
+ f0 = f0*f1;
+ f2 = f2*f1;
+ f1 = f3*f1;
+ f3 = f2*f2;
+ f5 = f0*f0;
+ f3 = f3+f5;
+ f5 = f1*f1;
+ f3 = f3+f5;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f3 = f_g0;
+ f4 = f4/f3;
+ f1 = f1*f4;
+ f0 = f0*f4;
+ f2 = f2*f4;
+ f4 = heapFloat[(r5+84)];
+ f5 = 0;
+if(!(f4 ==f5)) //_LBB582_33
+{
+ r6 = heap32[(r3+5)];
+ r6 = r6 >> 2;
+ f4 = f3*f5;
+ f6 = heapFloat[(r5+126)];
+ f7 = heapFloat[(r6+65)];
+ f8 = heapFloat[(r6+64)];
+ f9 = heapFloat[(r6+69)];
+ f10 = heapFloat[(r6+68)];
+ f11 = heapFloat[(r6+73)];
+ f12 = heapFloat[(r6+72)];
+ f13 = heapFloat[(r6+66)];
+ f14 = heapFloat[(r6+70)];
+ f15 = heapFloat[(r6+74)];
+ f6 = f6+f4;
+ heapFloat[(r5+126)] = f6;
+ f6 = heapFloat[(r5+127)];
+ f6 = f6+f4;
+ heapFloat[(r5+127)] = f6;
+ f6 = heapFloat[(r5+128)];
+ f4 = f6+f4;
+ heapFloat[(r5+128)] = f4;
+ f4 = f8*f2;
+ f6 = f7*f0;
+ f7 = heapFloat[(r5+134)];
+ f4 = f4+f6;
+ f6 = f13*f1;
+ f4 = f4+f6;
+ f6 = f7*f3;
+ f7 = heapFloat[(r5+136)];
+ f8 = heapFloat[(r5+135)];
+ f13 = heapFloat[(r5+130)];
+ f4 = f4*f6;
+ f6 = f10*f2;
+ f9 = f9*f0;
+ f6 = f6+f9;
+ f9 = f14*f1;
+ f4 = f13+f4;
+ heapFloat[(r5+130)] = f4;
+ f4 = f6+f9;
+ f6 = f8*f3;
+ f8 = f12*f2;
+ f9 = f11*f0;
+ f4 = f4*f6;
+ f6 = heapFloat[(r5+131)];
+ f4 = f6+f4;
+ f6 = f8+f9;
+ f8 = f15*f1;
+ heapFloat[(r5+131)] = f4;
+ f4 = f6+f8;
+ f6 = f7*f3;
+ f4 = f4*f6;
+ f6 = heapFloat[(r5+132)];
+ f4 = f6+f4;
+ heapFloat[(r5+132)] = f4;
+}
+ f4 = heapFloat[(r4+84)];
+ if(f4 ==f5) //_LBB582_35
+{
+break _14;
+}
+else{
+ f4 = -f3;
+ r5 = heap32[(r3+6)];
+ r5 = r5 >> 2;
+ f5 = -0;
+ f3 = f3*f5;
+ f5 = heapFloat[(r4+126)];
+ f6 = heapFloat[(r5+65)];
+ f7 = heapFloat[(r5+64)];
+ f8 = heapFloat[(r5+69)];
+ f9 = heapFloat[(r5+68)];
+ f10 = heapFloat[(r5+73)];
+ f11 = heapFloat[(r5+72)];
+ f12 = heapFloat[(r5+66)];
+ f13 = heapFloat[(r5+70)];
+ f14 = heapFloat[(r5+74)];
+ f5 = f5+f3;
+ heapFloat[(r4+126)] = f5;
+ f5 = heapFloat[(r4+127)];
+ f5 = f5+f3;
+ heapFloat[(r4+127)] = f5;
+ f5 = heapFloat[(r4+128)];
+ f3 = f5+f3;
+ heapFloat[(r4+128)] = f3;
+ f3 = f7*f2;
+ f5 = f6*f0;
+ f3 = f3+f5;
+ f5 = f12*f1;
+ f6 = heapFloat[(r4+134)];
+ f3 = f3+f5;
+ f5 = f6*f4;
+ f6 = heapFloat[(r4+136)];
+ f7 = heapFloat[(r4+135)];
+ f12 = heapFloat[(r4+130)];
+ f3 = f3*f5;
+ f5 = f9*f2;
+ f8 = f8*f0;
+ f5 = f5+f8;
+ f8 = f13*f1;
+ f3 = f12+f3;
+ heapFloat[(r4+130)] = f3;
+ f3 = f5+f8;
+ f5 = f7*f4;
+ f2 = f11*f2;
+ f0 = f10*f0;
+ f3 = f3*f5;
+ f5 = heapFloat[(r4+131)];
+ f3 = f5+f3;
+ f0 = f2+f0;
+ f1 = f14*f1;
+ heapFloat[(r4+131)] = f3;
+ f0 = f0+f1;
+ f1 = f6*f4;
+ f0 = f0*f1;
+ f1 = heapFloat[(r4+132)];
+ f0 = f1+f0;
+ heapFloat[(r4+132)] = f0;
+}
+}
+}
+}
+else{
+ r4 = heap32[(r3+5)];
+ r5 = sp + -112;
+ r4 = r4 >> 2;
+ r6 = r5 >> 2;
+ heap32[(fp+-28)] = heap32[(r4+1)];
+ heap32[(r6+1)] = heap32[(r4+2)];
+ heap32[(r6+2)] = heap32[(r4+3)];
+ heap32[(r6+3)] = heap32[(r4+4)];
+ heap32[(r6+4)] = heap32[(r4+5)];
+ heap32[(r6+5)] = heap32[(r4+6)];
+ heap32[(r6+6)] = heap32[(r4+7)];
+ heap32[(r6+7)] = heap32[(r4+8)];
+ heap32[(r6+8)] = heap32[(r4+9)];
+ heap32[(r6+9)] = heap32[(r4+10)];
+ heap32[(r6+10)] = heap32[(r4+11)];
+ heap32[(r6+11)] = heap32[(r4+12)];
+ heap32[(r6+12)] = heap32[(r4+13)];
+ heap32[(r6+13)] = heap32[(r4+14)];
+ heap32[(r6+14)] = heap32[(r4+15)];
+ heap32[(r6+15)] = heap32[(r4+16)];
+ r4 = heap32[(r3+6)];
+ r6 = sp + -176;
+ r4 = r4 >> 2;
+ r7 = r6 >> 2;
+ heap32[(fp+-44)] = heap32[(r4+1)];
+ heap32[(r7+1)] = heap32[(r4+2)];
+ heap32[(r7+2)] = heap32[(r4+3)];
+ heap32[(r7+3)] = heap32[(r4+4)];
+ heap32[(r7+4)] = heap32[(r4+5)];
+ heap32[(r7+5)] = heap32[(r4+6)];
+ heap32[(r7+6)] = heap32[(r4+7)];
+ heap32[(r7+7)] = heap32[(r4+8)];
+ heap32[(r7+8)] = heap32[(r4+9)];
+ heap32[(r7+9)] = heap32[(r4+10)];
+ heap32[(r7+10)] = heap32[(r4+11)];
+ heap32[(r7+11)] = heap32[(r4+12)];
+ heap32[(r7+12)] = heap32[(r4+13)];
+ heap32[(r7+13)] = heap32[(r4+14)];
+ heap32[(r7+14)] = heap32[(r4+15)];
+ r8 = r1 >> 2;
+ heap32[(r7+15)] = heap32[(r4+16)];
+ f0 = heapFloat[(r8+82)];
+ f1 = heapFloat[(r8+132)];
+ f2 = heapFloat[(r8+81)];
+ f3 = heapFloat[(r8+131)];
+ f4 = heapFloat[(r8+80)];
+ f5 = heapFloat[(r8+130)];
+ r4 = sp + -192;
+ f4 = f4+f5;
+ r7 = r4 >> 2;
+ f2 = f2+f3;
+ heapFloat[(fp+-48)] = f4;
+ f0 = f0+f1;
+ heapFloat[(r7+1)] = f2;
+ heapFloat[(r7+2)] = f0;
+ r9 = r2 >> 2;
+ heap32[(r7+3)] = 0;
+ f0 = heapFloat[(r9+82)];
+ f1 = heapFloat[(r9+132)];
+ f2 = heapFloat[(r9+81)];
+ f3 = heapFloat[(r9+131)];
+ f4 = heapFloat[(r9+80)];
+ f5 = heapFloat[(r9+130)];
+ r10 = sp + -208;
+ f4 = f4+f5;
+ f2 = f2+f3;
+ heapFloat[(fp+-52)] = f4;
+ r11 = r10 >> 2;
+ f0 = f0+f1;
+ heapFloat[(r11+1)] = f2;
+ heapFloat[(r11+2)] = f0;
+ r12 = sp + -272;
+ heap32[(r11+3)] = 0;
+ r13 = r12 >> 2;
+ heap32[(fp+-68)] = 1065353216;
+ heap32[(r13+1)] = 0;
+ heap32[(r13+2)] = 0;
+ heap32[(r13+3)] = 0;
+ heap32[(r13+4)] = 0;
+ heap32[(r13+5)] = 1065353216;
+ heap32[(r13+6)] = 0;
+ heap32[(r13+7)] = 0;
+ heap32[(r13+8)] = 0;
+ heap32[(r13+9)] = 0;
+ heap32[(r13+10)] = 1065353216;
+ heap32[(r13+11)] = 0;
+ heap32[(r13+12)] = 0;
+ heap32[(r13+13)] = 0;
+ heap32[(r13+14)] = 0;
+ heap32[(r13+15)] = 0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 0;
+ heap32[(g0+3)] = 0;
+ heap32[(g0+4)] = r4;
+ f0 = heapFloat[(fp+-117)];
+ heapFloat[(g0+5)] = f0;
+ heap32[(g0+6)] = r12;
+ r4 = sp + -336;
+ _ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(i7);
+ r12 = r4 >> 2;
+ heap32[(fp+-84)] = 1065353216;
+ heap32[(r12+1)] = 0;
+ heap32[(r12+2)] = 0;
+ heap32[(r12+3)] = 0;
+ heap32[(r12+4)] = 0;
+ heap32[(r12+5)] = 1065353216;
+ heap32[(r12+6)] = 0;
+ heap32[(r12+7)] = 0;
+ heap32[(r12+8)] = 0;
+ heap32[(r12+9)] = 0;
+ heap32[(r12+10)] = 1065353216;
+ heap32[(r12+11)] = 0;
+ heap32[(r12+12)] = 0;
+ heap32[(r12+13)] = 0;
+ heap32[(r12+14)] = 0;
+ heap32[(r12+15)] = 0;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 0;
+ heap32[(g0+3)] = 0;
+ heap32[(g0+4)] = r10;
+ heapFloat[(g0+5)] = f0;
+ heap32[(g0+6)] = r4;
+ _ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(i7);
+ f1 = heapFloat[(r3+136)];
+ f2 = heapFloat[(r3+137)];
+ f3 = heapFloat[(r3+138)];
+ f4 = f1*f1;
+ f5 = f2*f2;
+ f6 = heapFloat[(r3+139)];
+ f4 = f4+f5;
+ f5 = f3*f3;
+ f4 = f4+f5;
+ f5 = f6*f6;
+ f7 = 2;
+ f4 = f4+f5;
+ f4 = f7/f4;
+ f5 = f3*f4;
+ f7 = f2*f4;
+ f4 = f1*f4;
+ f3 = f3*f5;
+ f8 = f1*f4;
+ f9 = f2*f7;
+ f0 = 1;
+ heapFloat[(fp+-118)] = f0;
+ f10 = f9+f3;
+ f3 = f8+f3;
+ f11 = f1*f7;
+ f12 = f6*f5;
+ f10 = f0-f10;
+ f0 = heapFloat[(r3+92)];
+ heapFloat[(fp+-131)] = f0;
+ f13 = f11-f12;
+ f0 = heapFloat[(r3+88)];
+ heapFloat[(fp+-120)] = f0;
+ f11 = f11+f12;
+ f12 = heapFloat[(r3+93)];
+ heapFloat[(fp+-132)] = f12;
+ f0 = heapFloat[(fp+-118)];
+ f3 = f0-f3;
+ f0 = heapFloat[(r3+89)];
+ heapFloat[(fp+-121)] = f0;
+ f1 = f1*f5;
+ f7 = f6*f7;
+ f2 = f2*f5;
+ f4 = f6*f4;
+ f5 = f1+f7;
+ f6 = heapFloat[(r3+96)];
+ heapFloat[(fp+-129)] = f6;
+ f12 = f2-f4;
+ f14 = heapFloat[(r3+97)];
+ heapFloat[(fp+-136)] = f14;
+ f8 = f8+f9;
+ f0 = heapFloat[(fp+-120)];
+ f9 = f10*f0;
+ f0 = heapFloat[(fp+-121)];
+ f15 = f11*f0;
+ f0 = heapFloat[(fp+-120)];
+ f16 = f13*f0;
+ f0 = heapFloat[(fp+-121)];
+ f17 = f3*f0;
+ f0 = heapFloat[(fp+-131)];
+ f18 = f10*f0;
+ f19 = heapFloat[(fp+-132)];
+ f20 = f11*f19;
+ f21 = f13*f0;
+ f22 = f3*f19;
+ f1 = f1-f7;
+ f7 = heapFloat[(r3+94)];
+ heapFloat[(fp+-137)] = f7;
+ f2 = f2+f4;
+ f0 = heapFloat[(r3+90)];
+ heapFloat[(fp+-133)] = f0;
+ f0 = heapFloat[(fp+-118)];
+ f4 = f0-f8;
+ f6 = heapFloat[(r3+98)];
+ heapFloat[(fp+-130)] = f6;
+ f7 = f9+f15;
+ f0 = heapFloat[(fp+-133)];
+ f8 = f1*f0;
+ f9 = f16+f17;
+ f14 = f2*f0;
+ f0 = heapFloat[(fp+-120)];
+ f15 = f5*f0;
+ f0 = heapFloat[(fp+-121)];
+ f16 = f12*f0;
+ f17 = f18+f20;
+ f18 = heapFloat[(fp+-137)];
+ f19 = f1*f18;
+ f20 = f21+f22;
+ f21 = f2*f18;
+ f0 = heapFloat[(fp+-131)];
+ f22 = f5*f0;
+ f23 = heapFloat[(fp+-132)];
+ f24 = f12*f23;
+ f6 = heapFloat[(fp+-129)];
+ f10 = f10*f6;
+ f25 = heapFloat[(fp+-136)];
+ f11 = f11*f25;
+ f13 = f13*f6;
+ f3 = f3*f25;
+ f0 = f7+f8;
+ heapFloat[(fp+-124)] = f0;
+ f6 = heapFloat[(r3+72)];
+ f7 = f17+f19;
+ heapFloat[(fp+-134)] = f7;
+ f0 = f9+f14;
+ heapFloat[(fp+-125)] = f0;
+ f7 = heapFloat[(r3+73)];
+ f8 = f20+f21;
+ heapFloat[(fp+-139)] = f8;
+ f9 = f15+f16;
+ f0 = heapFloat[(fp+-133)];
+ f14 = f4*f0;
+ f15 = f22+f24;
+ f16 = f4*f18;
+ f10 = f10+f11;
+ f11 = heapFloat[(fp+-130)];
+ f1 = f1*f11;
+ f3 = f13+f3;
+ f2 = f2*f11;
+ f13 = heapFloat[(fp+-129)];
+ f5 = f5*f13;
+ f12 = f12*f25;
+ f17 = heapFloat[(r3+76)];
+ f1 = f10+f1;
+ heapFloat[(fp+-138)] = f1;
+ f10 = heapFloat[(r3+77)];
+ f2 = f3+f2;
+ heapFloat[(fp+-123)] = f2;
+ f0 = heapFloat[(fp+-124)];
+ f3 = f6*f0;
+ f0 = heapFloat[(fp+-125)];
+ f19 = f7*f0;
+ f0 = f9+f14;
+ heapFloat[(fp+-126)] = f0;
+ f1 = heapFloat[(r3+74)];
+ f0 = f15+f16;
+ heapFloat[(fp+-127)] = f0;
+ f2 = heapFloat[(fp+-134)];
+ f8 = f6*f2;
+ f9 = heapFloat[(fp+-139)];
+ f11 = f7*f9;
+ f5 = f5+f12;
+ f12 = heapFloat[(fp+-130)];
+ f4 = f4*f12;
+ f13 = heapFloat[(r3+80)];
+ f14 = heapFloat[(r3+81)];
+ f15 = heapFloat[(r3+78)];
+ f4 = f5+f4;
+ heapFloat[(fp+-122)] = f4;
+ f0 = heapFloat[(fp+-124)];
+ f5 = f17*f0;
+ f0 = heapFloat[(fp+-125)];
+ f16 = f10*f0;
+ f18 = f17*f2;
+ f20 = f10*f9;
+ f3 = f3+f19;
+ f0 = heapFloat[(fp+-126)];
+ f19 = f1*f0;
+ f8 = f8+f11;
+ f0 = heapFloat[(fp+-127)];
+ f11 = f1*f0;
+ f21 = heapFloat[(fp+-138)];
+ f22 = f6*f21;
+ f2 = heapFloat[(fp+-123)];
+ f23 = f7*f2;
+ f24 = heapFloat[(r3+82)];
+ f0 = heapFloat[(fp+-124)];
+ f25 = f13*f0;
+ f0 = heapFloat[(fp+-125)];
+ f26 = f14*f0;
+ f2 = heapFloat[(fp+-134)];
+ f27 = f13*f2;
+ f28 = f14*f9;
+ f5 = f5+f16;
+ f0 = heapFloat[(fp+-126)];
+ f16 = f15*f0;
+ f18 = f18+f20;
+ f0 = heapFloat[(fp+-127)];
+ f20 = f15*f0;
+ f29 = f17*f21;
+ f2 = heapFloat[(fp+-123)];
+ f30 = f10*f2;
+ f3 = f3+f19;
+ f19 = heapFloat[(fp+-84)];
+ heapFloat[(fp+-140)] = f19;
+ f0 = f8+f11;
+ heapFloat[(fp+-135)] = f0;
+ f2 = heapFloat[(r12+1)];
+ heapFloat[(fp+-128)] = f2;
+ f4 = f22+f23;
+ f8 = heapFloat[(fp+-122)];
+ f9 = f1*f8;
+ f5 = f5+f16;
+ f0 = f18+f20;
+ heapFloat[(fp+-119)] = f0;
+ f2 = f25+f26;
+ f0 = heapFloat[(fp+-126)];
+ f8 = f24*f0;
+ f11 = f27+f28;
+ f0 = heapFloat[(fp+-127)];
+ f12 = f24*f0;
+ f16 = f13*f21;
+ f18 = heapFloat[(fp+-123)];
+ f19 = f14*f18;
+ f20 = f29+f30;
+ f22 = heapFloat[(fp+-122)];
+ f23 = f15*f22;
+ f25 = heapFloat[(fp+-140)];
+ f26 = f3*f25;
+ f0 = heapFloat[(fp+-135)];
+ f27 = heapFloat[(fp+-128)];
+ f28 = f0*f27;
+ f4 = f4+f9;
+ f9 = heapFloat[(r12+2)];
+ f29 = heapFloat[(r3+86)];
+ f30 = heapFloat[(r3+85)];
+ f0 = heapFloat[(r12+8)];
+ heapFloat[(fp+-141)] = f0;
+ f2 = f2+f8;
+ f8 = heapFloat[(r12+4)];
+ f0 = heapFloat[(r12+9)];
+ f11 = f11+f12;
+ f12 = heapFloat[(r12+5)];
+ f20 = f20+f23;
+ f18 = heapFloat[(r12+10)];
+ heapFloat[(fp+-148)] = f18;
+ f21 = heapFloat[(r12+6)];
+ f22 = heapFloat[(r3+84)];
+ f16 = f16+f19;
+ f19 = heapFloat[(fp+-122)];
+ f23 = f24*f19;
+ f27 = f5*f25;
+ f19 = heapFloat[(fp+-119)];
+ f18 = heapFloat[(fp+-128)];
+ f18 = f19*f18;
+ f26 = f26+f28;
+ f28 = f4*f9;
+ f19 = heapFloat[(r3+102)];
+ heapFloat[(fp+-142)] = f19;
+ f19 = heapFloat[(r3+101)];
+ heapFloat[(fp+-143)] = f19;
+ f19 = heapFloat[(r3+100)];
+ heapFloat[(fp+-145)] = f19;
+ f19 = heapFloat[(r12+14)];
+ heapFloat[(fp+-144)] = f19;
+ f19 = heapFloat[(r12+13)];
+ heapFloat[(fp+-146)] = f19;
+ f19 = heapFloat[(r12+12)];
+ heapFloat[(fp+-147)] = f19;
+ f16 = f16+f23;
+ r4 = sp + -400;
+ f23 = f2*f25;
+ f19 = heapFloat[(fp+-128)];
+ f19 = f11*f19;
+ f18 = f27+f18;
+ f27 = f20*f9;
+ f26 = f26+f28;
+ f22 = -f22;
+ r10 = r4 >> 2;
+ f19 = f23+f19;
+ f23 = f16*f9;
+ f18 = f18+f27;
+ heapFloat[(fp+-100)] = f26;
+ f6 = f6*f22;
+ f17 = f17*f30;
+ f7 = f7*f22;
+ f10 = f10*f30;
+ f26 = f3*f8;
+ f27 = heapFloat[(fp+-135)];
+ f28 = f27*f12;
+ f19 = f19+f23;
+ heapFloat[(r10+1)] = f18;
+ f18 = 0;
+ heapFloat[(r10+2)] = f19;
+ f6 = f6-f17;
+ f13 = f13*f29;
+ f7 = f7-f10;
+ f10 = f14*f29;
+ f1 = f1*f22;
+ f14 = f15*f30;
+ f15 = f5*f8;
+ f19 = heapFloat[(fp+-119)];
+ f17 = f19*f12;
+ f22 = f26+f28;
+ f23 = f4*f21;
+ f6 = f6-f13;
+ f7 = f7-f10;
+ f10 = heapFloat[(fp+-120)];
+ f10 = f10*f18;
+ f13 = heapFloat[(fp+-121)];
+ f13 = f13*f18;
+ f26 = heapFloat[(fp+-131)];
+ f26 = f26*f18;
+ f28 = heapFloat[(fp+-132)];
+ f28 = f28*f18;
+ f1 = f1-f14;
+ f14 = f24*f29;
+ f24 = f2*f8;
+ f29 = f11*f12;
+ f15 = f15+f17;
+ f17 = f20*f21;
+ f22 = f22+f23;
+ heap32[(r10+3)] = 0;
+ f1 = f1-f14;
+ f14 = heapFloat[(fp+-124)];
+ f14 = f14*f6;
+ f23 = heapFloat[(fp+-125)];
+ f23 = f23*f7;
+ f10 = f10+f13;
+ f13 = heapFloat[(fp+-133)];
+ f13 = f13*f18;
+ f30 = heapFloat[(fp+-134)];
+ f30 = f30*f6;
+ f19 = heapFloat[(fp+-139)];
+ f19 = f19*f7;
+ f26 = f26+f28;
+ f28 = heapFloat[(fp+-137)];
+ f28 = f28*f18;
+ f25 = heapFloat[(fp+-129)];
+ f25 = f25*f18;
+ f27 = heapFloat[(fp+-136)];
+ f27 = f27*f18;
+ f24 = f24+f29;
+ f29 = f16*f21;
+ f15 = f15+f17;
+ heapFloat[(r10+4)] = f22;
+ f10 = f10+f13;
+ f13 = f26+f28;
+ f14 = f14+f23;
+ f17 = heapFloat[(fp+-126)];
+ f17 = f17*f1;
+ f19 = f30+f19;
+ f22 = heapFloat[(fp+-127)];
+ f22 = f22*f1;
+ f23 = heapFloat[(fp+-138)];
+ f6 = f23*f6;
+ f23 = heapFloat[(fp+-123)];
+ f7 = f23*f7;
+ f23 = f25+f27;
+ f25 = heapFloat[(fp+-130)];
+ f25 = f25*f18;
+ f26 = heapFloat[(fp+-141)];
+ f27 = f3*f26;
+ f28 = heapFloat[(fp+-135)];
+ f30 = f28*f0;
+ f24 = f24+f29;
+ heapFloat[(r10+5)] = f15;
+ f15 = f23+f25;
+ heapFloat[(r10+6)] = f24;
+ f14 = f14+f17;
+ f17 = heapFloat[(fp+-145)];
+ f10 = f10+f17;
+ f17 = f19+f22;
+ f19 = heapFloat[(fp+-143)];
+ f13 = f13+f19;
+ f6 = f6+f7;
+ f19 = heapFloat[(fp+-122)];
+ f1 = f19*f1;
+ f7 = f5*f26;
+ f19 = heapFloat[(fp+-119)];
+ f22 = f19*f0;
+ f23 = f27+f30;
+ f24 = heapFloat[(fp+-148)];
+ f25 = f4*f24;
+ f13 = f17+f13;
+ f10 = f14+f10;
+ f1 = f6+f1;
+ f19 = heapFloat[(fp+-142)];
+ f6 = f15+f19;
+ f14 = f2*f26;
+ f15 = f11*f0;
+ f7 = f7+f22;
+ f17 = f20*f24;
+ f19 = f23+f25;
+ heap32[(r10+7)] = 0;
+ f1 = f1+f6;
+ f25 = heapFloat[(fp+-140)];
+ f6 = f25*f10;
+ f22 = heapFloat[(fp+-128)];
+ f22 = f22*f13;
+ f14 = f14+f15;
+ f15 = f16*f24;
+ f7 = f7+f17;
+ heapFloat[(r10+8)] = f19;
+ f8 = f8*f10;
+ f12 = f12*f13;
+ f6 = f6+f22;
+ f9 = f9*f1;
+ f14 = f14+f15;
+ heapFloat[(r10+9)] = f7;
+ f6 = f6+f9;
+ heapFloat[(r10+10)] = f14;
+ f7 = f26*f10;
+ f0 = f0*f13;
+ f8 = f8+f12;
+ f9 = f21*f1;
+ f8 = f8+f9;
+ f0 = f7+f0;
+ f7 = f24*f1;
+ f19 = heapFloat[(fp+-147)];
+ f6 = f6+f19;
+ heap32[(r10+11)] = 0;
+ f0 = f0+f7;
+ f19 = heapFloat[(fp+-146)];
+ f7 = f8+f19;
+ heapFloat[(r10+12)] = f6;
+ f19 = heapFloat[(fp+-144)];
+ f0 = f0+f19;
+ heapFloat[(r10+13)] = f7;
+ heapFloat[(r10+14)] = f0;
+ heap32[(r10+15)] = 0;
+ f0 = heapFloat[(fp+-68)];
+ f6 = heapFloat[(r13+1)];
+ f7 = heapFloat[(r13+2)];
+ f8 = f3*f0;
+ f9 = f5*f6;
+ f12 = heapFloat[(r13+8)];
+ f14 = heapFloat[(r13+9)];
+ f15 = heapFloat[(r13+10)];
+ f17 = heapFloat[(r13+4)];
+ f19 = heapFloat[(r13+5)];
+ f21 = heapFloat[(r13+6)];
+ f22 = f28*f0;
+ f23 = heapFloat[(fp+-119)];
+ f24 = f23*f6;
+ f8 = f8+f9;
+ f9 = f2*f7;
+ f25 = heapFloat[(r13+14)];
+ f26 = heapFloat[(r13+13)];
+ f27 = heapFloat[(r13+12)];
+ r10 = sp + -464;
+ f29 = f4*f0;
+ f30 = f20*f6;
+ f22 = f22+f24;
+ f24 = f11*f7;
+ f8 = f8+f9;
+ r12 = r10 >> 2;
+ f9 = f29+f30;
+ f29 = f16*f7;
+ f22 = f22+f24;
+ heapFloat[(fp+-116)] = f8;
+ f8 = f3*f17;
+ f24 = f5*f19;
+ f9 = f9+f29;
+ heapFloat[(r12+1)] = f22;
+ heapFloat[(r12+2)] = f9;
+ f9 = f28*f17;
+ f22 = f23*f19;
+ f8 = f8+f24;
+ f24 = f2*f21;
+ f29 = f4*f17;
+ f30 = f20*f19;
+ f9 = f9+f22;
+ f22 = f11*f21;
+ f8 = f8+f24;
+ heap32[(r12+3)] = 0;
+ f10 = -f10;
+ f24 = f29+f30;
+ f29 = f16*f21;
+ f9 = f9+f22;
+ heapFloat[(r12+4)] = f8;
+ f8 = f3*f10;
+ f22 = f28*f13;
+ f30 = f5*f10;
+ f23 = f23*f13;
+ f3 = f3*f12;
+ f5 = f5*f14;
+ f24 = f24+f29;
+ heapFloat[(r12+5)] = f9;
+ heapFloat[(r12+6)] = f24;
+ f8 = f8-f22;
+ f9 = f4*f1;
+ f22 = f30-f23;
+ f23 = f20*f1;
+ f10 = f2*f10;
+ f13 = f11*f13;
+ f24 = f28*f12;
+ f28 = heapFloat[(fp+-119)];
+ f28 = f28*f14;
+ f3 = f3+f5;
+ f2 = f2*f15;
+ f5 = f8-f9;
+ f8 = f22-f23;
+ f9 = f10-f13;
+ f1 = f16*f1;
+ f4 = f4*f12;
+ f10 = f20*f14;
+ f13 = f24+f28;
+ f11 = f11*f15;
+ f2 = f3+f2;
+ heap32[(r12+7)] = 0;
+ f1 = f9-f1;
+ f0 = f0*f5;
+ f3 = f6*f8;
+ f4 = f4+f10;
+ f6 = f16*f15;
+ f9 = f13+f11;
+ heapFloat[(r12+8)] = f2;
+ f2 = f17*f5;
+ f10 = f19*f8;
+ f0 = f0+f3;
+ f3 = f7*f1;
+ f4 = f4+f6;
+ heapFloat[(r12+9)] = f9;
+ f0 = f0+f3;
+ heapFloat[(r12+10)] = f4;
+ f3 = f12*f5;
+ f4 = f14*f8;
+ f2 = f2+f10;
+ f5 = f21*f1;
+ f2 = f2+f5;
+ f3 = f3+f4;
+ f1 = f15*f1;
+ f0 = f0+f27;
+ heap32[(r12+11)] = 0;
+ f1 = f3+f1;
+ f2 = f2+f26;
+ heapFloat[(r12+12)] = f0;
+ f0 = f1+f25;
+ heapFloat[(r12+13)] = f2;
+ heapFloat[(r12+14)] = f0;
+ heap32[(r12+15)] = 0;
+ r12 = sp + -16;
+ r13 = sp + -20;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = r13;
+ _ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(i7);
+ r4 = r12 >> 2;
+ f0 = heapFloat[(r4+2)];
+ f1 = heapFloat[(fp+-5)];
+ f2 = heapFloat[(r4+1)];
+ f3 = heapFloat[(fp+-4)];
+ r4 = sp + -40;
+ r5 = sp + -44;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ _ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(i7);
+ f2 = f2*f1;
+ f5 = heapFloat[(fp+-118)];
+ f4 = heapFloat[(fp+-117)];
+ f4 = f5/f4;
+ f3 = f3*f1;
+ r4 = r4 >> 2;
+ f0 = f0*f1;
+ f1 = f2*f4;
+ f2 = heapFloat[(r7+1)];
+ f3 = f3*f4;
+ f5 = heapFloat[(fp+-48)];
+ f1 = f1-f2;
+ f2 = f3-f5;
+ f0 = f0*f4;
+ f3 = heapFloat[(r7+2)];
+ f5 = heapFloat[(r4+2)];
+ f6 = heapFloat[(fp+-11)];
+ f7 = heapFloat[(r4+1)];
+ f8 = heapFloat[(fp+-10)];
+ f0 = f0-f3;
+ f3 = f5*f6;
+ f5 = f7*f6;
+ f6 = f8*f6;
+ f7 = f2*f2;
+ f8 = f1*f1;
+ f7 = f7+f8;
+ f8 = f0*f0;
+ f3 = f3*f4;
+ f9 = heapFloat[(r11+2)];
+ f5 = f5*f4;
+ f10 = heapFloat[(r11+1)];
+ f4 = f6*f4;
+ f6 = heapFloat[(fp+-52)];
+ f7 = f7+f8;
+ f3 = f3-f9;
+ f5 = f5-f10;
+ f4 = f4-f6;
+ f6 = 1.1920928955078125e-007;
+ if(f7 >f6) //_LBB582_11
+{
+ heapFloat[(g0)] = f7;
+ sqrtf(i7);
+ r4 = heap32[(r3+5)];
+ r4 = r4 >> 2;
+ f7 = heapFloat[(fp+-118)];
+ f18 = f7/f_g0;
+ f7 = f2*f18;
+ f8 = heapFloat[(r4+64)];
+ f9 = heapFloat[(r4+65)];
+ f10 = f1*f18;
+ f11 = heapFloat[(r4+68)];
+ f12 = heapFloat[(r4+69)];
+ f13 = f0*f18;
+ f18 = heapFloat[(r4+72)];
+ f14 = heapFloat[(r4+73)];
+ f15 = heapFloat[(r4+66)];
+ f16 = heapFloat[(r4+70)];
+ f8 = f8*f7;
+ f11 = f11*f10;
+ f9 = f9*f7;
+ f12 = f12*f10;
+ f17 = heapFloat[(r4+74)];
+ f8 = f8+f11;
+ f18 = f18*f13;
+ f9 = f9+f12;
+ f11 = f14*f13;
+ f12 = f15*f7;
+ f14 = f16*f10;
+ f18 = f8+f18;
+ f8 = f9+f11;
+ f9 = f12+f14;
+ f11 = f17*f13;
+ f9 = f9+f11;
+ f18 = f7*f18;
+ f8 = f10*f8;
+ f18 = f18+f8;
+ f8 = f13*f9;
+ f18 = f18+f8;
+}
+ f8 = f4*f4;
+ f9 = f5*f5;
+ f8 = f8+f9;
+ f9 = f3*f3;
+ f8 = f8+f9;
+ if(f8 >f6) //_LBB582_14
+{
+ heapFloat[(g0)] = f8;
+ sqrtf(i7);
+ r4 = heap32[(r3+6)];
+ r4 = r4 >> 2;
+ f9 = heapFloat[(fp+-118)];
+ f8 = f9/f_g0;
+ f9 = f4*f8;
+ f11 = heapFloat[(r4+64)];
+ f12 = heapFloat[(r4+65)];
+ f14 = f5*f8;
+ f15 = heapFloat[(r4+68)];
+ f16 = heapFloat[(r4+69)];
+ f17 = f3*f8;
+ f8 = heapFloat[(r4+72)];
+ f19 = heapFloat[(r4+73)];
+ f20 = heapFloat[(r4+66)];
+ f21 = heapFloat[(r4+70)];
+ f11 = f11*f9;
+ f15 = f15*f14;
+ f12 = f12*f9;
+ f16 = f16*f14;
+ f22 = heapFloat[(r4+74)];
+ f11 = f11+f15;
+ f8 = f8*f17;
+ f12 = f12+f16;
+ f15 = f19*f17;
+ f16 = f20*f9;
+ f19 = f21*f14;
+ f8 = f11+f8;
+ f11 = f12+f15;
+ f12 = f16+f19;
+ f15 = f22*f17;
+ f12 = f12+f15;
+ f8 = f9*f8;
+ f11 = f14*f11;
+ f8 = f8+f11;
+ f11 = f17*f12;
+ f8 = f8+f11;
+}
+else{
+ f8 = 0;
+}
+ f10 = f10*f18;
+ f11 = f14*f8;
+ f7 = f7*f18;
+ f9 = f9*f8;
+ f10 = f10+f11;
+ f7 = f7+f9;
+ f9 = f13*f18;
+ f8 = f17*f8;
+ f8 = f9+f8;
+ f9 = f7*f7;
+ f11 = f10*f10;
+ f9 = f9+f11;
+ f11 = f8*f8;
+ f9 = f9+f11;
+if(!(f9 <=f6)) //_LBB582_35
+{
+ heapFloat[(g0)] = f9;
+ sqrtf(i7);
+ r4 = heap32[(r3+5)];
+ r5 = heap32[(r3+6)];
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ f9 = heapFloat[(fp+-118)];
+ f6 = f9/f_g0;
+ f11 = heapFloat[(r4+64)];
+ f7 = f7*f6;
+ f12 = heapFloat[(r4+65)];
+ f13 = heapFloat[(r5+64)];
+ f14 = heapFloat[(r5+65)];
+ f15 = heapFloat[(r4+68)];
+ f10 = f10*f6;
+ f16 = heapFloat[(r4+69)];
+ f17 = heapFloat[(r5+68)];
+ f18 = heapFloat[(r5+69)];
+ f19 = heapFloat[(r4+66)];
+ f20 = heapFloat[(r4+70)];
+ f21 = heapFloat[(r5+66)];
+ f22 = heapFloat[(r5+70)];
+ f11 = f11*f7;
+ f15 = f15*f10;
+ f23 = heapFloat[(r4+72)];
+ f6 = f8*f6;
+ f8 = heapFloat[(r4+73)];
+ f24 = heapFloat[(r5+72)];
+ f25 = heapFloat[(r5+73)];
+ f12 = f12*f7;
+ f16 = f16*f10;
+ f13 = f13*f7;
+ f17 = f17*f10;
+ f14 = f14*f7;
+ f18 = f18*f10;
+ f26 = heapFloat[(r4+74)];
+ f27 = heapFloat[(r5+74)];
+ f11 = f11+f15;
+ f15 = f23*f6;
+ f12 = f12+f16;
+ f8 = f8*f6;
+ f16 = f19*f7;
+ f19 = f20*f10;
+ f13 = f13+f17;
+ f17 = f24*f6;
+ f14 = f14+f18;
+ f18 = f25*f6;
+ f20 = f21*f7;
+ f21 = f22*f10;
+ f11 = f11+f15;
+ f8 = f12+f8;
+ f12 = f13+f17;
+ f13 = f14+f18;
+ f14 = f16+f19;
+ f15 = f26*f6;
+ f16 = f20+f21;
+ f17 = f27*f6;
+ f14 = f14+f15;
+ f15 = f16+f17;
+ f11 = f7*f11;
+ f8 = f10*f8;
+ f7 = f7*f12;
+ f10 = f10*f13;
+ f8 = f11+f8;
+ f11 = f6*f14;
+ f7 = f7+f10;
+ f6 = f6*f15;
+ f8 = f8+f11;
+ f6 = f7+f6;
+ f7 = f8+f6;
+ f7 = f7*f7;
+ f0 = f0*f8;
+ f3 = f3*f6;
+ f1 = f1*f8;
+ f5 = f5*f6;
+ f2 = f2*f8;
+ f4 = f4*f6;
+ f0 = f0-f3;
+ f3 = f9/f7;
+ f1 = f1-f5;
+ f2 = f2-f4;
+ f4 = heapFloat[(r3+140)];
+ f0 = f0*f3;
+ f1 = f1*f3;
+ f2 = f2*f3;
+ f3 = 0;
+ if(f4 >=f3) //_LBB582_18
+{
+ r4 = heapU8[r0+541];
+ if(r4 !=0) //_LBB582_20
+{
+ f4 = f4/f8;
+}
+ f5 = heapFloat[(r3+141)];
+ f6 = heapFloat[(r3+142)];
+ f5 = f5+f2;
+ f6 = f6+f1;
+ f7 = heapFloat[(r3+143)];
+ f7 = f7+f0;
+ f8 = f5*f5;
+ f9 = f6*f6;
+ f8 = f8+f9;
+ f9 = f7*f7;
+ f8 = f8+f9;
+ heapFloat[(g0)] = f8;
+ sqrtf(i7);
+ f9 = f_g0;
+ if(f9 >f4) //_LBB582_23
+{
+ heapFloat[(g0)] = f8;
+ sqrtf(i7);
+ f1 = heapFloat[(fp+-118)];
+ f0 = f1/f_g0;
+ f1 = f7*f0;
+ f2 = f6*f0;
+ f0 = f5*f0;
+ f7 = heapFloat[(r3+143)];
+ f1 = f1*f4;
+ f6 = heapFloat[(r3+142)];
+ f2 = f2*f4;
+ f5 = heapFloat[(r3+141)];
+ f4 = f0*f4;
+ f0 = f1-f7;
+ f1 = f2-f6;
+ f2 = f4-f5;
+}
+else{
+ f5 = heapFloat[(r3+141)];
+ f6 = heapFloat[(r3+142)];
+ f7 = heapFloat[(r3+143)];
+}
+ f4 = f5+f2;
+ f5 = f6+f1;
+ heapFloat[(r3+141)] = f4;
+ f4 = f7+f0;
+ heapFloat[(r3+142)] = f5;
+ heapFloat[(r3+143)] = f4;
+}
+ f4 = f2*f2;
+ f5 = f1*f1;
+ f4 = f4+f5;
+ f5 = f0*f0;
+ f4 = f4+f5;
+ heapFloat[(g0)] = f4;
+ sqrtf(i7);
+ f4 = f_g0;
+ f5 = heapFloat[(fp+-118)];
+ f5 = f5/f4;
+ f0 = f0*f5;
+ f1 = f1*f5;
+ f2 = f2*f5;
+ f5 = heapFloat[(r8+84)];
+if(!(f5 ==f3)) //_LBB582_27
+{
+ r4 = heap32[(r3+5)];
+ r4 = r4 >> 2;
+ f5 = f4*f3;
+ f6 = heapFloat[(r8+126)];
+ f7 = heapFloat[(r4+65)];
+ f8 = heapFloat[(r4+64)];
+ f9 = heapFloat[(r4+69)];
+ f10 = heapFloat[(r4+68)];
+ f11 = heapFloat[(r4+73)];
+ f12 = heapFloat[(r4+72)];
+ f13 = heapFloat[(r4+66)];
+ f14 = heapFloat[(r4+70)];
+ f15 = heapFloat[(r4+74)];
+ f6 = f6+f5;
+ heapFloat[(r8+126)] = f6;
+ f6 = heapFloat[(r8+127)];
+ f6 = f6+f5;
+ heapFloat[(r8+127)] = f6;
+ f6 = heapFloat[(r8+128)];
+ f5 = f6+f5;
+ heapFloat[(r8+128)] = f5;
+ f5 = f8*f2;
+ f6 = f7*f1;
+ f7 = heapFloat[(r8+134)];
+ f5 = f5+f6;
+ f6 = f13*f0;
+ f5 = f5+f6;
+ f6 = f7*f4;
+ f7 = heapFloat[(r8+136)];
+ f8 = heapFloat[(r8+135)];
+ f13 = heapFloat[(r8+130)];
+ f5 = f5*f6;
+ f6 = f10*f2;
+ f9 = f9*f1;
+ f6 = f6+f9;
+ f9 = f14*f0;
+ f5 = f13+f5;
+ heapFloat[(r8+130)] = f5;
+ f5 = f6+f9;
+ f6 = f8*f4;
+ f8 = f12*f2;
+ f9 = f11*f1;
+ f5 = f5*f6;
+ f6 = heapFloat[(r8+131)];
+ f5 = f6+f5;
+ f6 = f8+f9;
+ f8 = f15*f0;
+ heapFloat[(r8+131)] = f5;
+ f5 = f6+f8;
+ f6 = f7*f4;
+ f5 = f5*f6;
+ f6 = heapFloat[(r8+132)];
+ f5 = f6+f5;
+ heapFloat[(r8+132)] = f5;
+}
+ f5 = heapFloat[(r9+84)];
+if(!(f5 ==f3)) //_LBB582_35
+{
+ f3 = -f4;
+ r4 = heap32[(r3+6)];
+ r4 = r4 >> 2;
+ f5 = -0;
+ f4 = f4*f5;
+ f5 = heapFloat[(r9+126)];
+ f6 = heapFloat[(r4+65)];
+ f7 = heapFloat[(r4+64)];
+ f8 = heapFloat[(r4+69)];
+ f9 = heapFloat[(r4+68)];
+ f10 = heapFloat[(r4+73)];
+ f11 = heapFloat[(r4+72)];
+ f12 = heapFloat[(r4+66)];
+ f13 = heapFloat[(r4+70)];
+ f14 = heapFloat[(r4+74)];
+ f5 = f5+f4;
+ heapFloat[(r9+126)] = f5;
+ f5 = heapFloat[(r9+127)];
+ f5 = f5+f4;
+ heapFloat[(r9+127)] = f5;
+ f5 = heapFloat[(r9+128)];
+ f4 = f5+f4;
+ heapFloat[(r9+128)] = f4;
+ f4 = f7*f2;
+ f5 = f6*f1;
+ f4 = f4+f5;
+ f5 = f12*f0;
+ f6 = heapFloat[(r9+134)];
+ f4 = f4+f5;
+ f5 = f6*f3;
+ f6 = heapFloat[(r9+136)];
+ f7 = heapFloat[(r9+135)];
+ f12 = heapFloat[(r9+130)];
+ f4 = f4*f5;
+ f5 = f9*f2;
+ f8 = f8*f1;
+ f5 = f5+f8;
+ f8 = f13*f0;
+ f4 = f12+f4;
+ heapFloat[(r9+130)] = f4;
+ f4 = f5+f8;
+ f5 = f7*f3;
+ f2 = f11*f2;
+ f1 = f10*f1;
+ f4 = f4*f5;
+ f5 = heapFloat[(r9+131)];
+ f4 = f5+f4;
+ f1 = f2+f1;
+ f0 = f14*f0;
+ heapFloat[(r9+131)] = f4;
+ f0 = f1+f0;
+ f1 = f6*f3;
+ f0 = f0*f1;
+ f1 = heapFloat[(r9+132)];
+ f0 = f1+f0;
+ heapFloat[(r9+132)] = f0;
+}
+}
+}
+} while(0);
+ r1 = r1 >> 2;
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r1+82)];
+ f1 = heapFloat[(r1+132)];
+ f2 = heapFloat[(r1+81)];
+ f3 = heapFloat[(r1+131)];
+ f4 = heapFloat[(r1+80)];
+ f5 = heapFloat[(r1+130)];
+ f6 = heapFloat[(r2+82)];
+ f7 = heapFloat[(r2+132)];
+ f8 = heapFloat[(r2+81)];
+ f9 = heapFloat[(r2+131)];
+ f10 = heapFloat[(r2+80)];
+ f11 = heapFloat[(r2+130)];
+ f0 = f0+f1;
+ f1 = f2+f3;
+ f2 = f4+f5;
+ f3 = f6+f7;
+ f4 = f8+f9;
+ f5 = f10+f11;
+ r4 = heapU8[r0+514];
+if(!(r4 ==0)) //_LBB582_43
+{
+ f6 = heapFloat[(r3+129)];
+ f7 = heapFloat[(r3+123)];
+ f8 = heapFloat[(r3+112)];
+ f9 = f5-f2;
+ f10 = heapFloat[(r3+113)];
+ f11 = f4-f1;
+ f12 = heapFloat[(r3+114)];
+ f13 = f3-f0;
+ f9 = f9*f8;
+ f11 = f11*f10;
+ f7 = f6*f7;
+ f14 = heapFloat[(r3+105)];
+ f9 = f9+f11;
+ f11 = f13*f12;
+ f7 = f7*f14;
+ f9 = f9+f11;
+ f11 = heapFloat[(fp+-117)];
+ f7 = f7/f11;
+ f11 = 0;
+ if(f9 >f11) //_LBB582_38
+{
+ f6 = f6*f9;
+ f9 = heapFloat[(r3+106)];
+ f6 = f6*f9;
+ f7 = f6+f7;
+}
+ f6 = heapFloat[(r3+120)];
+ f9 = heapFloat[(r3+126)];
+ f6 = f6*f7;
+ f6 = f9+f6;
+ f6 = f6 > f11 ? f6 : f11;
+ heapFloat[(r3+126)] = f6;
+ f6 = f6-f9;
+ f7 = f8*f6;
+ f8 = heapFloat[(r3+131)];
+ f9 = f10*f6;
+ f10 = heapFloat[(r3+132)];
+ f13 = heapFloat[(r3+133)];
+ f6 = f12*f6;
+ f12 = f7*f8;
+ f14 = f9*f10;
+ f12 = f12+f14;
+ f14 = f6*f13;
+ f12 = f12+f14;
+ f10 = f10*f12;
+ f8 = f8*f12;
+ f12 = f13*f12;
+ f9 = f9-f10;
+ f7 = f7-f8;
+ f6 = f6-f12;
+ f8 = f7*f7;
+ f10 = f9*f9;
+ f8 = f8+f10;
+ f10 = f6*f6;
+ f8 = f8+f10;
+ heapFloat[(g0)] = f8;
+ sqrtf(i7);
+ f8 = f_g0;
+ f10 = 1;
+ f10 = f10/f8;
+ f6 = f6*f10;
+ f9 = f9*f10;
+ f7 = f7*f10;
+ f10 = heapFloat[(r1+84)];
+if(!(f10 ==f11)) //_LBB582_41
+{
+ r4 = heap32[(r3+5)];
+ r4 = r4 >> 2;
+ f10 = f8*f11;
+ f12 = heapFloat[(r1+126)];
+ f13 = heapFloat[(r4+65)];
+ f14 = heapFloat[(r4+64)];
+ f15 = heapFloat[(r4+69)];
+ f16 = heapFloat[(r4+68)];
+ f17 = heapFloat[(r4+73)];
+ f18 = heapFloat[(r4+72)];
+ f19 = heapFloat[(r4+66)];
+ f20 = heapFloat[(r4+70)];
+ f21 = heapFloat[(r4+74)];
+ f12 = f12+f10;
+ heapFloat[(r1+126)] = f12;
+ f12 = heapFloat[(r1+127)];
+ f12 = f12+f10;
+ heapFloat[(r1+127)] = f12;
+ f12 = heapFloat[(r1+128)];
+ f10 = f12+f10;
+ heapFloat[(r1+128)] = f10;
+ f10 = f14*f7;
+ f12 = f13*f9;
+ f13 = heapFloat[(r1+134)];
+ f10 = f10+f12;
+ f12 = f19*f6;
+ f10 = f10+f12;
+ f12 = f13*f8;
+ f13 = heapFloat[(r1+136)];
+ f14 = heapFloat[(r1+135)];
+ f19 = heapFloat[(r1+130)];
+ f10 = f10*f12;
+ f12 = f16*f7;
+ f15 = f15*f9;
+ f12 = f12+f15;
+ f15 = f20*f6;
+ f10 = f19+f10;
+ heapFloat[(r1+130)] = f10;
+ f10 = f12+f15;
+ f12 = f14*f8;
+ f14 = f18*f7;
+ f15 = f17*f9;
+ f10 = f10*f12;
+ f12 = heapFloat[(r1+131)];
+ f10 = f12+f10;
+ f12 = f14+f15;
+ f14 = f21*f6;
+ heapFloat[(r1+131)] = f10;
+ f10 = f12+f14;
+ f12 = f13*f8;
+ f10 = f10*f12;
+ f12 = heapFloat[(r1+132)];
+ f10 = f12+f10;
+ heapFloat[(r1+132)] = f10;
+}
+ f10 = heapFloat[(r2+84)];
+if(!(f10 ==f11)) //_LBB582_43
+{
+ f10 = -f8;
+ r4 = heap32[(r3+6)];
+ r4 = r4 >> 2;
+ f11 = -0;
+ f8 = f8*f11;
+ f11 = heapFloat[(r2+126)];
+ f12 = heapFloat[(r4+65)];
+ f13 = heapFloat[(r4+64)];
+ f14 = heapFloat[(r4+69)];
+ f15 = heapFloat[(r4+68)];
+ f16 = heapFloat[(r4+73)];
+ f17 = heapFloat[(r4+72)];
+ f18 = heapFloat[(r4+66)];
+ f19 = heapFloat[(r4+70)];
+ f20 = heapFloat[(r4+74)];
+ f11 = f11+f8;
+ heapFloat[(r2+126)] = f11;
+ f11 = heapFloat[(r2+127)];
+ f11 = f11+f8;
+ heapFloat[(r2+127)] = f11;
+ f11 = heapFloat[(r2+128)];
+ f8 = f11+f8;
+ heapFloat[(r2+128)] = f8;
+ f8 = f13*f7;
+ f11 = f12*f9;
+ f8 = f8+f11;
+ f11 = f18*f6;
+ f12 = heapFloat[(r2+134)];
+ f8 = f8+f11;
+ f11 = f12*f10;
+ f12 = heapFloat[(r2+136)];
+ f13 = heapFloat[(r2+135)];
+ f18 = heapFloat[(r2+130)];
+ f8 = f8*f11;
+ f11 = f15*f7;
+ f14 = f14*f9;
+ f11 = f11+f14;
+ f14 = f19*f6;
+ f8 = f18+f8;
+ heapFloat[(r2+130)] = f8;
+ f8 = f11+f14;
+ f11 = f13*f10;
+ f7 = f17*f7;
+ f9 = f16*f9;
+ f8 = f8*f11;
+ f11 = heapFloat[(r2+131)];
+ f8 = f11+f8;
+ f7 = f7+f9;
+ f6 = f20*f6;
+ heapFloat[(r2+131)] = f8;
+ f6 = f7+f6;
+ f7 = f12*f10;
+ f6 = f6*f7;
+ f7 = heapFloat[(r2+132)];
+ f6 = f7+f6;
+ heapFloat[(r2+132)] = f6;
+}
+}
+ r0 = heapU8[r0+513];
+if(!(r0 ==0)) //_LBB582_52
+{
+ f6 = heapFloat[(r3+130)];
+ f7 = heapFloat[(r3+124)];
+ f8 = heapFloat[(r3+116)];
+ f2 = f5-f2;
+ f5 = heapFloat[(r3+117)];
+ f1 = f4-f1;
+ f4 = heapFloat[(r3+118)];
+ f0 = f3-f0;
+ f2 = f2*f8;
+ f1 = f1*f5;
+ f3 = f6*f7;
+ f7 = heapFloat[(r3+105)];
+ f1 = f2+f1;
+ f0 = f0*f4;
+ f2 = f3*f7;
+ f0 = f1+f0;
+ f1 = heapFloat[(fp+-117)];
+ f1 = f2/f1;
+ f2 = 0;
+ if(f0 >f2) //_LBB582_46
+{
+ f0 = f6*f0;
+ f3 = heapFloat[(r3+106)];
+ f0 = f0*f3;
+ f1 = f0+f1;
+}
+ f0 = heapFloat[(r3+121)];
+ f3 = heapFloat[(r3+127)];
+ f0 = f0*f1;
+ f0 = f3+f0;
+ f0 = f0 > f2 ? f0 : f2;
+ heapFloat[(r3+127)] = f0;
+ f0 = f0-f3;
+ f1 = heapFloat[(r1+84)];
+ if(f1 !=f2) //_LBB582_49
+{
+ r0 = heap32[(r3+5)];
+ r0 = r0 >> 2;
+ f1 = f0*f2;
+ f3 = heapFloat[(r1+126)];
+ f6 = heapFloat[(r0+65)];
+ f7 = heapFloat[(r0+64)];
+ f9 = heapFloat[(r0+69)];
+ f10 = heapFloat[(r0+68)];
+ f11 = heapFloat[(r0+73)];
+ f12 = heapFloat[(r0+72)];
+ f13 = heapFloat[(r0+66)];
+ f14 = heapFloat[(r0+70)];
+ f15 = heapFloat[(r0+74)];
+ f3 = f3+f1;
+ heapFloat[(r1+126)] = f3;
+ f3 = heapFloat[(r1+127)];
+ f3 = f3+f1;
+ heapFloat[(r1+127)] = f3;
+ f3 = heapFloat[(r1+128)];
+ f1 = f3+f1;
+ heapFloat[(r1+128)] = f1;
+ f1 = f7*f8;
+ f3 = f6*f5;
+ f6 = heapFloat[(r1+134)];
+ f1 = f1+f3;
+ f3 = f13*f4;
+ f1 = f1+f3;
+ f3 = f6*f0;
+ f6 = heapFloat[(r1+136)];
+ f7 = heapFloat[(r1+135)];
+ f13 = heapFloat[(r1+130)];
+ f1 = f1*f3;
+ f3 = f10*f8;
+ f9 = f9*f5;
+ f3 = f3+f9;
+ f9 = f14*f4;
+ f1 = f13+f1;
+ heapFloat[(r1+130)] = f1;
+ f1 = f3+f9;
+ f3 = f7*f0;
+ f8 = f12*f8;
+ f5 = f11*f5;
+ f1 = f1*f3;
+ f3 = heapFloat[(r1+131)];
+ f1 = f3+f1;
+ f5 = f8+f5;
+ f4 = f15*f4;
+ heapFloat[(r1+131)] = f1;
+ f4 = f5+f4;
+ f5 = f6*f0;
+ f4 = f4*f5;
+ f5 = heapFloat[(r1+132)];
+ f4 = f5+f4;
+ heapFloat[(r1+132)] = f4;
+ f8 = heapFloat[(r3+116)];
+ f5 = heapFloat[(r3+117)];
+ f4 = heapFloat[(r3+118)];
+}
+ f1 = heapFloat[(r2+84)];
+if(!(f1 ==f2)) //_LBB582_52
+{
+ f1 = -f0;
+ r0 = heap32[(r3+6)];
+ r0 = r0 >> 2;
+ f2 = -0;
+ f0 = f0*f2;
+ f2 = heapFloat[(r2+126)];
+ f3 = heapFloat[(r0+65)];
+ f6 = heapFloat[(r0+64)];
+ f7 = heapFloat[(r0+69)];
+ f9 = heapFloat[(r0+68)];
+ f10 = heapFloat[(r0+73)];
+ f11 = heapFloat[(r0+72)];
+ f12 = heapFloat[(r0+66)];
+ f13 = heapFloat[(r0+70)];
+ f14 = heapFloat[(r0+74)];
+ f2 = f2+f0;
+ heapFloat[(r2+126)] = f2;
+ f2 = heapFloat[(r2+127)];
+ f2 = f2+f0;
+ heapFloat[(r2+127)] = f2;
+ f2 = heapFloat[(r2+128)];
+ f0 = f2+f0;
+ heapFloat[(r2+128)] = f0;
+ f0 = f6*f8;
+ f2 = f3*f5;
+ f0 = f0+f2;
+ f2 = f12*f4;
+ f3 = heapFloat[(r2+134)];
+ f0 = f0+f2;
+ f2 = f3*f1;
+ f3 = heapFloat[(r2+136)];
+ f6 = heapFloat[(r2+135)];
+ f12 = heapFloat[(r2+130)];
+ f0 = f0*f2;
+ f2 = f9*f8;
+ f7 = f7*f5;
+ f2 = f2+f7;
+ f7 = f13*f4;
+ f0 = f12+f0;
+ heapFloat[(r2+130)] = f0;
+ f0 = f2+f7;
+ f2 = f6*f1;
+ f6 = f11*f8;
+ f5 = f10*f5;
+ f0 = f0*f2;
+ f2 = heapFloat[(r2+131)];
+ f0 = f2+f0;
+ f2 = f6+f5;
+ f4 = f14*f4;
+ heapFloat[(r2+131)] = f0;
+ f0 = f2+f4;
+ f1 = f3*f1;
+ f0 = f0*f1;
+ f1 = heapFloat[(r2+132)];
+ f0 = f1+f0;
+ heapFloat[(r2+132)] = f0;
+}
+}
+}
+ return;
+}
+
+function _ZN21btConeTwistConstraint8setParamEifi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ f0 = heapFloat[(fp+2)];
+ r2 = heap32[(fp+3)];
+ r3 = (r0 + -3)|0;
+ if(uint(r3) <uint(2)) //_LBB583_5
+{
+ if(uint(r2) >uint(2)) //_LBB583_7
+{
+ r0 = r1 >> 2;
+ heapFloat[(r0+148)] = f0;
+ r1 = heap32[(r0+145)];
+ r1 = r1 | 4;
+ heap32[(r0+145)] = r1;
+ return;
+}
+else{
+ r1 = r1 >> 2;
+ heapFloat[(r1+146)] = f0;
+ r0 = heap32[(r1+145)];
+ r0 = r0 | 1;
+ heap32[(r1+145)] = r0;
+ return;
+}
+}
+else{
+ r0 = (r0 + -1)|0;
+ if(uint(r0) >uint(1)) //_LBB583_8
+{
+ r0 = _2E_str10;
+ r1 = _2E_str24;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 1066;
+ _assert(i7);
+}
+else{
+ if(uint(r2) >uint(2)) //_LBB583_4
+{
+ r1 = r1 >> 2;
+ heapFloat[(r1+105)] = f0;
+ return;
+}
+else{
+ r1 = r1 >> 2;
+ heapFloat[(r1+147)] = f0;
+ r2 = heap32[(r1+145)];
+ r2 = r2 | 2;
+ heap32[(r1+145)] = r2;
+ return;
+}
+}
+}
+}
+
+function _ZNK21btConeTwistConstraint8getParamEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+2)];
+ r3 = (r0 + -3)|0;
+ if(uint(r3) <uint(2)) //_LBB584_9
+{
+ if(uint(r2) >uint(2)) //_LBB584_13
+{
+ r0 = (r2 + -3)|0;
+ if(uint(r0) >uint(2)) //_LBB584_17
+{
+ r1 = _2E_str10;
+ r0 = _2E_str24;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 1107;
+ _assert(i7);
+}
+else{
+ r0 = heapU8[r1+580];
+ r0 = r0 & 4;
+ if(r0 !=0) //_LBB584_16
+{
+ r1 = (r1 + 592)|0;
+}
+else{
+ r1 = _2E_str543;
+ r0 = _2E_str24;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 1102;
+ _assert(i7);
+}
+}
+}
+else{
+ r2 = heapU8[r1+580];
+ r2 = r2 & 1;
+ if(r2 != 0) //_LBB584_12
+{
+ r1 = (r1 + 584)|0;
+}
+else{
+ r1 = _2E_str442;
+ r2 = _2E_str24;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 1097;
+ _assert(i7);
+}
+}
+}
+else{
+ r0 = (r0 + -1)|0;
+ if(uint(r0) >uint(1)) //_LBB584_18
+{
+ r1 = _2E_str10;
+ r0 = _2E_str24;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 1111;
+ _assert(i7);
+}
+else{
+ if(uint(r2) >uint(2)) //_LBB584_6
+{
+ r2 = (r2 + -3)|0;
+ if(uint(r2) >uint(2)) //_LBB584_8
+{
+ r1 = _2E_str10;
+ r2 = _2E_str24;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 1090;
+ _assert(i7);
+}
+else{
+ r1 = (r1 + 420)|0;
+}
+}
+else{
+ r2 = heapU8[r1+580];
+ r2 = r2 & 2;
+ if(r2 !=0) //_LBB584_5
+{
+ r1 = (r1 + 588)|0;
+}
+else{
+ r1 = _2E_str1340;
+ r2 = _2E_str24;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 1081;
+ _assert(i7);
+}
+}
+}
+}
+ r0 = r1 >> 2;
+ f0 = heapFloat[(r0)];
+ f_g0 = f0;
+ return;
+}
+
+function _ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+5)];
+ r1 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r0)];
+ heapFloat[(r1)] = f0;
+ f1 = heapFloat[(r0+1)];
+ heapFloat[(r1+1)] = f1;
+ f2 = heapFloat[(r0+2)];
+ r2 = heap32[(fp+3)];
+ heapFloat[(r1+2)] = f2;
+ r2 = r2 >> 2;
+ heap32[(r1+3)] = heap32[(r0+3)];
+ f3 = heapFloat[(r2)];
+ f4 = heapFloat[(r2+1)];
+ f5 = heapFloat[(r2+2)];
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ f6 = f4*f2;
+ f7 = f5*f1;
+ f5 = f5*f0;
+ f8 = f3*f2;
+ f6 = f6-f7;
+ f7 = heapFloat[(r0)];
+ f5 = f5-f8;
+ f8 = heapFloat[(r0+1)];
+ f3 = f3*f1;
+ f4 = f4*f0;
+ f9 = heapFloat[(r0+4)];
+ f10 = heapFloat[(r0+5)];
+ f7 = f7*f6;
+ f8 = f8*f5;
+ f3 = f3-f4;
+ f4 = heapFloat[(r0+2)];
+ f11 = heapFloat[(r0+8)];
+ f12 = heapFloat[(r0+9)];
+ f13 = heapFloat[(r0+10)];
+ f14 = heapFloat[(r0+6)];
+ f9 = f9*f6;
+ f10 = f10*f5;
+ f7 = f7+f8;
+ f4 = f4*f3;
+ f6 = f11*f6;
+ f5 = f12*f5;
+ f8 = f9+f10;
+ f9 = f14*f3;
+ f4 = f7+f4;
+ f5 = f6+f5;
+ f3 = f13*f3;
+ f6 = f8+f9;
+ heapFloat[(r1+4)] = f4;
+ f3 = f5+f3;
+ heapFloat[(r1+5)] = f6;
+ r0 = heap32[(fp+4)];
+ heapFloat[(r1+6)] = f3;
+ r0 = r0 >> 2;
+ heap32[(r1+7)] = 0;
+ f5 = heapFloat[(r0)];
+ f7 = heapFloat[(r0+1)];
+ f8 = heapFloat[(r0+2)];
+ r0 = heap32[(fp+2)];
+ r0 = r0 >> 2;
+ f9 = f8*f1;
+ f10 = f7*f2;
+ f2 = f5*f2;
+ f8 = f8*f0;
+ f9 = f9-f10;
+ f10 = heapFloat[(r0)];
+ f2 = f2-f8;
+ f8 = heapFloat[(r0+1)];
+ f0 = f7*f0;
+ f1 = f5*f1;
+ f5 = heapFloat[(r0+4)];
+ f7 = heapFloat[(r0+5)];
+ f10 = f10*f9;
+ f8 = f8*f2;
+ f0 = f0-f1;
+ f1 = heapFloat[(r0+2)];
+ f11 = heapFloat[(r0+8)];
+ f12 = heapFloat[(r0+9)];
+ f13 = heapFloat[(r0+10)];
+ f14 = heapFloat[(r0+6)];
+ f5 = f5*f9;
+ f7 = f7*f2;
+ f8 = f10+f8;
+ f1 = f1*f0;
+ f9 = f11*f9;
+ f2 = f12*f2;
+ f5 = f5+f7;
+ f7 = f14*f0;
+ f1 = f8+f1;
+ f2 = f9+f2;
+ f0 = f13*f0;
+ f5 = f5+f7;
+ heapFloat[(r1+8)] = f1;
+ f0 = f2+f0;
+ heapFloat[(r1+9)] = f5;
+ r0 = heap32[(fp+6)];
+ heapFloat[(r1+10)] = f0;
+ r0 = r0 >> 2;
+ heap32[(r1+11)] = 0;
+ f2 = heapFloat[(r0+2)];
+ f7 = heapFloat[(r0+1)];
+ f8 = heapFloat[(r0)];
+ f8 = f8*f4;
+ f7 = f7*f6;
+ heapFloat[(r1+12)] = f8;
+ f2 = f2*f3;
+ heapFloat[(r1+13)] = f7;
+ r0 = heap32[(fp+8)];
+ heapFloat[(r1+14)] = f2;
+ r0 = r0 >> 2;
+ heap32[(r1+15)] = 0;
+ f9 = heapFloat[(r0+2)];
+ f10 = heapFloat[(r0+1)];
+ f11 = heapFloat[(r0)];
+ f4 = f8*f4;
+ f6 = f7*f6;
+ f7 = f10*f5;
+ f8 = f11*f1;
+ f4 = f4+f6;
+ f2 = f2*f3;
+ f3 = f9*f0;
+ heapFloat[(r1+16)] = f8;
+ f2 = f4+f2;
+ f4 = heapFloat[(fp+7)];
+ f1 = f8*f1;
+ f5 = f7*f5;
+ heapFloat[(r1+17)] = f7;
+ f2 = f2+f4;
+ f4 = heapFloat[(fp+9)];
+ f1 = f1+f5;
+ f0 = f3*f0;
+ heapFloat[(r1+18)] = f3;
+ f2 = f2+f4;
+ f0 = f1+f0;
+ f0 = f2+f0;
+ heap32[(r1+19)] = 0;
+ f1 = 0;
+ heapFloat[(r1+20)] = f0;
+ if(f0 >f1) //_LBB585_2
+{
+ return;
+}
+else{
+ r0 = _2E_str846;
+ r1 = _2E_str947;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 53;
+ _assert(i7);
+}
+}
+
+function _ZNK21btConeTwistConstraint16GetPointForAngleEff(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ f0 = heapFloat[(fp+2)];
+ heapFloat[(g0)] = f0;
+ cosf(i7);
+ f1 = f_g0;
+ r0 = heap32[(fp+1)];
+ heapFloat[(g0)] = f0;
+ sinf(i7);
+ f0 = f_g0;
+ r0 = r0 >> 2;
+ r1 = heap32[(fp)];
+ f2 = heapFloat[(fp+3)];
+ f3 = f1; //fstod f1, f3
+ f3 = Math.abs(f3);
+ f4 = 1.1920928955078125e-007;
+ if(f3 >f4) //_LBB586_2
+{
+ f3 = heapFloat[(r0+109)];
+ f4 = heapFloat[(r0+108)];
+ f5 = f0*f0;
+ f6 = f1*f1;
+ f5 = f5/f6;
+ f4 = f4*f4;
+ f6 = 1;
+ f3 = f3*f3;
+ f4 = f5/f4;
+ f3 = f6/f3;
+ f5 = f5+f6;
+ f3 = f4+f3;
+ f3 = f5/f3;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f3 = f_g0;
+}
+else{
+ f3 = heapFloat[(r0+108)];
+}
+ f4 = 0;
+ f5 = f1*f1;
+ f5 = f5+f4;
+ f6 = f0*f0;
+ f5 = f5+f6;
+ heapFloat[(g0)] = f5;
+ sqrtf(i7);
+ f5 = f_g0;
+ if(f5 !=f4) //_LBB586_5
+{
+ f6 = 0.5;
+ f3 = f3*f6;
+ heapFloat[(g0)] = f3;
+ sinf(i7);
+ f5 = f_g0/f5;
+ f6 = f5*f4;
+ heapFloat[(g0)] = f3;
+ f0 = -f0;
+ f1 = f1*f5;
+ cosf(i7);
+ f7 = -f6;
+ f0 = f5*f0;
+ f5 = f_g0*f2;
+ f8 = f1*f4;
+ f7 = f2*f7;
+ f5 = f5+f8;
+ f9 = f0*f4;
+ f7 = f7-f8;
+ f8 = f0*f2;
+ f10 = f_g0*f4;
+ f5 = f5-f9;
+ f7 = f7-f9;
+ f4 = f6*f4;
+ f8 = f10+f8;
+ f8 = f8-f4;
+ f9 = f5*f_g0;
+ f11 = f7*f6;
+ f4 = f10+f4;
+ f2 = f1*f2;
+ f2 = f4-f2;
+ f4 = f8*f_g0;
+ f10 = f7*f1;
+ f9 = f9-f11;
+ f11 = f8*f0;
+ f3 = f2*f_g0;
+ f7 = f7*f0;
+ f4 = f4-f10;
+ f10 = f2*f6;
+ f9 = f9-f11;
+ f2 = f2*f1;
+ r0 = r1 >> 2;
+ f2 = f9+f2;
+ f3 = f3-f7;
+ f1 = f5*f1;
+ f4 = f4-f10;
+ f0 = f5*f0;
+ f1 = f3-f1;
+ f3 = f8*f6;
+ f0 = f4+f0;
+ heapFloat[(r0)] = f2;
+ f1 = f1+f3;
+ heapFloat[(r0+1)] = f0;
+ heapFloat[(r0+2)] = f1;
+ heap32[(r0+3)] = 0;
+ return;
+}
+else{
+ r1 = _2E_str115;
+ r0 = _2E_str685;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 61;
+ _assert(i7);
+}
+}
+
+function _ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -384;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ heap32[(r1+123)] = 0;
+ r2 = 0;
+ heap32[(r1+122)] = 0;
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ heap8[r0+513] = r2;
+ heap8[r0+514] = r2;
+ r2 = heapU8[r0+540];
+ if(r2 ==0) //_LBB587_7
+{
+__label__ = 6;
+}
+else{
+ r2 = heapU8[r0+515];
+ if(r2 !=0) //_LBB587_7
+{
+__label__ = 6;
+}
+else{
+ f0 = heapFloat[(r1+136)];
+ f1 = heapFloat[(r1+137)];
+ f2 = heapFloat[(r1+138)];
+ f3 = f0*f0;
+ f4 = f1*f1;
+ f5 = heapFloat[(r1+139)];
+ f3 = f3+f4;
+ f4 = f2*f2;
+ f3 = f3+f4;
+ f4 = f5*f5;
+ f6 = 2;
+ f3 = f3+f4;
+ r4 = r4 >> 2;
+ f3 = f6/f3;
+ f4 = f2*f3;
+ f6 = f1*f3;
+ f3 = f0*f3;
+ f7 = heapFloat[(r4)];
+ heapFloat[(fp+-48)] = f7;
+ f7 = heapFloat[(r1+89)];
+ heapFloat[(fp+-64)] = f7;
+ f7 = heapFloat[(r1+88)];
+ heapFloat[(fp+-66)] = f7;
+ f8 = heapFloat[(r4+1)];
+ heapFloat[(fp+-49)] = f8;
+ f9 = heapFloat[(r1+93)];
+ heapFloat[(fp+-65)] = f9;
+ f7 = heapFloat[(r1+92)];
+ heapFloat[(fp+-67)] = f7;
+ f8 = heapFloat[(r1+90)];
+ heapFloat[(fp+-54)] = f8;
+ f9 = heapFloat[(r1+94)];
+ heapFloat[(fp+-55)] = f9;
+ f2 = f2*f4;
+ f10 = f0*f3;
+ f11 = f1*f6;
+ f12 = heapFloat[(fp+-66)];
+ f7 = heapFloat[(fp+-48)];
+ f13 = f12*f7;
+ f7 = heapFloat[(fp+-67)];
+ f8 = heapFloat[(fp+-49)];
+ f14 = f7*f8;
+ f15 = heapFloat[(fp+-64)];
+ f7 = heapFloat[(fp+-48)];
+ f16 = f15*f7;
+ f9 = heapFloat[(fp+-65)];
+ f17 = f9*f8;
+ f18 = heapFloat[(r4+2)];
+ heapFloat[(fp+-83)] = f18;
+ f19 = heapFloat[(r1+97)];
+ heapFloat[(fp+-80)] = f19;
+ f20 = heapFloat[(r1+96)];
+ heapFloat[(fp+-81)] = f20;
+ r3 = r3 >> 2;
+ f21 = heapFloat[(r1+98)];
+ heapFloat[(fp+-77)] = f21;
+ f22 = f11+f2;
+ f23 = 1;
+ heapFloat[(fp+-76)] = f23;
+ f2 = f10+f2;
+ f24 = f0*f6;
+ f25 = f5*f4;
+ f13 = f13+f14;
+ f14 = f20*f18;
+ f16 = f16+f17;
+ f17 = f19*f18;
+ f8 = heapFloat[(fp+-54)];
+ f26 = f8*f7;
+ f9 = heapFloat[(fp+-55)];
+ f8 = heapFloat[(fp+-49)];
+ f27 = f9*f8;
+ f22 = f23-f22;
+ heapFloat[(fp+-78)] = f22;
+ f13 = f13+f14;
+ heapFloat[(fp+-50)] = f13;
+ f14 = f24-f25;
+ heapFloat[(fp+-52)] = f14;
+ f24 = f24+f25;
+ heapFloat[(fp+-79)] = f24;
+ f16 = f16+f17;
+ heapFloat[(fp+-51)] = f16;
+ f2 = f23-f2;
+ heapFloat[(fp+-53)] = f2;
+ f0 = f0*f4;
+ f6 = f5*f6;
+ f1 = f1*f4;
+ f3 = f5*f3;
+ f4 = f26+f27;
+ f5 = f21*f18;
+ f2 = heapFloat[(r3)];
+ heapFloat[(fp+-40)] = f2;
+ f7 = heapFloat[(r1+73)];
+ f8 = heapFloat[(r1+72)];
+ f2 = heapFloat[(r3+1)];
+ heapFloat[(fp+-41)] = f2;
+ f9 = heapFloat[(r1+77)];
+ f12 = heapFloat[(r1+76)];
+ f13 = heapFloat[(r4+4)];
+ heapFloat[(fp+-59)] = f13;
+ f14 = heapFloat[(r4+5)];
+ heapFloat[(fp+-60)] = f14;
+ f15 = heapFloat[(r3+4)];
+ heapFloat[(fp+-68)] = f15;
+ f16 = heapFloat[(r3+5)];
+ heapFloat[(fp+-69)] = f16;
+ f17 = heapFloat[(r1+74)];
+ f18 = heapFloat[(r1+78)];
+ f19 = f0+f6;
+ heapFloat[(fp+-56)] = f19;
+ f20 = f1-f3;
+ heapFloat[(fp+-58)] = f20;
+ f10 = f10+f11;
+ f2 = heapFloat[(fp+-40)];
+ f11 = f8*f2;
+ f2 = heapFloat[(fp+-41)];
+ f21 = f12*f2;
+ f13 = heapFloat[(fp+-50)];
+ f23 = f22*f13;
+ f16 = heapFloat[(fp+-51)];
+ f25 = f24*f16;
+ f0 = f0-f6;
+ heapFloat[(fp+-61)] = f0;
+ f4 = f4+f5;
+ heapFloat[(fp+-57)] = f4;
+ f1 = f1+f3;
+ heapFloat[(fp+-62)] = f1;
+ f2 = heapFloat[(fp+-40)];
+ f3 = f7*f2;
+ f2 = heapFloat[(fp+-41)];
+ f5 = f9*f2;
+ f14 = heapFloat[(fp+-52)];
+ f6 = f14*f13;
+ f2 = heapFloat[(fp+-53)];
+ f26 = f2*f16;
+ f0 = heapFloat[(r3+2)];
+ heapFloat[(fp+-71)] = f0;
+ f1 = heapFloat[(r1+81)];
+ f2 = heapFloat[(r1+80)];
+ f4 = heapFloat[(r3+8)];
+ heapFloat[(fp+-38)] = f4;
+ f13 = heapFloat[(r3+9)];
+ heapFloat[(fp+-39)] = f13;
+ f14 = heapFloat[(r4+6)];
+ heapFloat[(fp+-37)] = f14;
+ f15 = heapFloat[(r3+6)];
+ heapFloat[(fp+-70)] = f15;
+ f0 = heapFloat[(r1+82)];
+ heapFloat[(fp+-82)] = f0;
+ f4 = heapFloat[(fp+-76)];
+ f10 = f4-f10;
+ heapFloat[(fp+-63)] = f10;
+ f14 = heapFloat[(fp+-66)];
+ f13 = heapFloat[(fp+-59)];
+ f15 = f14*f13;
+ f16 = heapFloat[(fp+-67)];
+ f14 = heapFloat[(fp+-60)];
+ f19 = f16*f14;
+ f20 = heapFloat[(fp+-64)];
+ f22 = f20*f13;
+ f24 = heapFloat[(fp+-65)];
+ f27 = f24*f14;
+ f28 = heapFloat[(fp+-68)];
+ f29 = f8*f28;
+ f16 = heapFloat[(fp+-69)];
+ f30 = f12*f16;
+ f0 = f7*f28;
+ f4 = f9*f16;
+ f11 = f11+f21;
+ heapFloat[(fp+-42)] = f11;
+ f21 = heapFloat[(fp+-71)];
+ f10 = f2*f21;
+ heapFloat[(fp+-43)] = f10;
+ f10 = f23+f25;
+ heapFloat[(fp+-44)] = f10;
+ f13 = heapFloat[(fp+-61)];
+ f11 = heapFloat[(fp+-57)];
+ f14 = f13*f11;
+ f3 = f3+f5;
+ f5 = f1*f21;
+ f6 = f6+f26;
+ f16 = heapFloat[(fp+-62)];
+ f20 = f16*f11;
+ f23 = heapFloat[(fp+-40)];
+ f24 = f17*f23;
+ f25 = heapFloat[(fp+-41)];
+ f26 = f18*f25;
+ f28 = heapFloat[(fp+-56)];
+ f13 = heapFloat[(fp+-50)];
+ f10 = f28*f13;
+ f11 = heapFloat[(fp+-58)];
+ f16 = heapFloat[(fp+-51)];
+ f11 = f11*f16;
+ f13 = heapFloat[(r3+10)];
+ heapFloat[(fp+-72)] = f13;
+ f15 = f15+f19;
+ f13 = heapFloat[(fp+-81)];
+ f19 = heapFloat[(fp+-37)];
+ f13 = f13*f19;
+ f22 = f22+f27;
+ f19 = heapFloat[(fp+-80)];
+ f27 = heapFloat[(fp+-37)];
+ f16 = f19*f27;
+ f19 = heapFloat[(fp+-54)];
+ f21 = heapFloat[(fp+-59)];
+ f19 = f19*f21;
+ f21 = heapFloat[(fp+-55)];
+ f23 = heapFloat[(fp+-60)];
+ f21 = f21*f23;
+ f23 = heapFloat[(fp+-38)];
+ f8 = f8*f23;
+ f23 = heapFloat[(fp+-39)];
+ f12 = f12*f23;
+ f23 = heapFloat[(fp+-38)];
+ f7 = f7*f23;
+ f23 = heapFloat[(fp+-39)];
+ f9 = f9*f23;
+ f29 = f29+f30;
+ f30 = heapFloat[(fp+-70)];
+ f23 = f2*f30;
+ f0 = f0+f4;
+ f4 = f1*f30;
+ f28 = heapFloat[(fp+-68)];
+ f25 = f17*f28;
+ f27 = heapFloat[(fp+-69)];
+ f27 = f18*f27;
+ f28 = heapFloat[(fp+-42)];
+ f30 = heapFloat[(fp+-43)];
+ f28 = f28+f30;
+ f30 = heapFloat[(fp+-44)];
+ f14 = f30+f14;
+ heapFloat[(fp+-73)] = f14;
+ f3 = f3+f5;
+ f5 = f6+f20;
+ heapFloat[(fp+-42)] = f5;
+ f6 = f24+f26;
+ f20 = heapFloat[(fp+-82)];
+ f14 = heapFloat[(fp+-71)];
+ f24 = f20*f14;
+ f10 = f10+f11;
+ f26 = heapFloat[(fp+-63)];
+ f11 = heapFloat[(fp+-57)];
+ f30 = f26*f11;
+ f5 = f15+f13;
+ heapFloat[(fp+-44)] = f5;
+ f5 = f22+f16;
+ heapFloat[(fp+-45)] = f5;
+ f11 = f29+f23;
+ f0 = f0+f4;
+ f4 = f19+f21;
+ f21 = heapFloat[(fp+-77)];
+ f13 = heapFloat[(fp+-37)];
+ f14 = f21*f13;
+ f8 = f8+f12;
+ f13 = heapFloat[(fp+-72)];
+ f2 = f2*f13;
+ f7 = f7+f9;
+ f1 = f1*f13;
+ f23 = heapFloat[(fp+-38)];
+ f9 = f17*f23;
+ f23 = heapFloat[(fp+-39)];
+ f12 = f18*f23;
+ f15 = f25+f27;
+ f16 = heapFloat[(fp+-70)];
+ f17 = f20*f16;
+ f18 = heapFloat[(fp+-73)];
+ f19 = f28*f18;
+ f5 = heapFloat[(fp+-42)];
+ f22 = f3*f5;
+ f6 = f6+f24;
+ f10 = f10+f30;
+ heapFloat[(fp+-43)] = f10;
+ f4 = f4+f14;
+ heapFloat[(fp+-74)] = f4;
+ f14 = heapFloat[(r1+84)];
+ f24 = heapFloat[(r1+85)];
+ f25 = heapFloat[(r1+86)];
+ f4 = heapFloat[(r4+8)];
+ heapFloat[(fp+-46)] = f4;
+ f5 = heapFloat[(r1+100)];
+ heapFloat[(fp+-85)] = f5;
+ f4 = heapFloat[(r4+9)];
+ heapFloat[(fp+-47)] = f4;
+ f5 = heapFloat[(r1+101)];
+ heapFloat[(fp+-86)] = f5;
+ f10 = heapFloat[(r4+10)];
+ heapFloat[(fp+-75)] = f10;
+ f13 = heapFloat[(r1+102)];
+ heapFloat[(fp+-84)] = f13;
+ f2 = f8+f2;
+ f1 = f7+f1;
+ f7 = f15+f17;
+ f8 = heapFloat[(fp+-78)];
+ f5 = heapFloat[(fp+-44)];
+ f15 = f8*f5;
+ f16 = heapFloat[(fp+-79)];
+ f5 = heapFloat[(fp+-45)];
+ f17 = f16*f5;
+ f18 = heapFloat[(fp+-52)];
+ f5 = heapFloat[(fp+-44)];
+ f20 = f18*f5;
+ f21 = heapFloat[(fp+-53)];
+ f5 = heapFloat[(fp+-45)];
+ f23 = f21*f5;
+ f9 = f9+f12;
+ f12 = heapFloat[(fp+-82)];
+ f13 = heapFloat[(fp+-72)];
+ f12 = f12*f13;
+ f18 = heapFloat[(fp+-73)];
+ f26 = f11*f18;
+ f5 = heapFloat[(fp+-42)];
+ f27 = f0*f5;
+ f19 = f19+f22;
+ f10 = heapFloat[(fp+-43)];
+ f22 = f6*f10;
+ f29 = heapFloat[(r3+14)];
+ heapFloat[(fp+-82)] = f29;
+ f30 = heapFloat[(r3+13)];
+ heapFloat[(fp+-87)] = f30;
+ f4 = heapFloat[(r3+12)];
+ heapFloat[(fp+-89)] = f4;
+ f4 = heapFloat[(r4+14)];
+ heapFloat[(fp+-88)] = f4;
+ f4 = heapFloat[(r4+13)];
+ heapFloat[(fp+-90)] = f4;
+ f4 = heapFloat[(r4+12)];
+ heapFloat[(fp+-91)] = f4;
+ r3 = sp + -128;
+ f9 = f9+f12;
+ f12 = heapFloat[(fp+-66)];
+ f4 = heapFloat[(fp+-46)];
+ f12 = f12*f4;
+ f4 = heapFloat[(fp+-67)];
+ f5 = heapFloat[(fp+-47)];
+ f4 = f4*f5;
+ f5 = heapFloat[(fp+-64)];
+ f8 = heapFloat[(fp+-46)];
+ f5 = f5*f8;
+ f8 = heapFloat[(fp+-65)];
+ f10 = heapFloat[(fp+-47)];
+ f8 = f8*f10;
+ f15 = f15+f17;
+ f13 = heapFloat[(fp+-61)];
+ f17 = heapFloat[(fp+-74)];
+ f10 = f13*f17;
+ f20 = f20+f23;
+ f16 = heapFloat[(fp+-62)];
+ f23 = f16*f17;
+ f13 = heapFloat[(fp+-56)];
+ f16 = heapFloat[(fp+-44)];
+ f13 = f13*f16;
+ f16 = heapFloat[(fp+-58)];
+ f17 = heapFloat[(fp+-45)];
+ f16 = f16*f17;
+ f17 = f2*f18;
+ f18 = heapFloat[(fp+-42)];
+ f18 = f1*f18;
+ f26 = f26+f27;
+ f27 = heapFloat[(fp+-43)];
+ f21 = f7*f27;
+ f19 = f19+f22;
+ f10 = f15+f10;
+ f15 = f20+f23;
+ r4 = r3 >> 2;
+ f20 = heapFloat[(fp+-40)];
+ f20 = f20*f14;
+ f22 = heapFloat[(fp+-41)];
+ f22 = f22*f24;
+ f4 = f12+f4;
+ f12 = heapFloat[(fp+-81)];
+ f23 = heapFloat[(fp+-75)];
+ f12 = f12*f23;
+ f5 = f5+f8;
+ f8 = heapFloat[(fp+-80)];
+ f8 = f8*f23;
+ f23 = heapFloat[(fp+-54)];
+ f27 = heapFloat[(fp+-46)];
+ f23 = f23*f27;
+ f27 = heapFloat[(fp+-55)];
+ f29 = heapFloat[(fp+-47)];
+ f27 = f27*f29;
+ f13 = f13+f16;
+ f16 = heapFloat[(fp+-63)];
+ f29 = heapFloat[(fp+-74)];
+ f16 = f16*f29;
+ f17 = f17+f18;
+ f18 = heapFloat[(fp+-43)];
+ f18 = f9*f18;
+ f21 = f26+f21;
+ heapFloat[(fp+-32)] = f19;
+ f4 = f4+f12;
+ f5 = f5+f8;
+ f8 = f13+f16;
+ f12 = f20+f22;
+ f13 = heapFloat[(fp+-71)];
+ f13 = f13*f25;
+ f16 = heapFloat[(fp+-68)];
+ f16 = f16*f14;
+ f19 = heapFloat[(fp+-69)];
+ f19 = f19*f24;
+ f20 = f23+f27;
+ f22 = heapFloat[(fp+-77)];
+ f23 = heapFloat[(fp+-75)];
+ f22 = f22*f23;
+ f26 = f28*f10;
+ f27 = f3*f15;
+ f17 = f17+f18;
+ heapFloat[(r4+1)] = f21;
+ f18 = f20+f22;
+ f12 = f12+f13;
+ heapFloat[(r4+2)] = f17;
+ f13 = f16+f19;
+ f16 = heapFloat[(fp+-70)];
+ f16 = f16*f25;
+ f17 = heapFloat[(fp+-38)];
+ f14 = f17*f14;
+ f17 = heapFloat[(fp+-39)];
+ f17 = f17*f24;
+ f19 = heapFloat[(fp+-78)];
+ f19 = f19*f4;
+ f20 = heapFloat[(fp+-79)];
+ f20 = f20*f5;
+ f21 = heapFloat[(fp+-52)];
+ f21 = f21*f4;
+ f22 = heapFloat[(fp+-53)];
+ f22 = f22*f5;
+ f24 = f11*f10;
+ f23 = f0*f15;
+ f26 = f26+f27;
+ f27 = f6*f8;
+ f29 = heapFloat[(fp+-89)];
+ f12 = f12+f29;
+ f13 = f13+f16;
+ f14 = f14+f17;
+ f16 = heapFloat[(fp+-72)];
+ f16 = f16*f25;
+ f17 = f19+f20;
+ f19 = heapFloat[(fp+-61)];
+ f19 = f19*f18;
+ f20 = f21+f22;
+ f21 = heapFloat[(fp+-62)];
+ f21 = f21*f18;
+ f22 = heapFloat[(fp+-56)];
+ f22 = f22*f4;
+ f25 = heapFloat[(fp+-58)];
+ f25 = f25*f5;
+ f29 = f2*f10;
+ f30 = f1*f15;
+ f23 = f24+f23;
+ f24 = f7*f8;
+ f26 = f26+f27;
+ heap32[(r4+3)] = 0;
+ f12 = -f12;
+ f27 = heapFloat[(fp+-87)];
+ f13 = f13+f27;
+ f17 = f17+f19;
+ f19 = f20+f21;
+ f14 = f14+f16;
+ f16 = f22+f25;
+ f20 = heapFloat[(fp+-63)];
+ f20 = f20*f18;
+ f21 = f29+f30;
+ f22 = f9*f8;
+ f23 = f23+f24;
+ heapFloat[(r4+4)] = f26;
+ f29 = heapFloat[(fp+-82)];
+ f14 = f14+f29;
+ f16 = f16+f20;
+ f20 = f28*f12;
+ f24 = f11*f13;
+ f25 = f3*f12;
+ f26 = f0*f13;
+ f27 = f28*f17;
+ f3 = f3*f19;
+ f21 = f21+f22;
+ heapFloat[(r4+5)] = f23;
+ f22 = 0;
+ heapFloat[(r4+6)] = f21;
+ f20 = f20-f24;
+ f21 = f2*f14;
+ f23 = f25-f26;
+ f24 = f1*f14;
+ f12 = f6*f12;
+ f13 = f7*f13;
+ f25 = heapFloat[(fp+-48)];
+ f26 = heapFloat[(fp+-85)];
+ f25 = f25*f26;
+ f28 = heapFloat[(fp+-49)];
+ f29 = heapFloat[(fp+-86)];
+ f28 = f28*f29;
+ f11 = f11*f17;
+ f0 = f0*f19;
+ f3 = f27+f3;
+ f6 = f6*f16;
+ f20 = f20-f21;
+ f21 = f23-f24;
+ f23 = heapFloat[(fp+-59)];
+ f23 = f23*f26;
+ f24 = heapFloat[(fp+-60)];
+ f24 = f24*f29;
+ f12 = f12-f13;
+ f13 = f9*f14;
+ f14 = heapFloat[(fp+-50)];
+ f14 = f14*f22;
+ f27 = heapFloat[(fp+-51)];
+ f27 = f27*f22;
+ f25 = f25+f28;
+ f28 = heapFloat[(fp+-83)];
+ f30 = heapFloat[(fp+-84)];
+ f28 = f28*f30;
+ f2 = f2*f17;
+ f1 = f1*f19;
+ f0 = f11+f0;
+ f7 = f7*f16;
+ f3 = f3+f6;
+ heap32[(r4+7)] = 0;
+ f6 = f12-f13;
+ f11 = f25+f28;
+ f12 = heapFloat[(fp+-46)];
+ f12 = f12*f26;
+ f13 = heapFloat[(fp+-47)];
+ f13 = f13*f29;
+ f25 = heapFloat[(fp+-44)];
+ f25 = f25*f22;
+ f26 = heapFloat[(fp+-45)];
+ f26 = f26*f22;
+ f23 = f23+f24;
+ f24 = heapFloat[(fp+-37)];
+ f24 = f24*f30;
+ f28 = heapFloat[(fp+-73)];
+ f28 = f28*f20;
+ f29 = heapFloat[(fp+-42)];
+ f29 = f29*f21;
+ f14 = f14+f27;
+ f27 = heapFloat[(fp+-57)];
+ f27 = f27*f22;
+ f1 = f2+f1;
+ f2 = f9*f16;
+ f0 = f0+f7;
+ heapFloat[(r4+8)] = f3;
+ f3 = f23+f24;
+ f4 = f4*f22;
+ f5 = f5*f22;
+ f7 = f12+f13;
+ f23 = heapFloat[(fp+-75)];
+ f9 = f23*f30;
+ f10 = f10*f20;
+ f12 = f15*f21;
+ f13 = f25+f26;
+ f15 = heapFloat[(fp+-74)];
+ f15 = f15*f22;
+ f23 = f28+f29;
+ f24 = heapFloat[(fp+-43)];
+ f24 = f24*f6;
+ f14 = f14+f27;
+ f25 = heapFloat[(fp+-91)];
+ f11 = f11+f25;
+ f1 = f1+f2;
+ heapFloat[(r4+9)] = f0;
+ f0 = f7+f9;
+ heapFloat[(r4+10)] = f1;
+ f1 = f17*f20;
+ f2 = f19*f21;
+ f4 = f4+f5;
+ f5 = f18*f22;
+ f7 = f10+f12;
+ f8 = f8*f6;
+ f9 = f13+f15;
+ f10 = heapFloat[(fp+-90)];
+ f3 = f3+f10;
+ f10 = f23+f24;
+ f11 = f14+f11;
+ f1 = f1+f2;
+ f2 = f16*f6;
+ f4 = f4+f5;
+ f5 = heapFloat[(fp+-88)];
+ f0 = f0+f5;
+ f5 = f7+f8;
+ f3 = f9+f3;
+ f6 = f10+f11;
+ heap32[(r4+11)] = 0;
+ f1 = f1+f2;
+ f0 = f4+f0;
+ f2 = f5+f3;
+ heapFloat[(r4+12)] = f6;
+ f0 = f1+f0;
+ heapFloat[(r4+13)] = f2;
+ heapFloat[(r4+14)] = f0;
+ heap32[(r4+15)] = 0;
+ r4 = sp + -144;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ _ZNK11btMatrix3x311getRotationER12btQuaternion(i7);
+ r3 = r4 >> 2;
+ f0 = heapFloat[(r3+2)];
+ f1 = heapFloat[(r3+1)];
+ f2 = heapFloat[(fp+-36)];
+ heapFloat[(r1+112)] = f2;
+ heapFloat[(r1+113)] = f1;
+ heapFloat[(r1+114)] = f0;
+ heap32[(r1+115)] = 0;
+ f2 = f2*f2;
+ f1 = f1*f1;
+ f1 = f2+f1;
+ f0 = f0*f0;
+ f0 = f1+f0;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f4 = heapFloat[(fp+-76)];
+ f0 = f4/f_g0;
+ f1 = heapFloat[(r1+112)];
+ f1 = f1*f0;
+ heapFloat[(r1+112)] = f1;
+ f1 = heapFloat[(r1+113)];
+ f1 = f1*f0;
+ heapFloat[(r1+113)] = f1;
+ f1 = heapFloat[(r1+114)];
+ f0 = f1*f0;
+ heapFloat[(r1+114)] = f0;
+ f0 = heapFloat[(r3+3)];
+ f1 = -1;
+ f0 = f0 < f1 ? f1 : f0;
+ f0 = f0 > f4 ? f4 : f0;
+ heapFloat[(g0)] = f0;
+ acosf(i7);
+ f0 = f_g0+f_g0;
+ heapFloat[(r1+123)] = f0;
+ if(f0 <f22) //_LBB587_4
+{
+ f0 = -f0;
+}
+ f1 = 1.1920928955078125e-007;
+ if(f0 <f1) //_LBB587_83
+{
+__label__ = 72;
+}
+else{
+ r1 = 1;
+ heap8[r0+514] = r1;
+ return;
+}
+}
+}
+_8: do {
+if (__label__ == 6){
+ r2 = heap32[(fp+3)];
+ r5 = heap32[(fp+4)];
+ r6 = sp + -64;
+ r7 = (r0 + 288)|0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r6;
+ _ZNK11btMatrix3x311getRotationER12btQuaternion(i7);
+ r7 = sp + -48;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r7;
+ _ZNK11btMatrix3x311getRotationER12btQuaternion(i7);
+ r7 = r7 >> 2;
+ r6 = r6 >> 2;
+ f0 = heapFloat[(r7+3)];
+ f1 = heapFloat[(r6+3)];
+ f2 = heapFloat[(fp+-12)];
+ f3 = heapFloat[(fp+-16)];
+ f4 = heapFloat[(r7+1)];
+ f5 = heapFloat[(r6+1)];
+ f6 = heapFloat[(r7+2)];
+ f7 = heapFloat[(r6+2)];
+ r6 = sp + -32;
+ r7 = (r0 + 352)|0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r6;
+ _ZNK11btMatrix3x311getRotationER12btQuaternion(i7);
+ r7 = sp + -16;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r7;
+ _ZNK11btMatrix3x311getRotationER12btQuaternion(i7);
+ r6 = r6 >> 2;
+ r7 = r7 >> 2;
+ f8 = heapFloat[(r7+3)];
+ f9 = heapFloat[(r6+3)];
+ f10 = heapFloat[(fp+-4)];
+ f11 = heapFloat[(r6+1)];
+ f12 = heapFloat[(r7+1)];
+ f13 = heapFloat[(fp+-8)];
+ f14 = heapFloat[(r6+2)];
+ f15 = heapFloat[(r7+2)];
+ f16 = f8*f9;
+ f17 = f10*f13;
+ f18 = f0*f3;
+ f19 = f2*f1;
+ f20 = f0*f1;
+ f21 = f2*f3;
+ f22 = f8*f13;
+ f23 = f10*f9;
+ f24 = f8*f11;
+ f25 = f12*f9;
+ f26 = f0*f5;
+ f27 = f4*f1;
+ f16 = f16-f17;
+ f17 = f12*f11;
+ f18 = f18+f19;
+ f19 = f4*f7;
+ f20 = f20-f21;
+ f21 = f4*f5;
+ f22 = f22+f23;
+ f23 = f12*f14;
+ f0 = f0*f7;
+ f1 = f6*f1;
+ f24 = f24+f25;
+ f25 = f15*f13;
+ f26 = f26+f27;
+ f27 = f6*f3;
+ f8 = f8*f14;
+ f9 = f15*f9;
+ f16 = f16-f17;
+ f17 = f15*f14;
+ f18 = f18+f19;
+ f19 = f6*f5;
+ f20 = f20-f21;
+ f6 = f6*f7;
+ f21 = f22+f23;
+ f15 = f15*f11;
+ f0 = f0+f1;
+ f1 = f2*f5;
+ f5 = f24+f25;
+ f14 = f10*f14;
+ f22 = f26+f27;
+ f2 = f2*f7;
+ f7 = f8+f9;
+ f8 = f10*f11;
+ f9 = f21-f15;
+ heapFloat[(fp+-46)] = f9;
+ f10 = f18-f19;
+ heapFloat[(fp+-49)] = f10;
+ f5 = f5-f14;
+ heapFloat[(fp+-45)] = f5;
+ f6 = f20-f6;
+ heapFloat[(fp+-52)] = f6;
+ f11 = f16-f17;
+ heapFloat[(fp+-48)] = f11;
+ f2 = f22-f2;
+ heapFloat[(fp+-50)] = f2;
+ f0 = f0+f1;
+ f1 = f4*f3;
+ f3 = f7+f8;
+ f4 = f12*f13;
+ f3 = f3-f4;
+ heapFloat[(fp+-47)] = f3;
+ f0 = f0-f1;
+ heapFloat[(fp+-51)] = f0;
+ f1 = f11*f2;
+ f4 = f6*f5;
+ f7 = f11*f6;
+ f8 = f10*f9;
+ f12 = f11*f10;
+ f13 = f6*f9;
+ f1 = f1-f4;
+ f4 = f10*f3;
+ f7 = f7+f8;
+ f8 = f2*f5;
+ f11 = f11*f0;
+ f6 = f6*f3;
+ f12 = f12-f13;
+ f13 = f0*f5;
+ f1 = f1-f4;
+ f4 = f0*f9;
+ f7 = f7+f8;
+ f0 = f0*f3;
+ f6 = f11-f6;
+ f8 = f2*f9;
+ f11 = f12-f13;
+ f2 = f2*f3;
+ f2 = f11+f2;
+ f1 = f1+f4;
+ f4 = 0;
+ f0 = f7+f0;
+ f6 = f6-f8;
+ f7 = f10*f5;
+ f6 = f6+f7;
+ f7 = f1*f4;
+ f8 = -f2;
+ f10 = f0*f4;
+ f11 = f2*f4;
+ f12 = f10+f6;
+ f8 = f8-f7;
+ f13 = f6*f4;
+ f7 = f0+f7;
+ f8 = f8-f13;
+ f7 = f7-f13;
+ f12 = f12-f11;
+ f10 = f10+f11;
+ f10 = f10-f1;
+ f11 = f7*f0;
+ f13 = f8*f2;
+ f14 = f12*f0;
+ f15 = f8*f1;
+ f11 = f11-f13;
+ f13 = f12*f6;
+ f14 = f14-f15;
+ f15 = f10*f2;
+ f16 = f10*f0;
+ f8 = f8*f6;
+ f11 = f11-f13;
+ f10 = f10*f1;
+ f13 = f14-f15;
+ f14 = f7*f6;
+ f8 = f16-f8;
+ f7 = f7*f1;
+ f10 = f11+f10;
+ f11 = f13+f14;
+ f7 = f8-f7;
+ f8 = f12*f2;
+ f7 = f7+f8;
+ f8 = f10*f10;
+ f12 = f11*f11;
+ f8 = f8+f12;
+ f12 = f7*f7;
+ f8 = f8+f12;
+ heapFloat[(g0)] = f8;
+ f8 = 1;
+ sqrtf(i7);
+ f12 = f8/f_g0;
+ f11 = f11*f12;
+ f7 = f7*f12;
+ f10 = f10*f12;
+ f12 = f11*f4;
+ f13 = f7*f4;
+ f14 = f10+f12;
+ f14 = f14+f13;
+ f3 = -f3;
+ heapFloat[(fp+-43)] = f3;
+ f3 = -f5;
+ heapFloat[(fp+-44)] = f3;
+ f3 = -f9;
+ heapFloat[(fp+-42)] = f3;
+ f3 = -0.99999988079071045;
+ if(f14 >=f3) //_LBB587_9
+{
+ f3 = f14+f8;
+ f3 = f3+f3;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f10 = f10*f4;
+ f5 = 0.5;
+ f11 = f11-f10;
+ f9 = f8/f_g0;
+ f7 = f10-f7;
+ f13 = f13-f12;
+ f12 = f_g0*f5;
+ f11 = f11*f9;
+ f10 = f7*f9;
+ f7 = f13*f9;
+}
+else{
+ f7 = -0;
+ f10 = 1;
+ f11 = 0;
+ f12 = f11;
+}
+ f3 = f7*f7;
+ f5 = f10*f10;
+ f3 = f3+f5;
+ f5 = f11*f11;
+ f3 = f3+f5;
+ f5 = f12*f12;
+ f3 = f3+f5;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f3 = f_g0;
+ if(f3 !=f4) //_LBB587_12
+{
+ f3 = f8/f3;
+ f5 = f12*f3;
+ f7 = f7*f3;
+ f9 = f10*f3;
+ f3 = f11*f3;
+ f10 = f5*f1;
+ f11 = f0*f9;
+ f12 = f5*f2;
+ f13 = f0*f7;
+ f14 = f5*f6;
+ f15 = f0*f3;
+ f10 = f10-f11;
+ f11 = f2*f3;
+ f12 = f12-f13;
+ f13 = f6*f9;
+ f0 = f5*f0;
+ f16 = f2*f7;
+ f14 = f14-f15;
+ f15 = f1*f7;
+ f10 = f10-f11;
+ f11 = f6*f7;
+ f12 = f12-f13;
+ f13 = f1*f3;
+ f10 = f10+f11;
+ f11 = f12+f13;
+ f0 = f0+f16;
+ f1 = f1*f9;
+ f12 = f14-f15;
+ f2 = f2*f9;
+ f2 = f12+f2;
+ f12 = f11*f11;
+ f13 = f10*f10;
+ f0 = f0+f1;
+ f1 = f6*f3;
+ f0 = f0+f1;
+ f1 = f12+f13;
+ f6 = f2*f2;
+ f1 = f1+f6;
+ f6 = f0*f0;
+ f1 = f1+f6;
+ heapFloat[(g0)] = f1;
+ sqrtf(i7);
+ f1 = f_g0;
+ if(f1 !=f4) //_LBB587_14
+{
+ f1 = f8/f1;
+ f6 = heapFloat[(r1+108)];
+ heapFloat[(fp+-40)] = f6;
+ f12 = heapFloat[(r1+111)];
+ f11 = f11*f1;
+ heapFloat[(fp+-37)] = f11;
+ f10 = f10*f1;
+ heapFloat[(fp+-38)] = f10;
+ f2 = f2*f1;
+ heapFloat[(fp+-39)] = f2;
+ f0 = f0*f1;
+ heapFloat[(fp+-41)] = f0;
+ if(f6 <f12) //_LBB587_33
+{
+__label__ = 27;
+}
+else{
+ f0 = heapFloat[(r1+109)];
+ if(f0 <f12) //_LBB587_33
+{
+__label__ = 27;
+}
+else{
+ f12 = -1;
+ f12 = f5 < f12 ? f12 : f5;
+ f12 = f12 > f8 ? f8 : f12;
+ heapFloat[(g0)] = f12;
+ acosf(i7);
+ f12 = f_g0+f_g0;
+ f0 = 1.1920928955078125e-007;
+ if(f12 >f0) //_LBB587_18
+{
+ f4 = f7*f7;
+ f0 = f9*f9;
+ f4 = f4+f0;
+ f0 = f3*f3;
+ f4 = f4+f0;
+ heapFloat[(g0)] = f4;
+ f4 = 1;
+ sqrtf(i7);
+ f0 = f4/f_g0;
+ f1 = f9*f0;
+ f2 = f7*f0;
+ f0 = f3*f0;
+ f3 = f1; //fstod f1, f3
+ f3 = Math.abs(f3);
+ f5 = 1.1920928955078125e-007;
+ if(f3 >f5) //_LBB587_20
+{
+ f3 = heapFloat[(r1+109)];
+ f5 = heapFloat[(r1+108)];
+ f6 = f0*f0;
+ f7 = f1*f1;
+ f6 = f6/f7;
+ f5 = f5*f5;
+ f3 = f3*f3;
+ f5 = f6/f5;
+ f3 = f4/f3;
+ f4 = f6+f4;
+ f3 = f5+f3;
+ f4 = f4/f3;
+ heapFloat[(g0)] = f4;
+ sqrtf(i7);
+ f4 = f_g0;
+}
+else{
+ f4 = heapFloat[(r1+108)];
+}
+}
+ f3 = heapFloat[(r1+104)];
+ f5 = f3*f4;
+ if(f5 >=f12) //_LBB587_67
+{
+__label__ = 58;
+}
+else{
+ r3 = 1;
+ heap8[r0+514] = r3;
+if(!(f12 >=f4)) //_LBB587_24
+{
+ f6 = 0.99999988079071045;
+ if(f3 <f6) //_LBB587_25
+{
+ f8 = f12-f5;
+ f3 = f4-f5;
+ f8 = f8/f3;
+}
+}
+ f12 = f12-f5;
+ heapFloat[(r1+129)] = f8;
+ f3 = f1; //fstod f1, f3
+ heapFloat[(r1+123)] = f12;
+ f12 = Math.abs(f3);
+ f3 = 1.1920928955078125e-007;
+ if(f12 >f3) //_LBB587_28
+{
+ f0 = -f0;
+ f12 = heapFloat[(r1+109)];
+ f3 = heapFloat[(r1+108)];
+ f12 = f12/f3;
+ f3 = f0/f1;
+ f12 = f12*f3;
+ f12 = f12*f1;
+ f12 = f12; //fstod f12, f12
+ f12 = Math.abs(f12);
+ f12 = f12; //fdtos f12, f12
+ f3 = 0;
+ if(f0 <=f3) //_LBB587_30
+{
+ f12 = -f12;
+}
+ f0 = f2*f2;
+ f3 = f1*f1;
+ f0 = f0+f3;
+ f3 = f12*f12;
+ f0 = f0+f3;
+ heapFloat[(g0)] = f0;
+ f0 = 1;
+ sqrtf(i7);
+ f0 = f0/f_g0;
+ f12 = -f12;
+ f2 = f2*f0;
+ f1 = f1*f0;
+ f0 = f0*f12;
+}
+ f12 = -f2;
+ f3 = -f1;
+ f4 = heapFloat[(fp+-46)];
+ f5 = f2*f4;
+ f6 = heapFloat[(fp+-45)];
+ f7 = f6*f1;
+ f8 = heapFloat[(fp+-48)];
+ f12 = f8*f12;
+ f9 = f6*f0;
+ f10 = -f0;
+ f5 = f5+f7;
+ f7 = heapFloat[(fp+-47)];
+ f11 = f7*f0;
+ f12 = f12-f9;
+ f9 = f7*f1;
+ f3 = f8*f3;
+ f7 = f7*f2;
+ f12 = f12+f9;
+ f5 = f5+f11;
+ f3 = f3-f7;
+ f0 = f4*f0;
+ f7 = f8*f10;
+ f1 = f4*f1;
+ f0 = f3+f0;
+ f3 = heapFloat[(fp+-42)];
+ f4 = f5*f3;
+ f9 = f12*f8;
+ f1 = f7-f1;
+ f2 = f6*f2;
+ f1 = f1+f2;
+ f2 = heapFloat[(fp+-44)];
+ f6 = f5*f2;
+ f7 = f0*f8;
+ f4 = f4+f9;
+ f9 = heapFloat[(fp+-43)];
+ f10 = f0*f9;
+ f5 = f5*f9;
+ f8 = f1*f8;
+ f6 = f6+f7;
+ f7 = f1*f3;
+ f4 = f4+f10;
+ f1 = f1*f2;
+ f1 = f4-f1;
+ f4 = f5+f8;
+ f2 = f12*f2;
+ f5 = f6+f7;
+ f12 = f12*f9;
+ f2 = f4+f2;
+ f0 = f0*f3;
+ f12 = f5-f12;
+ heapFloat[(r1+112)] = f1;
+ f0 = f2-f0;
+ heapFloat[(r1+113)] = f12;
+ heapFloat[(r1+114)] = f0;
+ heap32[(r1+115)] = 0;
+ heap32[(r1+131)] = 0;
+ heap32[(r1+132)] = 0;
+ heap32[(r1+133)] = 0;
+ r3 = r2 >> 2;
+ heap32[(r1+134)] = 0;
+ r4 = r5 >> 2;
+ f2 = heapFloat[(r3+1)];
+ f3 = heapFloat[(r3+5)];
+ f4 = heapFloat[(r3)];
+ f5 = heapFloat[(r3+4)];
+ f6 = heapFloat[(r4+1)];
+ f7 = heapFloat[(r4+5)];
+ f8 = heapFloat[(r4)];
+ f9 = heapFloat[(r4+4)];
+ f10 = heapFloat[(r3+2)];
+ f11 = heapFloat[(r3+6)];
+ f13 = heapFloat[(r3+9)];
+ f14 = heapFloat[(r3+8)];
+ f15 = heapFloat[(r4+2)];
+ f16 = heapFloat[(r4+6)];
+ f17 = heapFloat[(r4+9)];
+ f18 = heapFloat[(r4+8)];
+ f4 = f4*f1;
+ f5 = f5*f12;
+ f2 = f2*f1;
+ f3 = f3*f12;
+ f8 = f8*f1;
+ f9 = f9*f12;
+ f6 = f6*f1;
+ f7 = f7*f12;
+ f19 = heapFloat[(r3+10)];
+ f20 = heapFloat[(r4+10)];
+ f4 = f4+f5;
+ f5 = f14*f0;
+ f2 = f2+f3;
+ f3 = f13*f0;
+ f10 = f10*f1;
+ f11 = f11*f12;
+ f8 = f8+f9;
+ f9 = f18*f0;
+ f6 = f6+f7;
+ f7 = f17*f0;
+ f13 = f15*f1;
+ f14 = f16*f12;
+ f4 = f4+f5;
+ f2 = f2+f3;
+ f3 = f8+f9;
+ f5 = f6+f7;
+ f6 = f10+f11;
+ f7 = f19*f0;
+ f8 = f13+f14;
+ f9 = f20*f0;
+ f6 = f6+f7;
+ f7 = f8+f9;
+ f4 = f1*f4;
+ f2 = f12*f2;
+ f1 = f1*f3;
+ f12 = f12*f5;
+ f2 = f4+f2;
+ f3 = f0*f6;
+ f12 = f1+f12;
+ f0 = f0*f7;
+ f1 = f2+f3;
+ f12 = f12+f0;
+ f0 = 1;
+ f12 = f1+f12;
+ f12 = f0/f12;
+ heapFloat[(r1+120)] = f12;
+__label__ = 58;
+}
+}
+}
+_37: do {
+if (__label__ == 27){
+ r4 = r4 >> 2;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r1+72)];
+ f1 = heapFloat[(r3)];
+ f2 = heapFloat[(r1+73)];
+ f3 = heapFloat[(r3+4)];
+ f4 = heapFloat[(r1+74)];
+ f5 = heapFloat[(r1+76)];
+ f6 = heapFloat[(r3+1)];
+ f7 = heapFloat[(r1+77)];
+ f8 = heapFloat[(r3+5)];
+ f9 = heapFloat[(r1+78)];
+ f10 = heapFloat[(r4)];
+ f11 = heapFloat[(r1+88)];
+ f13 = heapFloat[(r4+4)];
+ heapFloat[(fp+-55)] = f13;
+ f14 = heapFloat[(r4+1)];
+ f15 = heapFloat[(r1+92)];
+ f13 = heapFloat[(r4+5)];
+ heapFloat[(fp+-56)] = f13;
+ f16 = heapFloat[(r3+8)];
+ f17 = heapFloat[(r3+9)];
+ f18 = heapFloat[(r4+8)];
+ heapFloat[(fp+-53)] = f18;
+ f19 = heapFloat[(r4+9)];
+ heapFloat[(fp+-54)] = f19;
+ f13 = f1*f0;
+ heapFloat[(fp+-57)] = f13;
+ f13 = f6*f5;
+ heapFloat[(fp+-61)] = f13;
+ f18 = f3*f0;
+ heapFloat[(fp+-59)] = f18;
+ f13 = f8*f5;
+ heapFloat[(fp+-62)] = f13;
+ f18 = heapFloat[(r1+80)];
+ f19 = heapFloat[(r3+2)];
+ f20 = heapFloat[(r1+81)];
+ f21 = heapFloat[(r3+6)];
+ f22 = heapFloat[(r1+82)];
+ f23 = f1*f2;
+ f24 = f6*f7;
+ f25 = f3*f2;
+ f26 = f8*f7;
+ f10 = f10*f11;
+ heapFloat[(fp+-60)] = f10;
+ f10 = f14*f15;
+ heapFloat[(fp+-63)] = f10;
+ f10 = heapFloat[(r4+2)];
+ heapFloat[(fp+-64)] = f10;
+ f13 = heapFloat[(r1+96)];
+ f14 = heapFloat[(r4+6)];
+ heapFloat[(fp+-58)] = f14;
+ f1 = f1*f4;
+ f6 = f6*f9;
+ f27 = heapFloat[(fp+-55)];
+ f27 = f27*f11;
+ f28 = heapFloat[(fp+-56)];
+ f28 = f28*f15;
+ f3 = f3*f4;
+ f8 = f8*f9;
+ f29 = heapFloat[(r3+10)];
+ f30 = heapFloat[(r4+10)];
+ heapFloat[(fp+-55)] = f30;
+ f10 = heapFloat[(fp+-57)];
+ f14 = heapFloat[(fp+-61)];
+ f10 = f10+f14;
+ heapFloat[(fp+-56)] = f10;
+ f14 = f19*f18;
+ f10 = heapFloat[(fp+-59)];
+ f30 = heapFloat[(fp+-62)];
+ f10 = f10+f30;
+ f30 = f21*f18;
+ f0 = f16*f0;
+ heapFloat[(fp+-57)] = f0;
+ f0 = f17*f5;
+ heapFloat[(fp+-59)] = f0;
+ f5 = f23+f24;
+ f23 = f19*f20;
+ f24 = f25+f26;
+ f25 = f21*f20;
+ f2 = f16*f2;
+ f7 = f17*f7;
+ f26 = heapFloat[(fp+-60)];
+ f0 = heapFloat[(fp+-63)];
+ f0 = f26+f0;
+ f26 = heapFloat[(fp+-64)];
+ f26 = f26*f13;
+ f1 = f1+f6;
+ f6 = f19*f22;
+ f19 = f27+f28;
+ f27 = heapFloat[(fp+-58)];
+ f27 = f27*f13;
+ f3 = f3+f8;
+ f8 = f21*f22;
+ f21 = heapFloat[(fp+-53)];
+ f11 = f21*f11;
+ f21 = heapFloat[(fp+-54)];
+ f15 = f21*f15;
+ f4 = f16*f4;
+ f9 = f17*f9;
+ f16 = heapFloat[(fp+-56)];
+ f14 = f16+f14;
+ f0 = f0+f26;
+ f5 = f5+f23;
+ f1 = f1+f6;
+ f6 = f10+f30;
+ f10 = f19+f27;
+ f16 = f24+f25;
+ f3 = f3+f8;
+ f8 = heapFloat[(fp+-57)];
+ f17 = heapFloat[(fp+-59)];
+ f8 = f8+f17;
+ f17 = f29*f18;
+ f2 = f2+f7;
+ f7 = f29*f20;
+ f11 = f11+f15;
+ f30 = heapFloat[(fp+-55)];
+ f13 = f30*f13;
+ f4 = f4+f9;
+ f9 = f29*f22;
+ f8 = f8+f17;
+ f11 = f11+f13;
+ f2 = f2+f7;
+ f4 = f4+f9;
+ f7 = f0*f5;
+ f9 = f10*f16;
+ f13 = f0*f1;
+ f15 = f10*f3;
+ f7 = f7+f9;
+ f9 = f11*f2;
+ f13 = f13+f15;
+ f15 = f11*f4;
+ f7 = f7+f9;
+ f9 = f13+f15;
+ f13 = heapFloat[(fp+-40)];
+if(!(f13 >=f12)) //_LBB587_44
+{
+ f13 = heapFloat[(r1+109)];
+if(!(f13 >=f12)) //_LBB587_44
+{
+ f1 = 0;
+ if(f7 <f1) //_LBB587_37
+{
+ f7 = -f7;
+}
+ f2 = 1.1920928955078125e-007;
+if(!(f7 >=f2)) //_LBB587_43
+{
+ if(f9 <f1) //_LBB587_41
+{
+ f9 = -f9;
+}
+ if(f9 <f2) //_LBB587_67
+{
+break _37;
+}
+}
+ f1 = f10*f8;
+ f2 = f11*f6;
+ f1 = f1-f2;
+ r3 = 1;
+ f2 = f11*f14;
+ f3 = f0*f8;
+ f2 = f2-f3;
+ f0 = f0*f6;
+ f3 = f10*f14;
+ f1 = -f1;
+ heap8[r0+514] = r3;
+ f0 = f0-f3;
+ f2 = -f2;
+ heapFloat[(r1+112)] = f1;
+ f0 = -f0;
+ heapFloat[(r1+113)] = f2;
+ heapFloat[(r1+114)] = f0;
+ heap32[(r1+115)] = 0;
+break _37;
+}
+}
+ f13 = f0*f14;
+ f15 = f10*f6;
+ f13 = f13+f15;
+ f15 = f11*f8;
+ f13 = f13+f15;
+ f15 = heapFloat[(fp+-40)];
+_52: do {
+ if(f15 >=f12) //_LBB587_56
+{
+ f15 = 0;
+ if(f9 <f15) //_LBB587_58
+{
+ f17 = -f9;
+}
+else{
+ f17 = f9;
+}
+ f18 = 1.1920928955078125e-007;
+ if(f17 <f18) //_LBB587_49
+{
+break _52;
+}
+else{
+ r3 = 1;
+ heap8[r0+514] = r3;
+ f17 = heapFloat[(fp+-40)];
+ if(f17 <f12) //_LBB587_49
+{
+break _52;
+}
+else{
+ heapFloat[(g0)] = f7;
+ heapFloat[(g0+1)] = f13;
+ atan2f(i7);
+ f9 = f_g0;
+ f12 = heapFloat[(r1+108)];
+ if(f12 >=f9) //_LBB587_63
+{
+ f17 = -f12;
+ if(f9 <f17) //_LBB587_65
+{
+ heapFloat[(g0)] = f12;
+ cosf(i7);
+ f13 = f_g0;
+ f7 = heapFloat[(r1+108)];
+ heapFloat[(g0)] = f7;
+ sinf(i7);
+ f7 = -f_g0;
+ f9 = 0;
+}
+else{
+ f9 = f15;
+}
+}
+else{
+ heapFloat[(g0)] = f12;
+ cosf(i7);
+ f13 = f_g0;
+ f9 = heapFloat[(r1+108)];
+ heapFloat[(g0)] = f9;
+ f9 = 0;
+ sinf(i7);
+ f7 = f_g0;
+}
+}
+}
+}
+else{
+ f15 = 0;
+ if(f7 <f15) //_LBB587_47
+{
+ f17 = -f7;
+}
+else{
+ f17 = f7;
+}
+ f18 = 1.1920928955078125e-007;
+ if(f17 >=f18) //_LBB587_50
+{
+ r3 = 1;
+ heap8[r0+514] = r3;
+ f17 = heapFloat[(r1+109)];
+if(!(f17 <f12)) //_LBB587_49
+{
+ heapFloat[(g0)] = f9;
+ heapFloat[(g0+1)] = f13;
+ atan2f(i7);
+ f7 = f_g0;
+ f12 = heapFloat[(r1+109)];
+ if(f12 >=f7) //_LBB587_53
+{
+ f17 = -f12;
+ if(f7 <f17) //_LBB587_55
+{
+ heapFloat[(g0)] = f12;
+ cosf(i7);
+ f13 = f_g0;
+ f7 = heapFloat[(r1+109)];
+ heapFloat[(g0)] = f7;
+ sinf(i7);
+ f9 = -f_g0;
+ f7 = 0;
+}
+else{
+ f7 = f15;
+}
+}
+else{
+ heapFloat[(g0)] = f12;
+ cosf(i7);
+ f13 = f_g0;
+ f7 = heapFloat[(r1+109)];
+ heapFloat[(g0)] = f7;
+ f7 = 0;
+ sinf(i7);
+ f9 = f_g0;
+}
+}
+}
+}
+} while(0);
+ f12 = f14*f13;
+ f5 = f5*f7;
+ f6 = f6*f13;
+ f14 = f16*f7;
+ f5 = f12+f5;
+ f1 = f1*f9;
+ f6 = f6+f14;
+ f3 = f3*f9;
+ f8 = f8*f13;
+ f2 = f2*f7;
+ f1 = f5+f1;
+ f3 = f6+f3;
+ f2 = f8+f2;
+ f4 = f4*f9;
+ f2 = f2+f4;
+ f4 = f1*f1;
+ f5 = f3*f3;
+ f4 = f4+f5;
+ f5 = f2*f2;
+ f4 = f4+f5;
+ heapFloat[(g0)] = f4;
+ f4 = 1;
+ sqrtf(i7);
+ f5 = f4/f_g0;
+ f2 = f2*f5;
+ f3 = f3*f5;
+ f1 = f1*f5;
+ f5 = f10*f2;
+ f6 = f11*f3;
+ f5 = f5-f6;
+ f6 = f11*f1;
+ f2 = f0*f2;
+ f2 = f6-f2;
+ f6 = -f5;
+ f0 = f0*f3;
+ f1 = f10*f1;
+ f0 = f0-f1;
+ f1 = -f2;
+ heapFloat[(r1+112)] = f6;
+ f3 = -f0;
+ heapFloat[(r1+113)] = f1;
+ heapFloat[(r1+114)] = f3;
+ heap32[(r1+115)] = 0;
+ f1 = f5*f5;
+ f2 = f2*f2;
+ f1 = f1+f2;
+ f0 = f0*f0;
+ f0 = f1+f0;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ heapFloat[(r1+123)] = f_g0;
+ f0 = heapFloat[(r1+112)];
+ f1 = heapFloat[(r1+113)];
+ f2 = heapFloat[(r1+114)];
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f4/f_g0;
+ f1 = heapFloat[(r1+112)];
+ f1 = f1*f0;
+ heapFloat[(r1+112)] = f1;
+ f1 = heapFloat[(r1+113)];
+ f1 = f1*f0;
+ heapFloat[(r1+113)] = f1;
+ f1 = heapFloat[(r1+114)];
+ f0 = f1*f0;
+ heapFloat[(r1+114)] = f0;
+}
+} while(0);
+ f0 = heapFloat[(r1+110)];
+ f1 = 0;
+ if(f0 <f1) //_LBB587_82
+{
+ heap32[(r1+125)] = 0;
+break _8;
+}
+else{
+ f0 = -1;
+ f1 = heapFloat[(fp+-41)];
+ f1 = f1 < f0 ? f0 : f1;
+ f2 = 1;
+ f1 = f1 > f2 ? f2 : f1;
+ heapFloat[(g0)] = f1;
+ acosf(i7);
+ f1 = f_g0+f_g0;
+ heapFloat[(r1+125)] = f1;
+ f3 = 3.1415927410125732;
+ if(f1 >f3) //_LBB587_70
+{
+ f1 = heapFloat[(fp+-41)];
+ f1 = -f1;
+ f1 = f1 < f0 ? f0 : f1;
+ f0 = 1;
+ f1 = f1 > f0 ? f0 : f1;
+ heapFloat[(g0)] = f1;
+ acosf(i7);
+ f0 = heapFloat[(fp+-39)];
+ f0 = -f0;
+ heapFloat[(fp+-39)] = f0;
+ f0 = heapFloat[(fp+-38)];
+ f0 = -f0;
+ heapFloat[(fp+-38)] = f0;
+ f0 = heapFloat[(fp+-37)];
+ f0 = -f0;
+ heapFloat[(fp+-37)] = f0;
+ f1 = f_g0+f_g0;
+ heapFloat[(r1+125)] = f1;
+}
+ f0 = 1.1920928955078125e-007;
+ if(f1 >f0) //_LBB587_73
+{
+ f1 = heapFloat[(fp+-37)];
+ f0 = f1*f1;
+ f3 = heapFloat[(fp+-38)];
+ f4 = f3*f3;
+ f0 = f0+f4;
+ f4 = heapFloat[(fp+-39)];
+ f5 = f4*f4;
+ f0 = f0+f5;
+ heapFloat[(g0)] = f0;
+ f0 = 1;
+ sqrtf(i7);
+ f0 = f0/f_g0;
+ f1 = f1*f0;
+ heapFloat[(fp+-37)] = f1;
+ f3 = f3*f0;
+ heapFloat[(fp+-38)] = f3;
+ f4 = f4*f0;
+ heapFloat[(fp+-39)] = f4;
+ f1 = heapFloat[(r1+125)];
+}
+ f0 = heapFloat[(r1+110)];
+ f3 = heapFloat[(r1+104)];
+ f4 = f0*f3;
+if(!(f1 <=f4)) //_LBB587_80
+{
+ r3 = 1;
+ heap8[r0+513] = r3;
+ if(f1 >=f0) //_LBB587_77
+{
+__label__ = 66;
+}
+else{
+ f5 = 0.99999988079071045;
+ if(f3 <f5) //_LBB587_78
+{
+ f3 = f1-f4;
+ f0 = f0-f4;
+ f0 = f3/f0;
+__label__ = 68;
+}
+else{
+__label__ = 66;
+}
+}
+if (__label__ == 66){
+ f0 = f2;
+}
+ f3 = heapFloat[(fp+-37)];
+ f5 = -f3;
+ f6 = heapFloat[(fp+-38)];
+ f7 = -f6;
+ f8 = heapFloat[(fp+-46)];
+ f9 = f3*f8;
+ f10 = heapFloat[(fp+-45)];
+ f11 = f10*f6;
+ f12 = heapFloat[(fp+-48)];
+ f5 = f12*f5;
+ f13 = heapFloat[(fp+-39)];
+ f14 = f10*f13;
+ f15 = -f13;
+ f9 = f9+f11;
+ f11 = heapFloat[(fp+-47)];
+ f16 = f11*f13;
+ f5 = f5-f14;
+ f14 = f11*f6;
+ f7 = f12*f7;
+ f11 = f11*f3;
+ f5 = f5+f14;
+ f9 = f9+f16;
+ f7 = f7-f11;
+ f11 = f8*f13;
+ f13 = f12*f15;
+ f6 = f8*f6;
+ f7 = f7+f11;
+ f8 = heapFloat[(fp+-42)];
+ f11 = f9*f8;
+ f14 = f5*f12;
+ f6 = f13-f6;
+ f3 = f10*f3;
+ f3 = f6+f3;
+ f6 = heapFloat[(fp+-44)];
+ f10 = f9*f6;
+ f13 = f7*f12;
+ f11 = f11+f14;
+ f14 = heapFloat[(fp+-43)];
+ f15 = f7*f14;
+ f9 = f9*f14;
+ f12 = f3*f12;
+ f10 = f10+f13;
+ f13 = f3*f8;
+ f11 = f11+f15;
+ f3 = f3*f6;
+ f1 = f1-f4;
+ heapFloat[(r1+130)] = f0;
+ f0 = f9+f12;
+ f4 = f5*f6;
+ f6 = f10+f13;
+ f5 = f5*f14;
+ f3 = f11-f3;
+ heapFloat[(r1+124)] = f1;
+ f0 = f0+f4;
+ f1 = f7*f8;
+ f4 = f6-f5;
+ heapFloat[(r1+116)] = f3;
+ f0 = f0-f1;
+ heapFloat[(r1+117)] = f4;
+ heapFloat[(r1+118)] = f0;
+ r2 = r2 >> 2;
+ heap32[(r1+119)] = 0;
+ r3 = r5 >> 2;
+ f1 = heapFloat[(r2+1)];
+ f5 = heapFloat[(r2+5)];
+ f6 = heapFloat[(r2)];
+ f7 = heapFloat[(r2+4)];
+ f8 = heapFloat[(r3+1)];
+ f9 = heapFloat[(r3+5)];
+ f10 = heapFloat[(r3)];
+ f11 = heapFloat[(r3+4)];
+ f12 = heapFloat[(r2+2)];
+ f13 = heapFloat[(r2+6)];
+ f14 = heapFloat[(r2+9)];
+ f15 = heapFloat[(r2+8)];
+ f16 = heapFloat[(r3+2)];
+ f17 = heapFloat[(r3+6)];
+ f18 = heapFloat[(r3+9)];
+ f19 = heapFloat[(r3+8)];
+ f6 = f6*f3;
+ f7 = f7*f4;
+ f1 = f1*f3;
+ f5 = f5*f4;
+ f10 = f10*f3;
+ f11 = f11*f4;
+ f8 = f8*f3;
+ f9 = f9*f4;
+ f20 = heapFloat[(r2+10)];
+ f21 = heapFloat[(r3+10)];
+ f6 = f6+f7;
+ f7 = f15*f0;
+ f1 = f1+f5;
+ f5 = f14*f0;
+ f12 = f12*f3;
+ f13 = f13*f4;
+ f10 = f10+f11;
+ f11 = f19*f0;
+ f8 = f8+f9;
+ f9 = f18*f0;
+ f14 = f16*f3;
+ f15 = f17*f4;
+ f6 = f6+f7;
+ f1 = f1+f5;
+ f5 = f10+f11;
+ f7 = f8+f9;
+ f8 = f12+f13;
+ f9 = f20*f0;
+ f10 = f14+f15;
+ f11 = f21*f0;
+ f8 = f8+f9;
+ f9 = f10+f11;
+ f6 = f3*f6;
+ f1 = f4*f1;
+ f3 = f3*f5;
+ f4 = f4*f7;
+ f1 = f6+f1;
+ f5 = f0*f8;
+ f3 = f3+f4;
+ f0 = f0*f9;
+ f1 = f1+f5;
+ f0 = f3+f0;
+ f0 = f1+f0;
+ f0 = f2/f0;
+ heapFloat[(r1+121)] = f0;
+}
+ r0 = heapU8[r0+514];
+ if(r0 ==0) //_LBB587_83
+{
+break _8;
+}
+else{
+ f0 = heapFloat[(fp+-37)];
+ f1 = -f0;
+ f2 = heapFloat[(fp+-38)];
+ f3 = -f2;
+ f4 = heapFloat[(fp+-52)];
+ f1 = f4*f1;
+ f6 = heapFloat[(fp+-39)];
+ f5 = heapFloat[(fp+-50)];
+ f7 = f5*f6;
+ f8 = heapFloat[(fp+-49)];
+ f9 = f0*f8;
+ f10 = f5*f2;
+ f11 = -f6;
+ f1 = f1-f7;
+ f7 = heapFloat[(fp+-51)];
+ f12 = f7*f2;
+ f9 = f9+f10;
+ f10 = f7*f6;
+ f3 = f4*f3;
+ f13 = f7*f0;
+ f1 = f1+f12;
+ f9 = f9+f10;
+ f3 = f3-f13;
+ f6 = f8*f6;
+ f10 = f4*f11;
+ f2 = f8*f2;
+ f3 = f3+f6;
+ f6 = f1*f4;
+ f11 = f9*f8;
+ f2 = f10-f2;
+ f0 = f5*f0;
+ f0 = f2+f0;
+ f2 = f3*f4;
+ f10 = f9*f5;
+ f6 = f6-f11;
+ f11 = f3*f7;
+ f4 = f0*f4;
+ f9 = f9*f7;
+ f2 = f2-f10;
+ f10 = f0*f8;
+ f6 = f6-f11;
+ f0 = f0*f5;
+ f0 = f6+f0;
+ f4 = f4-f9;
+ f5 = f1*f5;
+ f2 = f2-f10;
+ f1 = f1*f7;
+ f4 = f4-f5;
+ f3 = f3*f8;
+ f1 = f2+f1;
+ heapFloat[(r1+131)] = f0;
+ f0 = f4+f3;
+ heapFloat[(r1+132)] = f1;
+ heapFloat[(r1+133)] = f0;
+ heap32[(r1+134)] = 0;
+ return;
+}
+}
+}
+}
+ r0 = _2E_str584;
+ r1 = _2E_str685;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 188;
+ _assert(i7);
+}
+} while(0);
+ return;
+}
+
+function _ZN15btJacobianEntryC2ERK9btVector3RK11btMatrix3x3S5_S2_S2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+ heap32[(r0+1)] = 0;
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ heap32[(r0+2)] = 0;
+ r1 = r1 >> 2;
+ heap32[(r0+3)] = 0;
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r2)];
+ f2 = heapFloat[(r1+1)];
+ f3 = heapFloat[(r2+1)];
+ f4 = heapFloat[(r2+4)];
+ f5 = heapFloat[(r2+5)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r1+2)];
+ f7 = heapFloat[(r2+2)];
+ f8 = heapFloat[(r2+8)];
+ f9 = heapFloat[(r2+9)];
+ f10 = heapFloat[(r2+10)];
+ f11 = heapFloat[(r2+6)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f11*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ f2 = f10*f6;
+ f3 = f4+f5;
+ heapFloat[(r0+4)] = f1;
+ f0 = f0+f2;
+ heapFloat[(r0+5)] = f3;
+ heapFloat[(r0+6)] = f0;
+ heap32[(r0+7)] = 0;
+ r2 = heap32[(fp+3)];
+ r2 = r2 >> 2;
+ f2 = heapFloat[(r1)];
+ f2 = -f2;
+ f4 = heapFloat[(r2)];
+ f5 = heapFloat[(r1+1)];
+ f6 = heapFloat[(r2+1)];
+ f7 = heapFloat[(r2+4)];
+ f8 = heapFloat[(r2+5)];
+ f4 = f4*f2;
+ f6 = f6*f5;
+ f9 = heapFloat[(r1+2)];
+ f10 = heapFloat[(r2+2)];
+ f11 = heapFloat[(r2+8)];
+ f12 = heapFloat[(r2+9)];
+ f13 = heapFloat[(r2+10)];
+ f14 = heapFloat[(r2+6)];
+ f7 = f7*f2;
+ f8 = f8*f5;
+ f4 = f4-f6;
+ f6 = f10*f9;
+ f2 = f11*f2;
+ f5 = f12*f5;
+ f7 = f7-f8;
+ f8 = f14*f9;
+ f4 = f4-f6;
+ f2 = f2-f5;
+ f5 = f13*f9;
+ f6 = f7-f8;
+ heapFloat[(r0+8)] = f4;
+ f2 = f2-f5;
+ heapFloat[(r0+9)] = f6;
+ r1 = heap32[(fp+4)];
+ heapFloat[(r0+10)] = f2;
+ r1 = r1 >> 2;
+ heap32[(r0+11)] = 0;
+ f5 = heapFloat[(r1+2)];
+ f7 = heapFloat[(r1+1)];
+ f8 = heapFloat[(r1)];
+ f8 = f8*f1;
+ f7 = f7*f3;
+ heapFloat[(r0+12)] = f8;
+ f5 = f5*f0;
+ heapFloat[(r0+13)] = f7;
+ r1 = heap32[(fp+5)];
+ heapFloat[(r0+14)] = f5;
+ r1 = r1 >> 2;
+ heap32[(r0+15)] = 0;
+ f9 = heapFloat[(r1+2)];
+ f10 = heapFloat[(r1+1)];
+ f11 = heapFloat[(r1)];
+ f10 = f10*f6;
+ f11 = f11*f4;
+ f9 = f9*f2;
+ heapFloat[(r0+16)] = f11;
+ f1 = f8*f1;
+ f3 = f7*f3;
+ f4 = f11*f4;
+ f6 = f10*f6;
+ heapFloat[(r0+17)] = f10;
+ f1 = f1+f3;
+ f0 = f5*f0;
+ f3 = f4+f6;
+ f2 = f9*f2;
+ heapFloat[(r0+18)] = f9;
+ f0 = f1+f0;
+ f1 = f3+f2;
+ f0 = f0+f1;
+ heap32[(r0+19)] = 0;
+ f1 = 0;
+ heapFloat[(r0+20)] = f0;
+ if(f0 >f1) //_LBB588_2
+{
+ return;
+}
+else{
+ r0 = _2E_str846;
+ r1 = _2E_str947;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 70;
+ _assert(i7);
+}
+}
+
+function _Z21btAdjustAngleToLimitsfff(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ f0 = heapFloat[(fp+1)];
+ f1 = heapFloat[(fp+2)];
+ f2 = heapFloat[(fp)];
+_1: do {
+if(!(f0 >=f1)) //_LBB589_39
+{
+ if(f2 >=f0) //_LBB589_20
+{
+ if(f2 <=f1) //_LBB589_39
+{
+break _1;
+}
+else{
+ f1 = f2-f1;
+ heapFloat[(g0)] = f1;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f1 = f_g0;
+ f3 = -3.1415927410125732;
+ if(f1 >=f3) //_LBB589_23
+{
+ f4 = 3.1415927410125732;
+ if(f1 >f4) //_LBB589_25
+{
+ f4 = -6.2831854820251465;
+ f1 = f1+f4;
+}
+}
+else{
+ f4 = 6.2831854820251465;
+ f1 = f1+f4;
+}
+ f4 = 0;
+ if(f1 <f4) //_LBB589_28
+{
+ f1 = -f1;
+}
+ f0 = f2-f0;
+ heapFloat[(g0)] = f0;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f0 = f_g0;
+ if(f0 >=f3) //_LBB589_31
+{
+ f3 = 3.1415927410125732;
+ if(f0 >f3) //_LBB589_33
+{
+ f3 = -6.2831854820251465;
+ f0 = f0+f3;
+}
+}
+else{
+ f3 = 6.2831854820251465;
+ f0 = f0+f3;
+}
+ if(f0 <f4) //_LBB589_36
+{
+ f0 = -f0;
+}
+ if(f0 >=f1) //_LBB589_39
+{
+break _1;
+}
+else{
+ f0 = -6.2831854820251465;
+ f2 = f2+f0;
+}
+}
+}
+else{
+ f0 = f0-f2;
+ heapFloat[(g0)] = f0;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f0 = f_g0;
+ f3 = -3.1415927410125732;
+ if(f0 >=f3) //_LBB589_4
+{
+ f4 = 3.1415927410125732;
+ if(f0 >f4) //_LBB589_6
+{
+ f4 = -6.2831854820251465;
+ f0 = f0+f4;
+}
+}
+else{
+ f4 = 6.2831854820251465;
+ f0 = f0+f4;
+}
+ f4 = 0;
+ if(f0 <f4) //_LBB589_9
+{
+ f0 = -f0;
+}
+ f1 = f1-f2;
+ heapFloat[(g0)] = f1;
+ heap32[(g0+1)] = 1086918619;
+ fmodf(i7);
+ f1 = f_g0;
+ if(f1 >=f3) //_LBB589_12
+{
+ f3 = 3.1415927410125732;
+ if(f1 >f3) //_LBB589_14
+{
+ f3 = -6.2831854820251465;
+ f1 = f1+f3;
+}
+}
+else{
+ f3 = 6.2831854820251465;
+ f1 = f1+f3;
+}
+ if(f1 <f4) //_LBB589_17
+{
+ f1 = -f1;
+}
+if(!(f0 <f1)) //_LBB589_39
+{
+ f0 = 6.2831854820251465;
+ f0 = f2+f0;
+ f_g0 = f0;
+ return;
+}
+}
+}
+} while(0);
+ f_g0 = f2;
+ return;
+}
+
+function _ZNK17btHingeConstraint28calculateSerializeBufferSizeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 212;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK17btHingeConstraint9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ r1 = r1 >> 2;
+ r2 = r0 >> 2;
+ _ZNK17btTypedConstraint9serializeEPvP12btSerializer(i7);
+ heap32[(r1+11)] = heap32[(r2+135)];
+ heap32[(r1+12)] = heap32[(r2+136)];
+ heap32[(r1+13)] = heap32[(r2+137)];
+ heap32[(r1+14)] = heap32[(r2+138)];
+ heap32[(r1+15)] = heap32[(r2+139)];
+ heap32[(r1+16)] = heap32[(r2+140)];
+ heap32[(r1+17)] = heap32[(r2+141)];
+ heap32[(r1+18)] = heap32[(r2+142)];
+ heap32[(r1+19)] = heap32[(r2+143)];
+ heap32[(r1+20)] = heap32[(r2+144)];
+ heap32[(r1+21)] = heap32[(r2+145)];
+ heap32[(r1+22)] = heap32[(r2+146)];
+ heap32[(r1+23)] = heap32[(r2+147)];
+ heap32[(r1+24)] = heap32[(r2+148)];
+ heap32[(r1+25)] = heap32[(r2+149)];
+ heap32[(r1+26)] = heap32[(r2+150)];
+ heap32[(r1+27)] = heap32[(r2+151)];
+ heap32[(r1+28)] = heap32[(r2+152)];
+ heap32[(r1+29)] = heap32[(r2+153)];
+ heap32[(r1+30)] = heap32[(r2+154)];
+ heap32[(r1+31)] = heap32[(r2+155)];
+ heap32[(r1+32)] = heap32[(r2+156)];
+ heap32[(r1+33)] = heap32[(r2+157)];
+ heap32[(r1+34)] = heap32[(r2+158)];
+ heap32[(r1+35)] = heap32[(r2+159)];
+ heap32[(r1+36)] = heap32[(r2+160)];
+ heap32[(r1+37)] = heap32[(r2+161)];
+ heap32[(r1+38)] = heap32[(r2+162)];
+ heap32[(r1+39)] = heap32[(r2+163)];
+ heap32[(r1+40)] = heap32[(r2+164)];
+ heap32[(r1+41)] = heap32[(r2+165)];
+ heap32[(r1+42)] = heap32[(r2+166)];
+ r3 = heapU8[r0+720];
+ heap32[(r1+44)] = r3;
+ r3 = heapU8[r0+721];
+ heap32[(r1+45)] = r3;
+ heap32[(r1+47)] = heap32[(r2+168)];
+ heap32[(r1+46)] = heap32[(r2+167)];
+ r0 = heapU8[r0+725];
+ heap32[(r1+43)] = r0;
+ heap32[(r1+48)] = heap32[(r2+172)];
+ heap32[(r1+49)] = heap32[(r2+173)];
+ heap32[(r1+50)] = heap32[(r2+169)];
+ heap32[(r1+51)] = heap32[(r2+170)];
+ heap32[(r1+52)] = heap32[(r2+171)];
+ r0 = _2E_str29;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN17btHingeConstraintD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV17btHingeConstraint;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN17btHingeConstraintD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV17btHingeConstraint;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN17btHingeConstraint13buildJacobianEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+var __label__ = 0;
+ i7 = sp + -552;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+723];
+if(!(r1 ==0)) //_LBB594_25
+{
+ r1 = r0 >> 2;
+ heap32[(r1+7)] = 0;
+ heap32[(r1+182)] = 0;
+ r2 = heapU8[r0+720];
+if(!(r2 !=0)) //_LBB594_13
+{
+ r2 = heap32[(r1+6)];
+ r3 = heap32[(r1+5)];
+ r2 = r2 >> 2;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r2+5)];
+ f1 = heapFloat[(r1+163)];
+ f2 = heapFloat[(r2+1)];
+ f3 = heapFloat[(r2+6)];
+ f4 = heapFloat[(r1+164)];
+ f5 = heapFloat[(r2+2)];
+ f6 = heapFloat[(r3+5)];
+ f7 = heapFloat[(r1+147)];
+ f8 = heapFloat[(r3+1)];
+ f9 = heapFloat[(r3+6)];
+ f10 = heapFloat[(r1+148)];
+ f11 = heapFloat[(r3+2)];
+ f12 = heapFloat[(r2+9)];
+ f13 = heapFloat[(r2+10)];
+ f14 = heapFloat[(r3+9)];
+ f15 = heapFloat[(r3+10)];
+ f0 = f0*f1;
+ f3 = f3*f4;
+ f16 = heapFloat[(r2+7)];
+ f17 = heapFloat[(r1+165)];
+ f18 = heapFloat[(r2+3)];
+ f6 = f6*f7;
+ f9 = f9*f10;
+ f19 = heapFloat[(r3+7)];
+ f20 = heapFloat[(r1+149)];
+ f21 = heapFloat[(r3+3)];
+ f2 = f2*f1;
+ f5 = f5*f4;
+ f8 = f8*f7;
+ f11 = f11*f10;
+ f22 = heapFloat[(r2+11)];
+ f23 = heapFloat[(r3+11)];
+ f1 = f12*f1;
+ f4 = f13*f4;
+ f7 = f14*f7;
+ f10 = f15*f10;
+ f0 = f0+f3;
+ f3 = f16*f17;
+ f6 = f6+f9;
+ f9 = f19*f20;
+ f2 = f2+f5;
+ f5 = f18*f17;
+ f8 = f8+f11;
+ f11 = f21*f20;
+ f1 = f1+f4;
+ f4 = f22*f17;
+ f7 = f7+f10;
+ f10 = f23*f20;
+ f0 = f0+f3;
+ f3 = heapFloat[(r2+14)];
+ f6 = f6+f9;
+ f9 = heapFloat[(r3+14)];
+ f2 = f2+f5;
+ f5 = heapFloat[(r2+13)];
+ f8 = f8+f11;
+ f11 = heapFloat[(r3+13)];
+ f0 = f0+f3;
+ f3 = f6+f9;
+ f2 = f2+f5;
+ f5 = f8+f11;
+ f1 = f1+f4;
+ f4 = heapFloat[(r2+15)];
+ f6 = f7+f10;
+ f7 = heapFloat[(r3+15)];
+ f8 = f0-f3;
+ f9 = f2-f5;
+ f1 = f1+f4;
+ f4 = f6+f7;
+ f6 = f1-f4;
+ f7 = f9*f9;
+ f10 = f8*f8;
+ f7 = f7+f10;
+ f10 = f6*f6;
+ f7 = f7+f10;
+ f10 = 1.1920928955078125e-007;
+ if(f7 >f10) //_LBB594_4
+{
+ heapFloat[(g0)] = f7;
+ f10 = 1;
+ sqrtf(i7);
+ f11 = f10/f_g0;
+ r2 = sp + -512;
+ f7 = f9*f11;
+ f8 = f8*f11;
+ r3 = r2 >> 2;
+ heapFloat[(fp+-128)] = f7;
+ f6 = f6*f11;
+ heapFloat[(r3+1)] = f8;
+ r2 = (r2 + 8)|0;
+ heapFloat[(r3+2)] = f6;
+ heap32[(r3+3)] = 0;
+ f9 = 0;
+ if(f6 <f9) //_LBB594_6
+{
+ f9 = -f6;
+}
+else{
+ f9 = f6;
+}
+ f11 = 0.70710676908493042;
+ if(f9 >f11) //_LBB594_9
+{
+ f7 = f8*f8;
+ f8 = f6*f6;
+ f7 = f7+f8;
+ heapFloat[(g0)] = f7;
+ sqrtf(i7);
+ heap32[(r3+4)] = 0;
+ f6 = heapFloat[(r3+2)];
+ f8 = f10/f_g0;
+ f6 = -f6;
+ f6 = f8*f6;
+ heapFloat[(r3+5)] = f6;
+ f9 = heapFloat[(r3+1)];
+ f9 = f9*f8;
+ f7 = f7*f8;
+ heapFloat[(r3+6)] = f9;
+ heapFloat[(r3+8)] = f7;
+ f7 = heapFloat[(fp+-128)];
+ f8 = -f7;
+ f8 = f9*f8;
+ f7 = f7*f6;
+ heapFloat[(r3+9)] = f8;
+ heapFloat[(r3+10)] = f7;
+__label__ = 10;
+}
+else{
+__label__ = 9;
+}
+}
+else{
+ r2 = sp + -512;
+ r3 = r2 >> 2;
+ heap32[(fp+-128)] = 1065353216;
+ heap32[(r3+1)] = 0;
+ r2 = (r2 + 8)|0;
+ f7 = 1;
+ f8 = 0;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = 0;
+__label__ = 9;
+}
+if (__label__ == 9){
+ f6 = f7*f7;
+ f7 = f8*f8;
+ f6 = f6+f7;
+ r3 = sp + -512;
+ heapFloat[(g0)] = f6;
+ r3 = r3 >> 2;
+ sqrtf(i7);
+ f8 = 1;
+ f9 = heapFloat[(r3+1)];
+ f7 = f8/f_g0;
+ f8 = -f9;
+ f8 = f7*f8;
+ heapFloat[(r3+4)] = f8;
+ f9 = heapFloat[(fp+-128)];
+ f9 = f9*f7;
+ heapFloat[(r3+5)] = f9;
+ r2 = r2 >> 2;
+ heap32[(r3+6)] = 0;
+ f10 = heapFloat[(r2)];
+ f11 = -f10;
+ f9 = f9*f11;
+ f8 = f10*f8;
+ heapFloat[(r3+8)] = f9;
+ f6 = f6*f7;
+ heapFloat[(r3+9)] = f8;
+ heapFloat[(r3+10)] = f6;
+}
+ r2 = (r0 + 36)|0;
+ r3 = 0;
+_16: while(true){
+ r4 = heap32[(r1+5)];
+ r5 = r4 >> 2;
+ r6 = sp + -416;
+ r7 = r6 >> 2;
+ heap32[(fp+-104)] = heap32[(r5+1)];
+ heap32[(r7+1)] = heap32[(r5+5)];
+ heap32[(r7+2)] = heap32[(r5+9)];
+ heap32[(r7+3)] = 0;
+ heap32[(r7+4)] = heap32[(r5+2)];
+ heap32[(r7+5)] = heap32[(r5+6)];
+ heap32[(r7+6)] = heap32[(r5+10)];
+ heap32[(r7+7)] = 0;
+ heap32[(r7+8)] = heap32[(r5+3)];
+ heap32[(r7+9)] = heap32[(r5+7)];
+ heap32[(r7+10)] = heap32[(r5+11)];
+ heap32[(r7+11)] = 0;
+ r7 = heap32[(r1+6)];
+ r8 = sp + -368;
+ r9 = r7 >> 2;
+ r10 = r8 >> 2;
+ heap32[(fp+-92)] = heap32[(r9+1)];
+ heap32[(r10+1)] = heap32[(r9+5)];
+ heap32[(r10+2)] = heap32[(r9+9)];
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = heap32[(r9+2)];
+ heap32[(r10+5)] = heap32[(r9+6)];
+ heap32[(r10+6)] = heap32[(r9+10)];
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = heap32[(r9+3)];
+ heap32[(r10+9)] = heap32[(r9+7)];
+ heap32[(r10+10)] = heap32[(r9+11)];
+ heap32[(r10+11)] = 0;
+ f6 = heapFloat[(r5+13)];
+ f7 = heapFloat[(r5+15)];
+ f8 = heapFloat[(r5+14)];
+ r10 = sp + -320;
+ f6 = f5-f6;
+ r11 = r10 >> 2;
+ f8 = f3-f8;
+ heapFloat[(fp+-80)] = f6;
+ f6 = f4-f7;
+ heapFloat[(r11+1)] = f8;
+ heapFloat[(r11+2)] = f6;
+ heap32[(r11+3)] = 0;
+ f6 = heapFloat[(r9+13)];
+ f7 = heapFloat[(r9+15)];
+ f8 = heapFloat[(r9+14)];
+ r11 = sp + -304;
+ f6 = f2-f6;
+ r12 = r11 >> 2;
+ f8 = f0-f8;
+ heapFloat[(fp+-76)] = f6;
+ f6 = f1-f7;
+ heapFloat[(r12+1)] = f8;
+ heapFloat[(r12+2)] = f6;
+ heap32[(r12+3)] = 0;
+ f6 = heapFloat[(r9+84)];
+ f7 = heapFloat[(r5+84)];
+ r5 = sp + -512;
+ r5 = (r5 + r3)|0;
+ r4 = (r4 + 388)|0;
+ r7 = (r7 + 388)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r10;
+ heap32[(g0+4)] = r11;
+ heap32[(g0+5)] = r5;
+ heap32[(g0+6)] = r4;
+ heapFloat[(g0+7)] = f7;
+ heap32[(g0+8)] = r7;
+ heapFloat[(g0+9)] = f6;
+ r3 = (r3 + 16)|0;
+ r2 = (r2 + 84)|0;
+ _ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(i7);
+if(!(r3 !=48)) //_LBB594_12
+{
+break _16;
+}
+}
+}
+ f0 = heapFloat[(r1+145)];
+ f1 = heapFloat[(r1+137)];
+ f2 = heapFloat[(r1+141)];
+ f3 = 0;
+ if(f0 <f3) //_LBB594_15
+{
+ f4 = -f0;
+}
+else{
+ f4 = f0;
+}
+ f5 = 0.70710676908493042;
+ if(f4 <=f5) //_LBB594_18
+{
+ f4 = f1*f1;
+ f6 = f2*f2;
+ f5 = f4+f6;
+ heapFloat[(g0)] = f5;
+ f4 = 1;
+ sqrtf(i7);
+ f7 = f4/f_g0;
+ f2 = -f2;
+ f4 = f7*f2;
+ f6 = f1*f7;
+ f1 = -f0;
+ f2 = f6*f1;
+ f0 = f0*f4;
+ f1 = f5*f7;
+}
+else{
+ f3 = f2*f2;
+ f4 = f0*f0;
+ f4 = f3+f4;
+ heapFloat[(g0)] = f4;
+ f3 = 1;
+ sqrtf(i7);
+ f5 = f3/f_g0;
+ f0 = -f0;
+ f6 = f5*f0;
+ f3 = f2*f5;
+ f0 = -f1;
+ f2 = f4*f5;
+ f0 = f3*f0;
+ f1 = f1*f6;
+ f4 = 0;
+}
+ r2 = heap32[(r1+5)];
+ r3 = r2 >> 2;
+ f5 = heapFloat[(r3+2)];
+ f7 = heapFloat[(r3+1)];
+ f8 = heapFloat[(r3+6)];
+ f9 = heapFloat[(r3+5)];
+ f10 = heapFloat[(r3+3)];
+ f11 = f7*f4;
+ f12 = f5*f6;
+ f13 = heapFloat[(r3+11)];
+ f14 = heapFloat[(r3+7)];
+ f15 = heapFloat[(r3+10)];
+ f16 = heapFloat[(r3+9)];
+ f17 = f9*f4;
+ f18 = f8*f6;
+ f11 = f11+f12;
+ f12 = f10*f3;
+ r3 = sp + -432;
+ f4 = f16*f4;
+ f6 = f15*f6;
+ f17 = f17+f18;
+ f18 = f14*f3;
+ f11 = f11+f12;
+ r4 = r3 >> 2;
+ f4 = f4+f6;
+ f3 = f13*f3;
+ f6 = f17+f18;
+ heapFloat[(fp+-108)] = f11;
+ f11 = f7*f2;
+ f12 = f5*f0;
+ f3 = f4+f3;
+ heapFloat[(r4+1)] = f6;
+ heapFloat[(r4+2)] = f3;
+ f3 = f9*f2;
+ f4 = f8*f0;
+ f6 = f11+f12;
+ f11 = f10*f1;
+ r5 = sp + -448;
+ f2 = f16*f2;
+ f0 = f15*f0;
+ f3 = f3+f4;
+ f4 = f14*f1;
+ f6 = f6+f11;
+ heap32[(r4+3)] = 0;
+ r4 = r5 >> 2;
+ f0 = f2+f0;
+ f1 = f13*f1;
+ f2 = f3+f4;
+ heapFloat[(fp+-112)] = f6;
+ f0 = f0+f1;
+ heapFloat[(r4+1)] = f2;
+ heapFloat[(r4+2)] = f0;
+ heap32[(r4+3)] = 0;
+ f0 = heapFloat[(r1+137)];
+ f1 = heapFloat[(r1+141)];
+ f2 = heapFloat[(r1+145)];
+ f3 = f7*f0;
+ f4 = f5*f1;
+ f6 = f9*f0;
+ f11 = f8*f1;
+ f3 = f3+f4;
+ f4 = f10*f2;
+ r4 = sp + -464;
+ f0 = f16*f0;
+ f1 = f15*f1;
+ f6 = f6+f11;
+ f11 = f14*f2;
+ f3 = f3+f4;
+ r6 = r4 >> 2;
+ f0 = f0+f1;
+ f1 = f13*f2;
+ f2 = f6+f11;
+ heapFloat[(fp+-116)] = f3;
+ f0 = f0+f1;
+ heapFloat[(r6+1)] = f2;
+ heapFloat[(r6+2)] = f0;
+ r7 = sp + -288;
+ heap32[(r6+3)] = 0;
+ r6 = r7 >> 2;
+ heapFloat[(fp+-72)] = f7;
+ heapFloat[(r6+1)] = f9;
+ heapFloat[(r6+2)] = f16;
+ heap32[(r6+3)] = 0;
+ heapFloat[(r6+4)] = f5;
+ heapFloat[(r6+5)] = f8;
+ heapFloat[(r6+6)] = f15;
+ heap32[(r6+7)] = 0;
+ heapFloat[(r6+8)] = f10;
+ heapFloat[(r6+9)] = f14;
+ heapFloat[(r6+10)] = f13;
+ heap32[(r6+11)] = 0;
+ r6 = heap32[(r1+6)];
+ r8 = sp + -240;
+ r9 = r6 >> 2;
+ r10 = r8 >> 2;
+ heap32[(fp+-60)] = heap32[(r9+1)];
+ heap32[(r10+1)] = heap32[(r9+5)];
+ heap32[(r10+2)] = heap32[(r9+9)];
+ heap32[(r10+3)] = 0;
+ heap32[(r10+4)] = heap32[(r9+2)];
+ heap32[(r10+5)] = heap32[(r9+6)];
+ heap32[(r10+6)] = heap32[(r9+10)];
+ heap32[(r10+7)] = 0;
+ heap32[(r10+8)] = heap32[(r9+3)];
+ heap32[(r10+9)] = heap32[(r9+7)];
+ heap32[(r10+10)] = heap32[(r9+11)];
+ heap32[(r10+11)] = 0;
+ r9 = (r0 + 288)|0;
+ r2 = (r2 + 388)|0;
+ r6 = (r6 + 388)|0;
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r8;
+ heap32[(g0+4)] = r2;
+ heap32[(g0+5)] = r6;
+ _ZN15btJacobianEntryC2ERK9btVector3RK11btMatrix3x3S5_S2_S2_(i7);
+ r2 = heap32[(r1+5)];
+ r3 = sp + -192;
+ r6 = r2 >> 2;
+ r7 = r3 >> 2;
+ heap32[(fp+-48)] = heap32[(r6+1)];
+ heap32[(r7+1)] = heap32[(r6+5)];
+ heap32[(r7+2)] = heap32[(r6+9)];
+ heap32[(r7+3)] = 0;
+ heap32[(r7+4)] = heap32[(r6+2)];
+ heap32[(r7+5)] = heap32[(r6+6)];
+ heap32[(r7+6)] = heap32[(r6+10)];
+ heap32[(r7+7)] = 0;
+ heap32[(r7+8)] = heap32[(r6+3)];
+ heap32[(r7+9)] = heap32[(r6+7)];
+ heap32[(r7+10)] = heap32[(r6+11)];
+ heap32[(r7+11)] = 0;
+ r6 = heap32[(r1+6)];
+ r7 = sp + -144;
+ r8 = r6 >> 2;
+ r9 = r7 >> 2;
+ heap32[(fp+-36)] = heap32[(r8+1)];
+ heap32[(r9+1)] = heap32[(r8+5)];
+ heap32[(r9+2)] = heap32[(r8+9)];
+ heap32[(r9+3)] = 0;
+ heap32[(r9+4)] = heap32[(r8+2)];
+ heap32[(r9+5)] = heap32[(r8+6)];
+ heap32[(r9+6)] = heap32[(r8+10)];
+ heap32[(r9+7)] = 0;
+ heap32[(r9+8)] = heap32[(r8+3)];
+ heap32[(r9+9)] = heap32[(r8+7)];
+ heap32[(r9+10)] = heap32[(r8+11)];
+ heap32[(r9+11)] = 0;
+ r8 = (r0 + 372)|0;
+ r2 = (r2 + 388)|0;
+ r6 = (r6 + 388)|0;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = r2;
+ heap32[(g0+5)] = r6;
+ _ZN15btJacobianEntryC2ERK9btVector3RK11btMatrix3x3S5_S2_S2_(i7);
+ r2 = heap32[(r1+5)];
+ r3 = sp + -96;
+ r5 = r2 >> 2;
+ r6 = r3 >> 2;
+ heap32[(fp+-24)] = heap32[(r5+1)];
+ heap32[(r6+1)] = heap32[(r5+5)];
+ heap32[(r6+2)] = heap32[(r5+9)];
+ heap32[(r6+3)] = 0;
+ heap32[(r6+4)] = heap32[(r5+2)];
+ heap32[(r6+5)] = heap32[(r5+6)];
+ heap32[(r6+6)] = heap32[(r5+10)];
+ heap32[(r6+7)] = 0;
+ heap32[(r6+8)] = heap32[(r5+3)];
+ heap32[(r6+9)] = heap32[(r5+7)];
+ heap32[(r6+10)] = heap32[(r5+11)];
+ heap32[(r6+11)] = 0;
+ r5 = heap32[(r1+6)];
+ r6 = sp + -48;
+ r7 = r5 >> 2;
+ r8 = r6 >> 2;
+ heap32[(fp+-12)] = heap32[(r7+1)];
+ heap32[(r8+1)] = heap32[(r7+5)];
+ heap32[(r8+2)] = heap32[(r7+9)];
+ heap32[(r8+3)] = 0;
+ heap32[(r8+4)] = heap32[(r7+2)];
+ heap32[(r8+5)] = heap32[(r7+6)];
+ heap32[(r8+6)] = heap32[(r7+10)];
+ heap32[(r8+7)] = 0;
+ heap32[(r8+8)] = heap32[(r7+3)];
+ heap32[(r8+9)] = heap32[(r7+7)];
+ heap32[(r8+10)] = heap32[(r7+11)];
+ heap32[(r8+11)] = 0;
+ r7 = (r0 + 456)|0;
+ r2 = (r2 + 388)|0;
+ r5 = (r5 + 388)|0;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r6;
+ heap32[(g0+4)] = r2;
+ heap32[(g0+5)] = r5;
+ _ZN15btJacobianEntryC2ERK9btVector3RK11btMatrix3x3S5_S2_S2_(i7);
+ heap32[(r1+177)] = 0;
+ r2 = heap32[(r1+6)];
+ r3 = heap32[(r1+5)];
+ r3 = (r3 + 4)|0;
+ r2 = (r2 + 4)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r2;
+ _ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(i7);
+ f0 = f_g0;
+ heapFloat[(r1+178)] = f0;
+ heap32[(r1+176)] = 0;
+ r2 = 0;
+ heap32[(r1+175)] = 0;
+ heap8[r0+722] = r2;
+ f1 = heapFloat[(r1+172)];
+ f2 = heapFloat[(r1+173)];
+if(!(f1 >f2)) //_LBB594_24
+{
+ heapFloat[(g0)] = f0;
+ heapFloat[(g0+1)] = f1;
+ heapFloat[(g0+2)] = f2;
+ _Z21btAdjustAngleToLimitsfff(i7);
+ f0 = f_g0;
+ heapFloat[(r1+178)] = f0;
+ f1 = heapFloat[(r1+172)];
+ if(f0 >f1) //_LBB594_22
+{
+ f1 = heapFloat[(r1+173)];
+if(!(f0 <f1)) //_LBB594_24
+{
+ f0 = f1-f0;
+ heapFloat[(r1+176)] = f0;
+ r2 = 1;
+ heap32[(r1+175)] = -1082130432;
+ heap8[r0+722] = r2;
+}
+}
+else{
+ f0 = f1-f0;
+ heapFloat[(r1+176)] = f0;
+ r2 = 1;
+ heap32[(r1+175)] = 1065353216;
+ heap8[r0+722] = r2;
+}
+}
+ r0 = heap32[(r1+5)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r1+137)];
+ f1 = heapFloat[(r0+5)];
+ f2 = heapFloat[(r0+1)];
+ f3 = heapFloat[(r1+141)];
+ f4 = heapFloat[(r0+6)];
+ f5 = heapFloat[(r0+2)];
+ f6 = heapFloat[(r0+9)];
+ f7 = heapFloat[(r0+10)];
+ r2 = heap32[(r1+6)];
+ f2 = f2*f0;
+ f5 = f5*f3;
+ f1 = f1*f0;
+ f4 = f4*f3;
+ f8 = heapFloat[(r1+145)];
+ f9 = heapFloat[(r0+7)];
+ f10 = heapFloat[(r0+3)];
+ r2 = r2 >> 2;
+ f11 = heapFloat[(r0+11)];
+ f0 = f6*f0;
+ f3 = f7*f3;
+ f2 = f2+f5;
+ f5 = f10*f8;
+ f1 = f1+f4;
+ f4 = f9*f8;
+ f0 = f0+f3;
+ f3 = f11*f8;
+ f2 = f2+f5;
+ f5 = heapFloat[(r0+65)];
+ f6 = heapFloat[(r0+64)];
+ f7 = heapFloat[(r2+65)];
+ f8 = heapFloat[(r2+64)];
+ f1 = f1+f4;
+ f4 = heapFloat[(r0+69)];
+ f9 = heapFloat[(r0+68)];
+ f10 = heapFloat[(r2+69)];
+ f11 = heapFloat[(r2+68)];
+ f12 = heapFloat[(r0+66)];
+ f13 = heapFloat[(r0+70)];
+ f14 = heapFloat[(r2+66)];
+ f15 = heapFloat[(r2+70)];
+ f6 = f6*f2;
+ f9 = f9*f1;
+ f5 = f5*f2;
+ f4 = f4*f1;
+ f8 = f8*f2;
+ f11 = f11*f1;
+ f7 = f7*f2;
+ f10 = f10*f1;
+ f0 = f0+f3;
+ f3 = heapFloat[(r0+73)];
+ f16 = heapFloat[(r0+72)];
+ f17 = heapFloat[(r2+73)];
+ f18 = heapFloat[(r2+72)];
+ f19 = heapFloat[(r0+74)];
+ f20 = heapFloat[(r2+74)];
+ f6 = f6+f9;
+ f9 = f16*f0;
+ f4 = f5+f4;
+ f3 = f3*f0;
+ f5 = f12*f2;
+ f12 = f13*f1;
+ f8 = f8+f11;
+ f11 = f18*f0;
+ f7 = f7+f10;
+ f10 = f17*f0;
+ f13 = f14*f2;
+ f14 = f15*f1;
+ f6 = f6+f9;
+ f3 = f4+f3;
+ f4 = f8+f11;
+ f7 = f7+f10;
+ f5 = f5+f12;
+ f8 = f19*f0;
+ f9 = f13+f14;
+ f10 = f20*f0;
+ f5 = f5+f8;
+ f8 = f9+f10;
+ f6 = f2*f6;
+ f3 = f1*f3;
+ f2 = f2*f4;
+ f1 = f1*f7;
+ f3 = f6+f3;
+ f4 = f0*f5;
+ f1 = f2+f1;
+ f0 = f0*f8;
+ f2 = f3+f4;
+ f0 = f1+f0;
+ f1 = 1;
+ f0 = f2+f0;
+ f0 = f1/f0;
+ heapFloat[(r1+174)] = f0;
+}
+ return;
+}
+
+function _ZN17btHingeConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heapU8[r0+723];
+ if(r2 ==0) //_LBB595_2
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = 5;
+ heap32[(r1+1)] = 1;
+ r2 = r0 >> 2;
+ r3 = heap32[(r2+6)];
+ r4 = heap32[(r2+5)];
+ r4 = (r4 + 4)|0;
+ r3 = (r3 + 4)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r3;
+ _ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(i7);
+ f0 = f_g0;
+ heapFloat[(r2+178)] = f0;
+ heap32[(r2+176)] = 0;
+ r3 = 0;
+ heap32[(r2+175)] = 0;
+ heap8[r0+722] = r3;
+ f1 = heapFloat[(r2+172)];
+ f2 = heapFloat[(r2+173)];
+ if(f1 >f2) //_LBB595_8
+{
+__label__ = 8;
+}
+else{
+ heapFloat[(g0)] = f0;
+ heapFloat[(g0+1)] = f1;
+ heapFloat[(g0+2)] = f2;
+ _Z21btAdjustAngleToLimitsfff(i7);
+ f0 = f_g0;
+ heapFloat[(r2+178)] = f0;
+ f1 = heapFloat[(r2+172)];
+ if(f0 >f1) //_LBB595_5
+{
+ f1 = heapFloat[(r2+173)];
+ if(f0 <f1) //_LBB595_7
+{
+ r2 = heapU8[r0+722];
+ if(r2 !=0) //_LBB595_10
+{
+__label__ = 10;
+}
+else{
+__label__ = 8;
+}
+}
+else{
+ f0 = f1-f0;
+ heapFloat[(r2+176)] = f0;
+ r3 = 1;
+ heap32[(r2+175)] = -1082130432;
+ heap8[r0+722] = r3;
+__label__ = 10;
+}
+}
+else{
+ f0 = f1-f0;
+ heapFloat[(r2+176)] = f0;
+ r3 = 1;
+ heap32[(r2+175)] = 1065353216;
+ heap8[r0+722] = r3;
+__label__ = 10;
+}
+}
+if (__label__ == 8){
+ r0 = heapU8[r0+721];
+if(!(r0 !=0)) //_LBB595_10
+{
+ return;
+}
+}
+ r0 = heap32[(r1)];
+ r0 = (r0 + 1)|0;
+ heap32[(r1)] = r0;
+ r0 = heap32[(r1+1)];
+ r0 = (r0 + -1)|0;
+ heap32[(r1+1)] = r0;
+ return;
+}
+else{
+ r0 = r1 >> 2;
+ heap32[(r0)] = 0;
+ heap32[(r0+1)] = 0;
+ return;
+}
+}
+
+function _ZN17btHingeConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -136;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(r1+6)];
+ r4 = heap32[(r1+5)];
+ r5 = heapU8[r0+723];
+ r6 = heapU8[r0+724];
+_1: do {
+ if(r6 ==0) //_LBB596_60
+{
+ r5 = r5 & 255;
+ if(r5 ==0) //_LBB596_62
+{
+ r4 = r4 >> 2;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r1+147)];
+ f1 = heapFloat[(r4+9)];
+ f2 = heapFloat[(r4+5)];
+ f3 = heapFloat[(r4+1)];
+ f4 = heapFloat[(r1+148)];
+ f5 = heapFloat[(r4+10)];
+ f6 = heapFloat[(r4+6)];
+ f7 = heapFloat[(r4+2)];
+ f8 = heapFloat[(r1+163)];
+ f9 = heapFloat[(r3+9)];
+ heapFloat[(fp+-3)] = f9;
+ f10 = heapFloat[(r3+5)];
+ heapFloat[(fp+-2)] = f10;
+ f11 = heapFloat[(r3+1)];
+ heapFloat[(fp+-1)] = f11;
+ f12 = heapFloat[(r1+164)];
+ f13 = heapFloat[(r3+10)];
+ f14 = heapFloat[(r3+6)];
+ f9 = heapFloat[(r3+2)];
+ heapFloat[(fp+-7)] = f9;
+ f10 = heapFloat[(r1+137)];
+ f11 = heapFloat[(r1+141)];
+ f15 = heapFloat[(r1+136)];
+ f16 = heapFloat[(r1+140)];
+ f17 = heapFloat[(r1+135)];
+ f18 = heapFloat[(r1+139)];
+ f19 = heapFloat[(r1+153)];
+ f20 = heapFloat[(r1+157)];
+ f21 = f1*f0;
+ f22 = f5*f4;
+ f23 = f2*f0;
+ f24 = f6*f4;
+ f0 = f3*f0;
+ f4 = f7*f4;
+ f25 = heapFloat[(r1+149)];
+ f26 = heapFloat[(r4+11)];
+ f27 = heapFloat[(r4+7)];
+ f28 = heapFloat[(r4+3)];
+ f9 = heapFloat[(fp+-3)];
+ f29 = f9*f8;
+ heapFloat[(fp+-8)] = f29;
+ f30 = f13*f12;
+ heapFloat[(fp+-10)] = f30;
+ f9 = heapFloat[(fp+-2)];
+ f9 = f9*f8;
+ heapFloat[(fp+-9)] = f9;
+ f9 = f14*f12;
+ heapFloat[(fp+-12)] = f9;
+ f9 = heapFloat[(fp+-1)];
+ f8 = f9*f8;
+ heapFloat[(fp+-11)] = f8;
+ f9 = heapFloat[(fp+-7)];
+ f12 = f9*f12;
+ heapFloat[(fp+-13)] = f12;
+ f8 = heapFloat[(r1+165)];
+ f9 = heapFloat[(r3+11)];
+ heapFloat[(fp+-4)] = f9;
+ f9 = heapFloat[(r3+7)];
+ heapFloat[(fp+-6)] = f9;
+ f9 = heapFloat[(r3+3)];
+ heapFloat[(fp+-5)] = f9;
+ f9 = heapFloat[(r1+145)];
+ f12 = heapFloat[(r1+144)];
+ f29 = heapFloat[(r1+143)];
+ f30 = heapFloat[(r1+161)];
+ f21 = f21+f22;
+ heapFloat[(fp+-15)] = f21;
+ f22 = f26*f25;
+ f21 = f23+f24;
+ heapFloat[(fp+-16)] = f21;
+ f23 = f27*f25;
+ f0 = f0+f4;
+ heapFloat[(fp+-14)] = f0;
+ f0 = f28*f25;
+ heapFloat[(fp+-23)] = f0;
+ f0 = f10*f1;
+ heapFloat[(fp+-24)] = f0;
+ f4 = f11*f5;
+ f21 = f15*f1;
+ heapFloat[(fp+-18)] = f21;
+ f24 = f16*f5;
+ f1 = f17*f1;
+ heapFloat[(fp+-20)] = f1;
+ f5 = f18*f5;
+ f25 = f10*f2;
+ heapFloat[(fp+-17)] = f25;
+ f0 = f11*f6;
+ f1 = f15*f2;
+ heapFloat[(fp+-19)] = f1;
+ f1 = f16*f6;
+ heapFloat[(fp+-28)] = f1;
+ f2 = f17*f2;
+ heapFloat[(fp+-21)] = f2;
+ f1 = f18*f6;
+ heapFloat[(fp+-29)] = f1;
+ f2 = f10*f3;
+ heapFloat[(fp+-25)] = f2;
+ f6 = f11*f7;
+ f10 = f15*f3;
+ heapFloat[(fp+-26)] = f10;
+ f11 = f16*f7;
+ f3 = f17*f3;
+ heapFloat[(fp+-22)] = f3;
+ f7 = f18*f7;
+ f15 = heapFloat[(fp+-8)];
+ f16 = heapFloat[(fp+-10)];
+ f15 = f15+f16;
+ heapFloat[(fp+-27)] = f15;
+ f16 = heapFloat[(fp+-4)];
+ f17 = f16*f8;
+ f18 = heapFloat[(fp+-9)];
+ f21 = heapFloat[(fp+-12)];
+ f18 = f18+f21;
+ heapFloat[(fp+-8)] = f18;
+ f21 = heapFloat[(fp+-6)];
+ f25 = f21*f8;
+ f1 = heapFloat[(fp+-11)];
+ f2 = heapFloat[(fp+-13)];
+ f1 = f1+f2;
+ heapFloat[(fp+-9)] = f1;
+ f2 = heapFloat[(fp+-5)];
+ f1 = f2*f8;
+ heapFloat[(fp+-11)] = f1;
+ f2 = heapFloat[(fp+-3)];
+ f2 = f19*f2;
+ heapFloat[(fp+-3)] = f2;
+ f1 = f20*f13;
+ heapFloat[(fp+-12)] = f1;
+ f2 = heapFloat[(fp+-2)];
+ f2 = f19*f2;
+ heapFloat[(fp+-10)] = f2;
+ f1 = f20*f14;
+ heapFloat[(fp+-13)] = f1;
+ f2 = heapFloat[(fp+-1)];
+ f2 = f19*f2;
+ heapFloat[(fp+-2)] = f2;
+ f3 = heapFloat[(fp+-7)];
+ f1 = f20*f3;
+ heapFloat[(fp+-30)] = f1;
+ r5 = r2 >> 2;
+ f2 = heapFloat[(r4+15)];
+ f3 = heapFloat[(fp+-15)];
+ f3 = f3+f22;
+ heapFloat[(fp+-7)] = f3;
+ f8 = heapFloat[(r4+14)];
+ f10 = heapFloat[(fp+-16)];
+ f1 = f10+f23;
+ heapFloat[(fp+-15)] = f1;
+ f1 = heapFloat[(r4+13)];
+ heapFloat[(fp+-1)] = f1;
+ f3 = heapFloat[(fp+-14)];
+ f10 = heapFloat[(fp+-23)];
+ f3 = f3+f10;
+ heapFloat[(fp+-16)] = f3;
+ f10 = heapFloat[(fp+-24)];
+ f4 = f10+f4;
+ heapFloat[(fp+-14)] = f4;
+ f1 = f9*f26;
+ heapFloat[(fp+-23)] = f1;
+ f3 = heapFloat[(fp+-18)];
+ f1 = f3+f24;
+ heapFloat[(fp+-18)] = f1;
+ f3 = f12*f26;
+ f4 = heapFloat[(fp+-20)];
+ f4 = f4+f5;
+ f5 = f29*f26;
+ f10 = heapFloat[(fp+-17)];
+ f0 = f10+f0;
+ f10 = f9*f27;
+ f13 = heapFloat[(fp+-19)];
+ f14 = heapFloat[(fp+-28)];
+ f13 = f13+f14;
+ f14 = f12*f27;
+ f15 = heapFloat[(fp+-21)];
+ f16 = heapFloat[(fp+-29)];
+ f15 = f15+f16;
+ f16 = f29*f27;
+ f18 = heapFloat[(fp+-25)];
+ f6 = f18+f6;
+ f9 = f9*f28;
+ f18 = heapFloat[(fp+-26)];
+ f11 = f18+f11;
+ f12 = f12*f28;
+ f18 = heapFloat[(fp+-22)];
+ f7 = f18+f7;
+ f18 = f29*f28;
+ f19 = heapFloat[(fp+-27)];
+ f17 = f19+f17;
+ f19 = heapFloat[(r3+15)];
+ f20 = heapFloat[(fp+-8)];
+ f20 = f20+f25;
+ f21 = heapFloat[(r3+14)];
+ f22 = heapFloat[(fp+-9)];
+ f23 = heapFloat[(fp+-11)];
+ f22 = f22+f23;
+ f23 = heapFloat[(r3+13)];
+ f24 = heapFloat[(fp+-3)];
+ f25 = heapFloat[(fp+-12)];
+ f24 = f24+f25;
+ f25 = heapFloat[(fp+-4)];
+ f25 = f30*f25;
+ f26 = heapFloat[(fp+-10)];
+ f27 = heapFloat[(fp+-13)];
+ f26 = f26+f27;
+ f27 = heapFloat[(fp+-6)];
+ f27 = f30*f27;
+ f28 = heapFloat[(fp+-2)];
+ f29 = heapFloat[(fp+-30)];
+ f28 = f28+f29;
+ f29 = heapFloat[(fp+-5)];
+ f29 = f30*f29;
+ r6 = heap32[(r5+6)];
+ f30 = heapFloat[(fp+-7)];
+ f30 = f30+f2;
+ heapFloat[(fp+-2)] = f30;
+ f30 = heapFloat[(fp+-15)];
+ f30 = f30+f8;
+ heapFloat[(fp+-3)] = f30;
+ f30 = heapFloat[(fp+-16)];
+ f1 = heapFloat[(fp+-1)];
+ f1 = f30+f1;
+ heapFloat[(fp+-4)] = f1;
+ f1 = heapFloat[(fp+-14)];
+ f30 = heapFloat[(fp+-23)];
+ f1 = f1+f30;
+ f30 = heapFloat[(fp+-18)];
+ f3 = f30+f3;
+ f4 = f4+f5;
+ f0 = f0+f10;
+ f5 = f13+f14;
+ f10 = f15+f16;
+ f6 = f6+f9;
+ f9 = f11+f12;
+ f7 = f7+f18;
+ f11 = f17+f19;
+ f12 = f20+f21;
+ f13 = f22+f23;
+ f14 = f24+f25;
+ f15 = f26+f27;
+ f16 = f28+f29;
+ r7 = heapU8[r0+720];
+ if(r7 ==0) //_LBB596_64
+{
+ r7 = heap32[(r5+2)];
+ r7 = r7 >> 2;
+ heap32[(r7)] = 1065353216;
+ r7 = r6 << 2;
+ r8 = heap32[(r5+2)];
+ r7 = (r7 + r8)|0;
+ r7 = r7 >> 2;
+ heap32[(r7+1)] = 1065353216;
+ r7 = r6 << 3;
+ r8 = heap32[(r5+2)];
+ r7 = (r7 + r8)|0;
+ r7 = r7 >> 2;
+ heap32[(r7+2)] = 1065353216;
+ f2 = heapFloat[(r4+15)];
+ f8 = heapFloat[(r4+14)];
+ f17 = heapFloat[(r4+13)];
+ heapFloat[(fp+-1)] = f17;
+}
+ r7 = heap32[(r5+3)];
+ r8 = r7 >> 2;
+ f17 = heapFloat[(fp+-3)];
+ f8 = f17-f8;
+ f17 = heapFloat[(fp+-2)];
+ f2 = f17-f2;
+ heap32[(r8)] = 0;
+ r9 = (r6 + 1)|0;
+ r10 = r6 << 2;
+ f17 = -f8;
+ heapFloat[(r8+1)] = f2;
+ r11 = (r6 + 2)|0;
+ r9 = r9 << 2;
+ r12 = (r7 + r10)|0;
+ heapFloat[(r8+2)] = f17;
+ r13 = (r6 + 3)|0;
+ r11 = r11 << 2;
+ r14 = (r7 + r9)|0;
+ r12 = r12 >> 2;
+ f2 = -f2;
+ heap32[(r8+3)] = 0;
+ r8 = r13 << 2;
+ r13 = (r7 + r11)|0;
+ r14 = r14 >> 2;
+ heapFloat[(r12)] = f2;
+ r12 = r6 << 3;
+ r15 = (r7 + r8)|0;
+ f17 = heapFloat[(fp+-4)];
+ f2 = heapFloat[(fp+-1)];
+ f2 = f17-f2;
+ r13 = r13 >> 2;
+ heap32[(r14)] = 0;
+ r14 = r12 | 4;
+ r16 = (r7 + r12)|0;
+ r15 = r15 >> 2;
+ heapFloat[(r13)] = f2;
+ r13 = (r12 + 8)|0;
+ r17 = (r7 + r14)|0;
+ r16 = r16 >> 2;
+ heap32[(r15)] = 0;
+ r15 = (r12 + 12)|0;
+ r18 = (r7 + r13)|0;
+ r17 = r17 >> 2;
+ f2 = -f2;
+ heapFloat[(r16)] = f8;
+ r7 = (r7 + r15)|0;
+ r16 = r18 >> 2;
+ heapFloat[(r17)] = f2;
+ r7 = r7 >> 2;
+ heap32[(r16)] = 0;
+ heap32[(r7)] = 0;
+ r7 = heap32[(r5+5)];
+ f2 = heapFloat[(r3+15)];
+ f8 = heapFloat[(r3+14)];
+ f17 = heapFloat[(r3+13)];
+ f2 = f11-f2;
+ r16 = r7 >> 2;
+ f18 = -f2;
+ heap32[(r16)] = 0;
+ f8 = f12-f8;
+ heapFloat[(r16+1)] = f18;
+ r17 = (r7 + r10)|0;
+ heapFloat[(r16+2)] = f8;
+ r9 = (r7 + r9)|0;
+ r17 = r17 >> 2;
+ heap32[(r16+3)] = 0;
+ f17 = f13-f17;
+ r11 = (r7 + r11)|0;
+ r9 = r9 >> 2;
+ heapFloat[(r17)] = f2;
+ r8 = (r7 + r8)|0;
+ r11 = r11 >> 2;
+ f2 = -f17;
+ heap32[(r9)] = 0;
+ r9 = (r7 + r12)|0;
+ r8 = r8 >> 2;
+ heapFloat[(r11)] = f2;
+ r11 = (r7 + r14)|0;
+ r9 = r9 >> 2;
+ f2 = -f8;
+ heap32[(r8)] = 0;
+ r8 = (r7 + r13)|0;
+ r11 = r11 >> 2;
+ heapFloat[(r9)] = f2;
+ r7 = (r7 + r15)|0;
+ r8 = r8 >> 2;
+ heapFloat[(r11)] = f17;
+ r7 = r7 >> 2;
+ heap32[(r8)] = 0;
+ heap32[(r7)] = 0;
+ f2 = heapFloat[(r5)];
+ f8 = heapFloat[(r5+1)];
+ f2 = f2*f8;
+ r7 = heapU8[r0+720];
+if(!(r7 !=0)) //_LBB596_67
+{
+ r6 = r6 << 1;
+ r7 = heap32[(r5+7)];
+ f8 = heapFloat[(fp+-4)];
+ f8 = f13-f8;
+ r7 = r7 >> 2;
+ f8 = f8*f2;
+ heapFloat[(r7)] = f8;
+ r7 = heap32[(r5+7)];
+ r7 = (r7 + r10)|0;
+ f8 = heapFloat[(fp+-3)];
+ f8 = f12-f8;
+ r7 = r7 >> 2;
+ f8 = f8*f2;
+ heapFloat[(r7)] = f8;
+ r6 = r6 << 2;
+ r7 = heap32[(r5+7)];
+ r6 = (r7 + r6)|0;
+ f8 = heapFloat[(fp+-2)];
+ f8 = f11-f8;
+ r6 = r6 >> 2;
+ f8 = f8*f2;
+ heapFloat[(r6)] = f8;
+}
+ r2 = (r2 + 4)|0;
+ r6 = heap32[(r5+6)];
+ r7 = (r6 * 3)|0;
+ r8 = heap32[(r5+3)];
+ r9 = r7 << 2;
+ r8 = (r8 + r9)|0;
+ r8 = r8 >> 2;
+ r10 = (r7 + 1)|0;
+ heapFloat[(r8)] = f7;
+ r8 = r10 << 2;
+ r10 = heap32[(r5+3)];
+ r10 = (r10 + r8)|0;
+ r10 = r10 >> 2;
+ r7 = (r7 + 2)|0;
+ heapFloat[(r10)] = f10;
+ r7 = r7 << 2;
+ r10 = heap32[(r5+3)];
+ r10 = (r10 + r7)|0;
+ r10 = r10 >> 2;
+ heapFloat[(r10)] = f4;
+ r6 = r6 << 4;
+ r10 = heap32[(r5+3)];
+ r10 = (r10 + r6)|0;
+ r10 = r10 >> 2;
+ heapFloat[(r10)] = f9;
+ r10 = r6 | 4;
+ r11 = heap32[(r5+3)];
+ r11 = (r11 + r10)|0;
+ r11 = r11 >> 2;
+ heapFloat[(r11)] = f5;
+ r11 = r6 | 8;
+ r12 = heap32[(r5+3)];
+ r12 = (r12 + r11)|0;
+ r12 = r12 >> 2;
+ heapFloat[(r12)] = f3;
+ r12 = heap32[(r5+5)];
+ r12 = (r12 + r9)|0;
+ r12 = r12 >> 2;
+ f8 = -f7;
+ heapFloat[(r12)] = f8;
+ r12 = heap32[(r5+5)];
+ r8 = (r12 + r8)|0;
+ r8 = r8 >> 2;
+ f8 = -f10;
+ heapFloat[(r8)] = f8;
+ r8 = heap32[(r5+5)];
+ r7 = (r8 + r7)|0;
+ r7 = r7 >> 2;
+ f8 = -f4;
+ heapFloat[(r7)] = f8;
+ r7 = heap32[(r5+5)];
+ r7 = (r7 + r6)|0;
+ r7 = r7 >> 2;
+ f8 = -f9;
+ heapFloat[(r7)] = f8;
+ r7 = heap32[(r5+5)];
+ r7 = (r7 + r10)|0;
+ r7 = r7 >> 2;
+ f8 = -f5;
+ heapFloat[(r7)] = f8;
+ r7 = heap32[(r5+5)];
+ r7 = (r7 + r11)|0;
+ f8 = f0*f14;
+ f11 = f1*f15;
+ f12 = f1*f16;
+ f13 = f6*f14;
+ f8 = f8-f11;
+ f11 = f12-f13;
+ f12 = f6*f15;
+ f13 = f0*f16;
+ r7 = r7 >> 2;
+ f14 = -f3;
+ f12 = f12-f13;
+ heapFloat[(r7)] = f14;
+ f7 = f8*f7;
+ f10 = f11*f10;
+ r7 = heap32[(r5+7)];
+ f7 = f7+f10;
+ f4 = f12*f4;
+ r7 = (r7 + r9)|0;
+ f4 = f7+f4;
+ r7 = r7 >> 2;
+ f4 = f4*f2;
+ heapFloat[(r7)] = f4;
+ f4 = f8*f9;
+ f5 = f11*f5;
+ r7 = heap32[(r5+7)];
+ f4 = f4+f5;
+ f3 = f12*f3;
+ r6 = (r7 + r6)|0;
+ f3 = f4+f3;
+ r6 = r6 >> 2;
+ f2 = f3*f2;
+ heapFloat[(r6)] = f2;
+ r6 = heapU8[r0+722];
+ if(r6 !=0) //_LBB596_69
+{
+ f2 = heapFloat[(r1+176)];
+ f3 = heapFloat[(r1+179)];
+ f2 = f2*f3;
+ f3 = 0;
+ r6 = 1;
+ r7 = 2;
+ r6 = f2 > f3 ? r6 : r7;
+}
+else{
+ f2 = 0;
+ r6 = 0;
+}
+ r7 = heapU8[r0+721];
+ r8 = 0;
+ r9 = r7 != r8;
+ r9 = r9 & 1;
+ r9 = r9 | r6;
+ if(r9 ==0) //_LBB596_59
+{
+__label__ = 54;
+break _1;
+}
+else{
+ r9 = heap32[(r5+6)];
+ r9 = (r9 * 5)|0;
+ r10 = heap32[(r5+3)];
+ r11 = r9 << 2;
+ r10 = (r10 + r11)|0;
+ r10 = r10 >> 2;
+ r12 = (r9 + 1)|0;
+ heapFloat[(r10)] = f6;
+ r10 = r12 << 2;
+ r12 = heap32[(r5+3)];
+ r12 = (r12 + r10)|0;
+ r12 = r12 >> 2;
+ r9 = (r9 + 2)|0;
+ heapFloat[(r12)] = f0;
+ r9 = r9 << 2;
+ r12 = heap32[(r5+3)];
+ r12 = (r12 + r9)|0;
+ r12 = r12 >> 2;
+ heapFloat[(r12)] = f1;
+ r12 = heap32[(r5+5)];
+ r12 = (r12 + r11)|0;
+ r12 = r12 >> 2;
+ f3 = -f6;
+ heapFloat[(r12)] = f3;
+ r12 = heap32[(r5+5)];
+ r10 = (r12 + r10)|0;
+ r10 = r10 >> 2;
+ f3 = -f0;
+ heapFloat[(r10)] = f3;
+ r10 = heap32[(r5+5)];
+ r9 = (r10 + r9)|0;
+ r9 = r9 >> 2;
+ f3 = -f1;
+ heapFloat[(r9)] = f3;
+ r9 = heap32[(r5+7)];
+ r9 = (r9 + r11)|0;
+ f3 = heapFloat[(r1+172)];
+ f4 = heapFloat[(r1+173)];
+ r9 = r9 >> 2;
+ heap32[(r9)] = 0;
+ r9 = r6 != r8;
+ r10 = f3 == f4;
+ r12 = heap32[(r1+183)];
+ r9 = r9 & r10;
+ r10 = r12 & 2;
+ if(r10 !=0) //_LBB596_73
+{
+ r2 = (r0 + 744)|0;
+}
+ r2 = r2 >> 2;
+ f5 = heapFloat[(r2)];
+ r2 = r7 == r8;
+ r2 = r9 | r2;
+if(!(r2 != 0)) //_LBB596_91
+{
+ r2 = r12 & 4;
+if(!(r2 ==0)) //_LBB596_77
+{
+ r2 = heap32[(r5+8)];
+ r2 = (r2 + r11)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = heap32[(r1+184)];
+}
+ f7 = 1;
+ f8 = 0;
+ f9 = heapFloat[(r1+167)];
+_24: do {
+ if(f3 <f4) //_LBB596_79
+{
+ f10 = heapFloat[(r1+178)];
+ f11 = heapFloat[(r5)];
+ f11 = f11*f5;
+ f11 = f9/f11;
+ if(f11 >=f8) //_LBB596_84
+{
+ if(f11 >f8) //_LBB596_86
+{
+if(!(f10 >f4)) //_LBB596_89
+{
+ f8 = f4-f11;
+if(!(f8 >=f10)) //_LBB596_89
+{
+ f7 = f4-f10;
+ f8 = f7/f11;
+break _24;
+}
+}
+ f8 = 0;
+ f8 = f10 > f4 ? f8 : f7;
+}
+else{
+break _24;
+}
+}
+else{
+if(!(f10 <f3)) //_LBB596_83
+{
+ f8 = f3-f11;
+if(!(f8 <=f10)) //_LBB596_83
+{
+ f7 = f3-f10;
+ f8 = f7/f11;
+break _24;
+}
+}
+ f8 = 0;
+ f8 = f10 < f3 ? f8 : f7;
+}
+}
+else{
+ f8 = f3 > f4 ? f7 : f8;
+}
+} while(0);
+ r2 = heap32[(r5+7)];
+ r2 = (r2 + r11)|0;
+ r2 = r2 >> 2;
+ f7 = f9*f8;
+ f8 = heapFloat[(r1+179)];
+ f9 = heapFloat[(r2)];
+ f7 = f7*f8;
+ f7 = f9+f7;
+ heapFloat[(r2)] = f7;
+ r2 = heap32[(r5+9)];
+ f7 = heapFloat[(r1+168)];
+ r2 = (r2 + r11)|0;
+ r2 = r2 >> 2;
+ f7 = -f7;
+ heapFloat[(r2)] = f7;
+ r2 = heap32[(r5+10)];
+ r2 = (r2 + r11)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = heap32[(r1+168)];
+}
+ if(r6 ==0) //_LBB596_59
+{
+__label__ = 54;
+break _1;
+}
+else{
+ r2 = heap32[(r5+7)];
+ r2 = (r2 + r11)|0;
+ f7 = heapFloat[(r5)];
+ r2 = r2 >> 2;
+ f5 = f7*f5;
+ f7 = heapFloat[(r2)];
+ f2 = f5*f2;
+ f2 = f7+f2;
+ heapFloat[(r2)] = f2;
+ r0 = heapU8[r0+732];
+ r0 = r0 & 1;
+if(!(r0 ==0)) //_LBB596_94
+{
+ r0 = heap32[(r5+8)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = heap32[(r1+185)];
+}
+ if(f3 !=f4) //_LBB596_96
+{
+ r0 = heap32[(r5+9)];
+ if(r6 !=1) //_LBB596_98
+{
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = -8388609;
+ r0 = heap32[(r5+10)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+}
+else{
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+ r0 = heap32[(r5+10)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 2139095039;
+}
+}
+else{
+ r0 = heap32[(r5+9)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = -8388609;
+ r0 = heap32[(r5+10)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 2139095039;
+}
+ f2 = heapFloat[(r1+171)];
+ f3 = 0;
+ if(f2 <=f3) //_LBB596_107
+{
+__label__ = 53;
+break _1;
+}
+else{
+ f4 = heapFloat[(r4+80)];
+ f5 = heapFloat[(r3+80)];
+ f7 = heapFloat[(r4+81)];
+ f8 = heapFloat[(r3+81)];
+ f4 = f4*f6;
+ f7 = f7*f0;
+ f9 = heapFloat[(r4+82)];
+ f10 = heapFloat[(r3+82)];
+ f5 = f5*f6;
+ f0 = f8*f0;
+ f4 = f4+f7;
+ f6 = f9*f1;
+ f0 = f5+f0;
+ f1 = f10*f1;
+ f4 = f4+f6;
+ f0 = f0+f1;
+ f0 = f4-f0;
+ if(r6 !=1) //_LBB596_104
+{
+ if(f0 <=f3) //_LBB596_107
+{
+__label__ = 53;
+break _1;
+}
+else{
+ r0 = heap32[(r5+7)];
+ f1 = -f2;
+ r0 = (r0 + r11)|0;
+ f0 = f0*f1;
+ r0 = r0 >> 2;
+ f1 = heapFloat[(r0)];
+ if(f1 <=f0) //_LBB596_107
+{
+__label__ = 53;
+break _1;
+}
+else{
+ heapFloat[(r0)] = f0;
+__label__ = 53;
+break _1;
+}
+}
+}
+else{
+ if(f0 >=f3) //_LBB596_107
+{
+__label__ = 53;
+break _1;
+}
+else{
+ r0 = heap32[(r5+7)];
+ f2 = -f2;
+ r0 = (r0 + r11)|0;
+ f0 = f0*f2;
+ r0 = r0 >> 2;
+ f2 = heapFloat[(r0)];
+ if(f2 >=f0) //_LBB596_107
+{
+__label__ = 53;
+break _1;
+}
+else{
+ heapFloat[(r0)] = f0;
+__label__ = 53;
+break _1;
+}
+}
+}
+}
+}
+}
+}
+else{
+ r0 = _2E_str1149;
+ r1 = _2E_str231;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 331;
+ _assert(i7);
+}
+}
+else{
+ r5 = r5 & 255;
+ if(r5 ==0) //_LBB596_3
+{
+ r4 = r4 >> 2;
+ r3 = r3 >> 2;
+ f0 = heapFloat[(r3+9)];
+ heapFloat[(fp+-5)] = f0;
+ f1 = heapFloat[(r1+163)];
+ f0 = heapFloat[(r3+5)];
+ heapFloat[(fp+-6)] = f0;
+ f2 = heapFloat[(r3+1)];
+ heapFloat[(fp+-4)] = f2;
+ f0 = heapFloat[(r3+10)];
+ heapFloat[(fp+-7)] = f0;
+ f2 = heapFloat[(r1+164)];
+ f0 = heapFloat[(r3+6)];
+ heapFloat[(fp+-8)] = f0;
+ f3 = heapFloat[(r3+2)];
+ heapFloat[(fp+-9)] = f3;
+ f4 = heapFloat[(r4+9)];
+ f5 = heapFloat[(r1+147)];
+ f6 = heapFloat[(r4+5)];
+ f7 = heapFloat[(r4+1)];
+ f8 = heapFloat[(r4+10)];
+ f9 = heapFloat[(r1+148)];
+ f10 = heapFloat[(r4+6)];
+ f11 = heapFloat[(r4+2)];
+ f0 = heapFloat[(fp+-5)];
+ f12 = f0*f1;
+ f0 = heapFloat[(fp+-7)];
+ f13 = f0*f2;
+ f14 = heapFloat[(r3+11)];
+ heapFloat[(fp+-2)] = f14;
+ f15 = heapFloat[(r1+165)];
+ f16 = heapFloat[(r3+7)];
+ heapFloat[(fp+-3)] = f16;
+ f17 = heapFloat[(r3+3)];
+ heapFloat[(fp+-1)] = f17;
+ f18 = f4*f5;
+ f19 = f8*f9;
+ f20 = heapFloat[(r4+11)];
+ f21 = heapFloat[(r1+149)];
+ f22 = heapFloat[(r4+7)];
+ f23 = heapFloat[(r4+3)];
+ f0 = heapFloat[(fp+-6)];
+ f24 = f0*f1;
+ f0 = heapFloat[(fp+-8)];
+ f25 = f0*f2;
+ f26 = f6*f5;
+ f27 = f10*f9;
+ f28 = heapFloat[(fp+-4)];
+ f1 = f28*f1;
+ f2 = f3*f2;
+ f5 = f7*f5;
+ f9 = f11*f9;
+ f29 = heapFloat[(r1+137)];
+ f30 = heapFloat[(r1+141)];
+ f0 = heapFloat[(r1+136)];
+ f3 = heapFloat[(r1+140)];
+ f14 = heapFloat[(r1+153)];
+ f16 = heapFloat[(r1+157)];
+ f12 = f12+f13;
+ heapFloat[(fp+-14)] = f12;
+ f13 = heapFloat[(fp+-2)];
+ f17 = f13*f15;
+ f18 = f18+f19;
+ f19 = f20*f21;
+ f24 = f24+f25;
+ f25 = heapFloat[(fp+-3)];
+ f28 = f25*f15;
+ f26 = f26+f27;
+ f27 = f22*f21;
+ f1 = f1+f2;
+ heapFloat[(fp+-10)] = f1;
+ f2 = heapFloat[(fp+-1)];
+ f15 = f2*f15;
+ f5 = f5+f9;
+ heapFloat[(fp+-12)] = f5;
+ f9 = f23*f21;
+ f21 = heapFloat[(r1+145)];
+ f1 = heapFloat[(r1+144)];
+ f2 = heapFloat[(r1+161)];
+ f5 = heapFloat[(r3+84)];
+ f12 = heapFloat[(r4+84)];
+ f13 = 1.1920928955078125e-007;
+ heapFloat[(fp+-11)] = f13;
+ f25 = f29*f4;
+ heapFloat[(fp+-13)] = f25;
+ f25 = f30*f8;
+ f4 = f0*f4;
+ heapFloat[(fp+-16)] = f4;
+ f8 = f3*f8;
+ f4 = f29*f6;
+ heapFloat[(fp+-15)] = f4;
+ f4 = f30*f10;
+ f6 = f0*f6;
+ heapFloat[(fp+-18)] = f6;
+ f10 = f3*f10;
+ f29 = f29*f7;
+ f30 = f30*f11;
+ f0 = f0*f7;
+ heapFloat[(fp+-17)] = f0;
+ f3 = f3*f11;
+ f7 = heapFloat[(fp+-5)];
+ f0 = f14*f7;
+ heapFloat[(fp+-19)] = f0;
+ f6 = heapFloat[(fp+-7)];
+ f6 = f16*f6;
+ f7 = heapFloat[(fp+-6)];
+ f7 = f14*f7;
+ heapFloat[(fp+-5)] = f7;
+ f11 = heapFloat[(fp+-8)];
+ f11 = f16*f11;
+ f0 = heapFloat[(fp+-4)];
+ f0 = f14*f0;
+ heapFloat[(fp+-4)] = f0;
+ f14 = heapFloat[(fp+-9)];
+ f14 = f16*f14;
+ f16 = heapFloat[(fp+-14)];
+ f16 = f16+f17;
+ f17 = heapFloat[(r3+15)];
+ f18 = f18+f19;
+ f19 = heapFloat[(r4+15)];
+ f24 = f24+f28;
+ f28 = heapFloat[(r3+14)];
+ f26 = f26+f27;
+ f27 = heapFloat[(r4+14)];
+ f0 = heapFloat[(fp+-10)];
+ f0 = f0+f15;
+ f15 = heapFloat[(r3+13)];
+ f7 = heapFloat[(fp+-12)];
+ f7 = f7+f9;
+ f9 = heapFloat[(r4+13)];
+ r5 = r2 >> 2;
+ f16 = f16+f17;
+ f17 = f18+f19;
+ f18 = f24+f28;
+ f19 = f26+f27;
+ f0 = f0+f15;
+ f7 = f7+f9;
+ f9 = heapFloat[(fp+-13)];
+ f9 = f9+f25;
+ f15 = f21*f20;
+ f24 = heapFloat[(fp+-16)];
+ f8 = f24+f8;
+ f20 = f1*f20;
+ f24 = heapFloat[(fp+-15)];
+ f4 = f24+f4;
+ f24 = f21*f22;
+ f25 = heapFloat[(fp+-18)];
+ f10 = f25+f10;
+ f22 = f1*f22;
+ f25 = f29+f30;
+ f21 = f21*f23;
+ f26 = heapFloat[(fp+-17)];
+ f3 = f26+f3;
+ f1 = f1*f23;
+ f23 = heapFloat[(fp+-19)];
+ f6 = f23+f6;
+ f23 = heapFloat[(fp+-2)];
+ f23 = f2*f23;
+ f26 = heapFloat[(fp+-5)];
+ f11 = f26+f11;
+ f26 = heapFloat[(fp+-3)];
+ f26 = f2*f26;
+ f27 = heapFloat[(fp+-4)];
+ f14 = f27+f14;
+ f27 = heapFloat[(fp+-1)];
+ f2 = f2*f27;
+ r6 = f12 < f13;
+ r7 = f5 < f13;
+ f12 = f12+f5;
+ r8 = heap32[(r5+6)];
+ f9 = f9+f15;
+ heapFloat[(fp+-3)] = f9;
+ f8 = f8+f20;
+ f4 = f4+f24;
+ heapFloat[(fp+-2)] = f4;
+ f4 = f10+f22;
+ f9 = f25+f21;
+ heapFloat[(fp+-4)] = f9;
+ f1 = f3+f1;
+ f3 = f6+f23;
+ heapFloat[(fp+-7)] = f3;
+ f3 = f11+f26;
+ heapFloat[(fp+-6)] = f3;
+ f2 = f14+f2;
+ heapFloat[(fp+-5)] = f2;
+ f2 = f16-f17;
+ heapFloat[(fp+-8)] = f2;
+ f2 = f18-f19;
+ heapFloat[(fp+-9)] = f2;
+ f2 = f0-f7;
+ heapFloat[(fp+-10)] = f2;
+ r6 = r6 | r7;
+ f2 = 0;
+ if(f12 >f2) //_LBB596_5
+{
+ f5 = f5/f12;
+}
+else{
+ f5 = 0.5;
+}
+ f3 = 1;
+ heapFloat[(fp+-1)] = f3;
+ f6 = f3-f5;
+ f9 = heapFloat[(fp+-4)];
+ f9 = f9*f5;
+ f10 = heapFloat[(fp+-5)];
+ f10 = f10*f6;
+ f11 = heapFloat[(fp+-2)];
+ f11 = f11*f5;
+ f12 = heapFloat[(fp+-6)];
+ f12 = f12*f6;
+ f9 = f9+f10;
+ f10 = f11+f12;
+ f11 = heapFloat[(fp+-3)];
+ f11 = f11*f5;
+ f12 = heapFloat[(fp+-7)];
+ f12 = f12*f6;
+ f11 = f11+f12;
+ f12 = f9*f9;
+ f13 = f10*f10;
+ f12 = f12+f13;
+ f13 = f11*f11;
+ f12 = f12+f13;
+ heapFloat[(g0)] = f12;
+ sqrtf(i7);
+ f3 = f3/f_g0;
+ f12 = heapFloat[(r3+13)];
+ f13 = heapFloat[(r3+14)];
+ f14 = heapFloat[(r4+13)];
+ f15 = heapFloat[(r4+14)];
+ f9 = f9*f3;
+ f0 = f0-f12;
+ f7 = f7-f14;
+ f10 = f10*f3;
+ f12 = f18-f13;
+ f13 = f19-f15;
+ f14 = heapFloat[(r3+15)];
+ f15 = heapFloat[(r4+15)];
+ f3 = f11*f3;
+ f11 = f16-f14;
+ f14 = f17-f15;
+ f15 = f0*f9;
+ f16 = f12*f10;
+ f17 = f7*f9;
+ f18 = f13*f10;
+ f15 = f15+f16;
+ f16 = f11*f3;
+ f17 = f17+f18;
+ f18 = f14*f3;
+ f15 = f15+f16;
+ f16 = f17+f18;
+ f17 = f10*f15;
+ f18 = f10*f16;
+ f19 = f9*f15;
+ f20 = f9*f16;
+ f15 = f3*f15;
+ f16 = f3*f16;
+ f12 = f12-f17;
+ f13 = f13-f18;
+ f0 = f0-f19;
+ f7 = f7-f20;
+ f11 = f11-f15;
+ f14 = f14-f16;
+ f21 = f12*f5;
+ f22 = f13*f6;
+ f23 = f0*f5;
+ f24 = f7*f6;
+ f21 = f21+f22;
+ f22 = f23+f24;
+ f23 = f11*f5;
+ f24 = f14*f6;
+ f15 = f16-f15;
+ f16 = f18-f17;
+ f17 = f20-f19;
+ f18 = f23+f24;
+ f19 = f22*f22;
+ f20 = f21*f21;
+ f23 = f15*f5;
+ f24 = f16*f5;
+ f25 = f17*f5;
+ f15 = f15*f6;
+ f16 = f16*f6;
+ f17 = f17*f6;
+ f19 = f19+f20;
+ f20 = f18*f18;
+ f19 = f19+f20;
+ r7 = r8 << 1;
+ f14 = f14+f23;
+ f13 = f13+f24;
+ f7 = f7+f25;
+ f11 = f11-f15;
+ f12 = f12-f16;
+ f0 = f0-f17;
+ f15 = heapFloat[(fp+-11)];
+ if(f19 >f15) //_LBB596_8
+{
+ heapFloat[(g0)] = f19;
+ sqrtf(i7);
+ f4 = heapFloat[(fp+-1)];
+ f8 = f4/f_g0;
+ f1 = f22*f8;
+ f4 = f21*f8;
+ f8 = f18*f8;
+}
+ r9 = heap32[(r5+3)];
+ f15 = f13*f8;
+ f16 = f14*f4;
+ r9 = r9 >> 2;
+ f15 = f15-f16;
+ heapFloat[(r9)] = f15;
+ r9 = heap32[(r5+3)];
+ f15 = f14*f1;
+ f16 = f7*f8;
+ r9 = r9 >> 2;
+ f15 = f15-f16;
+ heapFloat[(r9+1)] = f15;
+ r9 = heap32[(r5+3)];
+ f15 = f7*f4;
+ f16 = f13*f1;
+ r9 = r9 >> 2;
+ f15 = f15-f16;
+ heapFloat[(r9+2)] = f15;
+ f15 = f12*f8;
+ f16 = f11*f4;
+ f15 = f15-f16;
+ r9 = heap32[(r5+5)];
+ r9 = r9 >> 2;
+ f15 = -f15;
+ heapFloat[(r9)] = f15;
+ f15 = f11*f1;
+ f16 = f0*f8;
+ f15 = f15-f16;
+ r9 = heap32[(r5+5)];
+ f16 = f10*f8;
+ f17 = f3*f4;
+ f18 = f9*f4;
+ f19 = f10*f1;
+ f20 = f3*f1;
+ f21 = f9*f8;
+ r9 = r9 >> 2;
+ f15 = -f15;
+ f16 = f16-f17;
+ f17 = f18-f19;
+ f18 = f20-f21;
+ heapFloat[(r9+1)] = f15;
+ f15 = f0*f4;
+ f19 = f12*f1;
+ f15 = f15-f19;
+ r9 = heap32[(r5+5)];
+ f19 = f7*f18;
+ f20 = f13*f16;
+ f21 = f14*f16;
+ f22 = f7*f17;
+ f23 = f13*f17;
+ f24 = f14*f18;
+ f25 = f0*f18;
+ f26 = f12*f16;
+ f27 = f11*f16;
+ f28 = f0*f17;
+ f29 = f12*f17;
+ f30 = f11*f18;
+ f19 = f19-f20;
+ f20 = f21-f22;
+ f21 = f23-f24;
+ f22 = f25-f26;
+ f23 = f27-f28;
+ f24 = f29-f30;
+ r9 = r9 >> 2;
+ f15 = -f15;
+ heapFloat[(r9+2)] = f15;
+ if(r6 != 0) //_LBB596_11
+{
+ r9 = heapU8[r0+722];
+if(!(r9 ==0)) //_LBB596_10
+{
+ f24 = f24*f6;
+ f23 = f23*f6;
+ f22 = f22*f6;
+ f21 = f21*f5;
+ f20 = f20*f5;
+ f19 = f19*f5;
+}
+}
+ r9 = r8 << 2;
+ r10 = heap32[(r5+3)];
+ r10 = (r10 + r9)|0;
+ r10 = r10 >> 2;
+ r11 = (r8 + 1)|0;
+ heapFloat[(r10)] = f21;
+ r10 = r11 << 2;
+ r11 = heap32[(r5+3)];
+ r11 = (r11 + r10)|0;
+ r11 = r11 >> 2;
+ r12 = (r8 + 2)|0;
+ heapFloat[(r11)] = f20;
+ r11 = r12 << 2;
+ r12 = heap32[(r5+3)];
+ r12 = (r12 + r11)|0;
+ r12 = r12 >> 2;
+ heapFloat[(r12)] = f19;
+ r12 = heap32[(r5+5)];
+ r12 = (r12 + r9)|0;
+ r12 = r12 >> 2;
+ f15 = -f24;
+ heapFloat[(r12)] = f15;
+ r12 = heap32[(r5+5)];
+ r10 = (r12 + r10)|0;
+ r10 = r10 >> 2;
+ f15 = -f23;
+ heapFloat[(r10)] = f15;
+ r10 = heap32[(r5+5)];
+ r10 = (r10 + r11)|0;
+ f15 = f7*f10;
+ f19 = f13*f9;
+ f20 = f14*f9;
+ f7 = f7*f3;
+ f13 = f13*f3;
+ f14 = f14*f10;
+ f21 = f0*f10;
+ f23 = f12*f9;
+ f24 = f11*f9;
+ f0 = f0*f3;
+ f12 = f12*f3;
+ f11 = f11*f10;
+ f15 = f15-f19;
+ f7 = f20-f7;
+ f13 = f13-f14;
+ f14 = f21-f23;
+ f0 = f24-f0;
+ f11 = f12-f11;
+ r10 = r10 >> 2;
+ f12 = -f22;
+ heapFloat[(r10)] = f12;
+ if(r6 != 0) //_LBB596_15
+{
+ f11 = f11*f6;
+ f0 = f0*f6;
+ f14 = f14*f6;
+ f13 = f13*f5;
+ f7 = f7*f5;
+ f15 = f15*f5;
+}
+ r6 = r7 << 2;
+ r10 = heap32[(r5+3)];
+ r10 = (r10 + r6)|0;
+ r10 = r10 >> 2;
+ r11 = r7 | 1;
+ heapFloat[(r10)] = f13;
+ r10 = r11 << 2;
+ r11 = heap32[(r5+3)];
+ r11 = (r11 + r10)|0;
+ r11 = r11 >> 2;
+ r7 = (r7 + 2)|0;
+ heapFloat[(r11)] = f7;
+ r7 = r7 << 2;
+ r11 = heap32[(r5+3)];
+ r11 = (r11 + r7)|0;
+ r11 = r11 >> 2;
+ heapFloat[(r11)] = f15;
+ r11 = heap32[(r5+5)];
+ r11 = (r11 + r6)|0;
+ r11 = r11 >> 2;
+ f5 = -f11;
+ heapFloat[(r11)] = f5;
+ r11 = heap32[(r5+5)];
+ r11 = (r11 + r10)|0;
+ r11 = r11 >> 2;
+ f0 = -f0;
+ heapFloat[(r11)] = f0;
+ r11 = heap32[(r5+5)];
+ r7 = (r11 + r7)|0;
+ r7 = r7 >> 2;
+ f0 = -f14;
+ heapFloat[(r7)] = f0;
+ r7 = heapU8[r0+720];
+if(!(r7 !=0)) //_LBB596_18
+{
+ f0 = heapFloat[(r5)];
+ f5 = heapFloat[(r5+1)];
+ f0 = f0*f5;
+ r7 = heap32[(r5+2)];
+ r7 = r7 >> 2;
+ heapFloat[(r7)] = f1;
+ r7 = heap32[(r5+2)];
+ r7 = r7 >> 2;
+ heapFloat[(r7+1)] = f4;
+ r7 = heap32[(r5+2)];
+ r7 = r7 >> 2;
+ heapFloat[(r7+2)] = f8;
+ r7 = heap32[(r5+2)];
+ r7 = (r7 + r9)|0;
+ r7 = r7 >> 2;
+ heapFloat[(r7)] = f16;
+ r7 = heap32[(r5+2)];
+ r7 = (r7 + r9)|0;
+ r7 = r7 >> 2;
+ heapFloat[(r7+1)] = f18;
+ r7 = heap32[(r5+2)];
+ r7 = (r7 + r9)|0;
+ r7 = r7 >> 2;
+ heapFloat[(r7+2)] = f17;
+ r7 = heap32[(r5+2)];
+ r7 = (r7 + r6)|0;
+ r7 = r7 >> 2;
+ heapFloat[(r7)] = f9;
+ r7 = heap32[(r5+2)];
+ r7 = (r7 + r10)|0;
+ r7 = r7 >> 2;
+ heapFloat[(r7)] = f10;
+ r7 = heap32[(r5+2)];
+ r7 = (r7 + r6)|0;
+ r7 = r7 >> 2;
+ f5 = heapFloat[(fp+-10)];
+ f6 = f1*f5;
+ f7 = heapFloat[(fp+-9)];
+ f11 = f4*f7;
+ heapFloat[(r7+2)] = f3;
+ f6 = f6+f11;
+ f11 = heapFloat[(fp+-8)];
+ f12 = f8*f11;
+ r7 = heap32[(r5+7)];
+ f6 = f6+f12;
+ r7 = r7 >> 2;
+ f6 = f6*f0;
+ heapFloat[(r7)] = f6;
+ f6 = f16*f5;
+ f12 = f18*f7;
+ r7 = heap32[(r5+7)];
+ f6 = f6+f12;
+ f12 = f17*f11;
+ r7 = (r7 + r9)|0;
+ f6 = f6+f12;
+ r7 = r7 >> 2;
+ f6 = f6*f0;
+ heapFloat[(r7)] = f6;
+ f5 = f9*f5;
+ f6 = f10*f7;
+ r7 = heap32[(r5+7)];
+ f5 = f5+f6;
+ f6 = f3*f11;
+ r6 = (r7 + r6)|0;
+ f5 = f5+f6;
+ r6 = r6 >> 2;
+ f0 = f5*f0;
+ heapFloat[(r6)] = f0;
+}
+ r2 = (r2 + 4)|0;
+ r6 = (r8 * 3)|0;
+ r7 = r6 << 2;
+ r9 = heap32[(r5+3)];
+ r9 = (r9 + r7)|0;
+ r9 = r9 >> 2;
+ r10 = (r6 + 1)|0;
+ heapFloat[(r9)] = f1;
+ r9 = r10 << 2;
+ r10 = heap32[(r5+3)];
+ r10 = (r10 + r9)|0;
+ r10 = r10 >> 2;
+ r6 = (r6 + 2)|0;
+ heapFloat[(r10)] = f4;
+ r6 = r6 << 2;
+ r10 = heap32[(r5+3)];
+ r10 = (r10 + r6)|0;
+ r10 = r10 >> 2;
+ heapFloat[(r10)] = f8;
+ r8 = r8 << 4;
+ r10 = heap32[(r5+3)];
+ r10 = (r10 + r8)|0;
+ r10 = r10 >> 2;
+ heapFloat[(r10)] = f16;
+ r10 = r8 | 4;
+ r11 = heap32[(r5+3)];
+ r11 = (r11 + r10)|0;
+ r11 = r11 >> 2;
+ heapFloat[(r11)] = f18;
+ r11 = r8 | 8;
+ r12 = heap32[(r5+3)];
+ r12 = (r12 + r11)|0;
+ r12 = r12 >> 2;
+ heapFloat[(r12)] = f17;
+ r12 = heap32[(r5+5)];
+ r12 = (r12 + r7)|0;
+ r12 = r12 >> 2;
+ f0 = -f1;
+ heapFloat[(r12)] = f0;
+ r12 = heap32[(r5+5)];
+ r9 = (r12 + r9)|0;
+ r9 = r9 >> 2;
+ f0 = -f4;
+ heapFloat[(r9)] = f0;
+ r9 = heap32[(r5+5)];
+ r6 = (r9 + r6)|0;
+ r6 = r6 >> 2;
+ f0 = -f8;
+ heapFloat[(r6)] = f0;
+ r6 = heap32[(r5+5)];
+ r6 = (r6 + r8)|0;
+ r6 = r6 >> 2;
+ f0 = -f16;
+ heapFloat[(r6)] = f0;
+ r6 = heap32[(r5+5)];
+ r6 = (r6 + r10)|0;
+ r6 = r6 >> 2;
+ f0 = -f18;
+ heapFloat[(r6)] = f0;
+ r6 = heap32[(r5+5)];
+ r6 = (r6 + r11)|0;
+ f5 = heapFloat[(fp+-7)];
+ f0 = heapFloat[(fp+-2)];
+ f6 = f0*f5;
+ f11 = heapFloat[(fp+-6)];
+ f7 = heapFloat[(fp+-3)];
+ f12 = f7*f11;
+ f13 = heapFloat[(fp+-5)];
+ f7 = f7*f13;
+ f14 = heapFloat[(fp+-4)];
+ f5 = f14*f5;
+ f6 = f6-f12;
+ f5 = f7-f5;
+ f7 = f14*f11;
+ f0 = f0*f13;
+ r6 = r6 >> 2;
+ f11 = -f17;
+ heapFloat[(r6)] = f11;
+ f0 = f7-f0;
+ f1 = f6*f1;
+ f4 = f5*f4;
+ r6 = heap32[(r5+7)];
+ f1 = f1+f4;
+ f4 = f0*f8;
+ f7 = heapFloat[(r5)];
+ f8 = heapFloat[(r5+1)];
+ r6 = (r6 + r7)|0;
+ f1 = f1+f4;
+ f4 = f7*f8;
+ r6 = r6 >> 2;
+ f1 = f1*f4;
+ heapFloat[(r6)] = f1;
+ f1 = f6*f16;
+ f5 = f5*f18;
+ r6 = heap32[(r5+7)];
+ f1 = f1+f5;
+ f0 = f0*f17;
+ r6 = (r6 + r8)|0;
+ f0 = f1+f0;
+ r6 = r6 >> 2;
+ f0 = f0*f4;
+ heapFloat[(r6)] = f0;
+ r6 = heapU8[r0+722];
+ if(r6 !=0) //_LBB596_20
+{
+ f0 = heapFloat[(r1+176)];
+ f1 = heapFloat[(r1+179)];
+ f0 = f0*f1;
+ r6 = 1;
+ r7 = 2;
+ r6 = f0 > f2 ? r6 : r7;
+}
+else{
+ f0 = 0;
+ r6 = 0;
+}
+ r7 = heapU8[r0+721];
+ r8 = 0;
+ r9 = r7 != r8;
+ r9 = r9 & 1;
+ r9 = r9 | r6;
+ if(r9 ==0) //_LBB596_59
+{
+__label__ = 54;
+}
+else{
+ r9 = heap32[(r5+6)];
+ r9 = (r9 * 5)|0;
+ r10 = heap32[(r5+3)];
+ r11 = r9 << 2;
+ r10 = (r10 + r11)|0;
+ r10 = r10 >> 2;
+ r12 = (r9 + 1)|0;
+ heapFloat[(r10)] = f9;
+ r10 = r12 << 2;
+ r12 = heap32[(r5+3)];
+ r12 = (r12 + r10)|0;
+ r12 = r12 >> 2;
+ r9 = (r9 + 2)|0;
+ heapFloat[(r12)] = f10;
+ r9 = r9 << 2;
+ r12 = heap32[(r5+3)];
+ r12 = (r12 + r9)|0;
+ r12 = r12 >> 2;
+ heapFloat[(r12)] = f3;
+ r12 = heap32[(r5+5)];
+ r12 = (r12 + r11)|0;
+ r12 = r12 >> 2;
+ f1 = -f9;
+ heapFloat[(r12)] = f1;
+ r12 = heap32[(r5+5)];
+ r10 = (r12 + r10)|0;
+ r10 = r10 >> 2;
+ f1 = -f10;
+ heapFloat[(r10)] = f1;
+ r10 = heap32[(r5+5)];
+ r9 = (r10 + r9)|0;
+ r9 = r9 >> 2;
+ f1 = -f3;
+ heapFloat[(r9)] = f1;
+ r9 = heap32[(r5+7)];
+ r9 = (r9 + r11)|0;
+ f1 = heapFloat[(r1+172)];
+ f4 = heapFloat[(r1+173)];
+ r9 = r9 >> 2;
+ heap32[(r9)] = 0;
+ r9 = r6 != r8;
+ r10 = f1 == f4;
+ r12 = heap32[(r1+183)];
+ r9 = r9 & r10;
+ r10 = r12 & 2;
+ if(r10 !=0) //_LBB596_24
+{
+ r2 = (r0 + 744)|0;
+}
+ r2 = r2 >> 2;
+ f5 = heapFloat[(r2)];
+ r2 = r7 == r8;
+ r2 = r9 | r2;
+if(!(r2 != 0)) //_LBB596_42
+{
+ r2 = r12 & 4;
+if(!(r2 ==0)) //_LBB596_28
+{
+ r2 = heap32[(r5+8)];
+ r2 = (r2 + r11)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = heap32[(r1+184)];
+}
+ f6 = heapFloat[(r1+167)];
+_94: do {
+ if(f1 <f4) //_LBB596_30
+{
+ f7 = heapFloat[(r1+178)];
+ f8 = heapFloat[(r5)];
+ f8 = f8*f5;
+ f8 = f6/f8;
+ if(f8 >=f2) //_LBB596_35
+{
+ if(f8 >f2) //_LBB596_37
+{
+if(!(f7 >f4)) //_LBB596_40
+{
+ f2 = f4-f8;
+if(!(f2 >=f7)) //_LBB596_40
+{
+ f2 = f4-f7;
+ f2 = f2/f8;
+break _94;
+}
+}
+ f2 = 0;
+ f8 = heapFloat[(fp+-1)];
+ f2 = f7 > f4 ? f2 : f8;
+}
+else{
+break _94;
+}
+}
+else{
+if(!(f7 <f1)) //_LBB596_34
+{
+ f2 = f1-f8;
+if(!(f2 <=f7)) //_LBB596_34
+{
+ f2 = f1-f7;
+ f2 = f2/f8;
+break _94;
+}
+}
+ f2 = 0;
+ f8 = heapFloat[(fp+-1)];
+ f2 = f7 < f1 ? f2 : f8;
+}
+}
+else{
+ f7 = heapFloat[(fp+-1)];
+ f2 = f1 > f4 ? f7 : f2;
+}
+} while(0);
+ r2 = heap32[(r5+7)];
+ r2 = (r2 + r11)|0;
+ r2 = r2 >> 2;
+ f2 = f6*f2;
+ f6 = heapFloat[(r1+179)];
+ f7 = heapFloat[(r2)];
+ f2 = f2*f6;
+ f2 = f7+f2;
+ heapFloat[(r2)] = f2;
+ r2 = heap32[(r5+9)];
+ f2 = heapFloat[(r1+168)];
+ r2 = (r2 + r11)|0;
+ r2 = r2 >> 2;
+ f2 = -f2;
+ heapFloat[(r2)] = f2;
+ r2 = heap32[(r5+10)];
+ r2 = (r2 + r11)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = heap32[(r1+168)];
+}
+ if(r6 ==0) //_LBB596_59
+{
+__label__ = 54;
+}
+else{
+ r2 = heap32[(r5+7)];
+ r2 = (r2 + r11)|0;
+ f2 = heapFloat[(r5)];
+ r2 = r2 >> 2;
+ f2 = f2*f5;
+ f5 = heapFloat[(r2)];
+ f0 = f2*f0;
+ f0 = f5+f0;
+ heapFloat[(r2)] = f0;
+ r0 = heapU8[r0+732];
+ r0 = r0 & 1;
+if(!(r0 ==0)) //_LBB596_45
+{
+ r0 = heap32[(r5+8)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = heap32[(r1+185)];
+}
+ if(f1 !=f4) //_LBB596_47
+{
+ r0 = heap32[(r5+9)];
+ if(r6 !=1) //_LBB596_49
+{
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = -8388609;
+ r0 = heap32[(r5+10)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+}
+else{
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+ r0 = heap32[(r5+10)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 2139095039;
+}
+}
+else{
+ r0 = heap32[(r5+9)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = -8388609;
+ r0 = heap32[(r5+10)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 2139095039;
+}
+ f0 = heapFloat[(r1+171)];
+ f1 = 0;
+ if(f0 <=f1) //_LBB596_58
+{
+__label__ = 53;
+}
+else{
+ f2 = heapFloat[(r4+80)];
+ f4 = heapFloat[(r3+80)];
+ f5 = heapFloat[(r4+81)];
+ f6 = heapFloat[(r3+81)];
+ f2 = f2*f9;
+ f5 = f5*f10;
+ f7 = heapFloat[(r4+82)];
+ f8 = heapFloat[(r3+82)];
+ f4 = f4*f9;
+ f6 = f6*f10;
+ f2 = f2+f5;
+ f5 = f7*f3;
+ f4 = f4+f6;
+ f3 = f8*f3;
+ f2 = f2+f5;
+ f3 = f4+f3;
+ f2 = f2-f3;
+ if(r6 !=1) //_LBB596_55
+{
+ if(f2 <=f1) //_LBB596_58
+{
+__label__ = 53;
+}
+else{
+ r0 = heap32[(r5+7)];
+ f0 = -f0;
+ r0 = (r0 + r11)|0;
+ f0 = f2*f0;
+ r0 = r0 >> 2;
+ f1 = heapFloat[(r0)];
+ if(f1 <=f0) //_LBB596_58
+{
+__label__ = 53;
+}
+else{
+ heapFloat[(r0)] = f0;
+__label__ = 53;
+}
+}
+}
+else{
+ if(f2 >=f1) //_LBB596_58
+{
+__label__ = 53;
+}
+else{
+ r0 = heap32[(r5+7)];
+ f0 = -f0;
+ r0 = (r0 + r11)|0;
+ f0 = f2*f0;
+ r0 = r0 >> 2;
+ f1 = heapFloat[(r0)];
+ if(f1 >=f0) //_LBB596_58
+{
+__label__ = 53;
+}
+else{
+ heapFloat[(r0)] = f0;
+__label__ = 53;
+}
+}
+}
+}
+}
+}
+}
+else{
+ r0 = _2E_str1149;
+ r1 = _2E_str231;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 682;
+ _assert(i7);
+}
+}
+} while(0);
+if (__label__ == 53){
+ r0 = heap32[(r5+7)];
+ r0 = (r0 + r11)|0;
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0)];
+ f1 = heapFloat[(r1+170)];
+ f0 = f0*f1;
+ heapFloat[(r0)] = f0;
+}
+ return;
+}
+
+function _ZN17btHingeConstraint8setParamEifi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+if(!(r0 ==-1)) //_LBB597_2
+{
+ if(r0 !=5) //_LBB597_9
+{
+ r0 = _2E_str10;
+ r1 = _2E_str231;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 969;
+ _assert(i7);
+}
+}
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ f0 = heapFloat[(fp+2)];
+ if(r1 ==4) //_LBB597_6
+{
+ r0 = r0 >> 2;
+ heapFloat[(r0+185)] = f0;
+ r1 = heap32[(r0+183)];
+ r1 = r1 | 1;
+ heap32[(r0+183)] = r1;
+ return;
+}
+else{
+ if(r1 ==3) //_LBB597_7
+{
+ r0 = r0 >> 2;
+ heapFloat[(r0+184)] = f0;
+ r1 = heap32[(r0+183)];
+ r1 = r1 | 4;
+ heap32[(r0+183)] = r1;
+ return;
+}
+else{
+ if(r1 !=2) //_LBB597_8
+{
+ r0 = _2E_str10;
+ r1 = _2E_str231;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 964;
+ _assert(i7);
+}
+else{
+ r0 = r0 >> 2;
+ heapFloat[(r0+186)] = f0;
+ r1 = heap32[(r0+183)];
+ r1 = r1 | 2;
+ heap32[(r0+183)] = r1;
+ return;
+}
+}
+}
+}
+
+function _ZNK17btHingeConstraint8getParamEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+if(!(r0 ==-1)) //_LBB598_2
+{
+ if(r0 !=5) //_LBB598_15
+{
+ r0 = _2E_str10;
+ r1 = _2E_str231;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 999;
+ _assert(i7);
+}
+}
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ if(r1 ==4) //_LBB598_8
+{
+ r1 = heapU8[r0+732];
+ r1 = r1 & 1;
+ if(r1 != 0) //_LBB598_10
+{
+ r0 = (r0 + 740)|0;
+}
+else{
+ r0 = _2E_str332;
+ r1 = _2E_str231;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 986;
+ _assert(i7);
+}
+}
+else{
+ if(r1 ==3) //_LBB598_11
+{
+ r1 = heapU8[r0+732];
+ r1 = r1 & 4;
+ if(r1 !=0) //_LBB598_13
+{
+ r0 = (r0 + 736)|0;
+}
+else{
+ r0 = _2E_str433;
+ r1 = _2E_str231;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 990;
+ _assert(i7);
+}
+}
+else{
+ if(r1 !=2) //_LBB598_14
+{
+ r0 = _2E_str10;
+ r1 = _2E_str231;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 994;
+ _assert(i7);
+}
+else{
+ r1 = heapU8[r0+732];
+ r1 = r1 & 2;
+ if(r1 !=0) //_LBB598_7
+{
+ r0 = (r0 + 744)|0;
+}
+else{
+ r0 = _2E_str130;
+ r1 = _2E_str231;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 982;
+ _assert(i7);
+}
+}
+}
+}
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0)];
+ f_g0 = f0;
+ return;
+}
+
+function _ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2+135)];
+ f1 = heapFloat[(r0+4)];
+ f2 = heapFloat[(r0)];
+ f3 = heapFloat[(r2+136)];
+ f4 = heapFloat[(r2+139)];
+ f5 = heapFloat[(r0+5)];
+ f6 = heapFloat[(r0+1)];
+ f7 = heapFloat[(r2+140)];
+ f8 = heapFloat[(r2+152)];
+ f9 = heapFloat[(r1+4)];
+ f10 = heapFloat[(r1)];
+ f11 = heapFloat[(r2+156)];
+ f12 = heapFloat[(r1+5)];
+ f13 = heapFloat[(r1+1)];
+ f14 = heapFloat[(r0+8)];
+ f15 = heapFloat[(r0+9)];
+ f16 = heapFloat[(r1+8)];
+ f17 = heapFloat[(r1+9)];
+ f18 = f2*f0;
+ f19 = f6*f4;
+ f20 = f1*f0;
+ f21 = f5*f4;
+ f10 = f10*f8;
+ f13 = f13*f11;
+ f2 = f2*f3;
+ f6 = f6*f7;
+ f9 = f9*f8;
+ f12 = f12*f11;
+ f1 = f1*f3;
+ f5 = f5*f7;
+ f22 = heapFloat[(r2+143)];
+ f23 = heapFloat[(r0+6)];
+ f24 = heapFloat[(r0+2)];
+ f25 = heapFloat[(r2+144)];
+ f26 = heapFloat[(r2+160)];
+ f27 = heapFloat[(r1+6)];
+ f28 = heapFloat[(r1+2)];
+ f29 = heapFloat[(r0+10)];
+ f30 = heapFloat[(r1+10)];
+ f18 = f18+f19;
+ f19 = f24*f22;
+ f20 = f20+f21;
+ f21 = f23*f22;
+ f0 = f14*f0;
+ f4 = f15*f4;
+ f10 = f10+f13;
+ f13 = f28*f26;
+ f2 = f2+f6;
+ f6 = f24*f25;
+ f9 = f9+f12;
+ f12 = f27*f26;
+ f1 = f1+f5;
+ f5 = f23*f25;
+ f8 = f16*f8;
+ f11 = f17*f11;
+ f3 = f14*f3;
+ f7 = f15*f7;
+ f14 = f18+f19;
+ f10 = f10+f13;
+ f2 = f2+f6;
+ f6 = f20+f21;
+ f9 = f9+f12;
+ f1 = f1+f5;
+ f0 = f0+f4;
+ f4 = f29*f22;
+ f5 = f8+f11;
+ f8 = f30*f26;
+ f3 = f3+f7;
+ f7 = f29*f25;
+ f11 = f10*f14;
+ f6 = f9*f6;
+ f0 = f0+f4;
+ f4 = f5+f8;
+ f3 = f3+f7;
+ f2 = f10*f2;
+ f1 = f9*f1;
+ f5 = f11+f6;
+ f0 = f4*f0;
+ f1 = f2+f1;
+ f2 = f4*f3;
+ f0 = f5+f0;
+ f1 = f1+f2;
+ heapFloat[(g0)] = f0;
+ heapFloat[(g0+1)] = f1;
+ atan2f(i7);
+ f1 = heapFloat[(r2+179)];
+ f0 = f1*f_g0;
+ f_g0 = f0;
+ return;
+}
+
+function _ZN18btConstraintSolver12prepareSolveEii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+2)];
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ r2 = heap32[(fp+1)];
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r1+4)];
+ f1 = heapFloat[(r0+126)];
+ f2 = heapFloat[(r1+5)];
+ f3 = heapFloat[(r0+127)];
+ f4 = heapFloat[(r1)];
+ f5 = heapFloat[(r0+130)];
+ f6 = heapFloat[(r1+1)];
+ f7 = heapFloat[(r0+131)];
+ f8 = heapFloat[(r2+126)];
+ f9 = heapFloat[(r2+127)];
+ f10 = heapFloat[(r1+6)];
+ f11 = heapFloat[(r0+128)];
+ f1 = f0*f1;
+ f3 = f2*f3;
+ f4 = f4*f5;
+ f5 = f6*f7;
+ f6 = heapFloat[(r1+2)];
+ f7 = heapFloat[(r0+132)];
+ f12 = heapFloat[(r1+8)];
+ f13 = heapFloat[(r2+130)];
+ f14 = heapFloat[(r1+9)];
+ f15 = heapFloat[(r2+131)];
+ f16 = heapFloat[(r2+128)];
+ f1 = f1+f3;
+ f3 = f10*f11;
+ f4 = f4+f5;
+ f5 = f6*f7;
+ f6 = f12*f13;
+ f7 = f14*f15;
+ f11 = heapFloat[(r1+10)];
+ f12 = heapFloat[(r2+132)];
+ f8 = f0*f8;
+ f9 = f2*f9;
+ f13 = heapFloat[(r1+21)];
+ f14 = heapFloat[(r1+30)];
+ f1 = f1+f3;
+ f3 = f4+f5;
+ f4 = f6+f7;
+ f5 = f11*f12;
+ f6 = f8+f9;
+ f7 = f10*f16;
+ f8 = heapFloat[(r1+29)];
+ f9 = f13*f14;
+ f1 = f1+f3;
+ f3 = heapFloat[(r1+23)];
+ f4 = f4+f5;
+ f5 = f6+f7;
+ f4 = f4-f5;
+ f5 = f8-f9;
+ f1 = f3*f1;
+ f1 = f5-f1;
+ f3 = f3*f4;
+ f1 = f1-f3;
+ f3 = heapFloat[(r1+31)];
+ f4 = f13+f1;
+ if(f3 <=f4) //_LBB602_2
+{
+ f3 = heapFloat[(r1+32)];
+ if(f3 >=f4) //_LBB602_4
+{
+ heapFloat[(r1+21)] = f4;
+}
+else{
+ f1 = f3-f13;
+ heapFloat[(r1+21)] = f3;
+}
+}
+else{
+ f1 = f3-f13;
+ heapFloat[(r1+21)] = f3;
+}
+ f3 = heapFloat[(r0+84)];
+ f4 = 0;
+if(!(f3 ==f4)) //_LBB602_7
+{
+ f3 = heapFloat[(r0+138)];
+ f0 = f0*f3;
+ f0 = f0*f1;
+ f3 = heapFloat[(r0+126)];
+ f5 = heapFloat[(r0+139)];
+ f6 = heapFloat[(r0+140)];
+ f0 = f3+f0;
+ f2 = f2*f5;
+ heapFloat[(r0+126)] = f0;
+ f0 = f2*f1;
+ f2 = heapFloat[(r0+127)];
+ f0 = f2+f0;
+ f2 = f10*f6;
+ heapFloat[(r0+127)] = f0;
+ f0 = f2*f1;
+ f2 = heapFloat[(r0+128)];
+ f0 = f2+f0;
+ heapFloat[(r0+128)] = f0;
+ f0 = heapFloat[(r0+134)];
+ f0 = f0*f1;
+ f2 = heapFloat[(r1+12)];
+ f3 = heapFloat[(r0+136)];
+ f5 = heapFloat[(r0+135)];
+ f0 = f2*f0;
+ f2 = heapFloat[(r0+130)];
+ f6 = heapFloat[(r1+14)];
+ f7 = heapFloat[(r1+13)];
+ f0 = f2+f0;
+ f2 = f5*f1;
+ heapFloat[(r0+130)] = f0;
+ f0 = f7*f2;
+ f2 = heapFloat[(r0+131)];
+ f0 = f2+f0;
+ f2 = f3*f1;
+ heapFloat[(r0+131)] = f0;
+ f0 = f6*f2;
+ f2 = heapFloat[(r0+132)];
+ f0 = f2+f0;
+ heapFloat[(r0+132)] = f0;
+}
+ f0 = heapFloat[(r2+84)];
+if(!(f0 ==f4)) //_LBB602_9
+{
+ f0 = heapFloat[(r1+4)];
+ f2 = heapFloat[(r2+138)];
+ f0 = f2*f0;
+ f0 = f0*f1;
+ f2 = heapFloat[(r2+126)];
+ f3 = heapFloat[(r1+5)];
+ f4 = heapFloat[(r2+139)];
+ f5 = heapFloat[(r1+6)];
+ f6 = heapFloat[(r2+140)];
+ f0 = f2-f0;
+ f2 = f4*f3;
+ heapFloat[(r2+126)] = f0;
+ f0 = f2*f1;
+ f2 = heapFloat[(r2+127)];
+ f0 = f2-f0;
+ f2 = f6*f5;
+ heapFloat[(r2+127)] = f0;
+ f0 = f2*f1;
+ f2 = heapFloat[(r2+128)];
+ f0 = f2-f0;
+ heapFloat[(r2+128)] = f0;
+ f0 = heapFloat[(r2+134)];
+ f0 = f0*f1;
+ f2 = heapFloat[(r1+16)];
+ f3 = heapFloat[(r2+136)];
+ f4 = heapFloat[(r2+135)];
+ f0 = f2*f0;
+ f2 = heapFloat[(r2+130)];
+ f5 = heapFloat[(r1+18)];
+ f6 = heapFloat[(r1+17)];
+ f0 = f2+f0;
+ f2 = f4*f1;
+ heapFloat[(r2+130)] = f0;
+ f0 = f6*f2;
+ f2 = heapFloat[(r2+131)];
+ f0 = f2+f0;
+ f1 = f3*f1;
+ heapFloat[(r2+131)] = f0;
+ f0 = f5*f1;
+ f1 = heapFloat[(r2+132)];
+ f0 = f1+f0;
+ heapFloat[(r2+132)] = f0;
+}
+ return;
+}
+
+function _ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+2)];
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ r2 = heap32[(fp+1)];
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r1+4)];
+ f1 = heapFloat[(r0+126)];
+ f2 = heapFloat[(r1+5)];
+ f3 = heapFloat[(r0+127)];
+ f4 = heapFloat[(r1)];
+ f5 = heapFloat[(r0+130)];
+ f6 = heapFloat[(r1+1)];
+ f7 = heapFloat[(r0+131)];
+ f8 = heapFloat[(r2+126)];
+ f9 = heapFloat[(r2+127)];
+ f10 = heapFloat[(r1+6)];
+ f11 = heapFloat[(r0+128)];
+ f1 = f0*f1;
+ f3 = f2*f3;
+ f4 = f4*f5;
+ f5 = f6*f7;
+ f6 = heapFloat[(r1+2)];
+ f7 = heapFloat[(r0+132)];
+ f12 = heapFloat[(r1+8)];
+ f13 = heapFloat[(r2+130)];
+ f14 = heapFloat[(r1+9)];
+ f15 = heapFloat[(r2+131)];
+ f16 = heapFloat[(r2+128)];
+ f1 = f1+f3;
+ f3 = f10*f11;
+ f4 = f4+f5;
+ f5 = f6*f7;
+ f6 = f12*f13;
+ f7 = f14*f15;
+ f11 = heapFloat[(r1+10)];
+ f12 = heapFloat[(r2+132)];
+ f8 = f0*f8;
+ f9 = f2*f9;
+ f13 = heapFloat[(r1+21)];
+ f14 = heapFloat[(r1+30)];
+ f1 = f1+f3;
+ f3 = f4+f5;
+ f4 = f6+f7;
+ f5 = f11*f12;
+ f6 = f8+f9;
+ f7 = f10*f16;
+ f8 = heapFloat[(r1+29)];
+ f9 = f13*f14;
+ f1 = f1+f3;
+ f3 = heapFloat[(r1+23)];
+ f4 = f4+f5;
+ f5 = f6+f7;
+ f4 = f4-f5;
+ f5 = f8-f9;
+ f1 = f3*f1;
+ f1 = f5-f1;
+ f3 = f3*f4;
+ f1 = f1-f3;
+ f3 = heapFloat[(r1+31)];
+ f4 = f13+f1;
+ if(f3 >f4) //_LBB603_2
+{
+ f1 = f3-f13;
+ f4 = f3;
+}
+ heapFloat[(r1+21)] = f4;
+ f3 = heapFloat[(r0+84)];
+ f4 = 0;
+if(!(f3 ==f4)) //_LBB603_5
+{
+ f3 = heapFloat[(r0+138)];
+ f0 = f0*f3;
+ f0 = f0*f1;
+ f3 = heapFloat[(r0+126)];
+ f5 = heapFloat[(r0+139)];
+ f6 = heapFloat[(r0+140)];
+ f0 = f3+f0;
+ f2 = f2*f5;
+ heapFloat[(r0+126)] = f0;
+ f0 = f2*f1;
+ f2 = heapFloat[(r0+127)];
+ f0 = f2+f0;
+ f2 = f10*f6;
+ heapFloat[(r0+127)] = f0;
+ f0 = f2*f1;
+ f2 = heapFloat[(r0+128)];
+ f0 = f2+f0;
+ heapFloat[(r0+128)] = f0;
+ f0 = heapFloat[(r0+134)];
+ f0 = f0*f1;
+ f2 = heapFloat[(r1+12)];
+ f3 = heapFloat[(r0+136)];
+ f5 = heapFloat[(r0+135)];
+ f0 = f2*f0;
+ f2 = heapFloat[(r0+130)];
+ f6 = heapFloat[(r1+14)];
+ f7 = heapFloat[(r1+13)];
+ f0 = f2+f0;
+ f2 = f5*f1;
+ heapFloat[(r0+130)] = f0;
+ f0 = f7*f2;
+ f2 = heapFloat[(r0+131)];
+ f0 = f2+f0;
+ f2 = f3*f1;
+ heapFloat[(r0+131)] = f0;
+ f0 = f6*f2;
+ f2 = heapFloat[(r0+132)];
+ f0 = f2+f0;
+ heapFloat[(r0+132)] = f0;
+}
+ f0 = heapFloat[(r2+84)];
+if(!(f0 ==f4)) //_LBB603_7
+{
+ f0 = heapFloat[(r1+4)];
+ f2 = heapFloat[(r2+138)];
+ f0 = f2*f0;
+ f0 = f0*f1;
+ f2 = heapFloat[(r2+126)];
+ f3 = heapFloat[(r1+5)];
+ f4 = heapFloat[(r2+139)];
+ f5 = heapFloat[(r1+6)];
+ f6 = heapFloat[(r2+140)];
+ f0 = f2-f0;
+ f2 = f4*f3;
+ heapFloat[(r2+126)] = f0;
+ f0 = f2*f1;
+ f2 = heapFloat[(r2+127)];
+ f0 = f2-f0;
+ f2 = f6*f5;
+ heapFloat[(r2+127)] = f0;
+ f0 = f2*f1;
+ f2 = heapFloat[(r2+128)];
+ f0 = f2-f0;
+ heapFloat[(r2+128)] = f0;
+ f0 = heapFloat[(r2+134)];
+ f0 = f0*f1;
+ f2 = heapFloat[(r1+16)];
+ f3 = heapFloat[(r2+136)];
+ f4 = heapFloat[(r2+135)];
+ f0 = f2*f0;
+ f2 = heapFloat[(r2+130)];
+ f5 = heapFloat[(r1+18)];
+ f6 = heapFloat[(r1+17)];
+ f0 = f2+f0;
+ f2 = f4*f1;
+ heapFloat[(r2+130)] = f0;
+ f0 = f6*f2;
+ f2 = heapFloat[(r2+131)];
+ f0 = f2+f0;
+ f1 = f3*f1;
+ heapFloat[(r2+131)] = f0;
+ f0 = f5*f1;
+ f1 = heapFloat[(r2+132)];
+ f0 = f1+f0;
+ heapFloat[(r2+132)] = f0;
+}
+ return;
+}
+
+function _ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+33)];
+ f1 = 0;
+if(!(f0 ==f1)) //_LBB604_8
+{
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+ r3 = gNumSplitImpulseRecoveries;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r2 = r2 >> 2;
+ f2 = heapFloat[(r0+4)];
+ f3 = heapFloat[(r1+142)];
+ f4 = heapFloat[(r0+5)];
+ f5 = heapFloat[(r1+143)];
+ f6 = heapFloat[(r0)];
+ f7 = heapFloat[(r1+146)];
+ f8 = heapFloat[(r0+1)];
+ f9 = heapFloat[(r1+147)];
+ f10 = heapFloat[(r2+142)];
+ f11 = heapFloat[(r2+143)];
+ f12 = heapFloat[(r0+6)];
+ f13 = heapFloat[(r1+144)];
+ f3 = f2*f3;
+ f5 = f4*f5;
+ f6 = f6*f7;
+ f7 = f8*f9;
+ f8 = heapFloat[(r0+2)];
+ f9 = heapFloat[(r1+148)];
+ f14 = heapFloat[(r0+8)];
+ f15 = heapFloat[(r2+146)];
+ f16 = heapFloat[(r0+9)];
+ f17 = heapFloat[(r2+147)];
+ f18 = heapFloat[(r2+144)];
+ f3 = f3+f5;
+ f5 = f12*f13;
+ f6 = f6+f7;
+ f7 = f8*f9;
+ f8 = f14*f15;
+ f9 = f16*f17;
+ f13 = heapFloat[(r0+10)];
+ f14 = heapFloat[(r2+148)];
+ f10 = f2*f10;
+ f11 = f4*f11;
+ f15 = heapFloat[(r0+20)];
+ f16 = heapFloat[(r0+30)];
+ f3 = f3+f5;
+ f5 = f6+f7;
+ f6 = f8+f9;
+ f7 = f13*f14;
+ f8 = f10+f11;
+ f9 = f12*f18;
+ f10 = f15*f16;
+ f3 = f3+f5;
+ f5 = heapFloat[(r0+23)];
+ f6 = f6+f7;
+ f7 = f8+f9;
+ f6 = f6-f7;
+ f0 = f0-f10;
+ f3 = f5*f3;
+ f0 = f0-f3;
+ f3 = f5*f6;
+ f0 = f0-f3;
+ f3 = heapFloat[(r0+31)];
+ f5 = f15+f0;
+ if(f3 >f5) //_LBB604_3
+{
+ f0 = f3-f15;
+ f5 = f3;
+}
+ heapFloat[(r0+20)] = f5;
+ f3 = heapFloat[(r1+84)];
+if(!(f3 ==f1)) //_LBB604_6
+{
+ f3 = heapFloat[(r1+138)];
+ f2 = f2*f3;
+ f2 = f2*f0;
+ f3 = heapFloat[(r1+142)];
+ f5 = heapFloat[(r1+139)];
+ f6 = heapFloat[(r1+140)];
+ f2 = f3+f2;
+ f3 = f4*f5;
+ heapFloat[(r1+142)] = f2;
+ f2 = f3*f0;
+ f3 = heapFloat[(r1+143)];
+ f2 = f3+f2;
+ f3 = f12*f6;
+ heapFloat[(r1+143)] = f2;
+ f2 = f3*f0;
+ f3 = heapFloat[(r1+144)];
+ f2 = f3+f2;
+ heapFloat[(r1+144)] = f2;
+ f2 = heapFloat[(r1+134)];
+ f2 = f2*f0;
+ f3 = heapFloat[(r0+12)];
+ f4 = heapFloat[(r1+136)];
+ f5 = heapFloat[(r1+135)];
+ f2 = f3*f2;
+ f3 = heapFloat[(r1+146)];
+ f6 = heapFloat[(r0+14)];
+ f7 = heapFloat[(r0+13)];
+ f2 = f3+f2;
+ f3 = f5*f0;
+ heapFloat[(r1+146)] = f2;
+ f2 = f7*f3;
+ f3 = heapFloat[(r1+147)];
+ f2 = f3+f2;
+ f3 = f4*f0;
+ heapFloat[(r1+147)] = f2;
+ f2 = f6*f3;
+ f3 = heapFloat[(r1+148)];
+ f2 = f3+f2;
+ heapFloat[(r1+148)] = f2;
+}
+ f2 = heapFloat[(r2+84)];
+if(!(f2 ==f1)) //_LBB604_8
+{
+ f1 = heapFloat[(r0+4)];
+ f2 = heapFloat[(r2+138)];
+ f1 = f2*f1;
+ f1 = f1*f0;
+ f2 = heapFloat[(r2+142)];
+ f3 = heapFloat[(r0+5)];
+ f4 = heapFloat[(r2+139)];
+ f5 = heapFloat[(r0+6)];
+ f6 = heapFloat[(r2+140)];
+ f1 = f2-f1;
+ f2 = f4*f3;
+ heapFloat[(r2+142)] = f1;
+ f1 = f2*f0;
+ f2 = heapFloat[(r2+143)];
+ f1 = f2-f1;
+ f2 = f6*f5;
+ heapFloat[(r2+143)] = f1;
+ f1 = f2*f0;
+ f2 = heapFloat[(r2+144)];
+ f1 = f2-f1;
+ heapFloat[(r2+144)] = f1;
+ f1 = heapFloat[(r2+134)];
+ f1 = f1*f0;
+ f2 = heapFloat[(r0+16)];
+ f3 = heapFloat[(r2+136)];
+ f4 = heapFloat[(r2+135)];
+ f1 = f2*f1;
+ f2 = heapFloat[(r2+146)];
+ f5 = heapFloat[(r0+18)];
+ f6 = heapFloat[(r0+17)];
+ f1 = f2+f1;
+ f2 = f4*f0;
+ heapFloat[(r2+146)] = f1;
+ f1 = f6*f2;
+ f2 = heapFloat[(r2+147)];
+ f1 = f2+f1;
+ f0 = f3*f0;
+ heapFloat[(r2+147)] = f1;
+ f0 = f5*f0;
+ f1 = heapFloat[(r2+148)];
+ f0 = f1+f0;
+ heapFloat[(r2+148)] = f0;
+}
+}
+ return;
+}
+
+function _Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+if(!(r0 ==0)) //_LBB605_2
+{
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+45)];
+ if(r1 !=0) //_LBB605_3
+{
+ r1 = heap32[(fp+1)];
+ r1 = r1 >> 2;
+ f0 = heapFloat[(r1)];
+ f1 = heapFloat[(r0+2)];
+ f2 = heapFloat[(r0+1)];
+ f3 = heapFloat[(r1+1)];
+ f4 = heapFloat[(r0+6)];
+ f5 = heapFloat[(r0+5)];
+ f6 = heapFloat[(r0+3)];
+ f7 = heapFloat[(r0+7)];
+ f8 = f2*f0;
+ f9 = f5*f3;
+ f10 = f1*f0;
+ f11 = f4*f3;
+ f12 = heapFloat[(r1+2)];
+ f13 = heapFloat[(r0+10)];
+ f14 = heapFloat[(r0+9)];
+ f15 = heapFloat[(r0+11)];
+ f8 = f8+f9;
+ f9 = f14*f12;
+ f10 = f10+f11;
+ f11 = f13*f12;
+ f0 = f6*f0;
+ f3 = f7*f3;
+ f8 = f8+f9;
+ f9 = heapFloat[(r0+41)];
+ f10 = f10+f11;
+ f11 = heapFloat[(r0+42)];
+ f0 = f0+f3;
+ f3 = f15*f12;
+ f8 = f8*f9;
+ f9 = f10*f11;
+ f10 = heapFloat[(r0+43)];
+ f0 = f0+f3;
+ f0 = f0*f10;
+ f2 = f2*f8;
+ f1 = f1*f9;
+ f3 = f5*f8;
+ f4 = f4*f9;
+ f1 = f2+f1;
+ f2 = f6*f0;
+ f5 = f14*f8;
+ f6 = f13*f9;
+ f3 = f3+f4;
+ f4 = f7*f0;
+ f1 = f1+f2;
+ f2 = f5+f6;
+ f0 = f15*f0;
+ f3 = f3+f4;
+ heapFloat[(r1)] = f1;
+ f0 = f2+f0;
+ heapFloat[(r1+1)] = f3;
+ heapFloat[(r1+2)] = f0;
+ heap32[(r1+3)] = 0;
+ return;
+}
+}
+ return;
+}
+
+function _ZN35btSequentialImpulseConstraintSolver5resetEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ heap32[(r0+31)] = 0;
+ return;
+}
+
+function _ZN35btSequentialImpulseConstraintSolver45solveGroupCacheFriendlySplitImpulseIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+7)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+11)];
+_1: do {
+if(!(r2 ==0)) //_LBB607_14
+{
+ r2 = heap32[(fp)];
+ r0 = heapU8[r0+61];
+ r3 = heap32[(r1+5)];
+ r0 = r0 & 1;
+ if(r0 != 0) //_LBB607_3
+{
+if(!(r3 <1)) //_LBB607_14
+{
+ r0 = 0;
+_6: while(true){
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+2)];
+if(!(r4 <1)) //_LBB607_8
+{
+ r5 = 0;
+_10: while(true){
+ r6 = heap32[(r3+19)];
+ r7 = r5 << 2;
+ r6 = (r6 + r7)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ r6 = (r6 * 136)|0;
+ r7 = heap32[(r3+4)];
+ r6 = (r7 + r6)|0;
+ r7 = r6 >> 2;
+ r8 = heap32[(r7+27)];
+ r7 = heap32[(r7+26)];
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r6;
+ r5 = (r5 + 1)|0;
+ _ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint(i7);
+if(!(r4 !=r5)) //_LBB607_7
+{
+break _10;
+}
+}
+}
+ r0 = (r0 + 1)|0;
+ r3 = heap32[(r1+5)];
+ if(r3 >r0) //_LBB607_5
+{
+continue _6;
+}
+else{
+break _1;
+}
+}
+}
+}
+else{
+ if(r3 >0) //_LBB607_9
+{
+ r0 = 0;
+_15: while(true){
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+2)];
+if(!(r4 <1)) //_LBB607_13
+{
+ r5 = 0;
+_19: while(true){
+ r6 = heap32[(r3+19)];
+ r7 = r5 << 2;
+ r6 = (r6 + r7)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ r6 = (r6 * 136)|0;
+ r7 = heap32[(r3+4)];
+ r6 = (r7 + r6)|0;
+ r7 = r6 >> 2;
+ r8 = heap32[(r7+27)];
+ r7 = heap32[(r7+26)];
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r6;
+ r5 = (r5 + 1)|0;
+ _ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint(i7);
+if(!(r4 !=r5)) //_LBB607_12
+{
+break _19;
+}
+}
+}
+ r0 = (r0 + 1)|0;
+ r3 = heap32[(r1+5)];
+ if(r3 >r0) //_LBB607_10
+{
+continue _15;
+}
+else{
+break _1;
+}
+}
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN35btSequentialImpulseConstraintSolverD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV35btSequentialImpulseConstraintSolver;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+29)];
+if(!(r1 ==0)) //_LBB608_4
+{
+ r3 = heapU8[r0+120];
+if(!(r3 ==0)) //_LBB608_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+29)] = 0;
+}
+ r1 = 1;
+ heap8[r0+120] = r1;
+ heap32[(r2+29)] = 0;
+ heap32[(r2+27)] = 0;
+ heap32[(r2+28)] = 0;
+ r3 = heap32[(r2+24)];
+if(!(r3 ==0)) //_LBB608_8
+{
+ r4 = heapU8[r0+100];
+if(!(r4 ==0)) //_LBB608_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+24)] = 0;
+}
+ heap8[r0+100] = r1;
+ heap32[(r2+24)] = 0;
+ heap32[(r2+22)] = 0;
+ heap32[(r2+23)] = 0;
+ r3 = heap32[(r2+19)];
+if(!(r3 ==0)) //_LBB608_12
+{
+ r4 = heapU8[r0+80];
+if(!(r4 ==0)) //_LBB608_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+19)] = 0;
+}
+ heap8[r0+80] = r1;
+ heap32[(r2+19)] = 0;
+ heap32[(r2+17)] = 0;
+ heap32[(r2+18)] = 0;
+ r3 = heap32[(r2+14)];
+if(!(r3 ==0)) //_LBB608_16
+{
+ r4 = heapU8[r0+60];
+if(!(r4 ==0)) //_LBB608_15
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+14)] = 0;
+}
+ heap8[r0+60] = r1;
+ heap32[(r2+14)] = 0;
+ heap32[(r2+12)] = 0;
+ heap32[(r2+13)] = 0;
+ r3 = heap32[(r2+9)];
+if(!(r3 ==0)) //_LBB608_20
+{
+ r4 = heapU8[r0+40];
+if(!(r4 ==0)) //_LBB608_19
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+9)] = 0;
+}
+ heap8[r0+40] = r1;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+7)] = 0;
+ heap32[(r2+8)] = 0;
+ r3 = heap32[(r2+4)];
+if(!(r3 ==0)) //_LBB608_24
+{
+ r4 = heapU8[r0+20];
+if(!(r4 ==0)) //_LBB608_23
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+4)] = 0;
+}
+ heap8[r0+20] = r1;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ return;
+}
+
+function _ZN35btSequentialImpulseConstraintSolverD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV35btSequentialImpulseConstraintSolver;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+29)];
+if(!(r1 ==0)) //_LBB609_4
+{
+ r3 = heapU8[r0+120];
+if(!(r3 ==0)) //_LBB609_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+29)] = 0;
+}
+ r1 = 1;
+ heap8[r0+120] = r1;
+ heap32[(r2+29)] = 0;
+ heap32[(r2+27)] = 0;
+ heap32[(r2+28)] = 0;
+ r3 = heap32[(r2+24)];
+if(!(r3 ==0)) //_LBB609_8
+{
+ r4 = heapU8[r0+100];
+if(!(r4 ==0)) //_LBB609_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+24)] = 0;
+}
+ heap8[r0+100] = r1;
+ heap32[(r2+24)] = 0;
+ heap32[(r2+22)] = 0;
+ heap32[(r2+23)] = 0;
+ r3 = heap32[(r2+19)];
+if(!(r3 ==0)) //_LBB609_12
+{
+ r4 = heapU8[r0+80];
+if(!(r4 ==0)) //_LBB609_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+19)] = 0;
+}
+ heap8[r0+80] = r1;
+ heap32[(r2+19)] = 0;
+ heap32[(r2+17)] = 0;
+ heap32[(r2+18)] = 0;
+ r3 = heap32[(r2+14)];
+if(!(r3 ==0)) //_LBB609_16
+{
+ r4 = heapU8[r0+60];
+if(!(r4 ==0)) //_LBB609_15
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+14)] = 0;
+}
+ heap8[r0+60] = r1;
+ heap32[(r2+14)] = 0;
+ heap32[(r2+12)] = 0;
+ heap32[(r2+13)] = 0;
+ r3 = heap32[(r2+9)];
+if(!(r3 ==0)) //_LBB609_20
+{
+ r4 = heapU8[r0+40];
+if(!(r4 ==0)) //_LBB609_19
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+9)] = 0;
+}
+ heap8[r0+40] = r1;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+7)] = 0;
+ heap32[(r2+8)] = 0;
+ r3 = heap32[(r2+4)];
+if(!(r3 ==0)) //_LBB609_24
+{
+ r4 = heapU8[r0+20];
+if(!(r4 ==0)) //_LBB609_23
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+4)] = 0;
+}
+ heap8[r0+20] = r1;
+ heap32[(r2+4)] = 0;
+ heap32[(r2+2)] = 0;
+ heap32[(r2+3)] = 0;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN35btSequentialImpulseConstraintSolver10solveGroupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAllocP12btDispatcher(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = _2E_str450;
+ r1 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ if(r1 !=0) //_LBB610_2
+{
+ r0 = heap32[(fp+2)];
+ if(r0 !=0) //_LBB610_4
+{
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+3)];
+ r4 = heap32[(fp+4)];
+ r5 = heap32[(fp+5)];
+ r6 = heap32[(fp+6)];
+ r7 = heap32[(fp+7)];
+ r8 = heap32[(fp+8)];
+ r9 = heap32[(fp+9)];
+ r10 = r2 >> 2;
+ r11 = heap32[(r10)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+8)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r5;
+ heap32[(g0+6)] = r6;
+ heap32[(g0+7)] = r7;
+ heap32[(g0+8)] = r8;
+ heap32[(g0+9)] = r9;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r11 = heap32[(r10)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+9)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r5;
+ heap32[(g0+6)] = r6;
+ heap32[(g0+7)] = r7;
+ heap32[(g0+8)] = r8;
+ heap32[(g0+9)] = r9;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+7)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r4;
+ heap32[(g0+5)] = r5;
+ heap32[(g0+6)] = r6;
+ heap32[(g0+7)] = r7;
+ heap32[(g0+8)] = r8;
+ heap32[(g0+9)] = r9;
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_5: do {
+if(!(r3 !=0)) //_LBB610_10
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB610_7
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB610_10
+{
+break _5;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ f0 = 0;
+ f_g0 = f0;
+ return;
+}
+else{
+ r0 = _2E_str753;
+ r1 = _2E_str652;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 1186;
+ _assert(i7);
+}
+}
+else{
+ r1 = _2E_str551;
+ r0 = _2E_str652;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 1185;
+ _assert(i7);
+}
+}
+
+function _ZN35btSequentialImpulseConstraintSolver29solveGroupCacheFriendlyFinishEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+var __label__ = 0;
+ i7 = sp + -504;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+7)];
+ r5 = heap32[(r1+2)];
+ r6 = 0;
+_1: while(true){
+ if(r6 <r5) //_LBB611_1
+{
+ r7 = (r6 * 34)|0;
+ r8 = heap32[(r1+4)];
+ r7 = r7 << 2;
+ r7 = (r8 + r7)|0;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7+28)];
+ if(r8 !=0) //_LBB611_3
+{
+ r8 = r8 >> 2;
+ heap32[(r8+28)] = heap32[(r7+21)];
+ r9 = heapU8[r4+60];
+ r9 = r9 & 8;
+if(!(r9 ==0)) //_LBB611_5
+{
+ r9 = heap32[(r7+25)];
+ r10 = heap32[(r1+14)];
+ r9 = (r9 * 136)|0;
+ r9 = (r10 + r9)|0;
+ r9 = r9 >> 2;
+ heap32[(r8+30)] = heap32[(r9+21)];
+ r7 = heap32[(r7+25)];
+ r9 = heap32[(r1+14)];
+ r7 = (r7 * 136)|0;
+ r7 = (r7 + r9)|0;
+ r7 = r7 >> 2;
+ heap32[(r8+31)] = heap32[(r7+55)];
+}
+ r6 = (r6 + 1)|0;
+continue _1;
+}
+else{
+__label__ = 2;
+break _1;
+}
+}
+else{
+__label__ = 7;
+break _1;
+}
+}
+switch(__label__ ){//multiple entries
+case 7:
+ r5 = heap32[(r1+7)];
+_10: do {
+if(!(r5 <1)) //_LBB611_10
+{
+ r6 = 0;
+_12: while(true){
+ r7 = (r6 * 34)|0;
+ r8 = heap32[(r1+9)];
+ r7 = r7 << 2;
+ r7 = (r8 + r7)|0;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7+28)];
+ r8 = r8 >> 2;
+ f0 = heapFloat[(r8+7)];
+ f1 = heapFloat[(r7+21)];
+ r6 = (r6 + 1)|0;
+ f0 = f1+f0;
+ heapFloat[(r8+7)] = f0;
+ if(r5 !=r6) //_LBB611_9
+{
+continue _12;
+}
+else{
+break _10;
+}
+}
+}
+} while(0);
+ r4 = r4 >> 2;
+ r5 = heap32[(r4+11)];
+_15: do {
+ if(r5 !=0) //_LBB611_13
+{
+if(!(r3 <1)) //_LBB611_24
+{
+__label__ = 13; //SET chanka
+_17: while(true){
+ r5 = r2 >> 2;
+ r5 = heap32[(r5)];
+ r6 = heapU8[r5+232];
+ r6 = r6 & 2;
+if(!(r6 ==0)) //_LBB611_18
+{
+if(!(r5 ==0)) //_LBB611_18
+{
+ r6 = r5 >> 2;
+ f0 = heapFloat[(r6+84)];
+ f1 = 0;
+if(!(f0 ==f1)) //_LBB611_18
+{
+ f0 = heapFloat[(r4+3)];
+ f1 = heapFloat[(r6+78)];
+ f2 = heapFloat[(r6+128)];
+ f3 = heapFloat[(r6+77)];
+ f4 = heapFloat[(r6+127)];
+ f5 = heapFloat[(r6+76)];
+ f6 = heapFloat[(r6+126)];
+ f5 = f5+f6;
+ f3 = f3+f4;
+ heapFloat[(r6+76)] = f5;
+ f1 = f1+f2;
+ heapFloat[(r6+77)] = f3;
+ heapFloat[(r6+78)] = f1;
+ heap32[(r6+79)] = 0;
+ f1 = heapFloat[(r6+82)];
+ f2 = heapFloat[(r6+132)];
+ f3 = heapFloat[(r6+81)];
+ f4 = heapFloat[(r6+131)];
+ f5 = heapFloat[(r6+80)];
+ f6 = heapFloat[(r6+130)];
+ f5 = f5+f6;
+ f3 = f3+f4;
+ heapFloat[(r6+80)] = f5;
+ f1 = f1+f2;
+ heapFloat[(r6+81)] = f3;
+ heapFloat[(r6+82)] = f1;
+ heap32[(r6+83)] = 0;
+ f1 = heapFloat[(r6+142)];
+ f2 = heapFloat[(r6+143)];
+ f3 = heapFloat[(r6+144)];
+ r7 = sp + -64;
+ r8 = (r5 + 4)|0;
+ r5 = (r5 + 584)|0;
+ heap32[(g0)] = r8;
+ heapFloat[(g0+1)] = f1;
+ heapFloat[(g0+2)] = f2;
+ heapFloat[(g0+3)] = f3;
+ heap32[(g0+4)] = r5;
+ heapFloat[(g0+5)] = f0;
+ heap32[(g0+6)] = r7;
+ _ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(i7);
+ r5 = r7 >> 2;
+ heap32[(r6+1)] = heap32[(fp+-16)];
+ heap32[(r6+2)] = heap32[(r5+1)];
+ heap32[(r6+3)] = heap32[(r5+2)];
+ heap32[(r6+4)] = heap32[(r5+3)];
+ heap32[(r6+5)] = heap32[(r5+4)];
+ heap32[(r6+6)] = heap32[(r5+5)];
+ heap32[(r6+7)] = heap32[(r5+6)];
+ heap32[(r6+8)] = heap32[(r5+7)];
+ heap32[(r6+9)] = heap32[(r5+8)];
+ heap32[(r6+10)] = heap32[(r5+9)];
+ heap32[(r6+11)] = heap32[(r5+10)];
+ heap32[(r6+12)] = heap32[(r5+11)];
+ heap32[(r6+13)] = heap32[(r5+12)];
+ heap32[(r6+14)] = heap32[(r5+13)];
+ heap32[(r6+15)] = heap32[(r5+14)];
+ heap32[(r6+16)] = heap32[(r5+15)];
+}
+}
+}
+ r3 = (r3 + -1)|0;
+ r2 = (r2 + 4)|0;
+ if(r3 ==0) //_LBB611_24
+{
+break _15;
+}
+else{
+continue _17;
+}
+}
+}
+}
+else{
+if(!(r3 <1)) //_LBB611_24
+{
+__label__ = 18; //SET chanka
+_25: while(true){
+ r4 = r2 >> 2;
+ r4 = heap32[(r4)];
+ r5 = heapU8[r4+232];
+ r5 = r5 & 2;
+if(!(r5 ==0)) //_LBB611_23
+{
+if(!(r4 ==0)) //_LBB611_23
+{
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r4+84)];
+ f1 = 0;
+if(!(f0 ==f1)) //_LBB611_23
+{
+ f0 = heapFloat[(r4+78)];
+ f1 = heapFloat[(r4+128)];
+ f2 = heapFloat[(r4+77)];
+ f3 = heapFloat[(r4+127)];
+ f4 = heapFloat[(r4+76)];
+ f5 = heapFloat[(r4+126)];
+ f4 = f4+f5;
+ f2 = f2+f3;
+ heapFloat[(r4+76)] = f4;
+ f0 = f0+f1;
+ heapFloat[(r4+77)] = f2;
+ heapFloat[(r4+78)] = f0;
+ heap32[(r4+79)] = 0;
+ f0 = heapFloat[(r4+82)];
+ f1 = heapFloat[(r4+132)];
+ f2 = heapFloat[(r4+81)];
+ f3 = heapFloat[(r4+131)];
+ f4 = heapFloat[(r4+80)];
+ f5 = heapFloat[(r4+130)];
+ f4 = f4+f5;
+ f2 = f2+f3;
+ heapFloat[(r4+80)] = f4;
+ f0 = f0+f1;
+ heapFloat[(r4+81)] = f2;
+ heapFloat[(r4+82)] = f0;
+ heap32[(r4+83)] = 0;
+}
+}
+}
+ r3 = (r3 + -1)|0;
+ r2 = (r2 + 4)|0;
+ if(r3 !=0) //_LBB611_19
+{
+continue _25;
+}
+else{
+break _15;
+}
+}
+}
+}
+} while(0);
+ r2 = heap32[(r1+2)];
+_33: do {
+if(!(r2 >-1)) //_LBB611_33
+{
+ r3 = heap32[(r1+3)];
+if(!(r3 >-1)) //_LBB611_31
+{
+ r3 = heap32[(r1+4)];
+if(!(r3 ==0)) //_LBB611_30
+{
+ r4 = heapU8[r0+20];
+if(!(r4 ==0)) //_LBB611_29
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r1+4)] = 0;
+}
+ r3 = 1;
+ heap8[r0+20] = r3;
+ heap32[(r1+4)] = 0;
+ heap32[(r1+3)] = 0;
+}
+ r3 = (r2 * 136)|0;
+_44: while(true){
+ r4 = heap32[(r1+4)];
+ r4 = (r4 + r3)|0;
+ r5 = sp + -472;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = 136;
+ r2 = (r2 + 1)|0;
+ r3 = (r3 + 136)|0;
+ memcpy(i7);
+ if(r2 !=0) //_LBB611_32
+{
+continue _44;
+}
+else{
+break _33;
+}
+}
+}
+} while(0);
+ heap32[(r1+2)] = 0;
+ r2 = heap32[(r1+7)];
+_47: do {
+if(!(r2 >-1)) //_LBB611_42
+{
+ r3 = heap32[(r1+8)];
+if(!(r3 >-1)) //_LBB611_40
+{
+ r3 = heap32[(r1+9)];
+if(!(r3 ==0)) //_LBB611_39
+{
+ r4 = heapU8[r0+40];
+if(!(r4 ==0)) //_LBB611_38
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r1+9)] = 0;
+}
+ r3 = 1;
+ heap8[r0+40] = r3;
+ heap32[(r1+9)] = 0;
+ heap32[(r1+8)] = 0;
+}
+ r3 = (r2 * 136)|0;
+_58: while(true){
+ r4 = heap32[(r1+9)];
+ r4 = (r4 + r3)|0;
+ r5 = sp + -336;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = 136;
+ r2 = (r2 + 1)|0;
+ r3 = (r3 + 136)|0;
+ memcpy(i7);
+ if(r2 !=0) //_LBB611_41
+{
+continue _58;
+}
+else{
+break _47;
+}
+}
+}
+} while(0);
+ heap32[(r1+7)] = 0;
+ r2 = heap32[(r1+12)];
+_61: do {
+if(!(r2 >-1)) //_LBB611_51
+{
+ r3 = heap32[(r1+13)];
+if(!(r3 >-1)) //_LBB611_49
+{
+ r3 = heap32[(r1+14)];
+if(!(r3 ==0)) //_LBB611_48
+{
+ r4 = heapU8[r0+60];
+if(!(r4 ==0)) //_LBB611_47
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r1+14)] = 0;
+}
+ r3 = 1;
+ heap8[r0+60] = r3;
+ heap32[(r1+14)] = 0;
+ heap32[(r1+13)] = 0;
+}
+ r0 = (r2 * 136)|0;
+_72: while(true){
+ r3 = heap32[(r1+14)];
+ r3 = (r3 + r0)|0;
+ r4 = sp + -200;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = 136;
+ r2 = (r2 + 1)|0;
+ r0 = (r0 + 136)|0;
+ memcpy(i7);
+ if(r2 !=0) //_LBB611_50
+{
+continue _72;
+}
+else{
+break _61;
+}
+}
+}
+} while(0);
+ heap32[(r1+12)] = 0;
+ f0 = 0;
+ f_g0 = f0;
+ return;
+break;
+case 2:
+ r0 = _2E_str955;
+ r1 = _2E_str652;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 1129;
+ _assert(i7);
+break;
+}
+}
+
+function _ZN35btSequentialImpulseConstraintSolver28solveGroupCacheFriendlySetupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var r25;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+var __label__ = 0;
+ i7 = sp + -584;var g0 = i7>>2; // save stack
+ r0 = _2E_str1056;
+ r1 = heap32[(fp+6)];
+ heap32[(g0)] = r0;
+ r0 = heap32[(fp+4)];
+ heap32[(fp+-133)] = r0;
+ r2 = 0;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r0 = (r2 - r0)|0;
+_1: do {
+if(!(r1 ==r0)) //_LBB612_269
+{
+ r0 = heap32[(fp)];
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ heap32[(fp+-132)] = r5;
+ r5 = heap32[(fp+5)];
+ heap32[(fp+-127)] = r5;
+ r5 = heap32[(fp+7)];
+ r6 = r5 >> 2;
+ r7 = heap32[(r6+11)];
+_3: do {
+ if(r7 !=0) //_LBB612_4
+{
+if(!(r4 <1)) //_LBB612_14
+{
+__label__ = 4; //SET chanka
+_5: while(true){
+ r7 = r3 >> 2;
+ r7 = heap32[(r7)];
+ r8 = heapU8[r7+232];
+ r8 = r8 & 2;
+if(!(r8 ==0)) //_LBB612_8
+{
+if(!(r7 ==0)) //_LBB612_8
+{
+ r7 = r7 >> 2;
+ heap32[(r7+126)] = 0;
+ heap32[(r7+127)] = 0;
+ heap32[(r7+128)] = 0;
+ heap32[(r7+129)] = 0;
+ heap32[(r7+130)] = 0;
+ heap32[(r7+131)] = 0;
+ heap32[(r7+132)] = 0;
+ heap32[(r7+133)] = 0;
+ heap32[(r7+142)] = 0;
+ heap32[(r7+143)] = 0;
+ heap32[(r7+144)] = 0;
+ heap32[(r7+145)] = 0;
+ heap32[(r7+146)] = 0;
+ heap32[(r7+147)] = 0;
+ heap32[(r7+148)] = 0;
+ heap32[(r7+149)] = 0;
+}
+}
+ r4 = (r4 + -1)|0;
+ r3 = (r3 + 4)|0;
+ if(r4 ==0) //_LBB612_14
+{
+break _3;
+}
+else{
+continue _5;
+}
+}
+}
+}
+else{
+if(!(r4 <1)) //_LBB612_14
+{
+__label__ = 8; //SET chanka
+_12: while(true){
+ r7 = r3 >> 2;
+ r7 = heap32[(r7)];
+ r8 = heapU8[r7+232];
+ r8 = r8 & 2;
+if(!(r8 ==0)) //_LBB612_12
+{
+if(!(r7 ==0)) //_LBB612_12
+{
+ r7 = r7 >> 2;
+ heap32[(r7+126)] = 0;
+ heap32[(r7+127)] = 0;
+ heap32[(r7+128)] = 0;
+ heap32[(r7+129)] = 0;
+ heap32[(r7+130)] = 0;
+ heap32[(r7+131)] = 0;
+ heap32[(r7+132)] = 0;
+ heap32[(r7+133)] = 0;
+}
+}
+ r4 = (r4 + -1)|0;
+ r3 = (r3 + 4)|0;
+ if(r4 ==0) //_LBB612_14
+{
+break _3;
+}
+}
+}
+}
+} while(0);
+_19: do {
+ if(r1 <1) //_LBB612_40
+{
+ r4 = r0 >> 2;
+ r3 = heap32[(r4+27)];
+_21: do {
+if(!(r3 >r1)) //_LBB612_59
+{
+if(!(r3 >=r1)) //_LBB612_59
+{
+ r7 = heap32[(r4+28)];
+if(!(r7 >=r1)) //_LBB612_58
+{
+ if(r1 !=0) //_LBB612_45
+{
+ r7 = gNumAlignedAllocs;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7)];
+ r9 = r1 << 3;
+ r8 = (r8 + 1)|0;
+ r9 = r9 | 3;
+ heap32[(r7)] = r8;
+ r7 = (r9 + 16)|0;
+ heap32[(g0)] = r7;
+ malloc(i7);
+ r7 = r_g0;
+ if(r7 !=0) //_LBB612_47
+{
+ r8 = (r7 + 4)|0;
+ r8 = (r2 - r8)|0;
+ r8 = r8 & 15;
+ r8 = (r7 + r8)|0;
+ r9 = (r8 + 4)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r7;
+ r7 = r9;
+}
+}
+else{
+ r7 = 0;
+}
+ r8 = (r0 + 116)|0;
+ if(r3 <1) //_LBB612_50
+{
+ r2 = r8 >> 2;
+ r9 = heap32[(r2)];
+}
+else{
+_33: while(true){
+ r9 = r8 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r2 << 3;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r7 + r10)|0;
+ r12 = heap32[(r11+1)];
+ r11 = heap32[(r11)];
+ r10 = r10 >> 2;
+ r2 = (r2 + 1)|0;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = r12;
+if(!(r3 !=r2)) //_LBB612_51
+{
+break _33;
+}
+}
+ r8 = (r0 + 116)|0;
+}
+if(!(r9 ==0)) //_LBB612_57
+{
+ r2 = heapU8[r0+120];
+if(!(r2 ==0)) //_LBB612_56
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r10 = heap32[(r2)];
+ r10 = (r10 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r2)] = r10;
+ r2 = heap32[(r9+-1)];
+ heap32[(g0)] = r2;
+ free(i7);
+}
+ r2 = r8 >> 2;
+ heap32[(r2)] = 0;
+}
+ r2 = 1;
+ r8 = r8 >> 2;
+ heap8[r0+120] = r2;
+ heap32[(r8)] = r7;
+ heap32[(r4+28)] = r1;
+ if(r3 >=r1) //_LBB612_59
+{
+break _21;
+}
+}
+_43: while(true){
+ r2 = r3 << 3;
+ r7 = heap32[(r4+29)];
+ r2 = (r7 + r2)|0;
+ r2 = r2 >> 2;
+ r3 = (r3 + 1)|0;
+ heap32[(r2)] = 0;
+ heap32[(r2+1)] = 0;
+if(!(r1 !=r3)) //_LBB612_58
+{
+break _21;
+}
+}
+}
+}
+} while(0);
+ r3 = 0;
+ heap32[(r4+27)] = r1;
+}
+else{
+ r2 = 0;
+_47: while(true){
+ r3 = r2 << 2;
+ r4 = heap32[(fp+-127)];
+ r3 = (r4 + r3)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ r2 = (r2 + 1)|0;
+ heap32[(g0)] = r3;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ if(r1 ==r2) //_LBB612_16
+{
+break _47;
+}
+}
+ r2 = r0 >> 2;
+ r3 = heap32[(r2+27)];
+_50: do {
+if(!(r3 >r1)) //_LBB612_35
+{
+if(!(r3 >=r1)) //_LBB612_35
+{
+ r4 = heap32[(r2+28)];
+if(!(r4 >=r1)) //_LBB612_34
+{
+ if(r1 !=0) //_LBB612_21
+{
+ r4 = gNumAlignedAllocs;
+ r4 = r4 >> 2;
+ r7 = heap32[(r4)];
+ r8 = r1 << 3;
+ r7 = (r7 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r4)] = r7;
+ r4 = (r8 + 16)|0;
+ heap32[(g0)] = r4;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB612_23
+{
+ r7 = 0;
+ r8 = (r4 + 4)|0;
+ r7 = (r7 - r8)|0;
+ r7 = r7 & 15;
+ r7 = (r4 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r4;
+ r4 = r8;
+}
+}
+else{
+ r4 = 0;
+}
+ r7 = (r0 + 116)|0;
+ if(r3 <1) //_LBB612_26
+{
+ r8 = r7 >> 2;
+ r9 = heap32[(r8)];
+}
+else{
+ r8 = 0;
+_63: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r8 << 3;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r4 + r10)|0;
+ r12 = heap32[(r11+1)];
+ r11 = heap32[(r11)];
+ r10 = r10 >> 2;
+ r8 = (r8 + 1)|0;
+ heap32[(r10)] = r11;
+ heap32[(r10+1)] = r12;
+if(!(r3 !=r8)) //_LBB612_27
+{
+break _63;
+}
+}
+ r7 = (r0 + 116)|0;
+}
+if(!(r9 ==0)) //_LBB612_33
+{
+ r8 = heapU8[r0+120];
+if(!(r8 ==0)) //_LBB612_32
+{
+ r8 = gNumAlignedFree;
+ r8 = r8 >> 2;
+ r10 = heap32[(r8)];
+ r10 = (r10 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r8)] = r10;
+ r8 = heap32[(r9+-1)];
+ heap32[(g0)] = r8;
+ free(i7);
+}
+ r8 = r7 >> 2;
+ heap32[(r8)] = 0;
+}
+ r8 = 1;
+ r7 = r7 >> 2;
+ heap8[r0+120] = r8;
+ heap32[(r7)] = r4;
+ heap32[(r2+28)] = r1;
+ if(r3 >=r1) //_LBB612_35
+{
+break _50;
+}
+}
+_73: while(true){
+ r4 = r3 << 3;
+ r7 = heap32[(r2+29)];
+ r4 = (r7 + r4)|0;
+ r4 = r4 >> 2;
+ r3 = (r3 + 1)|0;
+ heap32[(r4)] = 0;
+ heap32[(r4+1)] = 0;
+if(!(r1 !=r3)) //_LBB612_34
+{
+break _50;
+}
+}
+}
+}
+} while(0);
+ heap32[(r2+27)] = r1;
+ if(r1 >0) //_LBB612_37
+{
+ r4 = 0;
+ r7 = heap32[(fp+-127)];
+ r8 = r1;
+ r3 = r4;
+_78: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r9 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+4)];
+ r11 = heap32[(r2+29)];
+ r11 = (r11 + r4)|0;
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r11;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r9 = r11 >> 2;
+ r9 = heap32[(r9)];
+ r8 = (r8 + -1)|0;
+ r3 = (r9 + r3)|0;
+ r4 = (r4 + 8)|0;
+ r7 = (r7 + 4)|0;
+if(!(r8 !=0)) //_LBB612_38
+{
+break _19;
+}
+}
+}
+else{
+ r3 = 0;
+}
+}
+} while(0);
+ r2 = r0 >> 2;
+ r4 = heap32[(r2+7)];
+_82: do {
+if(!(r4 >r3)) //_LBB612_80
+{
+if(!(r4 >=r3)) //_LBB612_80
+{
+ r7 = heap32[(r2+8)];
+if(!(r7 >=r3)) //_LBB612_78
+{
+ if(r3 !=0) //_LBB612_65
+{
+ r7 = gNumAlignedAllocs;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7)];
+ r9 = (r3 * 136)|0;
+ r8 = (r8 + 1)|0;
+ r9 = r9 | 3;
+ heap32[(r7)] = r8;
+ r7 = (r9 + 16)|0;
+ heap32[(g0)] = r7;
+ malloc(i7);
+ r7 = r_g0;
+ if(r7 !=0) //_LBB612_67
+{
+ r8 = 0;
+ r9 = (r7 + 4)|0;
+ r8 = (r8 - r9)|0;
+ r8 = r8 & 15;
+ r8 = (r7 + r8)|0;
+ r9 = (r8 + 4)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r7;
+ r7 = r9;
+}
+}
+else{
+ r7 = 0;
+}
+ r8 = (r0 + 36)|0;
+ if(r4 <1) //_LBB612_70
+{
+ r9 = r8 >> 2;
+ r11 = heap32[(r9)];
+}
+else{
+ r9 = 0;
+ r10 = r4;
+_95: while(true){
+ r11 = r8 >> 2;
+ r11 = heap32[(r11)];
+ r12 = (r7 + r9)|0;
+ r13 = (r11 + r9)|0;
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r13;
+ heap32[(g0+2)] = 136;
+ r10 = (r10 + -1)|0;
+ r9 = (r9 + 136)|0;
+ memcpy(i7);
+if(!(r10 !=0)) //_LBB612_71
+{
+break _95;
+}
+}
+ r8 = (r0 + 36)|0;
+}
+if(!(r11 ==0)) //_LBB612_77
+{
+ r9 = heapU8[r0+40];
+if(!(r9 ==0)) //_LBB612_76
+{
+ r9 = gNumAlignedFree;
+ r9 = r9 >> 2;
+ r10 = heap32[(r9)];
+ r10 = (r10 + 1)|0;
+ r11 = r11 >> 2;
+ heap32[(r9)] = r10;
+ r9 = heap32[(r11+-1)];
+ heap32[(g0)] = r9;
+ free(i7);
+}
+ r9 = r8 >> 2;
+ heap32[(r9)] = 0;
+}
+ r9 = 1;
+ r8 = r8 >> 2;
+ heap8[r0+40] = r9;
+ heap32[(r8)] = r7;
+ heap32[(r2+8)] = r3;
+ if(r4 >=r3) //_LBB612_80
+{
+break _82;
+}
+}
+ r7 = (r3 - r4)|0;
+ r4 = (r4 * 136)|0;
+_106: while(true){
+ r8 = heap32[(r2+9)];
+ r8 = (r8 + r4)|0;
+ r9 = sp + -448;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r9;
+ heap32[(g0+2)] = 136;
+ r7 = (r7 + -1)|0;
+ r4 = (r4 + 136)|0;
+ memcpy(i7);
+if(!(r7 !=0)) //_LBB612_79
+{
+break _82;
+}
+}
+}
+}
+} while(0);
+ r4 = 0;
+ heap32[(r2+7)] = r3;
+ r7 = r4;
+_109: while(true){
+ if(r4 <r1) //_LBB612_81
+{
+ r8 = heap32[(r2+29)];
+ r9 = r4 << 3;
+ r10 = (r8 + r9)|0;
+ r10 = r10 >> 2;
+ r10 = heap32[(r10)];
+ if(r10 !=0) //_LBB612_83
+{
+ if(r7 <r3) //_LBB612_85
+{
+ r11 = r4 << 1;
+ r12 = r4 << 2;
+ r13 = heap32[(fp+-127)];
+ r12 = (r13 + r12)|0;
+ r12 = r12 >> 2;
+ r13 = heap32[(r12)];
+ r14 = r13 >> 2;
+ r15 = heap32[(r2+9)];
+ r16 = heap32[(r14+5)];
+ r17 = heap32[(r14+6)];
+if(!(r10 <1)) //_LBB612_90
+{
+ r10 = (r7 * 136)|0;
+ r10 = (r15 + r10)|0;
+ r18 = 0;
+ r19 = r18;
+_117: while(true){
+ r20 = (r19 * 34)|0;
+ r21 = 136;
+ r22 = r18;
+_119: while(true){
+ r21 = (r21 + -1)|0;
+ r23 = (r22 + 1)|0;
+ r22 = (r10 + r22)|0;
+ r24 = (r19 * 136)|0;
+ heap8[r22+r24] = r18;
+ r22 = r23;
+if(!(r21 !=0)) //_LBB612_88
+{
+break _119;
+}
+}
+ r21 = r20 << 2;
+ r22 = r20 << 2;
+ r21 = (r10 + r21)|0;
+ r23 = r20 << 2;
+ r22 = (r10 + r22)|0;
+ r21 = r21 >> 2;
+ r24 = r20 << 2;
+ r23 = (r10 + r23)|0;
+ r22 = r22 >> 2;
+ heap32[(r21+31)] = -8388609;
+ r21 = r20 << 2;
+ r24 = (r10 + r24)|0;
+ r23 = r23 >> 2;
+ heap32[(r22+32)] = 2139095039;
+ r20 = r20 << 2;
+ r21 = (r10 + r21)|0;
+ r22 = r24 >> 2;
+ heap32[(r23+21)] = 0;
+ r20 = (r10 + r20)|0;
+ r23 = r11 << 2;
+ r21 = r21 >> 2;
+ heap32[(r22+20)] = 0;
+ r22 = (r8 + r23)|0;
+ r19 = (r19 + 1)|0;
+ r20 = r20 >> 2;
+ heap32[(r21+26)] = r16;
+ r21 = r22 >> 2;
+ heap32[(r20+27)] = r17;
+ r20 = heap32[(r21)];
+if(!(r20 >r19)) //_LBB612_87
+{
+break _117;
+}
+}
+}
+ r10 = r16 >> 2;
+ heap32[(r10+126)] = 0;
+ heap32[(r10+127)] = 0;
+ heap32[(r10+128)] = 0;
+ heap32[(r10+129)] = 0;
+ heap32[(r10+130)] = 0;
+ heap32[(r10+131)] = 0;
+ heap32[(r10+132)] = 0;
+ heap32[(r10+133)] = 0;
+ r16 = r17 >> 2;
+ heap32[(r16+126)] = 0;
+ heap32[(r16+127)] = 0;
+ heap32[(r16+128)] = 0;
+ heap32[(r16+129)] = 0;
+ heap32[(r16+130)] = 0;
+ heap32[(r16+131)] = 0;
+ heap32[(r16+132)] = 0;
+ heap32[(r16+133)] = 0;
+ f0 = 1;
+ f1 = heapFloat[(r6+3)];
+ r17 = sp + -504;
+ f1 = f0/f1;
+ r18 = (r7 * 136)|0;
+ r15 = (r15 + r18)|0;
+ r18 = r17 >> 2;
+ heapFloat[(fp+-126)] = f1;
+ r19 = (r15 + 16)|0;
+ heap32[(r18+1)] = heap32[(r6+8)];
+ heap32[(r18+2)] = r19;
+ heap32[(r18+3)] = r15;
+ r19 = (r15 + 32)|0;
+ heap32[(r18+4)] = 0;
+ heap32[(r18+5)] = r19;
+ r19 = (r15 + 116)|0;
+ heap32[(r18+6)] = 34;
+ r20 = r15 >> 2;
+ heap32[(r18+7)] = r19;
+ heap32[(r20+30)] = heap32[(r6+10)];
+ r19 = (r15 + 120)|0;
+ heap32[(r18+13)] = heap32[(r6+1)];
+ r20 = (r15 + 124)|0;
+ heap32[(r18+8)] = r19;
+ r19 = (r15 + 128)|0;
+ heap32[(r18+9)] = r20;
+ heap32[(r18+10)] = r19;
+ r19 = heap32[(r6+5)];
+ heap32[(r18+12)] = r19;
+ r12 = heap32[(r12)];
+ r19 = r12 >> 2;
+ r19 = heap32[(r19)];
+ r19 = r19 >> 2;
+ r19 = heap32[(r19+5)];
+ r11 = r11 << 2;
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r17;
+ r8 = (r8 + r11)|0;
+ r8 = r8 >> 2;
+ __FUNCTION_TABLE__[(r19)>>2](i7);
+ r11 = heap32[(r8)];
+_123: do {
+if(!(r11 <1)) //_LBB612_93
+{
+ r11 = 0;
+_125: while(true){
+ r12 = (r11 * 34)|0;
+ r12 = r12 << 2;
+ r12 = (r15 + r12)|0;
+ r12 = r12 >> 2;
+ heap32[(r12+28)] = r13;
+ r17 = heap32[(r14+5)];
+ r17 = r17 >> 2;
+ f1 = heapFloat[(r12)];
+ f2 = heapFloat[(r17+64)];
+ f3 = heapFloat[(r12+1)];
+ f4 = heapFloat[(r17+65)];
+ f5 = heapFloat[(r17+68)];
+ f6 = heapFloat[(r17+69)];
+ f2 = f2*f1;
+ f4 = f4*f3;
+ f7 = heapFloat[(r12+2)];
+ f8 = heapFloat[(r17+66)];
+ f9 = heapFloat[(r17+72)];
+ f10 = heapFloat[(r17+73)];
+ f11 = heapFloat[(r17+70)];
+ f5 = f5*f1;
+ f6 = f6*f3;
+ f2 = f2+f4;
+ f4 = f8*f7;
+ f8 = heapFloat[(r17+74)];
+ f9 = f9*f1;
+ f10 = f10*f3;
+ f5 = f5+f6;
+ f6 = f11*f7;
+ f2 = f2+f4;
+ f4 = heapFloat[(r17+134)];
+ f11 = heapFloat[(r17+136)];
+ f12 = heapFloat[(r17+135)];
+ f5 = f5+f6;
+ f6 = f9+f10;
+ f8 = f8*f7;
+ f2 = f2*f4;
+ f4 = f6+f8;
+ f5 = f5*f12;
+ heapFloat[(r12+12)] = f2;
+ f2 = f4*f11;
+ heapFloat[(r12+13)] = f5;
+ heapFloat[(r12+14)] = f2;
+ heap32[(r12+15)] = 0;
+ r17 = heap32[(r14+6)];
+ r17 = r17 >> 2;
+ f2 = heapFloat[(r12+8)];
+ f4 = heapFloat[(r17+64)];
+ f5 = heapFloat[(r12+9)];
+ f6 = heapFloat[(r17+65)];
+ f8 = heapFloat[(r17+68)];
+ f9 = heapFloat[(r17+69)];
+ f4 = f4*f2;
+ f6 = f6*f5;
+ f10 = heapFloat[(r12+10)];
+ f11 = heapFloat[(r17+66)];
+ f12 = heapFloat[(r17+72)];
+ f13 = heapFloat[(r17+73)];
+ f14 = heapFloat[(r17+70)];
+ f8 = f8*f2;
+ f9 = f9*f5;
+ f4 = f4+f6;
+ f6 = f11*f10;
+ f11 = heapFloat[(r17+74)];
+ f12 = f12*f2;
+ f13 = f13*f5;
+ f8 = f8+f9;
+ f9 = f14*f10;
+ f4 = f4+f6;
+ f6 = heapFloat[(r17+134)];
+ f14 = heapFloat[(r17+136)];
+ f15 = heapFloat[(r17+135)];
+ f8 = f8+f9;
+ f9 = f12+f13;
+ f11 = f11*f10;
+ f4 = f4*f6;
+ f6 = f9+f11;
+ f8 = f8*f15;
+ heapFloat[(r12+16)] = f4;
+ f4 = f6*f14;
+ heapFloat[(r12+17)] = f8;
+ heapFloat[(r12+18)] = f4;
+ heap32[(r12+19)] = 0;
+ f4 = heapFloat[(r10+68)];
+ f6 = heapFloat[(r10+69)];
+ f8 = heapFloat[(r10+64)];
+ f9 = heapFloat[(r10+65)];
+ f11 = heapFloat[(r10+72)];
+ f12 = heapFloat[(r10+73)];
+ f13 = heapFloat[(r10+70)];
+ f14 = heapFloat[(r10+66)];
+ f8 = f8*f1;
+ f9 = f9*f3;
+ f4 = f4*f1;
+ f6 = f6*f3;
+ f15 = heapFloat[(r10+74)];
+ f16 = heapFloat[(r16+68)];
+ f17 = heapFloat[(r16+69)];
+ f18 = heapFloat[(r16+64)];
+ f19 = heapFloat[(r16+65)];
+ f8 = f8+f9;
+ f9 = f14*f7;
+ f4 = f4+f6;
+ f6 = f13*f7;
+ f11 = f11*f1;
+ f12 = f12*f3;
+ f13 = heapFloat[(r10+84)];
+ f14 = heapFloat[(r12+5)];
+ f20 = heapFloat[(r12+4)];
+ f21 = heapFloat[(r16+84)];
+ f22 = heapFloat[(r12+6)];
+ f8 = f8+f9;
+ f4 = f4+f6;
+ f6 = f20*f13;
+ f9 = f14*f13;
+ f23 = heapFloat[(r16+72)];
+ f24 = heapFloat[(r16+73)];
+ f25 = heapFloat[(r16+70)];
+ f26 = heapFloat[(r16+66)];
+ f18 = f18*f2;
+ f19 = f19*f5;
+ f16 = f16*f2;
+ f17 = f17*f5;
+ f11 = f11+f12;
+ f12 = f15*f7;
+ f15 = heapFloat[(r16+74)];
+ f27 = f20*f21;
+ f28 = f14*f21;
+ f11 = f11+f12;
+ f12 = f22*f13;
+ f13 = f18+f19;
+ f18 = f26*f10;
+ f16 = f16+f17;
+ f17 = f25*f10;
+ f19 = f23*f2;
+ f23 = f24*f5;
+ f8 = f8*f1;
+ f4 = f4*f3;
+ f6 = f6*f20;
+ f9 = f9*f14;
+ f13 = f13+f18;
+ f16 = f16+f17;
+ f17 = f22*f21;
+ f18 = f19+f23;
+ f15 = f15*f10;
+ f19 = f27*f20;
+ f21 = f28*f14;
+ f4 = f8+f4;
+ f8 = f11*f7;
+ f6 = f6+f9;
+ f9 = f12*f22;
+ f11 = f18+f15;
+ f12 = f13*f2;
+ f13 = f16*f5;
+ f15 = f19+f21;
+ f16 = f17*f22;
+ f4 = f4+f8;
+ f6 = f6+f9;
+ f8 = f12+f13;
+ f9 = f11*f10;
+ f11 = f15+f16;
+ f4 = f4+f6;
+ f6 = f8+f9;
+ f4 = f11+f4;
+ f4 = f6+f4;
+ f4 = f0/f4;
+ heapFloat[(r12+23)] = f4;
+ f6 = heapFloat[(r10+76)];
+ f8 = heapFloat[(r10+77)];
+ f9 = heapFloat[(r10+80)];
+ f11 = heapFloat[(r10+81)];
+ f12 = heapFloat[(r16+80)];
+ f13 = heapFloat[(r16+81)];
+ f15 = heapFloat[(r16+76)];
+ f16 = heapFloat[(r16+77)];
+ f17 = heapFloat[(r10+78)];
+ f18 = heapFloat[(r10+82)];
+ f19 = heapFloat[(r16+82)];
+ f21 = heapFloat[(r16+78)];
+ f6 = f20*f6;
+ f8 = f14*f8;
+ f1 = f1*f9;
+ f3 = f3*f11;
+ f2 = f2*f12;
+ f5 = f5*f13;
+ f9 = f20*f15;
+ f11 = f14*f16;
+ f6 = f6+f8;
+ f8 = f22*f17;
+ f1 = f1+f3;
+ f3 = f7*f18;
+ f2 = f2+f5;
+ f5 = f10*f19;
+ f7 = f9+f11;
+ f9 = f22*f21;
+ f6 = f6+f8;
+ f1 = f1+f3;
+ f2 = f2+f5;
+ f3 = f7+f9;
+ f1 = f6+f1;
+ f2 = f2-f3;
+ f1 = f1+f2;
+ f2 = heapFloat[(r18+13)];
+ f3 = 0;
+ f1 = f2*f1;
+ f2 = heapFloat[(r12+29)];
+ f1 = f3-f1;
+ f2 = f4*f2;
+ f1 = f4*f1;
+ f1 = f2+f1;
+ r11 = (r11 + 1)|0;
+ heapFloat[(r12+29)] = f1;
+ heap32[(r12+21)] = 0;
+ r12 = heap32[(r8)];
+if(!(r12 >r11)) //_LBB612_92
+{
+break _123;
+}
+}
+}
+} while(0);
+ r8 = heap32[(r2+29)];
+ r8 = (r8 + r9)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+}
+else{
+__label__ = 78;
+break _109;
+}
+}
+else{
+ r8 = 0;
+}
+ r7 = (r8 + r7)|0;
+ r4 = (r4 + 1)|0;
+}
+else{
+__label__ = 90;
+break _109;
+}
+}
+switch(__label__ ){//multiple entries
+case 90:
+ r1 = heap32[(fp+-133)];
+_132: do {
+if(!(r1 <1)) //_LBB612_225
+{
+_133: while(true){
+ r1 = heap32[(fp+-132)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ heap32[(fp+-128)] = r1;
+ r1 = r1 >> 2;
+ heap32[(fp+-127)] = r1;
+ r3 = heap32[(r1+277)];
+ r1 = heap32[(r1+278)];
+ r4 = heapU8[r3+232];
+ r4 = r4 & 2;
+ if(r4 !=0) //_LBB612_99
+{
+ r4 = r3;
+}
+else{
+ r4 = 0;
+}
+ r7 = heapU8[r1+232];
+ r7 = r7 & 2;
+ if(r7 !=0) //_LBB612_102
+{
+ r7 = r1;
+}
+else{
+ r7 = 0;
+}
+ if(r4 ==0) //_LBB612_105
+{
+__label__ = 99;
+}
+else{
+ r4 = r4 >> 2;
+ f0 = heapFloat[(r4+84)];
+ f1 = 0;
+ if(f0 !=f1) //_LBB612_107
+{
+__label__ = 101;
+}
+else{
+__label__ = 99;
+}
+}
+if (__label__ == 99){
+ if(r7 ==0) //_LBB612_224
+{
+__label__ = 216;
+}
+else{
+ r4 = r7 >> 2;
+ f0 = heapFloat[(r4+84)];
+ f1 = 0;
+ if(f0 ==f1) //_LBB612_224
+{
+__label__ = 216;
+}
+else{
+__label__ = 101;
+}
+}
+}
+if (__label__ == 101){
+ r4 = heap32[(fp+-128)];
+ r7 = (r4 + 4)|0;
+ heap32[(fp+-129)] = r7;
+ r7 = (r4 + 152)|0;
+ heap32[(fp+-130)] = r7;
+ r4 = (r4 + 168)|0;
+ heap32[(fp+-131)] = r4;
+ r4 = 0;
+ r7 = r4;
+_150: while(true){
+ r8 = heap32[(fp+-127)];
+ r8 = heap32[(r8+279)];
+ if(r8 >r7) //_LBB612_108
+{
+ r8 = heap32[(fp+-128)];
+ r8 = (r8 + r4)|0;
+ r9 = r8 >> 2;
+ f0 = heapFloat[(r9+21)];
+ r10 = heap32[(fp+-127)];
+ f1 = heapFloat[(r10+281)];
+_153: do {
+if(!(f0 >f1)) //_LBB612_222
+{
+ r10 = heap32[(fp+-129)];
+ r10 = (r10 + r4)|0;
+ r11 = heap32[(fp+-131)];
+ r11 = (r11 + r4)|0;
+ r12 = heap32[(fp+-130)];
+ r12 = (r12 + r4)|0;
+ r13 = heap32[(r2+3)];
+ r14 = heap32[(r2+2)];
+ if(r13 ==r14) //_LBB612_111
+{
+ r15 = 1;
+ r16 = r14 << 1;
+ r16 = r14 == 0 ? r15 : r16;
+ if(r13 >=r16) //_LBB612_110
+{
+__label__ = 104;
+}
+else{
+ if(r16 !=0) //_LBB612_114
+{
+ r13 = gNumAlignedAllocs;
+ r13 = r13 >> 2;
+ r17 = heap32[(r13)];
+ r18 = (r16 * 136)|0;
+ r17 = (r17 + 1)|0;
+ r18 = r18 | 3;
+ heap32[(r13)] = r17;
+ r13 = (r18 + 16)|0;
+ heap32[(g0)] = r13;
+ malloc(i7);
+ r17 = r_g0;
+ if(r17 !=0) //_LBB612_116
+{
+ r13 = 0;
+ r18 = (r17 + 4)|0;
+ r13 = (r13 - r18)|0;
+ r13 = r13 & 15;
+ r13 = (r17 + r13)|0;
+ r18 = (r13 + 4)|0;
+ r13 = r13 >> 2;
+ heap32[(r13)] = r17;
+ r17 = r18;
+}
+}
+else{
+ r17 = 0;
+}
+ if(r14 <1) //_LBB612_119
+{
+ r19 = heap32[(r2+4)];
+}
+else{
+ r13 = 0;
+ r18 = r14;
+_166: while(true){
+ r19 = heap32[(r2+4)];
+ r20 = (r17 + r13)|0;
+ r21 = (r19 + r13)|0;
+ heap32[(g0)] = r20;
+ heap32[(g0+1)] = r21;
+ heap32[(g0+2)] = 136;
+ r18 = (r18 + -1)|0;
+ r13 = (r13 + 136)|0;
+ memcpy(i7);
+if(!(r18 !=0)) //_LBB612_120
+{
+break _166;
+}
+}
+}
+ if(r19 !=0) //_LBB612_123
+{
+ r13 = heapU8[r0+20];
+ if(r13 !=0) //_LBB612_125
+{
+ r13 = gNumAlignedFree;
+ r13 = r13 >> 2;
+ r18 = heap32[(r13)];
+ r18 = (r18 + 1)|0;
+ r19 = r19 >> 2;
+ heap32[(r13)] = r18;
+ r13 = heap32[(r19+-1)];
+ heap32[(g0)] = r13;
+ free(i7);
+ r13 = heap32[(r2+2)];
+}
+else{
+ r13 = r14;
+}
+ heap32[(r2+4)] = 0;
+}
+else{
+ r13 = r14;
+}
+ heap8[r0+20] = r15;
+ heap32[(r2+4)] = r17;
+ heap32[(r2+3)] = r16;
+__label__ = 121;
+}
+}
+else{
+__label__ = 104;
+}
+if (__label__ == 104){
+ r13 = r14;
+}
+ r13 = (r13 + 1)|0;
+ heap32[(r2+2)] = r13;
+ r13 = heapU8[r3+232];
+ r15 = heapU8[r1+232];
+ r13 = r13 & 2;
+ r16 = 0;
+ r15 = r15 & 2;
+ r13 = r13 == 0 ? r16 : r3;
+ r17 = heap32[(r2+4)];
+ r15 = r15 == 0 ? r16 : r1;
+ if(r13 ==0) //_LBB612_130
+{
+ r18 = _ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r19 = heapU8[r18];
+if(!(r19 !=0)) //_LBB612_132
+{
+ r19 = _ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r20 = r19 >> 2;
+ heap32[(r20+41)] = 1065353216;
+ heap32[(r20+42)] = 1065353216;
+ heap32[(r20+43)] = 1065353216;
+ heap32[(r20+44)] = 0;
+ heap32[(r20+45)] = 0;
+ heap32[(r20+46)] = 1566444395;
+ heap32[(r20+47)] = 0;
+ heap32[(r20+48)] = 0;
+ heap32[(r20+49)] = 0;
+ heap32[(r20+50)] = 0;
+ heap32[(r20+51)] = 1;
+ heap32[(r20+52)] = -1;
+ heap32[(r20+53)] = -1;
+ heap32[(r20+54)] = 1;
+ heap32[(r20+55)] = 0;
+ heap32[(r20+56)] = 1056964608;
+ heap32[(r20+57)] = 0;
+ heap32[(r20+58)] = 1;
+ heap32[(r20+59)] = 0;
+ heap32[(r20+60)] = 1065353216;
+ heap32[(r20+61)] = 0;
+ heap32[(r20+62)] = 0;
+ heap32[(r20+63)] = 0;
+ heap32[(r20+1)] = 1065353216;
+ heap32[(r20+2)] = 0;
+ heap32[(r20+3)] = 0;
+ heap32[(r20+4)] = 0;
+ heap32[(r20+5)] = 0;
+ heap32[(r20+6)] = 1065353216;
+ heap32[(r20+7)] = 0;
+ heap32[(r20+8)] = 0;
+ heap32[(r20+9)] = 0;
+ heap32[(r20+10)] = 0;
+ heap32[(r20+11)] = 1065353216;
+ heap32[(r20+12)] = 0;
+ heap32[(r20+13)] = 0;
+ heap32[(r20+14)] = 0;
+ r21 = _ZTV11btRigidBody;
+ heap32[(r20+15)] = 0;
+ r21 = (r21 + 8)|0;
+ heap32[(r20+16)] = 0;
+ r22 = 1;
+ heap32[(r20)] = r21;
+ heap8[r19+492] = r22;
+ heap32[(r20+122)] = 0;
+ heap32[(r20+120)] = 0;
+ r21 = sp + -280;
+ heap32[(r20+121)] = 0;
+ r20 = r21 >> 2;
+ heap32[(fp+-70)] = 0;
+ heap32[(r20+1)] = 0;
+ heap32[(r20+18)] = 0;
+ heap32[(r20+19)] = 0;
+ heap32[(r20+20)] = 0;
+ heap32[(r20+21)] = 0;
+ heap32[(r20+22)] = 0;
+ heap32[(r20+23)] = 0;
+ heap32[(r20+24)] = 0;
+ heap32[(r20+25)] = 1056964608;
+ heap32[(r20+26)] = 0;
+ heap32[(r20+27)] = 1061997773;
+ heap32[(r20+28)] = 1065353216;
+ heap8[sp+-164] = r16;
+ heap32[(r20+30)] = 1000593162;
+ heap32[(r20+31)] = 1008981770;
+ heap32[(r20+32)] = 1008981770;
+ heap32[(r20+33)] = 1008981770;
+ heap32[(r20+2)] = 1065353216;
+ heap32[(r20+3)] = 0;
+ heap32[(r20+4)] = 0;
+ heap32[(r20+5)] = 0;
+ heap32[(r20+6)] = 0;
+ heap32[(r20+7)] = 1065353216;
+ heap32[(r20+8)] = 0;
+ heap32[(r20+9)] = 0;
+ heap32[(r20+10)] = 0;
+ heap32[(r20+11)] = 0;
+ heap32[(r20+12)] = 1065353216;
+ heap32[(r20+13)] = 0;
+ heap32[(r20+14)] = 0;
+ heap32[(r20+15)] = 0;
+ heap32[(r20+16)] = 0;
+ heap32[(r20+17)] = 0;
+ heap32[(g0)] = r19;
+ heap32[(g0+1)] = r21;
+ _ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(i7);
+ heap8[r18] = r22;
+}
+ r18 = _ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r19 = r18 >> 2;
+ r20 = heap32[(r19+51)];
+ r20 = r20 | 1;
+ heap32[(r19+51)] = r20;
+ heap32[(r19+84)] = 0;
+ f0 = 0;
+ f1 = heapFloat[(r19+95)];
+ f2 = heapFloat[(r19+94)];
+ f3 = heapFloat[(r19+93)];
+ f3 = f3*f0;
+ f2 = f2*f0;
+ heapFloat[(r19+89)] = f3;
+ f1 = f1*f0;
+ heapFloat[(r19+90)] = f2;
+ heapFloat[(r19+91)] = f1;
+ heap32[(r19+92)] = 0;
+ heap32[(r19+97)] = 0;
+ heap32[(r19+98)] = 0;
+ heap32[(r19+99)] = 0;
+ heap32[(r19+100)] = 0;
+ f1 = heapFloat[(r19+87)];
+ f2 = heapFloat[(r19+86)];
+ f3 = heapFloat[(r19+85)];
+ f3 = f3*f0;
+ f2 = f2*f0;
+ heapFloat[(r19+138)] = f3;
+ f0 = f1*f0;
+ heapFloat[(r19+139)] = f2;
+ heapFloat[(r19+140)] = f0;
+ heap32[(r19+141)] = 0;
+}
+else{
+ r18 = r13;
+}
+ r19 = (r14 * 136)|0;
+ r17 = (r17 + r19)|0;
+ r17 = r17 >> 2;
+ heap32[(r17+26)] = r18;
+ if(r15 ==0) //_LBB612_135
+{
+ r18 = _ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r19 = heapU8[r18];
+if(!(r19 !=0)) //_LBB612_137
+{
+ r19 = _ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r20 = r19 >> 2;
+ heap32[(r20+41)] = 1065353216;
+ heap32[(r20+42)] = 1065353216;
+ heap32[(r20+43)] = 1065353216;
+ heap32[(r20+44)] = 0;
+ heap32[(r20+45)] = 0;
+ heap32[(r20+46)] = 1566444395;
+ heap32[(r20+47)] = 0;
+ heap32[(r20+48)] = 0;
+ heap32[(r20+49)] = 0;
+ heap32[(r20+50)] = 0;
+ heap32[(r20+51)] = 1;
+ heap32[(r20+52)] = -1;
+ heap32[(r20+53)] = -1;
+ heap32[(r20+54)] = 1;
+ heap32[(r20+55)] = 0;
+ heap32[(r20+56)] = 1056964608;
+ heap32[(r20+57)] = 0;
+ heap32[(r20+58)] = 1;
+ heap32[(r20+59)] = 0;
+ heap32[(r20+60)] = 1065353216;
+ heap32[(r20+61)] = 0;
+ heap32[(r20+62)] = 0;
+ heap32[(r20+63)] = 0;
+ heap32[(r20+1)] = 1065353216;
+ heap32[(r20+2)] = 0;
+ heap32[(r20+3)] = 0;
+ heap32[(r20+4)] = 0;
+ heap32[(r20+5)] = 0;
+ heap32[(r20+6)] = 1065353216;
+ heap32[(r20+7)] = 0;
+ heap32[(r20+8)] = 0;
+ heap32[(r20+9)] = 0;
+ heap32[(r20+10)] = 0;
+ heap32[(r20+11)] = 1065353216;
+ heap32[(r20+12)] = 0;
+ heap32[(r20+13)] = 0;
+ heap32[(r20+14)] = 0;
+ r21 = _ZTV11btRigidBody;
+ heap32[(r20+15)] = 0;
+ r21 = (r21 + 8)|0;
+ heap32[(r20+16)] = 0;
+ r22 = 1;
+ heap32[(r20)] = r21;
+ heap8[r19+492] = r22;
+ heap32[(r20+122)] = 0;
+ heap32[(r20+120)] = 0;
+ r21 = sp + -144;
+ heap32[(r20+121)] = 0;
+ r20 = r21 >> 2;
+ heap32[(fp+-36)] = 0;
+ heap32[(r20+1)] = 0;
+ heap32[(r20+18)] = 0;
+ heap32[(r20+19)] = 0;
+ heap32[(r20+20)] = 0;
+ heap32[(r20+21)] = 0;
+ heap32[(r20+22)] = 0;
+ heap32[(r20+23)] = 0;
+ heap32[(r20+24)] = 0;
+ heap32[(r20+25)] = 1056964608;
+ heap32[(r20+26)] = 0;
+ heap32[(r20+27)] = 1061997773;
+ heap32[(r20+28)] = 1065353216;
+ heap8[sp+-28] = r16;
+ heap32[(r20+30)] = 1000593162;
+ heap32[(r20+31)] = 1008981770;
+ heap32[(r20+32)] = 1008981770;
+ heap32[(r20+33)] = 1008981770;
+ heap32[(r20+2)] = 1065353216;
+ heap32[(r20+3)] = 0;
+ heap32[(r20+4)] = 0;
+ heap32[(r20+5)] = 0;
+ heap32[(r20+6)] = 0;
+ heap32[(r20+7)] = 1065353216;
+ heap32[(r20+8)] = 0;
+ heap32[(r20+9)] = 0;
+ heap32[(r20+10)] = 0;
+ heap32[(r20+11)] = 0;
+ heap32[(r20+12)] = 1065353216;
+ heap32[(r20+13)] = 0;
+ heap32[(r20+14)] = 0;
+ heap32[(r20+15)] = 0;
+ heap32[(r20+16)] = 0;
+ heap32[(r20+17)] = 0;
+ heap32[(g0)] = r19;
+ heap32[(g0+1)] = r21;
+ _ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(i7);
+ heap8[r18] = r22;
+}
+ r18 = _ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r19 = r18 >> 2;
+ r20 = heap32[(r19+51)];
+ r20 = r20 | 1;
+ heap32[(r19+51)] = r20;
+ heap32[(r19+84)] = 0;
+ f0 = 0;
+ f1 = heapFloat[(r19+95)];
+ f2 = heapFloat[(r19+94)];
+ f3 = heapFloat[(r19+93)];
+ f3 = f3*f0;
+ f2 = f2*f0;
+ heapFloat[(r19+89)] = f3;
+ f1 = f1*f0;
+ heapFloat[(r19+90)] = f2;
+ heapFloat[(r19+91)] = f1;
+ heap32[(r19+92)] = 0;
+ heap32[(r19+97)] = 0;
+ heap32[(r19+98)] = 0;
+ heap32[(r19+99)] = 0;
+ heap32[(r19+100)] = 0;
+ f1 = heapFloat[(r19+87)];
+ f2 = heapFloat[(r19+86)];
+ f3 = heapFloat[(r19+85)];
+ f3 = f3*f0;
+ f2 = f2*f0;
+ heapFloat[(r19+138)] = f3;
+ f0 = f1*f0;
+ heapFloat[(r19+139)] = f2;
+ heapFloat[(r19+140)] = f0;
+ heap32[(r19+141)] = 0;
+}
+else{
+ r18 = r15;
+}
+ heap32[(r17+27)] = r18;
+ r18 = r1 >> 2;
+ heap32[(r17+28)] = r10;
+ r19 = r3 >> 2;
+ r20 = heap32[(r19+58)];
+ r21 = heap32[(r18+58)];
+ f0 = heapFloat[(r9+15)];
+ f1 = heapFloat[(r19+15)];
+ f2 = heapFloat[(r9+14)];
+ f3 = heapFloat[(r19+14)];
+ f4 = heapFloat[(r9+13)];
+ f5 = heapFloat[(r19+13)];
+ r19 = sp + -296;
+ f4 = f4-f5;
+ f2 = f2-f3;
+ r22 = r19 >> 2;
+ heapFloat[(fp+-74)] = f4;
+ f0 = f0-f1;
+ heapFloat[(r22+1)] = f2;
+ heapFloat[(r22+2)] = f0;
+ heap32[(r22+3)] = 0;
+ f1 = heapFloat[(r9+11)];
+ f3 = heapFloat[(r18+15)];
+ f5 = heapFloat[(r9+10)];
+ f6 = heapFloat[(r18+14)];
+ f7 = heapFloat[(r9+9)];
+ f8 = heapFloat[(r18+13)];
+ r18 = sp + -312;
+ f7 = f7-f8;
+ f5 = f5-f6;
+ r22 = r18 >> 2;
+ heapFloat[(fp+-78)] = f7;
+ f1 = f1-f3;
+ heapFloat[(r22+1)] = f5;
+ heapFloat[(r22+2)] = f1;
+ r23 = r8 >> 2;
+ heap32[(r22+3)] = 0;
+ r22 = r8 >> 2;
+ r24 = r8 >> 2;
+ r20 = r20 & 2;
+ r21 = r21 & 2;
+ r20 = r20 == 0 ? r16 : r3;
+ r16 = r21 == 0 ? r16 : r1;
+ if(r20 ==0) //_LBB612_140
+{
+ heap32[(r17+12)] = 0;
+ heap32[(r17+13)] = 0;
+ f3 = 0;
+ heap32[(r17+14)] = 0;
+ heap32[(r17+15)] = 0;
+ f6 = f3;
+ f8 = f3;
+}
+else{
+ f3 = heapFloat[(r23+17)];
+ f6 = heapFloat[(r22+19)];
+ f8 = heapFloat[(r24+18)];
+ f9 = f4*f8;
+ f10 = f2*f3;
+ f3 = f0*f3;
+ f11 = f4*f6;
+ f6 = f2*f6;
+ f8 = f0*f8;
+ f9 = f9-f10;
+ f3 = f3-f11;
+ f6 = f6-f8;
+ r21 = r20 >> 2;
+ f8 = heapFloat[(r21+64)];
+ f10 = heapFloat[(r21+65)];
+ f11 = heapFloat[(r21+68)];
+ f12 = heapFloat[(r21+69)];
+ f8 = f8*f6;
+ f10 = f10*f3;
+ f13 = heapFloat[(r21+66)];
+ f14 = heapFloat[(r21+72)];
+ f15 = heapFloat[(r21+73)];
+ f16 = heapFloat[(r21+70)];
+ f11 = f11*f6;
+ f12 = f12*f3;
+ f8 = f8+f10;
+ f10 = f13*f9;
+ f13 = heapFloat[(r21+74)];
+ f6 = f14*f6;
+ f3 = f15*f3;
+ f11 = f11+f12;
+ f12 = f16*f9;
+ f8 = f8+f10;
+ f10 = heapFloat[(r21+134)];
+ f14 = heapFloat[(r21+136)];
+ f15 = heapFloat[(r21+135)];
+ f11 = f11+f12;
+ f8 = f8*f10;
+ f3 = f6+f3;
+ f6 = f13*f9;
+ f3 = f3+f6;
+ f6 = f11*f15;
+ heapFloat[(r17+12)] = f8;
+ f3 = f3*f14;
+ heapFloat[(r17+13)] = f6;
+ heapFloat[(r17+14)] = f3;
+ heap32[(r17+15)] = 0;
+}
+ if(r16 ==0) //_LBB612_143
+{
+ heap32[(r17+16)] = 0;
+ heap32[(r17+17)] = 0;
+ f10 = 0;
+ heap32[(r17+18)] = 0;
+ heap32[(r17+19)] = 0;
+ f11 = f10;
+ f9 = f10;
+}
+else{
+ f9 = heapFloat[(r24+18)];
+ f10 = heapFloat[(r23+17)];
+ f11 = heapFloat[(r22+19)];
+ f12 = f5*f11;
+ f13 = f1*f9;
+ r21 = r16 >> 2;
+ f12 = f12-f13;
+ f13 = f1*f10;
+ f11 = f7*f11;
+ f12 = -f12;
+ f14 = heapFloat[(r21+64)];
+ f11 = f13-f11;
+ f13 = heapFloat[(r21+65)];
+ f9 = f7*f9;
+ f10 = f5*f10;
+ f15 = heapFloat[(r21+68)];
+ f16 = heapFloat[(r21+69)];
+ f14 = f14*f12;
+ f13 = f13*f11;
+ f9 = f9-f10;
+ f10 = heapFloat[(r21+66)];
+ f17 = heapFloat[(r21+72)];
+ f18 = heapFloat[(r21+73)];
+ f19 = heapFloat[(r21+70)];
+ f15 = f15*f12;
+ f16 = f16*f11;
+ f13 = f14-f13;
+ f10 = f10*f9;
+ f14 = heapFloat[(r21+74)];
+ f12 = f17*f12;
+ f11 = f18*f11;
+ f15 = f15-f16;
+ f16 = f19*f9;
+ f10 = f13-f10;
+ f13 = heapFloat[(r21+134)];
+ f17 = heapFloat[(r21+136)];
+ f18 = heapFloat[(r21+135)];
+ f15 = f15-f16;
+ f10 = f10*f13;
+ f11 = f12-f11;
+ f9 = f14*f9;
+ f9 = f11-f9;
+ f11 = f15*f18;
+ heapFloat[(r17+16)] = f10;
+ f9 = f9*f17;
+ heapFloat[(r17+17)] = f11;
+ heapFloat[(r17+18)] = f9;
+ heap32[(r17+19)] = 0;
+}
+ if(r20 !=0) //_LBB612_146
+{
+ f12 = f6*f0;
+ f13 = f3*f2;
+ f3 = f3*f4;
+ f14 = f8*f0;
+ f15 = heapFloat[(r23+17)];
+ f12 = f12-f13;
+ f13 = heapFloat[(r24+18)];
+ f3 = f3-f14;
+ f8 = f8*f2;
+ f6 = f6*f4;
+ f12 = f15*f12;
+ f3 = f13*f3;
+ f13 = heapFloat[(r22+19)];
+ f6 = f8-f6;
+ r21 = r20 >> 2;
+ f3 = f12+f3;
+ f6 = f13*f6;
+ f8 = heapFloat[(r21+84)];
+ f3 = f3+f6;
+ f3 = f8+f3;
+}
+else{
+ f3 = 0;
+}
+ if(r16 !=0) //_LBB612_149
+{
+ f6 = f5*f9;
+ f8 = f1*f11;
+ f12 = f1*f10;
+ f9 = f7*f9;
+ f13 = heapFloat[(r23+17)];
+ f6 = f6-f8;
+ f8 = heapFloat[(r24+18)];
+ f9 = f12-f9;
+ f11 = f7*f11;
+ f10 = f5*f10;
+ f6 = f13*f6;
+ f9 = f8*f9;
+ f8 = heapFloat[(r22+19)];
+ f10 = f11-f10;
+ r21 = r16 >> 2;
+ f9 = f6+f9;
+ f6 = f8*f10;
+ f8 = heapFloat[(r21+84)];
+ f9 = f9+f6;
+ f9 = f8+f9;
+}
+else{
+ f9 = 0;
+}
+ f6 = 1;
+ f3 = f3+f9;
+ f3 = f6/f3;
+ heapFloat[(r17+23)] = f3;
+ f3 = heapFloat[(r23+17)];
+ heapFloat[(r17+4)] = f3;
+ f8 = heapFloat[(r24+18)];
+ heapFloat[(r17+5)] = f8;
+ f9 = heapFloat[(r22+19)];
+ heapFloat[(r17+6)] = f9;
+ heap32[(r17+7)] = heap32[(r9+20)];
+ f10 = heapFloat[(r22+19)];
+ f11 = heapFloat[(r24+18)];
+ f12 = heapFloat[(r23+17)];
+ f13 = f2*f10;
+ f14 = f0*f11;
+ f15 = f0*f12;
+ f10 = f4*f10;
+ f13 = f13-f14;
+ f11 = f4*f11;
+ f12 = f2*f12;
+ f10 = f15-f10;
+ heapFloat[(r17)] = f13;
+ f11 = f11-f12;
+ heapFloat[(r17+1)] = f10;
+ heapFloat[(r17+2)] = f11;
+ heap32[(r17+3)] = 0;
+ f10 = heapFloat[(r24+18)];
+ f11 = heapFloat[(r22+19)];
+ f12 = heapFloat[(r23+17)];
+ f13 = f1*f10;
+ f14 = f5*f11;
+ f11 = f7*f11;
+ f15 = f1*f12;
+ f13 = f13-f14;
+ f12 = f5*f12;
+ f10 = f7*f10;
+ f11 = f11-f15;
+ heapFloat[(r17+8)] = f13;
+ f10 = f12-f10;
+ heapFloat[(r17+9)] = f11;
+ heapFloat[(r17+10)] = f10;
+ heap32[(r17+11)] = 0;
+ if(r20 !=0) //_LBB612_152
+{
+ r21 = r20 >> 2;
+ f10 = heapFloat[(r21+81)];
+ f11 = heapFloat[(r21+80)];
+ f12 = heapFloat[(r21+82)];
+ f13 = f11*f2;
+ f14 = f10*f4;
+ f4 = f12*f4;
+ f11 = f11*f0;
+ f0 = f10*f0;
+ f2 = f12*f2;
+ f10 = heapFloat[(r21+78)];
+ f12 = f13-f14;
+ f13 = heapFloat[(r21+77)];
+ f11 = f4-f11;
+ f14 = heapFloat[(r21+76)];
+ f0 = f0-f2;
+ f4 = f10+f12;
+ f2 = f13+f11;
+ f0 = f14+f0;
+}
+else{
+ f0 = 0;
+ f2 = f0;
+ f4 = f0;
+}
+ if(r16 !=0) //_LBB612_155
+{
+ r21 = r16 >> 2;
+ f10 = heapFloat[(r21+81)];
+ f11 = heapFloat[(r21+80)];
+ f12 = heapFloat[(r21+82)];
+ f13 = f11*f5;
+ f14 = f10*f7;
+ f7 = f12*f7;
+ f11 = f11*f1;
+ f1 = f10*f1;
+ f5 = f12*f5;
+ f10 = heapFloat[(r21+78)];
+ f12 = f13-f14;
+ f13 = heapFloat[(r21+77)];
+ f11 = f7-f11;
+ f14 = heapFloat[(r21+76)];
+ f1 = f1-f5;
+ f7 = f10+f12;
+ f5 = f13+f11;
+ f1 = f14+f1;
+}
+else{
+ f1 = 0;
+ f5 = f1;
+ f7 = f1;
+}
+ f0 = f0-f1;
+ f1 = f2-f5;
+ f2 = heapFloat[(r23+17)];
+ f5 = heapFloat[(r24+18)];
+ f4 = f4-f7;
+ f7 = heapFloat[(r22+19)];
+ f2 = f2*f0;
+ f5 = f5*f1;
+ f2 = f2+f5;
+ f5 = f7*f4;
+ f7 = heapFloat[(r9+21)];
+ f10 = heapFloat[(r6+13)];
+ f2 = f2+f5;
+ f5 = f7+f10;
+ heap32[(r17+22)] = heap32[(r9+22)];
+ r21 = heap32[(r9+37)];
+ r25 = heap32[(r6+16)];
+ if(r21 >r25) //_LBB612_159
+{
+__label__ = 151;
+}
+else{
+ f7 = heapFloat[(r9+23)];
+ f10 = -f2;
+ f7 = f7*f10;
+ f10 = 0;
+ if(f7 <=f10) //_LBB612_159
+{
+__label__ = 151;
+}
+else{
+__label__ = 152;
+}
+}
+if (__label__ == 151){
+ f7 = 0;
+}
+ r21 = heapU8[r5+60];
+ r21 = r21 & 4;
+ if(r21 ==0) //_LBB612_167
+{
+ heap32[(r17+21)] = 0;
+}
+else{
+ f10 = heapFloat[(r9+29)];
+ f11 = heapFloat[(r6+14)];
+ f10 = f10*f11;
+ heapFloat[(r17+21)] = f10;
+if(!(r20 ==0)) //_LBB612_164
+{
+ r21 = r20 >> 2;
+ f11 = heapFloat[(r21+84)];
+ f12 = 0;
+if(!(f11 ==f12)) //_LBB612_164
+{
+ f3 = f3*f11;
+ f12 = heapFloat[(r21+85)];
+ f3 = f3*f12;
+ f3 = f3*f10;
+ f12 = heapFloat[(r21+126)];
+ f13 = heapFloat[(r21+86)];
+ f14 = heapFloat[(r21+87)];
+ f8 = f8*f11;
+ f3 = f12+f3;
+ f8 = f8*f13;
+ heapFloat[(r21+126)] = f3;
+ f3 = f8*f10;
+ f8 = heapFloat[(r21+127)];
+ f9 = f9*f11;
+ f3 = f8+f3;
+ f8 = f9*f14;
+ heapFloat[(r21+127)] = f3;
+ f3 = f8*f10;
+ f8 = heapFloat[(r21+128)];
+ f3 = f8+f3;
+ heapFloat[(r21+128)] = f3;
+ f3 = heapFloat[(r21+134)];
+ f3 = f3*f10;
+ f8 = heapFloat[(r17+12)];
+ f9 = heapFloat[(r21+136)];
+ f11 = heapFloat[(r21+135)];
+ f3 = f8*f3;
+ f8 = heapFloat[(r21+130)];
+ f12 = heapFloat[(r17+14)];
+ f13 = heapFloat[(r17+13)];
+ f3 = f8+f3;
+ f8 = f11*f10;
+ heapFloat[(r21+130)] = f3;
+ f3 = f13*f8;
+ f8 = heapFloat[(r21+131)];
+ f3 = f8+f3;
+ f8 = f9*f10;
+ heapFloat[(r21+131)] = f3;
+ f3 = f12*f8;
+ f8 = heapFloat[(r21+132)];
+ f3 = f8+f3;
+ heapFloat[(r21+132)] = f3;
+}
+}
+if(!(r16 ==0)) //_LBB612_168
+{
+ r21 = r16 >> 2;
+ f3 = heapFloat[(r21+84)];
+ f8 = 0;
+if(!(f3 ==f8)) //_LBB612_168
+{
+ f8 = heapFloat[(r17+21)];
+ f8 = -f8;
+ f9 = heapFloat[(r17+4)];
+ f9 = f9*f3;
+ f10 = heapFloat[(r21+85)];
+ f9 = f9*f10;
+ f10 = heapFloat[(r17+5)];
+ f11 = heapFloat[(r17+6)];
+ f9 = f9*f8;
+ f12 = heapFloat[(r21+126)];
+ f13 = heapFloat[(r21+86)];
+ f14 = heapFloat[(r21+87)];
+ f15 = heapFloat[(r17+16)];
+ f16 = heapFloat[(r17+17)];
+ f17 = heapFloat[(r17+18)];
+ f10 = f10*f3;
+ f9 = f12+f9;
+ f10 = f10*f13;
+ heapFloat[(r21+126)] = f9;
+ f9 = f10*f8;
+ f10 = heapFloat[(r21+127)];
+ f3 = f11*f3;
+ f9 = f10+f9;
+ f3 = f3*f14;
+ heapFloat[(r21+127)] = f9;
+ f3 = f3*f8;
+ f9 = heapFloat[(r21+128)];
+ f3 = f9+f3;
+ heapFloat[(r21+128)] = f3;
+ f3 = heapFloat[(r21+134)];
+ f3 = f3*f8;
+ f9 = heapFloat[(r21+136)];
+ f10 = heapFloat[(r21+135)];
+ f11 = heapFloat[(r21+130)];
+ f3 = f3*f15;
+ f3 = f11-f3;
+ f10 = f10*f8;
+ heapFloat[(r21+130)] = f3;
+ f3 = f10*f16;
+ f10 = heapFloat[(r21+131)];
+ f3 = f10-f3;
+ f8 = f9*f8;
+ heapFloat[(r21+131)] = f3;
+ f3 = f8*f17;
+ f8 = heapFloat[(r21+132)];
+ f3 = f8-f3;
+ heapFloat[(r21+132)] = f3;
+}
+}
+}
+ heap32[(r17+20)] = 0;
+ if(r20 !=0) //_LBB612_170
+{
+ r21 = r20 >> 2;
+ f9 = heapFloat[(r21+76)];
+ f8 = heapFloat[(r21+77)];
+ f3 = heapFloat[(r21+78)];
+}
+else{
+ f3 = 0;
+ f8 = f3;
+ f9 = f3;
+}
+ f10 = heapFloat[(r17+4)];
+ f11 = heapFloat[(r17+5)];
+ f12 = heapFloat[(r17+6)];
+ f9 = f10*f9;
+ f8 = f11*f8;
+ f8 = f9+f8;
+ f3 = f12*f3;
+ f3 = f8+f3;
+ if(r20 !=0) //_LBB612_173
+{
+ r20 = r20 >> 2;
+ f13 = heapFloat[(r20+80)];
+ f9 = heapFloat[(r20+81)];
+ f8 = heapFloat[(r20+82)];
+}
+else{
+ f8 = 0;
+ f9 = f8;
+ f13 = f8;
+}
+ f14 = heapFloat[(r17)];
+ f15 = heapFloat[(r17+1)];
+ f13 = f14*f13;
+ f9 = f15*f9;
+ f14 = heapFloat[(r17+2)];
+ f9 = f13+f9;
+ f8 = f14*f8;
+ f8 = f9+f8;
+ f3 = f3+f8;
+ if(r16 !=0) //_LBB612_176
+{
+ r20 = r16 >> 2;
+ f13 = heapFloat[(r20+80)];
+ f9 = heapFloat[(r20+81)];
+ f8 = heapFloat[(r20+82)];
+}
+else{
+ f8 = 0;
+ f9 = f8;
+ f13 = f8;
+}
+ f14 = heapFloat[(r17+8)];
+ f15 = heapFloat[(r17+9)];
+ f13 = f14*f13;
+ f9 = f15*f9;
+ f14 = heapFloat[(r17+10)];
+ f9 = f13+f9;
+ f8 = f14*f8;
+ f8 = f9+f8;
+ if(r16 !=0) //_LBB612_179
+{
+ r16 = r16 >> 2;
+ f14 = heapFloat[(r16+76)];
+ f13 = heapFloat[(r16+77)];
+ f9 = heapFloat[(r16+78)];
+}
+else{
+ f9 = 0;
+ f13 = f9;
+ f14 = f9;
+}
+ f10 = f10*f14;
+ f11 = f11*f13;
+ f10 = f10+f11;
+ f9 = f12*f9;
+ f9 = f10+f9;
+ f10 = heapFloat[(r6+8)];
+ f11 = -f5;
+ f8 = f8-f9;
+ f9 = f10*f11;
+ f10 = heapFloat[(r6+3)];
+ f3 = f3+f8;
+ f8 = f9/f10;
+ f9 = heapFloat[(r17+23)];
+ f3 = f7-f3;
+ f7 = f9*f8;
+ f3 = f9*f3;
+ r16 = heap32[(r6+11)];
+ if(r16 ==0) //_LBB612_182
+{
+__label__ = 174;
+}
+else{
+ f8 = heapFloat[(r6+12)];
+ if(f8 >=f5) //_LBB612_183
+{
+ heapFloat[(r17+29)] = f3;
+ heapFloat[(r17+33)] = f7;
+__label__ = 176;
+}
+else{
+__label__ = 174;
+}
+}
+if (__label__ == 174){
+ f3 = f7+f3;
+ heapFloat[(r17+29)] = f3;
+ heap32[(r17+33)] = 0;
+}
+ heap32[(r17+30)] = 0;
+ heap32[(r17+31)] = 0;
+ heap32[(r17+32)] = 1343554297;
+ r16 = heap32[(r2+12)];
+ heap32[(r17+25)] = r16;
+ r16 = heapU8[r5+60];
+ r16 = r16 & 32;
+ if(r16 ==0) //_LBB612_186
+{
+__label__ = 178;
+}
+else{
+ r16 = heapU8[r8+120];
+ if(r16 !=0) //_LBB612_200
+{
+ r16 = r8 >> 2;
+ f0 = heapFloat[(r9+35)];
+ f1 = heapFloat[(r16+33)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r14;
+ heap32[(g0+3)] = r10;
+ heap32[(g0+4)] = r19;
+ heap32[(g0+5)] = r18;
+ heap32[(g0+6)] = r3;
+ heap32[(g0+7)] = r1;
+ heap32[(g0+8)] = 1065353216;
+ heapFloat[(g0+9)] = f1;
+ heapFloat[(g0+10)] = f0;
+ _ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(i7);
+ r12 = heapU8[r5+60];
+ r12 = r12 & 16;
+ if(r12 ==0) //_LBB612_202
+{
+__label__ = 194;
+}
+else{
+ r12 = r8 >> 2;
+ r8 = r8 >> 2;
+ f0 = heapFloat[(r12+36)];
+ f1 = heapFloat[(r8+34)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r14;
+ heap32[(g0+3)] = r10;
+ heap32[(g0+4)] = r19;
+ heap32[(g0+5)] = r18;
+ heap32[(g0+6)] = r3;
+ heap32[(g0+7)] = r1;
+ heap32[(g0+8)] = 1065353216;
+ heapFloat[(g0+9)] = f1;
+ heapFloat[(g0+10)] = f0;
+ _ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(i7);
+__label__ = 194;
+}
+}
+else{
+__label__ = 178;
+}
+}
+_259: do {
+if (__label__ == 178){
+ f3 = heapFloat[(r23+17)];
+ f5 = heapFloat[(r22+19)];
+ f7 = heapFloat[(r24+18)];
+ f8 = f3*f2;
+ f0 = f0-f8;
+ f8 = f7*f2;
+ r16 = r8 >> 2;
+ f1 = f1-f8;
+ f2 = f5*f2;
+ r20 = r8 >> 2;
+ heapFloat[(r16+38)] = f0;
+ f2 = f4-f2;
+ r21 = r8 >> 2;
+ heapFloat[(r20+39)] = f1;
+ r25 = r8 >> 2;
+ heapFloat[(r21+40)] = f2;
+ heap32[(r25+41)] = 0;
+ r25 = heapU8[r5+60];
+ r25 = r25 & 64;
+if(!(r25 !=0)) //_LBB612_191
+{
+ f0 = f0*f0;
+ f1 = f1*f1;
+ f0 = f0+f1;
+ f1 = f2*f2;
+ f0 = f0+f1;
+ f1 = 1.1920928955078125e-007;
+if(!(f0 <=f1)) //_LBB612_191
+{
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f3 = f6/f_g0;
+ f5 = heapFloat[(r16+38)];
+ f5 = f5*f3;
+ heapFloat[(r16+38)] = f5;
+ f7 = heapFloat[(r20+39)];
+ f7 = f7*f3;
+ heapFloat[(r20+39)] = f7;
+ f0 = heapFloat[(r21+40)];
+ f3 = f0*f3;
+ heapFloat[(r21+40)] = f3;
+ r16 = heapU8[r5+60];
+ r16 = r16 & 16;
+if(!(r16 ==0)) //_LBB612_190
+{
+ f0 = heapFloat[(r22+19)];
+ f1 = heapFloat[(r24+18)];
+ f2 = heapFloat[(r23+17)];
+ f4 = f7*f0;
+ f8 = f3*f1;
+ f4 = f4-f8;
+ f3 = f3*f2;
+ f0 = f5*f0;
+ r16 = r8 >> 2;
+ f3 = f3-f0;
+ f5 = f5*f1;
+ f7 = f7*f2;
+ r20 = r8 >> 2;
+ heapFloat[(r16+42)] = f4;
+ f5 = f5-f7;
+ r21 = r8 >> 2;
+ heapFloat[(r20+43)] = f3;
+ f7 = f4*f4;
+ f3 = f3*f3;
+ r22 = r8 >> 2;
+ heapFloat[(r21+44)] = f5;
+ heap32[(r22+45)] = 0;
+ f3 = f7+f3;
+ f5 = f5*f5;
+ f3 = f3+f5;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f3 = f6/f_g0;
+ f5 = heapFloat[(r16+42)];
+ f5 = f5*f3;
+ heapFloat[(r16+42)] = f5;
+ f5 = heapFloat[(r20+43)];
+ f5 = f5*f3;
+ heapFloat[(r20+43)] = f5;
+ f5 = heapFloat[(r21+44)];
+ f3 = f5*f3;
+ heapFloat[(r21+44)] = f3;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r11;
+ _Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(i7);
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r11;
+ _Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(i7);
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r14;
+ heap32[(g0+3)] = r10;
+ heap32[(g0+4)] = r19;
+ heap32[(g0+5)] = r18;
+ heap32[(g0+6)] = r3;
+ heap32[(g0+7)] = r1;
+ heap32[(g0+8)] = 1065353216;
+ heap32[(g0+9)] = 0;
+ heap32[(g0+10)] = 0;
+ _ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(i7);
+}
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r12;
+ _Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(i7);
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r12;
+ _Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(i7);
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r14;
+ heap32[(g0+3)] = r10;
+ heap32[(g0+4)] = r19;
+ heap32[(g0+5)] = r18;
+ heap32[(g0+6)] = r3;
+ heap32[(g0+7)] = r1;
+ heap32[(g0+8)] = 1065353216;
+ heap32[(g0+9)] = 0;
+ heap32[(g0+10)] = 0;
+ r10 = 1;
+ _ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(i7);
+ heap8[r8+120] = r10;
+break _259;
+}
+}
+ f0 = 0;
+ if(f5 <f0) //_LBB612_193
+{
+ f0 = -f5;
+}
+else{
+ f0 = f5;
+}
+ f1 = 0.70710676908493042;
+ if(f0 <=f1) //_LBB612_196
+{
+ f3 = f3*f3;
+ f0 = f7*f7;
+ f3 = f3+f0;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ f1 = heapFloat[(r24+18)];
+ f0 = f6/f_g0;
+ f1 = -f1;
+ f1 = f0*f1;
+ heapFloat[(r16+38)] = f1;
+ f2 = heapFloat[(r23+17)];
+ f2 = f2*f0;
+ heapFloat[(r20+39)] = f2;
+ heap32[(r21+40)] = 0;
+ f4 = heapFloat[(r22+19)];
+ f5 = -f4;
+ r16 = r8 >> 2;
+ f2 = f2*f5;
+ f3 = f3*f0;
+ r20 = r8 >> 2;
+ f0 = f4*f1;
+ heapFloat[(r16+42)] = f2;
+ heapFloat[(r20+43)] = f0;
+}
+else{
+ f3 = f7*f7;
+ f7 = f5*f5;
+ f3 = f3+f7;
+ heapFloat[(g0)] = f3;
+ sqrtf(i7);
+ heap32[(r16+38)] = 0;
+ f0 = heapFloat[(r22+19)];
+ f6 = f6/f_g0;
+ f7 = -f0;
+ f7 = f6*f7;
+ heapFloat[(r20+39)] = f7;
+ f0 = heapFloat[(r24+18)];
+ f0 = f0*f6;
+ r16 = r8 >> 2;
+ f3 = f3*f6;
+ heapFloat[(r21+40)] = f0;
+ heapFloat[(r16+42)] = f3;
+ f3 = heapFloat[(r23+17)];
+ f6 = -f3;
+ f3 = f3*f7;
+ r16 = r8 >> 2;
+ f6 = f0*f6;
+ heapFloat[(r16+43)] = f6;
+}
+ r16 = r8 >> 2;
+ heapFloat[(r16+44)] = f3;
+ r16 = heapU8[r5+60];
+ r16 = r16 & 16;
+if(!(r16 ==0)) //_LBB612_199
+{
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r11;
+ _Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(i7);
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r11;
+ _Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(i7);
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r14;
+ heap32[(g0+3)] = r10;
+ heap32[(g0+4)] = r19;
+ heap32[(g0+5)] = r18;
+ heap32[(g0+6)] = r3;
+ heap32[(g0+7)] = r1;
+ heap32[(g0+8)] = 1065353216;
+ heap32[(g0+9)] = 0;
+ heap32[(g0+10)] = 0;
+ _ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(i7);
+}
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r12;
+ _Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(i7);
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r12;
+ _Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(i7);
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r14;
+ heap32[(g0+3)] = r10;
+ heap32[(g0+4)] = r19;
+ heap32[(g0+5)] = r18;
+ heap32[(g0+6)] = r3;
+ heap32[(g0+7)] = r1;
+ heap32[(g0+8)] = 1065353216;
+ heap32[(g0+9)] = 0;
+ heap32[(g0+10)] = 0;
+ r10 = 1;
+ _ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(i7);
+ heap8[r8+120] = r10;
+}
+} while(0);
+ r8 = heap32[(r6+15)];
+ r10 = heap32[(r17+25)];
+ r11 = heap32[(r2+14)];
+ r12 = r8 & 8;
+ if(r12 ==0) //_LBB612_220
+{
+ r8 = (r10 * 136)|0;
+ r8 = (r11 + r8)|0;
+ r8 = r8 >> 2;
+ heap32[(r8+21)] = 0;
+ r8 = heapU8[r5+60];
+ r8 = r8 & 16;
+ if(r8 ==0) //_LBB612_222
+{
+break _153;
+}
+else{
+ r8 = heap32[(r17+25)];
+ r9 = heap32[(r2+14)];
+ r8 = (r8 * 136)|0;
+ r8 = (r8 + r9)|0;
+ r8 = r8 >> 2;
+ heap32[(r8+55)] = 0;
+}
+}
+else{
+ r8 = r8 & 4;
+ if(r8 ==0) //_LBB612_210
+{
+ r10 = (r10 * 136)|0;
+ r10 = (r11 + r10)|0;
+ r10 = r10 >> 2;
+ heap32[(r10+21)] = 0;
+}
+else{
+ r10 = (r10 * 136)|0;
+ r10 = (r11 + r10)|0;
+ f0 = heapFloat[(r9+31)];
+ f1 = heapFloat[(r6+14)];
+ f0 = f0*f1;
+ r10 = r10 >> 2;
+ heapFloat[(r10+21)] = f0;
+if(!(r13 ==0)) //_LBB612_207
+{
+ r11 = r13 >> 2;
+ f1 = heapFloat[(r11+84)];
+ f2 = 0;
+if(!(f1 ==f2)) //_LBB612_207
+{
+ f2 = heapFloat[(r10+4)];
+ f2 = f2*f1;
+ f3 = heapFloat[(r11+85)];
+ f2 = f2*f3;
+ f3 = heapFloat[(r10+5)];
+ f4 = heapFloat[(r10+6)];
+ f2 = f2*f0;
+ f5 = heapFloat[(r11+126)];
+ f6 = heapFloat[(r11+86)];
+ f7 = heapFloat[(r11+87)];
+ f3 = f3*f1;
+ f2 = f5+f2;
+ f3 = f3*f6;
+ heapFloat[(r11+126)] = f2;
+ f2 = f3*f0;
+ f3 = heapFloat[(r11+127)];
+ f1 = f4*f1;
+ f2 = f3+f2;
+ f1 = f1*f7;
+ heapFloat[(r11+127)] = f2;
+ f1 = f1*f0;
+ f2 = heapFloat[(r11+128)];
+ f1 = f2+f1;
+ heapFloat[(r11+128)] = f1;
+ f1 = heapFloat[(r11+134)];
+ f1 = f1*f0;
+ f2 = heapFloat[(r10+12)];
+ f3 = heapFloat[(r11+136)];
+ f4 = heapFloat[(r11+135)];
+ f1 = f2*f1;
+ f2 = heapFloat[(r11+130)];
+ f5 = heapFloat[(r10+14)];
+ f6 = heapFloat[(r10+13)];
+ f1 = f2+f1;
+ f2 = f4*f0;
+ heapFloat[(r11+130)] = f1;
+ f1 = f6*f2;
+ f2 = heapFloat[(r11+131)];
+ f1 = f2+f1;
+ f0 = f3*f0;
+ heapFloat[(r11+131)] = f1;
+ f0 = f5*f0;
+ f1 = heapFloat[(r11+132)];
+ f0 = f1+f0;
+ heapFloat[(r11+132)] = f0;
+}
+}
+if(!(r15 ==0)) //_LBB612_211
+{
+ r11 = r15 >> 2;
+ f0 = heapFloat[(r11+84)];
+ f1 = 0;
+if(!(f0 ==f1)) //_LBB612_211
+{
+ f1 = heapFloat[(r10+21)];
+ f1 = -f1;
+ f2 = heapFloat[(r10+4)];
+ f2 = f2*f0;
+ f3 = heapFloat[(r11+85)];
+ f2 = f2*f3;
+ f3 = heapFloat[(r10+5)];
+ f4 = heapFloat[(r10+6)];
+ f2 = f2*f1;
+ f5 = heapFloat[(r11+126)];
+ f6 = heapFloat[(r11+86)];
+ f7 = heapFloat[(r11+87)];
+ f8 = heapFloat[(r10+16)];
+ f9 = heapFloat[(r10+17)];
+ f10 = heapFloat[(r10+18)];
+ f3 = f3*f0;
+ f2 = f5+f2;
+ f3 = f3*f6;
+ heapFloat[(r11+126)] = f2;
+ f2 = f3*f1;
+ f3 = heapFloat[(r11+127)];
+ f0 = f4*f0;
+ f2 = f3+f2;
+ f0 = f0*f7;
+ heapFloat[(r11+127)] = f2;
+ f0 = f0*f1;
+ f2 = heapFloat[(r11+128)];
+ f0 = f2+f0;
+ heapFloat[(r11+128)] = f0;
+ f0 = heapFloat[(r11+134)];
+ f0 = f0*f1;
+ f2 = heapFloat[(r11+136)];
+ f3 = heapFloat[(r11+135)];
+ f4 = heapFloat[(r11+130)];
+ f0 = f0*f8;
+ f0 = f4-f0;
+ f3 = f3*f1;
+ heapFloat[(r11+130)] = f0;
+ f0 = f3*f9;
+ f3 = heapFloat[(r11+131)];
+ f0 = f3-f0;
+ f1 = f2*f1;
+ heapFloat[(r11+131)] = f0;
+ f0 = f1*f10;
+ f1 = heapFloat[(r11+132)];
+ f0 = f1-f0;
+ heapFloat[(r11+132)] = f0;
+}
+}
+}
+ r10 = heap32[(r6+15)];
+ r11 = r10 & 16;
+if(!(r11 ==0)) //_LBB612_222
+{
+ r11 = heap32[(r17+25)];
+ r17 = heap32[(r2+14)];
+ r10 = r10 & 4;
+ if(r10 ==0) //_LBB612_219
+{
+ r10 = (r11 * 136)|0;
+ r10 = (r17 + r10)|0;
+ r10 = r10 >> 2;
+ heap32[(r10+55)] = 0;
+}
+else{
+ r11 = (r11 * 136)|0;
+ r11 = (r17 + r11)|0;
+ f0 = heapFloat[(r9+32)];
+ f1 = heapFloat[(r6+14)];
+ f0 = f0*f1;
+ r11 = r11 >> 2;
+ heapFloat[(r11+55)] = f0;
+if(!(r13 ==0)) //_LBB612_216
+{
+ r17 = r13 >> 2;
+ f1 = heapFloat[(r17+84)];
+ f2 = 0;
+if(!(f1 ==f2)) //_LBB612_216
+{
+ f2 = heapFloat[(r11+38)];
+ f2 = f2*f1;
+ f3 = heapFloat[(r11+39)];
+ f4 = heapFloat[(r11+40)];
+ f5 = heapFloat[(r17+126)];
+ f2 = f2*f0;
+ f2 = f5+f2;
+ f3 = f3*f1;
+ heapFloat[(r17+126)] = f2;
+ f2 = f3*f0;
+ f3 = heapFloat[(r17+127)];
+ f2 = f3+f2;
+ f1 = f4*f1;
+ heapFloat[(r17+127)] = f2;
+ f1 = f1*f0;
+ f2 = heapFloat[(r17+128)];
+ f1 = f2+f1;
+ heapFloat[(r17+128)] = f1;
+ f1 = heapFloat[(r17+134)];
+ f1 = f1*f0;
+ f2 = heapFloat[(r11+46)];
+ f3 = heapFloat[(r17+136)];
+ f4 = heapFloat[(r17+135)];
+ f1 = f2*f1;
+ f2 = heapFloat[(r17+130)];
+ f5 = heapFloat[(r11+48)];
+ f6 = heapFloat[(r11+47)];
+ f1 = f2+f1;
+ f2 = f4*f0;
+ heapFloat[(r17+130)] = f1;
+ f1 = f6*f2;
+ f2 = heapFloat[(r17+131)];
+ f1 = f2+f1;
+ f0 = f3*f0;
+ heapFloat[(r17+131)] = f1;
+ f0 = f5*f0;
+ f1 = heapFloat[(r17+132)];
+ f0 = f1+f0;
+ heapFloat[(r17+132)] = f0;
+}
+}
+if(!(r15 ==0)) //_LBB612_222
+{
+ r17 = r15 >> 2;
+ f0 = heapFloat[(r17+84)];
+ f1 = 0;
+if(!(f0 ==f1)) //_LBB612_222
+{
+ f1 = heapFloat[(r11+55)];
+ f1 = -f1;
+ f2 = heapFloat[(r11+38)];
+ f2 = f2*f0;
+ f3 = heapFloat[(r11+39)];
+ f4 = heapFloat[(r11+40)];
+ f2 = f2*f1;
+ f5 = heapFloat[(r17+126)];
+ f6 = heapFloat[(r11+50)];
+ f7 = heapFloat[(r11+51)];
+ f8 = heapFloat[(r11+52)];
+ f2 = f5+f2;
+ f3 = f3*f0;
+ heapFloat[(r17+126)] = f2;
+ f2 = f3*f1;
+ f3 = heapFloat[(r17+127)];
+ f2 = f3+f2;
+ f0 = f4*f0;
+ heapFloat[(r17+127)] = f2;
+ f0 = f0*f1;
+ f2 = heapFloat[(r17+128)];
+ f0 = f2+f0;
+ heapFloat[(r17+128)] = f0;
+ f0 = heapFloat[(r17+134)];
+ f0 = f0*f1;
+ f2 = heapFloat[(r17+136)];
+ f3 = heapFloat[(r17+135)];
+ f4 = heapFloat[(r17+130)];
+ f0 = f0*f6;
+ f0 = f4-f0;
+ f3 = f3*f1;
+ heapFloat[(r17+130)] = f0;
+ f0 = f3*f7;
+ f3 = heapFloat[(r17+131)];
+ f0 = f3-f0;
+ f1 = f2*f1;
+ heapFloat[(r17+131)] = f0;
+ f0 = f1*f8;
+ f1 = heapFloat[(r17+132)];
+ f0 = f1-f0;
+ heapFloat[(r17+132)] = f0;
+}
+}
+}
+}
+}
+}
+} while(0);
+ r7 = (r7 + 1)|0;
+ r4 = (r4 + 276)|0;
+}
+else{
+break _150;
+}
+}
+}
+ r1 = heap32[(fp+-133)];
+ r1 = (r1 + -1)|0;
+ heap32[(fp+-133)] = r1;
+ r3 = heap32[(fp+-132)];
+ r3 = (r3 + 4)|0;
+ heap32[(fp+-132)] = r3;
+if(!(r1 !=0)) //_LBB612_97
+{
+break _132;
+}
+}
+}
+} while(0);
+ r1 = heap32[(r2+17)];
+ r3 = heap32[(r2+2)];
+ r4 = heap32[(r2+12)];
+_307: do {
+if(!(r1 >r3)) //_LBB612_244
+{
+if(!(r1 >=r3)) //_LBB612_244
+{
+ r5 = heap32[(r2+18)];
+if(!(r5 >=r3)) //_LBB612_243
+{
+ if(r3 !=0) //_LBB612_230
+{
+ r5 = gNumAlignedAllocs;
+ r5 = r5 >> 2;
+ r6 = heap32[(r5)];
+ r7 = r3 << 2;
+ r6 = (r6 + 1)|0;
+ r7 = r7 | 3;
+ heap32[(r5)] = r6;
+ r5 = (r7 + 16)|0;
+ heap32[(g0)] = r5;
+ malloc(i7);
+ r5 = r_g0;
+ if(r5 !=0) //_LBB612_232
+{
+ r6 = 0;
+ r7 = (r5 + 4)|0;
+ r6 = (r6 - r7)|0;
+ r6 = r6 & 15;
+ r6 = (r5 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r5;
+ r5 = r7;
+}
+}
+else{
+ r5 = 0;
+}
+ r6 = (r0 + 76)|0;
+ if(r1 <1) //_LBB612_235
+{
+ r7 = r6 >> 2;
+ r8 = heap32[(r7)];
+}
+else{
+ r7 = 0;
+_320: while(true){
+ r8 = r6 >> 2;
+ r8 = heap32[(r8)];
+ r9 = r7 << 2;
+ r10 = (r8 + r9)|0;
+ r10 = r10 >> 2;
+ r9 = (r5 + r9)|0;
+ r10 = heap32[(r10)];
+ r7 = (r7 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r10;
+if(!(r1 !=r7)) //_LBB612_236
+{
+break _320;
+}
+}
+ r6 = (r0 + 76)|0;
+}
+if(!(r8 ==0)) //_LBB612_242
+{
+ r7 = heapU8[r0+80];
+if(!(r7 ==0)) //_LBB612_241
+{
+ r7 = gNumAlignedFree;
+ r7 = r7 >> 2;
+ r9 = heap32[(r7)];
+ r9 = (r9 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r7)] = r9;
+ r7 = heap32[(r8+-1)];
+ heap32[(g0)] = r7;
+ free(i7);
+}
+ r7 = r6 >> 2;
+ heap32[(r7)] = 0;
+}
+ r7 = 1;
+ r6 = r6 >> 2;
+ heap8[r0+80] = r7;
+ heap32[(r6)] = r5;
+ heap32[(r2+18)] = r3;
+ if(r1 >=r3) //_LBB612_244
+{
+break _307;
+}
+}
+_330: while(true){
+ r5 = r1 << 2;
+ r6 = heap32[(r2+19)];
+ r5 = (r6 + r5)|0;
+ r1 = (r1 + 1)|0;
+ r5 = r5 >> 2;
+ heap32[(r5)] = 0;
+if(!(r3 !=r1)) //_LBB612_243
+{
+break _307;
+}
+}
+}
+}
+} while(0);
+ heap32[(r2+17)] = r3;
+ r1 = heap32[(r2+22)];
+_333: do {
+if(!(r1 >r4)) //_LBB612_263
+{
+if(!(r1 >=r4)) //_LBB612_263
+{
+ r5 = heap32[(r2+23)];
+if(!(r5 >=r4)) //_LBB612_262
+{
+ if(r4 !=0) //_LBB612_249
+{
+ r5 = gNumAlignedAllocs;
+ r5 = r5 >> 2;
+ r6 = heap32[(r5)];
+ r7 = r4 << 2;
+ r6 = (r6 + 1)|0;
+ r7 = r7 | 3;
+ heap32[(r5)] = r6;
+ r5 = (r7 + 16)|0;
+ heap32[(g0)] = r5;
+ malloc(i7);
+ r5 = r_g0;
+ if(r5 !=0) //_LBB612_251
+{
+ r6 = 0;
+ r7 = (r5 + 4)|0;
+ r6 = (r6 - r7)|0;
+ r6 = r6 & 15;
+ r6 = (r5 + r6)|0;
+ r7 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r5;
+ r5 = r7;
+}
+}
+else{
+ r5 = 0;
+}
+ r6 = (r0 + 96)|0;
+ if(r1 <1) //_LBB612_254
+{
+ r7 = r6 >> 2;
+ r8 = heap32[(r7)];
+}
+else{
+ r7 = 0;
+_346: while(true){
+ r8 = r6 >> 2;
+ r8 = heap32[(r8)];
+ r9 = r7 << 2;
+ r10 = (r8 + r9)|0;
+ r10 = r10 >> 2;
+ r9 = (r5 + r9)|0;
+ r10 = heap32[(r10)];
+ r7 = (r7 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r10;
+if(!(r1 !=r7)) //_LBB612_255
+{
+break _346;
+}
+}
+ r6 = (r0 + 96)|0;
+}
+if(!(r8 ==0)) //_LBB612_261
+{
+ r7 = heapU8[r0+100];
+if(!(r7 ==0)) //_LBB612_260
+{
+ r7 = gNumAlignedFree;
+ r7 = r7 >> 2;
+ r9 = heap32[(r7)];
+ r9 = (r9 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r7)] = r9;
+ r7 = heap32[(r8+-1)];
+ heap32[(g0)] = r7;
+ free(i7);
+}
+ r7 = r6 >> 2;
+ heap32[(r7)] = 0;
+}
+ r7 = 1;
+ r6 = r6 >> 2;
+ heap8[r0+100] = r7;
+ heap32[(r6)] = r5;
+ heap32[(r2+23)] = r4;
+ if(r1 >=r4) //_LBB612_263
+{
+break _333;
+}
+}
+_356: while(true){
+ r0 = r1 << 2;
+ r5 = heap32[(r2+24)];
+ r0 = (r5 + r0)|0;
+ r1 = (r1 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+if(!(r4 !=r1)) //_LBB612_262
+{
+break _333;
+}
+}
+}
+}
+} while(0);
+ heap32[(r2+22)] = r4;
+_359: do {
+if(!(r3 <1)) //_LBB612_266
+{
+ r0 = 0;
+_361: while(true){
+ r1 = r0 << 2;
+ r5 = heap32[(r2+19)];
+ r1 = (r5 + r1)|0;
+ r5 = (r0 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r1)] = r0;
+ r0 = r5;
+if(!(r3 !=r5)) //_LBB612_265
+{
+break _359;
+}
+}
+}
+} while(0);
+ if(r4 <1) //_LBB612_269
+{
+break _1;
+}
+else{
+ r0 = 0;
+_365: while(true){
+ r1 = r0 << 2;
+ r3 = heap32[(r2+24)];
+ r1 = (r3 + r1)|0;
+ r3 = (r0 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r1)] = r0;
+ r0 = r3;
+if(!(r4 !=r3)) //_LBB612_268
+{
+break _1;
+}
+}
+}
+break;
+case 78:
+ r8 = _2E_str1157;
+ r0 = _2E_str652;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 813;
+ _assert(i7);
+break;
+}
+}
+} while(0);
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_369: do {
+if(!(r3 !=0)) //_LBB612_275
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB612_272
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB612_275
+{
+break _369;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ f0 = 0;
+ f_g0 = f0;
+ return;
+}
+
+function _ZN35btSequentialImpulseConstraintSolver33solveGroupCacheFriendlyIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = _2E_str854;
+ r1 = heap32[(fp+7)];
+ heap32[(g0)] = r0;
+ r0 = heap32[(fp)];
+ r2 = heap32[(fp+5)];
+ r3 = heap32[(fp+6)];
+ r4 = r1 >> 2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r5 = heap32[(r4+5)];
+if(!(r5 <1)) //_LBB613_64
+{
+ r5 = 0;
+_3: while(true){
+ r6 = r0 >> 2;
+ r7 = heap32[(r4+15)];
+ r8 = r7 & 1;
+ if(r8 != 0) //_LBB613_4
+{
+ r8 = r5 & 7;
+if(!(r8 !=0)) //_LBB613_3
+{
+ r7 = heap32[(r6+2)];
+ r8 = heap32[(r6+12)];
+if(!(r7 <1)) //_LBB613_19
+{
+ r9 = 0;
+ r7 = (r9 - r7)|0;
+ r9 = 1;
+_10: while(true){
+ r10 = heap32[(r6+19)];
+ r11 = r9 << 2;
+ r11 = (r10 + r11)|0;
+ r11 = r11 >> 2;
+ r12 = heap32[(r6+31)];
+ r13 = heap32[(r11+-1)];
+ r12 = (r12 * 1664525)|0;
+ r12 = (r12 + 1013904223)|0;
+ heap32[(r6+31)] = r12;
+ if(uint(r9) <uint(65537)) //_LBB613_9
+{
+ r14 = r12 >>> 16;
+ r12 = r14 ^ r12;
+ if(uint(r9) <uint(257)) //_LBB613_11
+{
+ r14 = r12 >>> 8;
+ r12 = r14 ^ r12;
+ if(uint(r9) <uint(17)) //_LBB613_13
+{
+ r14 = r12 >>> 4;
+ r12 = r14 ^ r12;
+ if(uint(r9) <uint(5)) //_LBB613_15
+{
+ r14 = r12 >>> 2;
+ r12 = r14 ^ r12;
+ if(uint(r9) <uint(3)) //_LBB613_17
+{
+ r14 = r12 >>> 1;
+ r12 = r14 ^ r12;
+}
+}
+}
+}
+}
+ r12 = Math.floor(uint(r12) % uint(r9));
+ r12 = r12 << 2;
+ r10 = (r10 + r12)|0;
+ r10 = r10 >> 2;
+ r10 = heap32[(r10)];
+ heap32[(r11+-1)] = r10;
+ r10 = heap32[(r6+19)];
+ r10 = (r10 + r12)|0;
+ r9 = (r9 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r13;
+ r10 = (r7 + r9)|0;
+if(!(r10 !=1)) //_LBB613_7
+{
+break _10;
+}
+}
+}
+_20: do {
+if(!(r8 <1)) //_LBB613_33
+{
+ r7 = 0;
+ r7 = (r7 - r8)|0;
+ r8 = 1;
+_22: while(true){
+ r9 = heap32[(r6+24)];
+ r10 = r8 << 2;
+ r10 = (r9 + r10)|0;
+ r10 = r10 >> 2;
+ r11 = heap32[(r6+31)];
+ r12 = heap32[(r10+-1)];
+ r11 = (r11 * 1664525)|0;
+ r11 = (r11 + 1013904223)|0;
+ heap32[(r6+31)] = r11;
+ if(uint(r8) <uint(65537)) //_LBB613_23
+{
+ r13 = r11 >>> 16;
+ r11 = r13 ^ r11;
+ if(uint(r8) <uint(257)) //_LBB613_25
+{
+ r13 = r11 >>> 8;
+ r11 = r13 ^ r11;
+ if(uint(r8) <uint(17)) //_LBB613_27
+{
+ r13 = r11 >>> 4;
+ r11 = r13 ^ r11;
+ if(uint(r8) <uint(5)) //_LBB613_29
+{
+ r13 = r11 >>> 2;
+ r11 = r13 ^ r11;
+ if(uint(r8) <uint(3)) //_LBB613_31
+{
+ r13 = r11 >>> 1;
+ r11 = r13 ^ r11;
+}
+}
+}
+}
+}
+ r11 = Math.floor(uint(r11) % uint(r8));
+ r11 = r11 << 2;
+ r9 = (r9 + r11)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+ heap32[(r10+-1)] = r9;
+ r9 = heap32[(r6+24)];
+ r9 = (r9 + r11)|0;
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r12;
+ r9 = (r7 + r8)|0;
+if(!(r9 !=1)) //_LBB613_21
+{
+break _20;
+}
+}
+}
+} while(0);
+ r7 = heap32[(r4+15)];
+}
+}
+ r8 = heap32[(r6+7)];
+ r7 = r7 & 256;
+_33: do {
+ if(r7 !=0) //_LBB613_37
+{
+_35: do {
+if(!(r8 <1)) //_LBB613_40
+{
+ r7 = 0;
+ r8 = r7;
+_37: while(true){
+ r9 = (r8 * 34)|0;
+ r10 = heap32[(r6+9)];
+ r9 = r9 << 2;
+ r9 = (r10 + r9)|0;
+ r9 = r9 >> 2;
+ r11 = heap32[(r9+27)];
+ r9 = heap32[(r9+26)];
+ r10 = (r10 + r7)|0;
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r10;
+ r8 = (r8 + 1)|0;
+ r7 = (r7 + 136)|0;
+ _ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(i7);
+ r9 = heap32[(r6+7)];
+if(!(r9 >r8)) //_LBB613_39
+{
+break _35;
+}
+}
+}
+} while(0);
+_40: do {
+if(!(r3 <1)) //_LBB613_43
+{
+ r7 = r2;
+ r8 = r3;
+_42: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r9 >> 2;
+ r11 = heap32[(r10)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+6)];
+ f0 = heapFloat[(r4+3)];
+ r12 = heap32[(r10+6)];
+ r10 = heap32[(r10+5)];
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r12;
+ heapFloat[(g0+3)] = f0;
+ r8 = (r8 + -1)|0;
+ r7 = (r7 + 4)|0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+if(!(r8 !=0)) //_LBB613_42
+{
+break _40;
+}
+}
+}
+} while(0);
+ r7 = heap32[(r6+2)];
+_45: do {
+if(!(r7 <1)) //_LBB613_46
+{
+ r8 = 0;
+_47: while(true){
+ r9 = heap32[(r6+19)];
+ r10 = r8 << 2;
+ r9 = (r9 + r10)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+ r9 = (r9 * 136)|0;
+ r10 = heap32[(r6+4)];
+ r9 = (r10 + r9)|0;
+ r10 = r9 >> 2;
+ r11 = heap32[(r10+27)];
+ r10 = heap32[(r10+26)];
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r9;
+ r8 = (r8 + 1)|0;
+ _ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint(i7);
+if(!(r7 !=r8)) //_LBB613_45
+{
+break _45;
+}
+}
+}
+} while(0);
+ r7 = heap32[(r6+12)];
+ if(r7 <1) //_LBB613_63
+{
+break _33;
+}
+else{
+ r8 = 0;
+_51: while(true){
+ r9 = heap32[(r6+24)];
+ r10 = r8 << 2;
+ r9 = (r9 + r10)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+ r10 = heap32[(r6+14)];
+ r9 = (r9 * 136)|0;
+ r9 = (r10 + r9)|0;
+ r10 = r9 >> 2;
+ r11 = heap32[(r10+25)];
+ r12 = heap32[(r6+4)];
+ r11 = (r11 * 136)|0;
+ r11 = (r12 + r11)|0;
+ r11 = r11 >> 2;
+ f0 = heapFloat[(r11+21)];
+ f1 = 0;
+if(!(f0 <=f1)) //_LBB613_50
+{
+ f1 = heapFloat[(r10+22)];
+ f0 = f1*f0;
+ f1 = -f0;
+ heapFloat[(r10+31)] = f1;
+ heapFloat[(r10+32)] = f0;
+ r11 = heap32[(r10+27)];
+ r10 = heap32[(r10+26)];
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r9;
+ _ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(i7);
+}
+ r8 = (r8 + 1)|0;
+ if(r7 ==r8) //_LBB613_63
+{
+break _33;
+}
+else{
+continue _51;
+}
+}
+}
+}
+else{
+_57: do {
+if(!(r8 <1)) //_LBB613_52
+{
+ r8 = 0;
+ r7 = r8;
+_59: while(true){
+ r9 = (r7 * 34)|0;
+ r10 = heap32[(r6+9)];
+ r9 = r9 << 2;
+ r9 = (r10 + r9)|0;
+ r9 = r9 >> 2;
+ r11 = heap32[(r9+27)];
+ r9 = heap32[(r9+26)];
+ r10 = (r10 + r8)|0;
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r10;
+ r7 = (r7 + 1)|0;
+ r8 = (r8 + 136)|0;
+ _ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(i7);
+ r9 = heap32[(r6+7)];
+if(!(r9 >r7)) //_LBB613_51
+{
+break _57;
+}
+}
+}
+} while(0);
+_62: do {
+if(!(r3 <1)) //_LBB613_55
+{
+ r7 = r2;
+ r8 = r3;
+_64: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r9 >> 2;
+ r11 = heap32[(r10)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+6)];
+ f0 = heapFloat[(r4+3)];
+ r12 = heap32[(r10+6)];
+ r10 = heap32[(r10+5)];
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r12;
+ heapFloat[(g0+3)] = f0;
+ r8 = (r8 + -1)|0;
+ r7 = (r7 + 4)|0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+if(!(r8 !=0)) //_LBB613_54
+{
+break _62;
+}
+}
+}
+} while(0);
+ r7 = heap32[(r6+2)];
+_67: do {
+if(!(r7 <1)) //_LBB613_58
+{
+ r8 = 0;
+_69: while(true){
+ r9 = heap32[(r6+19)];
+ r10 = r8 << 2;
+ r9 = (r9 + r10)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+ r9 = (r9 * 136)|0;
+ r10 = heap32[(r6+4)];
+ r9 = (r10 + r9)|0;
+ r10 = r9 >> 2;
+ r11 = heap32[(r10+27)];
+ r10 = heap32[(r10+26)];
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r9;
+ r8 = (r8 + 1)|0;
+ _ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint(i7);
+if(!(r7 !=r8)) //_LBB613_57
+{
+break _67;
+}
+}
+}
+} while(0);
+ r7 = heap32[(r6+12)];
+if(!(r7 <1)) //_LBB613_63
+{
+ r8 = 0;
+_73: while(true){
+ r9 = heap32[(r6+24)];
+ r10 = r8 << 2;
+ r9 = (r9 + r10)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+ r10 = heap32[(r6+14)];
+ r9 = (r9 * 136)|0;
+ r9 = (r10 + r9)|0;
+ r10 = r9 >> 2;
+ r11 = heap32[(r10+25)];
+ r12 = heap32[(r6+4)];
+ r11 = (r11 * 136)|0;
+ r11 = (r12 + r11)|0;
+ r11 = r11 >> 2;
+ f0 = heapFloat[(r11+21)];
+ f1 = 0;
+if(!(f0 <=f1)) //_LBB613_62
+{
+ f1 = heapFloat[(r10+22)];
+ f0 = f1*f0;
+ f1 = -f0;
+ heapFloat[(r10+31)] = f1;
+ heapFloat[(r10+32)] = f0;
+ r11 = heap32[(r10+27)];
+ r10 = heap32[(r10+26)];
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r11;
+ heap32[(g0+2)] = r9;
+ _ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(i7);
+}
+ r8 = (r8 + 1)|0;
+if(!(r7 !=r8)) //_LBB613_60
+{
+break _33;
+}
+}
+}
+}
+} while(0);
+ r5 = (r5 + 1)|0;
+ r6 = heap32[(r4+5)];
+ if(r6 >r5) //_LBB613_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r4 = heap32[(fp+1)];
+ r5 = heap32[(fp+2)];
+ r6 = heap32[(fp+3)];
+ r7 = heap32[(fp+4)];
+ r8 = heap32[(fp+8)];
+ r9 = heap32[(fp+9)];
+ r10 = r0 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r6;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r2;
+ heap32[(g0+6)] = r3;
+ heap32[(g0+7)] = r1;
+ heap32[(g0+8)] = r8;
+ heap32[(g0+9)] = r9;
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_80: do {
+if(!(r3 !=0)) //_LBB613_70
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB613_67
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB613_70
+{
+break _80;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ f0 = 0;
+ f_g0 = f0;
+ return;
+}
+
+function _ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+var __label__ = 0;
+ i7 = sp + -288;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+13)];
+ r3 = heap32[(r1+12)];
+ r4 = heap32[(fp+1)];
+ r5 = heap32[(fp+2)];
+ r6 = heap32[(fp+3)];
+ r7 = heap32[(fp+4)];
+ r8 = heap32[(fp+5)];
+ r9 = heap32[(fp+6)];
+ r10 = heap32[(fp+7)];
+ f0 = heapFloat[(fp+8)];
+ f1 = heapFloat[(fp+9)];
+ f2 = heapFloat[(fp+10)];
+ if(r2 ==r3) //_LBB614_2
+{
+ r11 = 1;
+ r12 = r3 << 1;
+ r12 = r3 == 0 ? r11 : r12;
+ if(r2 >=r12) //_LBB614_1
+{
+__label__ = 1;
+}
+else{
+ if(r12 !=0) //_LBB614_5
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r13 = heap32[(r2)];
+ r14 = (r12 * 136)|0;
+ r13 = (r13 + 1)|0;
+ r14 = r14 | 3;
+ heap32[(r2)] = r13;
+ r2 = (r14 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r13 = r_g0;
+ if(r13 !=0) //_LBB614_7
+{
+ r2 = 0;
+ r14 = (r13 + 4)|0;
+ r2 = (r2 - r14)|0;
+ r2 = r2 & 15;
+ r2 = (r13 + r2)|0;
+ r14 = (r2 + 4)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = r13;
+ r13 = r14;
+}
+}
+else{
+ r13 = 0;
+}
+ r14 = (r0 + 56)|0;
+ if(r3 <1) //_LBB614_10
+{
+ r2 = r14 >> 2;
+ r16 = heap32[(r2)];
+}
+else{
+ r2 = 0;
+ r15 = r3;
+_12: while(true){
+ r16 = r14 >> 2;
+ r16 = heap32[(r16)];
+ r17 = (r13 + r2)|0;
+ r18 = (r16 + r2)|0;
+ heap32[(g0)] = r17;
+ heap32[(g0+1)] = r18;
+ heap32[(g0+2)] = 136;
+ r15 = (r15 + -1)|0;
+ r2 = (r2 + 136)|0;
+ memcpy(i7);
+if(!(r15 !=0)) //_LBB614_11
+{
+break _12;
+}
+}
+ r14 = (r0 + 56)|0;
+}
+ if(r16 !=0) //_LBB614_15
+{
+ r2 = heapU8[r0+60];
+ if(r2 !=0) //_LBB614_17
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r15 = heap32[(r2)];
+ r15 = (r15 + 1)|0;
+ r16 = r16 >> 2;
+ heap32[(r2)] = r15;
+ r2 = heap32[(r16+-1)];
+ heap32[(g0)] = r2;
+ free(i7);
+ r2 = heap32[(r1+12)];
+}
+else{
+ r2 = r3;
+}
+ r15 = r14 >> 2;
+ heap32[(r15)] = 0;
+}
+else{
+ r2 = r3;
+}
+ r14 = r14 >> 2;
+ heap8[r0+60] = r11;
+ heap32[(r14)] = r13;
+ heap32[(r1+13)] = r12;
+__label__ = 19;
+}
+}
+else{
+__label__ = 1;
+}
+if (__label__ == 1){
+ r2 = r3;
+}
+ r0 = (r2 + 1)|0;
+ heap32[(r1+12)] = r0;
+ r0 = heap32[(r1+14)];
+ r1 = (r3 * 136)|0;
+ r0 = (r0 + r1)|0;
+ r0 = r0 >> 2;
+ heap32[(r0+25)] = r5;
+ r1 = heapU8[r9+232];
+ r1 = r1 & 2;
+if(!(r1 !=0)) //_LBB614_22
+{
+ r9 = 0;
+}
+ r1 = heapU8[r10+232];
+ r1 = r1 & 2;
+if(!(r1 !=0)) //_LBB614_24
+{
+ r10 = 0;
+}
+ r1 = r4 >> 2;
+ heap32[(r0+4)] = heap32[(r1)];
+ heap32[(r0+5)] = heap32[(r1+1)];
+ heap32[(r0+6)] = heap32[(r1+2)];
+ heap32[(r0+7)] = heap32[(r1+3)];
+ if(r9 ==0) //_LBB614_26
+{
+ r2 = _ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r3 = heapU8[r2];
+if(!(r3 !=0)) //_LBB614_28
+{
+ r3 = _ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r4 = r3 >> 2;
+ heap32[(r4+41)] = 1065353216;
+ heap32[(r4+42)] = 1065353216;
+ heap32[(r4+43)] = 1065353216;
+ heap32[(r4+44)] = 0;
+ heap32[(r4+45)] = 0;
+ heap32[(r4+46)] = 1566444395;
+ heap32[(r4+47)] = 0;
+ heap32[(r4+48)] = 0;
+ heap32[(r4+49)] = 0;
+ heap32[(r4+50)] = 0;
+ heap32[(r4+51)] = 1;
+ heap32[(r4+52)] = -1;
+ heap32[(r4+53)] = -1;
+ heap32[(r4+54)] = 1;
+ heap32[(r4+55)] = 0;
+ heap32[(r4+56)] = 1056964608;
+ heap32[(r4+57)] = 0;
+ heap32[(r4+58)] = 1;
+ heap32[(r4+59)] = 0;
+ heap32[(r4+60)] = 1065353216;
+ heap32[(r4+61)] = 0;
+ heap32[(r4+62)] = 0;
+ heap32[(r4+63)] = 0;
+ heap32[(r4+1)] = 1065353216;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+4)] = 0;
+ heap32[(r4+5)] = 0;
+ heap32[(r4+6)] = 1065353216;
+ heap32[(r4+7)] = 0;
+ heap32[(r4+8)] = 0;
+ heap32[(r4+9)] = 0;
+ heap32[(r4+10)] = 0;
+ heap32[(r4+11)] = 1065353216;
+ heap32[(r4+12)] = 0;
+ heap32[(r4+13)] = 0;
+ heap32[(r4+14)] = 0;
+ r5 = _ZTV11btRigidBody;
+ heap32[(r4+15)] = 0;
+ r5 = (r5 + 8)|0;
+ heap32[(r4+16)] = 0;
+ r11 = 1;
+ heap32[(r4)] = r5;
+ heap8[r3+492] = r11;
+ heap32[(r4+122)] = 0;
+ heap32[(r4+120)] = 0;
+ r5 = sp + -272;
+ heap32[(r4+121)] = 0;
+ r4 = r5 >> 2;
+ heap32[(fp+-68)] = 0;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+18)] = 0;
+ heap32[(r4+19)] = 0;
+ heap32[(r4+20)] = 0;
+ heap32[(r4+21)] = 0;
+ heap32[(r4+22)] = 0;
+ heap32[(r4+23)] = 0;
+ heap32[(r4+24)] = 0;
+ heap32[(r4+25)] = 1056964608;
+ heap32[(r4+26)] = 0;
+ heap32[(r4+27)] = 1061997773;
+ r12 = 0;
+ heap32[(r4+28)] = 1065353216;
+ heap8[sp+-156] = r12;
+ heap32[(r4+30)] = 1000593162;
+ heap32[(r4+31)] = 1008981770;
+ heap32[(r4+32)] = 1008981770;
+ heap32[(r4+33)] = 1008981770;
+ heap32[(r4+2)] = 1065353216;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+4)] = 0;
+ heap32[(r4+5)] = 0;
+ heap32[(r4+6)] = 0;
+ heap32[(r4+7)] = 1065353216;
+ heap32[(r4+8)] = 0;
+ heap32[(r4+9)] = 0;
+ heap32[(r4+10)] = 0;
+ heap32[(r4+11)] = 0;
+ heap32[(r4+12)] = 1065353216;
+ heap32[(r4+13)] = 0;
+ heap32[(r4+14)] = 0;
+ heap32[(r4+15)] = 0;
+ heap32[(r4+16)] = 0;
+ heap32[(r4+17)] = 0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ _ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(i7);
+ heap8[r2] = r11;
+}
+ r2 = _ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+51)];
+ r4 = r4 | 1;
+ heap32[(r3+51)] = r4;
+ heap32[(r3+84)] = 0;
+ f3 = 0;
+ f4 = heapFloat[(r3+95)];
+ f5 = heapFloat[(r3+94)];
+ f6 = heapFloat[(r3+93)];
+ f6 = f6*f3;
+ f5 = f5*f3;
+ heapFloat[(r3+89)] = f6;
+ f4 = f4*f3;
+ heapFloat[(r3+90)] = f5;
+ heapFloat[(r3+91)] = f4;
+ heap32[(r3+92)] = 0;
+ heap32[(r3+97)] = 0;
+ heap32[(r3+98)] = 0;
+ heap32[(r3+99)] = 0;
+ heap32[(r3+100)] = 0;
+ f4 = heapFloat[(r3+87)];
+ f5 = heapFloat[(r3+86)];
+ f6 = heapFloat[(r3+85)];
+ f6 = f6*f3;
+ f5 = f5*f3;
+ heapFloat[(r3+138)] = f6;
+ f3 = f4*f3;
+ heapFloat[(r3+139)] = f5;
+ heapFloat[(r3+140)] = f3;
+ heap32[(r3+141)] = 0;
+}
+else{
+ r2 = r9;
+}
+ heap32[(r0+26)] = r2;
+ if(r10 ==0) //_LBB614_31
+{
+ r2 = _ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r3 = heapU8[r2];
+if(!(r3 !=0)) //_LBB614_33
+{
+ r3 = _ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r4 = r3 >> 2;
+ heap32[(r4+41)] = 1065353216;
+ heap32[(r4+42)] = 1065353216;
+ heap32[(r4+43)] = 1065353216;
+ heap32[(r4+44)] = 0;
+ heap32[(r4+45)] = 0;
+ heap32[(r4+46)] = 1566444395;
+ heap32[(r4+47)] = 0;
+ heap32[(r4+48)] = 0;
+ heap32[(r4+49)] = 0;
+ heap32[(r4+50)] = 0;
+ heap32[(r4+51)] = 1;
+ heap32[(r4+52)] = -1;
+ heap32[(r4+53)] = -1;
+ heap32[(r4+54)] = 1;
+ heap32[(r4+55)] = 0;
+ heap32[(r4+56)] = 1056964608;
+ heap32[(r4+57)] = 0;
+ heap32[(r4+58)] = 1;
+ heap32[(r4+59)] = 0;
+ heap32[(r4+60)] = 1065353216;
+ heap32[(r4+61)] = 0;
+ heap32[(r4+62)] = 0;
+ heap32[(r4+63)] = 0;
+ heap32[(r4+1)] = 1065353216;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+4)] = 0;
+ heap32[(r4+5)] = 0;
+ heap32[(r4+6)] = 1065353216;
+ heap32[(r4+7)] = 0;
+ heap32[(r4+8)] = 0;
+ heap32[(r4+9)] = 0;
+ heap32[(r4+10)] = 0;
+ heap32[(r4+11)] = 1065353216;
+ heap32[(r4+12)] = 0;
+ heap32[(r4+13)] = 0;
+ heap32[(r4+14)] = 0;
+ r5 = _ZTV11btRigidBody;
+ heap32[(r4+15)] = 0;
+ r5 = (r5 + 8)|0;
+ heap32[(r4+16)] = 0;
+ r11 = 1;
+ heap32[(r4)] = r5;
+ heap8[r3+492] = r11;
+ heap32[(r4+122)] = 0;
+ heap32[(r4+120)] = 0;
+ r5 = sp + -136;
+ heap32[(r4+121)] = 0;
+ r4 = r5 >> 2;
+ heap32[(fp+-34)] = 0;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+18)] = 0;
+ heap32[(r4+19)] = 0;
+ heap32[(r4+20)] = 0;
+ heap32[(r4+21)] = 0;
+ heap32[(r4+22)] = 0;
+ heap32[(r4+23)] = 0;
+ heap32[(r4+24)] = 0;
+ heap32[(r4+25)] = 1056964608;
+ heap32[(r4+26)] = 0;
+ heap32[(r4+27)] = 1061997773;
+ r12 = 0;
+ heap32[(r4+28)] = 1065353216;
+ heap8[sp+-20] = r12;
+ heap32[(r4+30)] = 1000593162;
+ heap32[(r4+31)] = 1008981770;
+ heap32[(r4+32)] = 1008981770;
+ heap32[(r4+33)] = 1008981770;
+ heap32[(r4+2)] = 1065353216;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+4)] = 0;
+ heap32[(r4+5)] = 0;
+ heap32[(r4+6)] = 0;
+ heap32[(r4+7)] = 1065353216;
+ heap32[(r4+8)] = 0;
+ heap32[(r4+9)] = 0;
+ heap32[(r4+10)] = 0;
+ heap32[(r4+11)] = 0;
+ heap32[(r4+12)] = 1065353216;
+ heap32[(r4+13)] = 0;
+ heap32[(r4+14)] = 0;
+ heap32[(r4+15)] = 0;
+ heap32[(r4+16)] = 0;
+ heap32[(r4+17)] = 0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ _ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(i7);
+ heap8[r2] = r11;
+}
+ r2 = _ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+51)];
+ r4 = r4 | 1;
+ heap32[(r3+51)] = r4;
+ heap32[(r3+84)] = 0;
+ f3 = 0;
+ f4 = heapFloat[(r3+95)];
+ f5 = heapFloat[(r3+94)];
+ f6 = heapFloat[(r3+93)];
+ f6 = f6*f3;
+ f5 = f5*f3;
+ heapFloat[(r3+89)] = f6;
+ f4 = f4*f3;
+ heapFloat[(r3+90)] = f5;
+ heapFloat[(r3+91)] = f4;
+ heap32[(r3+92)] = 0;
+ heap32[(r3+97)] = 0;
+ heap32[(r3+98)] = 0;
+ heap32[(r3+99)] = 0;
+ heap32[(r3+100)] = 0;
+ f4 = heapFloat[(r3+87)];
+ f5 = heapFloat[(r3+86)];
+ f6 = heapFloat[(r3+85)];
+ f6 = f6*f3;
+ f5 = f5*f3;
+ heapFloat[(r3+138)] = f6;
+ f3 = f4*f3;
+ heapFloat[(r3+139)] = f5;
+ heapFloat[(r3+140)] = f3;
+ heap32[(r3+141)] = 0;
+}
+else{
+ r2 = r10;
+}
+ r3 = r6 >> 2;
+ heap32[(r0+27)] = r2;
+ heap32[(r0+22)] = heap32[(r3+21)];
+ heap32[(r0+28)] = 0;
+ heap32[(r0+21)] = 0;
+ heap32[(r0+20)] = 0;
+ r2 = r7 >> 2;
+ f3 = heapFloat[(r0+5)];
+ f4 = heapFloat[(r2+2)];
+ f5 = heapFloat[(r0+6)];
+ f6 = heapFloat[(r2+1)];
+ f7 = heapFloat[(r0+4)];
+ f8 = heapFloat[(r2)];
+ f9 = f6*f5;
+ f10 = f4*f3;
+ f9 = f9-f10;
+ f4 = f4*f7;
+ f10 = f8*f5;
+ f4 = f4-f10;
+ heapFloat[(r0)] = f9;
+ f8 = f8*f3;
+ f6 = f6*f7;
+ f6 = f8-f6;
+ heapFloat[(r0+1)] = f4;
+ heapFloat[(r0+2)] = f6;
+ heap32[(r0+3)] = 0;
+ if(r9 ==0) //_LBB614_36
+{
+ heap32[(r0+12)] = 0;
+ heap32[(r0+13)] = 0;
+ f10 = 0;
+ heap32[(r0+14)] = 0;
+ heap32[(r0+15)] = 0;
+ f11 = f10;
+ f8 = f10;
+}
+else{
+ r3 = r9 >> 2;
+ f8 = heapFloat[(r3+64)];
+ f10 = heapFloat[(r3+65)];
+ f11 = heapFloat[(r3+68)];
+ f12 = heapFloat[(r3+69)];
+ f8 = f8*f9;
+ f10 = f10*f4;
+ f13 = heapFloat[(r3+66)];
+ f14 = heapFloat[(r3+72)];
+ f15 = heapFloat[(r3+73)];
+ f16 = heapFloat[(r3+70)];
+ f11 = f11*f9;
+ f12 = f12*f4;
+ f8 = f8+f10;
+ f10 = f13*f6;
+ f13 = heapFloat[(r3+74)];
+ f14 = f14*f9;
+ f15 = f15*f4;
+ f11 = f11+f12;
+ f12 = f16*f6;
+ f8 = f8+f10;
+ f10 = heapFloat[(r3+134)];
+ f16 = heapFloat[(r3+136)];
+ f17 = heapFloat[(r3+135)];
+ f11 = f11+f12;
+ f8 = f8*f10;
+ f10 = f14+f15;
+ f12 = f13*f6;
+ f10 = f10+f12;
+ f11 = f11*f17;
+ heapFloat[(r0+12)] = f8;
+ f10 = f10*f16;
+ heapFloat[(r0+13)] = f11;
+ heapFloat[(r0+14)] = f10;
+ heap32[(r0+15)] = 0;
+}
+ r3 = r8 >> 2;
+ f12 = heapFloat[(r3+2)];
+ f13 = heapFloat[(r3+1)];
+ f14 = heapFloat[(r3)];
+ f15 = f12*f3;
+ f16 = f13*f5;
+ f15 = f15-f16;
+ f16 = f14*f5;
+ f12 = f12*f7;
+ f12 = f16-f12;
+ heapFloat[(r0+8)] = f15;
+ f13 = f13*f7;
+ f14 = f14*f3;
+ f13 = f13-f14;
+ heapFloat[(r0+9)] = f12;
+ heapFloat[(r0+10)] = f13;
+ heap32[(r0+11)] = 0;
+ if(r10 ==0) //_LBB614_39
+{
+ heap32[(r0+16)] = 0;
+ heap32[(r0+17)] = 0;
+ f14 = 0;
+ heap32[(r0+18)] = 0;
+ heap32[(r0+19)] = 0;
+ f17 = f14;
+ f16 = f14;
+}
+else{
+ r4 = r10 >> 2;
+ f14 = heapFloat[(r4+64)];
+ f16 = heapFloat[(r4+65)];
+ f17 = heapFloat[(r4+68)];
+ f18 = heapFloat[(r4+69)];
+ f14 = f14*f15;
+ f16 = f16*f12;
+ f19 = heapFloat[(r4+66)];
+ f20 = heapFloat[(r4+72)];
+ f21 = heapFloat[(r4+73)];
+ f22 = heapFloat[(r4+70)];
+ f17 = f17*f15;
+ f18 = f18*f12;
+ f14 = f14+f16;
+ f16 = f19*f13;
+ f19 = heapFloat[(r4+74)];
+ f20 = f20*f15;
+ f21 = f21*f12;
+ f17 = f17+f18;
+ f18 = f22*f13;
+ f14 = f14+f16;
+ f16 = heapFloat[(r4+134)];
+ f22 = heapFloat[(r4+136)];
+ f23 = heapFloat[(r4+135)];
+ f17 = f17+f18;
+ f14 = f14*f16;
+ f16 = f20+f21;
+ f18 = f19*f13;
+ f16 = f16+f18;
+ f17 = f17*f23;
+ heapFloat[(r0+16)] = f14;
+ f16 = f16*f22;
+ heapFloat[(r0+17)] = f17;
+ heapFloat[(r0+18)] = f16;
+ heap32[(r0+19)] = 0;
+}
+ if(r9 !=0) //_LBB614_42
+{
+ f18 = heapFloat[(r2+1)];
+ f19 = heapFloat[(r2+2)];
+ f20 = heapFloat[(r2)];
+ f21 = f11*f19;
+ f22 = f10*f18;
+ f10 = f10*f20;
+ f19 = f8*f19;
+ f23 = heapFloat[(r1)];
+ f21 = f21-f22;
+ f22 = heapFloat[(r1+1)];
+ f10 = f10-f19;
+ f8 = f8*f18;
+ f11 = f11*f20;
+ f18 = f23*f21;
+ f10 = f22*f10;
+ f19 = heapFloat[(r1+2)];
+ f8 = f8-f11;
+ r2 = r9 >> 2;
+ f10 = f18+f10;
+ f8 = f19*f8;
+ f11 = heapFloat[(r2+84)];
+ f8 = f10+f8;
+ f8 = f11+f8;
+}
+else{
+ f8 = 0;
+}
+ if(r10 !=0) //_LBB614_45
+{
+ f10 = heapFloat[(r3+2)];
+ f11 = heapFloat[(r3)];
+ f18 = heapFloat[(r3+1)];
+ f19 = f18*f16;
+ f20 = f10*f17;
+ f10 = f10*f14;
+ f16 = f11*f16;
+ f21 = heapFloat[(r1)];
+ f19 = f19-f20;
+ f20 = heapFloat[(r1+1)];
+ f10 = f10-f16;
+ f11 = f11*f17;
+ f14 = f18*f14;
+ f16 = f21*f19;
+ f10 = f20*f10;
+ f17 = heapFloat[(r1+2)];
+ f14 = f11-f14;
+ r1 = r10 >> 2;
+ f10 = f16+f10;
+ f14 = f17*f14;
+ f11 = heapFloat[(r1+84)];
+ f14 = f10+f14;
+ f14 = f11+f14;
+}
+else{
+ f14 = 0;
+}
+ f8 = f8+f14;
+ f0 = f0/f8;
+ heapFloat[(r0+23)] = f0;
+ if(r9 !=0) //_LBB614_48
+{
+ r1 = r9 >> 2;
+ f8 = heapFloat[(r1+76)];
+ f10 = heapFloat[(r1+77)];
+ f8 = f7*f8;
+ f10 = f3*f10;
+ f11 = heapFloat[(r1+78)];
+ f8 = f8+f10;
+ f10 = f5*f11;
+ f10 = f8+f10;
+ f14 = heapFloat[(r1+80)];
+ f11 = heapFloat[(r1+81)];
+ f8 = heapFloat[(r1+82)];
+}
+else{
+ f8 = 0;
+ f10 = f7*f8;
+ f11 = f3*f8;
+ f10 = f10+f11;
+ f11 = f5*f8;
+ f10 = f10+f11;
+ f11 = f8;
+ f14 = f8;
+}
+ f9 = f9*f14;
+ f4 = f4*f11;
+ f4 = f9+f4;
+ f6 = f6*f8;
+ f4 = f4+f6;
+ f4 = f10+f4;
+ if(r10 !=0) //_LBB614_51
+{
+ r1 = r10 >> 2;
+ f6 = heapFloat[(r1+80)];
+ f8 = heapFloat[(r1+81)];
+ f6 = f15*f6;
+ f12 = f12*f8;
+ f15 = heapFloat[(r1+82)];
+ f6 = f6+f12;
+ f12 = f13*f15;
+ f12 = f6+f12;
+ f15 = heapFloat[(r1+76)];
+ f13 = heapFloat[(r1+77)];
+ f6 = heapFloat[(r1+78)];
+}
+else{
+ f6 = 0;
+ f15 = f15*f6;
+ f12 = f12*f6;
+ f12 = f15+f12;
+ f13 = f13*f6;
+ f12 = f12+f13;
+ f13 = f6;
+ f15 = f6;
+}
+ f7 = f7*f15;
+ f3 = f3*f13;
+ f3 = f7+f3;
+ f5 = f5*f6;
+ f3 = f3+f5;
+ f3 = f12-f3;
+ f3 = f4+f3;
+ f1 = f1-f3;
+ f0 = f0*f1;
+ heapFloat[(r0+29)] = f0;
+ heapFloat[(r0+30)] = f2;
+ heap32[(r0+31)] = 0;
+ heap32[(r0+32)] = 1343554297;
+ return;
+}
+
+function _ZNK17btTypedConstraint9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp)];
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r4 = r2 >> 2;
+ r3 = heap32[(r3+7)];
+ r5 = heap32[(r4+5)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ r5 = heap32[(fp+1)];
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r5 = r5 >> 2;
+ heap32[(r5)] = r_g0;
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+7)];
+ r6 = heap32[(r4+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ heap32[(r5+1)] = r_g0;
+ r3 = heap32[(r1)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+10)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r_g0;
+ r6 = heap32[(r1)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+7)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = r_g0;
+ heap32[(r5+2)] = r6;
+if(!(r6 ==0)) //_LBB615_2
+{
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+12)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+ r0 = heap32[(r4+1)];
+ heap32[(r5+3)] = r0;
+ r0 = heapU8[r2+16];
+ heap32[(r5+6)] = r0;
+ r0 = heap32[(r4+3)];
+ heap32[(r5+5)] = r0;
+ r0 = heap32[(r4+2)];
+ heap32[(r5+4)] = r0;
+ heap32[(r5+7)] = heap32[(r4+7)];
+ heap32[(r5+8)] = heap32[(r4+8)];
+ heap32[(r5+9)] = 0;
+ r0 = heap32[(r4+5)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1+120)];
+if(!(r1 <1)) //_LBB615_7
+{
+ r1 = 0;
+_6: while(true){
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+122)];
+ r3 = r1 << 2;
+ r0 = (r0 + r3)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+if(!(r0 !=r2)) //_LBB615_6
+{
+ heap32[(r5+9)] = 1;
+}
+ r1 = (r1 + 1)|0;
+ r0 = heap32[(r4+5)];
+ r3 = r0 >> 2;
+ r3 = heap32[(r3+120)];
+ if(r3 >r1) //_LBB615_4
+{
+continue _6;
+}
+else{
+break _6;
+}
+}
+}
+ r0 = heap32[(r4+6)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1+120)];
+_12: do {
+if(!(r1 <1)) //_LBB615_12
+{
+ r1 = 0;
+_14: while(true){
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+122)];
+ r3 = r1 << 2;
+ r0 = (r0 + r3)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+if(!(r0 !=r2)) //_LBB615_11
+{
+ heap32[(r5+9)] = 1;
+}
+ r1 = (r1 + 1)|0;
+ r0 = heap32[(r4+6)];
+ r3 = r0 >> 2;
+ r3 = heap32[(r3+120)];
+ if(r3 >r1) //_LBB615_9
+{
+continue _14;
+}
+else{
+break _12;
+}
+}
+}
+} while(0);
+ r0 = _2E_str76;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld11setNumTasksEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld14updateVehiclesEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = _2E_str289;
+ r1 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ r0 = r1 >> 2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r2 = heap32[(r0+63)];
+if(!(r2 <1)) //_LBB617_3
+{
+ f0 = heapFloat[(fp+1)];
+ r2 = 0;
+_3: while(true){
+ r3 = heap32[(r0+65)];
+ r4 = r2 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ heapFloat[(g0+2)] = f0;
+ r2 = (r2 + 1)|0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r3 = heap32[(r0+63)];
+ if(r3 >r2) //_LBB617_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_6: do {
+if(!(r3 !=0)) //_LBB617_9
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB617_6
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB617_9
+{
+break _6;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ return;
+}
+
+function _ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZNK15btDynamicsWorld17getNumConstraintsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btDynamicsWorld13getConstraintEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK15btDynamicsWorld13getConstraintEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN15btDynamicsWorld10addVehicleEP17btActionInterface(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15btDynamicsWorld13removeVehicleEP17btActionInterface(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15btDynamicsWorld12addCharacterEP17btActionInterface(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN15btDynamicsWorld15removeCharacterEP17btActionInterface(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZNK23btDiscreteDynamicsWorld12getWorldTypeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 2;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK23btDiscreteDynamicsWorld10getGravityEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r0)] = heap32[(r1+56)];
+ heap32[(r0+1)] = heap32[(r1+57)];
+ heap32[(r0+2)] = heap32[(r1+58)];
+ heap32[(r0+3)] = heap32[(r1+59)];
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+15)];
+ r2 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+16)];
+ r2 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+15)];
+ r2 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+16)];
+ r2 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZN34btClosestNotMeConvexResultCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN16btCollisionWorld27ClosestConvexResultCallbackE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN34btClosestNotMeConvexResultCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN16btCollisionWorld27ClosestConvexResultCallbackE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZNK34btClosestNotMeConvexResultCallback14needsCollisionEP17btBroadphaseProxy(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r1 >> 2;
+ r3 = r0 >> 2;
+ r2 = heap32[(r2)];
+ r4 = heap32[(r3+20)];
+ if(r2 !=r4) //_LBB635_2
+{
+ r5 = heapU16[(r0+10)>>1];
+ r6 = heapU16[(r1+4)>>1];
+ r5 = r5 & r6;
+ r5 = r5 & 65535;
+ if(r5 ==0) //_LBB635_1
+{
+__label__ = 1;
+}
+else{
+ r5 = heapU16[(r1+6)>>1];
+ r0 = heapU16[(r0+8)>>1];
+ r0 = r5 & r0;
+ r0 = r0 & 65535;
+ if(r0 ==0) //_LBB635_1
+{
+__label__ = 1;
+}
+else{
+ r0 = heap32[(r3+23)];
+ r5 = r0 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+7)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB635_6
+{
+ r0 = sp + -24;
+ r2 = 1;
+ r4 = r0 >> 2;
+ heap8[sp+-8] = r2;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+ r5 = heap32[(r3+22)];
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r3 = heap32[(r3+20)];
+ r6 = r6 >> 2;
+ r3 = r3 >> 2;
+ r6 = heap32[(r6+13)];
+ r3 = heap32[(r3+47)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r1;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r1 = r_g0;
+_7: do {
+if(!(r1 ==0)) //_LBB635_21
+{
+ r1 = r1 >> 2;
+ r3 = heap32[(r1+2)];
+if(!(r3 ==0)) //_LBB635_21
+{
+ r3 = heap32[(r4+1)];
+if(!(r3 >-1)) //_LBB635_17
+{
+ r5 = heap32[(r4+2)];
+ if(r5 <0) //_LBB635_11
+{
+ r5 = heap32[(r4+3)];
+if(!(r5 ==0)) //_LBB635_15
+{
+ r6 = heapU8[sp+-8];
+if(!(r6 ==0)) //_LBB635_14
+{
+ r6 = gNumAlignedFree;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r7 = (r7 + 1)|0;
+ r5 = r5 >> 2;
+ heap32[(r6)] = r7;
+ r5 = heap32[(r5+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+}
+ heap32[(r4+3)] = 0;
+}
+ heap8[sp+-8] = r2;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+2)] = 0;
+}
+_20: while(true){
+ r2 = r3 << 2;
+ r5 = heap32[(r4+3)];
+ r2 = (r5 + r2)|0;
+ r3 = (r3 + 1)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = 0;
+if(!(r3 !=0)) //_LBB635_16
+{
+break _20;
+}
+}
+}
+ heap32[(r4+1)] = 0;
+ r1 = heap32[(r1+2)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = heap32[(r4+1)];
+ r1 = 0;
+_23: while(true){
+ if(r0 >r1) //_LBB635_18
+{
+ r2 = heap32[(r4+3)];
+ r3 = r1 << 2;
+ r3 = (r2 + r3)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+279)];
+ if(r3 >0) //_LBB635_25
+{
+break _23;
+}
+else{
+ r1 = (r1 + 1)|0;
+}
+}
+else{
+break _7;
+}
+}
+if(!(r2 ==0)) //_LBB635_29
+{
+ r0 = heapU8[sp+-8];
+if(!(r0 ==0)) //_LBB635_28
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ r2 = r2 >> 2;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+}
+} while(0);
+ r0 = heap32[(r4+3)];
+if(!(r0 ==0)) //_LBB635_24
+{
+ r2 = heapU8[sp+-8];
+if(!(r2 ==0)) //_LBB635_24
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r1 = heap32[(r2)];
+ r1 = (r1 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r2)] = r1;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+}
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+else{
+ r0 = 1;
+__label__ = 28;
+}
+}
+}
+}
+else{
+__label__ = 1;
+}
+if (__label__ == 1){
+ r0 = 0;
+}
+ r0 = r0 & 255;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN34btClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp)];
+ r3 = heap32[(r1)];
+ r4 = r2 >> 2;
+ r5 = heap32[(r4+20)];
+if(!(r3 ==r5)) //_LBB636_4
+{
+ r3 = heapU8[r3+204];
+ r3 = r3 & 4;
+if(!(r3 !=0)) //_LBB636_4
+{
+ f0 = heapFloat[(r4+7)];
+ f1 = heapFloat[(r4+3)];
+ f2 = heapFloat[(r4+8)];
+ f3 = heapFloat[(r4+4)];
+ f4 = heapFloat[(r1+2)];
+ f0 = f0-f1;
+ f1 = heapFloat[(r1+3)];
+ f2 = f2-f3;
+ f3 = heapFloat[(r4+9)];
+ f5 = heapFloat[(r4+5)];
+ f0 = f4*f0;
+ f1 = f1*f2;
+ f2 = heapFloat[(r1+4)];
+ f3 = f3-f5;
+ f4 = heapFloat[(r4+21)];
+ f0 = f0+f1;
+ f1 = f2*f3;
+ f0 = f0+f1;
+ f1 = -f4;
+if(!(f0 >=f1)) //_LBB636_4
+{
+ r1 = heap32[(fp+2)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r1;
+ _ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb(i7);
+ return;
+}
+}
+}
+ f0 = 1;
+ f_g0 = f0;
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld19getConstraintSolverEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+44)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+47)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld13getConstraintEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r0 = heap32[(r0+49)];
+ r1 = r1 << 2;
+ r0 = (r0 + r1)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld11clearForcesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+52)];
+if(!(r1 <1)) //_LBB640_3
+{
+ r1 = 0;
+_3: while(true){
+ r2 = heap32[(r0+54)];
+ r3 = r1 << 2;
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r1 = (r1 + 1)|0;
+ heap32[(r2+101)] = 0;
+ heap32[(r2+102)] = 0;
+ heap32[(r2+103)] = 0;
+ heap32[(r2+104)] = 0;
+ heap32[(r2+105)] = 0;
+ heap32[(r2+106)] = 0;
+ heap32[(r2+107)] = 0;
+ heap32[(r2+108)] = 0;
+ r2 = heap32[(r0+52)];
+ if(r2 >r1) //_LBB640_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZNK23btDiscreteDynamicsWorld13getConstraintEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r0 = heap32[(r0+49)];
+ r1 = r1 << 2;
+ r0 = (r0 + r1)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(r0+63)];
+ r3 = 0;
+_1: while(true){
+ if(r2 >r3) //_LBB642_1
+{
+ r4 = heap32[(r0+65)];
+ r5 = r3 << 2;
+ r4 = (r4 + r5)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ if(r4 !=r1) //_LBB642_3
+{
+ r3 = (r3 + 1)|0;
+continue _1;
+}
+else{
+__label__ = 5;
+break _1;
+}
+}
+else{
+__label__ = 4;
+break _1;
+}
+}
+if (__label__ == 4){
+ r3 = r2;
+}
+if(!(r2 <=r3)) //_LBB642_8
+{
+ r1 = (r2 + -1)|0;
+ r2 = r3 << 2;
+ r3 = heap32[(r0+65)];
+ r1 = r1 << 2;
+ r2 = (r3 + r2)|0;
+ r3 = (r3 + r1)|0;
+ r2 = r2 >> 2;
+ r3 = r3 >> 2;
+ r4 = heap32[(r2)];
+ r3 = heap32[(r3)];
+ heap32[(r2)] = r3;
+ r2 = heap32[(r0+65)];
+ r1 = (r2 + r1)|0;
+ r1 = r1 >> 2;
+ heap32[(r1)] = r4;
+ r1 = heap32[(r0+63)];
+ r1 = (r1 + -1)|0;
+ heap32[(r0+63)] = r1;
+}
+ return;
+}
+
+function _ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+21)];
+if(!(r1 ==0)) //_LBB643_4
+{
+ r3 = heapU8[r0+88];
+if(!(r3 ==0)) //_LBB643_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+21)] = 0;
+}
+ r1 = 1;
+ heap8[r0+88] = r1;
+ heap32[(r2+21)] = 0;
+ heap32[(r2+19)] = 0;
+ heap32[(r2+20)] = 0;
+ r3 = heap32[(r2+16)];
+if(!(r3 ==0)) //_LBB643_8
+{
+ r4 = heapU8[r0+68];
+if(!(r4 ==0)) //_LBB643_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+16)] = 0;
+}
+ heap8[r0+68] = r1;
+ heap32[(r2+16)] = 0;
+ heap32[(r2+14)] = 0;
+ heap32[(r2+15)] = 0;
+ r3 = heap32[(r2+11)];
+if(!(r3 ==0)) //_LBB643_12
+{
+ r4 = heapU8[r0+48];
+if(!(r4 ==0)) //_LBB643_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+11)] = 0;
+}
+ heap8[r0+48] = r1;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 0;
+ return;
+}
+
+function _ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+21)];
+if(!(r1 ==0)) //_LBB644_4
+{
+ r3 = heapU8[r0+88];
+if(!(r3 ==0)) //_LBB644_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+21)] = 0;
+}
+ r1 = 1;
+ heap8[r0+88] = r1;
+ heap32[(r2+21)] = 0;
+ heap32[(r2+19)] = 0;
+ heap32[(r2+20)] = 0;
+ r3 = heap32[(r2+16)];
+if(!(r3 ==0)) //_LBB644_8
+{
+ r4 = heapU8[r0+68];
+if(!(r4 ==0)) //_LBB644_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+16)] = 0;
+}
+ heap8[r0+68] = r1;
+ heap32[(r2+16)] = 0;
+ heap32[(r2+14)] = 0;
+ heap32[(r2+15)] = 0;
+ r3 = heap32[(r2+11)];
+if(!(r3 ==0)) //_LBB644_12
+{
+ r4 = heapU8[r0+48];
+if(!(r4 ==0)) //_LBB644_11
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+11)] = 0;
+}
+ heap8[r0+48] = r1;
+ heap32[(r2+11)] = 0;
+ heap32[(r2+9)] = 0;
+ heap32[(r2+10)] = 0;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback13ProcessIslandEPP17btCollisionObjectiPP20btPersistentManifoldii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+5)];
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ r6 = heap32[(fp+4)];
+ r7 = heap32[(r1+4)];
+_1: do {
+ if(r2 <0) //_LBB645_2
+{
+ r0 = 0;
+ r0 = (r0 - r6)|0;
+ if(r7 ==r0) //_LBB645_87
+{
+break _1;
+}
+else{
+ r0 = heap32[(r1+2)];
+ r2 = r0 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+3)];
+ r8 = heap32[(r1+7)];
+ r9 = heap32[(r1+6)];
+ r10 = heap32[(r1+5)];
+ r11 = heap32[(r1+1)];
+ r1 = heap32[(r1+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = r6;
+ heap32[(g0+5)] = r1;
+ heap32[(g0+6)] = r7;
+ heap32[(g0+7)] = r11;
+ heap32[(g0+8)] = r10;
+ heap32[(g0+9)] = r9;
+ heap32[(g0+10)] = r8;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ return;
+}
+}
+else{
+ r8 = 1;
+ r9 = 4;
+ r10 = 0;
+_5: while(true){
+ if(r7 >r10) //_LBB645_4
+{
+ r11 = heap32[(r1+3)];
+ r12 = r10 << 2;
+ r12 = (r11 + r12)|0;
+ r12 = r12 >> 2;
+ r12 = heap32[(r12)];
+ r12 = r12 >> 2;
+ r13 = heap32[(r12+5)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+52)];
+ if(r13 <0) //_LBB645_6
+{
+ r13 = heap32[(r12+6)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+52)];
+}
+ r10 = (r10 + 1)|0;
+ r9 = (r9 + -4)|0;
+ r8 = (r8 + -1)|0;
+ if(r13 ==r2) //_LBB645_10
+{
+__label__ = 9;
+break _5;
+}
+else{
+__label__ = 7;
+}
+}
+else{
+__label__ = 8;
+break _5;
+}
+}
+_11: do {
+switch(__label__ ){//multiple entries
+case 9:
+ r10 = r7 > r10 ? r7 : r10;
+ r7 = (r11 - r9)|0;
+ r9 = (r10 + r8)|0;
+ r8 = 0;
+ r10 = r7;
+_13: while(true){
+ r11 = r10 >> 2;
+ r11 = heap32[(r11)];
+ r11 = r11 >> 2;
+ r12 = heap32[(r11+5)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+52)];
+ if(r12 <0) //_LBB645_13
+{
+ r12 = heap32[(r11+6)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+52)];
+}
+ r11 = r12 == r2;
+ r11 = r11 & 1;
+ r9 = (r9 + -1)|0;
+ r8 = (r11 + r8)|0;
+ r10 = (r10 + 4)|0;
+if(!(r9 !=0)) //_LBB645_11
+{
+break _11;
+}
+}
+break;
+case 8:
+ r7 = 0;
+ r8 = r7;
+break;
+}
+} while(0);
+ r2 = heap32[(r1+1)];
+ r9 = r2 >> 2;
+ r9 = heap32[(r9+17)];
+ if(r9 <2) //_LBB645_17
+{
+ r0 = 0;
+ r0 = (r0 - r6)|0;
+ if(r8 ==r0) //_LBB645_87
+{
+break _1;
+}
+else{
+ r0 = heap32[(r1+2)];
+ r9 = r0 >> 2;
+ r9 = heap32[(r9)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+3)];
+ r10 = heap32[(r1+7)];
+ r11 = heap32[(r1+6)];
+ r1 = heap32[(r1+5)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = r6;
+ heap32[(g0+5)] = r7;
+ heap32[(g0+6)] = r8;
+ heap32[(g0+7)] = r2;
+ heap32[(g0+8)] = r1;
+ heap32[(g0+9)] = r11;
+ heap32[(g0+10)] = r10;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ return;
+}
+}
+else{
+_24: do {
+ if(r4 >0) //_LBB645_19
+{
+ r2 = heap32[(r1+9)];
+_26: while(true){
+ r9 = heap32[(r1+10)];
+ if(r9 ==r2) //_LBB645_22
+{
+ r10 = 1;
+ r11 = r2 << 1;
+ r11 = r2 == 0 ? r10 : r11;
+if(!(r9 >=r11)) //_LBB645_21
+{
+ if(r11 !=0) //_LBB645_25
+{
+ r9 = gNumAlignedAllocs;
+ r9 = r9 >> 2;
+ r12 = heap32[(r9)];
+ r13 = r11 << 2;
+ r12 = (r12 + 1)|0;
+ r13 = r13 | 3;
+ heap32[(r9)] = r12;
+ r9 = (r13 + 16)|0;
+ heap32[(g0)] = r9;
+ malloc(i7);
+ r9 = r_g0;
+ if(r9 !=0) //_LBB645_27
+{
+ r12 = 0;
+ r13 = (r9 + 4)|0;
+ r12 = (r12 - r13)|0;
+ r12 = r12 & 15;
+ r12 = (r9 + r12)|0;
+ r13 = (r12 + 4)|0;
+ r12 = r12 >> 2;
+ heap32[(r12)] = r9;
+ r9 = r13;
+}
+}
+else{
+ r9 = 0;
+}
+ if(r2 <1) //_LBB645_30
+{
+ r13 = heap32[(r1+11)];
+}
+else{
+ r12 = 0;
+_39: while(true){
+ r13 = heap32[(r1+11)];
+ r14 = r12 << 2;
+ r15 = (r13 + r14)|0;
+ r15 = r15 >> 2;
+ r14 = (r9 + r14)|0;
+ r15 = heap32[(r15)];
+ r12 = (r12 + 1)|0;
+ r14 = r14 >> 2;
+ heap32[(r14)] = r15;
+if(!(r2 !=r12)) //_LBB645_31
+{
+break _39;
+}
+}
+}
+ if(r13 !=0) //_LBB645_34
+{
+ r12 = heapU8[r0+48];
+ if(r12 !=0) //_LBB645_36
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r12 = heap32[(r2)];
+ r12 = (r12 + 1)|0;
+ r13 = r13 >> 2;
+ heap32[(r2)] = r12;
+ r2 = heap32[(r13+-1)];
+ heap32[(g0)] = r2;
+ free(i7);
+ r2 = heap32[(r1+9)];
+}
+ heap32[(r1+11)] = 0;
+}
+ heap8[r0+48] = r10;
+ heap32[(r1+11)] = r9;
+ heap32[(r1+10)] = r11;
+}
+}
+ r9 = r3 >> 2;
+ r2 = r2 << 2;
+ r10 = heap32[(r1+11)];
+ r2 = (r10 + r2)|0;
+ r9 = heap32[(r9)];
+ r2 = r2 >> 2;
+ heap32[(r2)] = r9;
+ r2 = heap32[(r1+9)];
+ r2 = (r2 + 1)|0;
+ r4 = (r4 + -1)|0;
+ r3 = (r3 + 4)|0;
+ heap32[(r1+9)] = r2;
+if(!(r4 !=0)) //_LBB645_20
+{
+break _24;
+}
+}
+}
+} while(0);
+_50: do {
+if(!(r6 <1)) //_LBB645_62
+{
+ r2 = heap32[(r1+14)];
+_52: while(true){
+ r3 = heap32[(r1+15)];
+ if(r3 ==r2) //_LBB645_44
+{
+ r4 = 1;
+ r9 = r2 << 1;
+ r9 = r2 == 0 ? r4 : r9;
+if(!(r3 >=r9)) //_LBB645_43
+{
+ if(r9 !=0) //_LBB645_47
+{
+ r3 = gNumAlignedAllocs;
+ r3 = r3 >> 2;
+ r10 = heap32[(r3)];
+ r11 = r9 << 2;
+ r10 = (r10 + 1)|0;
+ r11 = r11 | 3;
+ heap32[(r3)] = r10;
+ r3 = (r11 + 16)|0;
+ heap32[(g0)] = r3;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB645_49
+{
+ r10 = 0;
+ r11 = (r3 + 4)|0;
+ r10 = (r10 - r11)|0;
+ r10 = r10 & 15;
+ r10 = (r3 + r10)|0;
+ r11 = (r10 + 4)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r3;
+ r3 = r11;
+}
+}
+else{
+ r3 = 0;
+}
+ if(r2 <1) //_LBB645_52
+{
+ r11 = heap32[(r1+16)];
+}
+else{
+ r10 = 0;
+_65: while(true){
+ r11 = heap32[(r1+16)];
+ r12 = r10 << 2;
+ r13 = (r11 + r12)|0;
+ r13 = r13 >> 2;
+ r12 = (r3 + r12)|0;
+ r13 = heap32[(r13)];
+ r10 = (r10 + 1)|0;
+ r12 = r12 >> 2;
+ heap32[(r12)] = r13;
+if(!(r2 !=r10)) //_LBB645_53
+{
+break _65;
+}
+}
+}
+ if(r11 !=0) //_LBB645_56
+{
+ r10 = heapU8[r0+68];
+ if(r10 !=0) //_LBB645_58
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r10 = heap32[(r2)];
+ r10 = (r10 + 1)|0;
+ r11 = r11 >> 2;
+ heap32[(r2)] = r10;
+ r2 = heap32[(r11+-1)];
+ heap32[(g0)] = r2;
+ free(i7);
+ r2 = heap32[(r1+14)];
+}
+ heap32[(r1+16)] = 0;
+}
+ heap8[r0+68] = r4;
+ heap32[(r1+16)] = r3;
+ heap32[(r1+15)] = r9;
+}
+}
+ r3 = r5 >> 2;
+ r2 = r2 << 2;
+ r4 = heap32[(r1+16)];
+ r2 = (r4 + r2)|0;
+ r3 = heap32[(r3)];
+ r2 = r2 >> 2;
+ heap32[(r2)] = r3;
+ r2 = heap32[(r1+14)];
+ r2 = (r2 + 1)|0;
+ r6 = (r6 + -1)|0;
+ r5 = (r5 + 4)|0;
+ heap32[(r1+14)] = r2;
+if(!(r6 !=0)) //_LBB645_42
+{
+break _50;
+}
+}
+}
+} while(0);
+_76: do {
+ if(r8 >0) //_LBB645_64
+{
+ r2 = heap32[(r1+19)];
+_78: while(true){
+ r3 = heap32[(r1+20)];
+ if(r3 ==r2) //_LBB645_67
+{
+ r4 = 1;
+ r5 = r2 << 1;
+ r5 = r2 == 0 ? r4 : r5;
+if(!(r3 >=r5)) //_LBB645_66
+{
+ if(r5 !=0) //_LBB645_70
+{
+ r3 = gNumAlignedAllocs;
+ r3 = r3 >> 2;
+ r6 = heap32[(r3)];
+ r9 = r5 << 2;
+ r6 = (r6 + 1)|0;
+ r9 = r9 | 3;
+ heap32[(r3)] = r6;
+ r3 = (r9 + 16)|0;
+ heap32[(g0)] = r3;
+ malloc(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB645_72
+{
+ r6 = 0;
+ r9 = (r3 + 4)|0;
+ r6 = (r6 - r9)|0;
+ r6 = r6 & 15;
+ r6 = (r3 + r6)|0;
+ r9 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = r3;
+ r3 = r9;
+}
+}
+else{
+ r3 = 0;
+}
+ if(r2 <1) //_LBB645_75
+{
+ r9 = heap32[(r1+21)];
+}
+else{
+ r6 = 0;
+_91: while(true){
+ r9 = heap32[(r1+21)];
+ r10 = r6 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r3 + r10)|0;
+ r11 = heap32[(r11)];
+ r6 = (r6 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r11;
+if(!(r2 !=r6)) //_LBB645_76
+{
+break _91;
+}
+}
+}
+ if(r9 !=0) //_LBB645_79
+{
+ r6 = heapU8[r0+88];
+ if(r6 !=0) //_LBB645_81
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r6 = heap32[(r2)];
+ r6 = (r6 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r2)] = r6;
+ r2 = heap32[(r9+-1)];
+ heap32[(g0)] = r2;
+ free(i7);
+ r2 = heap32[(r1+19)];
+}
+ heap32[(r1+21)] = 0;
+}
+ heap8[r0+88] = r4;
+ heap32[(r1+21)] = r3;
+ heap32[(r1+20)] = r5;
+}
+}
+ r3 = r7 >> 2;
+ r2 = r2 << 2;
+ r4 = heap32[(r1+21)];
+ r2 = (r4 + r2)|0;
+ r3 = heap32[(r3)];
+ r2 = r2 >> 2;
+ heap32[(r2)] = r3;
+ r2 = heap32[(r1+19)];
+ r2 = (r2 + 1)|0;
+ r8 = (r8 + -1)|0;
+ r7 = (r7 + 4)|0;
+ heap32[(r1+19)] = r2;
+if(!(r8 !=0)) //_LBB645_65
+{
+break _76;
+}
+}
+}
+else{
+ r2 = heap32[(r1+19)];
+}
+} while(0);
+ r3 = heap32[(r1+1)];
+ r3 = r3 >> 2;
+ r1 = heap32[(r1+14)];
+ r1 = (r1 + r2)|0;
+ r2 = heap32[(r3+17)];
+if(!(r1 <=r2)) //_LBB645_87
+{
+ heap32[(g0)] = r0;
+ _ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback18processConstraintsEv(i7);
+}
+}
+}
+} while(0);
+ return;
+}
+
+function _ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+1)];
+ r2 = (r0 + r1)|0;
+ r3 = r2 >>> 31;
+ r4 = heap32[(fp)];
+ r2 = (r2 + r3)|0;
+ r3 = r4 >> 2;
+ r2 = r2 & 2147483646;
+ r5 = heap32[(r3+3)];
+ r2 = r2 << 1;
+ r2 = (r5 + r2)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r5 = r1;
+ r6 = r0;
+_1: while(true){
+ r7 = r2 >> 2;
+ r8 = heap32[(r7+5)];
+ r8 = r8 >> 2;
+ r9 = heap32[(r3+3)];
+ r8 = heap32[(r8+52)];
+_3: while(true){
+ r10 = r5 << 2;
+ r10 = (r9 + r10)|0;
+ r10 = r10 >> 2;
+ r11 = heap32[(r10)];
+ if(r8 <0) //_LBB646_5
+{
+ r12 = heap32[(r7+6)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+52)];
+}
+else{
+ r12 = r8;
+}
+ r13 = r11 >> 2;
+ r14 = heap32[(r13+5)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+52)];
+ if(r14 <0) //_LBB646_8
+{
+ r14 = heap32[(r13+6)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+52)];
+}
+ if(r14 <r12) //_LBB646_2
+{
+ r5 = (r5 + 1)|0;
+continue _3;
+}
+else{
+break _3;
+}
+}
+_13: while(true){
+ r12 = r6 << 2;
+ r13 = (r9 + r12)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+ r14 = r13 >> 2;
+ r15 = heap32[(r14+5)];
+ r15 = r15 >> 2;
+ r15 = heap32[(r15+52)];
+ if(r15 <0) //_LBB646_13
+{
+ r15 = heap32[(r14+6)];
+ r15 = r15 >> 2;
+ r15 = heap32[(r15+52)];
+}
+ if(r8 <0) //_LBB646_16
+{
+ r14 = heap32[(r7+6)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+52)];
+}
+else{
+ r14 = r8;
+}
+ if(r14 <r15) //_LBB646_10
+{
+ r6 = (r6 + -1)|0;
+continue _13;
+}
+else{
+break _13;
+}
+}
+ if(r5 <=r6) //_LBB646_20
+{
+ heap32[(r10)] = r13;
+ r7 = heap32[(r3+3)];
+ r7 = (r7 + r12)|0;
+ r5 = (r5 + 1)|0;
+ r6 = (r6 + -1)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r11;
+}
+ if(r5 <=r6) //_LBB646_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+if(!(r6 <=r1)) //_LBB646_24
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r6;
+ _ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii(i7);
+}
+if(!(r5 >=r0)) //_LBB646_26
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r0;
+ _ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii(i7);
+}
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+8)];
+ r3 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ r4 = r3 >> 2;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = heap32[(r4+2)];
+if(!(r2 <1)) //_LBB647_5
+{
+ r2 = 0;
+_3: while(true){
+ r5 = heap32[(r4+4)];
+ r6 = r2 << 2;
+ r5 = (r5 + r6)|0;
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ r6 = heapU8[r5+232];
+ r6 = r6 & 2;
+if(!(r6 ==0)) //_LBB647_4
+{
+ r6 = r5 >> 2;
+ r7 = heap32[(r6)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+4)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r7 = r_g0;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r8 = r7 >> 2;
+ r6 = heap32[(r6+5)];
+ r8 = heap32[(r8+2)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+5)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r_g0;
+ heap32[(g0+3)] = 1497645650;
+ heap32[(g0+4)] = r5;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+}
+ r2 = (r2 + 1)|0;
+ r5 = heap32[(r4+2)];
+ if(r5 >r2) //_LBB647_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r2 = heap32[(r4+47)];
+_9: do {
+if(!(r2 <1)) //_LBB647_8
+{
+ r2 = 0;
+_11: while(true){
+ r5 = r2 << 2;
+ r6 = heap32[(r4+49)];
+ r5 = (r6 + r5)|0;
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ r6 = r5 >> 2;
+ r7 = heap32[(r6)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+9)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r7 = r_g0;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r8 = r7 >> 2;
+ r6 = heap32[(r6+10)];
+ r8 = heap32[(r8+2)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+5)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r_g0;
+ heap32[(g0+3)] = 1397641027;
+ heap32[(g0+4)] = r5;
+ r2 = (r2 + 1)|0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r5 = heap32[(r4+47)];
+ if(r5 >r2) //_LBB647_7
+{
+continue _11;
+}
+else{
+break _9;
+}
+}
+}
+} while(0);
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ _ZN16btCollisionWorld25serializeCollisionObjectsEP12btSerializer(i7);
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+9)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+245];
+if(!(r1 ==0)) //_LBB648_3
+{
+ r1 = r0 >> 2;
+ r1 = heap32[(r1+44)];
+if(!(r1 ==0)) //_LBB648_3
+{
+ r2 = gNumAlignedFree;
+ r2 = r2 >> 2;
+ r3 = heap32[(r2)];
+ r3 = (r3 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r2)] = r3;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = heap32[(fp+1)];
+ r2 = 0;
+ r3 = r0 >> 2;
+ heap8[r0+245] = r2;
+ heap32[(r3+44)] = r1;
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = _2E_str87;
+ r1 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ r0 = r1 >> 2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r1 = heap32[(r0+52)];
+if(!(r1 <1)) //_LBB649_5
+{
+ f0 = heapFloat[(fp+1)];
+ r1 = 0;
+_3: while(true){
+ r2 = heap32[(r0+54)];
+ r3 = r1 << 2;
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r3 = heapU8[r2+204];
+ r3 = r3 & 3;
+if(!(r3 !=0)) //_LBB649_4
+{
+ heap32[(g0)] = r2;
+ heapFloat[(g0+1)] = f0;
+ _ZN11btRigidBody19integrateVelocitiesEf(i7);
+ heap32[(g0)] = r2;
+ heapFloat[(g0+1)] = f0;
+ _ZN11btRigidBody12applyDampingEf(i7);
+ r3 = r2 >> 2;
+ f1 = heapFloat[(r3+76)];
+ f2 = heapFloat[(r3+77)];
+ f3 = heapFloat[(r3+78)];
+ r3 = (r2 + 4)|0;
+ r4 = (r2 + 320)|0;
+ r2 = (r2 + 68)|0;
+ heap32[(g0)] = r3;
+ heapFloat[(g0+1)] = f1;
+ heapFloat[(g0+2)] = f2;
+ heapFloat[(g0+3)] = f3;
+ heap32[(g0+4)] = r4;
+ heapFloat[(g0+5)] = f0;
+ heap32[(g0+6)] = r2;
+ _ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(i7);
+}
+ r1 = (r1 + 1)|0;
+ r2 = heap32[(r0+52)];
+ if(r2 >r1) //_LBB649_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_9: do {
+if(!(r3 !=0)) //_LBB649_11
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB649_8
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB649_11
+{
+break _9;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = _2E_str188;
+ r1 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r0 = r1 >> 2;
+ r2 = heap32[(r0+45)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+2)];
+ r4 = heap32[(r0+6)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r4;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = heap32[(r0+47)];
+if(!(r2 <1)) //_LBB650_21
+{
+ r3 = 0;
+_3: while(true){
+ r4 = heap32[(r0+49)];
+ r5 = r3 << 2;
+ r4 = (r4 + r5)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r5 = heap32[(r4+5)];
+_5: do {
+if(!(r5 ==0)) //_LBB650_20
+{
+ r6 = heapU8[r5+204];
+ r6 = r6 & 3;
+if(!(r6 !=0)) //_LBB650_20
+{
+ r4 = heap32[(r4+6)];
+if(!(r4 ==0)) //_LBB650_20
+{
+ r6 = heapU8[r4+204];
+ r6 = r6 & 3;
+if(!(r6 !=0)) //_LBB650_20
+{
+ r5 = r5 >> 2;
+ r6 = heap32[(r5+54)];
+ if(r6 ==2) //_LBB650_8
+{
+__label__ = 8;
+}
+else{
+ if(r6 !=5) //_LBB650_10
+{
+__label__ = 10;
+}
+else{
+__label__ = 8;
+}
+}
+if (__label__ == 8){
+ r6 = r4 >> 2;
+ r6 = heap32[(r6+54)];
+ if(r6 ==2) //_LBB650_20
+{
+break _5;
+}
+else{
+ if(r6 ==5) //_LBB650_20
+{
+break _5;
+}
+}
+}
+ r6 = heap32[(r0+45)];
+ r5 = heap32[(r5+52)];
+ r6 = r6 >> 2;
+ r7 = heap32[(r6+4)];
+ r8 = r5 << 3;
+ r8 = (r7 + r8)|0;
+ r8 = r8 >> 2;
+ r4 = r4 >> 2;
+ r8 = heap32[(r8)];
+ r4 = heap32[(r4+52)];
+if(!(r8 ==r5)) //_LBB650_12
+{
+_17: while(true){
+ r8 = r8 << 3;
+ r5 = r5 << 3;
+ r8 = (r7 + r8)|0;
+ r5 = (r7 + r5)|0;
+ r7 = r8 >> 2;
+ r5 = r5 >> 2;
+ r8 = heap32[(r7)];
+ heap32[(r5)] = r8;
+ r5 = heap32[(r7)];
+ r7 = heap32[(r6+4)];
+ r8 = r5 << 3;
+ r8 = (r7 + r8)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+if(!(r8 !=r5)) //_LBB650_13
+{
+break _17;
+}
+}
+}
+ r8 = r4 << 3;
+ r8 = (r7 + r8)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+_20: do {
+if(!(r8 ==r4)) //_LBB650_16
+{
+_21: while(true){
+ r8 = r8 << 3;
+ r4 = r4 << 3;
+ r8 = (r7 + r8)|0;
+ r4 = (r7 + r4)|0;
+ r7 = r8 >> 2;
+ r4 = r4 >> 2;
+ r8 = heap32[(r7)];
+ heap32[(r4)] = r8;
+ r4 = heap32[(r7)];
+ r7 = heap32[(r6+4)];
+ r8 = r4 << 3;
+ r8 = (r7 + r8)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+if(!(r8 !=r4)) //_LBB650_17
+{
+break _20;
+}
+}
+}
+} while(0);
+if(!(r5 ==r4)) //_LBB650_20
+{
+ r5 = r5 << 3;
+ r7 = (r7 + r5)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r4;
+ r6 = heap32[(r6+4)];
+ r4 = r4 << 3;
+ r4 = (r6 + r4)|0;
+ r5 = (r6 + r5)|0;
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ r6 = heap32[(r4+1)];
+ r5 = heap32[(r5+1)];
+ r5 = (r5 + r6)|0;
+ heap32[(r4+1)] = r5;
+}
+}
+}
+}
+}
+} while(0);
+ r3 = (r3 + 1)|0;
+ if(r2 !=r3) //_LBB650_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r0 = heap32[(r0+45)];
+ r2 = r0 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_27: do {
+if(!(r3 !=0)) //_LBB650_27
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB650_24
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB650_27
+{
+break _27;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ return;
+}
+
+function _ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback18processConstraintsEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+14)];
+ r3 = heap32[(r1+19)];
+ r4 = (r3 + r2)|0;
+if(!(r4 <1)) //_LBB651_2
+{
+ r4 = heap32[(r1+2)];
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+3)];
+ r6 = heap32[(r1+7)];
+ r7 = heap32[(r1+6)];
+ r8 = heap32[(r1+5)];
+ r9 = heap32[(r1+1)];
+ r10 = heap32[(r1+21)];
+ r11 = heap32[(r1+16)];
+ r12 = heap32[(r1+9)];
+ r13 = heap32[(r1+11)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r13;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = r11;
+ heap32[(g0+4)] = r2;
+ heap32[(g0+5)] = r10;
+ heap32[(g0+6)] = r3;
+ heap32[(g0+7)] = r9;
+ heap32[(g0+8)] = r8;
+ heap32[(g0+9)] = r7;
+ heap32[(g0+10)] = r6;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+ r2 = heap32[(r1+9)];
+if(!(r2 >-1)) //_LBB651_10
+{
+ r3 = heap32[(r1+10)];
+if(!(r3 >-1)) //_LBB651_9
+{
+ r3 = heap32[(r1+11)];
+if(!(r3 ==0)) //_LBB651_8
+{
+ r4 = heapU8[r0+48];
+if(!(r4 ==0)) //_LBB651_7
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r1+11)] = 0;
+}
+ r3 = 1;
+ heap8[r0+48] = r3;
+ heap32[(r1+11)] = 0;
+ heap32[(r1+10)] = 0;
+}
+_14: while(true){
+ r3 = r2 << 2;
+ r4 = heap32[(r1+11)];
+ r3 = (r4 + r3)|0;
+ r2 = (r2 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = 0;
+ if(r2 !=0) //_LBB651_9
+{
+continue _14;
+}
+else{
+break _14;
+}
+}
+}
+ heap32[(r1+9)] = 0;
+ r2 = heap32[(r1+14)];
+_17: do {
+if(!(r2 >-1)) //_LBB651_18
+{
+ r3 = heap32[(r1+15)];
+if(!(r3 >-1)) //_LBB651_17
+{
+ r3 = heap32[(r1+16)];
+if(!(r3 ==0)) //_LBB651_16
+{
+ r4 = heapU8[r0+68];
+if(!(r4 ==0)) //_LBB651_15
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r1+16)] = 0;
+}
+ r3 = 1;
+ heap8[r0+68] = r3;
+ heap32[(r1+16)] = 0;
+ heap32[(r1+15)] = 0;
+}
+_27: while(true){
+ r3 = r2 << 2;
+ r4 = heap32[(r1+16)];
+ r3 = (r4 + r3)|0;
+ r2 = (r2 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = 0;
+ if(r2 !=0) //_LBB651_17
+{
+continue _27;
+}
+else{
+break _17;
+}
+}
+}
+} while(0);
+ heap32[(r1+14)] = 0;
+ r2 = heap32[(r1+19)];
+_30: do {
+if(!(r2 >-1)) //_LBB651_26
+{
+ r3 = heap32[(r1+20)];
+if(!(r3 >-1)) //_LBB651_25
+{
+ r3 = heap32[(r1+21)];
+if(!(r3 ==0)) //_LBB651_24
+{
+ r4 = heapU8[r0+88];
+if(!(r4 ==0)) //_LBB651_23
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r1+21)] = 0;
+}
+ r3 = 1;
+ heap8[r0+88] = r3;
+ heap32[(r1+21)] = 0;
+ heap32[(r1+20)] = 0;
+}
+_40: while(true){
+ r0 = r2 << 2;
+ r3 = heap32[(r1+21)];
+ r0 = (r3 + r0)|0;
+ r2 = (r2 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+ if(r2 !=0) //_LBB651_25
+{
+continue _40;
+}
+else{
+break _30;
+}
+}
+}
+} while(0);
+ heap32[(r1+19)] = 0;
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+64)];
+ r3 = heap32[(r1+63)];
+ r4 = heap32[(fp+1)];
+ if(r2 ==r3) //_LBB652_2
+{
+ r5 = 1;
+ r6 = r3 << 1;
+ r6 = r3 == 0 ? r5 : r6;
+if(!(r2 >=r6)) //_LBB652_1
+{
+ if(r6 !=0) //_LBB652_5
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r7 = heap32[(r2)];
+ r8 = r6 << 2;
+ r7 = (r7 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r2)] = r7;
+ r2 = (r8 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB652_7
+{
+ r7 = 0;
+ r8 = (r2 + 4)|0;
+ r7 = (r7 - r8)|0;
+ r7 = r7 & 15;
+ r7 = (r2 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r2;
+ r2 = r8;
+}
+}
+else{
+ r2 = 0;
+}
+ r7 = (r0 + 260)|0;
+ if(r3 <1) //_LBB652_10
+{
+ r8 = r7 >> 2;
+ r9 = heap32[(r8)];
+}
+else{
+ r8 = 0;
+_12: while(true){
+ r9 = r7 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r8 << 2;
+ r11 = (r9 + r10)|0;
+ r11 = r11 >> 2;
+ r10 = (r2 + r10)|0;
+ r11 = heap32[(r11)];
+ r8 = (r8 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r11;
+if(!(r3 !=r8)) //_LBB652_11
+{
+break _12;
+}
+}
+ r7 = (r0 + 260)|0;
+}
+ if(r9 !=0) //_LBB652_15
+{
+ r8 = heapU8[r0+264];
+ if(r8 !=0) //_LBB652_17
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r8 = heap32[(r3)];
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r3)] = r8;
+ r3 = heap32[(r9+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+ r3 = heap32[(r1+63)];
+}
+ r8 = r7 >> 2;
+ heap32[(r8)] = 0;
+}
+ r7 = r7 >> 2;
+ heap8[r0+264] = r5;
+ heap32[(r7)] = r2;
+ heap32[(r1+64)] = r6;
+}
+}
+ r0 = r3 << 2;
+ r2 = heap32[(r1+65)];
+ r0 = (r2 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r4;
+ r0 = heap32[(r1+63)];
+ r0 = (r0 + 1)|0;
+ heap32[(r1+63)] = r0;
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld19integrateTransformsEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+var __label__ = 0;
+ i7 = sp + -264;var g0 = i7>>2; // save stack
+ r0 = _2E_str794;
+ r1 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ r0 = r1 >> 2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r2 = heap32[(r0+52)];
+if(!(r2 <1)) //_LBB653_19
+{
+ f0 = heapFloat[(fp+1)];
+ r2 = 0;
+ r15 = -1;
+_3: while(true){
+ r3 = heap32[(r0+54)];
+ r4 = r2 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r4 = r3 >> 2;
+ heap32[(r4+60)] = 1065353216;
+ r5 = heap32[(r4+54)];
+if(!(r5 ==2)) //_LBB653_18
+{
+if(!(r5 ==5)) //_LBB653_18
+{
+ r5 = heapU8[r3+204];
+ r5 = r5 & 3;
+if(!(r5 !=0)) //_LBB653_18
+{
+ f1 = heapFloat[(r4+76)];
+ f2 = heapFloat[(r4+77)];
+ f3 = heapFloat[(r4+78)];
+ r5 = (r3 + 320)|0;
+ r6 = (r3 + 4)|0;
+ r7 = sp + -80;
+ heap32[(g0)] = r6;
+ heapFloat[(g0+1)] = f1;
+ heapFloat[(g0+2)] = f2;
+ heapFloat[(g0+3)] = f3;
+ heap32[(g0+4)] = r5;
+ heapFloat[(g0+5)] = f0;
+ heap32[(g0+6)] = r7;
+ _ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(i7);
+ f1 = heapFloat[(r4+62)];
+ f1 = f1*f1;
+ f2 = 0;
+_9: do {
+if(!(f1 ==f2)) //_LBB653_17
+{
+ r8 = r7 >> 2;
+ f2 = heapFloat[(r8+14)];
+ f3 = heapFloat[(r4+15)];
+ f4 = heapFloat[(r8+13)];
+ f5 = heapFloat[(r4+14)];
+ f6 = heapFloat[(r8+12)];
+ f7 = heapFloat[(r4+13)];
+ f2 = f2-f3;
+ f3 = f4-f5;
+ f4 = f6-f7;
+ f4 = f4*f4;
+ f3 = f3*f3;
+ f3 = f4+f3;
+ f2 = f2*f2;
+ f2 = f3+f2;
+if(!(f1 >=f2)) //_LBB653_17
+{
+ r9 = _2E_str895;
+ heap32[(g0)] = r9;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r9 = heap32[(r4+48)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+1)];
+if(!(r9 >19)) //_LBB653_11
+{
+ r9 = gNumClampedCcdMotions;
+ r9 = r9 >> 2;
+ r10 = heap32[(r9)];
+ r10 = (r10 + 1)|0;
+ heap32[(r9)] = r10;
+ r9 = heap32[(r0+20)];
+ r10 = r9 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+9)];
+ r11 = heap32[(r0+6)];
+ r12 = sp + -176;
+ heap32[(g0)] = r9;
+ r9 = r12 >> 2;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r13 = 1;
+ heap32[(r9+1)] = 1065353216;
+ r14 = _ZTVN16btCollisionWorld27ClosestConvexResultCallbackE;
+ heap16[(sp+-168)>>1] = r13;
+ r13 = (r14 + 8)|0;
+ heap16[(sp+-166)>>1] = r15;
+ heap32[(fp+-44)] = r13;
+ heap32[(r9+3)] = heap32[(r4+13)];
+ heap32[(r9+4)] = heap32[(r4+14)];
+ heap32[(r9+5)] = heap32[(r4+15)];
+ heap32[(r9+6)] = heap32[(r4+16)];
+ heap32[(r9+7)] = heap32[(r8+12)];
+ heap32[(r9+8)] = heap32[(r8+13)];
+ heap32[(r9+9)] = heap32[(r8+14)];
+ r14 = _ZTV34btClosestNotMeConvexResultCallback;
+ heap32[(r9+10)] = heap32[(r8+15)];
+ r8 = (r14 + 8)|0;
+ heap32[(r9+19)] = 0;
+ heap32[(fp+-44)] = r8;
+ heap32[(r9+20)] = r3;
+ heap32[(r9+21)] = 0;
+ heap32[(r9+22)] = r_g0;
+ r8 = sp + -232;
+ heap32[(r9+23)] = r11;
+ r10 = r8 >> 2;
+ f1 = heapFloat[(r4+61)];
+ heap32[(r10+2)] = 0;
+ heap32[(r10+3)] = 1065353216;
+ heap32[(r10+4)] = 1065353216;
+ r11 = _ZTV13btSphereShape;
+ heap32[(r10+5)] = 1065353216;
+ r11 = (r11 + 8)|0;
+ heap32[(r10+6)] = 0;
+ heap32[(fp+-58)] = r11;
+ heap32[(r10+1)] = 8;
+ heapFloat[(r10+7)] = f1;
+ heapFloat[(r10+11)] = f1;
+ r10 = heap32[(r4+47)];
+ r10 = heapU16[(r10+4)>>1];
+ heap16[(sp+-168)>>1] = r10;
+ r10 = heap32[(r4+47)];
+ r10 = heapU16[(r10+6)>>1];
+ heap16[(sp+-166)>>1] = r10;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = r12;
+ heap32[(g0+5)] = 0;
+ _ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf(i7);
+ f1 = heapFloat[(r9+1)];
+ f2 = 1;
+if(!(f1 >=f2)) //_LBB653_10
+{
+ heapFloat[(r4+60)] = f1;
+ f2 = heapFloat[(r4+76)];
+ f3 = heapFloat[(r4+77)];
+ f4 = heapFloat[(r4+78)];
+ f1 = f1*f0;
+ heap32[(g0)] = r6;
+ heapFloat[(g0+1)] = f2;
+ heapFloat[(g0+2)] = f3;
+ heapFloat[(g0+3)] = f4;
+ heap32[(g0+4)] = r5;
+ heapFloat[(g0+5)] = f1;
+ heap32[(g0+6)] = r7;
+ _ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(i7);
+ heap32[(r4+60)] = 0;
+}
+ r4 = _ZTV13btConvexShape;
+ r4 = (r4 + 8)|0;
+ heap32[(fp+-58)] = r4;
+ heap32[(fp+-44)] = r13;
+}
+ r4 = _ZN15CProfileManager11CurrentNodeE;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r6 = r5 >> 2;
+ r8 = heap32[(r6+4)];
+ r8 = (r8 + -1)|0;
+ heap32[(r6+4)] = r8;
+if(!(r8 !=0)) //_LBB653_17
+{
+ r8 = heap32[(r6+1)];
+ if(r8 !=0) //_LBB653_14
+{
+ r5 = sp + -8;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = 0;
+ r8 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+ r8 = r8 >> 2;
+ r5 = r5 >> 2;
+ r9 = heap32[(fp+-2)];
+ r10 = heap32[(r8)];
+ r9 = (r9 - r10)|0;
+ r5 = heap32[(r5+1)];
+ r8 = heap32[(r8+1)];
+ r5 = (r5 - r8)|0;
+ r8 = (r9 * 1000000)|0;
+ r5 = (r5 + r8)|0;
+ r8 = heap32[(r6+3)];
+ r5 = (r5 - r8)|0;
+ f1 = uint(r5); //fuitos r5, f1
+ f2 = 1000;
+ f3 = heapFloat[(r6+2)];
+ f1 = f1/f2;
+ f1 = f3+f1;
+ heapFloat[(r6+2)] = f1;
+ r5 = heap32[(r6+4)];
+ if(r5 !=0) //_LBB653_17
+{
+break _9;
+}
+else{
+ r5 = heap32[(r4)];
+}
+}
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+5)];
+ heap32[(r4)] = r5;
+}
+}
+}
+} while(0);
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r7;
+ _ZN11btRigidBody18proceedToTransformERK11btTransform(i7);
+}
+}
+}
+ r2 = (r2 + 1)|0;
+ r3 = heap32[(r0+52)];
+ if(r3 >r2) //_LBB653_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_26: do {
+if(!(r3 !=0)) //_LBB653_25
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB653_22
+{
+ r1 = sp + -16;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-4)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB653_25
+{
+break _26;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -168;var g0 = i7>>2; // save stack
+ r0 = _2E_str996;
+ heap32[(g0)] = r0;
+ r0 = sp + -48;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r1 = 1;
+ r2 = r0 >> 2;
+ heap8[sp+-32] = r1;
+ heap32[(r2+3)] = 0;
+ r3 = heap32[(fp)];
+ heap32[(r2+1)] = 0;
+ r4 = r3 >> 2;
+ heap32[(r2+2)] = 0;
+ r5 = heap32[(r4+47)];
+if(!(r5 <1)) //_LBB654_7
+{
+ r6 = gNumAlignedAllocs;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ r8 = r5 << 2;
+ r7 = (r7 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r6)] = r7;
+ r6 = (r8 + 16)|0;
+ heap32[(g0)] = r6;
+ malloc(i7);
+ r6 = r_g0;
+ if(r6 !=0) //_LBB654_3
+{
+ r7 = 0;
+ r8 = (r6 + 4)|0;
+ r7 = (r7 - r8)|0;
+ r7 = r7 & 15;
+ r7 = (r6 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r6;
+ r6 = r8;
+}
+ r7 = 1;
+ heap8[sp+-32] = r7;
+ r7 = (r7 - r5)|0;
+ r8 = 0;
+ heap32[(r2+3)] = r6;
+ heap32[(r2+2)] = r5;
+_6: while(true){
+ r9 = r8 << 2;
+ r6 = (r6 - r9)|0;
+ r6 = r6 >> 2;
+ heap32[(r6)] = 0;
+ if(r7 ==r8) //_LBB654_7
+{
+break _6;
+}
+else{
+ r6 = heap32[(r2+3)];
+ r8 = (r8 + -1)|0;
+continue _6;
+}
+}
+}
+ heap32[(r2+1)] = r5;
+ r5 = heap32[(r4)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+24)];
+ heap32[(g0)] = r3;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r5 = r_g0;
+_10: do {
+if(!(r5 <1)) //_LBB654_10
+{
+ r5 = 0;
+_12: while(true){
+ r6 = r5 << 2;
+ r7 = heap32[(r4+49)];
+ r7 = (r7 + r6)|0;
+ r7 = r7 >> 2;
+ r8 = heap32[(r2+3)];
+ r6 = (r8 + r6)|0;
+ r7 = heap32[(r7)];
+ r6 = r6 >> 2;
+ heap32[(r6)] = r7;
+ r6 = heap32[(r4)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+24)];
+ r5 = (r5 + 1)|0;
+ heap32[(g0)] = r3;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = r_g0;
+ if(r6 >r5) //_LBB654_9
+{
+continue _12;
+}
+else{
+break _10;
+}
+}
+}
+} while(0);
+ r5 = heap32[(r2+1)];
+if(!(r5 <2)) //_LBB654_12
+{
+ r5 = (r5 + -1)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r5;
+ _ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii(i7);
+}
+ r0 = heap32[(fp+1)];
+ r5 = heap32[(r4)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+24)];
+ heap32[(g0)] = r3;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB654_14
+{
+ r3 = heap32[(r2+3)];
+}
+else{
+ r3 = 0;
+}
+ r5 = heap32[(r4+6)];
+ r6 = heap32[(r4+44)];
+ r7 = _ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback;
+ r8 = heap32[(r4+19)];
+ r9 = heap32[(r4+21)];
+ r10 = heap32[(r2+1)];
+ r11 = sp + -144;
+ r7 = (r7 + 8)|0;
+ r12 = r11 >> 2;
+ heap32[(fp+-36)] = r7;
+ heap32[(r12+1)] = r0;
+ heap32[(r12+2)] = r6;
+ heap32[(r12+3)] = r3;
+ heap32[(r12+4)] = r10;
+ heap32[(r12+5)] = r9;
+ heap32[(r12+6)] = r8;
+ heap32[(r12+7)] = r5;
+ heap8[sp+-96] = r1;
+ heap32[(r12+11)] = 0;
+ heap32[(r12+9)] = 0;
+ heap32[(r12+10)] = 0;
+ heap8[sp+-76] = r1;
+ heap32[(r12+16)] = 0;
+ heap32[(r12+14)] = 0;
+ heap32[(r12+15)] = 0;
+ heap8[sp+-56] = r1;
+ heap32[(r12+21)] = 0;
+ heap32[(r12+19)] = 0;
+ r3 = r6 >> 2;
+ heap32[(r12+20)] = 0;
+ r6 = r5 >> 2;
+ r3 = heap32[(r3)];
+ r6 = heap32[(r6)];
+ r3 = r3 >> 2;
+ r6 = r6 >> 2;
+ r3 = heap32[(r3+2)];
+ r6 = heap32[(r6+9)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r6 = heap32[(r4+2)];
+ r8 = heap32[(r4+44)];
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r_g0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = heap32[(r4+45)];
+ r5 = heap32[(r4+6)];
+ r6 = _2E_str155;
+ heap32[(g0)] = r6;
+ r6 = r3 >> 2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r8 = heap32[(r6+7)];
+_22: do {
+if(!(r8 >-1)) //_LBB654_23
+{
+ r9 = heap32[(r6+8)];
+if(!(r9 >-1)) //_LBB654_22
+{
+ r9 = heap32[(r6+9)];
+if(!(r9 ==0)) //_LBB654_21
+{
+ r10 = heapU8[r3+40];
+if(!(r10 ==0)) //_LBB654_20
+{
+ r10 = gNumAlignedFree;
+ r10 = r10 >> 2;
+ r13 = heap32[(r10)];
+ r13 = (r13 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r10)] = r13;
+ r9 = heap32[(r9+-1)];
+ heap32[(g0)] = r9;
+ free(i7);
+}
+ heap32[(r6+9)] = 0;
+}
+ r9 = 1;
+ heap8[r3+40] = r9;
+ heap32[(r6+9)] = 0;
+ heap32[(r6+8)] = 0;
+}
+_32: while(true){
+ r9 = r8 << 2;
+ r10 = heap32[(r6+9)];
+ r9 = (r10 + r9)|0;
+ r8 = (r8 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = 0;
+ if(r8 !=0) //_LBB654_22
+{
+continue _32;
+}
+else{
+break _22;
+}
+}
+}
+} while(0);
+ heap32[(r6+7)] = 0;
+ r8 = heap32[(r6+2)];
+ if(r8 >0) //_LBB654_25
+{
+ r9 = 0;
+_37: while(true){
+ r10 = heap32[(r6+4)];
+ r13 = r9 << 3;
+ r13 = (r10 + r13)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+ r14 = r9 << 1;
+ if(r9 ==r13) //_LBB654_28
+{
+ r16 = r9;
+}
+else{
+ r15 = r10;
+ r16 = r9;
+_42: while(true){
+ r13 = r13 << 3;
+ r16 = r16 << 3;
+ r13 = (r15 + r13)|0;
+ r15 = (r15 + r16)|0;
+ r13 = r13 >> 2;
+ r15 = r15 >> 2;
+ r16 = heap32[(r13)];
+ heap32[(r15)] = r16;
+ r16 = heap32[(r13)];
+ r15 = heap32[(r6+4)];
+ r13 = r16 << 3;
+ r13 = (r15 + r13)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+if(!(r13 !=r16)) //_LBB654_29
+{
+break _42;
+}
+}
+}
+ r13 = r14 << 2;
+ r10 = (r10 + r13)|0;
+ r9 = (r9 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r16;
+if(!(r8 !=r9)) //_LBB654_26
+{
+break _37;
+}
+}
+ r8 = heap32[(r6+2)];
+ if(r8 >1) //_LBB654_33
+{
+ r9 = (r3 + 4)|0;
+ r8 = (r8 + -1)|0;
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r8;
+ _ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii(i7);
+ r8 = heap32[(r6+2)];
+}
+}
+ r9 = 0;
+_48: while(true){
+ r10 = r9;
+ if(r10 <r8) //_LBB654_35
+{
+ r13 = heap32[(r6+4)];
+ r9 = r10 << 3;
+ r9 = (r13 + r9)|0;
+ r9 = r9 >> 2;
+ r14 = heap32[(r9)];
+ r15 = (r10 + 1)|0;
+_51: while(true){
+ r9 = r15;
+ if(r9 >=r8) //_LBB654_46
+{
+break _51;
+}
+else{
+ r15 = r9 << 3;
+ r15 = (r13 + r15)|0;
+ r16 = r15 >> 2;
+ r15 = (r9 + 1)|0;
+ r16 = heap32[(r16)];
+if(!(r16 ==r14)) //_LBB654_36
+{
+break _51;
+}
+}
+}
+ r16 = 1;
+ r15 = r10;
+_55: while(true){
+ if(r15 <r9) //_LBB654_38
+{
+ r17 = r15 << 3;
+ r17 = (r13 + r17)|0;
+ r17 = r17 >> 2;
+ r17 = heap32[(r17+1)];
+ r18 = heap32[(r4+4)];
+ r17 = r17 << 2;
+ r17 = (r18 + r17)|0;
+ r17 = r17 >> 2;
+ r17 = heap32[(r17)];
+ r17 = r17 >> 2;
+ r18 = heap32[(r17+52)];
+ if(r18 ==r14) //_LBB654_42
+{
+ r17 = heap32[(r17+54)];
+ r18 = 0;
+ if(r17 ==4) //_LBB654_44
+{
+ r16 = r18;
+}
+else{
+ r16 = r17 == 1 ? r18 : r16;
+}
+}
+else{
+ if(r18 !=-1) //_LBB654_41
+{
+__label__ = 37;
+break _48;
+}
+}
+ r15 = (r15 + 1)|0;
+}
+else{
+break _55;
+}
+}
+ r13 = r16 & 255;
+ if(r13 ==0) //_LBB654_50
+{
+_67: while(true){
+ if(r10 <r9) //_LBB654_58
+{
+ r13 = heap32[(r6+4)];
+ r15 = r10 << 3;
+ r13 = (r13 + r15)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+1)];
+ r15 = heap32[(r4+4)];
+ r13 = r13 << 2;
+ r13 = (r15 + r13)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r15 = heap32[(r13+52)];
+ if(r15 ==r14) //_LBB654_61
+{
+ r15 = heap32[(r13+54)];
+if(!(r15 !=2)) //_LBB654_63
+{
+ heap32[(r13+54)] = 3;
+ heap32[(r13+55)] = 0;
+}
+}
+else{
+if(!(r15 ==-1)) //_LBB654_63
+{
+__label__ = 54;
+break _48;
+}
+}
+ r10 = (r10 + 1)|0;
+continue _67;
+}
+else{
+continue _48;
+}
+}
+}
+else{
+_75: while(true){
+ if(r10 <r9) //_LBB654_51
+{
+ r13 = heap32[(r6+4)];
+ r15 = r10 << 3;
+ r13 = (r13 + r15)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+1)];
+ r15 = heap32[(r4+4)];
+ r13 = r13 << 2;
+ r13 = (r15 + r13)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r15 = heap32[(r13+52)];
+ if(r15 ==r14) //_LBB654_54
+{
+ r15 = heap32[(r13+54)];
+ r15 = (r15 + -4)|0;
+if(!(uint(r15) <uint(2))) //_LBB654_56
+{
+ heap32[(r13+54)] = 2;
+}
+}
+else{
+if(!(r15 ==-1)) //_LBB654_56
+{
+__label__ = 47;
+break _48;
+}
+}
+ r10 = (r10 + 1)|0;
+continue _75;
+}
+else{
+continue _48;
+}
+}
+}
+}
+else{
+__label__ = 60;
+break _48;
+}
+}
+switch(__label__ ){//multiple entries
+case 37:
+ r0 = _2E_str1156;
+ r1 = _2E_str2157;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 242;
+ _assert(i7);
+break;
+case 54:
+ r0 = _2E_str1156;
+ r1 = _2E_str2157;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 290;
+ _assert(i7);
+break;
+case 60:
+ r8 = r5 >> 2;
+ r9 = heap32[(r8)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+9)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r9 = r_g0;
+_87: do {
+if(!(r9 <1)) //_LBB654_104
+{
+ r10 = 0;
+_89: while(true){
+ r13 = heap32[(r8)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+10)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r10;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ r13 = r_g0;
+ r14 = r13 >> 2;
+ r15 = heap32[(r14+277)];
+ r14 = heap32[(r14+278)];
+ if(r15 ==0) //_LBB654_70
+{
+__label__ = 64;
+}
+else{
+ r16 = r15 >> 2;
+ r16 = heap32[(r16+54)];
+ if(r16 !=2) //_LBB654_72
+{
+__label__ = 66;
+}
+else{
+__label__ = 64;
+}
+}
+if (__label__ == 64){
+ if(r14 ==0) //_LBB654_103
+{
+__label__ = 95;
+}
+else{
+ r16 = r14 >> 2;
+ r16 = heap32[(r16+54)];
+ if(r16 ==2) //_LBB654_103
+{
+__label__ = 95;
+}
+else{
+__label__ = 66;
+}
+}
+}
+if (__label__ == 66){
+ r16 = heapU8[r15+204];
+ r16 = r16 & 2;
+if(!(r16 ==0)) //_LBB654_78
+{
+ r16 = r15 >> 2;
+ r16 = heap32[(r16+54)];
+if(!(r16 ==2)) //_LBB654_78
+{
+ r16 = heapU8[r14+204];
+ r16 = r16 & 3;
+if(!(r16 !=0)) //_LBB654_78
+{
+ r16 = r14 >> 2;
+ r17 = heap32[(r16+54)];
+ r17 = (r17 + -4)|0;
+if(!(uint(r17) <uint(2))) //_LBB654_77
+{
+ heap32[(r16+54)] = 1;
+}
+ heap32[(r16+55)] = 0;
+}
+}
+}
+ r16 = heapU8[r14+204];
+ r16 = r16 & 2;
+if(!(r16 ==0)) //_LBB654_84
+{
+ r16 = r14 >> 2;
+ r16 = heap32[(r16+54)];
+if(!(r16 ==2)) //_LBB654_84
+{
+ r16 = heapU8[r15+204];
+ r16 = r16 & 3;
+if(!(r16 !=0)) //_LBB654_84
+{
+ r16 = r15 >> 2;
+ r17 = heap32[(r16+54)];
+ r17 = (r17 + -4)|0;
+if(!(uint(r17) <uint(2))) //_LBB654_83
+{
+ heap32[(r16+54)] = 1;
+}
+ heap32[(r16+55)] = 0;
+}
+}
+}
+ r16 = heapU8[r3+64];
+if(!(r16 ==0)) //_LBB654_103
+{
+ r16 = heap32[(r8)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+7)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r15;
+ heap32[(g0+2)] = r14;
+ __FUNCTION_TABLE__[(r16)>>2](i7);
+ r14 = r_g0;
+if(!(r14 ==0)) //_LBB654_103
+{
+ r14 = heap32[(r6+8)];
+ r15 = heap32[(r6+7)];
+ if(r14 ==r15) //_LBB654_88
+{
+ r16 = 1;
+ r17 = r15 << 1;
+ r17 = r15 == 0 ? r16 : r17;
+if(!(r14 >=r17)) //_LBB654_87
+{
+ if(r17 !=0) //_LBB654_91
+{
+ r14 = gNumAlignedAllocs;
+ r14 = r14 >> 2;
+ r18 = heap32[(r14)];
+ r19 = r17 << 2;
+ r18 = (r18 + 1)|0;
+ r19 = r19 | 3;
+ heap32[(r14)] = r18;
+ r14 = (r19 + 16)|0;
+ heap32[(g0)] = r14;
+ malloc(i7);
+ r14 = r_g0;
+ if(r14 !=0) //_LBB654_93
+{
+ r15 = 0;
+ r18 = (r14 + 4)|0;
+ r15 = (r15 - r18)|0;
+ r15 = r15 & 15;
+ r15 = (r14 + r15)|0;
+ r18 = r15 >> 2;
+ heap32[(r18)] = r14;
+ r14 = (r15 + 4)|0;
+ r15 = heap32[(r6+7)];
+}
+}
+else{
+ r14 = 0;
+}
+if(!(r15 <1)) //_LBB654_97
+{
+ r18 = 0;
+_126: while(true){
+ r19 = r18 << 2;
+ r20 = heap32[(r6+9)];
+ r20 = (r20 + r19)|0;
+ r20 = r20 >> 2;
+ r19 = (r14 + r19)|0;
+ r20 = heap32[(r20)];
+ r18 = (r18 + 1)|0;
+ r19 = r19 >> 2;
+ heap32[(r19)] = r20;
+if(!(r15 !=r18)) //_LBB654_96
+{
+break _126;
+}
+}
+}
+ r15 = heap32[(r6+9)];
+if(!(r15 ==0)) //_LBB654_101
+{
+ r18 = heapU8[r3+40];
+if(!(r18 ==0)) //_LBB654_100
+{
+ r18 = gNumAlignedFree;
+ r18 = r18 >> 2;
+ r19 = heap32[(r18)];
+ r19 = (r19 + 1)|0;
+ r15 = r15 >> 2;
+ heap32[(r18)] = r19;
+ r15 = heap32[(r15+-1)];
+ heap32[(g0)] = r15;
+ free(i7);
+}
+ heap32[(r6+9)] = 0;
+}
+ heap8[r3+40] = r16;
+ heap32[(r6+9)] = r14;
+ heap32[(r6+8)] = r17;
+ r15 = heap32[(r6+7)];
+}
+}
+ r14 = r15 << 2;
+ r15 = heap32[(r6+9)];
+ r14 = (r15 + r14)|0;
+ r14 = r14 >> 2;
+ heap32[(r14)] = r13;
+ r13 = heap32[(r6+7)];
+ r13 = (r13 + 1)|0;
+ heap32[(r6+7)] = r13;
+}
+}
+}
+ r10 = (r10 + 1)|0;
+ if(r9 !=r10) //_LBB654_68
+{
+continue _89;
+}
+else{
+break _87;
+}
+}
+}
+} while(0);
+ r9 = _ZN15CProfileManager11CurrentNodeE;
+ r9 = r9 >> 2;
+ r10 = heap32[(r9)];
+ r13 = r10 >> 2;
+ r14 = heap32[(r13+4)];
+ r14 = (r14 + -1)|0;
+ heap32[(r13+4)] = r14;
+_138: do {
+if(!(r14 !=0)) //_LBB654_110
+{
+ r14 = heap32[(r13+1)];
+ if(r14 !=0) //_LBB654_107
+{
+ r10 = sp + -24;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = 0;
+ r14 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r14 = r14 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r10 = r10 >> 2;
+ r15 = heap32[(fp+-6)];
+ r16 = heap32[(r14)];
+ r15 = (r15 - r16)|0;
+ r10 = heap32[(r10+1)];
+ r14 = heap32[(r14+1)];
+ r10 = (r10 - r14)|0;
+ r14 = (r15 * 1000000)|0;
+ r10 = (r10 + r14)|0;
+ r14 = heap32[(r13+3)];
+ r10 = (r10 - r14)|0;
+ f0 = uint(r10); //fuitos r10, f0
+ f1 = 1000;
+ f2 = heapFloat[(r13+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r13+2)] = f0;
+ r10 = heap32[(r13+4)];
+ if(r10 !=0) //_LBB654_110
+{
+break _138;
+}
+else{
+ r10 = heap32[(r9)];
+}
+}
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+5)];
+ heap32[(r9)] = r10;
+}
+} while(0);
+ r10 = heap32[(r6+2)];
+ r13 = _2E_str3158;
+ heap32[(g0)] = r13;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r13 = heapU8[r3+64];
+_145: do {
+ if(r13 !=0) //_LBB654_112
+{
+ r5 = heap32[(r6+7)];
+if(!(r5 <2)) //_LBB654_114
+{
+ r8 = (r3 + 24)|0;
+ r13 = (r5 + -1)|0;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r13;
+ _ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii(i7);
+}
+if(!(r10 <1)) //_LBB654_163
+{
+ r8 = 0;
+ r13 = r8;
+ r14 = r8;
+_151: while(true){
+ r15 = heap32[(r6+4)];
+ r16 = r14 << 3;
+ r15 = (r15 + r16)|0;
+ r15 = r15 >> 2;
+ r15 = heap32[(r15)];
+ r16 = r8;
+_153: while(true){
+ if(r14 >=r10) //_LBB654_139
+{
+break _153;
+}
+else{
+ r17 = heap32[(r6+4)];
+ r18 = r14 << 3;
+ r17 = (r17 + r18)|0;
+ r17 = r17 >> 2;
+ r18 = heap32[(r17)];
+ if(r18 ==r15) //_LBB654_117
+{
+ r17 = heap32[(r17+1)];
+ r18 = heap32[(r4+4)];
+ r17 = r17 << 2;
+ r17 = (r18 + r17)|0;
+ r17 = r17 >> 2;
+ r18 = heap32[(r6+13)];
+ r19 = heap32[(r6+12)];
+ r17 = heap32[(r17)];
+ if(r18 ==r19) //_LBB654_119
+{
+ r20 = 1;
+ r21 = r19 << 1;
+ r21 = r19 == 0 ? r20 : r21;
+if(!(r18 >=r21)) //_LBB654_118
+{
+ if(r21 !=0) //_LBB654_122
+{
+ r18 = gNumAlignedAllocs;
+ r18 = r18 >> 2;
+ r22 = heap32[(r18)];
+ r23 = r21 << 2;
+ r22 = (r22 + 1)|0;
+ r23 = r23 | 3;
+ heap32[(r18)] = r22;
+ r18 = (r23 + 16)|0;
+ heap32[(g0)] = r18;
+ malloc(i7);
+ r18 = r_g0;
+ if(r18 !=0) //_LBB654_124
+{
+ r19 = 0;
+ r22 = (r18 + 4)|0;
+ r19 = (r19 - r22)|0;
+ r19 = r19 & 15;
+ r19 = (r18 + r19)|0;
+ r22 = r19 >> 2;
+ heap32[(r22)] = r18;
+ r18 = (r19 + 4)|0;
+ r19 = heap32[(r6+12)];
+}
+}
+else{
+ r18 = 0;
+}
+if(!(r19 <1)) //_LBB654_128
+{
+ r22 = 0;
+_167: while(true){
+ r23 = r22 << 2;
+ r24 = heap32[(r6+14)];
+ r24 = (r24 + r23)|0;
+ r24 = r24 >> 2;
+ r23 = (r18 + r23)|0;
+ r24 = heap32[(r24)];
+ r22 = (r22 + 1)|0;
+ r23 = r23 >> 2;
+ heap32[(r23)] = r24;
+if(!(r19 !=r22)) //_LBB654_127
+{
+break _167;
+}
+}
+}
+ r19 = heap32[(r6+14)];
+if(!(r19 ==0)) //_LBB654_132
+{
+ r22 = heapU8[r3+60];
+if(!(r22 ==0)) //_LBB654_131
+{
+ r22 = gNumAlignedFree;
+ r22 = r22 >> 2;
+ r23 = heap32[(r22)];
+ r23 = (r23 + 1)|0;
+ r19 = r19 >> 2;
+ heap32[(r22)] = r23;
+ r19 = heap32[(r19+-1)];
+ heap32[(g0)] = r19;
+ free(i7);
+}
+ heap32[(r6+14)] = 0;
+}
+ heap8[r3+60] = r20;
+ heap32[(r6+14)] = r18;
+ heap32[(r6+13)] = r21;
+ r19 = heap32[(r6+12)];
+}
+}
+ r18 = r19 << 2;
+ r19 = heap32[(r6+14)];
+ r18 = (r19 + r18)|0;
+ r18 = r18 >> 2;
+ heap32[(r18)] = r17;
+ r18 = heap32[(r6+12)];
+ r18 = (r18 + 1)|0;
+ r17 = r17 >> 2;
+ heap32[(r6+12)] = r18;
+ r17 = heap32[(r17+54)];
+ if(r17 !=2) //_LBB654_135
+{
+ r18 = 1;
+ r16 = r17 == 5 ? r18 : r16;
+}
+else{
+ r16 = 1;
+}
+ r14 = (r14 + 1)|0;
+}
+else{
+break _153;
+}
+}
+}
+_182: do {
+ if(r13 <r5) //_LBB654_141
+{
+ r17 = heap32[(r6+9)];
+ r19 = r13 << 2;
+ r18 = (r17 + r19)|0;
+ r20 = r18 >> 2;
+ r20 = heap32[(r20)];
+ r20 = r20 >> 2;
+ r21 = heap32[(r20+277)];
+ r21 = r21 >> 2;
+ r21 = heap32[(r21+52)];
+ if(r21 <0) //_LBB654_143
+{
+ r21 = heap32[(r20+278)];
+ r21 = r21 >> 2;
+ r21 = heap32[(r21+52)];
+}
+ if(r21 !=r15) //_LBB654_140
+{
+__label__ = 129;
+}
+else{
+ r19 = (r17 + r19)|0;
+ r20 = 1;
+_188: while(true){
+ r17 = r20;
+ r1 = (r13 + r17)|0;
+ if(r1 >=r5) //_LBB654_151
+{
+__label__ = 138;
+break _182;
+}
+else{
+ r20 = r17 << 2;
+ r20 = (r19 + r20)|0;
+ r20 = r20 >> 2;
+ r20 = heap32[(r20)];
+ r20 = r20 >> 2;
+ r21 = heap32[(r20+277)];
+ r21 = r21 >> 2;
+ r21 = heap32[(r21+52)];
+ if(r21 <0) //_LBB654_149
+{
+ r20 = heap32[(r20+278)];
+ r20 = r20 >> 2;
+ r21 = heap32[(r20+52)];
+}
+ r20 = (r17 + 1)|0;
+if(!(r21 ==r15)) //_LBB654_146
+{
+__label__ = 138;
+break _182;
+}
+}
+}
+}
+}
+else{
+__label__ = 129;
+}
+} while(0);
+if (__label__ == 129){
+ r17 = 0;
+ r18 = r17;
+}
+ r16 = r16 & 255;
+if(!(r16 !=0)) //_LBB654_153
+{
+ r16 = heap32[(fp+-36)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+2)];
+ r19 = heap32[(r6+12)];
+ r20 = heap32[(r6+14)];
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r20;
+ heap32[(g0+2)] = r19;
+ heap32[(g0+3)] = r18;
+ heap32[(g0+4)] = r17;
+ heap32[(g0+5)] = r15;
+ __FUNCTION_TABLE__[(r16)>>2](i7);
+}
+ r15 = heap32[(r6+12)];
+_200: do {
+if(!(r15 >-1)) //_LBB654_162
+{
+ r16 = heap32[(r6+13)];
+ if(r16 <0) //_LBB654_156
+{
+ r16 = heap32[(r6+14)];
+if(!(r16 ==0)) //_LBB654_160
+{
+ r18 = heapU8[r3+60];
+if(!(r18 ==0)) //_LBB654_159
+{
+ r18 = gNumAlignedFree;
+ r18 = r18 >> 2;
+ r19 = heap32[(r18)];
+ r19 = (r19 + 1)|0;
+ r16 = r16 >> 2;
+ heap32[(r18)] = r19;
+ r16 = heap32[(r16+-1)];
+ heap32[(g0)] = r16;
+ free(i7);
+}
+ heap32[(r6+14)] = 0;
+}
+ r16 = 1;
+ heap8[r3+60] = r16;
+ heap32[(r6+14)] = 0;
+ heap32[(r6+13)] = 0;
+}
+_210: while(true){
+ r16 = r15 << 2;
+ r18 = heap32[(r6+14)];
+ r16 = (r18 + r16)|0;
+ r15 = (r15 + 1)|0;
+ r16 = r16 >> 2;
+ heap32[(r16)] = 0;
+if(!(r15 !=0)) //_LBB654_161
+{
+break _200;
+}
+}
+}
+} while(0);
+ r13 = r17 == 0 ? r13 : r1;
+ heap32[(r6+12)] = 0;
+ if(r14 <r10) //_LBB654_116
+{
+continue _151;
+}
+else{
+break _145;
+}
+}
+}
+}
+else{
+ r1 = heap32[(r8)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+11)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = r_g0;
+ r3 = heap32[(r8)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+9)];
+ heap32[(g0)] = r5;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r6 = heap32[(fp+-36)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+2)];
+ r10 = heap32[(r4+2)];
+ r5 = heap32[(r4+4)];
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = r_g0;
+ heap32[(g0+5)] = -1;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+}
+} while(0);
+ r1 = heap32[(r9)];
+ r3 = r1 >> 2;
+ r5 = heap32[(r3+4)];
+ r5 = (r5 + -1)|0;
+ heap32[(r3+4)] = r5;
+_215: do {
+if(!(r5 !=0)) //_LBB654_169
+{
+ r5 = heap32[(r3+1)];
+ if(r5 !=0) //_LBB654_166
+{
+ r1 = sp + -16;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r5 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r1 = r1 >> 2;
+ r6 = heap32[(fp+-4)];
+ r8 = heap32[(r5)];
+ r6 = (r6 - r8)|0;
+ r1 = heap32[(r1+1)];
+ r5 = heap32[(r5+1)];
+ r1 = (r1 - r5)|0;
+ r5 = (r6 * 1000000)|0;
+ r1 = (r1 + r5)|0;
+ r5 = heap32[(r3+3)];
+ r1 = (r1 - r5)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r3+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r3+2)] = f0;
+ r1 = heap32[(r3+4)];
+ if(r1 !=0) //_LBB654_169
+{
+break _215;
+}
+else{
+ r1 = heap32[(r9)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r9)] = r1;
+}
+} while(0);
+ heap32[(g0)] = r11;
+ _ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback18processConstraintsEv(i7);
+ r1 = heap32[(r4+44)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+4)];
+ r5 = heap32[(r4+19)];
+ r4 = heap32[(r4+21)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ heap32[(fp+-36)] = r7;
+ r0 = heap32[(r12+21)];
+if(!(r0 ==0)) //_LBB654_173
+{
+ r1 = heapU8[sp+-56];
+if(!(r1 ==0)) //_LBB654_172
+{
+ r1 = gNumAlignedFree;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = (r3 + 1)|0;
+ r0 = r0 >> 2;
+ heap32[(r1)] = r3;
+ r0 = heap32[(r0+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ heap32[(r12+21)] = 0;
+}
+ r0 = 1;
+ heap8[sp+-56] = r0;
+ heap32[(r12+21)] = 0;
+ heap32[(r12+19)] = 0;
+ heap32[(r12+20)] = 0;
+ r1 = heap32[(r12+16)];
+if(!(r1 ==0)) //_LBB654_177
+{
+ r3 = heapU8[sp+-76];
+if(!(r3 ==0)) //_LBB654_176
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r12+16)] = 0;
+}
+ heap8[sp+-76] = r0;
+ heap32[(r12+16)] = 0;
+ heap32[(r12+14)] = 0;
+ heap32[(r12+15)] = 0;
+ r1 = heap32[(r12+11)];
+if(!(r1 ==0)) //_LBB654_181
+{
+ r3 = heapU8[sp+-96];
+if(!(r3 ==0)) //_LBB654_180
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r12+11)] = 0;
+}
+ heap8[sp+-96] = r0;
+ heap32[(r12+11)] = 0;
+ heap32[(r12+9)] = 0;
+ heap32[(r12+10)] = 0;
+ r1 = heap32[(r2+3)];
+if(!(r1 ==0)) //_LBB654_185
+{
+ r3 = heapU8[sp+-32];
+if(!(r3 ==0)) //_LBB654_184
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+3)] = 0;
+}
+ heap8[sp+-32] = r0;
+ heap32[(r2+3)] = 0;
+ heap32[(r2+1)] = 0;
+ heap32[(r2+2)] = 0;
+ r0 = heap32[(r9)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+4)];
+ r2 = (r2 + -1)|0;
+ heap32[(r1+4)] = r2;
+_246: do {
+if(!(r2 !=0)) //_LBB654_191
+{
+ r2 = heap32[(r1+1)];
+ if(r2 !=0) //_LBB654_188
+{
+ r0 = sp + -8;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ r2 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r0 = r0 >> 2;
+ r3 = heap32[(fp+-2)];
+ r4 = heap32[(r2)];
+ r3 = (r3 - r4)|0;
+ r0 = heap32[(r0+1)];
+ r2 = heap32[(r2+1)];
+ r0 = (r0 - r2)|0;
+ r2 = (r3 * 1000000)|0;
+ r0 = (r0 + r2)|0;
+ r2 = heap32[(r1+3)];
+ r0 = (r0 - r2)|0;
+ f0 = uint(r0); //fuitos r0, f0
+ f1 = 1000;
+ f2 = heapFloat[(r1+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r1+2)] = f0;
+ r0 = heap32[(r1+4)];
+ if(r0 !=0) //_LBB654_191
+{
+break _246;
+}
+else{
+ r0 = heap32[(r9)];
+}
+}
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+5)];
+ heap32[(r9)] = r0;
+}
+} while(0);
+ return;
+break;
+case 47:
+ r0 = _2E_str1156;
+ r1 = _2E_str2157;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 269;
+ _assert(i7);
+break;
+}
+}
+
+function _ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(r0+47)];
+ r3 = 0;
+_1: while(true){
+ if(r2 >r3) //_LBB655_1
+{
+ r4 = heap32[(r0+49)];
+ r5 = r3 << 2;
+ r4 = (r4 + r5)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ if(r4 !=r1) //_LBB655_3
+{
+ r3 = (r3 + 1)|0;
+continue _1;
+}
+else{
+__label__ = 5;
+break _1;
+}
+}
+else{
+__label__ = 4;
+break _1;
+}
+}
+if (__label__ == 4){
+ r3 = r2;
+}
+if(!(r2 <=r3)) //_LBB655_8
+{
+ r2 = (r2 + -1)|0;
+ r3 = r3 << 2;
+ r4 = heap32[(r0+49)];
+ r2 = r2 << 2;
+ r3 = (r4 + r3)|0;
+ r4 = (r4 + r2)|0;
+ r3 = r3 >> 2;
+ r4 = r4 >> 2;
+ r5 = heap32[(r3)];
+ r4 = heap32[(r4)];
+ heap32[(r3)] = r4;
+ r3 = heap32[(r0+49)];
+ r2 = (r3 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = r5;
+ r2 = heap32[(r0+47)];
+ r2 = (r2 + -1)|0;
+ heap32[(r0+47)] = r2;
+}
+ r0 = r1 >> 2;
+ r2 = heap32[(r0+5)];
+ r2 = r2 >> 2;
+ r3 = heap32[(r2+120)];
+ r4 = 0;
+_11: while(true){
+ if(r3 >r4) //_LBB655_9
+{
+ r5 = heap32[(r2+122)];
+ r6 = r4 << 2;
+ r5 = (r5 + r6)|0;
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ if(r5 !=r1) //_LBB655_11
+{
+ r4 = (r4 + 1)|0;
+continue _11;
+}
+else{
+__label__ = 12;
+break _11;
+}
+}
+else{
+__label__ = 11;
+break _11;
+}
+}
+if (__label__ == 11){
+ r4 = r3;
+}
+ if(r3 >r4) //_LBB655_16
+{
+ r3 = (r3 + -1)|0;
+ r4 = r4 << 2;
+ r5 = heap32[(r2+122)];
+ r3 = r3 << 2;
+ r4 = (r5 + r4)|0;
+ r5 = (r5 + r3)|0;
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ r6 = heap32[(r4)];
+ r5 = heap32[(r5)];
+ heap32[(r4)] = r5;
+ r4 = heap32[(r2+122)];
+ r3 = (r4 + r3)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r6;
+ r3 = heap32[(r2+120)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+120)] = r3;
+}
+ r4 = 0;
+ r3 = r3 > r4;
+ r3 = r3 & 1;
+ heap32[(r2+63)] = r3;
+ r0 = heap32[(r0+6)];
+ r0 = r0 >> 2;
+ r2 = heap32[(r0+120)];
+_21: while(true){
+ if(r2 >r4) //_LBB655_18
+{
+ r3 = heap32[(r0+122)];
+ r5 = r4 << 2;
+ r3 = (r3 + r5)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ if(r3 !=r1) //_LBB655_20
+{
+ r4 = (r4 + 1)|0;
+continue _21;
+}
+else{
+__label__ = 19;
+break _21;
+}
+}
+else{
+__label__ = 18;
+break _21;
+}
+}
+if (__label__ == 18){
+ r4 = r2;
+}
+ if(r2 >r4) //_LBB655_25
+{
+ r2 = (r2 + -1)|0;
+ r1 = r4 << 2;
+ r3 = heap32[(r0+122)];
+ r2 = r2 << 2;
+ r1 = (r3 + r1)|0;
+ r3 = (r3 + r2)|0;
+ r1 = r1 >> 2;
+ r3 = r3 >> 2;
+ r4 = heap32[(r1)];
+ r3 = heap32[(r3)];
+ heap32[(r1)] = r3;
+ r1 = heap32[(r0+122)];
+ r2 = (r1 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = r4;
+ r2 = heap32[(r0+120)];
+ r2 = (r2 + -1)|0;
+ heap32[(r0+120)] = r2;
+}
+ r1 = 0;
+ r1 = r2 > r1;
+ r1 = r1 & 1;
+ heap32[(r0+63)] = r1;
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+48)];
+ r3 = heap32[(r1+47)];
+ r4 = heap32[(fp+1)];
+ r5 = heap32[(fp+2)];
+ if(r2 ==r3) //_LBB656_2
+{
+ r6 = 1;
+ r7 = r3 << 1;
+ r7 = r3 == 0 ? r6 : r7;
+if(!(r2 >=r7)) //_LBB656_1
+{
+ if(r7 !=0) //_LBB656_5
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r8 = heap32[(r2)];
+ r9 = r7 << 2;
+ r8 = (r8 + 1)|0;
+ r9 = r9 | 3;
+ heap32[(r2)] = r8;
+ r2 = (r9 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB656_7
+{
+ r8 = 0;
+ r9 = (r2 + 4)|0;
+ r8 = (r8 - r9)|0;
+ r8 = r8 & 15;
+ r8 = (r2 + r8)|0;
+ r9 = (r8 + 4)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r2;
+ r2 = r9;
+}
+}
+else{
+ r2 = 0;
+}
+ r8 = (r0 + 196)|0;
+ if(r3 <1) //_LBB656_10
+{
+ r9 = r8 >> 2;
+ r10 = heap32[(r9)];
+}
+else{
+ r9 = 0;
+_12: while(true){
+ r10 = r8 >> 2;
+ r10 = heap32[(r10)];
+ r11 = r9 << 2;
+ r12 = (r10 + r11)|0;
+ r12 = r12 >> 2;
+ r11 = (r2 + r11)|0;
+ r12 = heap32[(r12)];
+ r9 = (r9 + 1)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = r12;
+if(!(r3 !=r9)) //_LBB656_11
+{
+break _12;
+}
+}
+ r8 = (r0 + 196)|0;
+}
+ if(r10 !=0) //_LBB656_15
+{
+ r9 = heapU8[r0+200];
+ if(r9 !=0) //_LBB656_17
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r9 = heap32[(r3)];
+ r9 = (r9 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r3)] = r9;
+ r3 = heap32[(r10+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+ r3 = heap32[(r1+47)];
+}
+ r9 = r8 >> 2;
+ heap32[(r9)] = 0;
+}
+ r8 = r8 >> 2;
+ heap8[r0+200] = r6;
+ heap32[(r8)] = r2;
+ heap32[(r1+48)] = r7;
+}
+}
+ r0 = r3 << 2;
+ r2 = heap32[(r1+49)];
+ r0 = (r2 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r4;
+ r0 = heap32[(r1+47)];
+ r0 = (r0 + 1)|0;
+ heap32[(r1+47)] = r0;
+if(!(r5 ==0)) //_LBB656_22
+{
+ r0 = r4 >> 2;
+ r1 = heap32[(r0+5)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ _ZN11btRigidBody16addConstraintRefEP17btTypedConstraint(i7);
+ r0 = heap32[(r0+6)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ _ZN11btRigidBody16addConstraintRefEP17btTypedConstraint(i7);
+}
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld21updateActivationStateEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _2E_str1097;
+ r1 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ r0 = r1 >> 2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r1 = heap32[(r0+52)];
+if(!(r1 <1)) //_LBB657_25
+{
+ f0 = heapFloat[(fp+1)];
+ r1 = gDisableDeactivation;
+ r1 = heapU8[r1];
+ r2 = 0;
+_3: while(true){
+ r3 = heap32[(r0+54)];
+ r4 = r2 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+_5: do {
+if(!(r3 ==0)) //_LBB657_24
+{
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+54)];
+if(!(r5 ==4)) //_LBB657_24
+{
+_8: do {
+ if(r5 !=2) //_LBB657_6
+{
+ f1 = heapFloat[(r4+76)];
+ f2 = heapFloat[(r4+77)];
+ f3 = heapFloat[(r4+78)];
+ f1 = f1*f1;
+ f2 = f2*f2;
+ f4 = heapFloat[(r4+116)];
+ f1 = f1+f2;
+ f2 = f3*f3;
+ f1 = f1+f2;
+ f2 = f4*f4;
+ if(f1 >=f2) //_LBB657_9
+{
+__label__ = 8;
+}
+else{
+ f1 = heapFloat[(r4+80)];
+ f2 = heapFloat[(r4+81)];
+ f3 = heapFloat[(r4+82)];
+ f1 = f1*f1;
+ f2 = f2*f2;
+ f4 = heapFloat[(r4+117)];
+ f1 = f1+f2;
+ f2 = f3*f3;
+ f1 = f1+f2;
+ f2 = f4*f4;
+ if(f1 >=f2) //_LBB657_9
+{
+__label__ = 8;
+}
+else{
+ f1 = heapFloat[(r4+55)];
+ f1 = f1+f0;
+ heapFloat[(r4+55)] = f1;
+__label__ = 10;
+}
+}
+if (__label__ == 8){
+ r6 = (r5 + -4)|0;
+ heap32[(r4+55)] = 0;
+if(!(uint(r6) <uint(2))) //_LBB657_11
+{
+ r5 = 0;
+ heap32[(r4+54)] = 0;
+break _8;
+}
+}
+ if(r5 ==4) //_LBB657_24
+{
+break _5;
+}
+}
+} while(0);
+ r6 = r1 & 255;
+_18: do {
+if(!(r6 !=0)) //_LBB657_22
+{
+ r6 = (r5 + -2)|0;
+if(!(uint(r6) <uint(2))) //_LBB657_15
+{
+ f1 = heapFloat[(r4+55)];
+ f2 = 2;
+ if(f1 <=f2) //_LBB657_22
+{
+break _18;
+}
+}
+ r3 = heapU8[r3+204];
+ r3 = r3 & 3;
+ if(r3 ==0) //_LBB657_18
+{
+ if(r5 ==2) //_LBB657_21
+{
+ heap32[(r4+76)] = 0;
+ heap32[(r4+77)] = 0;
+ heap32[(r4+78)] = 0;
+ heap32[(r4+79)] = 0;
+ heap32[(r4+80)] = 0;
+ heap32[(r4+81)] = 0;
+ heap32[(r4+82)] = 0;
+ heap32[(r4+83)] = 0;
+break _5;
+}
+else{
+ if(r5 !=1) //_LBB657_24
+{
+break _5;
+}
+else{
+ heap32[(r4+54)] = 3;
+break _5;
+}
+}
+}
+else{
+ r5 = (r5 + -4)|0;
+ if(uint(r5) <uint(2)) //_LBB657_24
+{
+break _5;
+}
+else{
+ heap32[(r4+54)] = 2;
+break _5;
+}
+}
+}
+} while(0);
+ r3 = (r5 + -4)|0;
+if(!(uint(r3) <uint(2))) //_LBB657_24
+{
+ heap32[(r4+54)] = 1;
+}
+}
+}
+} while(0);
+ r2 = (r2 + 1)|0;
+ r3 = heap32[(r0+52)];
+ if(r3 >r2) //_LBB657_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_35: do {
+if(!(r3 !=0)) //_LBB657_31
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB657_28
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB657_31
+{
+break _35;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = _2E_str1198;
+ r1 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ r0 = r1 >> 2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r2 = heap32[(r0+24)];
+ f0 = heapFloat[(fp+1)];
+if(!(r2 ==0)) //_LBB658_2
+{
+ heap32[(g0)] = r1;
+ heapFloat[(g0+1)] = f0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+ r2 = heap32[(r0)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+33)];
+ heap32[(g0)] = r1;
+ heapFloat[(g0+1)] = f0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ heapFloat[(r0+7)] = f0;
+ heap32[(r0+8)] = 0;
+ r2 = heap32[(r0)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ heap32[(r0+12)] = r_g0;
+ r2 = heap32[(r0)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+10)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = heap32[(r0)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+35)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ heapFloat[(r0+29)] = f0;
+ r2 = heap32[(r0)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+36)];
+ r3 = (r1 + 104)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = heap32[(r0)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+34)];
+ heap32[(g0)] = r1;
+ heapFloat[(g0+1)] = f0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = _2E_str289;
+ heap32[(g0)] = r2;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r2 = heap32[(r0+63)];
+if(!(r2 <1)) //_LBB658_5
+{
+ r2 = 0;
+_6: while(true){
+ r3 = heap32[(r0+65)];
+ r4 = r2 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ heapFloat[(g0+2)] = f0;
+ r2 = (r2 + 1)|0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r3 = heap32[(r0+63)];
+ if(r3 >r2) //_LBB658_4
+{
+continue _6;
+}
+else{
+break _6;
+}
+}
+}
+ r2 = _ZN15CProfileManager11CurrentNodeE;
+ r2 = r2 >> 2;
+ r3 = heap32[(r2)];
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+4)];
+ r5 = (r5 + -1)|0;
+ heap32[(r4+4)] = r5;
+_9: do {
+if(!(r5 !=0)) //_LBB658_11
+{
+ r5 = heap32[(r4+1)];
+ if(r5 !=0) //_LBB658_8
+{
+ r3 = sp + -16;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 0;
+ r5 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r3 = r3 >> 2;
+ r6 = heap32[(fp+-4)];
+ r7 = heap32[(r5)];
+ r6 = (r6 - r7)|0;
+ r3 = heap32[(r3+1)];
+ r5 = heap32[(r5+1)];
+ r3 = (r3 - r5)|0;
+ r5 = (r6 * 1000000)|0;
+ r3 = (r3 + r5)|0;
+ r5 = heap32[(r4+3)];
+ r3 = (r3 - r5)|0;
+ f1 = uint(r3); //fuitos r3, f1
+ f2 = 1000;
+ f3 = heapFloat[(r4+2)];
+ f1 = f1/f2;
+ f1 = f3+f1;
+ heapFloat[(r4+2)] = f1;
+ r3 = heap32[(r4+4)];
+ if(r3 !=0) //_LBB658_11
+{
+break _9;
+}
+else{
+ r3 = heap32[(r2)];
+}
+}
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+5)];
+ heap32[(r2)] = r3;
+}
+} while(0);
+ heap32[(g0)] = r1;
+ heapFloat[(g0+1)] = f0;
+ _ZN23btDiscreteDynamicsWorld21updateActivationStateEf(i7);
+ r0 = heap32[(r0+23)];
+if(!(r0 ==0)) //_LBB658_13
+{
+ heap32[(g0)] = r1;
+ heapFloat[(g0+1)] = f0;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+}
+ r0 = heap32[(r2)];
+ r1 = r0 >> 2;
+ r3 = heap32[(r1+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r1+4)] = r3;
+_19: do {
+if(!(r3 !=0)) //_LBB658_19
+{
+ r3 = heap32[(r1+1)];
+ if(r3 !=0) //_LBB658_16
+{
+ r0 = sp + -8;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r0 = r0 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r0 = heap32[(r0+1)];
+ r3 = heap32[(r3+1)];
+ r0 = (r0 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r0 = (r0 + r3)|0;
+ r3 = heap32[(r1+3)];
+ r0 = (r0 - r3)|0;
+ f0 = uint(r0); //fuitos r0, f0
+ f1 = 1000;
+ f2 = heapFloat[(r1+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r1+2)] = f0;
+ r0 = heap32[(r1+4)];
+ if(r0 !=0) //_LBB658_19
+{
+break _19;
+}
+else{
+ r0 = heap32[(r2)];
+}
+}
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+5)];
+ heap32[(r2)] = r0;
+}
+} while(0);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+51)];
+ r3 = heap32[(fp)];
+ r4 = r2 & 3;
+if(!(r4 !=0)) //_LBB659_5
+{
+ r4 = heapU8[r0+496];
+ r4 = r4 & 1;
+if(!(r4 != 0)) //_LBB659_5
+{
+ f0 = heapFloat[(r1+84)];
+ f1 = 0;
+if(!(f0 ==f1)) //_LBB659_4
+{
+ r4 = r3 >> 2;
+ f1 = 1;
+ f0 = f1/f0;
+ f1 = heapFloat[(r4+58)];
+ f2 = heapFloat[(r4+57)];
+ f3 = heapFloat[(r4+56)];
+ f3 = f3*f0;
+ f2 = f2*f0;
+ heapFloat[(r1+89)] = f3;
+ f0 = f1*f0;
+ heapFloat[(r1+90)] = f2;
+ heapFloat[(r1+91)] = f0;
+ heap32[(r1+92)] = 0;
+}
+ r4 = r3 >> 2;
+ heap32[(r1+93)] = heap32[(r4+56)];
+ heap32[(r1+94)] = heap32[(r4+57)];
+ heap32[(r1+95)] = heap32[(r4+58)];
+ heap32[(r1+96)] = heap32[(r4+59)];
+}
+}
+ r4 = heap32[(r1+48)];
+if(!(r4 ==0)) //_LBB659_31
+{
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ r2 = r2 & 1;
+_10: do {
+ if(r2 != 0) //_LBB659_28
+{
+ r2 = heap32[(r1+54)];
+ r2 = (r2 + -4)|0;
+ if(uint(r2) <uint(2)) //_LBB659_30
+{
+break _10;
+}
+else{
+ heap32[(r1+54)] = 2;
+}
+}
+else{
+ r1 = r3 >> 2;
+ r2 = heap32[(r1+53)];
+ r6 = heap32[(r1+52)];
+ if(r2 ==r6) //_LBB659_9
+{
+ r7 = 1;
+ r8 = r6 << 1;
+ r8 = r6 == 0 ? r7 : r8;
+if(!(r2 >=r8)) //_LBB659_8
+{
+ if(r8 !=0) //_LBB659_12
+{
+ r2 = gNumAlignedAllocs;
+ r2 = r2 >> 2;
+ r9 = heap32[(r2)];
+ r10 = r8 << 2;
+ r9 = (r9 + 1)|0;
+ r10 = r10 | 3;
+ heap32[(r2)] = r9;
+ r2 = (r10 + 16)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r2 = r_g0;
+ if(r2 !=0) //_LBB659_14
+{
+ r9 = 0;
+ r10 = (r2 + 4)|0;
+ r9 = (r9 - r10)|0;
+ r9 = r9 & 15;
+ r9 = (r2 + r9)|0;
+ r10 = (r9 + 4)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r2;
+ r2 = r10;
+}
+}
+else{
+ r2 = 0;
+}
+ r9 = (r3 + 216)|0;
+ if(r6 <1) //_LBB659_17
+{
+ r10 = r9 >> 2;
+ r11 = heap32[(r10)];
+}
+else{
+ r10 = 0;
+_25: while(true){
+ r11 = r9 >> 2;
+ r11 = heap32[(r11)];
+ r12 = r10 << 2;
+ r13 = (r11 + r12)|0;
+ r13 = r13 >> 2;
+ r12 = (r2 + r12)|0;
+ r13 = heap32[(r13)];
+ r10 = (r10 + 1)|0;
+ r12 = r12 >> 2;
+ heap32[(r12)] = r13;
+if(!(r6 !=r10)) //_LBB659_18
+{
+break _25;
+}
+}
+ r9 = (r3 + 216)|0;
+}
+ if(r11 !=0) //_LBB659_22
+{
+ r10 = heapU8[r3+220];
+ if(r10 !=0) //_LBB659_24
+{
+ r6 = gNumAlignedFree;
+ r6 = r6 >> 2;
+ r10 = heap32[(r6)];
+ r10 = (r10 + 1)|0;
+ r11 = r11 >> 2;
+ heap32[(r6)] = r10;
+ r6 = heap32[(r11+-1)];
+ heap32[(g0)] = r6;
+ free(i7);
+ r6 = heap32[(r1+52)];
+}
+ r10 = r9 >> 2;
+ heap32[(r10)] = 0;
+}
+ r9 = r9 >> 2;
+ heap8[r3+220] = r7;
+ heap32[(r9)] = r2;
+ heap32[(r1+53)] = r8;
+}
+}
+ r2 = r6 << 2;
+ r6 = heap32[(r1+54)];
+ r2 = (r6 + r2)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = r0;
+ r2 = heap32[(r1+52)];
+ r2 = (r2 + 1)|0;
+ heap32[(r1+52)] = r2;
+}
+} while(0);
+ r1 = r3 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+8)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+51)];
+ r3 = heap32[(fp)];
+ r4 = r2 & 3;
+if(!(r4 !=0)) //_LBB660_5
+{
+ r4 = heapU8[r0+496];
+ r4 = r4 & 1;
+if(!(r4 != 0)) //_LBB660_5
+{
+ f0 = heapFloat[(r1+84)];
+ f1 = 0;
+if(!(f0 ==f1)) //_LBB660_4
+{
+ r4 = r3 >> 2;
+ f1 = 1;
+ f0 = f1/f0;
+ f1 = heapFloat[(r4+58)];
+ f2 = heapFloat[(r4+57)];
+ f3 = heapFloat[(r4+56)];
+ f3 = f3*f0;
+ f2 = f2*f0;
+ heapFloat[(r1+89)] = f3;
+ f0 = f1*f0;
+ heapFloat[(r1+90)] = f2;
+ heapFloat[(r1+91)] = f0;
+ heap32[(r1+92)] = 0;
+}
+ r4 = r3 >> 2;
+ heap32[(r1+93)] = heap32[(r4+56)];
+ heap32[(r1+94)] = heap32[(r4+57)];
+ heap32[(r1+95)] = heap32[(r4+58)];
+ heap32[(r1+96)] = heap32[(r4+59)];
+}
+}
+ r4 = heap32[(r1+48)];
+if(!(r4 ==0)) //_LBB660_32
+{
+ r4 = r2 & 1;
+_10: do {
+ if(r4 != 0) //_LBB660_28
+{
+ r4 = heap32[(r1+54)];
+ r4 = (r4 + -4)|0;
+ if(uint(r4) >uint(1)) //_LBB660_30
+{
+ heap32[(r1+54)] = 2;
+}
+else{
+break _10;
+}
+}
+else{
+ r2 = r3 >> 2;
+ r4 = heap32[(r2+53)];
+ r5 = heap32[(r2+52)];
+ if(r4 ==r5) //_LBB660_9
+{
+ r6 = 1;
+ r7 = r5 << 1;
+ r7 = r5 == 0 ? r6 : r7;
+if(!(r4 >=r7)) //_LBB660_8
+{
+ if(r7 !=0) //_LBB660_12
+{
+ r4 = gNumAlignedAllocs;
+ r4 = r4 >> 2;
+ r8 = heap32[(r4)];
+ r9 = r7 << 2;
+ r8 = (r8 + 1)|0;
+ r9 = r9 | 3;
+ heap32[(r4)] = r8;
+ r4 = (r9 + 16)|0;
+ heap32[(g0)] = r4;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB660_14
+{
+ r8 = 0;
+ r9 = (r4 + 4)|0;
+ r8 = (r8 - r9)|0;
+ r8 = r8 & 15;
+ r8 = (r4 + r8)|0;
+ r9 = (r8 + 4)|0;
+ r8 = r8 >> 2;
+ heap32[(r8)] = r4;
+ r4 = r9;
+}
+}
+else{
+ r4 = 0;
+}
+ r8 = (r3 + 216)|0;
+ if(r5 <1) //_LBB660_17
+{
+ r9 = r8 >> 2;
+ r10 = heap32[(r9)];
+}
+else{
+ r9 = 0;
+_25: while(true){
+ r10 = r8 >> 2;
+ r10 = heap32[(r10)];
+ r11 = r9 << 2;
+ r12 = (r10 + r11)|0;
+ r12 = r12 >> 2;
+ r11 = (r4 + r11)|0;
+ r12 = heap32[(r12)];
+ r9 = (r9 + 1)|0;
+ r11 = r11 >> 2;
+ heap32[(r11)] = r12;
+if(!(r5 !=r9)) //_LBB660_18
+{
+break _25;
+}
+}
+ r8 = (r3 + 216)|0;
+}
+ if(r10 !=0) //_LBB660_22
+{
+ r9 = heapU8[r3+220];
+ if(r9 !=0) //_LBB660_24
+{
+ r5 = gNumAlignedFree;
+ r5 = r5 >> 2;
+ r9 = heap32[(r5)];
+ r9 = (r9 + 1)|0;
+ r10 = r10 >> 2;
+ heap32[(r5)] = r9;
+ r5 = heap32[(r10+-1)];
+ heap32[(g0)] = r5;
+ free(i7);
+ r5 = heap32[(r2+52)];
+}
+ r9 = r8 >> 2;
+ heap32[(r9)] = 0;
+}
+ r8 = r8 >> 2;
+ heap8[r3+220] = r6;
+ heap32[(r8)] = r4;
+ heap32[(r2+53)] = r7;
+}
+}
+ r4 = r5 << 2;
+ r5 = heap32[(r2+54)];
+ r4 = (r5 + r4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r0;
+ r4 = heap32[(r2+52)];
+ r4 = (r4 + 1)|0;
+ heap32[(r2+52)] = r4;
+ r2 = heap32[(r1+51)];
+}
+} while(0);
+ r1 = r3 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+8)];
+ r4 = 2;
+ r5 = 1;
+ r2 = r2 & 3;
+ r6 = -3;
+ r7 = -1;
+ r4 = r2 != 0 ? r4 : r5;
+ r2 = r2 != 0 ? r6 : r7;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r0+56)] = heap32[(r1)];
+ heap32[(r0+57)] = heap32[(r1+1)];
+ heap32[(r0+58)] = heap32[(r1+2)];
+ heap32[(r0+59)] = heap32[(r1+3)];
+ r2 = heap32[(r0+52)];
+if(!(r2 <1)) //_LBB661_9
+{
+ r2 = 0;
+_3: while(true){
+ r3 = heap32[(r0+54)];
+ r4 = r2 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r4 = r3 >> 2;
+ r5 = heap32[(r4+54)];
+if(!(r5 ==2)) //_LBB661_8
+{
+if(!(r5 ==5)) //_LBB661_8
+{
+ r3 = heapU8[r3+496];
+ r3 = r3 & 1;
+if(!(r3 != 0)) //_LBB661_8
+{
+ f0 = heapFloat[(r4+84)];
+ f1 = 0;
+if(!(f0 ==f1)) //_LBB661_7
+{
+ f1 = 1;
+ f0 = f1/f0;
+ f1 = heapFloat[(r1+2)];
+ f2 = heapFloat[(r1+1)];
+ f3 = heapFloat[(r1)];
+ f3 = f3*f0;
+ f2 = f2*f0;
+ heapFloat[(r4+89)] = f3;
+ f0 = f1*f0;
+ heapFloat[(r4+90)] = f2;
+ heapFloat[(r4+91)] = f0;
+ heap32[(r4+92)] = 0;
+}
+ heap32[(r4+93)] = heap32[(r1)];
+ heap32[(r4+94)] = heap32[(r1+1)];
+ heap32[(r4+95)] = heap32[(r1+2)];
+ heap32[(r4+96)] = heap32[(r1+3)];
+}
+}
+}
+ r2 = (r2 + 1)|0;
+ r3 = heap32[(r0+52)];
+ if(r3 >r2) //_LBB661_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(r1+52)];
+ r4 = 0;
+_1: while(true){
+ if(r3 >r4) //_LBB662_1
+{
+ r5 = heap32[(r1+54)];
+ r6 = r4 << 2;
+ r5 = (r5 + r6)|0;
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ if(r5 !=r2) //_LBB662_3
+{
+ r4 = (r4 + 1)|0;
+continue _1;
+}
+else{
+__label__ = 5;
+break _1;
+}
+}
+else{
+__label__ = 4;
+break _1;
+}
+}
+if (__label__ == 4){
+ r4 = r3;
+}
+if(!(r3 <=r4)) //_LBB662_8
+{
+ r3 = (r3 + -1)|0;
+ r4 = r4 << 2;
+ r5 = heap32[(r1+54)];
+ r3 = r3 << 2;
+ r4 = (r5 + r4)|0;
+ r5 = (r5 + r3)|0;
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ r6 = heap32[(r4)];
+ r5 = heap32[(r5)];
+ heap32[(r4)] = r5;
+ r4 = heap32[(r1+54)];
+ r3 = (r4 + r3)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r6;
+ r3 = heap32[(r1+52)];
+ r3 = (r3 + -1)|0;
+ heap32[(r1+52)] = r3;
+}
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ _ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject(i7);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = heapU8[r0+232];
+ r2 = r2 & 2;
+if(!(r2 ==0)) //_LBB663_3
+{
+if(!(r0 ==0)) //_LBB663_3
+{
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+21)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ return;
+}
+}
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ _ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject(i7);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r3;
+ _ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss(i7);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld14stepSimulationEfif(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ _ZN15CProfileManager5ResetEv(i7);
+ r0 = _2E_str1299;
+ r1 = heap32[(fp+2)];
+ heap32[(g0)] = r0;
+ r0 = heap32[(fp)];
+ f0 = heapFloat[(fp+1)];
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ if(r1 ==0) //_LBB665_4
+{
+ r1 = r0 >> 2;
+ f1 = 0;
+ heapFloat[(r1+60)] = f0;
+ if(f0 <f1) //_LBB665_6
+{
+ f1 = -f0;
+}
+else{
+ f1 = f0;
+}
+ f2 = 1.1920928955078125e-007;
+ if(f1 >=f2) //_LBB665_9
+{
+ r1 = 1;
+ f1 = f0;
+ r3 = r1;
+}
+else{
+ r1 = 0;
+ f1 = f0;
+ r3 = r1;
+}
+}
+else{
+ f1 = heapFloat[(fp+3)];
+ r2 = r0 >> 2;
+ f2 = heapFloat[(r2+60)];
+ f0 = f2+f0;
+ heapFloat[(r2+60)] = f0;
+ if(f0 >=f1) //_LBB665_3
+{
+ f2 = f0/f1;
+ r3 = f2|0;
+ f2 = r3; //fitos r3, f2
+ f2 = f2*f1;
+ f0 = f0-f2;
+ heapFloat[(r2+60)] = f0;
+}
+else{
+ r3 = 0;
+}
+}
+ r2 = r0 >> 2;
+ r4 = heap32[(r2)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+if(!(r4 ==0)) //_LBB665_12
+{
+ r4 = heap32[(r2)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r5 = r_g0 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+12)];
+ heap32[(g0)] = r_g0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r4 = r_g0 >>> 4;
+ r5 = gDisableDeactivation;
+ r4 = r4 & 1;
+ heap8[r5] = r4;
+}
+ if(r3 ==0) //_LBB665_16
+{
+ r1 = heap32[(r2)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+19)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+}
+else{
+ r4 = heap32[(r2)];
+ r4 = r4 >> 2;
+ r5 = r3 > r1 ? r1 : r3;
+ r4 = heap32[(r4+38)];
+ f0 = r5; //fitos r5, f0
+ f0 = f0*f1;
+ heap32[(g0)] = r0;
+ heapFloat[(g0+1)] = f0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = heap32[(r2)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+40)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+if(!(r5 <1)) //_LBB665_17
+{
+ r4 = r3 ^ -1;
+ r1 = r1 ^ -1;
+ r1 = r4 > r1 ? r4 : r1;
+ r1 = r1 ^ -1;
+_22: while(true){
+ r4 = heap32[(r2)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+37)];
+ heap32[(g0)] = r0;
+ heapFloat[(g0+1)] = f1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = heap32[(r2)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+19)];
+ r1 = (r1 + -1)|0;
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ if(r1 ==0) //_LBB665_17
+{
+break _22;
+}
+else{
+continue _22;
+}
+}
+}
+}
+ r1 = heap32[(r2)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+28)];
+ heap32[(g0)] = r0;
+ r0 = _ZN15CProfileManager12FrameCounterE;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = _ZN15CProfileManager11CurrentNodeE;
+ r1 = (r1 + 1)|0;
+ r2 = r2 >> 2;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2)];
+ r1 = r0 >> 2;
+ r4 = heap32[(r1+4)];
+ r4 = (r4 + -1)|0;
+ heap32[(r1+4)] = r4;
+_25: do {
+if(!(r4 !=0)) //_LBB665_23
+{
+ r4 = heap32[(r1+1)];
+ if(r4 !=0) //_LBB665_20
+{
+ r0 = sp + -8;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ r4 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r0 = r0 >> 2;
+ r5 = heap32[(fp+-2)];
+ r6 = heap32[(r4)];
+ r5 = (r5 - r6)|0;
+ r0 = heap32[(r0+1)];
+ r4 = heap32[(r4+1)];
+ r0 = (r0 - r4)|0;
+ r4 = (r5 * 1000000)|0;
+ r0 = (r0 + r4)|0;
+ r4 = heap32[(r1+3)];
+ r0 = (r0 - r4)|0;
+ f0 = uint(r0); //fuitos r0, f0
+ f1 = 1000;
+ f2 = heapFloat[(r1+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r1+2)] = f0;
+ r0 = heap32[(r1+4)];
+ if(r0 !=0) //_LBB665_23
+{
+break _25;
+}
+else{
+ r0 = heap32[(r2)];
+}
+}
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+5)];
+ heap32[(r2)] = r0;
+}
+} while(0);
+ r_g0 = r3;
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld28synchronizeSingleMotionStateEP11btRigidBody(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+var __label__ = 0;
+ i7 = sp + -96;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ if(r0 !=0) //_LBB666_2
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+118)];
+if(!(r2 ==0)) //_LBB666_4
+{
+ r2 = heapU8[r0+204];
+ r2 = r2 & 3;
+ if(r2 ==0) //_LBB666_5
+{
+ r2 = heap32[(fp)];
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2+60)];
+ f1 = heapFloat[(r1+60)];
+ f2 = heapFloat[(r1+33)];
+ f3 = heapFloat[(r1+34)];
+ f4 = heapFloat[(r1+35)];
+ r2 = sp + -64;
+ r3 = (r0 + 68)|0;
+ r0 = (r0 + 148)|0;
+ f0 = f0*f1;
+ heap32[(g0)] = r3;
+ heapFloat[(g0+1)] = f2;
+ heapFloat[(g0+2)] = f3;
+ heapFloat[(g0+3)] = f4;
+ heap32[(g0+4)] = r0;
+ heapFloat[(g0+5)] = f0;
+ heap32[(g0+6)] = r2;
+ _ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(i7);
+ r0 = heap32[(r1+118)];
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ return;
+}
+}
+ return;
+}
+else{
+ r0 = _2E_str13100;
+ r1 = _2E_str1461;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 184;
+ _assert(i7);
+}
+}
+
+function _ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _2E_str1562;
+ heap32[(g0)] = r0;
+ r0 = heap32[(fp)];
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r1 = heapU8[r0+246];
+_1: do {
+ if(r1 !=0) //_LBB667_2
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+2)];
+if(!(r2 <1)) //_LBB667_13
+{
+ r2 = 0;
+_4: while(true){
+ r3 = heap32[(r1+4)];
+ r4 = r2 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r4 = heapU8[r3+232];
+ r4 = r4 & 2;
+if(!(r4 ==0)) //_LBB667_7
+{
+if(!(r3 ==0)) //_LBB667_7
+{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ _ZN23btDiscreteDynamicsWorld28synchronizeSingleMotionStateEP11btRigidBody(i7);
+}
+}
+ r2 = (r2 + 1)|0;
+ r3 = heap32[(r1+2)];
+ if(r3 >r2) //_LBB667_4
+{
+continue _4;
+}
+else{
+break _1;
+}
+}
+}
+}
+else{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+52)];
+ if(r2 >0) //_LBB667_8
+{
+ r2 = 0;
+_12: while(true){
+ r3 = heap32[(r1+54)];
+ r4 = r2 << 2;
+ r3 = (r3 + r4)|0;
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r4 = r3 >> 2;
+ r4 = heap32[(r4+54)];
+if(!(r4 ==2)) //_LBB667_12
+{
+if(!(r4 ==5)) //_LBB667_12
+{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ _ZN23btDiscreteDynamicsWorld28synchronizeSingleMotionStateEP11btRigidBody(i7);
+}
+}
+ r2 = (r2 + 1)|0;
+ r3 = heap32[(r1+52)];
+ if(r3 >r2) //_LBB667_9
+{
+continue _12;
+}
+else{
+break _1;
+}
+}
+}
+}
+} while(0);
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_19: do {
+if(!(r3 !=0)) //_LBB667_19
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB667_16
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB667_19
+{
+break _19;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld12applyGravityEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+52)];
+if(!(r1 <1)) //_LBB668_7
+{
+ r1 = 0;
+_3: while(true){
+ r2 = heap32[(r0+54)];
+ r3 = r1 << 2;
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+54)];
+if(!(r4 ==2)) //_LBB668_6
+{
+if(!(r4 ==5)) //_LBB668_6
+{
+ r2 = heapU8[r2+204];
+ r2 = r2 & 3;
+if(!(r2 !=0)) //_LBB668_6
+{
+ f0 = heapFloat[(r3+89)];
+ f1 = heapFloat[(r3+85)];
+ f0 = f0*f1;
+ f1 = heapFloat[(r3+101)];
+ f2 = heapFloat[(r3+91)];
+ f3 = heapFloat[(r3+87)];
+ f4 = heapFloat[(r3+90)];
+ f5 = heapFloat[(r3+86)];
+ f0 = f1+f0;
+ heapFloat[(r3+101)] = f0;
+ f0 = f4*f5;
+ f1 = heapFloat[(r3+102)];
+ f0 = f1+f0;
+ heapFloat[(r3+102)] = f0;
+ f0 = f2*f3;
+ f1 = heapFloat[(r3+103)];
+ f0 = f1+f0;
+ heapFloat[(r3+103)] = f0;
+}
+}
+}
+ r1 = (r1 + 1)|0;
+ r2 = heap32[(r0+52)];
+ if(r2 >r1) //_LBB668_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld14debugDrawWorldEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+ var f20;
+ var f21;
+ var f22;
+ var f23;
+ var f24;
+ var f25;
+ var f26;
+ var f27;
+ var f28;
+ var f29;
+ var f30;
+var __label__ = 0;
+ i7 = sp + -824;var g0 = i7>>2; // save stack
+ r0 = _2E_str16101;
+ heap32[(g0)] = r0;
+ _ZN15CProfileManager13Start_ProfileEPKc(i7);
+ r0 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ _ZN16btCollisionWorld14debugDrawWorldEv(i7);
+ r1 = r0 >> 2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+if(!(r2 ==0)) //_LBB669_53
+{
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r3 = r_g0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+12)];
+ heap32[(g0)] = r_g0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = r_g0 & 6144;
+if(!(r2 ==0)) //_LBB669_53
+{
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+24)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r3 = (r2 + -1)|0;
+if(!(r3 <0)) //_LBB669_53
+{
+ r3 = sp + -296;
+ r4 = sp + -392;
+ r5 = (r3 + 48)|0;
+ r6 = (r4 + 48)|0;
+ r2 = (r2 + -1)|0;
+_5: while(true){
+ r7 = r2;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+25)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r9 = r_g0 >> 2;
+ r9 = heap32[(r9)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+12)];
+ heap32[(g0)] = r_g0;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r8 = r_g0;
+ r9 = heap32[(r1)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r10 = r_g0 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+12)];
+ heap32[(g0)] = r_g0;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+ r9 = r_g0;
+ r10 = r2 >> 2;
+ f0 = heapFloat[(r10+8)];
+ heapFloat[(fp+-191)] = f0;
+ f1 = 0;
+ heapFloat[(fp+-192)] = f1;
+_7: do {
+if(!(f0 <=f1)) //_LBB669_52
+{
+ r8 = r8 >>> 11;
+ r9 = r9 >>> 12;
+ r8 = r8 & 1;
+ r9 = r9 & 1;
+ r10 = r2 >> 2;
+ r11 = heap32[(r10+1)];
+ if(r11 >4) //_LBB669_8
+{
+ if(r11 ==5) //_LBB669_20
+{
+ r11 = heap32[(r10+5)];
+ r11 = r11 >> 2;
+ f0 = heapFloat[(r11+1)];
+ f1 = heapFloat[(r10+72)];
+ f2 = heapFloat[(r11+2)];
+ f3 = heapFloat[(r10+76)];
+ f4 = heapFloat[(r10+73)];
+ f5 = heapFloat[(r10+77)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r11+3)];
+ f9 = heapFloat[(r10+80)];
+ f10 = heapFloat[(r11+9)];
+ f11 = heapFloat[(r10+84)];
+ f12 = heapFloat[(r11+5)];
+ f13 = heapFloat[(r10+74)];
+ f14 = heapFloat[(r11+10)];
+ f15 = heapFloat[(r10+85)];
+ f16 = heapFloat[(r11+6)];
+ f17 = heapFloat[(r10+78)];
+ f18 = heapFloat[(r11+11)];
+ f19 = heapFloat[(r10+86)];
+ f20 = heapFloat[(r11+7)];
+ f21 = heapFloat[(r10+82)];
+ f22 = heapFloat[(r10+81)];
+ f23 = f4*f0;
+ f24 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ f25 = heapFloat[(r11+15)];
+ f26 = heapFloat[(r11+14)];
+ f27 = heapFloat[(r11+13)];
+ f28 = f13*f0;
+ f29 = f17*f2;
+ f23 = f23+f24;
+ f24 = f22*f8;
+ f6 = f6+f7;
+ r11 = r4 >> 2;
+ f7 = f28+f29;
+ f28 = f21*f8;
+ f23 = f23+f24;
+ heapFloat[(fp+-98)] = f6;
+ f6 = f1*f12;
+ f24 = f3*f16;
+ f7 = f7+f28;
+ heapFloat[(r11+1)] = f23;
+ heapFloat[(r11+2)] = f7;
+ f7 = f4*f12;
+ f23 = f5*f16;
+ f6 = f6+f24;
+ f24 = f9*f20;
+ f28 = f13*f12;
+ f29 = f17*f16;
+ f7 = f7+f23;
+ f23 = f22*f20;
+ f6 = f6+f24;
+ heap32[(r11+3)] = 0;
+ f24 = f28+f29;
+ f28 = f21*f20;
+ f7 = f7+f23;
+ heapFloat[(r11+4)] = f6;
+ f1 = f1*f10;
+ f3 = f3*f14;
+ f6 = f24+f28;
+ heapFloat[(r11+5)] = f7;
+ heapFloat[(r11+6)] = f6;
+ f4 = f4*f10;
+ f5 = f5*f14;
+ f1 = f1+f3;
+ f3 = f9*f18;
+ f6 = f13*f10;
+ f7 = f17*f14;
+ f4 = f4+f5;
+ f5 = f22*f18;
+ f1 = f1+f3;
+ heap32[(r11+7)] = 0;
+ f0 = f0*f11;
+ f2 = f2*f15;
+ f3 = f6+f7;
+ f6 = f21*f18;
+ f4 = f4+f5;
+ heapFloat[(r11+8)] = f1;
+ f1 = f12*f11;
+ f5 = f16*f15;
+ f0 = f0+f2;
+ f2 = f8*f19;
+ f3 = f3+f6;
+ heapFloat[(r11+9)] = f4;
+ f0 = f0+f2;
+ heapFloat[(r11+10)] = f3;
+ f2 = f10*f11;
+ f3 = f14*f15;
+ f1 = f1+f5;
+ f4 = f20*f19;
+ f1 = f1+f4;
+ f2 = f2+f3;
+ f3 = f18*f19;
+ f0 = f0+f27;
+ heap32[(r11+11)] = 0;
+ f2 = f2+f3;
+ f1 = f1+f26;
+ heapFloat[(r11+12)] = f0;
+ f0 = f2+f25;
+ heapFloat[(r11+13)] = f1;
+ heapFloat[(r11+14)] = f0;
+ heap32[(r11+15)] = 0;
+if(!(r8 ==0)) //_LBB669_22
+{
+ r12 = heap32[(r1)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+ r13 = r_g0 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+14)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r4;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+2)] = f0;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+}
+ r12 = heap32[(r10+6)];
+ r12 = r12 >> 2;
+ f0 = heapFloat[(r12+1)];
+ f1 = heapFloat[(r10+88)];
+ f2 = heapFloat[(r12+2)];
+ f3 = heapFloat[(r10+92)];
+ f4 = heapFloat[(r10+89)];
+ f5 = heapFloat[(r10+93)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r12+3)];
+ f9 = heapFloat[(r10+96)];
+ f10 = heapFloat[(r12+9)];
+ f11 = heapFloat[(r10+100)];
+ f12 = heapFloat[(r12+5)];
+ f13 = heapFloat[(r10+90)];
+ f14 = heapFloat[(r12+10)];
+ f15 = heapFloat[(r10+101)];
+ f16 = heapFloat[(r12+6)];
+ f17 = heapFloat[(r10+94)];
+ f18 = heapFloat[(r12+11)];
+ f19 = heapFloat[(r10+102)];
+ f20 = heapFloat[(r12+7)];
+ f21 = heapFloat[(r10+98)];
+ f22 = heapFloat[(r10+97)];
+ f23 = f4*f0;
+ f24 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ f25 = heapFloat[(r12+15)];
+ f26 = heapFloat[(r12+14)];
+ f27 = heapFloat[(r12+13)];
+ f28 = f13*f0;
+ f29 = f17*f2;
+ f23 = f23+f24;
+ f24 = f22*f8;
+ f6 = f6+f7;
+ f7 = f28+f29;
+ f28 = f21*f8;
+ f23 = f23+f24;
+ heapFloat[(fp+-98)] = f6;
+ f6 = f1*f12;
+ f24 = f3*f16;
+ f7 = f7+f28;
+ heapFloat[(r11+1)] = f23;
+ heapFloat[(r11+2)] = f7;
+ f7 = f4*f12;
+ f23 = f5*f16;
+ f6 = f6+f24;
+ f24 = f9*f20;
+ f28 = f13*f12;
+ f29 = f17*f16;
+ f7 = f7+f23;
+ f23 = f22*f20;
+ f6 = f6+f24;
+ heap32[(r11+3)] = 0;
+ f24 = f28+f29;
+ f28 = f21*f20;
+ f7 = f7+f23;
+ heapFloat[(r11+4)] = f6;
+ f1 = f1*f10;
+ f3 = f3*f14;
+ f6 = f24+f28;
+ heapFloat[(r11+5)] = f7;
+ heapFloat[(r11+6)] = f6;
+ f4 = f4*f10;
+ f5 = f5*f14;
+ f1 = f1+f3;
+ f3 = f9*f18;
+ f6 = f13*f10;
+ f7 = f17*f14;
+ f4 = f4+f5;
+ f5 = f22*f18;
+ f1 = f1+f3;
+ heap32[(r11+7)] = 0;
+ f0 = f0*f11;
+ f2 = f2*f15;
+ f3 = f6+f7;
+ f6 = f21*f18;
+ f4 = f4+f5;
+ heapFloat[(r11+8)] = f1;
+ f1 = f12*f11;
+ f5 = f16*f15;
+ f0 = f0+f2;
+ f2 = f8*f19;
+ f3 = f3+f6;
+ heapFloat[(r11+9)] = f4;
+ f0 = f0+f2;
+ heapFloat[(r11+10)] = f3;
+ f2 = f10*f11;
+ f3 = f14*f15;
+ f1 = f1+f5;
+ f4 = f20*f19;
+ f1 = f1+f4;
+ f2 = f2+f3;
+ f3 = f18*f19;
+ f0 = f0+f27;
+ heap32[(r11+11)] = 0;
+ f2 = f2+f3;
+ f1 = f1+f26;
+ heapFloat[(r11+12)] = f0;
+ f0 = f2+f25;
+ heapFloat[(r11+13)] = f1;
+ heapFloat[(r11+14)] = f0;
+ heap32[(r11+15)] = 0;
+if(!(r8 ==0)) //_LBB669_24
+{
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r12 = r_g0 >> 2;
+ r12 = heap32[(r12)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+14)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r4;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+2)] = f0;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+}
+ if(r9 ==0) //_LBB669_52
+{
+break _7;
+}
+else{
+ r8 = sp + -408;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 1086506843;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+3)] = f0;
+ _ZNK21btConeTwistConstraint16GetPointForAngleEff(i7);
+ r9 = r8 >> 2;
+ f0 = heapFloat[(fp+-102)];
+ f1 = heapFloat[(fp+-98)];
+ f2 = heapFloat[(r9+1)];
+ f3 = heapFloat[(r11+1)];
+ f4 = heapFloat[(r11+4)];
+ f5 = heapFloat[(r11+5)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r9+2)];
+ f7 = heapFloat[(r11+2)];
+ f8 = heapFloat[(r11+8)];
+ f9 = heapFloat[(r11+9)];
+ f10 = heapFloat[(r11+6)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r11+10)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r11+12)];
+ f8 = heapFloat[(r11+14)];
+ f9 = heapFloat[(r11+13)];
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ f2 = f4+f9;
+ heapFloat[(fp+-102)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r9+1)] = f2;
+ r12 = 0;
+ heapFloat[(r9+2)] = f0;
+ heap32[(r9+3)] = 0;
+_20: while(true){
+ f0 = r12; //fitos r12, f0
+ f1 = 6.2831850051879883;
+ f0 = f0*f1;
+ f1 = 32;
+ r13 = sp + -472;
+ f0 = f0/f1;
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r2;
+ heapFloat[(g0+2)] = f0;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+3)] = f0;
+ _ZNK21btConeTwistConstraint16GetPointForAngleEff(i7);
+ r14 = r13 >> 2;
+ f0 = heapFloat[(fp+-118)];
+ f1 = heapFloat[(fp+-98)];
+ f2 = heapFloat[(r14+1)];
+ f3 = heapFloat[(r11+1)];
+ f4 = heapFloat[(r11+4)];
+ f5 = heapFloat[(r11+5)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r14+2)];
+ f7 = heapFloat[(r11+2)];
+ f8 = heapFloat[(r11+8)];
+ f9 = heapFloat[(r11+9)];
+ f10 = heapFloat[(r11+6)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r11+10)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r11+12)];
+ f8 = heapFloat[(r11+14)];
+ f9 = heapFloat[(r11+13)];
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ f2 = f4+f9;
+ heapFloat[(fp+-118)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r14+1)] = f2;
+ heapFloat[(r14+2)] = f0;
+ heap32[(r14+3)] = 0;
+ r15 = heap32[(r1)];
+ r15 = r15 >> 2;
+ r15 = heap32[(r15+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r15)>>2](i7);
+ r16 = r_g0 >> 2;
+ r16 = heap32[(r16)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+2)];
+ r17 = sp + -152;
+ r18 = r17 >> 2;
+ heap32[(fp+-38)] = 0;
+ heap32[(r18+1)] = 0;
+ heap32[(r18+2)] = 0;
+ heap32[(r18+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = r17;
+ r15 = r12 & 3;
+ __FUNCTION_TABLE__[(r16)>>2](i7);
+if(!(r15 !=0)) //_LBB669_28
+{
+ r15 = heap32[(r1)];
+ r15 = r15 >> 2;
+ r15 = heap32[(r15+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r15)>>2](i7);
+ r16 = r_g0 >> 2;
+ r16 = heap32[(r16)];
+ r16 = r16 >> 2;
+ r16 = heap32[(r16+2)];
+ r17 = sp + -136;
+ r18 = r17 >> 2;
+ heap32[(fp+-34)] = 0;
+ heap32[(r18+1)] = 0;
+ heap32[(r18+2)] = 0;
+ heap32[(r18+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = r17;
+ __FUNCTION_TABLE__[(r16)>>2](i7);
+}
+ heap32[(fp+-102)] = heap32[(fp+-118)];
+ heap32[(r9+1)] = heap32[(r14+1)];
+ r12 = (r12 + 1)|0;
+ heap32[(r9+2)] = heap32[(r14+2)];
+ heap32[(r9+3)] = heap32[(r14+3)];
+if(!(r12 !=32)) //_LBB669_26
+{
+break _20;
+}
+}
+ r2 = heap32[(r10+6)];
+ f0 = heapFloat[(r10+110)];
+ heapFloat[(fp+-193)] = f0;
+ f0 = heapFloat[(r10+125)];
+ heapFloat[(fp+-194)] = f0;
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2+84)];
+ f1 = heapFloat[(fp+-192)];
+ if(f0 <=f1) //_LBB669_31
+{
+ r2 = heap32[(r10+5)];
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r10+84)];
+ f1 = heapFloat[(r2+9)];
+ f2 = heapFloat[(r2+5)];
+ f3 = heapFloat[(r2+1)];
+ f4 = heapFloat[(r10+85)];
+ f5 = heapFloat[(r2+10)];
+ f6 = heapFloat[(r2+6)];
+ f8 = heapFloat[(r2+2)];
+ f12 = heapFloat[(r10+74)];
+ f13 = heapFloat[(r10+78)];
+ f14 = heapFloat[(r10+73)];
+ f15 = heapFloat[(r10+77)];
+ f7 = heapFloat[(r10+72)];
+ f9 = heapFloat[(r10+76)];
+ f10 = f1*f0;
+ f11 = f5*f4;
+ f16 = f2*f0;
+ f17 = f6*f4;
+ f0 = f3*f0;
+ f4 = f8*f4;
+ f18 = heapFloat[(r10+86)];
+ f19 = heapFloat[(r2+11)];
+ f20 = heapFloat[(r2+7)];
+ f21 = heapFloat[(r2+3)];
+ f22 = heapFloat[(r10+82)];
+ f23 = heapFloat[(r10+81)];
+ f24 = heapFloat[(r10+80)];
+ f10 = f10+f11;
+ f11 = f19*f18;
+ f16 = f16+f17;
+ f17 = f20*f18;
+ f0 = f0+f4;
+ heapFloat[(fp+-192)] = f0;
+ f4 = f21*f18;
+ f18 = f12*f1;
+ f25 = f13*f5;
+ f26 = f14*f1;
+ f27 = f15*f5;
+ f1 = f7*f1;
+ f5 = f9*f5;
+ f28 = f12*f2;
+ f29 = f13*f6;
+ f30 = f14*f2;
+ f0 = f15*f6;
+ f2 = f7*f2;
+ f6 = f9*f6;
+ f12 = f12*f3;
+ f13 = f13*f8;
+ f14 = f14*f3;
+ f15 = f15*f8;
+ f3 = f7*f3;
+ f8 = f9*f8;
+ f7 = f10+f11;
+ f9 = heapFloat[(r2+15)];
+ f10 = f16+f17;
+ f11 = heapFloat[(r2+14)];
+ f16 = heapFloat[(fp+-192)];
+ f4 = f16+f4;
+ f16 = heapFloat[(r2+13)];
+ f17 = f18+f25;
+ f18 = f22*f19;
+ f25 = f26+f27;
+ f26 = f23*f19;
+ f1 = f1+f5;
+ f5 = f24*f19;
+ f19 = f28+f29;
+ f27 = f22*f20;
+ f0 = f30+f0;
+ f28 = f23*f20;
+ f2 = f2+f6;
+ f6 = f24*f20;
+ f20 = f12+f13;
+ f22 = f22*f21;
+ f29 = f14+f15;
+ f23 = f23*f21;
+ f3 = f3+f8;
+ f21 = f24*f21;
+ f12 = f7+f9;
+ f13 = f10+f11;
+ f4 = f4+f16;
+ f14 = f17+f18;
+ f15 = f25+f26;
+ f1 = f1+f5;
+ f5 = f19+f27;
+ f0 = f0+f28;
+ f2 = f2+f6;
+ f6 = f20+f22;
+ f8 = f29+f23;
+ f3 = f3+f21;
+}
+else{
+ f0 = heapFloat[(r10+100)];
+ f1 = heapFloat[(r2+9)];
+ f2 = heapFloat[(r2+5)];
+ f3 = heapFloat[(r2+1)];
+ f4 = heapFloat[(r10+101)];
+ f5 = heapFloat[(r2+10)];
+ f6 = heapFloat[(r2+6)];
+ f7 = heapFloat[(r2+2)];
+ f8 = heapFloat[(r10+90)];
+ f9 = heapFloat[(r10+94)];
+ f10 = heapFloat[(r10+89)];
+ f11 = heapFloat[(r10+93)];
+ f12 = heapFloat[(r10+88)];
+ f13 = heapFloat[(r10+92)];
+ f14 = f1*f0;
+ f15 = f5*f4;
+ f16 = f2*f0;
+ f17 = f6*f4;
+ f0 = f3*f0;
+ f4 = f7*f4;
+ f18 = heapFloat[(r10+102)];
+ f19 = heapFloat[(r2+11)];
+ f20 = heapFloat[(r2+7)];
+ f21 = heapFloat[(r2+3)];
+ f22 = heapFloat[(r10+98)];
+ f23 = heapFloat[(r10+97)];
+ f24 = heapFloat[(r10+96)];
+ f14 = f14+f15;
+ f15 = f19*f18;
+ f16 = f16+f17;
+ f17 = f20*f18;
+ f0 = f0+f4;
+ heapFloat[(fp+-192)] = f0;
+ f4 = f21*f18;
+ f18 = f8*f1;
+ f25 = f9*f5;
+ f26 = f10*f1;
+ f27 = f11*f5;
+ f1 = f12*f1;
+ f5 = f13*f5;
+ f28 = f8*f2;
+ f29 = f9*f6;
+ f30 = f10*f2;
+ f0 = f11*f6;
+ f2 = f12*f2;
+ f6 = f13*f6;
+ f8 = f8*f3;
+ f9 = f9*f7;
+ f10 = f10*f3;
+ f11 = f11*f7;
+ f3 = f12*f3;
+ f7 = f13*f7;
+ f12 = f14+f15;
+ f13 = heapFloat[(r2+15)];
+ f14 = f16+f17;
+ f15 = heapFloat[(r2+14)];
+ f16 = heapFloat[(fp+-192)];
+ f4 = f16+f4;
+ f16 = heapFloat[(r2+13)];
+ f17 = f18+f25;
+ f18 = f22*f19;
+ f25 = f26+f27;
+ f26 = f23*f19;
+ f1 = f1+f5;
+ f5 = f24*f19;
+ f19 = f28+f29;
+ f27 = f22*f20;
+ f0 = f30+f0;
+ f28 = f23*f20;
+ f2 = f2+f6;
+ f6 = f24*f20;
+ f8 = f8+f9;
+ f9 = f22*f21;
+ f10 = f10+f11;
+ f11 = f23*f21;
+ f3 = f3+f7;
+ f7 = f24*f21;
+ f12 = f12+f13;
+ f13 = f14+f15;
+ f4 = f4+f16;
+ f14 = f17+f18;
+ f15 = f25+f26;
+ f1 = f1+f5;
+ f5 = f19+f27;
+ f0 = f0+f28;
+ f2 = f2+f6;
+ f6 = f8+f9;
+ f8 = f10+f11;
+ f3 = f3+f7;
+}
+ heapFloat[(fp+-98)] = f3;
+ heapFloat[(r11+1)] = f8;
+ heapFloat[(r11+2)] = f6;
+ heap32[(r11+3)] = 0;
+ heapFloat[(r11+4)] = f2;
+ heapFloat[(r11+5)] = f0;
+ heapFloat[(r11+6)] = f5;
+ heap32[(r11+7)] = 0;
+ heapFloat[(r11+8)] = f1;
+ heapFloat[(r11+9)] = f15;
+ heapFloat[(r11+10)] = f14;
+ heap32[(r11+11)] = 0;
+ heapFloat[(r11+12)] = f4;
+ heapFloat[(r11+13)] = f13;
+ heapFloat[(r11+14)] = f12;
+ r2 = sp + -424;
+ heap32[(r11+15)] = 0;
+ r8 = r2 >> 2;
+ heapFloat[(fp+-106)] = f4;
+ heapFloat[(r8+1)] = f13;
+ heapFloat[(r8+2)] = f12;
+ r9 = sp + -440;
+ heap32[(r8+3)] = 0;
+ r8 = r9 >> 2;
+ heapFloat[(fp+-110)] = f3;
+ heapFloat[(r8+1)] = f2;
+ heapFloat[(r8+2)] = f1;
+ r10 = sp + -456;
+ heap32[(r8+3)] = 0;
+ r8 = r10 >> 2;
+ heapFloat[(fp+-114)] = f8;
+ heapFloat[(r8+1)] = f0;
+ heapFloat[(r8+2)] = f15;
+ heap32[(r8+3)] = 0;
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r11 = r_g0 >> 2;
+ r11 = heap32[(r11)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+15)];
+ r12 = sp + -120;
+ r13 = r12 >> 2;
+ heap32[(fp+-30)] = 0;
+ heap32[(r13+1)] = 0;
+ heap32[(r13+2)] = 0;
+ heap32[(r13+3)] = 0;
+ f0 = heapFloat[(fp+-194)];
+ f1 = -f0;
+ f2 = heapFloat[(fp+-193)];
+ f1 = f1-f2;
+ f0 = f2-f0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r10;
+ f2 = heapFloat[(fp+-191)];
+ heapFloat[(g0+4)] = f2;
+ heapFloat[(g0+5)] = f2;
+ heapFloat[(g0+6)] = f1;
+ heapFloat[(g0+7)] = f0;
+ heap32[(g0+8)] = r12;
+ heap32[(g0+9)] = 1;
+ heap32[(g0+10)] = 1092616192;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+}
+}
+else{
+ if(r11 ==6) //_LBB669_33
+{
+ r11 = sp + -536;
+ r12 = r11 >> 2;
+ heap32[(fp+-134)] = heap32[(r10+263)];
+ heap32[(r12+1)] = heap32[(r10+264)];
+ heap32[(r12+2)] = heap32[(r10+265)];
+ heap32[(r12+3)] = heap32[(r10+266)];
+ heap32[(r12+4)] = heap32[(r10+267)];
+ heap32[(r12+5)] = heap32[(r10+268)];
+ heap32[(r12+6)] = heap32[(r10+269)];
+ heap32[(r12+7)] = heap32[(r10+270)];
+ heap32[(r12+8)] = heap32[(r10+271)];
+ heap32[(r12+9)] = heap32[(r10+272)];
+ heap32[(r12+10)] = heap32[(r10+273)];
+ heap32[(r12+11)] = heap32[(r10+274)];
+ heap32[(r12+12)] = heap32[(r10+275)];
+ heap32[(r12+13)] = heap32[(r10+276)];
+ heap32[(r12+14)] = heap32[(r10+277)];
+ heap32[(r12+15)] = heap32[(r10+278)];
+if(!(r8 ==0)) //_LBB669_35
+{
+ r13 = heap32[(r1)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ r14 = r_g0 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+14)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r11;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+2)] = f0;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+}
+ heap32[(fp+-134)] = heap32[(r10+279)];
+ heap32[(r12+1)] = heap32[(r10+280)];
+ heap32[(r12+2)] = heap32[(r10+281)];
+ heap32[(r12+3)] = heap32[(r10+282)];
+ heap32[(r12+4)] = heap32[(r10+283)];
+ heap32[(r12+5)] = heap32[(r10+284)];
+ heap32[(r12+6)] = heap32[(r10+285)];
+ heap32[(r12+7)] = heap32[(r10+286)];
+ heap32[(r12+8)] = heap32[(r10+287)];
+ heap32[(r12+9)] = heap32[(r10+288)];
+ heap32[(r12+10)] = heap32[(r10+289)];
+ heap32[(r12+11)] = heap32[(r10+290)];
+ heap32[(r12+12)] = heap32[(r10+291)];
+ heap32[(r12+13)] = heap32[(r10+292)];
+ heap32[(r12+14)] = heap32[(r10+293)];
+ heap32[(r12+15)] = heap32[(r10+294)];
+if(!(r8 ==0)) //_LBB669_37
+{
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r13 = r_g0 >> 2;
+ r13 = heap32[(r13)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+14)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r11;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+2)] = f0;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+}
+ if(r9 ==0) //_LBB669_52
+{
+break _7;
+}
+else{
+ r2 = (r2 + 1164)|0;
+ f0 = heapFloat[(r10+263)];
+ heapFloat[(fp+-134)] = f0;
+ heap32[(r12+1)] = heap32[(r10+264)];
+ f1 = heapFloat[(r10+265)];
+ heapFloat[(r12+2)] = f1;
+ heap32[(r12+3)] = heap32[(r10+266)];
+ f2 = heapFloat[(r10+267)];
+ heapFloat[(r12+4)] = f2;
+ heap32[(r12+5)] = heap32[(r10+268)];
+ f3 = heapFloat[(r10+269)];
+ heapFloat[(r12+6)] = f3;
+ heap32[(r12+7)] = heap32[(r10+270)];
+ f4 = heapFloat[(r10+271)];
+ heapFloat[(r12+8)] = f4;
+ heap32[(r12+9)] = heap32[(r10+272)];
+ f5 = heapFloat[(r10+273)];
+ heapFloat[(r12+10)] = f5;
+ heap32[(r12+11)] = heap32[(r10+274)];
+ heap32[(r12+12)] = heap32[(r10+275)];
+ heap32[(r12+13)] = heap32[(r10+276)];
+ heap32[(r12+14)] = heap32[(r10+277)];
+ r8 = sp + -552;
+ heap32[(r12+15)] = heap32[(r10+278)];
+ r9 = r8 >> 2;
+ heapFloat[(fp+-138)] = f1;
+ heapFloat[(r9+1)] = f3;
+ heapFloat[(r9+2)] = f5;
+ heap32[(r9+3)] = 0;
+ r9 = sp + -568;
+ heapFloat[(fp+-142)] = f0;
+ r13 = r9 >> 2;
+ heapFloat[(r13+1)] = f2;
+ heapFloat[(r13+2)] = f4;
+ heap32[(r13+3)] = 0;
+ r14 = heap32[(r1)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+4)];
+ f0 = heapFloat[(r10+230)];
+ f1 = heapFloat[(r10+231)];
+ f2 = heapFloat[(r10+246)];
+ f3 = heapFloat[(r10+247)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ r15 = r_g0 >> 2;
+ r15 = heap32[(r15)];
+ r15 = r15 >> 2;
+ r15 = heap32[(r15+16)];
+ r16 = sp + -104;
+ r17 = r16 >> 2;
+ heap32[(fp+-26)] = 0;
+ heap32[(r17+1)] = 0;
+ heap32[(r17+2)] = 0;
+ heap32[(r17+3)] = 0;
+ f4 = 0.89999997615814209;
+ f5 = heapFloat[(fp+-191)];
+ f4 = f5*f4;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r9;
+ heapFloat[(g0+4)] = f4;
+ heapFloat[(g0+5)] = f0;
+ heapFloat[(g0+6)] = f1;
+ heapFloat[(g0+7)] = f2;
+ heapFloat[(g0+8)] = f3;
+ heap32[(g0+9)] = r16;
+ heap32[(g0+10)] = 1092616192;
+ __FUNCTION_TABLE__[(r15)>>2](i7);
+ f0 = heapFloat[(r12+9)];
+ f1 = heapFloat[(r12+5)];
+ heap32[(fp+-142)] = heap32[(r12+1)];
+ heapFloat[(r13+1)] = f1;
+ heapFloat[(r13+2)] = f0;
+ heap32[(r13+3)] = 0;
+ f0 = heapFloat[(r10+296)];
+ f1 = heapFloat[(r10+297)];
+ heapFloat[(g0)] = f0;
+ cosf(i7);
+ f2 = f_g0;
+ heapFloat[(g0)] = f0;
+ sinf(i7);
+ f0 = f_g0;
+ heapFloat[(g0)] = f1;
+ cosf(i7);
+ f3 = f_g0;
+ heapFloat[(g0)] = f1;
+ sinf(i7);
+ f4 = heapFloat[(fp+-142)];
+ f5 = f2*f3;
+ f6 = heapFloat[(r13+1)];
+ f7 = f2*f_g0;
+ f8 = heapFloat[(r13+2)];
+ f5 = f5*f4;
+ f7 = f7*f6;
+ f9 = f3*f0;
+ f10 = f_g0*f0;
+ f5 = f5+f7;
+ f0 = f8*f0;
+ r8 = sp + -584;
+ f7 = f9*f4;
+ f9 = f10*f6;
+ f3 = f6*f3;
+ f1 = f4*f_g0;
+ f0 = f5-f0;
+ r9 = r8 >> 2;
+ f4 = f7+f9;
+ f2 = f8*f2;
+ f1 = f3-f1;
+ heapFloat[(fp+-146)] = f0;
+ f0 = f4+f2;
+ heapFloat[(r9+1)] = f1;
+ heapFloat[(r9+2)] = f0;
+ f0 = heapFloat[(r10+279)];
+ heapFloat[(fp+-134)] = f0;
+ heap32[(r12+1)] = heap32[(r10+280)];
+ heap32[(r12+2)] = heap32[(r10+281)];
+ heap32[(r12+3)] = heap32[(r10+282)];
+ f1 = heapFloat[(r10+283)];
+ heapFloat[(r12+4)] = f1;
+ heap32[(r12+5)] = heap32[(r10+284)];
+ heap32[(r12+6)] = heap32[(r10+285)];
+ heap32[(r12+7)] = heap32[(r10+286)];
+ f2 = heapFloat[(r10+287)];
+ heapFloat[(r12+8)] = f2;
+ heap32[(r12+9)] = heap32[(r10+288)];
+ heap32[(r12+10)] = heap32[(r10+289)];
+ heap32[(r12+11)] = heap32[(r10+290)];
+ heap32[(r12+12)] = heap32[(r10+291)];
+ heap32[(r12+13)] = heap32[(r10+292)];
+ heap32[(r12+14)] = heap32[(r10+293)];
+ r9 = sp + -600;
+ f0 = -f0;
+ heap32[(r12+15)] = heap32[(r10+294)];
+ r13 = r9 >> 2;
+ f1 = -f1;
+ heapFloat[(fp+-150)] = f0;
+ f0 = -f2;
+ heapFloat[(r13+1)] = f1;
+ heapFloat[(r13+2)] = f0;
+ heap32[(r13+3)] = 0;
+ f0 = heapFloat[(r10+214)];
+ f1 = heapFloat[(r10+215)];
+ if(f0 <=f1) //_LBB669_40
+{
+if(!(f0 >=f1)) //_LBB669_42
+{
+ r13 = heap32[(r1)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ r14 = r_g0 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+15)];
+ r15 = sp + -72;
+ r16 = r15 >> 2;
+ heap32[(fp+-18)] = 0;
+ heap32[(r16+1)] = 0;
+ heap32[(r16+2)] = 0;
+ heap32[(r16+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r8;
+ f2 = heapFloat[(fp+-191)];
+ heapFloat[(g0+4)] = f2;
+ heapFloat[(g0+5)] = f2;
+ heapFloat[(g0+6)] = f0;
+ heapFloat[(g0+7)] = f1;
+ heap32[(g0+8)] = r15;
+ heap32[(g0+9)] = 1;
+ heap32[(g0+10)] = 1092616192;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+}
+}
+else{
+ r13 = heap32[(r1)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ r14 = r_g0 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+15)];
+ r15 = sp + -88;
+ r16 = r15 >> 2;
+ heap32[(fp+-22)] = 0;
+ heap32[(r16+1)] = 0;
+ heap32[(r16+2)] = 0;
+ heap32[(r16+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r8;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+4)] = f0;
+ heapFloat[(g0+5)] = f0;
+ heap32[(g0+6)] = -1068953637;
+ heap32[(g0+7)] = 1078530011;
+ heap32[(g0+8)] = r15;
+ heap32[(g0+9)] = 0;
+ heap32[(g0+10)] = 1092616192;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+}
+ heap32[(fp+-134)] = heap32[(r10+263)];
+ heap32[(r12+1)] = heap32[(r10+264)];
+ heap32[(r12+2)] = heap32[(r10+265)];
+ heap32[(r12+3)] = heap32[(r10+266)];
+ heap32[(r12+4)] = heap32[(r10+267)];
+ heap32[(r12+5)] = heap32[(r10+268)];
+ heap32[(r12+6)] = heap32[(r10+269)];
+ heap32[(r12+7)] = heap32[(r10+270)];
+ heap32[(r12+8)] = heap32[(r10+271)];
+ heap32[(r12+9)] = heap32[(r10+272)];
+ heap32[(r12+10)] = heap32[(r10+273)];
+ heap32[(r12+11)] = heap32[(r10+274)];
+ heap32[(r12+12)] = heap32[(r10+275)];
+ heap32[(r12+13)] = heap32[(r10+276)];
+ heap32[(r12+14)] = heap32[(r10+277)];
+ r2 = sp + -616;
+ heap32[(r12+15)] = heap32[(r10+278)];
+ r8 = r2 >> 2;
+ heap32[(fp+-154)] = heap32[(r10+167)];
+ heap32[(r8+1)] = heap32[(r10+168)];
+ heap32[(r8+2)] = heap32[(r10+169)];
+ r9 = sp + -632;
+ heap32[(r8+3)] = heap32[(r10+170)];
+ r8 = r9 >> 2;
+ heap32[(fp+-158)] = heap32[(r10+171)];
+ heap32[(r8+1)] = heap32[(r10+172)];
+ heap32[(r8+2)] = heap32[(r10+173)];
+ heap32[(r8+3)] = heap32[(r10+174)];
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r10 = r_g0 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+18)];
+ r12 = sp + -56;
+ r13 = r12 >> 2;
+ heap32[(fp+-14)] = 0;
+ heap32[(r13+1)] = 0;
+ heap32[(r13+2)] = 0;
+ heap32[(r13+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r11;
+ heap32[(g0+4)] = r12;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+}
+}
+else{
+ if(r11 ==7) //_LBB669_43
+{
+ r11 = sp + -696;
+ r12 = r11 >> 2;
+ heap32[(fp+-174)] = heap32[(r10+203)];
+ heap32[(r12+1)] = heap32[(r10+204)];
+ heap32[(r12+2)] = heap32[(r10+205)];
+ heap32[(r12+3)] = heap32[(r10+206)];
+ heap32[(r12+4)] = heap32[(r10+207)];
+ heap32[(r12+5)] = heap32[(r10+208)];
+ heap32[(r12+6)] = heap32[(r10+209)];
+ heap32[(r12+7)] = heap32[(r10+210)];
+ heap32[(r12+8)] = heap32[(r10+211)];
+ heap32[(r12+9)] = heap32[(r10+212)];
+ heap32[(r12+10)] = heap32[(r10+213)];
+ heap32[(r12+11)] = heap32[(r10+214)];
+ heap32[(r12+12)] = heap32[(r10+215)];
+ heap32[(r12+13)] = heap32[(r10+216)];
+ heap32[(r12+14)] = heap32[(r10+217)];
+ heap32[(r12+15)] = heap32[(r10+218)];
+if(!(r8 ==0)) //_LBB669_45
+{
+ r13 = heap32[(r1)];
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r13)>>2](i7);
+ r14 = r_g0 >> 2;
+ r14 = heap32[(r14)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+14)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r11;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+2)] = f0;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+}
+ heap32[(fp+-174)] = heap32[(r10+219)];
+ heap32[(r12+1)] = heap32[(r10+220)];
+ heap32[(r12+2)] = heap32[(r10+221)];
+ heap32[(r12+3)] = heap32[(r10+222)];
+ heap32[(r12+4)] = heap32[(r10+223)];
+ heap32[(r12+5)] = heap32[(r10+224)];
+ heap32[(r12+6)] = heap32[(r10+225)];
+ heap32[(r12+7)] = heap32[(r10+226)];
+ heap32[(r12+8)] = heap32[(r10+227)];
+ heap32[(r12+9)] = heap32[(r10+228)];
+ heap32[(r12+10)] = heap32[(r10+229)];
+ heap32[(r12+11)] = heap32[(r10+230)];
+ heap32[(r12+12)] = heap32[(r10+231)];
+ heap32[(r12+13)] = heap32[(r10+232)];
+ heap32[(r12+14)] = heap32[(r10+233)];
+ heap32[(r12+15)] = heap32[(r10+234)];
+if(!(r8 ==0)) //_LBB669_47
+{
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r12 = r_g0 >> 2;
+ r12 = heap32[(r12)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+14)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r11;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+2)] = f0;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+}
+ if(r9 ==0) //_LBB669_52
+{
+break _7;
+}
+else{
+ r8 = (r2 + 924)|0;
+ r9 = heapU8[r2+168];
+ if(r9 ==0) //_LBB669_50
+{
+ r2 = (r2 + 876)|0;
+}
+else{
+ r2 = (r2 + 812)|0;
+}
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2+1)];
+ f1 = heapFloat[(r10+43)];
+ f2 = heapFloat[(r2)];
+ f3 = heapFloat[(r2+2)];
+ f4 = heapFloat[(r2+5)];
+ f5 = heapFloat[(r2+4)];
+ f6 = f2*f1;
+ f7 = heapFloat[(fp+-192)];
+ f8 = f0*f7;
+ f9 = heapFloat[(r2+6)];
+ f10 = heapFloat[(r2+9)];
+ f11 = heapFloat[(r2+8)];
+ f12 = f5*f1;
+ f13 = f4*f7;
+ f6 = f6+f8;
+ f3 = f3*f7;
+ f14 = heapFloat[(r2+10)];
+ f1 = f11*f1;
+ f15 = f10*f7;
+ f12 = f12+f13;
+ f9 = f9*f7;
+ f6 = f6+f3;
+ f16 = heapFloat[(r2+12)];
+ f17 = heapFloat[(r2+13)];
+ f18 = heapFloat[(r2+14)];
+ r2 = sp + -712;
+ f12 = f12+f9;
+ f1 = f1+f15;
+ f7 = f14*f7;
+ f6 = f6+f16;
+ f1 = f1+f7;
+ r9 = r2 >> 2;
+ f12 = f12+f17;
+ heapFloat[(fp+-178)] = f6;
+ f1 = f1+f18;
+ heapFloat[(r9+1)] = f12;
+ heapFloat[(r9+2)] = f1;
+ heap32[(r9+3)] = 0;
+ f1 = heapFloat[(r10+44)];
+ f6 = f2*f1;
+ f12 = f5*f1;
+ f6 = f6+f8;
+ f1 = f11*f1;
+ f8 = f12+f13;
+ f3 = f6+f3;
+ r9 = sp + -728;
+ f1 = f1+f15;
+ f6 = f8+f9;
+ f3 = f3+f16;
+ f1 = f1+f7;
+ r11 = r9 >> 2;
+ f6 = f6+f17;
+ heapFloat[(fp+-182)] = f3;
+ f1 = f1+f18;
+ heapFloat[(r11+1)] = f6;
+ heapFloat[(r11+2)] = f1;
+ heap32[(r11+3)] = 0;
+ r11 = heap32[(r1)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r12 = r_g0 >> 2;
+ r12 = heap32[(r12)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+2)];
+ r13 = sp + -40;
+ r14 = r13 >> 2;
+ heap32[(fp+-10)] = 0;
+ heap32[(r14+1)] = 0;
+ heap32[(r14+2)] = 0;
+ heap32[(r14+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r13;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+ r2 = sp + -744;
+ r9 = r2 >> 2;
+ heapFloat[(fp+-186)] = f2;
+ heapFloat[(r9+1)] = f5;
+ heapFloat[(r9+2)] = f11;
+ r11 = sp + -760;
+ heap32[(r9+3)] = 0;
+ r9 = r11 >> 2;
+ heapFloat[(fp+-190)] = f0;
+ heapFloat[(r9+1)] = f4;
+ heapFloat[(r9+2)] = f10;
+ heap32[(r9+3)] = 0;
+ r9 = heap32[(r1)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+4)];
+ f0 = heapFloat[(r10+45)];
+ f1 = heapFloat[(r10+46)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r10 = r_g0 >> 2;
+ r10 = heap32[(r10)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+15)];
+ r12 = sp + -24;
+ r13 = r12 >> 2;
+ heap32[(fp+-6)] = 0;
+ heap32[(r13+1)] = 0;
+ heap32[(r13+2)] = 0;
+ heap32[(r13+3)] = 0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r11;
+ f2 = heapFloat[(fp+-191)];
+ heapFloat[(g0+4)] = f2;
+ heapFloat[(g0+5)] = f2;
+ heapFloat[(g0+6)] = f0;
+ heapFloat[(g0+7)] = f1;
+ heap32[(g0+8)] = r12;
+ heap32[(g0+9)] = 1;
+ heap32[(g0+10)] = 1092616192;
+ __FUNCTION_TABLE__[(r10)>>2](i7);
+}
+}
+else{
+break _7;
+}
+}
+}
+}
+else{
+ if(r11 ==3) //_LBB669_11
+{
+ r2 = sp + -232;
+ r9 = r2 >> 2;
+ heap32[(fp+-58)] = 1065353216;
+ heap32[(r9+1)] = 0;
+ heap32[(r9+2)] = 0;
+ heap32[(r9+3)] = 0;
+ heap32[(r9+4)] = 0;
+ heap32[(r9+5)] = 1065353216;
+ heap32[(r9+6)] = 0;
+ heap32[(r9+7)] = 0;
+ heap32[(r9+8)] = 0;
+ heap32[(r9+9)] = 0;
+ heap32[(r9+10)] = 1065353216;
+ heap32[(r9+11)] = 0;
+ heap32[(r9+12)] = 0;
+ heap32[(r9+13)] = 0;
+ heap32[(r9+14)] = 0;
+ heap32[(r9+15)] = 0;
+ r11 = heap32[(r10+5)];
+ r11 = r11 >> 2;
+ f0 = heapFloat[(r10+72)];
+ f1 = heapFloat[(r11+1)];
+ f2 = heapFloat[(r10+73)];
+ f3 = heapFloat[(r11+2)];
+ f4 = heapFloat[(r11+5)];
+ f5 = heapFloat[(r11+6)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r10+74)];
+ f7 = heapFloat[(r11+3)];
+ f8 = heapFloat[(r11+9)];
+ f9 = heapFloat[(r11+10)];
+ f10 = heapFloat[(r11+7)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r11+11)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r11+13)];
+ f8 = heapFloat[(r11+15)];
+ f9 = heapFloat[(r11+14)];
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ f2 = f4+f9;
+ heapFloat[(r9+12)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r9+13)] = f2;
+ heapFloat[(r9+14)] = f0;
+ heap32[(r9+15)] = 0;
+ r11 = heap32[(r1)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r12 = r_g0 >> 2;
+ r12 = heap32[(r12)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+14)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r2;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+2)] = f0;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+ r11 = heap32[(r10+6)];
+ r11 = r11 >> 2;
+ f0 = heapFloat[(r10+76)];
+ f1 = heapFloat[(r11+1)];
+ f2 = heapFloat[(r10+77)];
+ f3 = heapFloat[(r11+2)];
+ f4 = heapFloat[(r11+5)];
+ f5 = heapFloat[(r11+6)];
+ f1 = f1*f0;
+ f3 = f3*f2;
+ f6 = heapFloat[(r10+78)];
+ f7 = heapFloat[(r11+3)];
+ f8 = heapFloat[(r11+9)];
+ f9 = heapFloat[(r11+10)];
+ f10 = heapFloat[(r11+7)];
+ f4 = f4*f0;
+ f5 = f5*f2;
+ f1 = f1+f3;
+ f3 = f7*f6;
+ f7 = heapFloat[(r11+11)];
+ f0 = f8*f0;
+ f2 = f9*f2;
+ f4 = f4+f5;
+ f5 = f10*f6;
+ f1 = f1+f3;
+ f3 = heapFloat[(r11+13)];
+ f8 = heapFloat[(r11+15)];
+ f9 = heapFloat[(r11+14)];
+ f4 = f4+f5;
+ f0 = f0+f2;
+ f2 = f7*f6;
+ f1 = f1+f3;
+ f0 = f0+f2;
+ f2 = f4+f9;
+ heapFloat[(r9+12)] = f1;
+ f0 = f0+f8;
+ heapFloat[(r9+13)] = f2;
+ heapFloat[(r9+14)] = f0;
+ heap32[(r9+15)] = 0;
+if(!(r8 ==0)) //_LBB669_52
+{
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r9 = r_g0 >> 2;
+ r9 = heap32[(r9)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+14)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r2;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+2)] = f0;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+}
+}
+else{
+ if(r11 ==4) //_LBB669_13
+{
+ r2 = heap32[(r10+5)];
+ r2 = r2 >> 2;
+ f0 = heapFloat[(r2+1)];
+ f1 = heapFloat[(r10+135)];
+ f2 = heapFloat[(r2+2)];
+ f3 = heapFloat[(r10+139)];
+ f4 = heapFloat[(r10+136)];
+ f5 = heapFloat[(r10+140)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r2+3)];
+ f9 = heapFloat[(r10+143)];
+ f10 = heapFloat[(r2+9)];
+ f11 = heapFloat[(r10+147)];
+ f12 = heapFloat[(r2+5)];
+ f13 = heapFloat[(r10+137)];
+ f14 = heapFloat[(r2+10)];
+ f15 = heapFloat[(r10+148)];
+ f16 = heapFloat[(r2+6)];
+ f17 = heapFloat[(r10+141)];
+ f18 = heapFloat[(r2+11)];
+ f19 = heapFloat[(r10+149)];
+ f20 = heapFloat[(r2+7)];
+ f21 = heapFloat[(r10+145)];
+ f22 = heapFloat[(r10+144)];
+ f23 = f4*f0;
+ f24 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ f25 = heapFloat[(r2+15)];
+ f26 = heapFloat[(r2+14)];
+ f27 = heapFloat[(r2+13)];
+ f28 = f13*f0;
+ f29 = f17*f2;
+ f23 = f23+f24;
+ f24 = f22*f8;
+ f6 = f6+f7;
+ r2 = r3 >> 2;
+ f7 = f28+f29;
+ f28 = f21*f8;
+ f23 = f23+f24;
+ heapFloat[(fp+-74)] = f6;
+ f6 = f1*f12;
+ f24 = f3*f16;
+ f7 = f7+f28;
+ heapFloat[(r2+1)] = f23;
+ heapFloat[(r2+2)] = f7;
+ f7 = f4*f12;
+ f23 = f5*f16;
+ f6 = f6+f24;
+ f24 = f9*f20;
+ f28 = f13*f12;
+ f29 = f17*f16;
+ f7 = f7+f23;
+ f23 = f22*f20;
+ f6 = f6+f24;
+ heap32[(r2+3)] = 0;
+ f24 = f28+f29;
+ f28 = f21*f20;
+ f7 = f7+f23;
+ heapFloat[(r2+4)] = f6;
+ f1 = f1*f10;
+ f3 = f3*f14;
+ f6 = f24+f28;
+ heapFloat[(r2+5)] = f7;
+ heapFloat[(r2+6)] = f6;
+ f4 = f4*f10;
+ f5 = f5*f14;
+ f1 = f1+f3;
+ f3 = f9*f18;
+ f6 = f13*f10;
+ f7 = f17*f14;
+ f4 = f4+f5;
+ f5 = f22*f18;
+ f1 = f1+f3;
+ heap32[(r2+7)] = 0;
+ f0 = f0*f11;
+ f2 = f2*f15;
+ f3 = f6+f7;
+ f6 = f21*f18;
+ f4 = f4+f5;
+ heapFloat[(r2+8)] = f1;
+ f1 = f12*f11;
+ f5 = f16*f15;
+ f0 = f0+f2;
+ f2 = f8*f19;
+ f3 = f3+f6;
+ heapFloat[(r2+9)] = f4;
+ f0 = f0+f2;
+ heapFloat[(r2+10)] = f3;
+ f2 = f10*f11;
+ f3 = f14*f15;
+ f1 = f1+f5;
+ f4 = f20*f19;
+ f1 = f1+f4;
+ f2 = f2+f3;
+ f3 = f18*f19;
+ f0 = f0+f27;
+ heap32[(r2+11)] = 0;
+ f2 = f2+f3;
+ f1 = f1+f26;
+ heapFloat[(r2+12)] = f0;
+ f0 = f2+f25;
+ heapFloat[(r2+13)] = f1;
+ heapFloat[(r2+14)] = f0;
+ heap32[(r2+15)] = 0;
+if(!(r8 ==0)) //_LBB669_15
+{
+ r11 = heap32[(r1)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r12 = r_g0 >> 2;
+ r12 = heap32[(r12)];
+ r12 = r12 >> 2;
+ r12 = heap32[(r12+14)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r3;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+2)] = f0;
+ __FUNCTION_TABLE__[(r12)>>2](i7);
+}
+ r11 = heap32[(r10+6)];
+ r11 = r11 >> 2;
+ f0 = heapFloat[(r11+1)];
+ f1 = heapFloat[(r10+151)];
+ f2 = heapFloat[(r11+2)];
+ f3 = heapFloat[(r10+155)];
+ f4 = heapFloat[(r10+152)];
+ f5 = heapFloat[(r10+156)];
+ f6 = f1*f0;
+ f7 = f3*f2;
+ f8 = heapFloat[(r11+3)];
+ f9 = heapFloat[(r10+159)];
+ f10 = heapFloat[(r11+9)];
+ f11 = heapFloat[(r10+163)];
+ f12 = heapFloat[(r11+5)];
+ f13 = heapFloat[(r10+153)];
+ f14 = heapFloat[(r11+10)];
+ f15 = heapFloat[(r10+164)];
+ f16 = heapFloat[(r11+6)];
+ f17 = heapFloat[(r10+157)];
+ f18 = heapFloat[(r11+11)];
+ f19 = heapFloat[(r10+165)];
+ f20 = heapFloat[(r11+7)];
+ f21 = heapFloat[(r10+161)];
+ f22 = heapFloat[(r10+160)];
+ f23 = f4*f0;
+ f24 = f5*f2;
+ f6 = f6+f7;
+ f7 = f9*f8;
+ f25 = heapFloat[(r11+15)];
+ f26 = heapFloat[(r11+14)];
+ f27 = heapFloat[(r11+13)];
+ f28 = f13*f0;
+ f29 = f17*f2;
+ f23 = f23+f24;
+ f24 = f22*f8;
+ f6 = f6+f7;
+ f7 = f28+f29;
+ f28 = f21*f8;
+ f23 = f23+f24;
+ heapFloat[(fp+-74)] = f6;
+ f6 = f1*f12;
+ f24 = f3*f16;
+ f7 = f7+f28;
+ heapFloat[(r2+1)] = f23;
+ heapFloat[(r2+2)] = f7;
+ f7 = f4*f12;
+ f23 = f5*f16;
+ f6 = f6+f24;
+ f24 = f9*f20;
+ f28 = f13*f12;
+ f29 = f17*f16;
+ f7 = f7+f23;
+ f23 = f22*f20;
+ f6 = f6+f24;
+ heap32[(r2+3)] = 0;
+ f24 = f28+f29;
+ f28 = f21*f20;
+ f7 = f7+f23;
+ heapFloat[(r2+4)] = f6;
+ f1 = f1*f10;
+ f3 = f3*f14;
+ f6 = f24+f28;
+ heapFloat[(r2+5)] = f7;
+ heapFloat[(r2+6)] = f6;
+ f4 = f4*f10;
+ f5 = f5*f14;
+ f1 = f1+f3;
+ f3 = f9*f18;
+ f6 = f13*f10;
+ f7 = f17*f14;
+ f4 = f4+f5;
+ f5 = f22*f18;
+ f1 = f1+f3;
+ heap32[(r2+7)] = 0;
+ f0 = f0*f11;
+ f2 = f2*f15;
+ f3 = f6+f7;
+ f6 = f21*f18;
+ f4 = f4+f5;
+ heapFloat[(r2+8)] = f1;
+ f1 = f12*f11;
+ f5 = f16*f15;
+ f0 = f0+f2;
+ f2 = f8*f19;
+ f3 = f3+f6;
+ heapFloat[(r2+9)] = f4;
+ f0 = f0+f2;
+ heapFloat[(r2+10)] = f3;
+ f2 = f10*f11;
+ f3 = f14*f15;
+ f1 = f1+f5;
+ f4 = f20*f19;
+ f1 = f1+f4;
+ f2 = f2+f3;
+ f3 = f18*f19;
+ f0 = f0+f27;
+ heap32[(r2+11)] = 0;
+ f2 = f2+f3;
+ f1 = f1+f26;
+ heapFloat[(r2+12)] = f0;
+ f0 = f2+f25;
+ heapFloat[(r2+13)] = f1;
+ heapFloat[(r2+14)] = f0;
+ heap32[(r2+15)] = 0;
+if(!(r8 ==0)) //_LBB669_17
+{
+ r8 = heap32[(r1)];
+ r8 = r8 >> 2;
+ r8 = heap32[(r8+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r11 = r_g0 >> 2;
+ r11 = heap32[(r11)];
+ r11 = r11 >> 2;
+ r11 = heap32[(r11+14)];
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r3;
+ f0 = heapFloat[(fp+-191)];
+ heapFloat[(g0+2)] = f0;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+}
+ f0 = heapFloat[(r10+172)];
+ f1 = heapFloat[(r10+173)];
+if(!(f0 ==f1)) //_LBB669_52
+{
+if(!(r9 ==0)) //_LBB669_52
+{
+ r8 = sp + -312;
+ r9 = r8 >> 2;
+ heap32[(fp+-78)] = heap32[(r2+2)];
+ heap32[(r9+1)] = heap32[(r2+6)];
+ heap32[(r9+2)] = heap32[(r2+10)];
+ r10 = sp + -328;
+ heap32[(r9+3)] = 0;
+ r9 = r10 >> 2;
+ heap32[(fp+-82)] = heap32[(fp+-74)];
+ heap32[(r9+1)] = heap32[(r2+4)];
+ heap32[(r9+2)] = heap32[(r2+8)];
+ heap32[(r9+3)] = 0;
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r9 = r_g0 >> 2;
+ r9 = heap32[(r9)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+15)];
+ r11 = sp + -168;
+ r12 = r11 >> 2;
+ heap32[(fp+-42)] = 0;
+ heap32[(r12+1)] = 0;
+ heap32[(r12+2)] = 0;
+ heap32[(r12+3)] = 0;
+ f2 = 6.2831854820251465;
+ r12 = f0 <= f1;
+ f3 = heapFloat[(fp+-192)];
+ f3 = f0 > f1 ? f3 : f0;
+ f0 = f0 > f1 ? f2 : f1;
+ r12 = r12 & 1;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r8;
+ heap32[(g0+3)] = r10;
+ f1 = heapFloat[(fp+-191)];
+ heapFloat[(g0+4)] = f1;
+ heapFloat[(g0+5)] = f1;
+ heapFloat[(g0+6)] = f3;
+ heapFloat[(g0+7)] = f0;
+ heap32[(g0+8)] = r11;
+ heap32[(g0+9)] = r12;
+ heap32[(g0+10)] = 1092616192;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+}
+}
+}
+}
+}
+}
+} while(0);
+ r2 = (r7 + -1)|0;
+ if(r7 !=0) //_LBB669_4
+{
+continue _5;
+}
+else{
+break _5;
+}
+}
+}
+}
+}
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+_74: do {
+if(!(r2 ==0)) //_LBB669_60
+{
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r3 = r_g0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+12)];
+ heap32[(g0)] = r_g0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = r_g0 & 3;
+if(!(r2 ==0)) //_LBB669_60
+{
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0;
+if(!(r2 ==0)) //_LBB669_60
+{
+ r2 = heap32[(r1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = r_g0 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+12)];
+ heap32[(g0)] = r_g0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB669_60
+{
+ r0 = heap32[(r1+63)];
+if(!(r0 <1)) //_LBB669_60
+{
+ r0 = 0;
+_80: while(true){
+ r2 = heap32[(r1+65)];
+ r3 = r0 << 2;
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+3)];
+ r4 = heap32[(r1+21)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ r0 = (r0 + 1)|0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = heap32[(r1+63)];
+ if(r2 >r0) //_LBB669_59
+{
+continue _80;
+}
+else{
+break _74;
+}
+}
+}
+}
+}
+}
+}
+} while(0);
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r3 = (r3 + -1)|0;
+ heap32[(r2+4)] = r3;
+_83: do {
+if(!(r3 !=0)) //_LBB669_66
+{
+ r3 = heap32[(r2+1)];
+ if(r3 !=0) //_LBB669_63
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r3 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ r4 = heap32[(fp+-2)];
+ r5 = heap32[(r3)];
+ r4 = (r4 - r5)|0;
+ r1 = heap32[(r1+1)];
+ r3 = heap32[(r3+1)];
+ r1 = (r1 - r3)|0;
+ r3 = (r4 * 1000000)|0;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(r2+3)];
+ r1 = (r1 - r3)|0;
+ f0 = uint(r1); //fuitos r1, f0
+ f1 = 1000;
+ f2 = heapFloat[(r2+2)];
+ f0 = f0/f1;
+ f0 = f2+f0;
+ heapFloat[(r2+2)] = f0;
+ r1 = heap32[(r2+4)];
+ if(r1 !=0) //_LBB669_66
+{
+break _83;
+}
+else{
+ r1 = heap32[(r0)];
+}
+}
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+5)];
+ heap32[(r0)] = r1;
+}
+} while(0);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorld18saveKinematicStateEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+2)];
+if(!(r1 <1)) //_LBB670_11
+{
+ f0 = heapFloat[(fp+1)];
+ f1 = 1;
+ f1 = f1/f0;
+ r1 = 0;
+_3: while(true){
+ r2 = heap32[(r0+4)];
+ r3 = r1 << 2;
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r3 = heapU8[r2+232];
+ r3 = r3 & 2;
+if(!(r3 ==0)) //_LBB670_10
+{
+if(!(r2 ==0)) //_LBB670_10
+{
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+54)];
+if(!(r4 ==2)) //_LBB670_10
+{
+ r4 = heapU8[r2+204];
+ r4 = r4 & 2;
+if(!(r4 ==0)) //_LBB670_10
+{
+ f2 = 0;
+if(!(f0 ==f2)) //_LBB670_10
+{
+ r4 = heap32[(r3+118)];
+if(!(r4 ==0)) //_LBB670_9
+{
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+2)];
+ r6 = (r2 + 4)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+ f2 = heapFloat[(r3+13)];
+ f3 = heapFloat[(r3+29)];
+ f2 = f2-f3;
+ f3 = heapFloat[(r3+15)];
+ f4 = heapFloat[(r3+31)];
+ f5 = heapFloat[(r3+14)];
+ f6 = heapFloat[(r3+30)];
+ f5 = f5-f6;
+ f2 = f2*f1;
+ f3 = f3-f4;
+ f4 = f5*f1;
+ heapFloat[(r3+76)] = f2;
+ f2 = f3*f1;
+ heapFloat[(r3+77)] = f4;
+ heapFloat[(r3+78)] = f2;
+ heap32[(r3+79)] = 0;
+ r4 = sp + -16;
+ r5 = (r2 + 68)|0;
+ r2 = (r2 + 4)|0;
+ r6 = sp + -20;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r6;
+ _ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(i7);
+ r2 = r4 >> 2;
+ f2 = heapFloat[(fp+-5)];
+ f3 = heapFloat[(fp+-4)];
+ f3 = f3*f2;
+ f4 = heapFloat[(r2+2)];
+ f5 = heapFloat[(r2+1)];
+ f5 = f5*f2;
+ f3 = f3*f1;
+ f2 = f4*f2;
+ f4 = f5*f1;
+ heapFloat[(r3+80)] = f3;
+ f2 = f2*f1;
+ heapFloat[(r3+81)] = f4;
+ heapFloat[(r3+82)] = f2;
+ heap32[(r3+83)] = 0;
+ heap32[(r3+33)] = heap32[(r3+76)];
+ heap32[(r3+34)] = heap32[(r3+77)];
+ heap32[(r3+35)] = heap32[(r3+78)];
+ heap32[(r3+36)] = heap32[(r3+79)];
+ heapFloat[(r3+37)] = f3;
+ heapFloat[(r3+38)] = f4;
+ heapFloat[(r3+39)] = f2;
+ heap32[(r3+40)] = 0;
+ heap32[(r3+17)] = heap32[(r3+1)];
+ heap32[(r3+18)] = heap32[(r3+2)];
+ heap32[(r3+19)] = heap32[(r3+3)];
+ heap32[(r3+20)] = heap32[(r3+4)];
+ heap32[(r3+21)] = heap32[(r3+5)];
+ heap32[(r3+22)] = heap32[(r3+6)];
+ heap32[(r3+23)] = heap32[(r3+7)];
+ heap32[(r3+24)] = heap32[(r3+8)];
+ heap32[(r3+25)] = heap32[(r3+9)];
+ heap32[(r3+26)] = heap32[(r3+10)];
+ heap32[(r3+27)] = heap32[(r3+11)];
+ heap32[(r3+28)] = heap32[(r3+12)];
+ heap32[(r3+29)] = heap32[(r3+13)];
+ heap32[(r3+30)] = heap32[(r3+14)];
+ heap32[(r3+31)] = heap32[(r3+15)];
+ heap32[(r3+32)] = heap32[(r3+16)];
+}
+}
+}
+}
+}
+ r1 = (r1 + 1)|0;
+ r2 = heap32[(r0+2)];
+ if(r2 >r1) //_LBB670_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZN15btDynamicsWorldD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV15btDynamicsWorld;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN16btCollisionWorldD2Ev(i7);
+ return;
+}
+
+function _ZN15btDynamicsWorldD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV15btDynamicsWorld;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN16btCollisionWorldD2Ev(i7);
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorldD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV23btDiscreteDynamicsWorld;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+244];
+if(!(r1 ==0)) //_LBB673_3
+{
+ r1 = heap32[(r2+45)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+45)];
+if(!(r1 ==0)) //_LBB673_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = heapU8[r0+245];
+if(!(r1 ==0)) //_LBB673_6
+{
+ r1 = heap32[(r2+44)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+44)];
+if(!(r1 ==0)) //_LBB673_6
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = heap32[(r2+65)];
+if(!(r1 ==0)) //_LBB673_10
+{
+ r3 = heapU8[r0+264];
+if(!(r3 ==0)) //_LBB673_9
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+65)] = 0;
+}
+ r1 = 1;
+ heap8[r0+264] = r1;
+ heap32[(r2+65)] = 0;
+ heap32[(r2+63)] = 0;
+ heap32[(r2+64)] = 0;
+ r3 = heap32[(r2+54)];
+if(!(r3 ==0)) //_LBB673_14
+{
+ r4 = heapU8[r0+220];
+if(!(r4 ==0)) //_LBB673_13
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+54)] = 0;
+}
+ heap8[r0+220] = r1;
+ heap32[(r2+54)] = 0;
+ heap32[(r2+52)] = 0;
+ heap32[(r2+53)] = 0;
+ r3 = heap32[(r2+49)];
+if(!(r3 ==0)) //_LBB673_18
+{
+ r4 = heapU8[r0+200];
+if(!(r4 ==0)) //_LBB673_17
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+49)] = 0;
+}
+ heap8[r0+200] = r1;
+ heap32[(r2+49)] = 0;
+ r1 = _ZTV15btDynamicsWorld;
+ heap32[(r2+47)] = 0;
+ r1 = (r1 + 8)|0;
+ heap32[(r2+48)] = 0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN16btCollisionWorldD2Ev(i7);
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorldD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ heap32[(g0)] = r0;
+ _ZN23btDiscreteDynamicsWorldD2Ev(i7);
+ return;
+}
+
+function _ZN23btDiscreteDynamicsWorldD2Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV23btDiscreteDynamicsWorld;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heapU8[r0+244];
+if(!(r1 ==0)) //_LBB675_3
+{
+ r1 = heap32[(r2+45)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+45)];
+if(!(r1 ==0)) //_LBB675_3
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = heapU8[r0+245];
+if(!(r1 ==0)) //_LBB675_6
+{
+ r1 = heap32[(r2+44)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r1 = heap32[(r2+44)];
+if(!(r1 ==0)) //_LBB675_6
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+}
+ r1 = heap32[(r2+65)];
+if(!(r1 ==0)) //_LBB675_10
+{
+ r3 = heapU8[r0+264];
+if(!(r3 ==0)) //_LBB675_9
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+65)] = 0;
+}
+ r1 = 1;
+ heap8[r0+264] = r1;
+ heap32[(r2+65)] = 0;
+ heap32[(r2+63)] = 0;
+ heap32[(r2+64)] = 0;
+ r3 = heap32[(r2+54)];
+if(!(r3 ==0)) //_LBB675_14
+{
+ r4 = heapU8[r0+220];
+if(!(r4 ==0)) //_LBB675_13
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+54)] = 0;
+}
+ heap8[r0+220] = r1;
+ heap32[(r2+54)] = 0;
+ heap32[(r2+52)] = 0;
+ heap32[(r2+53)] = 0;
+ r3 = heap32[(r2+49)];
+if(!(r3 ==0)) //_LBB675_18
+{
+ r4 = heapU8[r0+200];
+if(!(r4 ==0)) //_LBB675_17
+{
+ r4 = gNumAlignedFree;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r5 = (r5 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r4)] = r5;
+ r3 = heap32[(r3+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+}
+ heap32[(r2+49)] = 0;
+}
+ heap8[r0+200] = r1;
+ heap32[(r2+49)] = 0;
+ r1 = _ZTV15btDynamicsWorld;
+ heap32[(r2+47)] = 0;
+ r1 = (r1 + 8)|0;
+ heap32[(r2+48)] = 0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZN16btCollisionWorldD2Ev(i7);
+ return;
+}
+
+function _ZN11btRigidBody12setMassPropsEfRK9btVector3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(fp+1)];
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(r0+51)];
+ f1 = 0;
+ if(f0 !=f1) //_LBB676_2
+{
+ r2 = r2 & -2;
+ f2 = 1;
+ f2 = f2/f0;
+ heap32[(r0+51)] = r2;
+ heapFloat[(r0+84)] = f2;
+}
+else{
+ r2 = r2 | 1;
+ f2 = 0;
+ heap32[(r0+51)] = r2;
+ heap32[(r0+84)] = 0;
+}
+ f3 = heapFloat[(r0+95)];
+ f4 = heapFloat[(r0+94)];
+ f5 = heapFloat[(r0+93)];
+ f5 = f5*f0;
+ f4 = f4*f0;
+ heapFloat[(r0+89)] = f5;
+ f0 = f3*f0;
+ heapFloat[(r0+90)] = f4;
+ heapFloat[(r0+91)] = f0;
+ r1 = r1 >> 2;
+ heap32[(r0+92)] = 0;
+ f0 = heapFloat[(r1+2)];
+ if(f0 !=f1) //_LBB676_5
+{
+ f3 = 1;
+ f0 = f3/f0;
+}
+else{
+ f0 = f1;
+}
+ f3 = heapFloat[(r1+1)];
+ if(f3 !=f1) //_LBB676_8
+{
+ f1 = 1;
+ f3 = f1/f3;
+}
+else{
+ f3 = 0;
+}
+ f1 = heapFloat[(r1)];
+ f4 = 0;
+ if(f1 !=f4) //_LBB676_11
+{
+ f4 = 1;
+ f4 = f4/f1;
+}
+ heapFloat[(r0+97)] = f4;
+ heapFloat[(r0+98)] = f3;
+ heapFloat[(r0+99)] = f0;
+ heap32[(r0+100)] = 0;
+ f0 = heapFloat[(r0+87)];
+ f1 = heapFloat[(r0+86)];
+ f3 = heapFloat[(r0+85)];
+ f3 = f3*f2;
+ f1 = f1*f2;
+ heapFloat[(r0+138)] = f3;
+ f0 = f0*f2;
+ heapFloat[(r0+139)] = f1;
+ heapFloat[(r0+140)] = f0;
+ heap32[(r0+141)] = 0;
+ return;
+}
+
+function _ZN11btRigidBody19updateInertiaTensorEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+ var f16;
+ var f17;
+ var f18;
+ var f19;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ f0 = heapFloat[(r0+1)];
+ f1 = heapFloat[(r0+97)];
+ f2 = heapFloat[(r0+2)];
+ f3 = heapFloat[(r0+98)];
+ f4 = f0*f1;
+ f5 = f2*f3;
+ f6 = heapFloat[(r0+3)];
+ f7 = heapFloat[(r0+99)];
+ f8 = heapFloat[(r0+5)];
+ f9 = heapFloat[(r0+6)];
+ f10 = f6*f7;
+ f11 = f0*f4;
+ f12 = f2*f5;
+ f13 = heapFloat[(r0+9)];
+ f14 = heapFloat[(r0+10)];
+ f15 = heapFloat[(r0+7)];
+ f16 = heapFloat[(r0+11)];
+ f17 = f8*f4;
+ f18 = f9*f5;
+ f11 = f11+f12;
+ f12 = f6*f10;
+ f4 = f13*f4;
+ f5 = f14*f5;
+ f17 = f17+f18;
+ f18 = f15*f10;
+ f11 = f11+f12;
+ f12 = f8*f1;
+ f19 = f9*f3;
+ f4 = f4+f5;
+ f5 = f16*f10;
+ f10 = f17+f18;
+ heapFloat[(r0+64)] = f11;
+ f11 = f15*f7;
+ f17 = f0*f12;
+ f18 = f2*f19;
+ f4 = f4+f5;
+ heapFloat[(r0+65)] = f10;
+ heapFloat[(r0+66)] = f4;
+ f4 = f8*f12;
+ f5 = f9*f19;
+ f10 = f17+f18;
+ f17 = f6*f11;
+ f12 = f13*f12;
+ f18 = f14*f19;
+ f4 = f4+f5;
+ f5 = f15*f11;
+ f10 = f10+f17;
+ heap32[(r0+67)] = 0;
+ f1 = f13*f1;
+ f3 = f14*f3;
+ f12 = f12+f18;
+ f11 = f16*f11;
+ f4 = f4+f5;
+ heapFloat[(r0+68)] = f10;
+ f5 = f16*f7;
+ f0 = f0*f1;
+ f2 = f2*f3;
+ f7 = f12+f11;
+ heapFloat[(r0+69)] = f4;
+ heapFloat[(r0+70)] = f7;
+ f4 = f8*f1;
+ f7 = f9*f3;
+ f0 = f0+f2;
+ f2 = f6*f5;
+ f1 = f13*f1;
+ f3 = f14*f3;
+ f4 = f4+f7;
+ f6 = f15*f5;
+ f0 = f0+f2;
+ heap32[(r0+71)] = 0;
+ f1 = f1+f3;
+ f2 = f16*f5;
+ f3 = f4+f6;
+ heapFloat[(r0+72)] = f0;
+ f0 = f1+f2;
+ heapFloat[(r0+73)] = f3;
+ heapFloat[(r0+74)] = f0;
+ heap32[(r0+75)] = 0;
+ return;
+}
+
+function _ZN11btRigidBody18proceedToTransformERK11btTransform(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var r25;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heapU8[r0+204];
+ r2 = r2 & 3;
+ if(r2 ==0) //_LBB678_2
+{
+ r2 = r0 >> 2;
+ r24 = r1 >> 2;
+ heap32[(r2+17)] = heap32[(r24)];
+ heap32[(r2+18)] = heap32[(r24+1)];
+ heap32[(r2+19)] = heap32[(r24+2)];
+ heap32[(r2+20)] = heap32[(r24+3)];
+ heap32[(r2+21)] = heap32[(r24+4)];
+ heap32[(r2+22)] = heap32[(r24+5)];
+ heap32[(r2+23)] = heap32[(r24+6)];
+ heap32[(r2+24)] = heap32[(r24+7)];
+ heap32[(r2+25)] = heap32[(r24+8)];
+ heap32[(r2+26)] = heap32[(r24+9)];
+ heap32[(r2+27)] = heap32[(r24+10)];
+ heap32[(r2+28)] = heap32[(r24+11)];
+ heap32[(r2+29)] = heap32[(r24+12)];
+ heap32[(r2+30)] = heap32[(r24+13)];
+ r15 = (r1 + 4)|0;
+ r16 = (r1 + 8)|0;
+ r17 = (r1 + 12)|0;
+ r18 = (r1 + 16)|0;
+ r19 = (r1 + 20)|0;
+ r20 = (r1 + 24)|0;
+ r21 = (r1 + 28)|0;
+ r22 = (r1 + 32)|0;
+ r23 = (r1 + 36)|0;
+ r3 = (r1 + 40)|0;
+ heap32[(fp+-10)] = r3;
+ r3 = (r1 + 44)|0;
+ heap32[(fp+-4)] = r3;
+ r3 = (r1 + 48)|0;
+ heap32[(fp+-7)] = r3;
+ r3 = (r1 + 52)|0;
+ heap32[(fp+-6)] = r3;
+ r3 = (r1 + 56)|0;
+ heap32[(fp+-9)] = r3;
+ r3 = (r1 + 60)|0;
+ heap32[(fp+-8)] = r3;
+ r3 = (r0 + 4)|0;
+ r4 = (r0 + 8)|0;
+ r5 = (r0 + 12)|0;
+ r6 = (r0 + 16)|0;
+ r7 = (r0 + 20)|0;
+ r8 = (r0 + 24)|0;
+ r9 = (r0 + 28)|0;
+ r10 = (r0 + 32)|0;
+ r11 = (r0 + 36)|0;
+ r12 = (r0 + 40)|0;
+ r13 = (r0 + 44)|0;
+ r14 = (r0 + 48)|0;
+ r25 = (r0 + 52)|0;
+ heap32[(fp+-5)] = r25;
+ r25 = (r0 + 56)|0;
+ heap32[(fp+-3)] = r25;
+ r25 = (r0 + 60)|0;
+ heap32[(fp+-2)] = r25;
+ r25 = (r0 + 64)|0;
+ heap32[(fp+-1)] = r25;
+ heap32[(r2+31)] = heap32[(r24+14)];
+ heap32[(r2+32)] = heap32[(r24+15)];
+}
+else{
+ r2 = r0 >> 2;
+ heap32[(r2+17)] = heap32[(r2+1)];
+ heap32[(r2+18)] = heap32[(r2+2)];
+ heap32[(r2+19)] = heap32[(r2+3)];
+ heap32[(r2+20)] = heap32[(r2+4)];
+ heap32[(r2+21)] = heap32[(r2+5)];
+ heap32[(r2+22)] = heap32[(r2+6)];
+ heap32[(r2+23)] = heap32[(r2+7)];
+ heap32[(r2+24)] = heap32[(r2+8)];
+ heap32[(r2+25)] = heap32[(r2+9)];
+ heap32[(r2+26)] = heap32[(r2+10)];
+ heap32[(r2+27)] = heap32[(r2+11)];
+ heap32[(r2+28)] = heap32[(r2+12)];
+ heap32[(r2+29)] = heap32[(r2+13)];
+ heap32[(r2+30)] = heap32[(r2+14)];
+ r3 = (r0 + 4)|0;
+ r4 = (r0 + 8)|0;
+ r5 = (r0 + 12)|0;
+ r6 = (r0 + 16)|0;
+ r7 = (r0 + 20)|0;
+ r8 = (r0 + 24)|0;
+ r9 = (r0 + 28)|0;
+ r10 = (r0 + 32)|0;
+ r11 = (r0 + 36)|0;
+ r12 = (r0 + 40)|0;
+ r13 = (r0 + 44)|0;
+ r14 = (r0 + 48)|0;
+ r15 = (r0 + 52)|0;
+ heap32[(fp+-5)] = r15;
+ r15 = (r0 + 56)|0;
+ heap32[(fp+-3)] = r15;
+ r15 = (r0 + 60)|0;
+ heap32[(fp+-2)] = r15;
+ r15 = (r0 + 64)|0;
+ heap32[(fp+-1)] = r15;
+ r15 = (r1 + 4)|0;
+ r16 = (r1 + 8)|0;
+ r17 = (r1 + 12)|0;
+ r18 = (r1 + 16)|0;
+ r19 = (r1 + 20)|0;
+ r20 = (r1 + 24)|0;
+ r21 = (r1 + 28)|0;
+ r22 = (r1 + 32)|0;
+ r23 = (r1 + 36)|0;
+ r24 = (r1 + 40)|0;
+ heap32[(fp+-10)] = r24;
+ r24 = (r1 + 44)|0;
+ heap32[(fp+-4)] = r24;
+ r24 = (r1 + 48)|0;
+ heap32[(fp+-7)] = r24;
+ r24 = (r1 + 52)|0;
+ heap32[(fp+-6)] = r24;
+ r24 = (r1 + 56)|0;
+ heap32[(fp+-9)] = r24;
+ r24 = (r1 + 60)|0;
+ heap32[(fp+-8)] = r24;
+ heap32[(r2+31)] = heap32[(r2+15)];
+ heap32[(r2+32)] = heap32[(r2+16)];
+}
+ r2 = r0 >> 2;
+ heap32[(r2+33)] = heap32[(r2+76)];
+ heap32[(r2+34)] = heap32[(r2+77)];
+ heap32[(r2+35)] = heap32[(r2+78)];
+ heap32[(r2+36)] = heap32[(r2+79)];
+ heap32[(r2+37)] = heap32[(r2+80)];
+ heap32[(r2+38)] = heap32[(r2+81)];
+ heap32[(r2+39)] = heap32[(r2+82)];
+ r3 = r3 >> 2;
+ r1 = r1 >> 2;
+ heap32[(r2+40)] = heap32[(r2+83)];
+ r2 = r4 >> 2;
+ r4 = r15 >> 2;
+ heap32[(r3)] = heap32[(r1)];
+ r1 = r5 >> 2;
+ r3 = r16 >> 2;
+ heap32[(r2)] = heap32[(r4)];
+ r2 = r6 >> 2;
+ r4 = r17 >> 2;
+ heap32[(r1)] = heap32[(r3)];
+ r1 = r7 >> 2;
+ r3 = r18 >> 2;
+ heap32[(r2)] = heap32[(r4)];
+ r2 = r8 >> 2;
+ r4 = r19 >> 2;
+ heap32[(r1)] = heap32[(r3)];
+ r1 = r9 >> 2;
+ r3 = r20 >> 2;
+ heap32[(r2)] = heap32[(r4)];
+ r2 = r10 >> 2;
+ r4 = r21 >> 2;
+ heap32[(r1)] = heap32[(r3)];
+ r1 = r11 >> 2;
+ r3 = r22 >> 2;
+ heap32[(r2)] = heap32[(r4)];
+ r2 = r12 >> 2;
+ r4 = r23 >> 2;
+ heap32[(r1)] = heap32[(r3)];
+ r1 = r13 >> 2;
+ r3 = heap32[(fp+-10)];
+ r3 = r3 >> 2;
+ heap32[(r2)] = heap32[(r4)];
+ r2 = r14 >> 2;
+ r4 = heap32[(fp+-4)];
+ r4 = r4 >> 2;
+ heap32[(r1)] = heap32[(r3)];
+ r1 = heap32[(fp+-5)];
+ r1 = r1 >> 2;
+ r3 = heap32[(fp+-7)];
+ r3 = r3 >> 2;
+ heap32[(r2)] = heap32[(r4)];
+ r2 = heap32[(fp+-3)];
+ r2 = r2 >> 2;
+ r4 = heap32[(fp+-6)];
+ r4 = r4 >> 2;
+ heap32[(r1)] = heap32[(r3)];
+ r1 = heap32[(fp+-2)];
+ r1 = r1 >> 2;
+ r3 = heap32[(fp+-9)];
+ r3 = r3 >> 2;
+ heap32[(r2)] = heap32[(r4)];
+ r2 = heap32[(fp+-1)];
+ r2 = r2 >> 2;
+ r4 = heap32[(fp+-8)];
+ r4 = r4 >> 2;
+ heap32[(r1)] = heap32[(r3)];
+ heap32[(r2)] = heap32[(r4)];
+ heap32[(g0)] = r0;
+ _ZN11btRigidBody19updateInertiaTensorEv(i7);
+ return;
+}
+
+function _ZNK11btRigidBody28calculateSerializeBufferSizeEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 480;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK11btRigidBody21serializeSingleObjectEP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 >> 2;
+ r3 = r1 >> 2;
+ r4 = heap32[(r3)];
+ r5 = heap32[(r2)];
+ r4 = r4 >> 2;
+ r5 = r5 >> 2;
+ r4 = heap32[(r4+4)];
+ r5 = heap32[(r5+4)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = 1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r_g0;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r5 = r4 >> 2;
+ r2 = heap32[(r2+5)];
+ r5 = heap32[(r5+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+5)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r_g0;
+ heap32[(g0+3)] = 1497645650;
+ heap32[(g0+4)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ return;
+}
+
+function _ZN11btRigidBody24checkCollideWithOverrideEP17btCollisionObject(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heapU8[r0+232];
+ r1 = r1 & 2;
+_1: do {
+ if(r1 !=0) //_LBB681_2
+{
+ if(r0 ==0) //_LBB681_1
+{
+__label__ = 1;
+}
+else{
+ r1 = heap32[(fp)];
+ r1 = r1 >> 2;
+ r2 = heap32[(r1+120)];
+ r3 = 0;
+_4: while(true){
+ if(r2 >r3) //_LBB681_4
+{
+ r4 = heap32[(r1+122)];
+ r5 = r3 << 2;
+ r4 = (r4 + r5)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r5 = heap32[(r4+5)];
+ if(r5 !=r0) //_LBB681_6
+{
+ r4 = heap32[(r4+6)];
+ if(r4 ==r0) //_LBB681_5
+{
+break _4;
+}
+else{
+ r3 = (r3 + 1)|0;
+}
+}
+else{
+break _4;
+}
+}
+else{
+__label__ = 1;
+break _1;
+}
+}
+ r0 = 0;
+__label__ = 9;
+}
+}
+else{
+__label__ = 1;
+}
+} while(0);
+if (__label__ == 1){
+ r0 = 1;
+}
+ r0 = r0 & 255;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+ var f12;
+ var f13;
+ var f14;
+ var f15;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ heap32[(r1+58)] = 2;
+ heap32[(r1+76)] = 0;
+ heap32[(r1+77)] = 0;
+ heap32[(r1+78)] = 0;
+ heap32[(r1+79)] = 0;
+ heap32[(r1+80)] = 0;
+ heap32[(r1+81)] = 0;
+ heap32[(r1+82)] = 0;
+ heap32[(r1+83)] = 0;
+ heap32[(r1+134)] = 1065353216;
+ heap32[(r1+135)] = 1065353216;
+ heap32[(r1+136)] = 1065353216;
+ heap32[(r1+137)] = 0;
+ heap32[(r1+85)] = 1065353216;
+ heap32[(r1+86)] = 1065353216;
+ heap32[(r1+87)] = 1065353216;
+ heap32[(r1+88)] = 0;
+ heap32[(r1+89)] = 0;
+ heap32[(r1+90)] = 0;
+ heap32[(r1+91)] = 0;
+ heap32[(r1+92)] = 0;
+ heap32[(r1+93)] = 0;
+ heap32[(r1+94)] = 0;
+ heap32[(r1+95)] = 0;
+ heap32[(r1+96)] = 0;
+ heap32[(r1+101)] = 0;
+ heap32[(r1+102)] = 0;
+ heap32[(r1+103)] = 0;
+ heap32[(r1+104)] = 0;
+ heap32[(r1+105)] = 0;
+ heap32[(r1+106)] = 0;
+ heap32[(r1+107)] = 0;
+ heap32[(r1+108)] = 0;
+ heap32[(r1+109)] = 0;
+ r2 = heap32[(fp+1)];
+ heap32[(r1+110)] = 1056964608;
+ r3 = r2 >> 2;
+ heap32[(r1+116)] = heap32[(r3+27)];
+ heap32[(r1+117)] = heap32[(r3+28)];
+ r4 = heap32[(r3+1)];
+ heap32[(r1+118)] = r4;
+ heap32[(r1+150)] = 0;
+ heap32[(r1+151)] = 0;
+ r5 = heapU8[r2+116];
+ heap8[r0+444] = r5;
+ heap32[(r1+112)] = heap32[(r3+30)];
+ heap32[(r1+113)] = heap32[(r3+31)];
+ heap32[(r1+114)] = heap32[(r3+32)];
+ heap32[(r1+115)] = heap32[(r3+33)];
+ if(r4 ==0) //_LBB682_2
+{
+ f0 = heapFloat[(r3+2)];
+ heapFloat[(r1+1)] = f0;
+ f1 = heapFloat[(r3+3)];
+ heapFloat[(r1+2)] = f1;
+ f2 = heapFloat[(r3+4)];
+ heapFloat[(r1+3)] = f2;
+ f3 = heapFloat[(r3+5)];
+ heapFloat[(r1+4)] = f3;
+ f4 = heapFloat[(r3+6)];
+ heapFloat[(r1+5)] = f4;
+ f5 = heapFloat[(r3+7)];
+ heapFloat[(r1+6)] = f5;
+ f6 = heapFloat[(r3+8)];
+ heapFloat[(r1+7)] = f6;
+ f7 = heapFloat[(r3+9)];
+ heapFloat[(r1+8)] = f7;
+ f8 = heapFloat[(r3+10)];
+ heapFloat[(r1+9)] = f8;
+ f9 = heapFloat[(r3+11)];
+ heapFloat[(r1+10)] = f9;
+ f10 = heapFloat[(r3+12)];
+ heapFloat[(r1+11)] = f10;
+ f11 = heapFloat[(r3+13)];
+ heapFloat[(r1+12)] = f11;
+ f12 = heapFloat[(r3+14)];
+ heapFloat[(r1+13)] = f12;
+ f13 = heapFloat[(r3+15)];
+ heapFloat[(r1+14)] = f13;
+ f14 = heapFloat[(r3+16)];
+ heapFloat[(r1+15)] = f14;
+ f15 = heapFloat[(r3+17)];
+ heapFloat[(r1+16)] = f15;
+}
+else{
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+2)];
+ r6 = (r0 + 4)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r6;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ f0 = heapFloat[(r1+1)];
+ f1 = heapFloat[(r1+2)];
+ f2 = heapFloat[(r1+3)];
+ f3 = heapFloat[(r1+4)];
+ f4 = heapFloat[(r1+5)];
+ f5 = heapFloat[(r1+6)];
+ f6 = heapFloat[(r1+7)];
+ f7 = heapFloat[(r1+8)];
+ f8 = heapFloat[(r1+9)];
+ f9 = heapFloat[(r1+10)];
+ f10 = heapFloat[(r1+11)];
+ f11 = heapFloat[(r1+12)];
+ f12 = heapFloat[(r1+13)];
+ f13 = heapFloat[(r1+14)];
+ f14 = heapFloat[(r1+15)];
+ f15 = heapFloat[(r1+16)];
+}
+ heapFloat[(r1+17)] = f0;
+ heapFloat[(r1+18)] = f1;
+ heapFloat[(r1+19)] = f2;
+ heapFloat[(r1+20)] = f3;
+ heapFloat[(r1+21)] = f4;
+ heapFloat[(r1+22)] = f5;
+ heapFloat[(r1+23)] = f6;
+ heapFloat[(r1+24)] = f7;
+ heapFloat[(r1+25)] = f8;
+ heapFloat[(r1+26)] = f9;
+ heapFloat[(r1+27)] = f10;
+ heapFloat[(r1+28)] = f11;
+ heapFloat[(r1+29)] = f12;
+ heapFloat[(r1+30)] = f13;
+ heapFloat[(r1+31)] = f14;
+ heapFloat[(r1+32)] = f15;
+ heap32[(r1+33)] = 0;
+ heap32[(r1+34)] = 0;
+ heap32[(r1+35)] = 0;
+ heap32[(r1+36)] = 0;
+ heap32[(r1+37)] = 0;
+ heap32[(r1+38)] = 0;
+ heap32[(r1+39)] = 0;
+ heap32[(r1+40)] = 0;
+ heap32[(r1+56)] = heap32[(r3+25)];
+ heap32[(r1+57)] = heap32[(r3+26)];
+ r4 = heap32[(r1)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+3)];
+ r5 = heap32[(r3+18)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ r5 = _ZL8uniqueId;
+ r5 = r5 >> 2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = heap32[(r5)];
+ r6 = (r4 + 1)|0;
+ heap32[(r1+125)] = r4;
+ heap32[(r5)] = r6;
+ f0 = heapFloat[(r3)];
+ r2 = (r2 + 76)|0;
+ heap32[(g0)] = r0;
+ heapFloat[(g0+1)] = f0;
+ heap32[(g0+2)] = r2;
+ _ZN11btRigidBody12setMassPropsEfRK9btVector3(i7);
+ f0 = heapFloat[(r3+23)];
+ f1 = heapFloat[(r3+24)];
+ f2 = 0;
+ if(f0 >=f2) //_LBB682_5
+{
+ f3 = 1;
+ f0 = f0 > f3 ? f3 : f0;
+}
+else{
+ f0 = f2;
+}
+ heapFloat[(r1+109)] = f0;
+ if(f1 >=f2) //_LBB682_8
+{
+ f0 = 1;
+ f1 = f1 > f0 ? f0 : f1;
+}
+else{
+ f1 = 0;
+}
+ heapFloat[(r1+110)] = f1;
+ heap32[(g0)] = r0;
+ _ZN11btRigidBody19updateInertiaTensorEv(i7);
+ heap32[(r1+124)] = 0;
+ heap32[(r1+126)] = 0;
+ heap32[(r1+127)] = 0;
+ heap32[(r1+128)] = 0;
+ heap32[(r1+129)] = 0;
+ heap32[(r1+130)] = 0;
+ heap32[(r1+131)] = 0;
+ heap32[(r1+132)] = 0;
+ heap32[(r1+133)] = 0;
+ f0 = heapFloat[(r1+87)];
+ f1 = heapFloat[(r1+84)];
+ f2 = heapFloat[(r1+86)];
+ f3 = heapFloat[(r1+85)];
+ f3 = f3*f1;
+ f2 = f2*f1;
+ heapFloat[(r1+138)] = f3;
+ f0 = f0*f1;
+ heapFloat[(r1+139)] = f2;
+ heapFloat[(r1+140)] = f0;
+ heap32[(r1+141)] = 0;
+ heap32[(r1+142)] = 0;
+ heap32[(r1+143)] = 0;
+ heap32[(r1+144)] = 0;
+ heap32[(r1+145)] = 0;
+ heap32[(r1+146)] = 0;
+ heap32[(r1+147)] = 0;
+ heap32[(r1+148)] = 0;
+ heap32[(r1+149)] = 0;
+ return;
+}
+
+function _ZN11btRigidBodyD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV11btRigidBody;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+120)];
+ if(r1 ==0) //_LBB683_2
+{
+ r1 = heap32[(r2+122)];
+if(!(r1 ==0)) //_LBB683_6
+{
+ r3 = heapU8[r0+492];
+if(!(r3 ==0)) //_LBB683_5
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+122)] = 0;
+}
+ r1 = 1;
+ heap8[r0+492] = r1;
+ heap32[(r2+122)] = 0;
+ r1 = _ZTV17btCollisionObject;
+ heap32[(r2+120)] = 0;
+ r1 = (r1 + 8)|0;
+ heap32[(r2+121)] = 0;
+ heap32[(r2)] = r1;
+if(!(r0 ==0)) //_LBB683_8
+{
+ r0 = gNumAlignedFree;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ r0 = heap32[(r2+-1)];
+ heap32[(g0)] = r0;
+ free(i7);
+}
+ return;
+}
+else{
+ r0 = _2E_str248;
+ r2 = _2E_str34955;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 175;
+ _assert(i7);
+}
+}
+
+function _ZN11btRigidBodyD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTV11btRigidBody;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ r1 = heap32[(r2+120)];
+ if(r1 ==0) //_LBB684_2
+{
+ r1 = heap32[(r2+122)];
+if(!(r1 ==0)) //_LBB684_6
+{
+ r3 = heapU8[r0+492];
+if(!(r3 ==0)) //_LBB684_5
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1)|0;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r4;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ free(i7);
+}
+ heap32[(r2+122)] = 0;
+}
+ r1 = 1;
+ heap8[r0+492] = r1;
+ heap32[(r2+122)] = 0;
+ r0 = _ZTV17btCollisionObject;
+ heap32[(r2+120)] = 0;
+ r0 = (r0 + 8)|0;
+ heap32[(r2+121)] = 0;
+ heap32[(r2)] = r0;
+ return;
+}
+else{
+ r0 = _2E_str248;
+ r2 = _2E_str34955;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 175;
+ _assert(i7);
+}
+}
+
+function _ZNK11btRigidBody9serializeEPvP12btSerializer(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ r1 = r1 >> 2;
+ r2 = r0 >> 2;
+ _ZNK17btCollisionObject9serializeEPvP12btSerializer(i7);
+ heap32[(r1+62)] = heap32[(r2+64)];
+ heap32[(r1+63)] = heap32[(r2+65)];
+ heap32[(r1+64)] = heap32[(r2+66)];
+ heap32[(r1+65)] = heap32[(r2+67)];
+ heap32[(r1+66)] = heap32[(r2+68)];
+ heap32[(r1+67)] = heap32[(r2+69)];
+ heap32[(r1+68)] = heap32[(r2+70)];
+ heap32[(r1+69)] = heap32[(r2+71)];
+ heap32[(r1+70)] = heap32[(r2+72)];
+ heap32[(r1+71)] = heap32[(r2+73)];
+ heap32[(r1+72)] = heap32[(r2+74)];
+ heap32[(r1+73)] = heap32[(r2+75)];
+ heap32[(r1+74)] = heap32[(r2+76)];
+ heap32[(r1+75)] = heap32[(r2+77)];
+ heap32[(r1+76)] = heap32[(r2+78)];
+ heap32[(r1+77)] = heap32[(r2+79)];
+ heap32[(r1+78)] = heap32[(r2+80)];
+ heap32[(r1+79)] = heap32[(r2+81)];
+ heap32[(r1+80)] = heap32[(r2+82)];
+ heap32[(r1+81)] = heap32[(r2+83)];
+ heap32[(r1+110)] = heap32[(r2+84)];
+ heap32[(r1+82)] = heap32[(r2+134)];
+ heap32[(r1+83)] = heap32[(r2+135)];
+ heap32[(r1+84)] = heap32[(r2+136)];
+ heap32[(r1+85)] = heap32[(r2+137)];
+ heap32[(r1+86)] = heap32[(r2+85)];
+ heap32[(r1+87)] = heap32[(r2+86)];
+ heap32[(r1+88)] = heap32[(r2+87)];
+ heap32[(r1+89)] = heap32[(r2+88)];
+ heap32[(r1+90)] = heap32[(r2+89)];
+ heap32[(r1+91)] = heap32[(r2+90)];
+ heap32[(r1+92)] = heap32[(r2+91)];
+ heap32[(r1+93)] = heap32[(r2+92)];
+ heap32[(r1+94)] = heap32[(r2+93)];
+ heap32[(r1+95)] = heap32[(r2+94)];
+ heap32[(r1+96)] = heap32[(r2+95)];
+ heap32[(r1+97)] = heap32[(r2+96)];
+ heap32[(r1+98)] = heap32[(r2+97)];
+ heap32[(r1+99)] = heap32[(r2+98)];
+ heap32[(r1+100)] = heap32[(r2+99)];
+ heap32[(r1+101)] = heap32[(r2+100)];
+ heap32[(r1+102)] = heap32[(r2+101)];
+ heap32[(r1+103)] = heap32[(r2+102)];
+ heap32[(r1+104)] = heap32[(r2+103)];
+ heap32[(r1+105)] = heap32[(r2+104)];
+ heap32[(r1+106)] = heap32[(r2+105)];
+ heap32[(r1+107)] = heap32[(r2+106)];
+ heap32[(r1+108)] = heap32[(r2+107)];
+ heap32[(r1+109)] = heap32[(r2+108)];
+ heap32[(r1+111)] = heap32[(r2+109)];
+ heap32[(r1+112)] = heap32[(r2+110)];
+ r0 = heapU8[r0+444];
+ heap32[(r1+119)] = r0;
+ heap32[(r1+113)] = heap32[(r2+112)];
+ heap32[(r1+114)] = heap32[(r2+113)];
+ heap32[(r1+115)] = heap32[(r2+114)];
+ heap32[(r1+116)] = heap32[(r2+115)];
+ heap32[(r1+117)] = heap32[(r2+116)];
+ heap32[(r1+118)] = heap32[(r2+117)];
+ r0 = _2E_str4144;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11btRigidBody16addConstraintRefEP17btTypedConstraint(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(r1+120)];
+ r4 = 0;
+_1: while(true){
+ if(r3 >r4) //_LBB686_1
+{
+ r5 = heap32[(r1+122)];
+ r6 = r4 << 2;
+ r5 = (r5 + r6)|0;
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ if(r5 !=r2) //_LBB686_3
+{
+ r4 = (r4 + 1)|0;
+continue _1;
+}
+else{
+__label__ = 5;
+break _1;
+}
+}
+else{
+__label__ = 4;
+break _1;
+}
+}
+if (__label__ == 4){
+ r4 = r3;
+}
+if(!(r3 !=r4)) //_LBB686_27
+{
+ r4 = heap32[(r1+121)];
+ if(r4 ==r3) //_LBB686_9
+{
+ r5 = 1;
+ r6 = r3 << 1;
+ r6 = r3 == 0 ? r5 : r6;
+if(!(r4 >=r6)) //_LBB686_8
+{
+ if(r6 !=0) //_LBB686_12
+{
+ r4 = gNumAlignedAllocs;
+ r4 = r4 >> 2;
+ r7 = heap32[(r4)];
+ r8 = r6 << 2;
+ r7 = (r7 + 1)|0;
+ r8 = r8 | 3;
+ heap32[(r4)] = r7;
+ r4 = (r8 + 16)|0;
+ heap32[(g0)] = r4;
+ malloc(i7);
+ r4 = r_g0;
+ if(r4 !=0) //_LBB686_14
+{
+ r7 = 0;
+ r8 = (r4 + 4)|0;
+ r7 = (r7 - r8)|0;
+ r7 = r7 & 15;
+ r7 = (r4 + r7)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r4;
+ r4 = r8;
+}
+}
+else{
+ r4 = 0;
+}
+_18: do {
+ if(r3 <1) //_LBB686_17
+{
+ r8 = heap32[(r1+122)];
+}
+else{
+ r7 = 0;
+_21: while(true){
+ r8 = heap32[(r1+122)];
+ r9 = r7 << 2;
+ r10 = (r8 + r9)|0;
+ r10 = r10 >> 2;
+ r9 = (r4 + r9)|0;
+ r10 = heap32[(r10)];
+ r7 = (r7 + 1)|0;
+ r9 = r9 >> 2;
+ heap32[(r9)] = r10;
+if(!(r3 !=r7)) //_LBB686_18
+{
+break _18;
+}
+}
+}
+} while(0);
+ if(r8 !=0) //_LBB686_21
+{
+ r7 = heapU8[r0+492];
+ if(r7 !=0) //_LBB686_23
+{
+ r3 = gNumAlignedFree;
+ r3 = r3 >> 2;
+ r7 = heap32[(r3)];
+ r7 = (r7 + 1)|0;
+ r8 = r8 >> 2;
+ heap32[(r3)] = r7;
+ r3 = heap32[(r8+-1)];
+ heap32[(g0)] = r3;
+ free(i7);
+ r3 = heap32[(r1+120)];
+}
+ heap32[(r1+122)] = 0;
+}
+ heap8[r0+492] = r5;
+ heap32[(r1+122)] = r4;
+ heap32[(r1+121)] = r6;
+}
+}
+ r0 = r3 << 2;
+ r3 = heap32[(r1+122)];
+ r0 = (r3 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r2;
+ r0 = heap32[(r1+120)];
+ r0 = (r0 + 1)|0;
+ heap32[(r1+120)] = r0;
+}
+ heap32[(r1+63)] = 1;
+ return;
+}
+
+function _ZN11btRigidBody19integrateVelocitiesEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+ var f9;
+ var f10;
+ var f11;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+204];
+ r1 = r1 & 3;
+if(!(r1 !=0)) //_LBB687_3
+{
+ f0 = heapFloat[(fp+1)];
+ r0 = r0 >> 2;
+ f1 = heapFloat[(r0+84)];
+ f1 = f1*f0;
+ f2 = heapFloat[(r0+101)];
+ f3 = heapFloat[(r0+103)];
+ f4 = heapFloat[(r0+102)];
+ f5 = heapFloat[(r0+76)];
+ f2 = f2*f1;
+ f2 = f5+f2;
+ heapFloat[(r0+76)] = f2;
+ f2 = f4*f1;
+ f4 = heapFloat[(r0+77)];
+ f2 = f4+f2;
+ heapFloat[(r0+77)] = f2;
+ f1 = f3*f1;
+ f2 = heapFloat[(r0+78)];
+ f1 = f2+f1;
+ heapFloat[(r0+78)] = f1;
+ f1 = heapFloat[(r0+105)];
+ f2 = heapFloat[(r0+64)];
+ f3 = heapFloat[(r0+106)];
+ f4 = heapFloat[(r0+65)];
+ f2 = f2*f1;
+ f4 = f4*f3;
+ f5 = heapFloat[(r0+107)];
+ f6 = heapFloat[(r0+66)];
+ f2 = f2+f4;
+ f4 = f6*f5;
+ f2 = f2+f4;
+ f4 = heapFloat[(r0+68)];
+ f6 = heapFloat[(r0+69)];
+ f7 = heapFloat[(r0+72)];
+ f8 = heapFloat[(r0+73)];
+ f9 = heapFloat[(r0+74)];
+ f10 = heapFloat[(r0+70)];
+ f11 = heapFloat[(r0+80)];
+ f2 = f2*f0;
+ f4 = f4*f1;
+ f6 = f6*f3;
+ f2 = f11+f2;
+ f4 = f4+f6;
+ f6 = f10*f5;
+ f4 = f4+f6;
+ heapFloat[(r0+80)] = f2;
+ f1 = f7*f1;
+ f3 = f8*f3;
+ f4 = f4*f0;
+ f6 = heapFloat[(r0+81)];
+ f4 = f6+f4;
+ f1 = f1+f3;
+ f3 = f9*f5;
+ f1 = f1+f3;
+ heapFloat[(r0+81)] = f4;
+ f1 = f1*f0;
+ f3 = heapFloat[(r0+82)];
+ f1 = f3+f1;
+ f2 = f2*f2;
+ f3 = f4*f4;
+ heapFloat[(r0+82)] = f1;
+ f2 = f2+f3;
+ f1 = f1*f1;
+ f1 = f2+f1;
+ heapFloat[(g0)] = f1;
+ sqrtf(i7);
+ f1 = f_g0;
+ f2 = f1*f0;
+ f3 = 1.5707963705062866;
+if(!(f2 <=f3)) //_LBB687_3
+{
+ f0 = f3/f0;
+ f0 = f0/f1;
+ f1 = heapFloat[(r0+80)];
+ f1 = f1*f0;
+ heapFloat[(r0+80)] = f1;
+ f1 = heapFloat[(r0+81)];
+ f1 = f1*f0;
+ heapFloat[(r0+81)] = f1;
+ f1 = heapFloat[(r0+82)];
+ f0 = f1*f0;
+ heapFloat[(r0+82)] = f0;
+}
+}
+ return;
+}
+
+function _ZN11btRigidBody12applyDampingEf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+ var f4;
+ var f5;
+ var f6;
+ var f7;
+ var f8;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ f0 = heapFloat[(r1+109)];
+ f1 = 1;
+ f2 = heapFloat[(fp+1)];
+ f0 = f1-f0;
+ heapFloat[(g0)] = f0;
+ heapFloat[(g0+1)] = f2;
+ powf(i7);
+ f3 = heapFloat[(r1+76)];
+ f3 = f3*f_g0;
+ heapFloat[(r1+76)] = f3;
+ f3 = heapFloat[(r1+77)];
+ f3 = f3*f_g0;
+ heapFloat[(r1+77)] = f3;
+ f3 = heapFloat[(r1+78)];
+ f0 = f3*f_g0;
+ heapFloat[(r1+78)] = f0;
+ f0 = heapFloat[(r1+110)];
+ f0 = f1-f0;
+ heapFloat[(g0)] = f0;
+ heapFloat[(g0+1)] = f2;
+ powf(i7);
+ f2 = heapFloat[(r1+80)];
+ f2 = f2*f_g0;
+ heapFloat[(r1+80)] = f2;
+ f3 = heapFloat[(r1+81)];
+ f3 = f3*f_g0;
+ heapFloat[(r1+81)] = f3;
+ f4 = heapFloat[(r1+82)];
+ f0 = f4*f_g0;
+ heapFloat[(r1+82)] = f0;
+ r0 = heapU8[r0+444];
+if(!(r0 ==0)) //_LBB688_14
+{
+ f4 = f2*f2;
+ f5 = f3*f3;
+ f6 = heapFloat[(r1+76)];
+ f4 = f4+f5;
+ f5 = f0*f0;
+ f4 = f4+f5;
+ f5 = heapFloat[(r1+114)];
+ if(f4 <f5) //_LBB688_3
+{
+ f4 = heapFloat[(r1+77)];
+ f5 = heapFloat[(r1+78)];
+ f7 = f6*f6;
+ f8 = f4*f4;
+ f7 = f7+f8;
+ f8 = f5*f5;
+ f7 = f7+f8;
+ f8 = heapFloat[(r1+113)];
+ if(f7 <f8) //_LBB688_5
+{
+ f7 = heapFloat[(r1+112)];
+ f2 = f2*f7;
+ f3 = f3*f7;
+ heapFloat[(r1+80)] = f2;
+ f0 = f0*f7;
+ heapFloat[(r1+81)] = f3;
+ f6 = f6*f7;
+ heapFloat[(r1+82)] = f0;
+ f4 = f4*f7;
+ heapFloat[(r1+76)] = f6;
+ f5 = f5*f7;
+ heapFloat[(r1+77)] = f4;
+ heapFloat[(r1+78)] = f5;
+}
+}
+else{
+ f4 = heapFloat[(r1+77)];
+ f5 = heapFloat[(r1+78)];
+}
+ f0 = f6*f6;
+ f2 = f4*f4;
+ f0 = f0+f2;
+ f2 = f5*f5;
+ f0 = f0+f2;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f_g0;
+ f2 = heapFloat[(r1+109)];
+if(!(f2 <=f0)) //_LBB688_10
+{
+ f2 = 0.004999999888241291;
+ if(f0 <=f2) //_LBB688_9
+{
+ heap32[(r1+76)] = 0;
+ heap32[(r1+77)] = 0;
+ heap32[(r1+78)] = 0;
+ heap32[(r1+79)] = 0;
+}
+else{
+ f0 = heapFloat[(r1+76)];
+ f3 = heapFloat[(r1+77)];
+ f4 = heapFloat[(r1+78)];
+ f0 = f0*f0;
+ f3 = f3*f3;
+ f0 = f0+f3;
+ f3 = f4*f4;
+ f0 = f0+f3;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f1/f_g0;
+ f3 = heapFloat[(r1+76)];
+ f4 = heapFloat[(r1+77)];
+ f5 = f3*f0;
+ f6 = heapFloat[(r1+78)];
+ f7 = f4*f0;
+ f5 = f5*f2;
+ f0 = f6*f0;
+ f7 = f7*f2;
+ f3 = f3-f5;
+ f0 = f0*f2;
+ f2 = f4-f7;
+ heapFloat[(r1+76)] = f3;
+ f0 = f6-f0;
+ heapFloat[(r1+77)] = f2;
+ heapFloat[(r1+78)] = f0;
+}
+}
+ f0 = heapFloat[(r1+80)];
+ f2 = heapFloat[(r1+81)];
+ f3 = heapFloat[(r1+82)];
+ f0 = f0*f0;
+ f2 = f2*f2;
+ f0 = f0+f2;
+ f2 = f3*f3;
+ f0 = f0+f2;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f_g0;
+ f2 = heapFloat[(r1+110)];
+if(!(f2 <=f0)) //_LBB688_14
+{
+ f2 = 0.004999999888241291;
+ if(f0 <=f2) //_LBB688_13
+{
+ heap32[(r1+80)] = 0;
+ heap32[(r1+81)] = 0;
+ heap32[(r1+82)] = 0;
+ heap32[(r1+83)] = 0;
+}
+else{
+ f0 = heapFloat[(r1+80)];
+ f3 = heapFloat[(r1+81)];
+ f4 = heapFloat[(r1+82)];
+ f0 = f0*f0;
+ f3 = f3*f3;
+ f0 = f0+f3;
+ f3 = f4*f4;
+ f0 = f0+f3;
+ heapFloat[(g0)] = f0;
+ sqrtf(i7);
+ f0 = f1/f_g0;
+ f1 = heapFloat[(r1+80)];
+ f3 = heapFloat[(r1+81)];
+ f4 = f1*f0;
+ f5 = heapFloat[(r1+82)];
+ f6 = f3*f0;
+ f4 = f4*f2;
+ f0 = f5*f0;
+ f6 = f6*f2;
+ f1 = f1-f4;
+ f0 = f0*f2;
+ f2 = f3-f6;
+ heapFloat[(r1+80)] = f1;
+ f0 = f5-f0;
+ heapFloat[(r1+81)] = f2;
+ heapFloat[(r1+82)] = f0;
+ return;
+}
+}
+}
+ return;
+}
+
+function _GLOBAL__I__ZN7btClockC2Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = _ZL13gProfileClock_2E_0;
+ heap32[(g0)] = 8;
+ r0 = r0 >> 2;
+ _Znwj(i7);
+ heap32[(r0)] = r_g0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = 0;
+ r0 = _ZN15CProfileManager4RootE;
+ r1 = r0 >> 2;
+ r2 = _2E_str729;
+ gettimeofday(i7);
+ heap32[(r1)] = r2;
+ heap32[(r1+1)] = 0;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = 0;
+ heap32[(r1+4)] = 0;
+ heap32[(r1+5)] = 0;
+ heap32[(r1+6)] = 0;
+ heap32[(r1+7)] = 0;
+ heap32[(g0)] = r0;
+ _ZN12CProfileNode5ResetEv(i7);
+ return;
+}
+
+function _GLOBAL__D__ZN7btClockC2Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = _ZN15CProfileManager4RootE;
+ r1 = _ZL13gProfileClock_2E_0;
+ heap32[(g0)] = r0;
+ r0 = r1 >> 2;
+ _ZN12CProfileNodeD1Ev(i7);
+ r0 = heap32[(r0)];
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN12CProfileNode5ResetEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+_1: while(true){
+ r0 = r0 >> 2;
+ heap32[(r0+1)] = 0;
+ heap32[(r0+2)] = 0;
+ r1 = heap32[(r0+6)];
+if(!(r1 ==0)) //_LBB691_3
+{
+ heap32[(g0)] = r1;
+ _ZN12CProfileNode5ResetEv(i7);
+}
+ r0 = heap32[(r0+7)];
+ if(r0 !=0) //_LBB691_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+ return;
+}
+
+function _ZN12CProfileNodeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+6)];
+if(!(r1 ==0)) //_LBB692_2
+{
+ heap32[(g0)] = r1;
+ _ZN12CProfileNodeD1Ev(i7);
+ heap32[(g0)] = r1;
+ _ZdlPv(i7);
+}
+ r0 = heap32[(r0+7)];
+if(!(r0 ==0)) //_LBB692_4
+{
+ heap32[(g0)] = r0;
+ _ZN12CProfileNodeD1Ev(i7);
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+}
+ return;
+}
+
+function _ZN15CProfileManager13Start_ProfileEPKc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _ZN15CProfileManager11CurrentNodeE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = heap32[(fp)];
+ r3 = r1 >> 2;
+ r4 = heap32[(r3)];
+ if(r4 !=r2) //_LBB693_2
+{
+ r4 = (r1 + 24)|0;
+_3: while(true){
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ if(r4 !=0) //_LBB693_3
+{
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ if(r5 !=r2) //_LBB693_5
+{
+ r4 = (r4 + 28)|0;
+}
+else{
+__label__ = 3;
+break _3;
+}
+}
+else{
+__label__ = 6;
+break _3;
+}
+}
+switch(__label__ ){//multiple entries
+case 6:
+ heap32[(g0)] = 32;
+ _Znwj(i7);
+ r4 = r_g0;
+ r5 = r4 >> 2;
+ heap32[(r5)] = r2;
+ heap32[(r5+1)] = 0;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+ heap32[(r5+4)] = 0;
+ heap32[(r5+5)] = r1;
+ heap32[(r5+6)] = 0;
+ heap32[(r5+7)] = 0;
+ heap32[(g0)] = r4;
+ _ZN12CProfileNode5ResetEv(i7);
+ r1 = heap32[(r3+6)];
+ heap32[(r5+7)] = r1;
+ heap32[(r3+6)] = r4;
+ r1 = r4;
+break;
+case 3:
+ r1 = r4;
+break;
+}
+ heap32[(r0)] = r1;
+}
+ r0 = r1 >> 2;
+ r1 = heap32[(r0+1)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0+1)] = r1;
+ r1 = heap32[(r0+4)];
+ r2 = (r1 + 1)|0;
+ heap32[(r0+4)] = r2;
+if(!(r1 !=0)) //_LBB693_11
+{
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ r2 = _ZL13gProfileClock_2E_0;
+ gettimeofday(i7);
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r1 = r1 >> 2;
+ r3 = heap32[(fp+-2)];
+ r4 = heap32[(r2)];
+ r3 = (r3 - r4)|0;
+ r1 = heap32[(r1+1)];
+ r2 = heap32[(r2+1)];
+ r1 = (r1 - r2)|0;
+ r2 = (r3 * 1000000)|0;
+ r1 = (r1 + r2)|0;
+ heap32[(r0+3)] = r1;
+}
+ return;
+}
+
+function _ZN15CProfileManager5ResetEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = _ZL13gProfileClock_2E_0;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ gettimeofday(i7);
+ r1 = _ZN15CProfileManager4RootE;
+ heap32[(g0)] = r1;
+ r1 = r1 >> 2;
+ _ZN12CProfileNode5ResetEv(i7);
+ r2 = heap32[(r1+1)];
+ r2 = (r2 + 1)|0;
+ heap32[(r1+1)] = r2;
+ r2 = heap32[(r1+4)];
+ r3 = (r2 + 1)|0;
+ heap32[(r1+4)] = r3;
+if(!(r2 !=0)) //_LBB694_2
+{
+ r2 = sp + -16;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 0;
+ gettimeofday(i7);
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r2 = r2 >> 2;
+ r3 = heap32[(fp+-4)];
+ r4 = heap32[(r0)];
+ r3 = (r3 - r4)|0;
+ r2 = heap32[(r2+1)];
+ r0 = heap32[(r0+1)];
+ r0 = (r2 - r0)|0;
+ r2 = (r3 * 1000000)|0;
+ r0 = (r0 + r2)|0;
+ heap32[(r1+3)] = r0;
+}
+ r0 = _ZN15CProfileManager12FrameCounterE;
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+ r0 = sp + -8;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ gettimeofday(i7);
+ return;
+}
+
+function _GLOBAL__I__ZN4__rw9__catfindEPNS_8__rw_catE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = _ZN4__rwL12__rw_catlistE_2E_0;
+ r1 = _ZN4__rwL12__rw_catlistE_2E_1;
+ r0 = r0 >> 2;
+ r2 = _ZN4__rwL12__rw_catlistE_2E_2;
+ r1 = r1 >> 2;
+ heap32[(r0)] = 0;
+ r2 = r2 >> 2;
+ heap32[(r1)] = 0;
+ heap32[(r2)] = 0;
+ heap32[(g0)] = 136;
+ _Znwj(i7);
+ r3 = r_g0;
+if(!(r3 !=0)) //_LBB695_3
+{
+ heap32[(g0)] = 3;
+ _ZN4__rw10__rw_throwEiz(i7);
+}
+ r4 = (r3 + 136)|0;
+ heap32[(g0)] = 0;
+ _ZdlPv(i7);
+ r5 = heap32[(r0)];
+ if(r5 ==0) //_LBB695_6
+{
+ r8 = r3;
+}
+else{
+ r6 = r5;
+ r7 = r3;
+_9: while(true){
+ r9 = r6 >> 2;
+ r6 = (r6 + 4)|0;
+ r8 = (r7 + 4)|0;
+ r7 = r7 >> 2;
+ r9 = heap32[(r9)];
+ heap32[(r7)] = r9;
+ r7 = r8;
+ if(r6 !=0) //_LBB695_7
+{
+continue _9;
+}
+else{
+break _9;
+}
+}
+}
+ r6 = 0;
+_12: while(true){
+ r7 = r6 << 2;
+ r7 = (r8 + r7)|0;
+ r6 = (r6 + 1)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = 0;
+ if(r6 !=2) //_LBB695_9
+{
+continue _12;
+}
+else{
+break _12;
+}
+}
+ r6 = heap32[(r1)];
+ if(r6 ==0) //_LBB695_12
+{
+ r6 = (r8 + 8)|0;
+ heap32[(r0)] = r3;
+ heap32[(r1)] = r6;
+ heap32[(r2)] = r4;
+ heap32[(g0)] = r5;
+ _ZdlPv(i7);
+ return;
+}
+else{
+ abort(i7);
+}
+}
+
+function _GLOBAL__D__ZN4__rw9__catfindEPNS_8__rw_catE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = _ZN4__rwL12__rw_catlistE_2E_0;
+ r1 = _ZN4__rwL12__rw_catlistE_2E_1;
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r0 = heap32[(r0)];
+ r2 = heap32[(r1)];
+ r3 = (r2 - r0)|0;
+ r3 = r3 >> 2;
+if(!(r3 ==0)) //_LBB696_2
+{
+ r3 = r3 << 2;
+ r2 = (r2 - r3)|0;
+ heap32[(r1)] = r2;
+}
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN4__rwL13__rw_vfmtwhatEPcjPKcS0_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = _ZN4__rwL16__rw_what_refcntE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+1)];
+ r4 = (r1 + 1)|0;
+ heap32[(r0)] = r4;
+ if(r1 !=0) //_LBB697_2
+{
+ heap32[(g0)] = 256;
+ _Znaj(i7);
+ r1 = r_g0;
+ r4 = heap32[(r0)];
+ r4 = (r4 + -1)|0;
+ heap32[(r0)] = r4;
+}
+else{
+ r1 = _ZN4__rwL13__rw_what_bufE;
+}
+ r4 = 256;
+ r12 = swrite__index__;
+_5: while(true){
+ r5 = sp + -16;
+ heap32[(fp+-8)] = r3;
+ r6 = r5 >> 2;
+ heap32[(fp+-7)] = r3;
+ r7 = (r4 + -1)|0;
+ r8 = 0;
+ heap32[(r6+1)] = 0;
+ r9 = sp + -24;
+ r10 = r4 == 0 ? r8 : r7;
+ heap32[(fp+-4)] = r1;
+ r11 = r9 >> 2;
+ heap32[(r6+2)] = r10;
+ heap32[(r11+1)] = r12;
+ heap32[(fp+-6)] = r5;
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ __v_printf(i7);
+ r5 = r_g0;
+_7: do {
+if(!(r1 ==0)) //_LBB697_11
+{
+if(!(r4 ==0)) //_LBB697_11
+{
+if(!(r5 <0)) //_LBB697_11
+{
+if(!(r4 ==-1)) //_LBB697_10
+{
+if(!(uint(r5) <uint(r4))) //_LBB697_10
+{
+ heap8[r1+r7] = r8;
+break _7;
+}
+}
+ heap8[r1+r5] = r8;
+}
+}
+}
+} while(0);
+ r5 = r5 < 0 ? r8 : r5;
+ r5 = r7 > r5 ? r5 : r8;
+ if(r5 !=0) //_LBB697_13
+{
+ if(r4 >r5) //_LBB697_20
+{
+break _5;
+}
+else{
+ r4 = (r5 + 1)|0;
+}
+}
+else{
+ r4 = r4 << 1;
+}
+ r5 = _ZN4__rwL13__rw_what_bufE;
+ if(r1 !=r5) //_LBB697_17
+{
+if(!(r1 ==0)) //_LBB697_19
+{
+ heap32[(g0)] = r1;
+ _ZdaPv(i7);
+}
+}
+else{
+ r1 = heap32[(r0)];
+ r1 = (r1 + -1)|0;
+ heap32[(r0)] = r1;
+}
+ heap32[(g0)] = r4;
+ _Znaj(i7);
+ r1 = r_g0;
+continue _5;
+}
+ r_g0 = r1;
+ return;
+}
+
+function _ZN4__rw10__rw_throwEiz(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -64;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ if(r0 >4) //_LBB698_9
+{
+ r1 = (sp + 4)|0;
+ heap32[(fp+-7)] = r1;
+ r2 = _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E7__fname;
+ heap32[(fp+-9)] = r1;
+ r2 = r2 >> 2;
+ heap32[(fp+-8)] = r1;
+ r3 = heap32[(r2)];
+if(!(r3 !=0)) //_LBB698_41
+{
+ r3 = _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E6buffer;
+ r4 = 0;
+_5: while(true){
+ r5 = heapU8[r3];
+ r4 = r5 == 58 ? r3 : r4;
+ if(r5 !=0) //_LBB698_13
+{
+ r5 = (r3 + 1)|0;
+ r6 = heapU8[r3+1];
+ r4 = r6 == 58 ? r5 : r4;
+ if(r6 !=0) //_LBB698_15
+{
+ r5 = (r3 + 2)|0;
+ r6 = heapU8[r3+2];
+ r4 = r6 == 58 ? r5 : r4;
+ if(r6 !=0) //_LBB698_17
+{
+ r5 = (r3 + 3)|0;
+ r6 = heapU8[r3+3];
+ r4 = r6 == 58 ? r5 : r4;
+ if(r6 !=0) //_LBB698_19
+{
+ r3 = (r3 + 4)|0;
+}
+else{
+break _5;
+}
+}
+else{
+break _5;
+}
+}
+else{
+break _5;
+}
+}
+else{
+break _5;
+}
+}
+_12: do {
+if(!(r4 ==0)) //_LBB698_24
+{
+ r3 = 0;
+ heap8[r4] = r3;
+ r3 = _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E8__catset;
+ r4 = (r4 + 1)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r3;
+ sscanf(i7);
+ r4 = r_g0;
+ r3 = r3 >> 2;
+if(!(r4 !=1)) //_LBB698_23
+{
+ r4 = heap32[(r3)];
+ if(r4 >0) //_LBB698_24
+{
+break _12;
+}
+}
+ heap32[(r3)] = 1;
+}
+} while(0);
+ r3 = _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E4msgs;
+ r4 = r3 >> 2;
+ heap32[(r4+1)] = 0;
+ heap32[(r4+2)] = 0;
+ heap32[(r4+3)] = 0;
+ heap32[(r4+4)] = 0;
+ heap32[(r4+5)] = 0;
+ r5 = _ZTVSt8messagesIcE;
+ heap32[(r4+6)] = 0;
+ r5 = (r5 + 8)|0;
+ heap32[(r4+7)] = 0;
+ r6 = _ZN4__rwL22__rw_classic_once_initE_2E_0_2E_b;
+ heap32[(r4)] = r5;
+ r5 = heapU8[r6];
+if(!(r5 != 0)) //_LBB698_29
+{
+ _ZN4__rw11__rw_locale11_C_get_bodyEPS0_S1_PKciPKNS_10__rw_facetE(i7);
+ r5 = r_g0;
+ r7 = _ZN4__rwL12__rw_classicE;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r5;
+if(!(r5 !=0)) //_LBB698_28
+{
+ r5 = _2E_str12102177;
+ r7 = _2E_str10100175;
+ r8 = _2E_str538;
+ heap32[(g0)] = 19;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r8;
+ _ZN4__rw10__rw_throwEiz(i7);
+}
+ r5 = 1;
+ heap8[r6] = r5;
+}
+ r5 = _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E6buffer;
+ r6 = heapU8[r5];
+ if(r6 ==0) //_LBB698_31
+{
+ r6 = _ZNSs11_C_null_refE;
+ r7 = 0;
+ r6 = (r6 + 12)|0;
+}
+else{
+ r6 = 0;
+_28: while(true){
+ r7 = (r5 - r6)|0;
+ r6 = (r6 + -1)|0;
+ r7 = heapU8[r7+1];
+if(!(r7 !=0)) //_LBB698_32
+{
+break _28;
+}
+}
+ r7 = 0;
+ r7 = (r7 - r6)|0;
+ if(r6 !=0) //_LBB698_35
+{
+ r6 = 32;
+ r6 = uint(r7) > uint(r6) ? r7 : r6;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r7;
+ _ZNSs10_C_get_repEjj(i7);
+ r6 = (r_g0 + 12)|0;
+}
+else{
+ r6 = _ZNSs11_C_null_refE;
+ r6 = (r6 + 12)|0;
+}
+}
+ heap32[(fp+-4)] = r6;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r7;
+ memcpy(i7);
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+2)];
+ r6 = sp + -16;
+ r7 = _ZN4__rwL12__rw_classicE;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r7;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r3 = r_g0;
+ r4 = _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E5__cat;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r3;
+ r3 = heap32[(fp+-4)];
+ r3 = (r3 + -12)|0;
+ r4 = _ZNSs11_C_null_refE;
+if(!(r3 ==r4)) //_LBB698_40
+{
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r6 = (r4 + -1)|0;
+ heap32[(r3)] = r6;
+if(!(r4 >0)) //_LBB698_40
+{
+ r3 = heap32[(fp+-4)];
+ r3 = (r3 + -12)|0;
+ heap32[(g0)] = r3;
+ _ZdlPv(i7);
+}
+}
+ heap32[(fp+-4)] = 0;
+ heap32[(r2)] = r5;
+}
+ r2 = _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E5__cat;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ if(r2 !=-1) //_LBB698_43
+{
+ r3 = _ZNSs11_C_null_refE;
+ r4 = _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E4msgs;
+ r5 = (r3 + 12)|0;
+ r6 = r4 >> 2;
+ heap32[(fp+-2)] = r5;
+ r5 = _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E8__catset;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r5 = r5 >> 2;
+ r6 = heap32[(r6+3)];
+ r5 = heap32[(r5)];
+ r7 = sp + -24;
+ r8 = sp + -8;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = r0;
+ heap32[(g0+5)] = r8;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r2 = heap32[(fp+-2)];
+ r2 = (r2 + -12)|0;
+if(!(r2 ==r3)) //_LBB698_47
+{
+ r2 = r2 >> 2;
+ r4 = heap32[(r2)];
+ r5 = (r4 + -1)|0;
+ heap32[(r2)] = r5;
+if(!(r4 >0)) //_LBB698_47
+{
+ r2 = heap32[(fp+-2)];
+ r2 = (r2 + -12)|0;
+ heap32[(g0)] = r2;
+ _ZdlPv(i7);
+}
+}
+ heap32[(fp+-2)] = 0;
+ r2 = heap32[(fp+-6)];
+ r4 = r2 >> 2;
+ r4 = heap32[(r4+-1)];
+ if(r4 !=0) //_LBB698_49
+{
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r1;
+ _ZN4__rwL13__rw_vfmtwhatEPcjPKcS0_(i7);
+ r1 = r_g0;
+ r2 = heap32[(fp+-6)];
+}
+else{
+ r1 = 0;
+}
+ r2 = (r2 + -12)|0;
+if(!(r2 ==r3)) //_LBB698_54
+{
+ r2 = r2 >> 2;
+ r3 = heap32[(r2)];
+ r4 = (r3 + -1)|0;
+ heap32[(r2)] = r4;
+if(!(r3 >0)) //_LBB698_54
+{
+ r2 = heap32[(fp+-6)];
+ r2 = (r2 + -12)|0;
+ heap32[(g0)] = r2;
+ _ZdlPv(i7);
+}
+}
+ heap32[(fp+-6)] = 0;
+ if(r1 ==0) //_LBB698_56
+{
+__label__ = 50;
+}
+else{
+__label__ = 51;
+}
+}
+else{
+__label__ = 50;
+}
+if (__label__ == 50){
+ r1 = 24;
+ r2 = 0;
+ r0 = uint(r0) > uint(r1) ? r2 : r0;
+ r1 = _ZZN4__rw10__rw_throwEizE6errors;
+ r2 = r0 << 2;
+ r1 = (r1 + r2)|0;
+ r1 = r1 >> 2;
+ r2 = heap32[(fp+-7)];
+ r1 = heap32[(r1)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ _ZN4__rwL13__rw_vfmtwhatEPcjPKcS0_(i7);
+ r1 = r_g0;
+ if(r1 ==0) //_LBB698_60
+{
+ if(r0 ==2) //_LBB698_65
+{
+ r0 = _2E_str47;
+}
+else{
+ if(r0 ==1) //_LBB698_64
+{
+ r0 = _2E_str15132;
+}
+else{
+ if(r0 !=0) //_LBB698_66
+{
+ r0 = _2E_str5134;
+}
+else{
+ r0 = _2E_str4131;
+}
+}
+}
+ heap32[(g0)] = r0;
+ fprintf(i7);
+__label__ = 62;
+}
+else{
+__label__ = 51;
+}
+}
+if (__label__ == 51){
+ heap32[(g0)] = r1;
+ r0 = _ZN4__rwL13__rw_what_bufE;
+ fprintf(i7);
+ if(r1 !=r0) //_LBB698_59
+{
+ heap32[(g0)] = r1;
+ _ZdaPv(i7);
+}
+else{
+ r0 = _ZN4__rwL16__rw_what_refcntE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r1 = (r1 + -1)|0;
+ heap32[(r0)] = r1;
+}
+}
+ abort(i7);
+}
+else{
+ if(r0 ==2) //_LBB698_6
+{
+ r0 = _2E_str47;
+}
+else{
+ if(r0 ==1) //_LBB698_5
+{
+ r0 = _2E_str15132;
+}
+else{
+ if(r0 !=0) //_LBB698_7
+{
+ r0 = _2E_str5134;
+}
+else{
+ r0 = _2E_str4131;
+}
+}
+}
+ heap32[(g0)] = r0;
+ fprintf(i7);
+ abort(i7);
+}
+}
+
+function _ZN4__rw10__rw_facetD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN4__rw10__rw_facetE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ heap32[(r0+5)] = -1;
+ r1 = heap32[(r0+1)];
+ r2 = heap32[(r0+2)];
+if(!(r1 ==r2)) //_LBB699_3
+{
+if(!(r1 ==0)) //_LBB699_3
+{
+ heap32[(g0)] = r1;
+ _ZdaPv(i7);
+}
+}
+ r1 = _ZZN4__rw10__rw_facetD4EvE9destroyed;
+ heap32[(r0+1)] = r1;
+ r1 = heap32[(r0+4)];
+if(!(r1 !=-1)) //_LBB699_5
+{
+ r0 = heap32[(r0+3)];
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+}
+ return;
+}
+
+function _ZN4__rw10__rw_facetD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN4__rw10__rw_facetE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(r2+5)] = -1;
+ r1 = heap32[(r2+1)];
+ r3 = heap32[(r2+2)];
+if(!(r1 ==r3)) //_LBB700_3
+{
+if(!(r1 ==0)) //_LBB700_3
+{
+ heap32[(g0)] = r1;
+ _ZdaPv(i7);
+}
+}
+ r1 = _ZZN4__rw10__rw_facetD4EvE9destroyed;
+ heap32[(r2+1)] = r1;
+ r1 = heap32[(r2+4)];
+if(!(r1 !=-1)) //_LBB700_5
+{
+ r1 = heap32[(r2+3)];
+ heap32[(g0)] = r1;
+ _ZdlPv(i7);
+}
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_E(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE12n_std_facets;
+ r1 = _ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE10std_facets;
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r2 = heap32[(fp)];
+ r3 = heap32[(r0)];
+ r4 = heap32[(r1)];
+_1: do {
+ if(r2 ==0) //_LBB701_24
+{
+ r5 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r6 = heap32[(fp+3)];
+ r7 = _2E_str538;
+ r8 = r2 == 0 ? r7 : r2;
+ r9 = r3;
+_3: while(true){
+ r10 = r9;
+ if(r10 ==0) //_LBB701_34
+{
+__label__ = 34;
+break _3;
+}
+else{
+ r9 = r10 << 1;
+ r11 = r9 & -4;
+ r12 = (r4 + r11)|0;
+ r9 = r12 >> 2;
+ r13 = heap32[(r9)];
+ r14 = r13 >> 2;
+ r15 = heap32[(r14+5)];
+ r9 = r10 >>> 1;
+ if(r15 !=r5) //_LBB701_27
+{
+ r15 = (r15 - r5)|0;
+}
+else{
+ r15 = heap32[(r14+1)];
+ r15 = r15 == 0 ? r7 : r15;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r15;
+ strcmp(i7);
+ r15 = r_g0;
+}
+ if(r15 <0) //_LBB701_31
+{
+__label__ = 31;
+}
+else{
+ if(r15 <1) //_LBB701_32
+{
+__label__ = 32;
+break _3;
+}
+else{
+ r4 = (r11 + r4)|0;
+ r10 = (r10 + -1)|0;
+ r4 = (r4 + 4)|0;
+ r9 = (r10 - r9)|0;
+}
+}
+}
+}
+if (__label__ == 32){
+if(!(r12 ==0)) //_LBB701_34
+{
+ r2 = heap32[(r14+6)];
+ r2 = (r2 + 1)|0;
+ heap32[(r14+6)] = r2;
+ r_g0 = r13;
+ return;
+}
+}
+ r4 = _ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE17std_facet_bufsize;
+ r4 = r4 >> 2;
+ r7 = heap32[(r4)];
+if(!(r3 !=r7)) //_LBB701_39
+{
+ r3 = r3 << 3;
+ heap32[(g0)] = r3;
+ _Znaj(i7);
+ r3 = r_g0;
+ r7 = heap32[(r1)];
+ r8 = heap32[(r0)];
+ r8 = r8 << 2;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r8;
+ memcpy(i7);
+ r8 = _ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE13std_facet_buf;
+if(!(r7 ==r8)) //_LBB701_38
+{
+if(!(r7 ==0)) //_LBB701_38
+{
+ heap32[(g0)] = r7;
+ _ZdaPv(i7);
+}
+}
+ heap32[(r1)] = r3;
+ r3 = heap32[(r4)];
+ r3 = r3 << 1;
+ heap32[(r4)] = r3;
+}
+ r3 = r5 & 1;
+ r4 = 0;
+ r2 = r3 == 0 ? r2 : r4;
+ heap32[(g0)] = 1;
+ heap32[(g0+1)] = r2;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r2 = r_g0;
+ r3 = (r5 + 1)|0;
+ r4 = r3 >>> 31;
+ r6 = r2 >> 2;
+ r3 = (r3 + r4)|0;
+ r4 = heap32[(r6+7)];
+ r4 = r4 >> 2;
+ r3 = r3 >> 1;
+ heap32[(r4)] = r3;
+ r3 = heap32[(r6+5)];
+if(!(r3 ==r5)) //_LBB701_41
+{
+ r3 = r2 >> 2;
+ heap32[(r3+5)] = r5;
+}
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+6)];
+if(!(r4 ==1)) //_LBB701_43
+{
+ heap32[(r3+6)] = 1;
+}
+ r3 = heap32[(r0)];
+ r1 = heap32[(r1)];
+ r4 = r3 << 2;
+ r4 = (r1 + r4)|0;
+ r4 = r4 >> 2;
+ r5 = (r3 + 1)|0;
+ heap32[(r4)] = r2;
+ heap32[(r0)] = r5;
+ r0 = (r3 + -1)|0;
+ if(uint(r0) <uint(2147483645)) //_LBB701_45
+{
+ r0 = cmpfacets__index__;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r0;
+ quicksort(i7);
+}
+}
+else{
+ r5 = r3;
+ r6 = r4;
+_31: while(true){
+ r7 = r5;
+ if(r7 ==0) //_LBB701_23
+{
+__label__ = 23;
+break _31;
+}
+else{
+ r5 = r7 << 1;
+ r8 = r5 & -4;
+ r9 = (r6 + r8)|0;
+ r5 = r9 >> 2;
+ r5 = heap32[(r5)];
+ r10 = r2 >> 2;
+ r11 = r5 >> 2;
+ r12 = heap32[(r10+5)];
+ r13 = heap32[(r11+5)];
+ r5 = r7 >>> 1;
+ if(r12 !=r13) //_LBB701_4
+{
+ r12 = (r13 - r12)|0;
+}
+else{
+ r12 = heap32[(r11+1)];
+ r13 = heap32[(r10+1)];
+ r10 = _2E_str538;
+ r13 = r13 == 0 ? r10 : r13;
+ r12 = r12 == 0 ? r10 : r12;
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r12;
+ strcmp(i7);
+ r12 = r_g0;
+}
+ if(r12 <0) //_LBB701_8
+{
+__label__ = 8;
+}
+else{
+ if(r12 <1) //_LBB701_9
+{
+__label__ = 9;
+break _31;
+}
+else{
+ r6 = (r8 + r6)|0;
+ r7 = (r7 + -1)|0;
+ r6 = (r6 + 4)|0;
+ r5 = (r7 - r5)|0;
+}
+}
+}
+}
+if (__label__ == 9){
+if(!(r9 ==0)) //_LBB701_23
+{
+ r2 = (r9 - r4)|0;
+ r5 = r2 & -4;
+ r6 = (r4 + r5)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ r7 = r6 >> 2;
+ r8 = heap32[(r7+6)];
+ r8 = (r8 + -1)|0;
+ heap32[(r7+6)] = r8;
+ if(r8 ==0) //_LBB701_12
+{
+ r2 = r2 >> 2;
+ r8 = (r3 + -1)|0;
+ heap32[(r0)] = r8;
+ if(uint(r8) >uint(207)) //_LBB701_17
+{
+__label__ = 17;
+}
+else{
+ r0 = _ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE13std_facet_buf;
+ if(r4 ==r0) //_LBB701_17
+{
+__label__ = 17;
+}
+else{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r5;
+ r3 = r2 << 2;
+ r5 = (r3 + r4)|0;
+ r2 = (r8 - r2)|0;
+ memcpy(i7);
+ r3 = (r0 + r3)|0;
+ r8 = (r5 + 4)|0;
+ r2 = r2 << 2;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r2;
+ memcpy(i7);
+if(!(r4 ==0)) //_LBB701_16
+{
+ heap32[(g0)] = r4;
+ _ZdaPv(i7);
+}
+ heap32[(r1)] = r0;
+__label__ = 20;
+}
+}
+_51: do {
+if (__label__ == 17){
+ r0 = (r8 - r2)|0;
+ r0 = r0 << 2;
+if(!(r0 ==0)) //_LBB701_20
+{
+ r0 = r3 << 2;
+ r2 = r2 << 2;
+ r0 = (r0 + -4)|0;
+ r1 = (r2 + r4)|0;
+ r2 = (r0 - r2)|0;
+ r0 = (r1 + 4)|0;
+_54: while(true){
+ r1 = heapU8[r0];
+ r2 = (r2 + -1)|0;
+ r3 = (r0 + 1)|0;
+ heap8[r0+-4] = r1;
+ r0 = r3;
+if(!(r2 !=0)) //_LBB701_19
+{
+break _51;
+}
+}
+}
+}
+} while(0);
+ r2 = heap32[(r7+1)];
+if(!(r2 ==0)) //_LBB701_11
+{
+if(!(r6 ==0)) //_LBB701_11
+{
+ r2 = heap32[(r7)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+1)];
+ heap32[(g0)] = r6;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r2 = 0;
+ r_g0 = r2;
+ return;
+}
+}
+}
+ r2 = 0;
+break _1;
+}
+}
+ r0 = r2 >> 2;
+ r1 = heap32[(r0+6)];
+ r1 = (r1 + -1)|0;
+ heap32[(r0+6)] = r1;
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+} while(0);
+ r_g0 = r2;
+ return;
+}
+
+function cmpfacets(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r0 = heap32[(r0)];
+ r1 = heap32[(r1)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r2 = heap32[(r0+5)];
+ r3 = heap32[(r1+5)];
+ if(r2 !=r3) //_LBB702_2
+{
+ r0 = (r3 - r2)|0;
+ r_g0 = r0;
+ return;
+}
+else{
+ r2 = heap32[(r1+1)];
+ r3 = heap32[(r0+1)];
+ r0 = _2E_str538;
+ r3 = r3 == 0 ? r0 : r3;
+ r2 = r2 == 0 ? r0 : r2;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ strcmp(i7);
+ return;
+}
+}
+
+function _ZN4__rwL16__rw_expand_nameERNS_14__rw_pod_arrayIcLj256EEEPKc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+var __label__ = 0;
+ i7 = sp + -640;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = 0;
+ r3 = r1;
+_1: while(true){
+ r4 = r2 << 2;
+ r5 = heapU8[r3];
+ if(r5 !=59) //_LBB703_3
+{
+ if(r5 !=0) //_LBB703_5
+{
+ r5 = heapU8[r3+1];
+ if(r5 ==59) //_LBB703_14
+{
+__label__ = 14;
+break _1;
+}
+else{
+ if(r5 ==0) //_LBB703_4
+{
+__label__ = 4;
+break _1;
+}
+else{
+ r5 = heapU8[r3+2];
+ if(r5 !=59) //_LBB703_9
+{
+ if(r5 ==0) //_LBB703_4
+{
+__label__ = 4;
+break _1;
+}
+else{
+ r5 = heapU8[r3+3];
+ if(r5 !=59) //_LBB703_12
+{
+ if(r5 ==0) //_LBB703_4
+{
+__label__ = 4;
+break _1;
+}
+else{
+ r2 = (r2 + 1)|0;
+ r3 = (r3 + 4)|0;
+continue _1;
+}
+}
+else{
+__label__ = 11;
+break _1;
+}
+}
+}
+else{
+__label__ = 8;
+break _1;
+}
+}
+}
+}
+else{
+__label__ = 4;
+break _1;
+}
+}
+else{
+__label__ = 2;
+break _1;
+}
+}
+switch(__label__ ){//multiple entries
+case 14:
+ r2 = (r3 + 1)|0;
+break;
+case 4:
+ r2 = 0;
+break;
+case 2:
+ r2 = (r1 + r4)|0;
+break;
+case 11:
+ r2 = r4 | 3;
+ r2 = (r1 + r2)|0;
+break;
+case 8:
+ r2 = r4 | 2;
+ r2 = (r1 + r2)|0;
+break;
+}
+_18: do {
+ if(r2 ==r1) //_LBB703_17
+{
+ r3 = (r1 + 1)|0;
+ r4 = (r1 + 3)|0;
+ r5 = 0;
+ r2 = r3;
+_20: while(true){
+ r6 = heapU8[r4+-2];
+ if(r6 ==59) //_LBB703_21
+{
+__label__ = 19;
+break _20;
+}
+else{
+ if(r6 !=0) //_LBB703_22
+{
+ r6 = heapU8[r4+-1];
+ if(r6 ==0) //_LBB703_20
+{
+__label__ = 90;
+break _18;
+}
+else{
+ r7 = r5 << 2;
+ if(r6 !=59) //_LBB703_25
+{
+ r6 = heapU8[r4];
+ if(r6 ==0) //_LBB703_20
+{
+__label__ = 90;
+break _18;
+}
+else{
+ if(r6 !=59) //_LBB703_28
+{
+ r6 = heapU8[r4+1];
+ if(r6 ==0) //_LBB703_20
+{
+__label__ = 90;
+break _18;
+}
+else{
+ if(r6 !=59) //_LBB703_31
+{
+ r5 = (r5 + 1)|0;
+ r4 = (r4 + 4)|0;
+ r2 = (r2 + 4)|0;
+}
+else{
+__label__ = 27;
+break _20;
+}
+}
+}
+else{
+__label__ = 32;
+break _18;
+}
+}
+}
+else{
+__label__ = 22;
+break _20;
+}
+}
+}
+else{
+__label__ = 90;
+break _18;
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 19:
+ r1 = r3;
+__label__ = 29;
+break _18;
+break;
+case 27:
+ r2 = r7 | 3;
+ r1 = (r2 + r1)|0;
+ r4 = (r1 + 1)|0;
+__label__ = 32;
+break _18;
+break;
+case 22:
+ r2 = r7 | 1;
+ r1 = (r2 + r1)|0;
+ r4 = (r1 + 1)|0;
+__label__ = 32;
+break;
+}
+}
+else{
+__label__ = 29;
+}
+} while(0);
+if (__label__ == 29){
+ if(r2 ==0) //_LBB703_34
+{
+ r3 = r1;
+__label__ = 90;
+}
+else{
+ r4 = r2;
+ r3 = r1;
+__label__ = 32;
+}
+}
+_39: do {
+switch(__label__ ){//multiple entries
+case 90:
+ r7 = heapU8[r3];
+ if(r7 ==0) //_LBB703_98
+{
+ r0 = sp + -624;
+ r0 = r0 >> 2;
+ heap32[(r0+20)] = 0;
+ heap32[(r0+22)] = 0;
+ heap32[(r0+21)] = 0;
+__label__ = 73;
+break _39;
+}
+else{
+ r7 = 1;
+__label__ = 93;
+break _39;
+}
+break;
+case 32:
+ r1 = sp + -264;
+ r2 = sp + -528;
+ r5 = (r1 + 8)|0;
+ r6 = (r2 + 8)|0;
+ r7 = 1;
+ r8 = 0;
+_45: while(true){
+ if(r4 ==0) //_LBB703_39
+{
+ r4 = heapU8[r3];
+_49: do {
+ if(r4 !=0) //_LBB703_41
+{
+ r9 = (r3 + 1)|0;
+ r10 = 0;
+_51: while(true){
+ r4 = (r10 + 1)|0;
+ r11 = heapU8[r9+r10];
+ r10 = r4;
+if(!(r11 !=0)) //_LBB703_42
+{
+break _49;
+}
+}
+}
+else{
+ r4 = 0;
+}
+} while(0);
+ r4 = (r3 + r4)|0;
+}
+ r9 = (r4 - r3)|0;
+ heap32[(fp+-66)] = r9;
+ if(uint(r9) >uint(255)) //_LBB703_46
+{
+ r10 = (r9 + 1)|0;
+ heap32[(g0)] = r10;
+ _Znaj(i7);
+ r10 = r_g0;
+}
+else{
+ r10 = r5;
+}
+ r11 = r1 >> 2;
+ heap32[(r11+1)] = r10;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r9;
+ memcpy(i7);
+ r9 = heap32[(r11+1)];
+ r10 = heap32[(fp+-66)];
+ r12 = 0;
+ heap8[r9+r10] = r12;
+ r9 = r2 >> 2;
+ heap32[(fp+-132)] = 0;
+ heap32[(r9+1)] = r6;
+ heap8[sp+-520] = r12;
+ r10 = _ZN4__rw9__rw_catsE;
+ r13 = (r8 * 12)|0;
+ r10 = (r10 + r13)|0;
+ r13 = heap32[(r11+1)];
+ r10 = r10 >> 2;
+ r10 = heap32[(r10)];
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r13;
+ heap32[(g0+2)] = r2;
+ _ZN4__rw16__rw_locale_nameEiPKcRNS_14__rw_pod_arrayIcLj256EEE(i7);
+ r10 = r_g0;
+ if(r10 !=0) //_LBB703_50
+{
+ r13 = heapU8[r10];
+_63: do {
+ if(r13 !=0) //_LBB703_52
+{
+ r14 = (r10 + 1)|0;
+_65: while(true){
+ r13 = (r12 + 1)|0;
+ r15 = heapU8[r14+r12];
+ r12 = r13;
+if(!(r15 !=0)) //_LBB703_53
+{
+break _63;
+}
+}
+}
+else{
+ r13 = 0;
+}
+} while(0);
+ r12 = r7 & 255;
+_69: do {
+if(!(r12 ==0)) //_LBB703_56
+{
+ if(r8 !=0) //_LBB703_57
+{
+ r7 = r0 >> 2;
+ r7 = heap32[(r7+1)];
+ r12 = r7;
+ r14 = r10;
+ r15 = r13;
+_72: while(true){
+ if(r15 !=0) //_LBB703_58
+{
+ r15 = (r15 + -1)|0;
+ r16 = (r14 + 1)|0;
+ r17 = (r12 + 1)|0;
+ r18 = heapU8[r12];
+ r19 = heapU8[r14];
+ r12 = r17;
+ r14 = r16;
+ if(r18 !=r19) //_LBB703_62
+{
+__label__ = 57;
+break _72;
+}
+else{
+__label__ = 54;
+}
+}
+else{
+__label__ = 55;
+break _72;
+}
+}
+if (__label__ == 55){
+ r7 = heapU8[r7+r13];
+if(!(r7 !=59)) //_LBB703_62
+{
+ r7 = 1;
+break _69;
+}
+}
+ r7 = 0;
+}
+}
+} while(0);
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r13;
+ _ZN4__rw14__rw_pod_arrayIcLj256EE6appendEPKcj(i7);
+ r8 = (r8 + 1)|0;
+ if(r8 !=6) //_LBB703_66
+{
+ r10 = heapU8[r4];
+ if(r10 !=0) //_LBB703_68
+{
+ r3 = _2E_str785;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 1;
+ _ZN4__rw14__rw_pod_arrayIcLj256EE6appendEPKcj(i7);
+ r3 = (r4 + 1)|0;
+ r4 = 2;
+}
+else{
+ r4 = 1;
+}
+}
+else{
+ r4 = 1;
+ r8 = 6;
+}
+}
+else{
+ r4 = 0;
+}
+ r9 = heap32[(r9+1)];
+if(!(r9 ==r6)) //_LBB703_73
+{
+if(!(r9 ==0)) //_LBB703_73
+{
+ heap32[(g0)] = r9;
+ _ZdaPv(i7);
+}
+}
+ if(r4 ==1) //_LBB703_79
+{
+__label__ = 74;
+break _45;
+}
+else{
+ if(r4 !=0) //_LBB703_83
+{
+ r4 = heap32[(r11+1)];
+ if(r4 ==r5) //_LBB703_85
+{
+__label__ = 79;
+}
+else{
+ if(r4 !=0) //_LBB703_86
+{
+ r10 = 0;
+ heap32[(g0)] = r4;
+ _ZdaPv(i7);
+ r9 = r3;
+__label__ = 81;
+}
+else{
+__label__ = 79;
+}
+}
+if (__label__ == 79){
+ r10 = 0;
+ r9 = r3;
+}
+_101: while(true){
+ r4 = r10 << 2;
+ r11 = r4 | 3;
+ r12 = r4 | 2;
+ r13 = heapU8[r9];
+ r4 = (r3 + r4)|0;
+ r11 = (r3 + r11)|0;
+ r12 = (r3 + r12)|0;
+ if(r13 ==59) //_LBB703_37
+{
+continue _45;
+}
+else{
+ r4 = 0;
+ if(r13 ==0) //_LBB703_37
+{
+continue _45;
+}
+else{
+ r13 = heapU8[r9+1];
+ if(r13 ==59) //_LBB703_36
+{
+break _101;
+}
+else{
+ r4 = 0;
+ if(r13 ==0) //_LBB703_37
+{
+continue _45;
+}
+else{
+ r13 = heapU8[r9+2];
+ r4 = r12;
+ if(r13 ==59) //_LBB703_37
+{
+continue _45;
+}
+else{
+ r4 = 0;
+ if(r13 ==0) //_LBB703_37
+{
+continue _45;
+}
+else{
+ r12 = heapU8[r9+3];
+ r4 = r11;
+ if(r12 ==59) //_LBB703_37
+{
+continue _45;
+}
+else{
+ r4 = 0;
+ if(r12 ==0) //_LBB703_37
+{
+continue _45;
+}
+else{
+ r10 = (r10 + 1)|0;
+ r9 = (r9 + 4)|0;
+}
+}
+}
+}
+}
+}
+}
+}
+}
+ r4 = (r9 + 1)|0;
+continue _45;
+}
+else{
+__label__ = 70;
+break _45;
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 74:
+ r1 = heap32[(r11+1)];
+ if(r1 ==r5) //_LBB703_81
+{
+__label__ = 93;
+break _39;
+}
+else{
+ if(r1 !=0) //_LBB703_82
+{
+ heap32[(g0)] = r1;
+ _ZdaPv(i7);
+__label__ = 93;
+break _39;
+}
+else{
+__label__ = 93;
+break _39;
+}
+}
+break;
+case 70:
+ r0 = heap32[(r11+1)];
+ if(r0 ==r5) //_LBB703_78
+{
+__label__ = 73;
+}
+else{
+ if(r0 ==0) //_LBB703_78
+{
+__label__ = 73;
+}
+else{
+ heap32[(g0)] = r0;
+ _ZdaPv(i7);
+__label__ = 73;
+}
+}
+break;
+}
+break;
+}
+} while(0);
+_119: do {
+if (__label__ == 93){
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+1)];
+ r4 = heapU8[r2];
+ if(r4 ==0) //_LBB703_117
+{
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r0;
+ _ZN4__rw16__rw_locale_nameEiPKcRNS_14__rw_pod_arrayIcLj256EEE(i7);
+ r0 = r_g0;
+ if(r0 ==0) //_LBB703_78
+{
+break _119;
+}
+}
+else{
+ r3 = r7 & 255;
+if(!(r3 ==0)) //_LBB703_118
+{
+ r3 = 0;
+ r4 = r2;
+_125: while(true){
+ r5 = r3 << 2;
+ r6 = heapU8[r4];
+ if(r6 !=59) //_LBB703_104
+{
+ if(r6 !=0) //_LBB703_106
+{
+ r6 = heapU8[r4+1];
+ if(r6 ==59) //_LBB703_115
+{
+__label__ = 109;
+break _125;
+}
+else{
+ if(r6 ==0) //_LBB703_105
+{
+__label__ = 99;
+break _125;
+}
+else{
+ r6 = heapU8[r4+2];
+ if(r6 !=59) //_LBB703_110
+{
+ if(r6 ==0) //_LBB703_105
+{
+__label__ = 99;
+break _125;
+}
+else{
+ r6 = heapU8[r4+3];
+ if(r6 !=59) //_LBB703_113
+{
+ if(r6 ==0) //_LBB703_105
+{
+__label__ = 99;
+break _125;
+}
+else{
+ r3 = (r3 + 1)|0;
+ r4 = (r4 + 4)|0;
+}
+}
+else{
+__label__ = 106;
+break _125;
+}
+}
+}
+else{
+__label__ = 103;
+break _125;
+}
+}
+}
+}
+else{
+__label__ = 99;
+break _125;
+}
+}
+else{
+__label__ = 97;
+break _125;
+}
+}
+switch(__label__ ){//multiple entries
+case 109:
+ r3 = (r4 + 1)|0;
+break;
+case 99:
+ r3 = 0;
+break;
+case 97:
+ r3 = (r2 + r5)|0;
+break;
+case 106:
+ r3 = r5 | 3;
+ r3 = (r2 + r3)|0;
+break;
+case 103:
+ r3 = r5 | 2;
+ r3 = (r2 + r3)|0;
+break;
+}
+ r3 = (r3 - r2)|0;
+ heap32[(r1+1)] = r2;
+ heap32[(r1)] = r3;
+ r3 = _2E_str26;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 1;
+ _ZN4__rw14__rw_pod_arrayIcLj256EE6appendEPKcj(i7);
+}
+}
+ r0 = heap32[(r1+1)];
+ r_g0 = r0;
+ return;
+}
+} while(0);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function cmplocales(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r0 = heap32[(r0)];
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r0 = r0 >> 2;
+ r1 = heap32[(r1+38)];
+ r0 = heap32[(r0+38)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ strcmp(i7);
+ return;
+}
+
+function _ZN4__rw11__rw_localeD2Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+38)];
+ r3 = (r0 + 112)|0;
+ if(r2 ==r3) //_LBB705_2
+{
+__label__ = 2;
+}
+else{
+ if(r2 !=0) //_LBB705_3
+{
+ r3 = 0;
+ heap32[(g0)] = r2;
+ _ZdaPv(i7);
+__label__ = 4;
+}
+else{
+__label__ = 2;
+}
+}
+if (__label__ == 2){
+ r3 = 0;
+}
+_6: while(true){
+ r2 = r3 << 2;
+ r2 = (r0 - r2)|0;
+ r2 = r2 >> 2;
+ r4 = 0;
+ r2 = heap32[(r2)];
+if(!(r2 ==0)) //_LBB705_10
+{
+ r5 = r2 >> 2;
+ r6 = heap32[(r5+5)];
+ if(r6 ==0) //_LBB705_7
+{
+ r2 = heap32[(r5+6)];
+ r2 = (r2 + -1)|0;
+ heap32[(r5+6)] = r2;
+if(!(r2 !=0)) //_LBB705_10
+{
+ r2 = (r4 - r3)|0;
+ r2 = r2 << 2;
+ r2 = (r0 + r2)|0;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+if(!(r2 ==0)) //_LBB705_10
+{
+ r5 = r2 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+1)];
+ heap32[(g0)] = r2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+}
+}
+else{
+ r5 = heap32[(r5+1)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = 0;
+ _ZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_E(i7);
+}
+}
+ r3 = (r3 + -1)|0;
+ if(r3 !=-26) //_LBB705_4
+{
+continue _6;
+}
+else{
+break _6;
+}
+}
+ r0 = heap32[(r1+26)];
+ r2 = heap32[(r1+27)];
+_17: do {
+if(!(r2 ==0)) //_LBB705_13
+{
+_18: while(true){
+ r2 = r4 << 2;
+ r0 = (r0 + r2)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r3 = heap32[(r0+6)];
+ r3 = (r3 + -1)|0;
+ heap32[(r0+6)] = r3;
+if(!(r3 !=0)) //_LBB705_17
+{
+ r0 = heap32[(r1+26)];
+ r0 = (r0 + r2)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+if(!(r0 ==0)) //_LBB705_17
+{
+ r2 = r0 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+1)];
+ heap32[(g0)] = r0;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+}
+ r4 = (r4 + 1)|0;
+ r0 = heap32[(r1+26)];
+ r2 = heap32[(r1+27)];
+ if(r4 !=r2) //_LBB705_14
+{
+continue _18;
+}
+else{
+break _17;
+}
+}
+}
+} while(0);
+if(!(r0 ==0)) //_LBB705_20
+{
+ heap32[(g0)] = r0;
+ _ZdaPv(i7);
+}
+ return;
+}
+
+function _ZN4__rw11__rw_localeC2EPKc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -280;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ heap32[(r1+26)] = 0;
+ heap32[(r1+27)] = 0;
+ heap32[(r1+39)] = 1;
+ r2 = heap32[(fp+1)];
+ heap32[(r1+40)] = 0;
+ heap32[(r1+41)] = 0;
+ r3 = heapU8[r2];
+ if(r3 ==0) //_LBB706_2
+{
+ r3 = sp + -264;
+ r4 = 0;
+ r5 = r3 >> 2;
+ r6 = (r0 + 112)|0;
+ heap8[sp+-256] = r4;
+ heap32[(r5+1)] = r6;
+ heap32[(fp+-66)] = 0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ r2 = (r3 + 8)|0;
+ _ZN4__rwL16__rw_expand_nameERNS_14__rw_pod_arrayIcLj256EEEPKc(i7);
+ r3 = r_g0;
+ heap32[(r1+38)] = r3;
+ heap32[(r5+1)] = r2;
+}
+else{
+ r3 = 1;
+_5: while(true){
+ r4 = (r3 + 1)|0;
+ r5 = heapU8[r2+r3];
+ r3 = r4;
+if(!(r5 !=0)) //_LBB706_4
+{
+break _5;
+}
+}
+ if(uint(r4) >uint(39)) //_LBB706_7
+{
+ heap32[(g0)] = r4;
+ _Znaj(i7);
+ r3 = r_g0;
+}
+else{
+ r3 = (r0 + 112)|0;
+}
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r4;
+ memcpy(i7);
+ heap32[(r1+38)] = r3;
+}
+ r2 = 0;
+ heap32[(r1+40)] = 67108863;
+ heap32[(r1+41)] = 0;
+_13: while(true){
+ r4 = (r3 - r2)|0;
+ r5 = heapU8[r4];
+ if(r5 ==0) //_LBB706_43
+{
+__label__ = 41;
+break _13;
+}
+else{
+ if(r5 ==59) //_LBB706_20
+{
+__label__ = 20;
+break _13;
+}
+else{
+ r5 = heapU8[r4+1];
+ if(r5 ==0) //_LBB706_43
+{
+__label__ = 41;
+break _13;
+}
+else{
+ if(r5 !=59) //_LBB706_15
+{
+ r5 = heapU8[r4+2];
+ if(r5 ==0) //_LBB706_43
+{
+__label__ = 41;
+break _13;
+}
+else{
+ if(r5 ==59) //_LBB706_14
+{
+__label__ = 14;
+break _13;
+}
+else{
+ r4 = heapU8[r4+3];
+ if(r4 ==0) //_LBB706_43
+{
+__label__ = 41;
+break _13;
+}
+else{
+ if(r4 ==59) //_LBB706_14
+{
+__label__ = 14;
+break _13;
+}
+else{
+ r2 = (r2 + -4)|0;
+continue _13;
+}
+}
+}
+}
+}
+else{
+__label__ = 14;
+break _13;
+}
+}
+}
+}
+}
+if (__label__ == 20){
+ if(r3 ==r2) //_LBB706_43
+{
+__label__ = 41;
+}
+else{
+__label__ = 14;
+}
+}
+_25: do {
+switch(__label__ ){//multiple entries
+case 41:
+ r2 = heapU8[r3];
+if(!(r2 !=67)) //_LBB706_45
+{
+ r2 = heapU8[r3+1];
+ if(r2 ==0) //_LBB706_46
+{
+break _25;
+}
+}
+ heap32[(r1+41)] = 67108863;
+break;
+case 14:
+ r2 = 0;
+ r4 = r2;
+_31: while(true){
+ r5 = heapU8[r3];
+ if(r5 ==0) //_LBB706_46
+{
+break _25;
+}
+else{
+ if(r2 !=-6) //_LBB706_21
+{
+ r5 = r5 & 255;
+ if(r5 !=67) //_LBB706_24
+{
+__label__ = 23;
+}
+else{
+ r5 = heapU8[r3+1];
+ if(r5 !=59) //_LBB706_24
+{
+__label__ = 23;
+}
+else{
+__label__ = 24;
+}
+}
+if (__label__ == 23){
+ r5 = (r2 * -3)|0;
+ r6 = _ZN4__rw9__rw_catsE;
+ r5 = r5 << 2;
+ r5 = (r6 + r5)|0;
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+2)];
+ r4 = r5 | r4;
+ heap32[(r1+41)] = r4;
+}
+ r5 = 0;
+ r6 = r3;
+_40: while(true){
+ r7 = heapU8[r6];
+ if(r7 ==0) //_LBB706_46
+{
+break _25;
+}
+else{
+ if(r7 ==59) //_LBB706_37
+{
+__label__ = 36;
+break _40;
+}
+else{
+ r7 = heapU8[r6+1];
+ if(r7 ==0) //_LBB706_46
+{
+break _25;
+}
+else{
+ if(r7 ==59) //_LBB706_39
+{
+__label__ = 37;
+break _40;
+}
+else{
+ r7 = heapU8[r6+2];
+ if(r7 ==0) //_LBB706_46
+{
+break _25;
+}
+else{
+ r8 = r5 << 2;
+ if(r7 !=59) //_LBB706_33
+{
+ r7 = heapU8[r6+3];
+ if(r7 ==0) //_LBB706_46
+{
+break _25;
+}
+else{
+ if(r7 !=59) //_LBB706_36
+{
+ r5 = (r5 + 1)|0;
+ r6 = (r6 + 4)|0;
+}
+else{
+__label__ = 34;
+break _40;
+}
+}
+}
+else{
+__label__ = 31;
+break _40;
+}
+}
+}
+}
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 36:
+ if(r6 ==0) //_LBB706_46
+{
+break _25;
+}
+break;
+case 37:
+ r6 = (r6 + 1)|0;
+break;
+case 34:
+ r5 = r8 | 3;
+ r6 = (r3 + r5)|0;
+break;
+case 31:
+ r5 = r8 | 2;
+ r6 = (r3 + r5)|0;
+break;
+}
+ r3 = (r6 + 1)|0;
+ r2 = (r2 + -1)|0;
+continue _31;
+}
+else{
+break _25;
+}
+}
+}
+break;
+}
+} while(0);
+ r1 = 104;
+ r3 = 0;
+_57: while(true){
+ r2 = (r1 + -1)|0;
+ r1 = (r0 - r1)|0;
+ heap8[r1+104] = r3;
+ r1 = r2;
+ if(r2 !=0) //_LBB706_47
+{
+continue _57;
+}
+else{
+break _57;
+}
+}
+ return;
+}
+
+function _ZN4__rw11__rw_locale9_C_manageEPS0_PKc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+var __label__ = 0;
+ i7 = sp + -280;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ if(r0 !=0) //_LBB707_9
+{
+ r2 = heapU8[r0];
+ if(r2 ==67) //_LBB707_11
+{
+ r2 = heapU8[r0+1];
+ r3 = 0;
+ r2 = r2 != r3;
+}
+else{
+ r2 = 1;
+}
+ r3 = sp + -264;
+ r4 = (r3 + 8)|0;
+ r5 = _2E_str538;
+ r6 = r3 >> 2;
+ heap32[(fp+-66)] = 0;
+ r0 = r2 != 0 ? r0 : r5;
+ r7 = 0;
+ heap32[(r6+1)] = r4;
+ heap8[sp+-256] = r7;
+ if(r1 !=0) //_LBB707_14
+{
+__label__ = 19;
+}
+else{
+ if(r2 != 0) //_LBB707_15
+{
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ _ZN4__rwL16__rw_expand_nameERNS_14__rw_pod_arrayIcLj256EEEPKc(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB707_18
+{
+ r2 = heapU8[r0];
+ if(r2 ==67) //_LBB707_20
+{
+ r2 = heapU8[r0+1];
+ if(r2 !=0) //_LBB707_19
+{
+__label__ = 19;
+}
+else{
+ r0 = r5;
+__label__ = 19;
+}
+}
+else{
+__label__ = 19;
+}
+}
+else{
+__label__ = 15;
+}
+}
+else{
+__label__ = 19;
+}
+}
+_14: do {
+if (__label__ == 19){
+ r2 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE9n_locales;
+ r3 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE7locales;
+ r2 = r2 >> 2;
+ r3 = r3 >> 2;
+ r5 = heap32[(r2)];
+ r8 = heap32[(r3)];
+ if(r1 ==0) //_LBB707_24
+{
+ r7 = r5;
+_18: while(true){
+ r9 = r7;
+ if(r9 ==0) //_LBB707_53
+{
+__label__ = 49;
+break _18;
+}
+else{
+ r1 = r9 << 1;
+ r10 = r1 & -4;
+ r11 = (r8 + r10)|0;
+ r1 = r11 >> 2;
+ r1 = heap32[(r1)];
+ r12 = r1 >> 2;
+ r7 = heap32[(r12+38)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ strcmp(i7);
+ r13 = r_g0;
+ r7 = r9 >>> 1;
+ if(r13 <0) //_LBB707_50
+{
+__label__ = 46;
+}
+else{
+ if(r13 <1) //_LBB707_51
+{
+__label__ = 47;
+break _18;
+}
+else{
+ r1 = (r10 + r8)|0;
+ r9 = (r9 + -1)|0;
+ r8 = (r1 + 4)|0;
+ r7 = (r9 - r7)|0;
+}
+}
+}
+}
+if (__label__ == 47){
+if(!(r11 ==0)) //_LBB707_53
+{
+ r0 = heap32[(r12+39)];
+ r0 = (r0 + 1)|0;
+ heap32[(r12+39)] = r0;
+__label__ = 65;
+break _14;
+}
+}
+ r1 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE14locale_bufsize;
+ r1 = r1 >> 2;
+ r7 = heap32[(r1)];
+if(!(r5 !=r7)) //_LBB707_59
+{
+ r5 = r5 << 3;
+ heap32[(g0)] = r5;
+ _Znaj(i7);
+ r5 = r_g0;
+ r7 = heap32[(r3)];
+ r8 = heap32[(r2)];
+ r8 = r8 << 2;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r8;
+ memcpy(i7);
+ r8 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE10locale_buf;
+if(!(r7 ==r8)) //_LBB707_58
+{
+if(!(r7 ==0)) //_LBB707_58
+{
+ heap32[(g0)] = r7;
+ _ZdaPv(i7);
+}
+}
+ heap32[(r3)] = r5;
+ r5 = heap32[(r1)];
+ r5 = r5 << 1;
+ heap32[(r1)] = r5;
+}
+ r1 = heapU8[r0];
+ if(r1 !=67) //_LBB707_65
+{
+__label__ = 61;
+}
+else{
+ r1 = heapU8[r0+1];
+ if(r1 !=0) //_LBB707_65
+{
+__label__ = 61;
+}
+else{
+ r1 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE7classic;
+ r5 = r1 >> 2;
+ r1 = heap32[(r5)];
+ if(r1 !=0) //_LBB707_64
+{
+ r0 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE12classic_body;
+ r0 = r0 >> 2;
+ r5 = heap32[(r0+39)];
+ r5 = (r5 + 1)|0;
+ heap32[(r0+39)] = r5;
+__label__ = 63;
+}
+else{
+ r1 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE12classic_body;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ _ZN4__rw11__rw_localeC2EPKc(i7);
+ heap32[(r5)] = r1;
+__label__ = 63;
+}
+}
+}
+if (__label__ == 61){
+ heap32[(g0)] = 172;
+ _Znwj(i7);
+ r1 = r_g0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ _ZN4__rw11__rw_localeC2EPKc(i7);
+}
+ r0 = heap32[(r2)];
+ r3 = heap32[(r3)];
+ r5 = r0 << 2;
+ r5 = (r3 + r5)|0;
+ r5 = r5 >> 2;
+ r7 = (r0 + 1)|0;
+ heap32[(r5)] = r1;
+ heap32[(r2)] = r7;
+ r2 = (r0 + -1)|0;
+ if(uint(r2) <uint(2147483645)) //_LBB707_69
+{
+ r2 = cmplocales__index__;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r2;
+ quicksort(i7);
+__label__ = 65;
+}
+else{
+__label__ = 65;
+}
+}
+else{
+ r9 = r5;
+ r10 = r8;
+_48: while(true){
+ r11 = r9;
+ if(r11 ==0) //_LBB707_46
+{
+__label__ = 42;
+break _48;
+}
+else{
+ r9 = r11 << 1;
+ r12 = r9 & -4;
+ r13 = (r10 + r12)|0;
+ r9 = r13 >> 2;
+ r9 = heap32[(r9)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+38)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r9;
+ strcmp(i7);
+ r14 = r_g0;
+ r9 = r11 >>> 1;
+ if(r14 <0) //_LBB707_28
+{
+__label__ = 25;
+}
+else{
+ if(r14 <1) //_LBB707_29
+{
+__label__ = 26;
+break _48;
+}
+else{
+ r10 = (r12 + r10)|0;
+ r11 = (r11 + -1)|0;
+ r10 = (r10 + 4)|0;
+ r9 = (r11 - r9)|0;
+}
+}
+}
+}
+if (__label__ == 26){
+if(!(r13 ==0)) //_LBB707_46
+{
+ r1 = (r13 - r8)|0;
+ r0 = r1 & -4;
+ r9 = (r8 + r0)|0;
+ r9 = r9 >> 2;
+ r9 = heap32[(r9)];
+ r10 = r9 >> 2;
+ r11 = heap32[(r10+39)];
+ r11 = (r11 + -1)|0;
+ heap32[(r10+39)] = r11;
+ if(r11 !=0) //_LBB707_17
+{
+__label__ = 15;
+break _14;
+}
+else{
+ r1 = r1 >> 2;
+ r11 = (r5 + -1)|0;
+ heap32[(r2)] = r11;
+ if(uint(r11) >uint(3)) //_LBB707_36
+{
+__label__ = 33;
+}
+else{
+ r2 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE10locale_buf;
+ if(r8 ==r2) //_LBB707_36
+{
+__label__ = 33;
+}
+else{
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r0;
+ r0 = r1 << 2;
+ r5 = (r0 + r8)|0;
+ r1 = (r11 - r1)|0;
+ memcpy(i7);
+ r0 = (r2 + r0)|0;
+ r5 = (r5 + 4)|0;
+ r1 = r1 << 2;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r1;
+ memcpy(i7);
+if(!(r8 ==0)) //_LBB707_35
+{
+ heap32[(g0)] = r8;
+ _ZdaPv(i7);
+}
+ r1 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE14locale_bufsize;
+ r1 = r1 >> 2;
+ heap32[(r3)] = r2;
+ heap32[(r1)] = 8;
+__label__ = 36;
+}
+}
+_63: do {
+if (__label__ == 33){
+ r0 = (r11 - r1)|0;
+ r0 = r0 << 2;
+if(!(r0 ==0)) //_LBB707_39
+{
+ r0 = r5 << 2;
+ r1 = r1 << 2;
+ r0 = (r0 + -4)|0;
+ r2 = (r1 + r8)|0;
+ r1 = (r0 - r1)|0;
+ r0 = (r2 + 4)|0;
+_66: while(true){
+ r2 = heapU8[r0];
+ r1 = (r1 + -1)|0;
+ r3 = (r0 + 1)|0;
+ heap8[r0+-4] = r2;
+ r0 = r3;
+if(!(r1 !=0)) //_LBB707_38
+{
+break _63;
+}
+}
+}
+}
+} while(0);
+ r1 = heap32[(r10+38)];
+ r0 = heapU8[r1];
+ if(r0 ==67) //_LBB707_41
+{
+ r1 = heapU8[r1+1];
+ r7 = 0;
+ r7 = r1 == r7;
+}
+ if(r7 != 0) //_LBB707_17
+{
+__label__ = 15;
+break _14;
+}
+else{
+ if(r9 ==0) //_LBB707_17
+{
+__label__ = 15;
+break _14;
+}
+else{
+ heap32[(g0)] = r9;
+ _ZN4__rw11__rw_localeD2Ev(i7);
+ heap32[(g0)] = r9;
+ r1 = 0;
+ _ZdlPv(i7);
+__label__ = 65;
+break _14;
+}
+}
+}
+}
+}
+ r0 = r1 >> 2;
+ r2 = heap32[(r0+39)];
+ r1 = 0;
+ r2 = (r2 + -1)|0;
+ heap32[(r0+39)] = r2;
+__label__ = 65;
+}
+}
+} while(0);
+if (__label__ == 15){
+ r1 = 0;
+}
+ r0 = heap32[(r6+1)];
+if(!(r0 ==r4)) //_LBB707_73
+{
+if(!(r0 ==0)) //_LBB707_73
+{
+ heap32[(g0)] = r0;
+ _ZdaPv(i7);
+}
+}
+ r_g0 = r1;
+ return;
+}
+else{
+ r0 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE6global;
+ r0 = r0 >> 2;
+ r2 = heap32[(r0)];
+_84: do {
+ if(r2 ==0) //_LBB707_3
+{
+ r3 = _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE5ginit;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ if(r4 !=0) //_LBB707_5
+{
+_87: while(true){
+ r4 = heap32[(r3)];
+if(!(r4 <1000)) //_LBB707_5
+{
+break _84;
+}
+}
+}
+else{
+ r2 = (r4 + 1)|0;
+ heap32[(r3)] = r2;
+ r2 = _2E_str538;
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = r2;
+ _ZN4__rw11__rw_locale9_C_manageEPS0_PKc(i7);
+ r2 = r_g0;
+ heap32[(r0)] = r2;
+ r4 = heap32[(r3)];
+ r4 = (r4 + 1000)|0;
+ heap32[(r3)] = r4;
+}
+}
+} while(0);
+ if(r1 ==0) //_LBB707_8
+{
+ r0 = r2 >> 2;
+ r1 = heap32[(r0+39)];
+ r1 = (r1 + 1)|0;
+ heap32[(r0+39)] = r1;
+ r_g0 = r2;
+ return;
+}
+else{
+ r3 = r1 >> 2;
+ r4 = heap32[(r3+39)];
+ r4 = (r4 + 1)|0;
+ heap32[(r3+39)] = r4;
+ heap32[(r0)] = r1;
+ r_g0 = r2;
+ return;
+}
+}
+}
+
+function _ZN4__rw11__rw_locale11_C_get_bodyEPS0_S1_PKciPKNS_10__rw_facetE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -304;var g0 = i7>>2; // save stack
+ r0 = sp + -264;
+ r1 = (r0 + 8)|0;
+ r2 = r0 >> 2;
+ heap32[(fp+-66)] = 0;
+ r3 = 0;
+ heap32[(r2+1)] = r1;
+ heap8[sp+-256] = r3;
+ r4 = _2E_str538;
+ r5 = _2E_str292167;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = 3;
+ strncmp(i7);
+ r5 = r_g0;
+_1: do {
+ if(r5 ==0) //_LBB708_2
+{
+ r4 = sp + -288;
+ r5 = r4 >> 2;
+ heap32[(fp+-72)] = 0;
+ heap32[(r5+1)] = 0;
+ heap32[(r5+2)] = 0;
+ heap32[(r5+3)] = 0;
+ r6 = 4;
+ heap32[(r5+4)] = 0;
+ heap32[(r5+5)] = 0;
+_3: while(true){
+ r6 = (r6 + -4)|0;
+if(!(r6 !=0)) //_LBB708_3
+{
+break _3;
+}
+}
+ r5 = _2E_str538;
+_6: while(true){
+ r6 = heapU8[r5];
+ if(r6 ==0) //_LBB708_48
+{
+__label__ = 44;
+break _6;
+}
+else{
+ r6 = r3;
+ r7 = r3;
+_9: while(true){
+ r8 = (r5 + r6)|0;
+ r9 = heapU8[r5+r6];
+ if(r9 ==59) //_LBB708_17
+{
+__label__ = 16;
+break _9;
+}
+else{
+ if(r9 !=0) //_LBB708_8
+{
+ r9 = heapU8[r8+1];
+ if(r9 ==0) //_LBB708_7
+{
+__label__ = 6;
+break _9;
+}
+else{
+ if(r9 ==59) //_LBB708_21
+{
+__label__ = 18;
+break _9;
+}
+else{
+ r9 = heapU8[r8+2];
+ if(r9 ==0) //_LBB708_7
+{
+__label__ = 6;
+break _9;
+}
+else{
+ r10 = r7 << 2;
+ if(r9 !=59) //_LBB708_13
+{
+ r8 = heapU8[r8+3];
+ if(r8 ==0) //_LBB708_7
+{
+__label__ = 6;
+break _9;
+}
+else{
+ if(r8 !=59) //_LBB708_16
+{
+ r7 = (r7 + 1)|0;
+ r6 = (r6 + 4)|0;
+}
+else{
+__label__ = 14;
+break _9;
+}
+}
+}
+else{
+__label__ = 11;
+break _9;
+}
+}
+}
+}
+}
+else{
+__label__ = 6;
+break _9;
+}
+}
+}
+_19: do {
+switch(__label__ ){//multiple entries
+case 16:
+ if(r8 ==0) //_LBB708_7
+{
+__label__ = 6;
+break _19;
+}
+else{
+__label__ = 19;
+break _19;
+}
+break;
+case 18:
+ r8 = (r8 + 1)|0;
+__label__ = 19;
+break _19;
+break;
+case 14:
+ r6 = r10 | 3;
+ r8 = (r5 + r6)|0;
+__label__ = 19;
+break _19;
+break;
+case 11:
+ r6 = r10 | 2;
+ r8 = (r5 + r6)|0;
+__label__ = 19;
+break;
+}
+} while(0);
+_24: do {
+if (__label__ == 6){
+ r6 = r5;
+_26: while(true){
+ r8 = (r6 + 1)|0;
+ r7 = heapU8[r6+1];
+ r6 = r8;
+if(!(r7 !=0)) //_LBB708_19
+{
+break _24;
+}
+}
+}
+} while(0);
+ r6 = 0;
+ r7 = r6;
+_29: while(true){
+ r9 = (r5 + r6)|0;
+ r10 = heapU8[r5+r6];
+ if(r10 ==61) //_LBB708_35
+{
+__label__ = 32;
+break _29;
+}
+else{
+ if(r10 !=0) //_LBB708_26
+{
+ r10 = heapU8[r9+1];
+ if(r10 ==0) //_LBB708_25
+{
+__label__ = 22;
+break _6;
+}
+else{
+ if(r10 ==61) //_LBB708_37
+{
+__label__ = 33;
+break _29;
+}
+else{
+ r10 = heapU8[r9+2];
+ if(r10 ==0) //_LBB708_25
+{
+__label__ = 22;
+break _6;
+}
+else{
+ r11 = r7 << 2;
+ if(r10 !=61) //_LBB708_31
+{
+ r9 = heapU8[r9+3];
+ if(r9 ==0) //_LBB708_25
+{
+__label__ = 22;
+break _6;
+}
+else{
+ if(r9 !=61) //_LBB708_34
+{
+ r7 = (r7 + 1)|0;
+ r6 = (r6 + 4)|0;
+}
+else{
+__label__ = 30;
+break _29;
+}
+}
+}
+else{
+__label__ = 27;
+break _29;
+}
+}
+}
+}
+}
+else{
+__label__ = 22;
+break _6;
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 32:
+ if(r9 ==0) //_LBB708_25
+{
+__label__ = 22;
+break _6;
+}
+break;
+case 33:
+ r9 = (r9 + 1)|0;
+break;
+case 30:
+ r6 = r11 | 3;
+ r9 = (r5 + r6)|0;
+break;
+case 27:
+ r6 = r11 | 2;
+ r9 = (r5 + r6)|0;
+break;
+}
+ r6 = (r9 - r5)|0;
+ r7 = 0;
+_45: while(true){
+ if(r7 !=-6) //_LBB708_39
+{
+ r10 = (r7 * -3)|0;
+ r11 = _ZN4__rw9__rw_catsE;
+ r10 = r10 << 2;
+ r10 = (r11 + r10)|0;
+ r10 = r10 >> 2;
+ r10 = heap32[(r10+1)];
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r6;
+ strncmp(i7);
+ r10 = r_g0;
+ if(r10 !=0) //_LBB708_42
+{
+ r7 = (r7 + -1)|0;
+}
+else{
+__label__ = 36;
+break _45;
+}
+}
+else{
+__label__ = 40;
+break _45;
+}
+}
+if (__label__ == 36){
+ r6 = r7 << 2;
+ r6 = (r4 - r6)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ if(r6 !=0) //_LBB708_25
+{
+__label__ = 22;
+break _6;
+}
+else{
+ r6 = 0;
+ r6 = (r6 - r7)|0;
+ r6 = r6 << 2;
+ r6 = (r4 + r6)|0;
+ r6 = r6 >> 2;
+ r7 = (r9 + 1)|0;
+ heap32[(r6)] = r7;
+}
+}
+ r6 = heapU8[r8];
+ r5 = r8;
+ if(r6 ==0) //_LBB708_46
+{
+__label__ = 42;
+}
+else{
+ r5 = (r8 + 1)|0;
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 44:
+ r3 = 0;
+ r5 = r3;
+_56: while(true){
+ if(r5 !=-6) //_LBB708_49
+{
+ r6 = (r3 - r5)|0;
+ r6 = r6 << 2;
+ r6 = (r4 + r6)|0;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+ if(r7 ==0) //_LBB708_51
+{
+ r7 = _2E_str538;
+ heap32[(r6)] = r7;
+}
+ r6 = 0;
+ r8 = r6;
+_62: while(true){
+ r9 = heapU8[r7+r6];
+ if(r9 ==0) //_LBB708_66
+{
+__label__ = 60;
+break _62;
+}
+else{
+ r10 = (r7 + r6)|0;
+ if(r9 ==59) //_LBB708_64
+{
+__label__ = 59;
+break _62;
+}
+else{
+ r9 = heapU8[r10+1];
+ if(r9 ==0) //_LBB708_66
+{
+__label__ = 60;
+break _62;
+}
+else{
+ if(r9 ==59) //_LBB708_71
+{
+__label__ = 65;
+break _62;
+}
+else{
+ r9 = heapU8[r10+2];
+ if(r9 ==0) //_LBB708_66
+{
+__label__ = 60;
+break _62;
+}
+else{
+ r11 = r8 << 2;
+ if(r9 !=59) //_LBB708_60
+{
+ r10 = heapU8[r10+3];
+ if(r10 ==0) //_LBB708_66
+{
+__label__ = 60;
+break _62;
+}
+else{
+ if(r10 !=59) //_LBB708_63
+{
+ r8 = (r8 + 1)|0;
+ r6 = (r6 + 4)|0;
+}
+else{
+__label__ = 57;
+break _62;
+}
+}
+}
+else{
+__label__ = 54;
+break _62;
+}
+}
+}
+}
+}
+}
+}
+_72: do {
+switch(__label__ ){//multiple entries
+case 59:
+ if(r10 ==0) //_LBB708_66
+{
+__label__ = 60;
+break _72;
+}
+else{
+__label__ = 66;
+break _72;
+}
+break;
+case 65:
+ r10 = (r10 + 1)|0;
+__label__ = 66;
+break _72;
+break;
+case 57:
+ r6 = r11 | 3;
+ r10 = (r7 + r6)|0;
+__label__ = 66;
+break _72;
+break;
+case 54:
+ r6 = r11 | 2;
+ r10 = (r7 + r6)|0;
+__label__ = 66;
+break;
+}
+} while(0);
+if (__label__ == 60){
+ r10 = heapU8[r7];
+_79: do {
+ if(r10 !=0) //_LBB708_68
+{
+ r6 = (r7 + 1)|0;
+ r8 = 0;
+_81: while(true){
+ r10 = (r8 + 1)|0;
+ r9 = heapU8[r6+r8];
+ r8 = r10;
+if(!(r9 !=0)) //_LBB708_69
+{
+break _79;
+}
+}
+}
+else{
+ r10 = 0;
+}
+} while(0);
+ r10 = (r7 + r10)|0;
+}
+ r6 = (r10 - r7)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r6;
+ _ZN4__rw14__rw_pod_arrayIcLj256EE6appendEPKcj(i7);
+ r6 = _2E_str785;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = 1;
+ _ZN4__rw14__rw_pod_arrayIcLj256EE6appendEPKcj(i7);
+ r5 = (r5 + -1)|0;
+}
+else{
+break _56;
+}
+}
+ r4 = heap32[(r2+1)];
+ if(r4 ==0) //_LBB708_78
+{
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 0;
+ _ZN4__rw11__rw_locale9_C_manageEPS0_PKc(i7);
+ r4 = r_g0;
+__label__ = 73;
+break _1;
+}
+else{
+__label__ = 72;
+break _1;
+}
+break;
+case 22:
+ r4 = 0;
+__label__ = 73;
+break;
+}
+}
+else{
+__label__ = 72;
+}
+} while(0);
+if (__label__ == 72){
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = r4;
+ _ZN4__rw11__rw_locale9_C_manageEPS0_PKc(i7);
+ r4 = r_g0;
+}
+ r0 = heap32[(r2+1)];
+if(!(r0 ==r1)) //_LBB708_83
+{
+if(!(r0 ==0)) //_LBB708_83
+{
+ heap32[(g0)] = r0;
+ _ZdaPv(i7);
+}
+}
+ r_g0 = r4;
+ return;
+}
+
+function _ZNSt6localeD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+27)];
+_1: do {
+if(!(r3 !=0)) //_LBB709_86
+{
+ r3 = heap32[(r2+40)];
+ r3 = r3 & 67108863;
+if(!(r3 !=67108863)) //_LBB709_86
+{
+ r3 = heap32[(r2+41)];
+ r4 = r3 & 8193;
+if(!(r4 ==0)) //_LBB709_4
+{
+ if(r4 !=8193) //_LBB709_86
+{
+break _1;
+}
+}
+ r4 = r3 & 49158;
+if(!(r4 ==0)) //_LBB709_6
+{
+ if(r4 !=49158) //_LBB709_86
+{
+break _1;
+}
+}
+ r4 = r3 & 983160;
+if(!(r4 ==0)) //_LBB709_8
+{
+ if(r4 !=983160) //_LBB709_86
+{
+break _1;
+}
+}
+ r4 = r3 & 7340928;
+if(!(r4 ==0)) //_LBB709_10
+{
+ if(r4 !=7340928) //_LBB709_86
+{
+break _1;
+}
+}
+ r4 = r3 & 25168896;
+if(!(r4 ==0)) //_LBB709_12
+{
+ if(r4 !=25168896) //_LBB709_86
+{
+break _1;
+}
+}
+ r3 = r3 & 33558528;
+if(!(r3 ==0)) //_LBB709_14
+{
+ if(r3 !=33558528) //_LBB709_86
+{
+break _1;
+}
+}
+ r3 = heap32[(r2+38)];
+ r4 = _2E_str538;
+ r5 = r3 == 0 ? r4 : r3;
+ r6 = heapU8[r5];
+ if(r6 ==59) //_LBB709_16
+{
+ r5 = (r5 + 1)|0;
+}
+ r6 = 0;
+ r7 = r6;
+_25: while(true){
+ r8 = heapU8[r5+r6];
+ if(r8 ==0) //_LBB709_33
+{
+__label__ = 31;
+break _25;
+}
+else{
+ r9 = (r5 + r6)|0;
+ if(r8 ==59) //_LBB709_29
+{
+__label__ = 28;
+break _25;
+}
+else{
+ r8 = heapU8[r9+1];
+ if(r8 ==0) //_LBB709_33
+{
+__label__ = 31;
+break _25;
+}
+else{
+ if(r8 ==59) //_LBB709_31
+{
+__label__ = 29;
+break _25;
+}
+else{
+ r8 = heapU8[r9+2];
+ if(r8 ==0) //_LBB709_33
+{
+__label__ = 31;
+break _25;
+}
+else{
+ r10 = r7 << 2;
+ if(r8 !=59) //_LBB709_25
+{
+ r9 = heapU8[r9+3];
+ if(r9 ==0) //_LBB709_33
+{
+__label__ = 31;
+break _25;
+}
+else{
+ if(r9 !=59) //_LBB709_28
+{
+ r7 = (r7 + 1)|0;
+ r6 = (r6 + 4)|0;
+}
+else{
+__label__ = 26;
+break _25;
+}
+}
+}
+else{
+__label__ = 23;
+break _25;
+}
+}
+}
+}
+}
+}
+}
+_35: do {
+switch(__label__ ){//multiple entries
+case 28:
+ if(r9 ==0) //_LBB709_33
+{
+__label__ = 31;
+break _35;
+}
+else{
+__label__ = 30;
+break _35;
+}
+break;
+case 29:
+ r9 = (r9 + 1)|0;
+__label__ = 30;
+break _35;
+break;
+case 26:
+ r6 = r10 | 3;
+ r9 = (r5 + r6)|0;
+__label__ = 30;
+break _35;
+break;
+case 23:
+ r6 = r10 | 2;
+ r9 = (r5 + r6)|0;
+__label__ = 30;
+break;
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 31:
+ r6 = heapU8[r5];
+ if(r6 !=0) //_LBB709_35
+{
+ r7 = (r5 + 1)|0;
+ r8 = 0;
+_44: while(true){
+ r6 = (r8 + 1)|0;
+ r9 = heapU8[r7+r8];
+ r8 = r6;
+if(!(r9 !=0)) //_LBB709_36
+{
+break _44;
+}
+}
+ r9 = 0;
+ r7 = r9;
+ r8 = r9;
+}
+else{
+ r9 = 0;
+ r6 = r9;
+ r7 = r9;
+ r8 = r9;
+}
+break;
+case 30:
+ r6 = (r9 - r5)|0;
+ r7 = 0;
+ r8 = r7;
+break;
+}
+_49: while(true){
+ if(r7 !=26) //_LBB709_38
+{
+ r10 = r7 << 2;
+ r10 = (r1 + r10)|0;
+ r10 = r10 >> 2;
+ r10 = heap32[(r10)];
+_52: do {
+ if(r10 !=0) //_LBB709_40
+{
+ r10 = r10 >> 2;
+ r11 = heap32[(r10+7)];
+ r11 = r11 >> 2;
+ r10 = heap32[(r10+1)];
+ r12 = 0;
+ r13 = r10 != r12;
+ r11 = heap32[(r11)];
+ r13 = r13 & 1;
+ r11 = r11 << 1;
+ r11 = r13 | r11;
+ r11 = (r11 + -1)|0;
+ r13 = 53;
+ r11 = uint(r11) < uint(r13) ? r11 : r12;
+ if(r11 >36) //_LBB709_43
+{
+ r11 = (r11 + -37)|0;
+if(!(uint(r11) >uint(8))) //_LBB709_45
+{
+ r13 = 1;
+ r11 = r13 << r11;
+ r11 = r11 & 325;
+ if(r11 !=0) //_LBB709_39
+{
+break _52;
+}
+}
+}
+else{
+if(!(uint(r11) >uint(19))) //_LBB709_45
+{
+ r13 = 1;
+ r11 = r13 << r11;
+ r11 = r11 & 665600;
+ if(r11 !=0) //_LBB709_39
+{
+break _52;
+}
+}
+}
+ r11 = 1;
+ r11 = r11 << r7;
+_60: while(true){
+ if(r9 ==0) //_LBB709_75
+{
+break _60;
+}
+else{
+ r13 = _ZN4__rw9__rw_catsE;
+ r14 = (r8 * 12)|0;
+ r13 = (r13 + r14)|0;
+ r13 = r13 >> 2;
+ r13 = heap32[(r13+2)];
+ r13 = r13 & r11;
+ if(r13 ==0) //_LBB709_46
+{
+ r5 = heapU8[r9];
+ if(r5 ==0) //_LBB709_48
+{
+ if(r3 !=0) //_LBB709_50
+{
+ r8 = 0;
+ r5 = r3;
+}
+else{
+ r8 = 0;
+ r5 = r4;
+}
+}
+else{
+ r5 = (r9 + 1)|0;
+ r8 = (r8 + 1)|0;
+}
+ r6 = heapU8[r5];
+ if(r6 ==59) //_LBB709_53
+{
+ r5 = (r5 + 1)|0;
+}
+ r6 = r12;
+ r13 = r12;
+_74: while(true){
+ r14 = heapU8[r5+r6];
+ if(r14 ==0) //_LBB709_70
+{
+__label__ = 65;
+break _74;
+}
+else{
+ r9 = (r5 + r6)|0;
+ if(r14 ==59) //_LBB709_66
+{
+__label__ = 62;
+break _74;
+}
+else{
+ r14 = heapU8[r9+1];
+ if(r14 ==0) //_LBB709_70
+{
+__label__ = 65;
+break _74;
+}
+else{
+ if(r14 ==59) //_LBB709_68
+{
+__label__ = 63;
+break _74;
+}
+else{
+ r14 = heapU8[r9+2];
+ if(r14 ==0) //_LBB709_70
+{
+__label__ = 65;
+break _74;
+}
+else{
+ r15 = r13 << 2;
+ if(r14 !=59) //_LBB709_62
+{
+ r9 = heapU8[r9+3];
+ if(r9 ==0) //_LBB709_70
+{
+__label__ = 65;
+break _74;
+}
+else{
+ if(r9 !=59) //_LBB709_65
+{
+ r13 = (r13 + 1)|0;
+ r6 = (r6 + 4)|0;
+}
+else{
+__label__ = 60;
+break _74;
+}
+}
+}
+else{
+__label__ = 57;
+break _74;
+}
+}
+}
+}
+}
+}
+}
+_84: do {
+switch(__label__ ){//multiple entries
+case 62:
+ if(r9 ==0) //_LBB709_70
+{
+__label__ = 65;
+break _84;
+}
+else{
+__label__ = 64;
+break _84;
+}
+break;
+case 63:
+ r9 = (r9 + 1)|0;
+__label__ = 64;
+break _84;
+break;
+case 60:
+ r6 = r15 | 3;
+ r9 = (r5 + r6)|0;
+__label__ = 64;
+break _84;
+break;
+case 57:
+ r6 = r15 | 2;
+ r9 = (r5 + r6)|0;
+__label__ = 64;
+break;
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 65:
+ r9 = _2E_str26;
+ r6 = 0;
+ r13 = heapU8[r5];
+ if(r13 ==0) //_LBB709_73
+{
+continue _60;
+}
+else{
+ r13 = (r5 + 1)|0;
+ r14 = 0;
+_92: while(true){
+ r6 = (r14 + 1)|0;
+ r9 = _2E_str26;
+ r15 = heapU8[r13+r14];
+ r14 = r6;
+if(!(r15 !=0)) //_LBB709_72
+{
+continue _60;
+}
+}
+}
+break;
+case 64:
+ r6 = (r9 - r5)|0;
+break;
+}
+}
+else{
+break _60;
+}
+}
+}
+ r11 = _2E_str538;
+ r10 = r10 == 0 ? r11 : r10;
+ r11 = heapU8[r10];
+_96: do {
+ if(r11 !=0) //_LBB709_77
+{
+ r12 = (r10 + 1)|0;
+ r13 = 0;
+_98: while(true){
+ r11 = (r13 + 1)|0;
+ r14 = heapU8[r12+r13];
+ r13 = r11;
+if(!(r14 !=0)) //_LBB709_78
+{
+break _96;
+}
+}
+}
+else{
+ r11 = 0;
+}
+} while(0);
+ if(r11 !=r6) //_LBB709_86
+{
+break _1;
+}
+else{
+ r11 = 0;
+_103: while(true){
+ r12 = (r6 + r11)|0;
+ if(r12 !=0) //_LBB709_81
+{
+ r12 = (r5 - r11)|0;
+ r13 = (r10 - r11)|0;
+ r11 = (r11 + -1)|0;
+ r12 = heapU8[r12];
+ r13 = heapU8[r13];
+ if(r12 !=r13) //_LBB709_86
+{
+break _1;
+}
+}
+else{
+break _52;
+}
+}
+}
+}
+} while(0);
+ r7 = (r7 + 1)|0;
+}
+else{
+break _49;
+}
+}
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ _ZN4__rw11__rw_locale9_C_manageEPS0_PKc(i7);
+ return;
+}
+}
+} while(0);
+ r1 = heap32[(r2+39)];
+ r1 = (r1 + -1)|0;
+ heap32[(r2+39)] = r1;
+if(!(r1 !=0)) //_LBB709_89
+{
+ r0 = heap32[(r0)];
+if(!(r0 ==0)) //_LBB709_89
+{
+ heap32[(g0)] = r0;
+ _ZN4__rw11__rw_localeD2Ev(i7);
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+}
+}
+ return;
+}
+
+function _ZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE4init_2E_b;
+ r1 = heapU8[r0];
+if(!(r1 != 0)) //_LBB710_5
+{
+ r1 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE15catalog_bufsize;
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+if(!(r1 ==0)) //_LBB710_4
+{
+ r2 = 0;
+_5: while(true){
+ r3 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE8catalogs;
+ r3 = r3 >> 2;
+ r4 = r2 << 3;
+ r3 = heap32[(r3)];
+ r3 = (r3 + r4)|0;
+ r2 = (r2 + 1)|0;
+ r3 = r3 >> 2;
+ heap32[(r3)] = -1;
+if(!(uint(r2) <uint(r1))) //_LBB710_3
+{
+break _5;
+}
+}
+}
+ r1 = 1;
+ heap8[r0] = r1;
+}
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r2 = heap32[(r0)];
+_9: do {
+ if(r2 !=-1) //_LBB710_27
+{
+ if(r1 !=0) //_LBB710_30
+{
+ r3 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE10n_catalogs;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+ r5 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE8catalogs;
+ r4 = (r4 + -1)|0;
+ r5 = r5 >> 2;
+ heap32[(r3)] = r4;
+ r3 = heap32[(r5)];
+ r2 = r2 << 3;
+ r2 = (r3 + r2)|0;
+ r4 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE11largest_cat;
+ r2 = r2 >> 2;
+ heap32[(r2)] = -1;
+ r2 = r4 >> 2;
+ r0 = heap32[(r0)];
+ r4 = heap32[(r2)];
+ if(r0 ==r4) //_LBB710_32
+{
+__label__ = 33; //SET chanka
+_13: while(true){
+ if(r0 >-1) //_LBB710_33
+{
+ r6 = r0 << 3;
+ r6 = (r3 + r6)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ if(r6 ==-1) //_LBB710_35
+{
+ r0 = (r0 + -1)|0;
+}
+else{
+__label__ = 31;
+break _13;
+}
+}
+else{
+__label__ = 34;
+break _13;
+}
+}
+switch(__label__ ){//multiple entries
+case 34:
+ r0 = r4;
+break;
+case 31:
+ heap32[(r2)] = r0;
+break;
+}
+ if(uint(r0) >uint(3)) //_LBB710_31
+{
+__label__ = 40;
+break _9;
+}
+else{
+ r0 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE11catalog_buf;
+ if(r3 ==r0) //_LBB710_31
+{
+__label__ = 40;
+break _9;
+}
+else{
+ r2 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE15catalog_bufsize;
+ r2 = r2 >> 2;
+ heap32[(r2)] = 8;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 64;
+ memcpy(i7);
+if(!(r3 ==0)) //_LBB710_42
+{
+ heap32[(g0)] = r3;
+ _ZdaPv(i7);
+}
+ heap32[(r5)] = r0;
+__label__ = 40;
+break _9;
+}
+}
+}
+else{
+__label__ = 40;
+break _9;
+}
+}
+else{
+ r0 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE15catalog_bufsize;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ if(uint(r2) >=uint(r0)) //_LBB710_7
+{
+__label__ = 7;
+break _9;
+}
+else{
+ r0 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE8catalogs;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ r1 = r2 << 3;
+ r0 = (r0 + r1)|0;
+ r_g0 = r0;
+ return;
+}
+}
+}
+else{
+ if(r1 !=0) //_LBB710_8
+{
+ r2 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE10n_catalogs;
+ r2 = r2 >> 2;
+ r3 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE15catalog_bufsize;
+ r4 = heap32[(r2)];
+ r3 = r3 >> 2;
+ r5 = heap32[(r3)];
+ if(r4 ==r5) //_LBB710_12
+{
+ r4 = r4 << 4;
+ r5 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE8catalogs;
+ heap32[(g0)] = r4;
+ _Znaj(i7);
+ r4 = r_g0;
+ r5 = r5 >> 2;
+ r6 = heap32[(r2)];
+ r7 = heap32[(r5)];
+ r8 = r6 << 3;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r7;
+ heap32[(g0+2)] = r8;
+ memcpy(i7);
+ r8 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE11catalog_buf;
+if(!(r7 ==r8)) //_LBB710_14
+{
+ if(r7 !=0) //_LBB710_15
+{
+ heap32[(g0)] = r7;
+ _ZdaPv(i7);
+ r6 = heap32[(r2)];
+}
+}
+ heap32[(r5)] = r4;
+ r5 = heap32[(r3)];
+ r5 = r5 << 1;
+ heap32[(r3)] = r5;
+_36: do {
+if(!(uint(r6) >=uint(r5))) //_LBB710_20
+{
+ r3 = (r6 + 1)|0;
+_38: while(true){
+ r7 = r3 << 3;
+ r7 = (r4 + r7)|0;
+ r7 = r7 >> 2;
+ heap32[(r7+-2)] = -1;
+ if(uint(r3) >=uint(r5)) //_LBB710_20
+{
+break _36;
+}
+else{
+ r3 = (r3 + 1)|0;
+}
+}
+}
+} while(0);
+ r3 = r6 << 3;
+ r3 = (r4 + r3)|0;
+ heap32[(r0)] = r6;
+ r3 = (r3 + 4)|0;
+ r5 = (r1 + 4)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = 4;
+ memcpy(i7);
+ r3 = heap32[(r0)];
+ r3 = r3 << 3;
+ r5 = r1 >> 2;
+ r3 = (r4 + r3)|0;
+ r4 = heap32[(r5)];
+ r3 = r3 >> 2;
+ heap32[(r3)] = r4;
+ r0 = heap32[(r0)];
+ r3 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE11largest_cat;
+ r3 = r3 >> 2;
+ r4 = heap32[(r3)];
+if(!(uint(r0) <=uint(r4))) //_LBB710_22
+{
+ heap32[(r3)] = r0;
+}
+ r0 = (r6 + 1)|0;
+ heap32[(r2)] = r0;
+ r_g0 = r1;
+ return;
+}
+else{
+ r3 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE8catalogs;
+ r3 = r3 >> 2;
+ heap32[(r0)] = 0;
+ r3 = heap32[(r3)];
+ r5 = r3 >> 2;
+ r5 = heap32[(r5)];
+_46: do {
+ if(r5 !=-1) //_LBB710_11
+{
+ r5 = 0;
+_48: while(true){
+ r6 = r5 << 3;
+ r6 = (r3 + r6)|0;
+ r5 = (r5 + 1)|0;
+ r6 = r6 >> 2;
+ heap32[(r0)] = r5;
+ r6 = heap32[(r6+2)];
+if(!(r6 !=-1)) //_LBB710_23
+{
+break _46;
+}
+}
+}
+else{
+ r5 = 0;
+}
+} while(0);
+ r6 = _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE11largest_cat;
+ r6 = r6 >> 2;
+ r7 = heap32[(r6)];
+if(!(uint(r5) <=uint(r7))) //_LBB710_26
+{
+ heap32[(r6)] = r5;
+}
+ r5 = r5 << 3;
+ r5 = (r3 + r5)|0;
+ r5 = (r5 + 4)|0;
+ r6 = (r1 + 4)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = 4;
+ memcpy(i7);
+ r0 = heap32[(r0)];
+ r0 = r0 << 3;
+ r5 = r1 >> 2;
+ r0 = (r3 + r0)|0;
+ r3 = heap32[(r5)];
+ r0 = r0 >> 2;
+ r4 = (r4 + 1)|0;
+ heap32[(r0)] = r3;
+ heap32[(r2)] = r4;
+ r_g0 = r1;
+ return;
+}
+}
+else{
+__label__ = 7;
+}
+}
+} while(0);
+if (__label__ == 7){
+ r1 = 0;
+}
+ r_g0 = r1;
+ return;
+}
+
+function _ZN4__rw14__rw_cat_closeEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ heap32[(fp+-1)] = r0;
+if(!(r0 <0)) //_LBB711_20
+{
+ r0 = sp + -4;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ _ZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataE(i7);
+ r1 = r_g0;
+if(!(r1 ==0)) //_LBB711_20
+{
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+if(!(r2 ==-1)) //_LBB711_20
+{
+ r3 = _ZN4__rwL12__rw_catlistE_2E_1;
+ r4 = _ZN4__rwL12__rw_catlistE_2E_0;
+ r3 = r3 >> 2;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r6 = heap32[(r3)];
+ r6 = (r6 - r5)|0;
+ r6 = r6 >> 2;
+ r7 = 0;
+_5: while(true){
+ if(uint(r6) >uint(r7)) //_LBB711_9
+{
+ r8 = r7 << 2;
+ r8 = (r5 + r8)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+ if(r8 ==0) //_LBB711_8
+{
+__label__ = 7;
+break _5;
+}
+else{
+ if(r8 !=r2) //_LBB711_6
+{
+ r7 = (r7 + 1)|0;
+}
+else{
+__label__ = 9;
+break _5;
+}
+}
+}
+else{
+__label__ = 7;
+break _5;
+}
+}
+if (__label__ == 7){
+ r7 = r6;
+}
+_13: do {
+if(!(uint(r6) <=uint(r7))) //_LBB711_19
+{
+ r2 = r7 << 2;
+ r6 = (r5 + r2)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ if(r6 !=0) //_LBB711_13
+{
+ heap32[(g0)] = r6;
+ _ZdlPv(i7);
+ r5 = heap32[(r4)];
+}
+ r2 = (r5 + r2)|0;
+ r4 = (r7 + 1)|0;
+ r2 = r2 >> 2;
+ heap32[(r2)] = 0;
+_18: while(true){
+ r2 = heap32[(r3)];
+ r2 = (r2 - r5)|0;
+ r2 = r2 >> 2;
+ if(uint(r2) <=uint(r4)) //_LBB711_19
+{
+break _13;
+}
+else{
+ r2 = r4 << 2;
+ r2 = (r5 + r2)|0;
+ r6 = r2 >> 2;
+ r2 = heap32[(r6)];
+ if(r2 !=0) //_LBB711_15
+{
+ r4 = (r4 + 1)|0;
+ heap32[(r6+-1)] = r2;
+}
+else{
+break _18;
+}
+}
+}
+ heap32[(r6)] = 0;
+}
+} while(0);
+ r2 = (r1 + 4)|0;
+ heap32[(g0)] = r2;
+ _ZNSt6localeD1Ev(i7);
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ _ZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataE(i7);
+ return;
+}
+}
+}
+ r0 = _2E_str115180;
+ r1 = _2E_str1116181;
+ heap32[(g0)] = 7;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r1;
+ _ZN4__rw10__rw_throwEiz(i7);
+ return;
+}
+
+function _ZN4__rw16__rw_locale_nameEiPKcRNS_14__rw_pod_arrayIcLj256EEE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -368;var g0 = i7>>2; // save stack
+ r0 = _ZZN4__rw16__rw_locale_nameEiPKcRNS_14__rw_pod_arrayIcLj256EEEE11locale_root;
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = heapU8[r0];
+ r5 = 0;
+ heap8[sp+-259] = r5;
+ r6 = heapU8[r2];
+_1: do {
+ if(r6 !=0) //_LBB712_2
+{
+ r7 = (r2 + 1)|0;
+_3: while(true){
+ r6 = (r5 + 1)|0;
+ r8 = heapU8[r7+r5];
+ r5 = r6;
+ if(r8 !=0) //_LBB712_3
+{
+continue _3;
+}
+else{
+break _1;
+}
+}
+}
+else{
+ r6 = 0;
+}
+} while(0);
+ r4 = r4 & 255;
+_7: do {
+ if(r4 !=0) //_LBB712_6
+{
+ r4 = (r6 + 1)|0;
+ r5 = (r0 + 1)|0;
+_9: while(true){
+ r4 = (r4 + 1)|0;
+ r7 = (r5 + 1)|0;
+ r8 = heapU8[r5];
+ r5 = r7;
+if(!(r8 !=0)) //_LBB712_7
+{
+break _9;
+}
+}
+ if(uint(r4) >uint(258)) //_LBB712_5
+{
+__label__ = 5;
+}
+else{
+ r4 = sp + -259;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r0;
+ strcpy(i7);
+ r0 = heapU8[sp+-259];
+_13: do {
+ if(r0 !=0) //_LBB712_11
+{
+ r0 = (r4 + 1)|0;
+ r7 = 0;
+_15: while(true){
+ r5 = (r7 + 1)|0;
+ r8 = heapU8[r0+r7];
+ r7 = r5;
+if(!(r8 !=0)) //_LBB712_12
+{
+break _13;
+}
+}
+}
+else{
+ r5 = 0;
+}
+} while(0);
+ r7 = 47;
+ r0 = (r5 + 1)|0;
+ r8 = 0;
+ heap8[r4+r5] = r7;
+ heap8[r4+r0] = r8;
+ r5 = heapU8[sp+-259];
+ if(r5 !=0) //_LBB712_15
+{
+ r5 = (r4 + 1)|0;
+_21: while(true){
+ r4 = (r8 + 1)|0;
+ r7 = heapU8[r5+r8];
+ r8 = r4;
+ if(r7 !=0) //_LBB712_16
+{
+continue _21;
+}
+else{
+__label__ = 17;
+break _7;
+}
+}
+}
+else{
+ r4 = 0;
+__label__ = 17;
+}
+}
+}
+else{
+__label__ = 5;
+}
+} while(0);
+if (__label__ == 5){
+ r0 = 0;
+ r4 = r0;
+}
+ r4 = (r4 + r6)|0;
+if(!(uint(r4) >uint(258))) //_LBB712_33
+{
+ r4 = sp + -259;
+ r0 = (r4 + r0)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ strcpy(i7);
+ r0 = _2E_str37683;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r0 = r_g0;
+ if(r0 ==0) //_LBB712_28
+{
+ r1 = heapU8[r2];
+_31: do {
+ if(r1 !=0) //_LBB712_30
+{
+ r0 = (r2 + 1)|0;
+ r4 = 0;
+_33: while(true){
+ r1 = (r4 + 1)|0;
+ r5 = heapU8[r0+r4];
+ r4 = r1;
+if(!(r5 !=0)) //_LBB712_31
+{
+break _31;
+}
+}
+}
+else{
+ r1 = 0;
+}
+} while(0);
+ r0 = r3 >> 2;
+ heap32[(r0)] = 0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r1;
+ _ZN4__rw14__rw_pod_arrayIcLj256EE6appendEPKcj(i7);
+ r1 = heap32[(r0+1)];
+ r_g0 = r1;
+ return;
+}
+else{
+ r2 = _2E_str1648;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r2;
+ fopen(i7);
+ r2 = r_g0;
+if(!(r2 ==0)) //_LBB712_33
+{
+ if(uint(r2) <uint(10)) //_LBB712_22
+{
+ r3 = _ZL13s_file_stdout;
+ r0 = r3 >> 2;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+7)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 2;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+}
+else{
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+7)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r3 = r2;
+}
+ r0 = r3 >> 2;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+5)];
+ heap32[(g0)] = r3;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ if(uint(r2) >uint(9)) //_LBB712_25
+{
+ r3 = r2;
+}
+else{
+ r3 = _ZL13s_file_stdout;
+}
+ r0 = r3 >> 2;
+ r0 = heap32[(r0)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ heap32[(g0)] = r3;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+if(!(uint(r2) <uint(10))) //_LBB712_33
+{
+ heap32[(g0)] = r3;
+ _ZdlPv(i7);
+}
+}
+}
+}
+ r0 = sp + -352;
+ r0 = r0 >> 2;
+ heap32[(r0+20)] = 0;
+ heap32[(r0+22)] = r1;
+ heap32[(r0+21)] = 0;
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNKSt8messagesIcE8do_closeEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ _ZN4__rw14__rw_cat_closeEi(i7);
+ return;
+}
+
+function _ZNKSt8messagesIcE6do_getEiiiRKSs(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ heap32[(fp+-1)] = r0;
+if(!(r0 <0)) //_LBB714_8
+{
+ r0 = sp + -4;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ _ZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataE(i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB714_8
+{
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+if(!(r0 ==-1)) //_LBB714_8
+{
+ r1 = _ZN4__rwL12__rw_catlistE_2E_1;
+ r2 = _ZN4__rwL12__rw_catlistE_2E_0;
+ r1 = r1 >> 2;
+ r2 = r2 >> 2;
+ r2 = heap32[(r2)];
+ r1 = heap32[(r1)];
+ r1 = (r1 - r2)|0;
+ r1 = r1 >> 2;
+ r3 = 0;
+_5: while(true){
+ if(uint(r1) <=uint(r3)) //_LBB714_8
+{
+break _5;
+}
+else{
+ r4 = r3 << 2;
+ r4 = (r2 + r4)|0;
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ if(r4 ==0) //_LBB714_8
+{
+break _5;
+}
+else{
+ if(r4 !=r0) //_LBB714_4
+{
+ r3 = (r3 + 1)|0;
+continue _5;
+}
+else{
+break _5;
+}
+}
+}
+}
+}
+}
+}
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+5)];
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+-3)];
+ if(r4 ==-1) //_LBB714_11
+{
+ r2 = heap32[(r3+-1)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r2;
+ _ZNSs10_C_get_repEjj(i7);
+ r0 = r0 >> 2;
+ r3 = (r_g0 + 12)|0;
+ heap32[(r0)] = r3;
+ r0 = heap32[(r1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ memcpy(i7);
+}
+else{
+ r1 = (r2 + -12)|0;
+ r0 = r0 >> 2;
+ r3 = _ZNSs11_C_null_refE;
+ heap32[(r0)] = r2;
+if(!(r1 ==r3)) //_LBB714_12
+{
+ r0 = r1 >> 2;
+ r1 = (r4 + 1)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+}
+ return;
+}
+
+function _ZNKSt8messagesIcE7do_openERKSsRKSt6locale(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ heap32[(g0)] = 1;
+ _Znwj(i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB715_2
+{
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+}
+ r0 = -1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNSt8messagesIcED0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN4__rw10__rw_facetE;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(r2+5)] = -1;
+ r1 = heap32[(r2+1)];
+ r3 = heap32[(r2+2)];
+if(!(r1 ==r3)) //_LBB716_3
+{
+if(!(r1 ==0)) //_LBB716_3
+{
+ heap32[(g0)] = r1;
+ _ZdaPv(i7);
+}
+}
+ r1 = _ZZN4__rw10__rw_facetD4EvE9destroyed;
+ heap32[(r2+1)] = r1;
+ r1 = heap32[(r2+4)];
+if(!(r1 !=-1)) //_LBB716_5
+{
+ r1 = heap32[(r2+3)];
+ heap32[(g0)] = r1;
+ _ZdlPv(i7);
+}
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZNSt8messagesIcED1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVN4__rw10__rw_facetE;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ heap32[(r0+5)] = -1;
+ r1 = heap32[(r0+1)];
+ r2 = heap32[(r0+2)];
+if(!(r1 ==r2)) //_LBB717_3
+{
+if(!(r1 ==0)) //_LBB717_3
+{
+ heap32[(g0)] = r1;
+ _ZdaPv(i7);
+}
+}
+ r1 = _ZZN4__rw10__rw_facetD4EvE9destroyed;
+ heap32[(r0+1)] = r1;
+ r1 = heap32[(r0+4)];
+if(!(r1 !=-1)) //_LBB717_5
+{
+ r0 = heap32[(r0+3)];
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+}
+ return;
+}
+
+function _ZN4__rw14__rw_pod_arrayIcLj256EE6appendEPKcj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(r1)];
+ r4 = (r3 + r2)|0;
+ r5 = heap32[(fp+1)];
+ if(uint(r4) >uint(255)) //_LBB718_2
+{
+ r3 = (r4 + 1)|0;
+ heap32[(g0)] = r3;
+ _Znaj(i7);
+ r7 = r_g0;
+ r3 = heap32[(r1)];
+ r6 = heap32[(r1+1)];
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r3;
+ memcpy(i7);
+ r3 = heap32[(r1+1)];
+ r6 = (r0 + 8)|0;
+if(!(r3 ==r6)) //_LBB718_5
+{
+if(!(r3 ==0)) //_LBB718_5
+{
+ heap32[(g0)] = r3;
+ _ZdaPv(i7);
+}
+}
+ r6 = (r0 + 4)|0;
+ heap32[(r1+1)] = r7;
+ r3 = heap32[(r1)];
+}
+else{
+ r6 = (r0 + 4)|0;
+ r7 = heap32[(r1+1)];
+}
+ r3 = (r7 + r3)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r2;
+ memcpy(i7);
+ r2 = r6 >> 2;
+ heap32[(r1)] = r4;
+ r1 = heap32[(r2)];
+ r2 = 0;
+ heap8[r1+r4] = r2;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNSs10_C_get_repEjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+_1: do {
+ if(uint(r0) <uint(-13)) //_LBB719_4
+{
+ if(uint(r0) <uint(r1)) //_LBB719_6
+{
+ r2 = _2E_str4362;
+ r3 = _2E_str3361;
+ heap32[(g0)] = 8;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = r0;
+ _ZN4__rw10__rw_throwEiz(i7);
+__label__ = 6;
+break _1;
+}
+else{
+__label__ = 6;
+break _1;
+}
+}
+else{
+ if(uint(r1) >uint(-14)) //_LBB719_3
+{
+ r0 = _2E_str2360;
+ r2 = _2E_str3361;
+ heap32[(g0)] = 8;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = -14;
+ _ZN4__rw10__rw_throwEiz(i7);
+ r0 = r1;
+__label__ = 8;
+}
+else{
+ r0 = r1;
+__label__ = 6;
+}
+}
+} while(0);
+if (__label__ == 6){
+ if(r0 ==0) //_LBB719_9
+{
+ r0 = _ZNSs11_C_null_refE;
+ r_g0 = r0;
+ return;
+}
+}
+ r2 = (r0 + 14)|0;
+ heap32[(g0)] = r2;
+ _Znwj(i7);
+ r2 = r_g0;
+if(!(r2 !=0)) //_LBB719_12
+{
+ heap32[(g0)] = 3;
+ _ZN4__rw10__rw_throwEiz(i7);
+}
+ r3 = r2 >> 2;
+ heap32[(r3)] = 0;
+ heap32[(r3+1)] = r0;
+ r0 = (r1 + r2)|0;
+ r4 = 0;
+ heap32[(r3+2)] = r1;
+ heap8[r0+12] = r4;
+ r_g0 = r2;
+ return;
+}
+
+function _ZNKSt9type_info15__is_function_pEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNSt9type_infoD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVSt9type_info;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZNSt9type_infoD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVSt9type_info;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function block_merge_next(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+1)];
+ r2 = (r2 + -4)|0;
+ r2 = r2 & -4;
+ r3 = (r0 + 8)|0;
+ r4 = (r2 + 4)|0;
+ r4 = (r3 + r4)|0;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+ r6 = r5 & 1;
+if(!(r6 ==0)) //_LBB723_9
+{
+ r6 = heap32[(fp)];
+ r7 = (r3 + r2)|0;
+ r8 = r5 & -4;
+ if(uint(r8) >uint(255)) //_LBB723_3
+{
+ r5 = r8 >>> 1;
+ r5 = r8 | r5;
+ r9 = r5 >>> 2;
+ r5 = r5 | r9;
+ r9 = r5 >>> 4;
+ r5 = r5 | r9;
+ r9 = r5 >>> 8;
+ r5 = r5 | r9;
+ r9 = r5 >>> 16;
+ r5 = r5 | r9;
+ r9 = r5 ^ -1;
+ r10 = 1431655765;
+ r9 = r9 >>> 1;
+ r5 = r10 & (~r5);
+ r9 = r9 & 1431655765;
+ r5 = (r5 + r9)|0;
+ r9 = r5 >>> 2;
+ r5 = r5 & 858993459;
+ r9 = r9 & 858993459;
+ r5 = (r5 + r9)|0;
+ r9 = r5 >>> 4;
+ r5 = r5 & 252645135;
+ r9 = r9 & 252645135;
+ r5 = (r5 + r9)|0;
+ r9 = r5 >>> 8;
+ r5 = r5 & 16711935;
+ r9 = r9 & 16711935;
+ r5 = (r5 + r9)|0;
+ r9 = r5 & 65535;
+ r5 = r5 >>> 16;
+ r10 = 26;
+ r5 = (r9 + r5)|0;
+ r9 = (r10 - r5)|0;
+ r8 = r8 >>> r9;
+ r9 = 24;
+ r8 = r8 ^ 32;
+ r5 = (r9 - r5)|0;
+}
+else{
+ r8 = r5 >>> 3;
+ r5 = 0;
+}
+ r2 = (r2 + r3)|0;
+ r2 = r2 >> 2;
+ r9 = r5 << 7;
+ r10 = heap32[(r2+2)];
+ r2 = heap32[(r2+3)];
+ r9 = (r6 + r9)|0;
+ r11 = r8 << 2;
+ r9 = (r9 + r11)|0;
+ r11 = r10 >> 2;
+ r12 = r2 >> 2;
+ heap32[(r11+3)] = r2;
+ r2 = r9 >> 2;
+ heap32[(r12+2)] = r10;
+ r2 = heap32[(r2+24)];
+if(!(r2 !=r7)) //_LBB723_8
+{
+ r2 = (r9 + 96)|0;
+ r2 = r2 >> 2;
+ r7 = block_null;
+ heap32[(r2)] = r10;
+if(!(r10 !=r7)) //_LBB723_8
+{
+ r2 = r5 << 2;
+ r2 = (r6 + r2)|0;
+ r2 = r2 >> 2;
+ r7 = 1;
+ r8 = r7 << r8;
+ r9 = heap32[(r2+1)];
+ r8 = r9 & (~r8);
+ heap32[(r2+1)] = r8;
+if(!(r8 !=0)) //_LBB723_8
+{
+ r2 = r6 >> 2;
+ r5 = r7 << r5;
+ r6 = heap32[(r2)];
+ r5 = r6 & (~r5);
+ heap32[(r2)] = r5;
+}
+}
+}
+ r2 = heap32[(r4)];
+ r4 = heap32[(r1+1)];
+ r2 = r2 & -4;
+ r2 = (r2 + r4)|0;
+ r4 = r2 & -4;
+ r3 = (r3 + r4)|0;
+ r2 = (r2 + 4)|0;
+ r3 = r3 >> 2;
+ heap32[(r1+1)] = r2;
+ heap32[(r3)] = r0;
+}
+ r_g0 = r0;
+ return;
+}
+
+function tlsf_free(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+if(!(r0 ==0)) //_LBB724_15
+{
+ r1 = heap32[(fp)];
+ r2 = r0 >> 2;
+ r3 = heap32[(r2+-1)];
+ r4 = s_current_memory;
+ r5 = (r3 + -4)|0;
+ r4 = r4 >> 2;
+ r5 = r5 & -4;
+ r6 = heap32[(r4)];
+ r3 = r3 & -4;
+ r5 = (r0 + r5)|0;
+ r3 = (r6 - r3)|0;
+ r0 = (r0 + -8)|0;
+ r5 = r5 >> 2;
+ heap32[(r4)] = r3;
+ heap32[(r5)] = r0;
+ r3 = heap32[(r5+1)];
+ r3 = r3 | 2;
+ heap32[(r5+1)] = r3;
+ r3 = heap32[(r2+-1)];
+ r4 = r3 | 1;
+ heap32[(r2+-1)] = r4;
+ r3 = r3 & 2;
+ if(r3 !=0) //_LBB724_3
+{
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ r3 = r0 >> 2;
+ r4 = heap32[(r3+1)];
+ r5 = r4 & -4;
+ if(uint(r5) >uint(255)) //_LBB724_5
+{
+ r4 = r5 >>> 1;
+ r4 = r5 | r4;
+ r6 = r4 >>> 2;
+ r4 = r4 | r6;
+ r6 = r4 >>> 4;
+ r4 = r4 | r6;
+ r6 = r4 >>> 8;
+ r4 = r4 | r6;
+ r6 = r4 >>> 16;
+ r4 = r4 | r6;
+ r6 = r4 ^ -1;
+ r7 = 1431655765;
+ r6 = r6 >>> 1;
+ r4 = r7 & (~r4);
+ r6 = r6 & 1431655765;
+ r4 = (r4 + r6)|0;
+ r6 = r4 >>> 2;
+ r4 = r4 & 858993459;
+ r6 = r6 & 858993459;
+ r4 = (r4 + r6)|0;
+ r6 = r4 >>> 4;
+ r4 = r4 & 252645135;
+ r6 = r6 & 252645135;
+ r4 = (r4 + r6)|0;
+ r6 = r4 >>> 8;
+ r4 = r4 & 16711935;
+ r6 = r6 & 16711935;
+ r4 = (r4 + r6)|0;
+ r6 = r4 & 65535;
+ r4 = r4 >>> 16;
+ r7 = 26;
+ r4 = (r6 + r4)|0;
+ r6 = (r7 - r4)|0;
+ r5 = r5 >>> r6;
+ r6 = 24;
+ r5 = r5 ^ 32;
+ r4 = (r6 - r4)|0;
+}
+else{
+ r5 = r4 >>> 3;
+ r4 = 0;
+}
+ r6 = r4 << 7;
+ r7 = heap32[(r3+2)];
+ r8 = heap32[(r3+3)];
+ r6 = (r1 + r6)|0;
+ r9 = r5 << 2;
+ r6 = (r6 + r9)|0;
+ r9 = r7 >> 2;
+ r10 = r8 >> 2;
+ heap32[(r9+3)] = r8;
+ r8 = r6 >> 2;
+ heap32[(r10+2)] = r7;
+ r8 = heap32[(r8+24)];
+if(!(r8 !=r0)) //_LBB724_10
+{
+ r6 = (r6 + 96)|0;
+ r6 = r6 >> 2;
+ r8 = block_null;
+ heap32[(r6)] = r7;
+if(!(r7 !=r8)) //_LBB724_10
+{
+ r6 = r4 << 2;
+ r6 = (r1 + r6)|0;
+ r6 = r6 >> 2;
+ r7 = 1;
+ r5 = r7 << r5;
+ r8 = heap32[(r6+1)];
+ r5 = r8 & (~r5);
+ heap32[(r6+1)] = r5;
+if(!(r5 !=0)) //_LBB724_10
+{
+ r5 = r1 >> 2;
+ r4 = r7 << r4;
+ r6 = heap32[(r5)];
+ r4 = r6 & (~r4);
+ heap32[(r5)] = r4;
+}
+}
+}
+ r4 = (r0 + 8)|0;
+ r2 = heap32[(r2+-1)];
+ r5 = heap32[(r3+1)];
+ r2 = r2 & -4;
+ r2 = (r2 + r5)|0;
+ r5 = r2 & -4;
+ r4 = (r4 + r5)|0;
+ r2 = (r2 + 4)|0;
+ r4 = r4 >> 2;
+ heap32[(r3+1)] = r2;
+ heap32[(r4)] = r0;
+}
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ block_merge_next(i7);
+ r0 = r_g0;
+ r2 = r0 >> 2;
+ r2 = heap32[(r2+1)];
+ r3 = r2 & -4;
+ if(uint(r3) >uint(255)) //_LBB724_13
+{
+ r2 = r3 >>> 1;
+ r2 = r3 | r2;
+ r4 = r2 >>> 2;
+ r2 = r2 | r4;
+ r4 = r2 >>> 4;
+ r2 = r2 | r4;
+ r4 = r2 >>> 8;
+ r2 = r2 | r4;
+ r4 = r2 >>> 16;
+ r2 = r2 | r4;
+ r4 = r2 ^ -1;
+ r5 = 1431655765;
+ r4 = r4 >>> 1;
+ r2 = r5 & (~r2);
+ r4 = r4 & 1431655765;
+ r2 = (r2 + r4)|0;
+ r4 = r2 >>> 2;
+ r2 = r2 & 858993459;
+ r4 = r4 & 858993459;
+ r2 = (r2 + r4)|0;
+ r4 = r2 >>> 4;
+ r2 = r2 & 252645135;
+ r4 = r4 & 252645135;
+ r2 = (r2 + r4)|0;
+ r4 = r2 >>> 8;
+ r2 = r2 & 16711935;
+ r4 = r4 & 16711935;
+ r2 = (r2 + r4)|0;
+ r4 = r2 & 65535;
+ r2 = r2 >>> 16;
+ r5 = 26;
+ r2 = (r4 + r2)|0;
+ r4 = (r5 - r2)|0;
+ r3 = r3 >>> r4;
+ r4 = 24;
+ r3 = r3 ^ 32;
+ r2 = (r4 - r2)|0;
+}
+else{
+ r3 = r2 >>> 3;
+ r2 = 0;
+}
+ r4 = r2 << 7;
+ r4 = (r1 + r4)|0;
+ r5 = r3 << 2;
+ r4 = (r4 + r5)|0;
+ r4 = r4 >> 2;
+ r5 = heap32[(r4+24)];
+ r6 = r0 >> 2;
+ r7 = block_null;
+ heap32[(r6+2)] = r5;
+ r5 = r5 >> 2;
+ heap32[(r6+3)] = r7;
+ heap32[(r5+3)] = r0;
+ r5 = 1;
+ r6 = r1 >> 2;
+ heap32[(r4+24)] = r0;
+ r0 = r2 << 2;
+ r2 = r5 << r2;
+ r4 = heap32[(r6)];
+ r0 = (r1 + r0)|0;
+ r1 = r4 | r2;
+ r0 = r0 >> 2;
+ heap32[(r6)] = r1;
+ r1 = r5 << r3;
+ r2 = heap32[(r0+1)];
+ r1 = r2 | r1;
+ heap32[(r0+1)] = r1;
+}
+ return;
+}
+
+function block_prepare_used(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ if(r0 ==0) //_LBB725_8
+{
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+else{
+ r1 = heap32[(fp+2)];
+ r2 = r0 >> 2;
+ r3 = heap32[(r2+1)];
+ r4 = r3 & -4;
+ r5 = (r1 + 16)|0;
+ if(uint(r4) >=uint(r5)) //_LBB725_3
+{
+ r3 = heap32[(fp)];
+ r5 = (r0 + 8)|0;
+ r6 = (r5 + r1)|0;
+ r7 = r6 >> 2;
+ r8 = -4;
+ r9 = heap32[(r7)];
+ r8 = (r8 - r1)|0;
+ r9 = r9 & 3;
+ r4 = (r8 + r4)|0;
+ r4 = r9 | r4;
+ heap32[(r7)] = r4;
+ r4 = heap32[(r2+1)];
+ r4 = r4 & 3;
+ r4 = r4 | r1;
+ heap32[(r2+1)] = r4;
+ r4 = heap32[(r7)];
+ r4 = (r4 + -4)|0;
+ r8 = (r1 + 4)|0;
+ r4 = r4 & -4;
+ r1 = (r1 + 8)|0;
+ r9 = (r4 + r8)|0;
+ r4 = (r4 + r1)|0;
+ r9 = (r5 + r9)|0;
+ r4 = (r5 + r4)|0;
+ r6 = (r6 + -4)|0;
+ r9 = r9 >> 2;
+ r4 = r4 >> 2;
+ heap32[(r9)] = r6;
+ r9 = heap32[(r4)];
+ r9 = r9 | 2;
+ heap32[(r4)] = r9;
+ r4 = heap32[(r7)];
+ r4 = r4 | 1;
+ heap32[(r7)] = r4;
+ r4 = heap32[(r2+1)];
+ r4 = (r4 + -4)|0;
+ r4 = r4 & -4;
+ r4 = (r5 + r4)|0;
+ r4 = r4 >> 2;
+ heap32[(r4)] = r0;
+ r4 = heap32[(r7)];
+ r9 = r4 & -4;
+ r10 = r4 | 2;
+ heap32[(r7)] = r10;
+ if(uint(r9) >uint(255)) //_LBB725_5
+{
+ r4 = r9 >>> 1;
+ r4 = r9 | r4;
+ r7 = r4 >>> 2;
+ r4 = r4 | r7;
+ r7 = r4 >>> 4;
+ r4 = r4 | r7;
+ r7 = r4 >>> 8;
+ r4 = r4 | r7;
+ r7 = r4 >>> 16;
+ r4 = r4 | r7;
+ r7 = r4 ^ -1;
+ r10 = 1431655765;
+ r7 = r7 >>> 1;
+ r4 = r10 & (~r4);
+ r7 = r7 & 1431655765;
+ r4 = (r4 + r7)|0;
+ r7 = r4 >>> 2;
+ r4 = r4 & 858993459;
+ r7 = r7 & 858993459;
+ r4 = (r4 + r7)|0;
+ r7 = r4 >>> 4;
+ r4 = r4 & 252645135;
+ r7 = r7 & 252645135;
+ r4 = (r4 + r7)|0;
+ r7 = r4 >>> 8;
+ r4 = r4 & 16711935;
+ r7 = r7 & 16711935;
+ r4 = (r4 + r7)|0;
+ r7 = r4 & 65535;
+ r4 = r4 >>> 16;
+ r10 = 26;
+ r4 = (r7 + r4)|0;
+ r7 = (r10 - r4)|0;
+ r9 = r9 >>> r7;
+ r7 = 24;
+ r9 = r9 ^ 32;
+ r4 = (r7 - r4)|0;
+}
+else{
+ r9 = r4 >>> 3;
+ r4 = 0;
+}
+ r7 = r4 << 7;
+ r7 = (r3 + r7)|0;
+ r10 = r9 << 2;
+ r7 = (r7 + r10)|0;
+ r7 = r7 >> 2;
+ r8 = (r5 + r8)|0;
+ r1 = (r5 + r1)|0;
+ r5 = heap32[(r7+24)];
+ r8 = r8 >> 2;
+ r1 = r1 >> 2;
+ r10 = block_null;
+ heap32[(r8)] = r5;
+ r5 = r5 >> 2;
+ heap32[(r1)] = r10;
+ heap32[(r5+3)] = r6;
+ r1 = 1;
+ r5 = r3 >> 2;
+ heap32[(r7+24)] = r6;
+ r6 = r4 << 2;
+ r4 = r1 << r4;
+ r7 = heap32[(r5)];
+ r3 = (r3 + r6)|0;
+ r4 = r7 | r4;
+ r3 = r3 >> 2;
+ heap32[(r5)] = r4;
+ r1 = r1 << r9;
+ r4 = heap32[(r3+1)];
+ r1 = r4 | r1;
+ heap32[(r3+1)] = r1;
+ r3 = heap32[(r2+1)];
+}
+ r1 = r3 & -4;
+ r0 = (r0 + 8)|0;
+ r1 = (r0 + r1)|0;
+ r1 = r1 >> 2;
+ r3 = heap32[(r1)];
+ r3 = r3 & -3;
+ heap32[(r1)] = r3;
+ r1 = heap32[(r2+1)];
+ r1 = r1 & -2;
+ heap32[(r2+1)] = r1;
+ r_g0 = r0;
+ return;
+}
+}
+
+function block_locate_free(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+_1: do {
+if(!(r0 ==0)) //_LBB726_16
+{
+ r1 = heap32[(fp)];
+ if(uint(r0) >uint(31)) //_LBB726_3
+{
+ r2 = r0 >>> 1;
+ r2 = r0 | r2;
+ r3 = r2 >>> 2;
+ r2 = r2 | r3;
+ r3 = r2 >>> 4;
+ r2 = r2 | r3;
+ r3 = r2 >>> 8;
+ r2 = r2 | r3;
+ r3 = r2 >>> 16;
+ r2 = r2 | r3;
+ r3 = r2 ^ -1;
+ r4 = 1431655765;
+ r3 = r3 >>> 1;
+ r2 = r4 & (~r2);
+ r3 = r3 & 1431655765;
+ r2 = (r2 + r3)|0;
+ r3 = r2 >>> 2;
+ r2 = r2 & 858993459;
+ r3 = r3 & 858993459;
+ r2 = (r2 + r3)|0;
+ r3 = r2 >>> 4;
+ r2 = r2 & 252645135;
+ r3 = r3 & 252645135;
+ r2 = (r2 + r3)|0;
+ r3 = r2 >>> 8;
+ r2 = r2 & 16711935;
+ r3 = r3 & 16711935;
+ r2 = (r2 + r3)|0;
+ r3 = r2 & 65535;
+ r2 = r2 >>> 16;
+ r5 = 26;
+ r2 = (r3 + r2)|0;
+ r3 = 1;
+ r2 = (r5 - r2)|0;
+ r2 = r3 << r2;
+ r0 = (r0 + r2)|0;
+ r0 = (r0 + -1)|0;
+ if(uint(r0) >uint(255)) //_LBB726_5
+{
+ r2 = r0 >>> 1;
+ r2 = r0 | r2;
+ r3 = r2 >>> 2;
+ r2 = r2 | r3;
+ r3 = r2 >>> 4;
+ r2 = r2 | r3;
+ r3 = r2 >>> 8;
+ r2 = r2 | r3;
+ r3 = r2 >>> 16;
+ r2 = r2 | r3;
+ r3 = r2 ^ -1;
+ r3 = r3 >>> 1;
+ r4 = r4 & (~r2);
+ r2 = r3 & 1431655765;
+ r4 = (r4 + r2)|0;
+ r2 = r4 >>> 2;
+ r4 = r4 & 858993459;
+ r2 = r2 & 858993459;
+ r4 = (r4 + r2)|0;
+ r2 = r4 >>> 4;
+ r4 = r4 & 252645135;
+ r2 = r2 & 252645135;
+ r4 = (r4 + r2)|0;
+ r2 = r4 >>> 8;
+ r4 = r4 & 16711935;
+ r2 = r2 & 16711935;
+ r4 = (r4 + r2)|0;
+ r2 = r4 & 65535;
+ r4 = r4 >>> 16;
+ r4 = (r2 + r4)|0;
+ r2 = (r5 - r4)|0;
+ r0 = r0 >>> r2;
+ r2 = 24;
+ r0 = r0 ^ 32;
+ r4 = (r2 - r4)|0;
+__label__ = 5;
+}
+else{
+__label__ = 3;
+}
+}
+else{
+__label__ = 3;
+}
+if (__label__ == 3){
+ r0 = r0 >>> 3;
+ r4 = 0;
+}
+ r2 = r4 << 2;
+ r2 = (r1 + r2)|0;
+ r2 = r2 >> 2;
+ r3 = -1;
+ r2 = heap32[(r2+1)];
+ r0 = r3 << r0;
+ r0 = r2 & r0;
+ if(r0 ==0) //_LBB726_8
+{
+ r0 = r1 >> 2;
+ r4 = (r4 + 1)|0;
+ r0 = heap32[(r0)];
+ r4 = r3 << r4;
+ r0 = r0 & r4;
+ if(r0 ==0) //_LBB726_16
+{
+break _1;
+}
+else{
+ r4 = (r0 + -1)|0;
+ r0 = r4 & (~r0);
+ r4 = r0 >>> 1;
+ r0 = r0 & 1431655765;
+ r4 = r4 & 1431655765;
+ r0 = (r0 + r4)|0;
+ r4 = r0 >>> 2;
+ r0 = r0 & 858993459;
+ r4 = r4 & 858993459;
+ r0 = (r0 + r4)|0;
+ r4 = r0 >>> 4;
+ r0 = r0 & 252645135;
+ r4 = r4 & 252645135;
+ r0 = (r0 + r4)|0;
+ r4 = r0 >>> 8;
+ r0 = r0 & 16711935;
+ r4 = r4 & 16711935;
+ r0 = (r0 + r4)|0;
+ r4 = r0 & 65535;
+ r0 = r0 >>> 16;
+ r4 = (r4 + r0)|0;
+ r0 = r4 << 2;
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+}
+}
+ r2 = (r0 + -1)|0;
+ r2 = r2 & (~r0);
+ r5 = r2 >>> 1;
+ r2 = r2 & 1431655765;
+ r5 = r5 & 1431655765;
+ r2 = (r2 + r5)|0;
+ r5 = r2 >>> 2;
+ r2 = r2 & 858993459;
+ r5 = r5 & 858993459;
+ r2 = (r2 + r5)|0;
+ r5 = r2 >>> 4;
+ r2 = r2 & 252645135;
+ r5 = r5 & 252645135;
+ r2 = (r2 + r5)|0;
+ r5 = r2 >>> 8;
+ r2 = r2 & 16711935;
+ r5 = r5 & 16711935;
+ r2 = (r2 + r5)|0;
+ r5 = r2 & 65535;
+ r2 = r2 >>> 16;
+ r2 = (r5 + r2)|0;
+ r0 = r0 == 0 ? r3 : r2;
+ r2 = r4 << 7;
+ r2 = (r1 + r2)|0;
+ r3 = r0 << 2;
+ r2 = (r2 + r3)|0;
+ r3 = r2 >> 2;
+ r3 = heap32[(r3+24)];
+if(!(r3 ==0)) //_LBB726_16
+{
+ r2 = (r2 + 96)|0;
+ r5 = r3 >> 2;
+ r6 = heap32[(r5+2)];
+ r5 = heap32[(r5+3)];
+ r7 = r6 >> 2;
+ r8 = r5 >> 2;
+ heap32[(r7+3)] = r5;
+ r2 = r2 >> 2;
+ heap32[(r8+2)] = r6;
+ r5 = heap32[(r2)];
+if(!(r5 !=r3)) //_LBB726_15
+{
+ r5 = block_null;
+ heap32[(r2)] = r6;
+if(!(r6 !=r5)) //_LBB726_15
+{
+ r2 = r4 << 2;
+ r2 = (r1 + r2)|0;
+ r2 = r2 >> 2;
+ r5 = 1;
+ r0 = r5 << r0;
+ r6 = heap32[(r2+1)];
+ r0 = r6 & (~r0);
+ heap32[(r2+1)] = r0;
+if(!(r0 !=0)) //_LBB726_15
+{
+ r0 = r1 >> 2;
+ r1 = r5 << r4;
+ r2 = heap32[(r0)];
+ r1 = r2 & (~r1);
+ heap32[(r0)] = r1;
+}
+}
+}
+ r_g0 = r3;
+ return;
+}
+}
+} while(0);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function tlsf_malloc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = (r0 + -1)|0;
+ if(uint(r2) <uint(1073741823)) //_LBB727_2
+{
+ r0 = (r0 + 7)|0;
+ r0 = r0 & -8;
+ r2 = 12;
+ r0 = uint(r0) < uint(r2) ? r2 : r0;
+}
+else{
+ r0 = 0;
+}
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ block_locate_free(i7);
+ r2 = r_g0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r0;
+ r0 = s_current_memory;
+ block_prepare_used(i7);
+ r1 = r_g0;
+ r2 = r2 >> 2;
+ r0 = r0 >> 2;
+ r2 = heap32[(r2+1)];
+ r3 = heap32[(r0)];
+ r2 = r2 & -4;
+ r2 = (r3 + r2)|0;
+ r3 = s_max_memory;
+ r3 = r3 >> 2;
+ heap32[(r0)] = r2;
+ r0 = heap32[(r3)];
+if(!(uint(r2) <=uint(r0))) //_LBB727_5
+{
+ heap32[(r3)] = r2;
+}
+ r_g0 = r1;
+ return;
+}
+
+function tlsf_realloc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+2)];
+if(!(r0 ==0)) //_LBB728_3
+{
+if(!(r2 !=0)) //_LBB728_3
+{
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ tlsf_free(i7);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+}
+ if(r0 !=0) //_LBB728_10
+{
+ r3 = r0 >> 2;
+ r4 = heap32[(r3+-1)];
+ r5 = r4 & -4;
+ r6 = (r0 + r5)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+ r7 = r6 & -4;
+ r7 = (r5 + r7)|0;
+ r8 = (r2 + -1)|0;
+ r9 = (r0 + -8)|0;
+ r7 = (r7 + 4)|0;
+ if(uint(r8) <uint(1073741823)) //_LBB728_12
+{
+ r10 = (r2 + 7)|0;
+ r10 = r10 & -8;
+ r11 = 12;
+ r10 = uint(r10) < uint(r11) ? r11 : r10;
+}
+else{
+ r10 = 0;
+}
+_11: do {
+ if(uint(r10) >uint(r5)) //_LBB728_15
+{
+ r4 = r6 & 1;
+if(!(r4 ==0)) //_LBB728_17
+{
+ if(uint(r10) <=uint(r7)) //_LBB728_24
+{
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r9;
+ block_merge_next(i7);
+ r4 = heap32[(r3+-1)];
+ r4 = r4 & -4;
+ r4 = (r0 + r4)|0;
+ r4 = r4 >> 2;
+ r9 = heap32[(r4)];
+ r9 = r9 & -3;
+ heap32[(r4)] = r9;
+ r4 = heap32[(r3+-1)];
+ r4 = r4 & -2;
+ heap32[(r3+-1)] = r4;
+break _11;
+}
+}
+ if(uint(r8) <uint(1073741823)) //_LBB728_19
+{
+ r3 = (r2 + 7)|0;
+ r3 = r3 & -8;
+ r4 = 12;
+ r3 = uint(r3) < uint(r4) ? r4 : r3;
+}
+else{
+ r3 = 0;
+}
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r3;
+ block_locate_free(i7);
+ r4 = r_g0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r3;
+ r3 = s_current_memory;
+ block_prepare_used(i7);
+ r9 = r_g0;
+ r4 = r4 >> 2;
+ r3 = r3 >> 2;
+ r4 = heap32[(r4+1)];
+ r10 = heap32[(r3)];
+ r4 = r4 & -4;
+ r4 = (r10 + r4)|0;
+ r10 = s_max_memory;
+ r10 = r10 >> 2;
+ heap32[(r3)] = r4;
+ r3 = heap32[(r10)];
+if(!(uint(r4) <=uint(r3))) //_LBB728_22
+{
+ heap32[(r10)] = r4;
+}
+ if(r9 ==0) //_LBB728_34
+{
+ r_g0 = r9;
+ return;
+}
+else{
+ r3 = uint(r5) >= uint(r2) ? r2 : r5;
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r3;
+ memcpy(i7);
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ tlsf_free(i7);
+ r_g0 = r9;
+ return;
+}
+}
+} while(0);
+ r9 = s_current_memory;
+ r9 = r9 >> 2;
+ r2 = heap32[(r9)];
+ r2 = (r2 - r5)|0;
+ r5 = r4 & -4;
+ heap32[(r9)] = r2;
+ r6 = (r10 + 16)|0;
+ if(uint(r5) >=uint(r6)) //_LBB728_27
+{
+ r4 = (r0 + r10)|0;
+ r6 = r4 >> 2;
+ r7 = -4;
+ r8 = heap32[(r6)];
+ r7 = (r7 - r10)|0;
+ r8 = r8 & 3;
+ r5 = (r7 + r5)|0;
+ r5 = r8 | r5;
+ heap32[(r6)] = r5;
+ r5 = heap32[(r3+-1)];
+ r5 = r5 & 3;
+ r5 = r5 | r10;
+ heap32[(r3+-1)] = r5;
+ r5 = heap32[(r6)];
+ r5 = (r5 + -4)|0;
+ r5 = r5 & -4;
+ r5 = (r10 + r5)|0;
+ r5 = (r5 + r0)|0;
+ r4 = (r4 + -4)|0;
+ r5 = r5 >> 2;
+ heap32[(r5+1)] = r4;
+ r7 = heap32[(r5+2)];
+ r7 = r7 | 2;
+ heap32[(r5+2)] = r7;
+ r5 = heap32[(r6)];
+ r5 = r5 | 1;
+ r5 = r5 & -3;
+ heap32[(r6)] = r5;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r4;
+ block_merge_next(i7);
+ r4 = r_g0;
+ r5 = r4 >> 2;
+ r5 = heap32[(r5+1)];
+ r6 = r5 & -4;
+ if(uint(r6) >uint(255)) //_LBB728_29
+{
+ r5 = r6 >>> 1;
+ r5 = r6 | r5;
+ r7 = r5 >>> 2;
+ r5 = r5 | r7;
+ r7 = r5 >>> 4;
+ r5 = r5 | r7;
+ r7 = r5 >>> 8;
+ r5 = r5 | r7;
+ r7 = r5 >>> 16;
+ r5 = r5 | r7;
+ r7 = r5 ^ -1;
+ r8 = 1431655765;
+ r7 = r7 >>> 1;
+ r5 = r8 & (~r5);
+ r7 = r7 & 1431655765;
+ r5 = (r5 + r7)|0;
+ r7 = r5 >>> 2;
+ r5 = r5 & 858993459;
+ r7 = r7 & 858993459;
+ r5 = (r5 + r7)|0;
+ r7 = r5 >>> 4;
+ r5 = r5 & 252645135;
+ r7 = r7 & 252645135;
+ r5 = (r5 + r7)|0;
+ r7 = r5 >>> 8;
+ r5 = r5 & 16711935;
+ r7 = r7 & 16711935;
+ r5 = (r5 + r7)|0;
+ r7 = r5 & 65535;
+ r5 = r5 >>> 16;
+ r8 = 26;
+ r5 = (r7 + r5)|0;
+ r7 = (r8 - r5)|0;
+ r6 = r6 >>> r7;
+ r7 = 24;
+ r6 = r6 ^ 32;
+ r5 = (r7 - r5)|0;
+}
+else{
+ r6 = r5 >>> 3;
+ r5 = 0;
+}
+ r7 = r5 << 7;
+ r7 = (r1 + r7)|0;
+ r8 = r6 << 2;
+ r7 = (r7 + r8)|0;
+ r7 = r7 >> 2;
+ r8 = heap32[(r7+24)];
+ r10 = r4 >> 2;
+ r11 = block_null;
+ heap32[(r10+2)] = r8;
+ r8 = r8 >> 2;
+ heap32[(r10+3)] = r11;
+ heap32[(r8+3)] = r4;
+ r8 = 1;
+ r10 = r1 >> 2;
+ heap32[(r7+24)] = r4;
+ r4 = r5 << 2;
+ r5 = r8 << r5;
+ r7 = heap32[(r10)];
+ r4 = (r1 + r4)|0;
+ r1 = r7 | r5;
+ r4 = r4 >> 2;
+ heap32[(r10)] = r1;
+ r1 = r8 << r6;
+ r5 = heap32[(r4+1)];
+ r1 = r5 | r1;
+ heap32[(r4+1)] = r1;
+ r4 = heap32[(r3+-1)];
+}
+ r1 = r4 & -4;
+ r1 = (r2 + r1)|0;
+ r2 = s_max_memory;
+ r2 = r2 >> 2;
+ heap32[(r9)] = r1;
+ r9 = heap32[(r2)];
+if(!(uint(r1) <=uint(r9))) //_LBB728_33
+{
+ heap32[(r2)] = r1;
+}
+ r_g0 = r0;
+ return;
+}
+else{
+ r0 = (r2 + -1)|0;
+ if(uint(r0) <uint(1073741823)) //_LBB728_6
+{
+ r0 = (r2 + 7)|0;
+ r0 = r0 & -8;
+ r2 = 12;
+ r0 = uint(r0) < uint(r2) ? r2 : r0;
+}
+else{
+ r0 = 0;
+}
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ block_locate_free(i7);
+ r2 = r_g0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r0;
+ r0 = s_current_memory;
+ block_prepare_used(i7);
+ r1 = r_g0;
+ r2 = r2 >> 2;
+ r0 = r0 >> 2;
+ r2 = heap32[(r2+1)];
+ r3 = heap32[(r0)];
+ r2 = r2 & -4;
+ r2 = (r3 + r2)|0;
+ r3 = s_max_memory;
+ r3 = r3 >> 2;
+ heap32[(r0)] = r2;
+ r0 = heap32[(r3)];
+if(!(uint(r2) <=uint(r0))) //_LBB728_9
+{
+ heap32[(r3)] = r2;
+}
+ r_g0 = r1;
+ return;
+}
+}
+
+function tlsf_create(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = (r0 + -3048)|0;
+ r1 = r0 & -8;
+ r2 = (r1 + -12)|0;
+ if(uint(r2) <uint(1073741813)) //_LBB729_2
+{
+ r2 = heap32[(fp)];
+ r3 = block_null;
+ r4 = r3 >> 2;
+ heap32[(r4+2)] = r3;
+ r5 = -1;
+ r6 = r2 >> 2;
+ heap32[(r4+3)] = r3;
+ heap32[(r6)] = 0;
+_3: while(true){
+ r4 = r5 << 2;
+ r7 = r5 << 7;
+ r4 = (r2 - r4)|0;
+ r7 = (r2 - r7)|0;
+ r4 = r4 >> 2;
+ r7 = r7 >> 2;
+ heap32[(r4)] = 0;
+ heap32[(r7+-8)] = r3;
+ heap32[(r7+-7)] = r3;
+ heap32[(r7+-6)] = r3;
+ heap32[(r7+-5)] = r3;
+ heap32[(r7+-4)] = r3;
+ heap32[(r7+-3)] = r3;
+ heap32[(r7+-2)] = r3;
+ heap32[(r7+-1)] = r3;
+ heap32[(r7)] = r3;
+ heap32[(r7+1)] = r3;
+ heap32[(r7+2)] = r3;
+ heap32[(r7+3)] = r3;
+ heap32[(r7+4)] = r3;
+ heap32[(r7+5)] = r3;
+ heap32[(r7+6)] = r3;
+ heap32[(r7+7)] = r3;
+ heap32[(r7+8)] = r3;
+ heap32[(r7+9)] = r3;
+ heap32[(r7+10)] = r3;
+ heap32[(r7+11)] = r3;
+ heap32[(r7+12)] = r3;
+ heap32[(r7+13)] = r3;
+ heap32[(r7+14)] = r3;
+ heap32[(r7+15)] = r3;
+ heap32[(r7+16)] = r3;
+ heap32[(r7+17)] = r3;
+ heap32[(r7+18)] = r3;
+ heap32[(r7+19)] = r3;
+ heap32[(r7+20)] = r3;
+ heap32[(r7+21)] = r3;
+ r5 = (r5 + -1)|0;
+ heap32[(r7+22)] = r3;
+ heap32[(r7+23)] = r3;
+if(!(r5 !=-24)) //_LBB729_3
+{
+break _3;
+}
+}
+ r4 = r0 | 1;
+ r5 = (r2 + 3036)|0;
+ r4 = r4 & -7;
+ heap32[(r6+760)] = r4;
+ if(uint(r1) >uint(255)) //_LBB729_6
+{
+ r0 = r1 >>> 1;
+ r0 = r1 | r0;
+ r4 = r0 >>> 2;
+ r0 = r0 | r4;
+ r4 = r0 >>> 4;
+ r0 = r0 | r4;
+ r4 = r0 >>> 8;
+ r0 = r0 | r4;
+ r4 = r0 >>> 16;
+ r0 = r0 | r4;
+ r4 = r0 ^ -1;
+ r7 = 1431655765;
+ r4 = r4 >>> 1;
+ r0 = r7 & (~r0);
+ r4 = r4 & 1431655765;
+ r0 = (r0 + r4)|0;
+ r4 = r0 >>> 2;
+ r0 = r0 & 858993459;
+ r4 = r4 & 858993459;
+ r0 = (r0 + r4)|0;
+ r4 = r0 >>> 4;
+ r0 = r0 & 252645135;
+ r4 = r4 & 252645135;
+ r0 = (r0 + r4)|0;
+ r4 = r0 >>> 8;
+ r0 = r0 & 16711935;
+ r4 = r4 & 16711935;
+ r0 = (r0 + r4)|0;
+ r4 = r0 & 65535;
+ r0 = r0 >>> 16;
+ r7 = 26;
+ r0 = (r4 + r0)|0;
+ r4 = (r7 - r0)|0;
+ r1 = r1 >>> r4;
+ r4 = 24;
+ r1 = r1 ^ 32;
+ r0 = (r4 - r0)|0;
+}
+else{
+ r1 = r0 >>> 3;
+ r0 = 0;
+}
+ r4 = r0 << 7;
+ r4 = (r2 + r4)|0;
+ r7 = r1 << 2;
+ r4 = (r4 + r7)|0;
+ r4 = r4 >> 2;
+ r7 = heap32[(r4+24)];
+ heap32[(r6+761)] = r7;
+ r7 = r7 >> 2;
+ heap32[(r6+762)] = r3;
+ heap32[(r7+3)] = r5;
+ r3 = 1;
+ heap32[(r4+24)] = r5;
+ r4 = r0 << 2;
+ r0 = r3 << r0;
+ r7 = heap32[(r6)];
+ r4 = (r2 + r4)|0;
+ r0 = r7 | r0;
+ r4 = r4 >> 2;
+ heap32[(r6)] = r0;
+ r0 = r3 << r1;
+ r1 = heap32[(r4+1)];
+ r0 = r1 | r0;
+ heap32[(r4+1)] = r0;
+ r0 = heap32[(r6+760)];
+ r0 = (r0 + 3040)|0;
+ r0 = r0 & -4;
+ r0 = (r2 + r0)|0;
+ r0 = r0 >> 2;
+ heap32[(r0)] = r5;
+ heap32[(r0+1)] = 2;
+ r_g0 = r2;
+ return;
+}
+else{
+ r0 = _2E_str643;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 3060;
+ heap32[(g0+2)] = 1073744872;
+ printf(i7);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+}
+
+function _stricmp(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r5 = 26;
+_1: while(true){
+ r2 = heap8[r1];
+ r3 = heap8[r0];
+ r4 = (r2 + -65)|0;
+ r2 = (r2 + -33)|0;
+ r6 = (r3 + -65)|0;
+ r3 = (r3 + -33)|0;
+ r2 = uint(r4) < uint(r5) ? r2 : r4;
+ r3 = uint(r6) < uint(r5) ? r3 : r6;
+ if(r2 !=r3) //_LBB730_3
+{
+break _1;
+}
+else{
+ r0 = (r0 + 1)|0;
+ r1 = (r1 + 1)|0;
+ if(r3 !=-65) //_LBB730_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+}
+ r0 = (r3 - r2)|0;
+ r_g0 = r0;
+ return;
+}
+
+function strcasecmp(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r5 = 26;
+_1: while(true){
+ r2 = heap8[r1];
+ r3 = heap8[r0];
+ r4 = (r2 + -65)|0;
+ r2 = (r2 + -33)|0;
+ r6 = (r3 + -65)|0;
+ r3 = (r3 + -33)|0;
+ r2 = uint(r4) < uint(r5) ? r2 : r4;
+ r3 = uint(r6) < uint(r5) ? r3 : r6;
+ if(r2 !=r3) //_LBB731_3
+{
+break _1;
+}
+else{
+ r1 = (r1 + 1)|0;
+ r0 = (r0 + 1)|0;
+ if(r3 !=-65) //_LBB731_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+}
+ r0 = (r3 - r2)|0;
+ r_g0 = r0;
+ return;
+}
+
+function strcpy(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r1 ^ r0;
+ r2 = r2 & 3;
+_1: do {
+ if(r2 ==0) //_LBB732_2
+{
+ r2 = r0 & 3;
+ if(r2 !=0) //_LBB732_4
+{
+ r2 = r0 | -4;
+_5: while(true){
+ if(r2 !=0) //_LBB732_7
+{
+ r3 = heapU8[r1];
+ r4 = (r0 + 1)|0;
+ r1 = (r1 + 1)|0;
+ r2 = (r2 + 1)|0;
+ heap8[r0] = r3;
+ r0 = r4;
+if(!(r3 !=0)) //_LBB732_5
+{
+break _1;
+}
+}
+else{
+break _5;
+}
+}
+}
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r3 = r2 & -2139062144;
+ r3 = r3 ^ -2139062144;
+ r4 = (r2 + -16843009)|0;
+ r3 = r3 & r4;
+_9: do {
+ if(r3 ==0) //_LBB732_11
+{
+ r1 = (r1 + 4)|0;
+_11: while(true){
+ r3 = r0 >> 2;
+ r4 = r1 >> 2;
+ heap32[(r3)] = r2;
+ r2 = heap32[(r4)];
+ r3 = r2 & -2139062144;
+ r0 = (r0 + 4)|0;
+ r1 = (r1 + 4)|0;
+ r3 = r3 ^ -2139062144;
+ r4 = (r2 + -16843009)|0;
+ r3 = r3 & r4;
+if(!(r3 ==0)) //_LBB732_15
+{
+break _9;
+}
+}
+}
+} while(0);
+ r1 = r2 & 255;
+ heap8[r0] = r2;
+if(!(r1 ==0)) //_LBB732_8
+{
+ r0 = (r0 + 1)|0;
+_15: while(true){
+ r2 = r2 >>> 8;
+ r1 = (r0 + 1)|0;
+ heap8[r0] = r2;
+ r3 = r2 & 255;
+ r0 = r1;
+ if(r3 ==0) //_LBB732_8
+{
+break _1;
+}
+else{
+continue _15;
+}
+}
+}
+}
+else{
+_17: while(true){
+ r2 = heapU8[r1];
+ r3 = (r0 + 1)|0;
+ r1 = (r1 + 1)|0;
+ heap8[r0] = r2;
+ r0 = r3;
+ if(r2 ==0) //_LBB732_8
+{
+break _1;
+}
+else{
+continue _17;
+}
+}
+}
+} while(0);
+ return;
+}
+
+function strcmp(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r1 ^ r0;
+ r2 = r2 & 3;
+_1: do {
+ if(r2 ==0) //_LBB733_7
+{
+ r2 = r0 & 3;
+_3: do {
+ if(r2 !=0) //_LBB733_9
+{
+ r2 = r0 | -4;
+_5: while(true){
+ if(r2 !=0) //_LBB733_10
+{
+ r3 = heapU8[r0];
+ r4 = heapU8[r1];
+ if(r3 ==0) //_LBB733_12
+{
+break _5;
+}
+else{
+ r5 = r4 & 255;
+ if(r3 ==r5) //_LBB733_13
+{
+ r0 = (r0 + 1)|0;
+ r1 = (r1 + 1)|0;
+ r2 = (r2 + 1)|0;
+}
+else{
+break _5;
+}
+}
+}
+else{
+break _3;
+}
+}
+ r0 = r3 << 24;
+ r1 = r4 << 24;
+break _1;
+}
+} while(0);
+_11: while(true){
+ r2 = r0 >> 2;
+ r2 = heap32[(r2)];
+ r3 = r1 >> 2;
+ r4 = r2 & -2139062144;
+ r3 = heap32[(r3)];
+ r4 = r4 ^ -2139062144;
+ r5 = (r2 + -16843009)|0;
+ r4 = r4 & r5;
+ if(r4 !=0) //_LBB733_18
+{
+break _11;
+}
+else{
+ r4 = r3 & -2139062144;
+ r4 = r4 ^ -2139062144;
+ r5 = (r3 + -16843009)|0;
+ r4 = r4 & r5;
+ if(r4 !=0) //_LBB733_18
+{
+break _11;
+}
+else{
+ r0 = (r0 + 4)|0;
+ r1 = (r1 + 4)|0;
+if(!(r2 ==r3)) //_LBB733_15
+{
+break _11;
+}
+}
+}
+}
+ r0 = r2 & 255;
+_16: do {
+if(!(r0 ==0)) //_LBB733_21
+{
+ r0 = r2 & 255;
+ r1 = r3 & 255;
+if(!(r0 !=r1)) //_LBB733_21
+{
+__label__ = 19; //SET chanka
+_18: while(true){
+ r2 = r2 >>> 8;
+ r3 = r3 >>> 8;
+ r0 = r2 & 255;
+ if(r0 ==0) //_LBB733_24
+{
+break _16;
+}
+else{
+ r1 = r3 & 255;
+if(!(r0 ==r1)) //_LBB733_22
+{
+break _16;
+}
+}
+}
+}
+}
+} while(0);
+ r2 = r2 & 255;
+ r3 = r3 & 255;
+ r2 = (r2 - r3)|0;
+ r_g0 = r2;
+ return;
+}
+else{
+_22: while(true){
+ r2 = heapU8[r0];
+ r3 = heapU8[r1];
+ if(r2 ==0) //_LBB733_5
+{
+break _22;
+}
+else{
+ r4 = r3 & 255;
+ if(r2 ==r4) //_LBB733_2
+{
+ r0 = (r0 + 1)|0;
+ r1 = (r1 + 1)|0;
+}
+else{
+break _22;
+}
+}
+}
+ r0 = r2 << 24;
+ r1 = r3 << 24;
+}
+} while(0);
+ r0 = r0 >> 24;
+ r1 = r1 >> 24;
+ r0 = (r0 - r1)|0;
+ r_g0 = r0;
+ return;
+}
+
+function memmove(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+_1: do {
+if(!(r0 ==r1)) //_LBB734_8
+{
+ r2 = heap32[(fp+2)];
+ if(uint(r0) <=uint(r1)) //_LBB734_5
+{
+if(!(r2 ==0)) //_LBB734_8
+{
+ r3 = 0;
+ r2 = (r3 - r2)|0;
+_6: while(true){
+ r3 = (r0 - r2)|0;
+ r4 = (r2 + 1)|0;
+ r2 = (r1 - r2)|0;
+ r3 = heapU8[r3+-1];
+ heap8[r2+-1] = r3;
+ r2 = r4;
+ if(r4 !=0) //_LBB734_7
+{
+continue _6;
+}
+else{
+break _1;
+}
+}
+}
+}
+else{
+if(!(r2 ==0)) //_LBB734_8
+{
+ r3 = r1;
+_10: while(true){
+ r4 = heapU8[r0];
+ r2 = (r2 + -1)|0;
+ r5 = (r3 + 1)|0;
+ r0 = (r0 + 1)|0;
+ heap8[r3] = r4;
+ r3 = r5;
+ if(r2 ==0) //_LBB734_8
+{
+break _1;
+}
+else{
+continue _10;
+}
+}
+}
+}
+}
+} while(0);
+ r_g0 = r1;
+ return;
+}
+
+function strncasecmp(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = 0;
+ r7 = 26;
+_1: while(true){
+ if(r3 >=r2) //_LBB735_5
+{
+__label__ = 5;
+break _1;
+}
+else{
+ r4 = heap8[r1+r3];
+ r5 = heap8[r0+r3];
+ r6 = (r4 + -65)|0;
+ r4 = (r4 + -33)|0;
+ r8 = (r5 + -65)|0;
+ r5 = (r5 + -33)|0;
+ r4 = uint(r6) < uint(r7) ? r4 : r6;
+ r5 = uint(r8) < uint(r7) ? r5 : r8;
+ if(r4 !=r5) //_LBB735_4
+{
+__label__ = 4;
+break _1;
+}
+else{
+ r3 = (r3 + 1)|0;
+ if(r5 !=-65) //_LBB735_1
+{
+continue _1;
+}
+else{
+__label__ = 4;
+break _1;
+}
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 5:
+ r0 = 0;
+ r_g0 = r0;
+ return;
+break;
+case 4:
+ r0 = (r5 - r4)|0;
+ r_g0 = r0;
+ return;
+break;
+}
+}
+
+function strncmp(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+ if(uint(r0) >uint(3)) //_LBB736_2
+{
+ r5 = r0 >>> 2;
+ r1 = (r1 + 2)|0;
+_3: while(true){
+ r3 = heapU8[r1+-2];
+ r4 = heapU8[r2];
+ if(r3 ==0) //_LBB736_5
+{
+__label__ = 5;
+break _3;
+}
+else{
+ r6 = r4 & 255;
+ if(r3 ==r6) //_LBB736_6
+{
+ r3 = heapU8[r1+-1];
+ r4 = heapU8[r2+1];
+ if(r3 ==0) //_LBB736_8
+{
+__label__ = 5;
+break _3;
+}
+else{
+ r6 = r4 & 255;
+ if(r3 ==r6) //_LBB736_9
+{
+ r3 = heapU8[r1];
+ r4 = heapU8[r2+2];
+ if(r3 ==0) //_LBB736_11
+{
+__label__ = 5;
+break _3;
+}
+else{
+ r6 = r4 & 255;
+ if(r3 ==r6) //_LBB736_12
+{
+ r3 = heapU8[r1+1];
+ r4 = heapU8[r2+3];
+ if(r3 ==0) //_LBB736_14
+{
+__label__ = 5;
+break _3;
+}
+else{
+ r6 = r4 & 255;
+ if(r3 ==r6) //_LBB736_15
+{
+ r5 = (r5 + -1)|0;
+ r1 = (r1 + 4)|0;
+ r2 = (r2 + 4)|0;
+ if(r5 !=0) //_LBB736_3
+{
+__label__ = 3;
+}
+else{
+__label__ = 13;
+break _3;
+}
+}
+else{
+__label__ = 5;
+break _3;
+}
+}
+}
+else{
+__label__ = 5;
+break _3;
+}
+}
+}
+else{
+__label__ = 5;
+break _3;
+}
+}
+}
+else{
+__label__ = 5;
+break _3;
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 5:
+ r1 = r4 & 255;
+ r1 = (r3 - r1)|0;
+ r_g0 = r1;
+ return;
+break;
+case 13:
+ r0 = r0 & 3;
+ r1 = (r1 + -2)|0;
+break;
+}
+}
+else{
+ r3 = 0;
+ r4 = r3;
+}
+_17: while(true){
+ if(r0 !=0) //_LBB736_17
+{
+ r3 = heapU8[r1];
+ r4 = heapU8[r2];
+ if(r3 ==0) //_LBB736_19
+{
+__label__ = 16;
+break _17;
+}
+else{
+ r5 = r4 & 255;
+ if(r3 ==r5) //_LBB736_20
+{
+ r0 = (r0 + -1)|0;
+ r1 = (r1 + 1)|0;
+ r2 = (r2 + 1)|0;
+continue _17;
+}
+else{
+__label__ = 16;
+break _17;
+}
+}
+}
+else{
+__label__ = 19;
+break _17;
+}
+}
+switch(__label__ ){//multiple entries
+case 16:
+ r0 = r4 & 255;
+ r0 = (r3 - r0)|0;
+ r_g0 = r0;
+ return;
+break;
+case 19:
+ r0 = r3 & 255;
+ r1 = r4 & 255;
+ r0 = (r0 - r1)|0;
+ r_g0 = r0;
+ return;
+break;
+}
+}
+
+function quicksort(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var r24;
+ var r25;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ heap32[(fp+-4)] = r0;
+ r1 = heap32[(fp+1)];
+ heap32[(fp+-3)] = r1;
+if(!(r0 <=r1)) //_LBB737_37
+{
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+3)];
+ r2 = 4;
+ r3 = heap32[(fp+-4)];
+ r4 = r3 << 2;
+ r5 = (r0 + r4)|0;
+ r6 = -4;
+ r7 = -8;
+ r2 = (r2 - r0)|0;
+ r3 = (r3 + -1)|0;
+ r8 = (r0 + 4)|0;
+ r6 = (r6 - r0)|0;
+ heap32[(fp+-1)] = r6;
+ r6 = (r5 + -4)|0;
+ heap32[(fp+-2)] = r6;
+ r6 = (r7 - r0)|0;
+ r2 = (r2 - r4)|0;
+ heap32[(fp+-6)] = r2;
+_3: while(true){
+ r2 = heap32[(fp+-3)];
+ r4 = (r2 + -1)|0;
+ r7 = (r2 + 1)|0;
+ r9 = -1;
+ r10 = -2;
+ heap32[(fp+-5)] = r2;
+ r2 = heap32[(fp+-4)];
+ r11 = r4;
+_5: while(true){
+ r12 = r4 << 2;
+ r13 = (r0 + r12)|0;
+ r14 = (r12 + 4)|0;
+ r15 = heap32[(fp+-1)];
+ r15 = (r15 - r12)|0;
+ r16 = (r8 + r12)|0;
+ r12 = (r6 - r12)|0;
+_7: while(true){
+ r17 = r12;
+ r18 = r16;
+ r19 = r15;
+ r20 = r14;
+ r21 = r4;
+ r22 = r13;
+ if(r3 ==r21) //_LBB737_6
+{
+break _7;
+}
+else{
+ r4 = (r0 + r20)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ r13 = (r22 + 4)|0;
+ r4 = (r21 + 1)|0;
+ r14 = (r20 + 4)|0;
+ r15 = (r19 + -4)|0;
+ r16 = (r18 + 4)|0;
+ r12 = (r17 + -4)|0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r23 = r_g0;
+if(!(r23 <0)) //_LBB737_4
+{
+break _7;
+}
+}
+}
+ r4 = r2 << 2;
+ r12 = (r0 + r4)|0;
+ r13 = 0;
+ r14 = (r13 - r12)|0;
+ r4 = (r21 + 1)|0;
+ r15 = (r12 + -4)|0;
+ r16 = r14;
+_11: while(true){
+ r23 = r14;
+ r24 = r16;
+ r25 = r2;
+ r2 = (r15 + r13)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r2;
+ r13 = (r13 + -4)|0;
+ r2 = (r25 + -1)|0;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r14 = r_g0;
+ if(r14 >-1) //_LBB737_9
+{
+break _11;
+}
+else{
+ r16 = (r24 + 4)|0;
+ r14 = (r23 + 4)|0;
+if(!(r7 !=r25)) //_LBB737_7
+{
+break _11;
+}
+}
+}
+ if(r4 >=r2) //_LBB737_20
+{
+break _5;
+}
+else{
+ r17 = 0;
+_16: while(true){
+ r22 = (r17 - r19)|0;
+ r14 = (r17 - r24)|0;
+ r15 = heapU8[r22];
+ r14 = heapU8[r14+-4];
+ r16 = (r17 + 1)|0;
+ r17 = (r17 - r23)|0;
+ heap8[r22] = r14;
+ heap8[r17+-4] = r15;
+ r17 = r16;
+if(!(r16 !=4)) //_LBB737_11
+{
+break _16;
+}
+}
+ r17 = (r0 + r20)|0;
+ heap32[(g0)] = r17;
+ heap32[(g0+1)] = r5;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r17 = r_g0;
+_19: do {
+ if(r17 ==0) //_LBB737_14
+{
+ r17 = r11 << 2;
+ r11 = (r11 + 1)|0;
+ r17 = (r8 + r17)|0;
+ r22 = 0;
+_21: while(true){
+ r14 = (r18 - r22)|0;
+ r15 = (r17 - r22)|0;
+ r16 = heapU8[r15];
+ r19 = heapU8[r14];
+ r22 = (r22 + -1)|0;
+ heap8[r15] = r19;
+ heap8[r14] = r16;
+if(!(r22 !=-4)) //_LBB737_15
+{
+break _19;
+}
+}
+}
+} while(0);
+ r17 = (r12 + r13)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r17;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r17 = r_g0;
+if(!(r17 !=0)) //_LBB737_3
+{
+ r4 = (r21 + 1)|0;
+ r17 = 0;
+_25: while(true){
+ r18 = heap32[(fp+-2)];
+ r18 = (r17 + r18)|0;
+ r21 = r10 << 2;
+ r18 = (r18 - r21)|0;
+ r21 = (r17 + r12)|0;
+ r21 = heapU8[r21+r13];
+ r22 = heapU8[r18+-8];
+ r14 = (r17 + r12)|0;
+ r17 = (r17 + 1)|0;
+ heap8[r14+r13] = r22;
+ heap8[r18+-8] = r21;
+ if(r17 ==4) //_LBB737_18
+{
+break _25;
+}
+}
+ r10 = (r10 + 1)|0;
+ r9 = (r9 + 1)|0;
+}
+}
+}
+ r2 = heap32[(fp+-4)];
+ r2 = (r2 - r10)|0;
+ r4 = 0;
+ r2 = (r2 + -2)|0;
+ r7 = (r4 - r22)|0;
+_29: while(true){
+ r12 = (r5 - r4)|0;
+ r13 = (r18 - r4)|0;
+ r14 = heapU8[r13];
+ r15 = heapU8[r12];
+ r4 = (r4 + -1)|0;
+ heap8[r13] = r15;
+ heap8[r12] = r14;
+if(!(r4 !=-4)) //_LBB737_21
+{
+break _29;
+}
+}
+ r4 = (r21 + 2)|0;
+ r12 = heap32[(fp+-3)];
+ if(r12 <r11) //_LBB737_24
+{
+ r13 = r12 << 2;
+ r14 = 0;
+ r13 = (r0 + r13)|0;
+ r13 = (r14 - r13)|0;
+ r12 = (r11 - r12)|0;
+_34: while(true){
+ r15 = r14;
+_36: while(true){
+ r16 = (r15 - r7)|0;
+ r18 = (r15 - r13)|0;
+ r19 = heapU8[r18];
+ r20 = heapU8[r16];
+ r15 = (r15 + 1)|0;
+ heap8[r18] = r20;
+ heap8[r16] = r19;
+if(!(r15 !=4)) //_LBB737_26
+{
+break _36;
+}
+}
+ r12 = (r12 + -1)|0;
+ r13 = (r13 + -4)|0;
+ r7 = (r7 + 4)|0;
+if(!(r12 !=0)) //_LBB737_25
+{
+break _34;
+}
+}
+ r7 = heap32[(fp+-3)];
+ r7 = (r7 - r11)|0;
+ r7 = (r7 + r21)|0;
+}
+else{
+ r7 = r21;
+}
+ if(r3 >r2) //_LBB737_35
+{
+ r2 = heap32[(fp+-6)];
+_44: while(true){
+ r4 = 0;
+_46: while(true){
+ r11 = (r4 - r2)|0;
+ r12 = (r4 - r17)|0;
+ r13 = heapU8[r12];
+ r14 = heapU8[r11];
+ r4 = (r4 + 1)|0;
+ heap8[r12] = r14;
+ heap8[r11] = r13;
+if(!(r4 !=4)) //_LBB737_30
+{
+break _46;
+}
+}
+ r9 = (r9 + -1)|0;
+ r17 = (r17 + -4)|0;
+ r2 = (r2 + 4)|0;
+if(!(r9 !=0)) //_LBB737_29
+{
+break _44;
+}
+}
+ r2 = (r10 + r21)|0;
+ r2 = (r2 + 3)|0;
+ heap32[(fp+-3)] = r2;
+}
+else{
+ heap32[(fp+-3)] = r4;
+}
+ heap32[(g0)] = r0;
+ r2 = heap32[(fp+-5)];
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r7;
+ heap32[(g0+3)] = r1;
+ quicksort(i7);
+ r4 = heap32[(fp+-3)];
+ r2 = heap32[(fp+-4)];
+ if(r4 <r2) //_LBB737_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function __dtostr(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ f0 = llvm_readDouble((sp));
+ r0 = sp + -8;
+ llvm_writeDouble((sp+-8),f0);
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp+3)];
+ r3 = heap32[(fp+4)];
+ r4 = heap32[(fp+5)];
+ r5 = heap32[(fp+6)];
+ r6 = heap32[(fp+-2)];
+ if(r0 >2146435071) //_LBB738_3
+{
+ r7 = r0 ^ 2146959360;
+ r7 = r6 | r7;
+ if(r7 ==0) //_LBB738_13
+{
+__label__ = 13;
+}
+else{
+ r7 = r0 ^ 2146435072;
+ r6 = r6 | r7;
+ if(r6 !=0) //_LBB738_21
+{
+__label__ = 20;
+}
+else{
+__label__ = 5;
+}
+}
+}
+else{
+ r7 = r0 ^ -1048576;
+ r7 = r6 | r7;
+ if(r7 ==0) //_LBB738_5
+{
+__label__ = 5;
+}
+else{
+ r7 = r0 ^ -524288;
+ r6 = r6 | r7;
+ if(r6 ==0) //_LBB738_13
+{
+__label__ = 13;
+}
+else{
+__label__ = 20;
+}
+}
+}
+_6: do {
+switch(__label__ ){//multiple entries
+case 13:
+ if(r2 >0) //_LBB738_15
+{
+ r0 = (r2 + -1)|0;
+ r3 = 2;
+ r4 = 0;
+ r5 = (r2 + 2)|0;
+ r0 = uint(r0) > uint(r3) ? r0 : r3;
+ r3 = (r4 - r2)|0;
+ r0 = (r5 - r0)|0;
+ r4 = _2E_str9655;
+ r5 = r1;
+_10: while(true){
+ r6 = heapU8[r4];
+ r0 = (r0 + -1)|0;
+ r7 = (r5 + 1)|0;
+ r4 = (r4 + 1)|0;
+ heap8[r5] = r6;
+ r5 = r7;
+if(!(r0 !=0)) //_LBB738_16
+{
+break _10;
+}
+}
+ r0 = -3;
+ r4 = 3;
+ r0 = uint(r3) > uint(r0) ? r2 : r4;
+}
+else{
+ r0 = 0;
+}
+ if(r0 >=r2) //_LBB738_20
+{
+ r_g0 = r0;
+ return;
+}
+else{
+__label__ = 11;
+break _6;
+}
+break;
+case 20:
+ f1 = 0;
+ if(f0 !=f1) //_LBB738_32
+{
+ r0 = r0 >>> 20;
+ r0 = r0 & 2047;
+ r0 = (r0 + -1023)|0;
+ f2 = r0; //fitod r0, f2
+ f3 = 0.3010299956639812;
+ f2 = f2*f3;
+ r0 = f2|0;
+ r6 = (r0 + 1)|0;
+ if(f0 <f1) //_LBB738_34
+{
+ f1 = -f0;
+ r2 = (r2 + -1)|0;
+ r7 = (r1 + 1)|0;
+ r8 = 45;
+ heap8[r1] = r8;
+}
+else{
+ r7 = r1;
+ f1 = f0;
+}
+_23: do {
+ if(r4 ==0) //_LBB738_37
+{
+ f2 = 0.5;
+}
+else{
+ f2 = 0.5;
+ r8 = r4;
+ f3 = 0.10000000000000001;
+_26: while(true){
+ r8 = (r8 + -1)|0;
+ f2 = f2*f3;
+if(!(r8 !=0)) //_LBB738_38
+{
+break _23;
+}
+}
+}
+} while(0);
+ f1 = f1+f2;
+ f2 = 1;
+ if(f1 <f2) //_LBB738_41
+{
+ r2 = (r2 + -1)|0;
+ r8 = (r7 + 1)|0;
+ r9 = 48;
+ heap8[r7] = r9;
+ r7 = r8;
+}
+_32: do {
+ if(r6 >0) //_LBB738_44
+{
+_34: do {
+ if(uint(r6) >uint(10)) //_LBB738_46
+{
+ r0 = (r0 + 1)|0;
+ f2 = 10;
+ f3 = 10000000000;
+_36: while(true){
+ r0 = (r0 + -10)|0;
+ f2 = f2*f3;
+if(!(uint(r0) >uint(10))) //_LBB738_47
+{
+break _34;
+}
+}
+}
+else{
+ f2 = 10;
+ r0 = r6;
+}
+} while(0);
+ if(uint(r0) >uint(1)) //_LBB738_50
+{
+ r0 = (r0 + -1)|0;
+ f3 = 10;
+_42: while(true){
+ r0 = (r0 + -1)|0;
+ f2 = f2*f3;
+if(!(r0 !=0)) //_LBB738_51
+{
+break _42;
+}
+}
+ r0 = 1;
+}
+else{
+ r0 = 1;
+}
+_46: while(true){
+ f3 = 0.90000000000000002;
+ if(f2 >f3) //_LBB738_53
+{
+ f3 = f1/f2;
+ r8 = f3|0;
+ if(r0 ==0) //_LBB738_56
+{
+__label__ = 52;
+}
+else{
+ r9 = r8 & 255;
+ if(r9 !=0) //_LBB738_56
+{
+__label__ = 52;
+}
+else{
+__label__ = 64;
+}
+}
+if (__label__ == 52){
+ r0 = (r8 + 48)|0;
+ heap8[r7] = r0;
+ if(r2 !=0) //_LBB738_70
+{
+ r0 = r8 << 24;
+ r0 = r0 >> 24;
+ f3 = r0; //fitod r0, f3
+ f3 = f3*f2;
+ r7 = (r7 + 1)|0;
+ f1 = f1-f3;
+ r2 = (r2 + -1)|0;
+ r0 = 0;
+}
+else{
+break _46;
+}
+}
+ f3 = 10;
+ f2 = f2/f3;
+}
+else{
+__label__ = 66;
+break _32;
+}
+}
+ f0 = f0/f2;
+ llvm_writeDouble((i7),f0);
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r2;
+ heap32[(g0+4)] = r3;
+ heap32[(g0+5)] = r4;
+ heap32[(g0+6)] = 0;
+ __dtostr(i7);
+ r0 = r_g0;
+ if(r0 ==0) //_LBB738_92
+{
+__label__ = 83;
+}
+else{
+ r3 = (r0 + r7)|0;
+ r7 = (r3 + 1)|0;
+ if(r2 !=r0) //_LBB738_60
+{
+ r3 = (r3 + 2)|0;
+ r4 = 101;
+ heap8[r7] = r4;
+ r7 = r3;
+}
+ r2 = (r2 + -1)|0;
+ r3 = (r2 - r0)|0;
+_60: do {
+ if(r6 <1000) //_LBB738_66
+{
+ if(r6 <100) //_LBB738_93
+{
+ if(r6 >9) //_LBB738_95
+{
+__label__ = 90;
+break _60;
+}
+else{
+__label__ = 91;
+break _60;
+}
+}
+else{
+__label__ = 87;
+break _60;
+}
+}
+else{
+ if(r2 !=r0) //_LBB738_64
+{
+ r0 = (r6 / 1000)|0;
+ r2 = (r7 + 1)|0;
+ r0 = (r0 + 48)|0;
+ heap8[r7] = r0;
+ r7 = r2;
+}
+ r3 = (r3 + -1)|0;
+ r6 = (r6 % 1000)|0;
+__label__ = 87;
+}
+} while(0);
+if (__label__ == 87){
+ if(r3 !=0) //_LBB738_97
+{
+ r0 = (r6 / 100)|0;
+ r2 = (r7 + 1)|0;
+ r0 = (r0 + 48)|0;
+ heap8[r7] = r0;
+ r7 = r2;
+}
+ r3 = (r3 + -1)|0;
+ r6 = (r6 % 100)|0;
+__label__ = 90;
+}
+if (__label__ == 90){
+ if(r3 !=0) //_LBB738_101
+{
+ r0 = (r6 / 10)|0;
+ r2 = (r7 + 1)|0;
+ r0 = (r0 + 48)|0;
+ heap8[r7] = r0;
+ r7 = r2;
+}
+ r3 = (r3 + -1)|0;
+ r6 = (r6 % 10)|0;
+}
+ if(r3 !=0) //_LBB738_68
+{
+ r0 = (r6 + 48)|0;
+ heap8[r7] = r0;
+ if(r3 ==1) //_LBB738_92
+{
+__label__ = 83;
+}
+else{
+ r7 = (r7 + 1)|0;
+__label__ = 82;
+}
+}
+else{
+__label__ = 82;
+}
+}
+}
+else{
+ f2 = 0.10000000000000001;
+__label__ = 66;
+}
+} while(0);
+_81: do {
+if (__label__ == 66){
+ if(r7 ==r1) //_LBB738_75
+{
+ if(r2 ==0) //_LBB738_92
+{
+__label__ = 83;
+break _81;
+}
+else{
+ r2 = (r2 + -1)|0;
+ r6 = (r7 + 1)|0;
+ r0 = 48;
+ heap8[r7] = r0;
+ r7 = r6;
+}
+}
+if(!(r4 !=0)) //_LBB738_80
+{
+ r6 = 1;
+ r6 = (r6 - r1)|0;
+ r6 = (r6 + r7)|0;
+if(!(uint(r6) <uint(r3))) //_LBB738_80
+{
+__label__ = 82;
+break _81;
+}
+}
+ if(r2 ==0) //_LBB738_92
+{
+__label__ = 83;
+}
+else{
+ r6 = (r2 + -1)|0;
+ r0 = (r7 + 1)|0;
+ r2 = 46;
+ heap8[r7] = r2;
+ if(r5 ==0) //_LBB738_83
+{
+if(!(r4 !=0)) //_LBB738_85
+{
+ r3 = (r1 + r3)|0;
+ r3 = (r3 + 1)|0;
+ r4 = (r3 - r0)|0;
+}
+}
+else{
+ r3 = r4 == 0 ? r3 : r4;
+ r3 = (r1 + r3)|0;
+ r3 = (r3 + 1)|0;
+ r4 = (r3 - r0)|0;
+}
+ if(uint(r4) >uint(r6)) //_LBB738_92
+{
+__label__ = 83;
+}
+else{
+ if(r4 !=0) //_LBB738_88
+{
+ r3 = (r4 + 1)|0;
+ r6 = (r7 + 1)|0;
+ f3 = 10;
+_99: while(true){
+ f0 = f1/f2;
+ r0 = f0|0;
+ r2 = r0 << 24;
+ r2 = r2 >> 24;
+ f0 = r2; //fitod r2, f0
+ f0 = f0*f2;
+ r4 = (r4 + -1)|0;
+ f2 = f2/f3;
+ f1 = f1-f0;
+ r2 = (r6 + 1)|0;
+ r0 = (r0 + 48)|0;
+ heap8[r6] = r0;
+ r6 = r2;
+if(!(r4 !=0)) //_LBB738_89
+{
+break _99;
+}
+}
+ r7 = (r7 + r3)|0;
+__label__ = 82;
+}
+else{
+ r7 = r0;
+__label__ = 82;
+}
+}
+}
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 83:
+ r1 = 0;
+ r_g0 = r1;
+ return;
+break;
+case 82:
+ r3 = 0;
+ heap8[r7] = r3;
+ r1 = (r7 - r1)|0;
+ r_g0 = r1;
+ return;
+break;
+}
+}
+else{
+ r3 = 1;
+ r5 = (r4 + 2)|0;
+ r4 = r4 == 0 ? r3 : r5;
+ r5 = 8;
+ r2 = uint(r4) > uint(r2) ? r5 : r4;
+ if(r2 ==0) //_LBB738_24
+{
+__label__ = 23;
+}
+else{
+ if(r0 <0) //_LBB738_25
+{
+ r0 = 45;
+ heap8[r1] = r0;
+ r0 = r3;
+__label__ = 25;
+}
+else{
+__label__ = 23;
+}
+}
+if (__label__ == 23){
+ r0 = 0;
+}
+ if(uint(r0) <uint(r2)) //_LBB738_28
+{
+ r5 = 48;
+_115: while(true){
+ r4 = (r0 + 1)|0;
+ heap8[r1+r0] = r5;
+ r0 = r4;
+if(!(r2 !=r4)) //_LBB738_29
+{
+break _115;
+}
+}
+ r0 = r2;
+}
+ r2 = 2;
+ r4 = heapU8[r1];
+ r2 = r4 == 48 ? r3 : r2;
+ r3 = 46;
+ r4 = 0;
+ heap8[r1+r2] = r3;
+ heap8[r1+r0] = r4;
+ r_g0 = r0;
+ return;
+}
+break;
+case 5:
+ if(r2 >0) //_LBB738_7
+{
+ r0 = (r2 + -1)|0;
+ r3 = 2;
+ r4 = 0;
+ r5 = (r2 + 2)|0;
+ r0 = uint(r0) > uint(r3) ? r0 : r3;
+ r3 = (r4 - r2)|0;
+ r0 = (r5 - r0)|0;
+ r4 = _2E_str7654;
+ r5 = r1;
+_122: while(true){
+ r6 = heapU8[r4];
+ r0 = (r0 + -1)|0;
+ r7 = (r5 + 1)|0;
+ r4 = (r4 + 1)|0;
+ heap8[r5] = r6;
+ r5 = r7;
+if(!(r0 !=0)) //_LBB738_8
+{
+break _122;
+}
+}
+ r0 = -3;
+ r4 = 3;
+ r0 = uint(r3) > uint(r0) ? r2 : r4;
+}
+else{
+ r0 = 0;
+}
+ if(r0 >=r2) //_LBB738_12
+{
+__label__ = 12;
+}
+else{
+__label__ = 11;
+}
+break;
+}
+} while(0);
+if (__label__ == 11){
+ r2 = 0;
+ heap8[r1+r0] = r2;
+ r0 = (r0 + 1)|0;
+}
+ r_g0 = r0;
+ return;
+}
+
+function write_pad(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ if(r0 >0) //_LBB739_2
+{
+ r1 = heap32[(fp)];
+ r1 = r1 >> 2;
+ r2 = heap32[(r1)];
+ r2 = (r2 + r0)|0;
+ if(uint(r2) >=uint(r0)) //_LBB739_4
+{
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+3)];
+ if(uint(r0) >uint(15)) //_LBB739_6
+{
+ r4 = 48;
+ r4 = r3 == r4;
+ r4 = r4 & 1;
+ r5 = _ZL8pad_line;
+ r4 = r4 << 5;
+ r4 = (r5 + r4)|0;
+ r5 = 0;
+_7: while(true){
+ r6 = r2 >> 2;
+ r7 = heap32[(r6+1)];
+ r6 = heap32[(r6)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 16;
+ heap32[(g0+2)] = r6;
+ r5 = (r5 + -16)|0;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ r6 = (r0 + r5)|0;
+if(!(uint(r6) >uint(15))) //_LBB739_7
+{
+break _7;
+}
+}
+ r0 = 0;
+ r4 = (r0 - r5)|0;
+ if(r6 ==0) //_LBB739_10
+{
+__label__ = 11;
+}
+else{
+ r0 = r6;
+__label__ = 10;
+}
+}
+else{
+ r4 = 0;
+__label__ = 10;
+}
+if (__label__ == 10){
+ r5 = 48;
+ r2 = r2 >> 2;
+ r3 = r3 == r5;
+ r3 = r3 & 1;
+ r5 = heap32[(r2+1)];
+ r2 = heap32[(r2)];
+ r6 = _ZL8pad_line;
+ r3 = r3 << 5;
+ r3 = (r6 + r3)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ r4 = (r4 + r0)|0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+ r0 = heap32[(r1)];
+ r0 = (r0 + r4)|0;
+ heap32[(r1)] = r0;
+ r0 = 0;
+}
+else{
+ r0 = -1;
+}
+}
+else{
+ r0 = 0;
+}
+ r_g0 = r0;
+ return;
+}
+
+function sgetc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = heapU8[r1];
+ r1 = (r1 + 1)|0;
+ heap32[(r0)] = r1;
+ if(r2 ==0) //_LBB740_2
+{
+ r0 = -1;
+ r_g0 = r0;
+ return;
+}
+else{
+ r_g0 = r2;
+ return;
+}
+}
+
+function sputc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = (r1 + -1)|0;
+ heap32[(r0)] = r2;
+ r0 = heapU8[r1+-1];
+ r1 = heap32[(fp)];
+ r2 = -1;
+ r0 = r0 == r1 ? r1 : r2;
+ r_g0 = r0;
+ return;
+}
+
+function memset(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp)];
+if(!(r0 ==0)) //_LBB742_3
+{
+ r2 = heap32[(fp+1)];
+ r3 = r1;
+_3: while(true){
+ r0 = (r0 + -1)|0;
+ r4 = (r3 + 1)|0;
+ heap8[r3] = r2;
+ r3 = r4;
+ if(r0 !=0) //_LBB742_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ r_g0 = r1;
+ return;
+}
+
+function memcpy(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = r1 ^ r0;
+ r3 = r3 & 3;
+_1: do {
+ if(r3 !=0) //_LBB743_2
+{
+__label__ = 2;
+}
+else{
+ if(uint(r2) >uint(4)) //_LBB743_3
+{
+ r3 = r0 & 3;
+ if(r3 !=0) //_LBB743_5
+{
+ r3 = (r3 + -5)|0;
+ r4 = r2 ^ -1;
+ r3 = uint(r3) < uint(r4) ? r4 : r3;
+ r4 = (r3 + r2)|0;
+ r3 = r3 ^ -1;
+ r4 = (r4 + 1)|0;
+ r6 = (r1 + r3)|0;
+ r5 = (r0 + r3)|0;
+ r3 = r0 | -4;
+ r7 = r0;
+_6: while(true){
+ if(r3 ==0) //_LBB743_9
+{
+break _6;
+}
+else{
+ if(r2 ==0) //_LBB743_20
+{
+__label__ = 19;
+break _1;
+}
+else{
+ r8 = heapU8[r1];
+ r2 = (r2 + -1)|0;
+ r3 = (r3 + 1)|0;
+ r1 = (r1 + 1)|0;
+ r9 = (r7 + 1)|0;
+ heap8[r7] = r8;
+ r7 = r9;
+}
+}
+}
+ if(r4 ==-1) //_LBB743_20
+{
+__label__ = 19;
+break _1;
+}
+else{
+ r2 = r4;
+ r1 = r6;
+}
+}
+else{
+ r5 = r0;
+}
+ if(uint(r2) >uint(3)) //_LBB743_13
+{
+ r6 = r5;
+ r4 = r1;
+_16: while(true){
+ r7 = r4 >> 2;
+ r2 = (r2 + -4)|0;
+ r4 = (r4 + 4)|0;
+ r3 = (r6 + 4)|0;
+ r6 = r6 >> 2;
+ r7 = heap32[(r7)];
+ heap32[(r6)] = r7;
+ r6 = r3;
+ if(uint(r2) >uint(3)) //_LBB743_14
+{
+continue _16;
+}
+else{
+__label__ = 15;
+break _1;
+}
+}
+}
+else{
+ r4 = r1;
+ r3 = r5;
+__label__ = 15;
+}
+}
+else{
+__label__ = 2;
+}
+}
+} while(0);
+if (__label__ == 2){
+ r3 = 0;
+ r4 = r3;
+ r5 = r0;
+__label__ = 15;
+}
+_21: do {
+if (__label__ == 15){
+if(!(r2 ==0)) //_LBB743_20
+{
+ if(r3 !=0) //_LBB743_18
+{
+ r1 = r4;
+ r5 = r3;
+}
+_26: while(true){
+ r3 = heapU8[r1];
+ r2 = (r2 + -1)|0;
+ r4 = (r5 + 1)|0;
+ r1 = (r1 + 1)|0;
+ heap8[r5] = r3;
+ r5 = r4;
+ if(r2 !=0) //_LBB743_19
+{
+continue _26;
+}
+else{
+break _21;
+}
+}
+}
+}
+} while(0);
+ r_g0 = r0;
+ return;
+}
+
+function swrite(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+1)];
+ r2 = heap32[(r0+2)];
+ r3 = heap32[(fp+1)];
+if(!(r2 ==r1)) //_LBB744_5
+{
+ r2 = (r2 - r1)|0;
+ r4 = heap32[(r0)];
+ r2 = uint(r2) < uint(r3) ? r2 : r3;
+ if(r4 !=0) //_LBB744_3
+{
+ r5 = heap32[(fp)];
+ r1 = (r4 + r1)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r2;
+ memcpy(i7);
+ r1 = heap32[(r0+1)];
+ r4 = heap32[(r0)];
+ r1 = (r1 + r2)|0;
+ r5 = 0;
+ heap8[r4+r1] = r5;
+ r1 = heap32[(r0+1)];
+}
+ r1 = (r1 + r2)|0;
+ heap32[(r0+1)] = r1;
+}
+ r_g0 = r3;
+ return;
+}
+
+function __sync_fetch_and_add_4(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(r0)];
+ r1 = (r2 + r1)|0;
+ heap32[(r0)] = r1;
+ r_g0 = r2;
+ return;
+}
+
+function __muldi3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ if(r0 <0) //_LBB746_2
+{
+ r5 = 0;
+ r4 = 1;
+ r0 = (r5 - r0)|0;
+ r6 = r1 != 0 ? r4 : r5;
+ r1 = (r5 - r1)|0;
+ r0 = (r0 - r6)|0;
+}
+else{
+ r4 = 0;
+}
+ if(r3 <0) //_LBB746_5
+{
+ r5 = 0;
+ r6 = 1;
+ r3 = (r5 - r3)|0;
+ r6 = r2 != 0 ? r6 : r5;
+ r4 = r4 ^ 1;
+ r2 = (r5 - r2)|0;
+ r3 = (r3 - r6)|0;
+}
+ r5 = r2 & 65535;
+ r6 = r1 & 65535;
+ r7 = r3 | r0;
+ r8 = (r5 * r6)|0;
+ r9 = r2 | r1;
+ r9 = r9 >>> 16;
+ if(r9 !=0) //_LBB746_8
+{
+ r9 = r1 >>> 16;
+ r10 = r2 >>> 16;
+ r11 = (r10 - r5)|0;
+ r12 = (r5 - r10)|0;
+ r13 = (r6 - r9)|0;
+ r14 = (r9 - r6)|0;
+ r15 = (r10 * r9)|0;
+ r11 = uint(r5) < uint(r10) ? r11 : r12;
+ r12 = uint(r9) < uint(r6) ? r13 : r14;
+ r11 = (r11 * r12)|0;
+ r12 = r15 >>> 16;
+ r12 = (r12 + r15)|0;
+ r13 = r15 << 16;
+ r14 = r11 << 16;
+ r6 = uint(r9) < uint(r6);
+ r5 = uint(r5) < uint(r10);
+ r5 = r6 ^ r5;
+ r5 = r5 & 1;
+ if(r5 ==0) //_LBB746_10
+{
+ r5 = (r14 + r13)|0;
+ r6 = uint(r5) < uint(r13);
+ r11 = r11 >>> 16;
+ r11 = (r11 + r12)|0;
+ r6 = r6 & 1;
+ r11 = (r11 + r6)|0;
+}
+else{
+ r5 = (r13 - r14)|0;
+ r11 = r11 >>> 16;
+ r14 = -1;
+ r6 = 0;
+ r11 = (r12 - r11)|0;
+ r12 = uint(r5) > uint(r13) ? r14 : r6;
+ r11 = (r11 + r12)|0;
+}
+ r6 = r8 << 16;
+ r6 = (r5 + r6)|0;
+ r9 = (r6 + r8)|0;
+ r5 = uint(r6) < uint(r5);
+ r6 = r8 >>> 16;
+ r8 = uint(r9) < uint(r8);
+ r6 = (r11 + r6)|0;
+ r5 = r5 & 1;
+ r5 = (r6 + r5)|0;
+ r8 = r8 & 1;
+ r5 = (r5 + r8)|0;
+ r8 = r9;
+}
+else{
+ r5 = 0;
+}
+ if(r7 !=0) //_LBB746_14
+{
+ r6 = (r3 - r2)|0;
+ r7 = (r2 - r3)|0;
+ r9 = (r1 - r0)|0;
+ r10 = (r0 - r1)|0;
+ r6 = uint(r2) < uint(r3) ? r6 : r7;
+ r7 = uint(r0) < uint(r1) ? r9 : r10;
+ r1 = uint(r0) < uint(r1);
+ r2 = uint(r2) < uint(r3);
+ r9 = 0;
+ r6 = (r6 * r7)|0;
+ r1 = r1 ^ r2;
+ r2 = (r9 - r6)|0;
+ r1 = r1 != 0 ? r2 : r6;
+ r0 = (r3 * r0)|0;
+ r0 = (r1 + r0)|0;
+ r0 = (r0 + r8)|0;
+ r5 = (r0 + r5)|0;
+}
+ r0 = 0;
+ r1 = 1;
+ r2 = (r0 - r5)|0;
+ r1 = r8 != 0 ? r1 : r0;
+ r0 = (r0 - r8)|0;
+ r1 = (r2 - r1)|0;
+ r0 = r4 == 0 ? r8 : r0;
+ r1 = r4 == 0 ? r5 : r1;
+ r_g0 = r0;
+ r_g1 = r1;
+ return;
+}
+
+function __fixdfdi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = sp + 0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = r0 >>> 20;
+ r1 = r1 & 2047;
+ r2 = (r1 + -1023)|0;
+ if(r2 <0) //_LBB747_5
+{
+ r0 = 0;
+ r_g0 = r0;
+ r_g1 = r0;
+ return;
+}
+else{
+ r3 = heap32[(fp)];
+ r4 = r0 & 1048575;
+ r0 = r0 >> 31;
+ r4 = r4 | 1048576;
+ if(r2 <53) //_LBB747_3
+{
+ r2 = 1075;
+ r1 = (r2 - r1)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ __lshrdi3(i7);
+ r1 = r_g0;
+ r3 = r_g1;
+}
+else{
+ r1 = (r1 + -1075)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ __ashldi3(i7);
+ r1 = r_g0;
+ r3 = r_g1;
+}
+ r2 = r3 ^ r0;
+ r1 = r1 ^ r0;
+ r3 = 1;
+ r4 = 0;
+ r2 = (r2 - r0)|0;
+ r3 = uint(r1) < uint(r0) ? r3 : r4;
+ r0 = (r1 - r0)|0;
+ r1 = (r2 - r3)|0;
+ r_g0 = r0;
+ r_g1 = r1;
+ return;
+}
+}
+
+function __floatdidf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var f0;
+ var f1;
+ var f2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ f0 = r0; //fitod r0, f0
+ f1 = 4294967296;
+ f2 = uint(r1); //fuitod r1, f2
+ f0 = f0*f1;
+ f0 = f2+f0;
+ f_g0 = f0;
+ return;
+}
+
+function __lshrdi3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 & 32;
+ if(r2 ==0) //_LBB749_2
+{
+ r2 = heap32[(fp)];
+if(!(r0 ==0)) //_LBB749_4
+{
+ r3 = 32;
+ r3 = (r3 - r0)|0;
+ r3 = r1 << r3;
+ r2 = r2 >>> r0;
+ r2 = r3 | r2;
+ r1 = r1 >>> r0;
+}
+ r_g0 = r2;
+ r_g1 = r1;
+ return;
+}
+else{
+ r0 = (r0 + -32)|0;
+ r0 = r1 >>> r0;
+ r1 = 0;
+ r_g0 = r0;
+ r_g1 = r1;
+ return;
+}
+}
+
+function __fixsfdi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >>> 23;
+ r1 = r1 & 255;
+ r2 = (r1 + -127)|0;
+ if(r2 <0) //_LBB750_5
+{
+ r0 = 0;
+ r_g0 = r0;
+ r_g1 = r0;
+ return;
+}
+else{
+ r3 = r0 & 8388607;
+ r0 = r0 >> 31;
+ r3 = r3 | 8388608;
+ r4 = 0;
+ if(r2 <24) //_LBB750_3
+{
+ r2 = 150;
+ r1 = (r2 - r1)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ __lshrdi3(i7);
+ r1 = r_g0;
+ r3 = r_g1;
+}
+else{
+ r1 = (r1 + -150)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ __ashldi3(i7);
+ r1 = r_g0;
+ r3 = r_g1;
+}
+ r2 = r3 ^ r0;
+ r1 = r1 ^ r0;
+ r3 = 1;
+ r2 = (r2 - r0)|0;
+ r3 = uint(r1) < uint(r0) ? r3 : r4;
+ r0 = (r1 - r0)|0;
+ r1 = (r2 - r3)|0;
+ r_g0 = r0;
+ r_g1 = r1;
+ return;
+}
+}
+
+function __ashldi3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp)];
+ r2 = r0 & 32;
+ if(r2 ==0) //_LBB751_2
+{
+ r2 = heap32[(fp+1)];
+if(!(r0 ==0)) //_LBB751_4
+{
+ r3 = 32;
+ r3 = (r3 - r0)|0;
+ r2 = r2 << r0;
+ r3 = r1 >>> r3;
+ r1 = r1 << r0;
+ r2 = r2 | r3;
+}
+ r_g0 = r1;
+ r_g1 = r2;
+ return;
+}
+else{
+ r0 = (r0 + -32)|0;
+ r2 = 0;
+ r0 = r1 << r0;
+ r_g0 = r2;
+ r_g1 = r0;
+ return;
+}
+}
+
+function __ashrdi3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 & 32;
+ if(r2 ==0) //_LBB752_2
+{
+ r2 = heap32[(fp)];
+if(!(r0 ==0)) //_LBB752_4
+{
+ r3 = 32;
+ r3 = (r3 - r0)|0;
+ r3 = r1 << r3;
+ r2 = r2 >>> r0;
+ r2 = r3 | r2;
+ r1 = r1 >> r0;
+}
+ r_g0 = r2;
+ r_g1 = r1;
+ return;
+}
+else{
+ r0 = (r0 + -32)|0;
+ r0 = r1 >> r0;
+ r1 = r1 >> 31;
+ r_g0 = r0;
+ r_g1 = r1;
+ return;
+}
+}
+
+function __fixunsdfdi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = sp + 0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = r0 >>> 20;
+ r1 = r1 & 2047;
+ r2 = (r1 + -1023)|0;
+if(!(r2 <0)) //_LBB753_5
+{
+if(!(r0 <0)) //_LBB753_5
+{
+ r3 = heap32[(fp)];
+ r0 = r0 & 1048575;
+ r0 = r0 | 1048576;
+ if(r2 <53) //_LBB753_4
+{
+ r2 = 1075;
+ r1 = (r2 - r1)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r1;
+ __lshrdi3(i7);
+ return;
+}
+else{
+ r1 = (r1 + -1075)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r1;
+ __ashldi3(i7);
+ return;
+}
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ r_g1 = r0;
+ return;
+}
+
+function __fixunssfdi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >>> 23;
+ r1 = r1 & 255;
+ r2 = (r1 + -127)|0;
+if(!(r2 <0)) //_LBB754_5
+{
+if(!(r0 <0)) //_LBB754_5
+{
+ r0 = r0 & 8388607;
+ r0 = r0 | 8388608;
+ r3 = 0;
+ if(r2 <24) //_LBB754_4
+{
+ r2 = 150;
+ r1 = (r2 - r1)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r1;
+ __lshrdi3(i7);
+ return;
+}
+else{
+ r1 = (r1 + -150)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r1;
+ __ashldi3(i7);
+ return;
+}
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ r_g1 = r0;
+ return;
+}
+
+function _ZNK14CFileInterface12IsFileSystemEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11CFileStdout5freadEPvjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = -1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11CFileStdout5ftellEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11CFileStdout4feofEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11CFileStdout5fseekEli(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11CFileStdout6ungetcEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11CFileStdout6fflushEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11CFileStdout6fcloseEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK11CFileSystem12IsFileSystemEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11CFileSystem5freadEPvjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r0;
+ mandreel_fread(i7);
+ return;
+}
+
+function _ZN11CFileSystem6fwriteEPKvjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = -1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11CFileSystem6fflushEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN11CFileSystem6fcloseEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ heap32[(g0)] = r0;
+ mandreel_fclose(i7);
+ return;
+}
+
+function _ZN11CFileSystem5ftellEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ heap32[(g0)] = r0;
+ mandreel_ftell(i7);
+ return;
+}
+
+function _ZN11CFileSystem4feofEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ heap32[(g0)] = r0;
+ mandreel_feof(i7);
+ return;
+}
+
+function _ZN11CFileSystem5fseekEli(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ mandreel_fseek(i7);
+ return;
+}
+
+function _ZN11CFileSystem6ungetcEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = heap32[(fp+1)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ mandreel_ungetc(i7);
+ return;
+}
+
+function _ZN7CFileLS5freadEPvjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp+3)];
+ r3 = heap32[(r0+4)];
+ r4 = heap32[(r0+2)];
+ r2 = (r2 * r1)|0;
+ r5 = (r3 + r2)|0;
+ r6 = (r4 - r3)|0;
+ r2 = r5 > r4 ? r6 : r2;
+ if(r2 <0) //_LBB772_2
+{
+ r0 = -1;
+ r_g0 = r0;
+ return;
+}
+else{
+ r4 = heap32[(fp+1)];
+ r5 = heap32[(r0+6)];
+ r3 = (r5 + r3)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r2;
+ memcpy(i7);
+ r3 = heap32[(r0+4)];
+ r3 = (r3 + r2)|0;
+ heap32[(r0+4)] = r3;
+ r0 = Math.floor(uint(r2) /uint(r1));
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN7CFileLS5ftellEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN7CFileLS4feofEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+4)];
+ r0 = heap32[(r0+2)];
+ r0 = r1 >= r0;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN7CFileLS5fseekEli(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+_1: do {
+ if(r0 ==0) //_LBB775_4
+{
+ r1 = r1 >> 2;
+}
+else{
+ if(r0 ==1) //_LBB775_6
+{
+ r0 = r1 >> 2;
+ r1 = heap32[(r0+4)];
+ r1 = (r1 + r2)|0;
+ heap32[(r0+4)] = r1;
+}
+else{
+if(!(r0 !=2)) //_LBB775_7
+{
+ r1 = r1 >> 2;
+ r0 = heap32[(r1+2)];
+ r2 = (r0 + r2)|0;
+break _1;
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+} while(0);
+ heap32[(r1+4)] = r2;
+ r1 = 0;
+ r_g0 = r1;
+ return;
+}
+
+function _ZN7CFileLS6ungetcEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = -1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN10CFileCloud5freadEPvjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp+3)];
+ r3 = heap32[(r0+4)];
+ r4 = heap32[(r0+2)];
+ r2 = (r2 * r1)|0;
+ r5 = (r3 + r2)|0;
+ r6 = (r4 - r3)|0;
+ r2 = r5 > r4 ? r6 : r2;
+ if(r2 <0) //_LBB777_2
+{
+ r0 = -1;
+ r_g0 = r0;
+ return;
+}
+else{
+ r4 = heap32[(fp+1)];
+ r5 = heap32[(r0+6)];
+ r3 = (r5 + r3)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r2;
+ memcpy(i7);
+ r3 = heap32[(r0+4)];
+ r3 = (r3 + r2)|0;
+ heap32[(r0+4)] = r3;
+ r0 = Math.floor(uint(r2) /uint(r1));
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN10CFileCloud5ftellEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+4)];
+ r_g0 = r0;
+ return;
+}
+
+function _ZN10CFileCloud4feofEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+4)];
+ r0 = heap32[(r0+2)];
+ r0 = r1 >= r0;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN10CFileCloud5fseekEli(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+_1: do {
+ if(r0 ==0) //_LBB780_4
+{
+ r1 = r1 >> 2;
+}
+else{
+ if(r0 ==1) //_LBB780_6
+{
+ r0 = r1 >> 2;
+ r1 = heap32[(r0+4)];
+ r1 = (r1 + r2)|0;
+ heap32[(r0+4)] = r1;
+}
+else{
+if(!(r0 !=2)) //_LBB780_7
+{
+ r1 = r1 >> 2;
+ r0 = heap32[(r1+2)];
+ r2 = (r0 + r2)|0;
+break _1;
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+} while(0);
+ heap32[(r1+4)] = r2;
+ r1 = 0;
+ r_g0 = r1;
+ return;
+}
+
+function _ZN10CFileCloud6ungetcEi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = -1;
+ r_g0 = r0;
+ return;
+}
+
+function __fwrite(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+if(!(uint(r0) >uint(9))) //_LBB782_2
+{
+ r0 = _ZL13s_file_stdout;
+}
+ r3 = r0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+2)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 1;
+ heap32[(g0+3)] = r2;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ return;
+}
+
+function _ZN7CFileLS6fwriteEPKvjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+3)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+1)];
+ r2 = (r1 * r2)|0;
+ r4 = heap32[(r0+4)];
+ r5 = (r4 + r2)|0;
+ r6 = heap32[(r0+3)];
+ if(r5 >r6) //_LBB783_2
+{
+ r4 = (r2 + r4)|0;
+ r4 = (r4 + 131072)|0;
+ heap32[(r0+3)] = r4;
+ r5 = heap32[(r0+6)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ realloc(i7);
+ r5 = r_g0;
+ heap32[(r0+6)] = r5;
+ r4 = heap32[(r0+4)];
+}
+else{
+ r5 = heap32[(r0+6)];
+}
+ r4 = (r5 + r4)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r2;
+ memcpy(i7);
+ r3 = heap32[(r0+4)];
+ r2 = (r3 + r2)|0;
+ heap32[(r0+4)] = r2;
+ r3 = heap32[(r0+5)];
+if(!(r2 <=r3)) //_LBB783_5
+{
+ heap32[(r0+5)] = r2;
+}
+ r_g0 = r1;
+ return;
+}
+
+function _ZN7CFileLS6fflushEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+5];
+if(!(r1 ==0)) //_LBB784_2
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+5)];
+ r1 = heap32[(r1+6)];
+ r0 = (r0 + 28)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ mandreel_writels(i7);
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN7CFileLS6fcloseEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+5];
+if(!(r1 ==0)) //_LBB785_2
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+5)];
+ r1 = heap32[(r1+6)];
+ r3 = (r0 + 28)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ mandreel_writels(i7);
+}
+ r1 = 0;
+ r2 = r0 >> 2;
+ heap8[r0+4] = r1;
+ r0 = heap32[(r2+6)];
+ heap32[(g0)] = r0;
+ free(i7);
+ r_g0 = r1;
+ return;
+}
+
+function _ZN10CFileCloud6fwriteEPKvjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+3)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+1)];
+ r2 = (r1 * r2)|0;
+ r4 = heap32[(r0+4)];
+ r5 = (r4 + r2)|0;
+ r6 = heap32[(r0+3)];
+ if(r5 >r6) //_LBB786_2
+{
+ r4 = (r2 + r4)|0;
+ r4 = (r4 + 131072)|0;
+ heap32[(r0+3)] = r4;
+ r5 = heap32[(r0+6)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ realloc(i7);
+ r5 = r_g0;
+ heap32[(r0+6)] = r5;
+ r4 = heap32[(r0+4)];
+}
+else{
+ r5 = heap32[(r0+6)];
+}
+ r4 = (r5 + r4)|0;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r2;
+ memcpy(i7);
+ r3 = heap32[(r0+4)];
+ r2 = (r3 + r2)|0;
+ heap32[(r0+4)] = r2;
+ r3 = heap32[(r0+5)];
+if(!(r2 <=r3)) //_LBB786_5
+{
+ heap32[(r0+5)] = r2;
+}
+ r_g0 = r1;
+ return;
+}
+
+function _ZN10CFileCloud6fflushEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+5];
+if(!(r1 ==0)) //_LBB787_2
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+5)];
+ r3 = r2 << 1;
+ heap32[(g0)] = r3;
+ malloc(i7);
+ r4 = r_g0;
+ r1 = heap32[(r1+6)];
+ r5 = sp + -4;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r5;
+ _ZN12mandreel_b64L11b64_encode_EPKhjPcjjPNS_6B64_RCE(i7);
+ r0 = (r0 + 28)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r_g0;
+ mandreel_writecloud(i7);
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN10CFileCloud6fcloseEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0+5];
+if(!(r1 ==0)) //_LBB788_2
+{
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+5)];
+ r3 = r2 << 1;
+ heap32[(g0)] = r3;
+ malloc(i7);
+ r4 = r_g0;
+ r1 = heap32[(r1+6)];
+ r5 = sp + -4;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r5;
+ _ZN12mandreel_b64L11b64_encode_EPKhjPcjjPNS_6B64_RCE(i7);
+ r2 = (r0 + 28)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r_g0;
+ mandreel_writecloud(i7);
+ heap32[(g0)] = r4;
+ free(i7);
+}
+ r1 = 0;
+ r2 = r0 >> 2;
+ heap8[r0+4] = r1;
+ r0 = heap32[(r2+6)];
+ heap32[(g0)] = r0;
+ free(i7);
+ r_g0 = r1;
+ return;
+}
+
+function __sync_val_compare_and_swap_4(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0)];
+ r2 = heap32[(fp+1)];
+if(!(r1 !=r2)) //_LBB789_2
+{
+ r2 = heap32[(fp+2)];
+ heap32[(r0)] = r2;
+}
+ r_g0 = r1;
+ return;
+}
+
+function _ZN11CFileStdout6fwriteEPKvjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16392;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+3)];
+ r0 = (r1 * r0)|0;
+ if(r0 !=0) //_LBB790_2
+{
+ r2 = heap32[(fp+1)];
+ r3 = sp + -16384;
+ r4 = r0;
+_3: while(true){
+ r5 = heapU8[r2];
+ r4 = (r4 + -1)|0;
+ r2 = (r2 + 1)|0;
+ r6 = (r3 + 1)|0;
+ heap8[r3] = r5;
+ r3 = r6;
+if(!(r4 !=0)) //_LBB790_3
+{
+break _3;
+}
+}
+ r2 = sp + -16384;
+ r0 = (r2 + r0)|0;
+}
+else{
+ r0 = sp + -16384;
+}
+ r2 = 0;
+ heap8[r0] = r2;
+ r0 = sp + -16384;
+ heap32[(g0)] = r0;
+ puts(i7);
+ r_g0 = r1;
+ return;
+}
+
+function fopen(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+var __label__ = 0;
+ i7 = sp + -2064;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heapU8[r0];
+ r2 = 46;
+ r3 = 92;
+ r4 = heapU8[r0+1];
+ r5 = 47;
+ r1 = r1 == r2;
+ r2 = r4 == r3;
+ r1 = r1 & r2;
+ r2 = r4 == r5;
+ r1 = r1 | r2;
+ r2 = (r0 + 1)|0;
+ r1 = r1 != 0 ? r2 : r0;
+ r2 = heapU8[r1];
+ r3 = heap32[(fp+1)];
+_1: do {
+ if(r2 !=0) //_LBB791_2
+{
+ r4 = sp + -2048;
+ r1 = (r1 + 1)|0;
+ r6 = 0;
+ r8 = 26;
+_3: while(true){
+ r7 = r2 & 255;
+ if(r7 ==47) //_LBB791_5
+{
+__label__ = 5;
+}
+else{
+ if(r7 !=92) //_LBB791_8
+{
+ r6 = r2 << 24;
+ r6 = r6 >> 24;
+ r7 = (r6 + -65)|0;
+ r9 = (r2 + 32)|0;
+ r10 = (r4 + 1)|0;
+ r6 = 0;
+ r2 = uint(r7) < uint(r8) ? r9 : r2;
+ heap8[r4] = r2;
+ r4 = r10;
+__label__ = 9;
+}
+else{
+__label__ = 5;
+}
+}
+if (__label__ == 5){
+ r2 = r6 & 255;
+ heap8[r4] = r5;
+ if(r2 ==0) //_LBB791_7
+{
+ r4 = (r4 + 1)|0;
+ r6 = 1;
+}
+else{
+ r6 = 1;
+}
+}
+ r2 = heapU8[r1];
+ if(r2 !=0) //_LBB791_11
+{
+ r1 = (r1 + 1)|0;
+continue _3;
+}
+else{
+break _1;
+}
+}
+}
+else{
+ r4 = sp + -2048;
+}
+} while(0);
+ r1 = 0;
+ heap8[r4] = r1;
+ r2 = sp + -2048;
+ r4 = _2E_str33679;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = 4;
+ strncmp(i7);
+ r4 = r_g0;
+_17: do {
+ if(r4 !=0) //_LBB791_29
+{
+ r4 = _2E_str34680;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = 4;
+ strncmp(i7);
+ r4 = r_g0;
+ if(r4 ==0) //_LBB791_31
+{
+ heap32[(g0)] = 0;
+ _Z30mandreel_fopen_enable_checkfatb(i7);
+ r0 = _2E_str31677;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r0 = r_g0;
+_21: do {
+ if(r0 !=0) //_LBB791_33
+{
+ r0 = _2E_str4651;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r0 = r_g0;
+ if(r0 ==0) //_LBB791_32
+{
+__label__ = 30;
+}
+else{
+ r0 = _2E_str5652;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB791_36
+{
+ r0 = _2E_str32678;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB791_35
+{
+ r4 = heapU8[r3];
+ r0 = 119;
+ r3 = 114;
+ r0 = r4 == r0;
+ r5 = r4 == r3;
+ r3 = r0 & 1;
+ r0 = r5 & 1;
+ if(r4 ==114) //_LBB791_39
+{
+__label__ = 36;
+break _21;
+}
+else{
+__label__ = 38;
+break _21;
+}
+}
+}
+ r0 = 1;
+ r1 = 0;
+ r3 = r0;
+__label__ = 38;
+}
+}
+else{
+__label__ = 30;
+}
+} while(0);
+if (__label__ == 30){
+ r0 = 1;
+ r3 = r0;
+__label__ = 36;
+}
+if (__label__ == 36){
+ heap32[(g0)] = r2;
+ mandreel_opencloud(i7);
+ r1 = r_g0;
+ if(r1 ==-1) //_LBB791_41
+{
+ r4 = 0;
+break _17;
+}
+}
+ heap32[(g0)] = 284;
+ _Znwj(i7);
+ r4 = r_g0;
+ r5 = _ZTV10CFileCloud;
+ r6 = r4 >> 2;
+ r5 = (r5 + 8)|0;
+ r7 = 1;
+ heap32[(r6)] = r5;
+ heap8[r4+4] = r7;
+ heap32[(r6+4)] = 0;
+ heap32[(r6+6)] = 0;
+ heap32[(r6+2)] = r1;
+ heap8[r4+5] = r3;
+ heap8[r4+6] = r0;
+ heap32[(r6+5)] = 0;
+ r0 = (r4 + 28)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ strcpy(i7);
+ if(r1 ==0) //_LBB791_44
+{
+ r0 = r3 & 255;
+ if(r0 ==0) //_LBB791_46
+{
+break _17;
+}
+else{
+ r0 = r4 >> 2;
+ heap32[(r0+3)] = 131072;
+ heap32[(g0)] = 131072;
+ malloc(i7);
+ heap32[(r0+6)] = r_g0;
+}
+}
+else{
+ r3 = (r1 + 131072)|0;
+ r2 = r4 >> 2;
+ heap32[(r2+3)] = r3;
+ heap32[(g0)] = r3;
+ malloc(i7);
+ heap32[(r2+6)] = r_g0;
+ r3 = (r1 + 4)|0;
+ heap32[(g0)] = r3;
+ malloc(i7);
+ r3 = r_g0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r1;
+ mandreel_readcloud(i7);
+ r0 = heap32[(r2+3)];
+ r5 = heap32[(r2+6)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r0;
+ _ZN12mandreel_b6410b64_decodeEPKcjPvj(i7);
+ r0 = r_g0;
+ heap32[(g0)] = r3;
+ free(i7);
+ heap32[(r2+2)] = r0;
+ heap32[(r2+5)] = r0;
+}
+}
+else{
+ r1 = r3;
+_39: while(true){
+ r4 = heapU8[r1];
+ if(r4 ==0) //_LBB791_51
+{
+__label__ = 46;
+break _39;
+}
+else{
+ if(r4 ==87) //_LBB791_50
+{
+__label__ = 45;
+break _39;
+}
+else{
+ r1 = (r1 + 1)|0;
+ if(r4 !=119) //_LBB791_47
+{
+__label__ = 42;
+}
+else{
+__label__ = 45;
+break _39;
+}
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 46:
+ r0 = heapU8[sp+-2048];
+ if(r0 !=47) //_LBB791_53
+{
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ mandreel_fopen(i7);
+ r2 = r_g0;
+}
+else{
+ r2 = (r2 + 1)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ mandreel_fopen(i7);
+ r2 = r_g0;
+}
+ if(r2 ==0) //_LBB791_56
+{
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+else{
+ heap32[(g0)] = 8;
+ r0 = _ZTV11CFileSystem;
+ _Znwj(i7);
+ r3 = r_g0 >> 2;
+ r0 = (r0 + 8)|0;
+ heap32[(r3)] = r0;
+ heap32[(r3+1)] = r2;
+ return;
+}
+break;
+case 45:
+ r2 = _2E_str35681;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r3;
+ printf(i7);
+ r2 = 0;
+ r_g0 = r2;
+ return;
+break;
+}
+}
+}
+else{
+ heap32[(g0)] = 0;
+ _Z30mandreel_fopen_enable_checkfatb(i7);
+ r0 = _2E_str31677;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r0 = r_g0;
+_54: do {
+ if(r0 !=0) //_LBB791_15
+{
+ r0 = _2E_str4651;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r0 = r_g0;
+ if(r0 ==0) //_LBB791_14
+{
+__label__ = 13;
+}
+else{
+ r0 = _2E_str5652;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r0 = r_g0;
+ if(r0 !=0) //_LBB791_18
+{
+ r0 = _2E_str32678;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r0 = r_g0;
+if(!(r0 ==0)) //_LBB791_17
+{
+ r3 = heapU8[r3];
+ r0 = 119;
+ r1 = 114;
+ r0 = r3 == r0;
+ r4 = r3 == r1;
+ r1 = r0 & 1;
+ r0 = r4 & 1;
+ if(r3 ==114) //_LBB791_21
+{
+__label__ = 20;
+break _54;
+}
+else{
+ r3 = 0;
+__label__ = 22;
+break _54;
+}
+}
+}
+ r0 = 1;
+ r3 = 0;
+ r1 = r0;
+__label__ = 22;
+}
+}
+else{
+__label__ = 13;
+}
+} while(0);
+if (__label__ == 13){
+ r0 = 1;
+ r1 = r0;
+__label__ = 20;
+}
+if (__label__ == 20){
+ heap32[(g0)] = r2;
+ mandreel_openls(i7);
+ r3 = r_g0;
+ if(r3 ==-1) //_LBB791_23
+{
+ r4 = 0;
+break _17;
+}
+}
+ heap32[(g0)] = 284;
+ _Znwj(i7);
+ r4 = r_g0;
+ r5 = _ZTV7CFileLS;
+ r6 = r4 >> 2;
+ r5 = (r5 + 8)|0;
+ r7 = 1;
+ heap32[(r6)] = r5;
+ heap8[r4+4] = r7;
+ heap32[(r6+4)] = 0;
+ heap32[(r6+6)] = 0;
+ heap32[(r6+2)] = r3;
+ heap8[r4+5] = r1;
+ heap8[r4+6] = r0;
+ heap32[(r6+5)] = 0;
+ r0 = (r4 + 28)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ strcpy(i7);
+ if(r3 ==0) //_LBB791_26
+{
+ r0 = r1 & 255;
+if(!(r0 ==0)) //_LBB791_28
+{
+ r0 = r4 >> 2;
+ heap32[(r0+3)] = 131072;
+ heap32[(g0)] = 131072;
+ malloc(i7);
+ heap32[(r0+6)] = r_g0;
+}
+}
+else{
+ r1 = (r3 + 131072)|0;
+ r2 = r4 >> 2;
+ heap32[(r2+3)] = r1;
+ heap32[(g0)] = r1;
+ malloc(i7);
+ heap32[(r2+6)] = r_g0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r_g0;
+ heap32[(g0+2)] = r3;
+ mandreel_readls(i7);
+ heap32[(r2+5)] = r3;
+}
+}
+} while(0);
+ heap32[(g0)] = 1;
+ _Z30mandreel_fopen_enable_checkfatb(i7);
+ r_g0 = r4;
+ return;
+}
+
+function strtoul(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap8[r0];
+ r2 = r1 << 2;
+ r3 = my_ctype;
+ r2 = (r2 + r3)|0;
+ r4 = heap32[(fp+1)];
+ r2 = heapU8[r2+4];
+ r2 = r2 & 8;
+ if(r2 ==0) //_LBB792_2
+{
+ r2 = r0;
+}
+else{
+ r2 = r0;
+_4: while(true){
+ r1 = heap8[r2+1];
+ r5 = r1 << 2;
+ r5 = (r5 + r3)|0;
+ r2 = (r2 + 1)|0;
+ r5 = heapU8[r5+4];
+ r5 = r5 & 8;
+ if(r5 !=0) //_LBB792_3
+{
+continue _4;
+}
+else{
+break _4;
+}
+}
+}
+ r1 = r1 & 255;
+ if(r1 ==43) //_LBB792_8
+{
+ r2 = (r2 + 1)|0;
+ r1 = 0;
+}
+else{
+ if(r1 ==45) //_LBB792_7
+{
+ r2 = (r2 + 1)|0;
+ r1 = 1;
+}
+else{
+ r1 = 0;
+}
+}
+ r3 = 0;
+ r5 = r3;
+ r6 = r3;
+ r11 = -1;
+_14: while(true){
+ r8 = (r2 - r3)|0;
+ r7 = heapU8[r8];
+ if(r7 ==0) //_LBB792_14
+{
+break _14;
+}
+else{
+ if(uint(r7) <uint(65)) //_LBB792_10
+{
+ r9 = r7 & 255;
+ r10 = 58;
+ r7 = (r7 + -48)|0;
+ r7 = uint(r9) < uint(r10) ? r7 : r11;
+ r7 = r7 & 255;
+ if(uint(r7) >uint(9)) //_LBB792_14
+{
+break _14;
+}
+else{
+ r8 = r6 & 255;
+ r8 = (r8 * 10)|0;
+ r7 = (r7 + r8)|0;
+ r6 = r6 >>> 8;
+ r8 = r7 >>> 8;
+ r6 = (r6 * 10)|0;
+ r6 = (r8 + r6)|0;
+ r8 = 16777215;
+ r9 = 1;
+ r10 = r6 << 8;
+ r7 = r7 & 255;
+ r5 = uint(r6) > uint(r8) ? r9 : r5;
+ r6 = r10 | r7;
+ r3 = (r3 + -1)|0;
+continue _14;
+}
+}
+else{
+break _14;
+}
+}
+}
+ if(r3 ==0) //_LBB792_16
+{
+ _errno(i7);
+ r6 = 0;
+ r8 = r_g0 >> 2;
+ heap32[(r8)] = 22;
+ r8 = r0;
+}
+if(!(r4 ==0)) //_LBB792_19
+{
+ r0 = r4 >> 2;
+ heap32[(r0)] = r8;
+}
+ if(r5 ==0) //_LBB792_21
+{
+ r0 = 0;
+ r0 = (r0 - r6)|0;
+ r0 = r1 == 0 ? r6 : r0;
+ r_g0 = r0;
+ return;
+}
+else{
+ _errno(i7);
+ r1 = r_g0 >> 2;
+ heap32[(r1)] = 34;
+ r1 = -1;
+ r_g0 = r1;
+ return;
+}
+}
+
+function strtol(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap8[r0];
+ r2 = r1 << 2;
+ r3 = my_ctype;
+ r2 = (r2 + r3)|0;
+ r4 = heap32[(fp+1)];
+ r2 = heapU8[r2+4];
+ r2 = r2 & 8;
+ if(r2 ==0) //_LBB793_2
+{
+ r2 = r0;
+}
+else{
+ r2 = r0;
+_4: while(true){
+ r1 = heap8[r2+1];
+ r5 = r1 << 2;
+ r5 = (r5 + r3)|0;
+ r2 = (r2 + 1)|0;
+ r5 = heapU8[r5+4];
+ r5 = r5 & 8;
+ if(r5 !=0) //_LBB793_3
+{
+continue _4;
+}
+else{
+break _4;
+}
+}
+}
+ r1 = r1 & 255;
+ if(r1 ==45) //_LBB793_6
+{
+ r1 = heap8[r2+1];
+ r1 = r1 << 2;
+ r3 = (r1 + r3)|0;
+ r3 = heapU16[(r3+4)>>1];
+ r3 = r3 & 263;
+ if(r3 ==0) //_LBB793_5
+{
+__label__ = 5;
+}
+else{
+ r2 = (r2 + 1)|0;
+ r3 = -1;
+__label__ = 8;
+}
+}
+else{
+__label__ = 5;
+}
+if (__label__ == 5){
+ r3 = 0;
+}
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ strtoul(i7);
+ r1 = r_g0;
+if(!(r4 ==0)) //_LBB793_11
+{
+ r4 = r4 >> 2;
+ r5 = heap32[(r4)];
+if(!(r5 !=r2)) //_LBB793_11
+{
+ heap32[(r4)] = r0;
+}
+}
+ if(r1 >-1) //_LBB793_16
+{
+ r0 = 0;
+ r0 = (r0 - r1)|0;
+ r0 = r3 == 0 ? r1 : r0;
+ r_g0 = r0;
+ return;
+}
+else{
+ _errno(i7);
+ r0 = r_g0;
+if(!(r1 !=-2147483648)) //_LBB793_15
+{
+if(!(r3 ==0)) //_LBB793_15
+{
+ r0 = r0 >> 2;
+ heap32[(r0)] = 0;
+ r_g0 = r1;
+ return;
+}
+}
+ r1 = r0 >> 2;
+ r0 = 2147483647;
+ r2 = -2147483648;
+ heap32[(r1)] = 34;
+ r1 = r3 == 0 ? r0 : r2;
+ r_g0 = r1;
+ return;
+}
+}
+
+function __floatundidf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 | r1;
+ if(r2 ==0) //_LBB794_12
+{
+ f0 = 0;
+ f_g0 = f0;
+ return;
+}
+else{
+ r2 = r0 >>> 1;
+ r3 = r1 >>> 1;
+ r2 = r0 | r2;
+ r3 = r1 | r3;
+ r4 = r2 >>> 2;
+ r5 = r3 >>> 2;
+ r2 = r2 | r4;
+ r3 = r3 | r5;
+ r4 = r2 >>> 4;
+ r5 = r3 >>> 4;
+ r2 = r2 | r4;
+ r3 = r3 | r5;
+ r4 = r2 >>> 8;
+ r5 = r3 >>> 8;
+ r2 = r2 | r4;
+ r3 = r3 | r5;
+ r4 = r2 >>> 16;
+ r5 = r3 >>> 16;
+ r2 = r2 | r4;
+ r3 = r3 | r5;
+ r4 = r2 ^ -1;
+ r5 = 1431655765;
+ r6 = r3 ^ -1;
+ r4 = r4 >>> 1;
+ r6 = r6 >>> 1;
+ r2 = r5 & (~r2);
+ r4 = r4 & 1431655765;
+ r2 = (r2 + r4)|0;
+ r3 = r5 & (~r3);
+ r4 = r6 & 1431655765;
+ r3 = (r3 + r4)|0;
+ r4 = r2 >>> 2;
+ r5 = r3 >>> 2;
+ r2 = r2 & 858993459;
+ r4 = r4 & 858993459;
+ r2 = (r2 + r4)|0;
+ r3 = r3 & 858993459;
+ r4 = r5 & 858993459;
+ r3 = (r3 + r4)|0;
+ r4 = r2 >>> 4;
+ r5 = r3 >>> 4;
+ r2 = r2 & 252645135;
+ r4 = r4 & 252645135;
+ r2 = (r2 + r4)|0;
+ r3 = r3 & 252645135;
+ r4 = r5 & 252645135;
+ r3 = (r3 + r4)|0;
+ r4 = r2 >>> 8;
+ r5 = r3 >>> 8;
+ r2 = r2 & 16711935;
+ r4 = r4 & 16711935;
+ r2 = (r2 + r4)|0;
+ r3 = r3 & 16711935;
+ r4 = r5 & 16711935;
+ r3 = (r3 + r4)|0;
+ r4 = r2 & 65535;
+ r2 = r2 >>> 16;
+ r2 = (r4 + r2)|0;
+ r4 = r3 & 65535;
+ r3 = r3 >>> 16;
+ r3 = (r4 + r3)|0;
+ r2 = (r2 + 32)|0;
+ r4 = 64;
+ r2 = r1 != 0 ? r3 : r2;
+ r3 = 63;
+ r4 = (r4 - r2)|0;
+ r2 = (r3 - r2)|0;
+ if(r4 <54) //_LBB794_10
+{
+ r3 = 53;
+ r3 = (r3 - r4)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ __ashldi3(i7);
+ r3 = r_g0;
+ r1 = r_g1;
+}
+else{
+ if(r4 ==54) //_LBB794_5
+{
+ r1 = r1 << 1;
+ r3 = r0 >>> 31;
+ r0 = r0 << 1;
+ r1 = r1 | r3;
+}
+else{
+ if(r4 !=55) //_LBB794_6
+{
+ r3 = (r4 + -55)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ __lshrdi3(i7);
+ r3 = r_g0;
+ r5 = r_g1;
+ r6 = 119;
+ r6 = (r6 - r4)|0;
+ heap32[(g0)] = -1;
+ heap32[(g0+1)] = -1;
+ heap32[(g0+2)] = r6;
+ __lshrdi3(i7);
+ r0 = r_g0 & r0;
+ r1 = r_g1 & r1;
+ r0 = r0 | r1;
+ r1 = 0;
+ r0 = r0 != r1;
+ r0 = r0 & 1;
+ r0 = r0 | r3;
+ r1 = r5;
+}
+}
+ r3 = r0 >>> 2;
+ r3 = r3 & 1;
+ r0 = r3 | r0;
+ r3 = (r0 + 1)|0;
+ r5 = 1;
+ r6 = 0;
+ r0 = uint(r3) < uint(r0) ? r5 : r6;
+ r0 = r3 == 0 ? r5 : r0;
+ r0 = (r1 + r0)|0;
+ r1 = r0 >>> 2;
+ r5 = r1 & 2097152;
+ if(r5 !=0) //_LBB794_9
+{
+ r1 = r3 >>> 3;
+ r2 = r0 << 29;
+ r3 = r1 | r2;
+ r1 = r0 >>> 3;
+ r2 = r4;
+}
+else{
+ r3 = r3 >>> 2;
+ r0 = r0 << 30;
+ r3 = r3 | r0;
+}
+}
+ r0 = r2 << 20;
+ r2 = sp + -8;
+ r1 = r1 & 1048575;
+ r0 = (r0 + 1072693248)|0;
+ r2 = r2 >> 2;
+ r0 = r1 | r0;
+ heap32[(fp+-2)] = r3;
+ heap32[(r2+1)] = r0;
+ f0 = llvm_readDouble((sp+-8));
+ f_g0 = f0;
+ return;
+}
+}
+
+function __udivmoddi4(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp+4)];
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+_1: do {
+ if(r0 !=0) //_LBB795_10
+{
+_3: do {
+ if(r3 !=0) //_LBB795_27
+{
+ if(r4 !=0) //_LBB795_34
+{
+ r5 = r4 >>> 1;
+ r6 = r0 >>> 1;
+ r5 = r4 | r5;
+ r6 = r0 | r6;
+ r7 = r5 >>> 2;
+ r9 = r6 >>> 2;
+ r5 = r5 | r7;
+ r6 = r6 | r9;
+ r7 = r5 >>> 4;
+ r9 = r6 >>> 4;
+ r5 = r5 | r7;
+ r6 = r6 | r9;
+ r7 = r5 >>> 8;
+ r9 = r6 >>> 8;
+ r5 = r5 | r7;
+ r6 = r6 | r9;
+ r7 = r5 >>> 16;
+ r9 = r6 >>> 16;
+ r5 = r5 | r7;
+ r6 = r6 | r9;
+ r7 = r5 ^ -1;
+ r9 = r6 ^ -1;
+ r8 = 1431655765;
+ r7 = r7 >>> 1;
+ r9 = r9 >>> 1;
+ r5 = r8 & (~r5);
+ r7 = r7 & 1431655765;
+ r6 = r8 & (~r6);
+ r9 = r9 & 1431655765;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r9)|0;
+ r7 = r5 >>> 2;
+ r9 = r6 >>> 2;
+ r5 = r5 & 858993459;
+ r7 = r7 & 858993459;
+ r6 = r6 & 858993459;
+ r9 = r9 & 858993459;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r9)|0;
+ r7 = r5 >>> 4;
+ r9 = r6 >>> 4;
+ r5 = r5 & 252645135;
+ r7 = r7 & 252645135;
+ r6 = r6 & 252645135;
+ r9 = r9 & 252645135;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r9)|0;
+ r7 = r5 >>> 8;
+ r9 = r6 >>> 8;
+ r5 = r5 & 16711935;
+ r7 = r7 & 16711935;
+ r6 = r6 & 16711935;
+ r9 = r9 & 16711935;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r9)|0;
+ r7 = r5 & 65535;
+ r5 = r5 >>> 16;
+ r9 = r6 & 65535;
+ r6 = r6 >>> 16;
+ r5 = (r7 + r5)|0;
+ r6 = (r9 + r6)|0;
+ r5 = (r5 - r6)|0;
+ if(uint(r5) <uint(32)) //_LBB795_37
+{
+ r6 = 31;
+ r7 = (r5 + 1)|0;
+ r9 = (r5 + -31)|0;
+ r5 = (r6 - r5)|0;
+ r6 = r2 >>> r7;
+ r8 = r9 >> 31;
+ r10 = r0 >>> r7;
+ r6 = r6 & r8;
+ r0 = r0 << r5;
+ r9 = 0;
+ r2 = r2 << r5;
+ r5 = r6 | r0;
+ r6 = r10 & r8;
+__label__ = 39;
+break _3;
+}
+else{
+ if(r1 ==0) //_LBB795_7
+{
+__label__ = 7;
+break _1;
+}
+else{
+ r5 = r1 >> 2;
+ heap32[(r5)] = r2;
+ heap32[(r5+1)] = r0;
+ r2 = 0;
+ r_g0 = r2;
+ r_g1 = r2;
+ return;
+}
+}
+}
+else{
+ r5 = (r3 + -1)|0;
+ r6 = r5 & r3;
+ if(r6 !=0) //_LBB795_38
+{
+ r5 = r3 >>> 1;
+ r6 = r0 >>> 1;
+ r5 = r3 | r5;
+ r6 = r0 | r6;
+ r7 = r5 >>> 2;
+ r9 = r6 >>> 2;
+ r5 = r5 | r7;
+ r6 = r6 | r9;
+ r7 = r5 >>> 4;
+ r9 = r6 >>> 4;
+ r5 = r5 | r7;
+ r6 = r6 | r9;
+ r7 = r5 >>> 8;
+ r9 = r6 >>> 8;
+ r5 = r5 | r7;
+ r6 = r6 | r9;
+ r7 = r5 >>> 16;
+ r9 = r6 >>> 16;
+ r5 = r5 | r7;
+ r6 = r6 | r9;
+ r7 = r5 ^ -1;
+ r9 = r6 ^ -1;
+ r8 = 1431655765;
+ r7 = r7 >>> 1;
+ r9 = r9 >>> 1;
+ r5 = r8 & (~r5);
+ r7 = r7 & 1431655765;
+ r6 = r8 & (~r6);
+ r9 = r9 & 1431655765;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r9)|0;
+ r7 = r5 >>> 2;
+ r9 = r6 >>> 2;
+ r5 = r5 & 858993459;
+ r7 = r7 & 858993459;
+ r6 = r6 & 858993459;
+ r9 = r9 & 858993459;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r9)|0;
+ r7 = r5 >>> 4;
+ r9 = r6 >>> 4;
+ r5 = r5 & 252645135;
+ r7 = r7 & 252645135;
+ r6 = r6 & 252645135;
+ r9 = r9 & 252645135;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r9)|0;
+ r7 = r5 >>> 8;
+ r9 = r6 >>> 8;
+ r5 = r5 & 16711935;
+ r7 = r7 & 16711935;
+ r6 = r6 & 16711935;
+ r9 = r9 & 16711935;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r9)|0;
+ r7 = r5 & 65535;
+ r5 = r5 >>> 16;
+ r9 = r6 & 65535;
+ r6 = r6 >>> 16;
+ r5 = (r7 + r5)|0;
+ r6 = (r9 + r6)|0;
+ r5 = (r5 - r6)|0;
+ r6 = 31;
+ r7 = (r5 + 33)|0;
+ r9 = r5 ^ -1;
+ r8 = (r5 + 1)|0;
+ r6 = (r6 - r5)|0;
+ r10 = -2;
+ r10 = (r10 - r5)|0;
+ r11 = r0 << r6;
+ r12 = r2 >>> r8;
+ r13 = r2 >>> r7;
+ r14 = r0 << r9;
+ r11 = r11 | r12;
+ r12 = r9 >> 31;
+ r9 = r2 << r9;
+ r5 = r5 >> 31;
+ r13 = r13 | r14;
+ r14 = r8 >> 31;
+ r8 = r0 >>> r8;
+ r10 = r10 >> 31;
+ r2 = r2 << r6;
+ r0 = r0 >>> r7;
+ r6 = r11 & r12;
+ r5 = r9 & r5;
+ r11 = r13 & r14;
+ r8 = r8 & r10;
+ r9 = r2 & r12;
+ r2 = r6 | r5;
+ r5 = r11 | r8;
+ r6 = r0 & r14;
+ if(r7 ==0) //_LBB795_40
+{
+ r0 = 0;
+ r3 = r0;
+__label__ = 42;
+break _3;
+}
+else{
+__label__ = 39;
+break _3;
+}
+}
+else{
+if(!(r1 ==0)) //_LBB795_31
+{
+ r1 = r1 >> 2;
+ r4 = r5 & r2;
+ heap32[(r1)] = r4;
+ heap32[(r1+1)] = 0;
+}
+ if(r3 !=1) //_LBB795_33
+{
+ r1 = r5 & (~r3);
+ r3 = r1 >>> 1;
+ r1 = r1 & 1431655765;
+ r3 = r3 & 1431655765;
+ r1 = (r1 + r3)|0;
+ r3 = r1 >>> 2;
+ r1 = r1 & 858993459;
+ r3 = r3 & 858993459;
+ r1 = (r1 + r3)|0;
+ r3 = r1 >>> 4;
+ r1 = r1 & 252645135;
+ r3 = r3 & 252645135;
+ r1 = (r1 + r3)|0;
+ r3 = r1 >>> 8;
+ r1 = r1 & 16711935;
+ r3 = r3 & 16711935;
+ r1 = (r1 + r3)|0;
+ r3 = r1 & 65535;
+ r1 = r1 >>> 16;
+ r1 = (r3 + r1)|0;
+ r3 = 32;
+ r3 = (r3 - r1)|0;
+ r3 = r0 << r3;
+ r2 = r2 >>> r1;
+ r2 = r3 | r2;
+ r0 = r0 >>> r1;
+__label__ = 44;
+break _1;
+}
+else{
+__label__ = 44;
+break _1;
+}
+}
+}
+}
+else{
+ if(r4 !=0) //_LBB795_15
+{
+ if(r2 !=0) //_LBB795_19
+{
+ r5 = (r4 + -1)|0;
+ r6 = r5 & r4;
+ if(r6 !=0) //_LBB795_23
+{
+ r5 = r4 >>> 1;
+ r6 = r0 >>> 1;
+ r5 = r4 | r5;
+ r6 = r0 | r6;
+ r7 = r5 >>> 2;
+ r8 = r6 >>> 2;
+ r5 = r5 | r7;
+ r6 = r6 | r8;
+ r7 = r5 >>> 4;
+ r8 = r6 >>> 4;
+ r5 = r5 | r7;
+ r6 = r6 | r8;
+ r7 = r5 >>> 8;
+ r8 = r6 >>> 8;
+ r5 = r5 | r7;
+ r6 = r6 | r8;
+ r7 = r5 >>> 16;
+ r8 = r6 >>> 16;
+ r5 = r5 | r7;
+ r6 = r6 | r8;
+ r7 = r5 ^ -1;
+ r8 = r6 ^ -1;
+ r9 = 1431655765;
+ r7 = r7 >>> 1;
+ r8 = r8 >>> 1;
+ r5 = r9 & (~r5);
+ r7 = r7 & 1431655765;
+ r6 = r9 & (~r6);
+ r8 = r8 & 1431655765;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r8)|0;
+ r7 = r5 >>> 2;
+ r8 = r6 >>> 2;
+ r5 = r5 & 858993459;
+ r7 = r7 & 858993459;
+ r6 = r6 & 858993459;
+ r8 = r8 & 858993459;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r8)|0;
+ r7 = r5 >>> 4;
+ r8 = r6 >>> 4;
+ r5 = r5 & 252645135;
+ r7 = r7 & 252645135;
+ r6 = r6 & 252645135;
+ r8 = r8 & 252645135;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r8)|0;
+ r7 = r5 >>> 8;
+ r8 = r6 >>> 8;
+ r5 = r5 & 16711935;
+ r7 = r7 & 16711935;
+ r6 = r6 & 16711935;
+ r8 = r8 & 16711935;
+ r5 = (r5 + r7)|0;
+ r6 = (r6 + r8)|0;
+ r7 = r5 & 65535;
+ r5 = r5 >>> 16;
+ r8 = r6 & 65535;
+ r6 = r6 >>> 16;
+ r5 = (r7 + r5)|0;
+ r6 = (r8 + r6)|0;
+ r5 = (r5 - r6)|0;
+ if(uint(r5) <uint(31)) //_LBB795_26
+{
+ r6 = 31;
+ r7 = (r5 + 1)|0;
+ r5 = (r6 - r5)|0;
+ r6 = r0 << r5;
+ r8 = r2 >>> r7;
+ r9 = 0;
+ r2 = r2 << r5;
+ r5 = r6 | r8;
+ r6 = r0 >>> r7;
+__label__ = 39;
+break _3;
+}
+else{
+ if(r1 ==0) //_LBB795_7
+{
+__label__ = 7;
+break _1;
+}
+else{
+ r1 = r1 >> 2;
+ heap32[(r1)] = r2;
+ heap32[(r1+1)] = r0;
+__label__ = 9;
+break _1;
+}
+}
+}
+else{
+if(!(r1 ==0)) //_LBB795_22
+{
+ r1 = r1 >> 2;
+ r3 = r5 & r0;
+ heap32[(r1)] = r2;
+ heap32[(r1+1)] = r3;
+}
+ r1 = (r4 + -1)|0;
+ r1 = r1 & (~r4);
+ r2 = r1 >>> 1;
+ r1 = r1 & 1431655765;
+ r2 = r2 & 1431655765;
+ r1 = (r1 + r2)|0;
+ r2 = r1 >>> 2;
+ r1 = r1 & 858993459;
+ r2 = r2 & 858993459;
+ r1 = (r1 + r2)|0;
+ r2 = r1 >>> 4;
+ r1 = r1 & 252645135;
+ r2 = r2 & 252645135;
+ r1 = (r1 + r2)|0;
+ r2 = r1 >>> 8;
+ r1 = r1 & 16711935;
+ r2 = r2 & 16711935;
+ r1 = (r1 + r2)|0;
+ r2 = r1 & 65535;
+ r1 = r1 >>> 16;
+ r1 = (r2 + r1)|0;
+ r0 = r0 >>> r1;
+__label__ = 5;
+break _1;
+}
+}
+else{
+if(!(r1 ==0)) //_LBB795_18
+{
+ r1 = r1 >> 2;
+ r2 = Math.floor(uint(r0) % uint(r4));
+ heap32[(r1)] = 0;
+ heap32[(r1+1)] = r2;
+}
+ r0 = Math.floor(uint(r0) /uint(r4));
+__label__ = 5;
+break _1;
+}
+}
+else{
+if(!(r1 ==0)) //_LBB795_14
+{
+ r1 = r1 >> 2;
+ r2 = Math.floor(uint(r0) % uint(r3));
+ heap32[(r1)] = r2;
+ heap32[(r1+1)] = 0;
+}
+ r0 = Math.floor(uint(r0) /uint(r3));
+__label__ = 5;
+break _1;
+}
+}
+} while(0);
+if (__label__ == 39){
+ r8 = (r3 + -1)|0;
+ r10 = 0;
+ r11 = 1;
+ r0 = uint(r8) < uint(r3) ? r11 : r10;
+ r0 = r3 != 0 ? r11 : r0;
+ r0 = (r4 + r0)|0;
+ r12 = (r0 + -1)|0;
+ r13 = r10;
+_45: while(true){
+ r0 = r5 << 1;
+ r14 = r2 >>> 31;
+ r6 = r6 << 1;
+ r5 = r5 >>> 31;
+ r14 = r0 | r14;
+ r0 = r6 | r5;
+ r5 = (r12 - r0)|0;
+ r6 = uint(r8) < uint(r14) ? r11 : r10;
+ r5 = (r5 - r6)|0;
+ r5 = r5 >> 31;
+ r6 = r5 & r3;
+ r15 = r5 & r4;
+ r16 = r9 << 1;
+ r2 = r2 << 1;
+ r17 = r9 >>> 31;
+ r15 = (r0 - r15)|0;
+ r18 = uint(r14) < uint(r6) ? r11 : r10;
+ r7 = (r7 + -1)|0;
+ r0 = r5 & 1;
+ r9 = r13 | r16;
+ r2 = r2 | r17;
+ r5 = (r14 - r6)|0;
+ r6 = (r15 - r18)|0;
+ r13 = r0;
+if(!(r7 !=0)) //_LBB795_42
+{
+break _45;
+}
+}
+ r3 = 0;
+}
+ r2 = r2 << 1;
+ r4 = r9 >>> 31;
+ r7 = r9 << 1;
+ r4 = r2 | r4;
+ r2 = r0 | r7;
+ r0 = r3 | r4;
+ if(r1 !=0) //_LBB795_46
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = r5;
+ heap32[(r1+1)] = r6;
+__label__ = 44;
+break _1;
+}
+else{
+__label__ = 44;
+break _1;
+}
+}
+else{
+ if(r4 !=0) //_LBB795_6
+{
+ if(r1 !=0) //_LBB795_8
+{
+ r0 = r1 >> 2;
+ heap32[(r0)] = r2;
+ heap32[(r0+1)] = 0;
+__label__ = 9;
+break _1;
+}
+else{
+__label__ = 7;
+break _1;
+}
+}
+else{
+if(!(r1 ==0)) //_LBB795_4
+{
+ r0 = r1 >> 2;
+ r1 = Math.floor(uint(r2) % uint(r3));
+ heap32[(r0)] = r1;
+ heap32[(r0+1)] = 0;
+}
+ r0 = Math.floor(uint(r2) /uint(r3));
+__label__ = 5;
+}
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 7:
+ r2 = 0;
+ r0 = r2;
+break;
+case 9:
+ r0 = 0;
+ r_g0 = r0;
+ r_g1 = r0;
+ return;
+break;
+case 5:
+ r1 = 0;
+ r_g0 = r0;
+ r_g1 = r1;
+ return;
+break;
+}
+ r_g0 = r2;
+ r_g1 = r0;
+ return;
+}
+
+function __umoddi3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = sp + -8;
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(fp+3)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = r4;
+ heap32[(g0+4)] = r0;
+ __udivmoddi4(i7);
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+-2)];
+ r0 = heap32[(r0+1)];
+ r_g0 = r1;
+ r_g1 = r0;
+ return;
+}
+
+function __moddi3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 >> 31;
+ r3 = heap32[(fp+2)];
+ r4 = r1 >> 31;
+ r5 = heap32[(fp)];
+ r1 = r4 ^ r1;
+ r5 = r4 ^ r5;
+ r0 = r2 ^ r0;
+ r3 = r2 ^ r3;
+ r6 = 1;
+ r7 = 0;
+ r1 = (r1 - r4)|0;
+ r8 = uint(r5) < uint(r4) ? r6 : r7;
+ r0 = (r0 - r2)|0;
+ r9 = uint(r3) < uint(r2) ? r6 : r7;
+ r10 = sp + -8;
+ r5 = (r5 - r4)|0;
+ r1 = (r1 - r8)|0;
+ r2 = (r3 - r2)|0;
+ r0 = (r0 - r9)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r0;
+ heap32[(g0+4)] = r10;
+ __udivmoddi4(i7);
+ r0 = r10 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = heap32[(fp+-2)];
+ r1 = r1 ^ r4;
+ r0 = r0 ^ r4;
+ r0 = (r0 - r4)|0;
+ r2 = uint(r1) < uint(r4) ? r6 : r7;
+ r1 = (r1 - r4)|0;
+ r0 = (r0 - r2)|0;
+ r_g0 = r1;
+ r_g1 = r0;
+ return;
+}
+
+function __divdi3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+ r1 = heap32[(fp+1)];
+ r2 = r1 >> 31;
+ r3 = heap32[(fp)];
+ r4 = r0 >> 31;
+ r5 = heap32[(fp+2)];
+ r6 = r2 ^ r1;
+ r3 = r2 ^ r3;
+ r7 = r4 ^ r0;
+ r5 = r4 ^ r5;
+ r8 = 1;
+ r9 = 0;
+ r6 = (r6 - r2)|0;
+ r10 = uint(r3) < uint(r2) ? r8 : r9;
+ r7 = (r7 - r4)|0;
+ r11 = uint(r5) < uint(r4) ? r8 : r9;
+ r2 = (r3 - r2)|0;
+ r3 = (r6 - r10)|0;
+ r4 = (r5 - r4)|0;
+ r5 = (r7 - r11)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = 0;
+ r0 = r0 ^ r1;
+ __udivmoddi4(i7);
+ r0 = r0 >> 31;
+ r1 = r_g0 ^ r0;
+ r2 = r_g1 ^ r0;
+ r2 = (r2 - r0)|0;
+ r3 = uint(r1) < uint(r0) ? r8 : r9;
+ r0 = (r1 - r0)|0;
+ r1 = (r2 - r3)|0;
+ r_g0 = r0;
+ r_g1 = r1;
+ return;
+}
+
+function __udivdi3(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = 0;
+ __udivmoddi4(i7);
+ return;
+}
+
+function sscanf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var f0;
+ var f1;
+ var f2;
+ var f3;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = (sp + 4)|0;
+ r1 = heap32[(fp)];
+ heap32[(fp+-5)] = r0;
+ heap32[(fp+-4)] = r1;
+ heap32[(fp+-1)] = r0;
+ r0 = sp + -16;
+ heap32[(g0)] = r0;
+ r1 = 1;
+ r2 = 0;
+ r3 = _2E_str7136;
+ sgetc(i7);
+ r4 = r_g0;
+ f3 = 10;
+ r20 = 255;
+_1: while(true){
+ r5 = heapU8[r3];
+ if(r5 !=0) //_LBB800_1
+{
+ r5 = r5 << 24;
+ r5 = r5 >> 24;
+ r6 = (r3 + 1)|0;
+ if(r5 >31) //_LBB800_4
+{
+ if(r5 ==32) //_LBB800_7
+{
+__label__ = 7;
+}
+else{
+ if(r5 ==37) //_LBB800_8
+{
+ r5 = -1;
+ r7 = 0;
+ r8 = r7;
+ r9 = r7;
+ r10 = r7;
+ r11 = r7;
+_8: while(true){
+ r12 = heap8[r6];
+if(!(r12 ==110)) //_LBB800_17
+{
+ if(r4 ==-1) //_LBB800_187
+{
+__label__ = 168;
+break _1;
+}
+}
+ if(r12 >103) //_LBB800_31
+{
+ if(r12 >111) //_LBB800_38
+{
+ if(r12 >114) //_LBB800_41
+{
+__label__ = 40;
+break _8;
+}
+else{
+ if(r12 ==112) //_LBB800_59
+{
+__label__ = 52;
+break _8;
+}
+else{
+if(!(r12 ==113)) //_LBB800_45
+{
+__label__ = 168;
+break _1;
+}
+}
+}
+}
+else{
+ if(r12 >107) //_LBB800_35
+{
+ if(r12 ==108) //_LBB800_55
+{
+ r3 = 1;
+ r10 = r10 & 255;
+ r11 = r10 == 0 ? r11 : r3;
+ r6 = (r6 + 1)|0;
+ r10 = r3;
+continue _8;
+}
+else{
+__label__ = 35;
+break _8;
+}
+}
+else{
+ if(r12 ==104) //_LBB800_53
+{
+ r6 = (r6 + 1)|0;
+ r9 = 1;
+continue _8;
+}
+else{
+__label__ = 33;
+break _8;
+}
+}
+}
+}
+else{
+ if(r12 >75) //_LBB800_25
+{
+ if(r12 >98) //_LBB800_28
+{
+__label__ = 27;
+break _8;
+}
+else{
+if(!(r12 ==76)) //_LBB800_45
+{
+__label__ = 26;
+break _8;
+}
+}
+}
+else{
+ if(r12 >41) //_LBB800_22
+{
+ if(r12 ==42) //_LBB800_46
+{
+ r6 = (r6 + 1)|0;
+ r8 = 1;
+continue _8;
+}
+else{
+ r5 = (r12 + -48)|0;
+ if(uint(r5) <uint(10)) //_LBB800_57
+{
+ r5 = sp + -8;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r5;
+ strtol(i7);
+ r5 = r_g0;
+ r6 = heap32[(fp+-2)];
+ r7 = 1;
+continue _8;
+}
+else{
+__label__ = 23;
+break _8;
+}
+}
+}
+else{
+__label__ = 19;
+break _8;
+}
+}
+}
+ r6 = (r6 + 1)|0;
+ r11 = 1;
+}
+_36: do {
+switch(__label__ ){//multiple entries
+case 40:
+ if(r12 ==115) //_LBB800_165
+{
+ r8 = r8 & 255;
+if(!(r8 !=0)) //_LBB800_167
+{
+ r3 = sp + -4;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r3 = r_g0 >> 2;
+ r3 = heap32[(r3)];
+ heap32[(fp+-2)] = r3;
+}
+ r3 = (r6 + 1)|0;
+ r6 = r4 << 2;
+ r7 = my_ctype;
+ r6 = (r6 + r7)|0;
+ r6 = heapU8[r6+4];
+ r6 = r6 & 8;
+_43: do {
+ if(r6 ==0) //_LBB800_169
+{
+ r6 = r4;
+}
+else{
+_45: while(true){
+ heap32[(g0)] = r0;
+ sgetc(i7);
+ r6 = r_g0;
+ r4 = r6 << 2;
+ r4 = (r4 + r7)|0;
+ r1 = (r1 + 1)|0;
+ r4 = heapU8[r4+4];
+ r4 = r4 & 8;
+if(!(r4 !=0)) //_LBB800_170
+{
+break _43;
+}
+}
+}
+} while(0);
+ r4 = -1;
+ if(r6 ==-1) //_LBB800_186
+{
+continue _1;
+}
+else{
+ r4 = r6;
+_49: while(true){
+ if(r4 ==-1) //_LBB800_180
+{
+break _49;
+}
+else{
+ if(r5 ==0) //_LBB800_180
+{
+break _49;
+}
+else{
+ r6 = r4 << 2;
+ r6 = (r6 + r7)|0;
+ r6 = heapU8[r6+4];
+ r6 = r6 & 8;
+ if(r6 ==0) //_LBB800_173
+{
+if(!(r8 !=0)) //_LBB800_175
+{
+ r6 = heap32[(fp+-2)];
+ heap8[r6] = r4;
+}
+ if(r4 ==0) //_LBB800_180
+{
+break _49;
+}
+else{
+ r4 = heap32[(fp+-2)];
+ r4 = (r4 + 1)|0;
+ heap32[(fp+-2)] = r4;
+ heap32[(g0)] = r0;
+ r1 = (r1 + 1)|0;
+ r5 = (r5 + -1)|0;
+ sgetc(i7);
+ r4 = r_g0;
+}
+}
+else{
+break _49;
+}
+}
+}
+}
+ if(r8 !=0) //_LBB800_186
+{
+continue _1;
+}
+else{
+ r2 = (r2 + 1)|0;
+ r5 = heap32[(fp+-2)];
+ r6 = 0;
+ heap8[r5] = r6;
+continue _1;
+}
+}
+}
+else{
+ if(r12 ==117) //_LBB800_60
+{
+__label__ = 53;
+break _36;
+}
+else{
+ if(r12 ==120) //_LBB800_59
+{
+__label__ = 52;
+break _36;
+}
+else{
+__label__ = 168;
+break _1;
+}
+}
+}
+break;
+case 35:
+ if(r12 ==110) //_LBB800_182
+{
+ r3 = (r6 + 1)|0;
+ r5 = r8 & 255;
+ if(r5 !=0) //_LBB800_186
+{
+continue _1;
+}
+else{
+ r5 = sp + -4;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r5 = r_g0 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r6 = (r1 + -1)|0;
+ heap32[(r5)] = r6;
+continue _1;
+}
+}
+else{
+ if(r12 ==111) //_LBB800_44
+{
+ r13 = 8;
+__label__ = 55;
+break _36;
+}
+else{
+__label__ = 168;
+break _1;
+}
+}
+break;
+case 33:
+ if(r12 ==105) //_LBB800_60
+{
+__label__ = 53;
+break _36;
+}
+else{
+__label__ = 168;
+break _1;
+}
+break;
+case 27:
+ if(r12 ==99) //_LBB800_155
+{
+ r3 = (r6 + 1)|0;
+ r6 = r8 & 255;
+ if(r6 ==0) //_LBB800_157
+{
+ r8 = sp + -4;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r8 = r_g0 >> 2;
+ r8 = heap32[(r8)];
+ r2 = (r2 + 1)|0;
+ heap32[(fp+-2)] = r8;
+}
+ r8 = r7 & 255;
+ r7 = 1;
+ r5 = r8 == 0 ? r7 : r5;
+ if(r5 ==0) //_LBB800_186
+{
+continue _1;
+}
+else{
+ if(r4 ==-1) //_LBB800_186
+{
+continue _1;
+}
+else{
+ r5 = (r5 + -1)|0;
+_77: while(true){
+if(!(r6 !=0)) //_LBB800_163
+{
+ r8 = heap32[(fp+-2)];
+ r7 = (r8 + 1)|0;
+ heap8[r8] = r4;
+ heap32[(fp+-2)] = r7;
+}
+ heap32[(g0)] = r0;
+ r1 = (r1 + 1)|0;
+ sgetc(i7);
+ r4 = r_g0;
+ if(r5 ==0) //_LBB800_186
+{
+continue _1;
+}
+else{
+ r5 = (r5 + -1)|0;
+ if(r4 !=-1) //_LBB800_161
+{
+continue _77;
+}
+else{
+continue _1;
+}
+}
+}
+}
+}
+}
+else{
+ if(r12 ==100) //_LBB800_61
+{
+ r13 = 10;
+__label__ = 55;
+break _36;
+}
+else{
+ r5 = (r12 + -101)|0;
+ if(uint(r5) <uint(3)) //_LBB800_48
+{
+__label__ = 46;
+break _36;
+}
+else{
+__label__ = 168;
+break _1;
+}
+}
+}
+break;
+case 26:
+ if(r12 ==88) //_LBB800_59
+{
+__label__ = 52;
+break _36;
+}
+else{
+__label__ = 168;
+break _1;
+}
+break;
+case 23:
+ if(r12 ==69) //_LBB800_48
+{
+__label__ = 46;
+break _36;
+}
+else{
+__label__ = 168;
+break _1;
+}
+break;
+case 19:
+ if(r12 ==0) //_LBB800_6
+{
+__label__ = 6;
+break _1;
+}
+else{
+ if(r12 ==37) //_LBB800_51
+{
+ r5 = r4 & 255;
+ if(r5 !=r12) //_LBB800_187
+{
+__label__ = 168;
+break _1;
+}
+else{
+ heap32[(g0)] = r0;
+ r1 = (r1 + 1)|0;
+ r3 = (r6 + 1)|0;
+ sgetc(i7);
+ r4 = r_g0;
+continue _1;
+}
+}
+else{
+__label__ = 168;
+break _1;
+}
+}
+break;
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 53:
+ r13 = 0;
+break;
+case 52:
+ r13 = 16;
+break;
+case 46:
+ r5 = r4 << 2;
+ r7 = my_ctype;
+ r5 = (r5 + r7)|0;
+ r5 = heapU8[r5+4];
+ r3 = (r6 + 1)|0;
+ r5 = r5 & 8;
+_97: do {
+if(!(r5 ==0)) //_LBB800_50
+{
+_98: while(true){
+ heap32[(g0)] = r0;
+ sgetc(i7);
+ r4 = r_g0;
+ r5 = r4 << 2;
+ r5 = (r5 + r7)|0;
+ r1 = (r1 + 1)|0;
+ r5 = heapU8[r5+4];
+ r5 = r5 & 8;
+if(!(r5 !=0)) //_LBB800_111
+{
+break _97;
+}
+}
+}
+} while(0);
+ if(r4 ==45) //_LBB800_114
+{
+ heap32[(g0)] = r0;
+ r1 = (r1 + 1)|0;
+ r5 = 1;
+ sgetc(i7);
+ r4 = r_g0;
+}
+else{
+ r5 = 0;
+}
+ if(r4 ==43) //_LBB800_117
+{
+ heap32[(g0)] = r0;
+ r1 = (r1 + 1)|0;
+ sgetc(i7);
+ r4 = r_g0;
+}
+ r6 = (r4 + -48)|0;
+_108: do {
+ if(uint(r6) >uint(9)) //_LBB800_120
+{
+ f0 = 0;
+ r6 = r1;
+}
+else{
+ f0 = 0;
+ r6 = r1;
+_111: while(true){
+ r4 = (r4 + -48)|0;
+ f1 = 10;
+ heap32[(g0)] = r0;
+ f0 = f0*f1;
+ f1 = r4; //fitod r4, f1
+ sgetc(i7);
+ r4 = r_g0;
+ f0 = f0+f1;
+ r6 = (r6 + 1)|0;
+ r7 = (r4 + -48)|0;
+if(!(uint(r7) <uint(10))) //_LBB800_121
+{
+break _108;
+}
+}
+}
+} while(0);
+_114: do {
+ if(r4 ==46) //_LBB800_124
+{
+ heap32[(g0)] = r0;
+ sgetc(i7);
+ r4 = r_g0;
+ r1 = (r1 + 1)|0;
+ r7 = (r4 + -48)|0;
+ if(uint(r7) <uint(10)) //_LBB800_126
+{
+ r6 = (r6 + 1)|0;
+ f1 = 0.10000000000000001;
+_118: while(true){
+ r4 = (r4 + -48)|0;
+ f2 = r4; //fitod r4, f2
+ heap32[(g0)] = r0;
+ f2 = f2*f1;
+ sgetc(i7);
+ r4 = r_g0;
+ f0 = f2+f0;
+ f1 = f1/f3;
+ r6 = (r6 + 1)|0;
+ r7 = (r4 + -48)|0;
+if(!(uint(r7) <uint(10))) //_LBB800_127
+{
+break _114;
+}
+}
+}
+else{
+ r6 = (r6 + 1)|0;
+}
+}
+} while(0);
+ if(r1 ==r6) //_LBB800_73
+{
+__label__ = 172;
+break _1;
+}
+else{
+ r1 = r4 | 32;
+_123: do {
+ if(r1 ==101) //_LBB800_131
+{
+ heap32[(g0)] = r0;
+ sgetc(i7);
+ r1 = r_g0;
+ if(r1 ==45) //_LBB800_135
+{
+ heap32[(g0)] = r0;
+ f1 = 0.10000000000000001;
+ sgetc(i7);
+ r4 = r_g0;
+}
+else{
+ if(r1 ==43) //_LBB800_136
+{
+ heap32[(g0)] = r0;
+ f1 = 10;
+ sgetc(i7);
+ r4 = r_g0;
+}
+else{
+ if(r1 !=-1) //_LBB800_137
+{
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ f0 = 0;
+ sputc(i7);
+ r1 = r6;
+break _123;
+}
+else{
+ r1 = (r6 + 1)|0;
+ f0 = 0;
+break _123;
+}
+}
+}
+ r7 = (r6 + 2)|0;
+ r1 = (r4 + -48)|0;
+_135: do {
+ if(uint(r1) <uint(10)) //_LBB800_140
+{
+ r1 = (r6 + 2)|0;
+ r6 = 0;
+_137: while(true){
+ r6 = (r6 * 10)|0;
+ heap32[(g0)] = r0;
+ r6 = (r4 + r6)|0;
+ sgetc(i7);
+ r4 = r_g0;
+ r6 = (r6 + -48)|0;
+ r1 = (r1 + 1)|0;
+ r9 = (r4 + -48)|0;
+if(!(uint(r9) <uint(10))) //_LBB800_141
+{
+break _135;
+}
+}
+}
+else{
+ r6 = 0;
+ r1 = r7;
+}
+} while(0);
+ if(r7 ==r1) //_LBB800_73
+{
+__label__ = 172;
+break _1;
+}
+else{
+if(!(r6 ==0)) //_LBB800_145
+{
+__label__ = 130; //SET chanka
+_142: while(true){
+ r6 = (r6 + -1)|0;
+ f0 = f0*f1;
+if(!(r6 !=0)) //_LBB800_146
+{
+break _123;
+}
+}
+}
+}
+}
+else{
+ r1 = r6;
+}
+} while(0);
+ if(r5 !=0) //_LBB800_149
+{
+ f0 = -f0;
+}
+ r5 = r8 & 255;
+ if(r5 !=0) //_LBB800_186
+{
+continue _1;
+}
+else{
+ r5 = sp + -4;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r5 = r_g0;
+ r6 = r10 & 255;
+ if(r6 ==0) //_LBB800_153
+{
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ f0 = f0; //fdtos f0, f0
+ heapFloat[(r5)] = f0;
+}
+else{
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ llvm_writeDouble((r5),f0);
+}
+ r2 = (r2 + 1)|0;
+continue _1;
+}
+}
+break;
+}
+ r3 = r4 << 2;
+ r14 = my_ctype;
+ r3 = (r3 + r14)|0;
+ r15 = heapU8[r3+4];
+ r3 = (r6 + 1)|0;
+ r6 = r15 & 8;
+_155: do {
+if(!(r6 ==0)) //_LBB800_64
+{
+_156: while(true){
+ heap32[(g0)] = r0;
+ sgetc(i7);
+ r4 = r_g0;
+ r6 = r4 << 2;
+ r6 = (r6 + r14)|0;
+ r1 = (r1 + 1)|0;
+ r6 = heapU8[r6+4];
+ r6 = r6 & 8;
+if(!(r6 !=0)) //_LBB800_65
+{
+break _155;
+}
+}
+}
+} while(0);
+ if(r4 ==45) //_LBB800_68
+{
+ heap32[(g0)] = r0;
+ r1 = (r1 + 1)|0;
+ r6 = 1;
+ sgetc(i7);
+ r4 = r_g0;
+}
+else{
+ r6 = 0;
+}
+ if(r4 ==43) //_LBB800_71
+{
+ heap32[(g0)] = r0;
+ r14 = (r1 + 1)|0;
+ sgetc(i7);
+ r4 = r_g0;
+}
+else{
+ r14 = r1;
+}
+ if(r4 !=-1) //_LBB800_74
+{
+ r7 = r7 & 255;
+_168: do {
+ if(r7 ==0) //_LBB800_76
+{
+ if(r13 !=16) //_LBB800_79
+{
+__label__ = 68;
+}
+else{
+ if(r4 !=48) //_LBB800_79
+{
+__label__ = 68;
+}
+else{
+__label__ = 72;
+}
+}
+_172: do {
+if (__label__ == 68){
+if(!(r13 !=0)) //_LBB800_82
+{
+ r7 = 48;
+ r7 = r4 != r7;
+if(!(r7 != 0)) //_LBB800_82
+{
+ r13 = 8;
+break _172;
+}
+}
+ r7 = 10;
+ r13 = r13 != 0 ? r13 : r7;
+ r1 = r14;
+break _168;
+}
+} while(0);
+ heap32[(g0)] = r0;
+ sgetc(i7);
+ r4 = r_g0;
+ r7 = r4 | 32;
+ if(r7 ==120) //_LBB800_85
+{
+ heap32[(g0)] = r0;
+ r1 = (r14 + 2)|0;
+ r13 = 16;
+ sgetc(i7);
+ r4 = r_g0;
+}
+else{
+ r1 = (r14 + 1)|0;
+}
+}
+else{
+ r1 = r14;
+}
+} while(0);
+ r7 = 0;
+ r15 = r7;
+ r16 = r7;
+_184: while(true){
+ if(r5 ==0) //_LBB800_97
+{
+break _184;
+}
+else{
+ if(r4 !=-1) //_LBB800_87
+{
+ r17 = r4 & 255;
+ r18 = r17 | 32;
+ if(uint(r18) <uint(97)) //_LBB800_89
+{
+ r18 = 58;
+ r19 = (r17 + -48)|0;
+ r17 = uint(r17) < uint(r18) ? r19 : r20;
+}
+else{
+ r17 = (r18 + -87)|0;
+}
+ if(uint(r17) >=uint(r13)) //_LBB800_97
+{
+break _184;
+}
+else{
+ heap32[(g0)] = r15;
+ heap32[(g0+1)] = r16;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = r7;
+ __muldi3(i7);
+ r4 = r_g0;
+ r18 = r_g1;
+ r15 = uint(r4) >= uint(r15);
+ r19 = uint(r18) >= uint(r16);
+ r15 = r18 == r16 ? r15 : r19;
+ if(r15 != 0) //_LBB800_93
+{
+ r15 = (r17 + r4)|0;
+ r16 = 1;
+ r17 = uint(r15) < uint(r17) ? r16 : r7;
+ r4 = uint(r15) < uint(r4) ? r16 : r17;
+ r16 = (r18 + r4)|0;
+}
+else{
+ r15 = -1;
+ r16 = r15;
+}
+ heap32[(g0)] = r0;
+ r1 = (r1 + 1)|0;
+ r5 = (r5 + -1)|0;
+ sgetc(i7);
+ r4 = r_g0;
+}
+}
+else{
+break _184;
+}
+}
+}
+ if(r14 ==r1) //_LBB800_73
+{
+__label__ = 172;
+break _1;
+}
+else{
+ r5 = r12 | 32;
+if(!(uint(r5) >uint(111))) //_LBB800_100
+{
+ if(r16 >-1) //_LBB800_101
+{
+ r5 = 1;
+ r12 = (r7 - r16)|0;
+ r5 = r15 != 0 ? r5 : r7;
+ r7 = (r7 - r15)|0;
+ r5 = (r12 - r5)|0;
+ r15 = r6 != 0 ? r7 : r15;
+ r16 = r6 != 0 ? r5 : r16;
+}
+}
+ r5 = r8 & 255;
+ if(r5 !=0) //_LBB800_186
+{
+continue _1;
+}
+else{
+ r5 = r11 & 255;
+ if(r5 ==0) //_LBB800_105
+{
+ r5 = r10 & 255;
+ if(r5 ==0) //_LBB800_107
+{
+ r5 = sp + -4;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r5 = r_g0;
+ r7 = r9 & 255;
+ if(r7 ==0) //_LBB800_109
+{
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ heap32[(r5)] = r15;
+}
+else{
+ r5 = r5 >> 2;
+ r5 = heap32[(r5)];
+ heap16[(r5)>>1] = r15;
+}
+}
+else{
+ r5 = sp + -4;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r5 = r_g0 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ heap32[(r5)] = r15;
+}
+}
+else{
+ r5 = sp + -4;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r5 = r_g0 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ heap32[(r5)] = r15;
+ heap32[(r5+1)] = r16;
+}
+ r5 = uint(r14) < uint(r1);
+ r5 = r5 & 1;
+ r2 = (r5 + r2)|0;
+continue _1;
+}
+}
+}
+else{
+__label__ = 172;
+break _1;
+}
+}
+else{
+__label__ = 165;
+}
+}
+}
+else{
+ if(r5 ==0) //_LBB800_6
+{
+__label__ = 6;
+break _1;
+}
+else{
+ r7 = (r5 + -9)|0;
+ if(uint(r7) <uint(5)) //_LBB800_7
+{
+__label__ = 7;
+}
+else{
+__label__ = 165;
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 7:
+ r3 = (r3 + 1)|0;
+_218: while(true){
+ r5 = heapU8[r3];
+ if(r5 ==0) //_LBB800_13
+{
+break _218;
+}
+else{
+ r5 = r5 << 24;
+ r5 = r5 >> 24;
+ r5 = r5 << 2;
+ r6 = my_ctype;
+ r5 = (r5 + r6)|0;
+ r5 = heapU8[r5+4];
+ r5 = r5 & 8;
+ if(r5 ==0) //_LBB800_13
+{
+break _218;
+}
+else{
+ r3 = (r3 + 1)|0;
+}
+}
+}
+ r6 = r4 << 2;
+ r5 = my_ctype;
+ r6 = (r6 + r5)|0;
+ r6 = heapU8[r6+4];
+ r6 = r6 & 8;
+ if(r6 ==0) //_LBB800_186
+{
+continue _1;
+}
+else{
+__label__ = 12; //SET chanka
+_223: while(true){
+ heap32[(g0)] = r0;
+ sgetc(i7);
+ r4 = r_g0;
+ r6 = r4 << 2;
+ r6 = (r6 + r5)|0;
+ r1 = (r1 + 1)|0;
+ r6 = heapU8[r6+4];
+ r6 = r6 & 8;
+ if(r6 ==0) //_LBB800_186
+{
+continue _1;
+}
+}
+}
+break;
+case 165:
+ r3 = r4 & 255;
+ if(r3 !=r5) //_LBB800_187
+{
+__label__ = 168;
+break _1;
+}
+else{
+ heap32[(g0)] = r0;
+ r1 = (r1 + 1)|0;
+ sgetc(i7);
+ r4 = r_g0;
+ r3 = r6;
+continue _1;
+}
+break;
+}
+}
+else{
+__label__ = 168;
+break _1;
+}
+}
+_227: do {
+switch(__label__ ){//multiple entries
+case 168:
+if(!(r4 >-1)) //_LBB800_190
+{
+if(!(r2 !=0)) //_LBB800_190
+{
+ r2 = -1;
+break _227;
+}
+}
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r0;
+ sputc(i7);
+break;
+case 6:
+ r2 = 0;
+break;
+}
+} while(0);
+ r_g0 = r2;
+ return;
+}
+
+function __v_printf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+ var f0;
+ var f1;
+var __label__ = 0;
+ i7 = sp + -184;var g0 = i7>>2; // save stack
+ r0 = sp + -136;
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+1)];
+ r0 = (r0 + 1)|0;
+ heap32[(fp+-1)] = r1;
+ heap32[(fp+-2)] = 0;
+_1: while(true){
+ r4 = heapU8[r3];
+ if(r4 ==0) //_LBB801_209
+{
+__label__ = 197;
+break _1;
+}
+else{
+ r1 = 0;
+ r5 = r4;
+_4: while(true){
+ r5 = r5 & 255;
+ if(r5 ==0) //_LBB801_4
+{
+break _4;
+}
+else{
+ if(r5 !=37) //_LBB801_1
+{
+ r5 = (r3 - r1)|0;
+ r5 = heapU8[r5+1];
+ r1 = (r1 + -1)|0;
+}
+else{
+break _4;
+}
+}
+}
+ r5 = 0;
+ if(r1 !=0) //_LBB801_6
+{
+ r4 = (r5 - r1)|0;
+ if(r4 <0) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r6 = heap32[(fp+-2)];
+ r7 = (r6 - r1)|0;
+ if(uint(r7) <uint(r6)) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r6 = (r3 - r1)|0;
+ r7 = r2 >> 2;
+ r8 = heap32[(r7+1)];
+ r7 = heap32[(r7)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r7;
+ __FUNCTION_TABLE__[(r8)>>2](i7);
+ r4 = heap32[(fp+-2)];
+ r4 = (r4 - r1)|0;
+ r1 = (r3 - r1)|0;
+ heap32[(fp+-2)] = r4;
+ r4 = heapU8[r1];
+ r3 = r6;
+}
+}
+}
+ r1 = r4 & 255;
+ if(r1 !=37) //_LBB801_207
+{
+continue _1;
+}
+else{
+ r3 = (r3 + 1)|0;
+ r1 = 32;
+ r4 = r5;
+ r6 = r5;
+ r7 = r5;
+ r8 = r5;
+ r9 = r5;
+ r10 = r5;
+ r11 = r5;
+_15: while(true){
+ r12 = r4;
+ r13 = r3;
+ r14 = heapU8[r13];
+ r3 = (r13 + 1)|0;
+ heap8[sp+-145] = r14;
+_17: do {
+ if(r14 >99) //_LBB801_29
+{
+ if(r14 >110) //_LBB801_37
+{
+ if(r14 >114) //_LBB801_41
+{
+ if(r14 >119) //_LBB801_44
+{
+ if(r14 ==122) //_LBB801_47
+{
+__label__ = 50;
+break _17;
+}
+else{
+__label__ = 44;
+break _15;
+}
+}
+else{
+__label__ = 41;
+break _15;
+}
+}
+else{
+ if(r14 ==111) //_LBB801_105
+{
+__label__ = 99;
+break _15;
+}
+else{
+ if(r14 ==112) //_LBB801_97
+{
+__label__ = 91;
+break _15;
+}
+else{
+ if(r14 ==113) //_LBB801_53
+{
+__label__ = 49;
+break _17;
+}
+else{
+continue _1;
+}
+}
+}
+}
+}
+else{
+ if(r14 >104) //_LBB801_34
+{
+ if(r14 ==105) //_LBB801_108
+{
+__label__ = 102;
+break _15;
+}
+else{
+ if(r14 ==106) //_LBB801_53
+{
+__label__ = 49;
+break _17;
+}
+else{
+ if(r14 ==108) //_LBB801_47
+{
+__label__ = 50;
+break _17;
+}
+else{
+continue _1;
+}
+}
+}
+}
+else{
+ if(r14 ==100) //_LBB801_108
+{
+__label__ = 102;
+break _15;
+}
+else{
+ r4 = (r14 + -102)|0;
+ if(uint(r4) <uint(2)) //_LBB801_135
+{
+__label__ = 129;
+break _15;
+}
+else{
+ if(r14 ==104) //_LBB801_48
+{
+__label__ = 48;
+break _17;
+}
+else{
+continue _1;
+}
+}
+}
+}
+}
+}
+else{
+ if(r14 >44) //_LBB801_20
+{
+ if(r14 >75) //_LBB801_24
+{
+ if(r14 >97) //_LBB801_27
+{
+__label__ = 26;
+break _15;
+}
+else{
+ if(r14 ==76) //_LBB801_53
+{
+__label__ = 49;
+break _17;
+}
+else{
+__label__ = 25;
+break _15;
+}
+}
+}
+else{
+ r4 = 1;
+ if(r14 ==45) //_LBB801_11
+{
+continue _15;
+}
+else{
+ if(r14 ==46) //_LBB801_61
+{
+ r4 = heapU8[r3];
+ if(r4 !=42) //_LBB801_63
+{
+ r4 = sp + -144;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ strtol(i7);
+ r14 = 0;
+ r11 = r_g0 < 0 ? r14 : r_g0;
+ r3 = heap32[(fp+-36)];
+}
+else{
+ r4 = sp + -4;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r4 = r_g0 >> 2;
+ r4 = heap32[(r4)];
+ r14 = 0;
+ r11 = r4 < 0 ? r14 : r4;
+ r3 = (r13 + 2)|0;
+}
+ r8 = 1;
+ r4 = r12;
+ if(uint(r11) >uint(10240)) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+continue _15;
+}
+}
+else{
+ r4 = (r14 + -48)|0;
+ if(uint(r4) <uint(10)) //_LBB801_57
+{
+ r4 = r8 & 255;
+ if(r4 !=0) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r4 = sp + -144;
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r4;
+ strtoul(i7);
+ r10 = r_g0;
+ if(uint(r10) >uint(10240)) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r8 = 0;
+ r4 = r12 & 255;
+ r13 = heapU8[sp+-145];
+ r14 = 48;
+ r13 = r13 == r14;
+ r4 = r4 == r8;
+ r4 = r13 & r4;
+ r1 = r4 != 0 ? r14 : r1;
+ r3 = heap32[(fp+-36)];
+ r4 = r12;
+continue _15;
+}
+}
+}
+else{
+continue _1;
+}
+}
+}
+}
+}
+else{
+ if(r14 >36) //_LBB801_17
+{
+ if(r14 ==37) //_LBB801_66
+{
+__label__ = 62;
+break _15;
+}
+else{
+ if(r14 ==42) //_LBB801_60
+{
+ r4 = sp + -4;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r4 = r_g0 >> 2;
+ r4 = heap32[(r4)];
+ r13 = r4 >> 31;
+ r14 = (r4 + r13)|0;
+ r15 = 1;
+ r10 = r14 ^ r13;
+ r4 = r4 < 0 ? r15 : r12;
+ if(uint(r10) >uint(10240)) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+continue _15;
+}
+}
+else{
+ if(r14 ==43) //_LBB801_56
+{
+ r7 = 1;
+ r4 = r12;
+continue _15;
+}
+else{
+continue _1;
+}
+}
+}
+}
+else{
+ if(r14 ==0) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ if(r14 ==32) //_LBB801_55
+{
+ r6 = 1;
+ r4 = r12;
+continue _15;
+}
+else{
+ if(r14 ==35) //_LBB801_51
+{
+ r5 = 255;
+__label__ = 48;
+}
+else{
+continue _1;
+}
+}
+}
+}
+}
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 49:
+ r9 = (r9 + 1)|0;
+break;
+case 48:
+ r9 = (r9 + -1)|0;
+ r4 = r12;
+continue _15;
+break;
+}
+ r9 = (r9 + 1)|0;
+ r4 = r12;
+}
+_71: do {
+switch(__label__ ){//multiple entries
+case 26:
+ if(r14 ==98) //_LBB801_49
+{
+ r4 = 0;
+ r13 = 2;
+ r14 = r4;
+ r15 = r4;
+__label__ = 104;
+break _71;
+}
+else{
+ if(r14 ==99) //_LBB801_65
+{
+ r1 = sp + -4;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r1 = r_g0 >> 2;
+ r1 = heap32[(r1)];
+ heap8[sp+-145] = r1;
+__label__ = 62;
+break _71;
+}
+else{
+continue _1;
+}
+}
+break;
+case 25:
+ if(r14 ==88) //_LBB801_50
+{
+__label__ = 92;
+break _71;
+}
+else{
+continue _1;
+}
+break;
+case 44:
+ if(r14 !=120) //_LBB801_207
+{
+continue _1;
+}
+else{
+ r4 = 0;
+__label__ = 93;
+break _71;
+}
+break;
+case 41:
+ if(r14 ==115) //_LBB801_68
+{
+ r1 = sp + -4;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r1 = r_g0 >> 2;
+ r4 = _2E_str38684;
+ r1 = heap32[(r1)];
+ r1 = r1 == 0 ? r4 : r1;
+ heap32[(fp+-36)] = r1;
+ r4 = heapU8[r1];
+_83: do {
+ if(r4 !=0) //_LBB801_70
+{
+ r4 = (r1 + 1)|0;
+ r14 = 0;
+_85: while(true){
+ r1 = (r14 + 1)|0;
+ r6 = heapU8[r4+r14];
+ r14 = r1;
+if(!(r6 !=0)) //_LBB801_71
+{
+break _83;
+}
+}
+}
+else{
+ r1 = 0;
+}
+} while(0);
+ r16 = 0;
+ r4 = r8 & 255;
+ r4 = r4 != r16;
+ r14 = uint(r1) > uint(r11);
+ r4 = r4 & r14;
+ r14 = 32;
+ r4 = r4 != 0 ? r11 : r1;
+ r1 = r14;
+ r8 = r16;
+ r11 = r16;
+__label__ = 69;
+break _71;
+}
+else{
+ if(r14 ==117) //_LBB801_109
+{
+ r4 = 0;
+ r13 = 10;
+ r14 = r4;
+ r15 = r4;
+__label__ = 104;
+break _71;
+}
+else{
+continue _1;
+}
+}
+break;
+case 99:
+ r4 = r5 & 255;
+ if(r4 !=0) //_LBB801_107
+{
+ r5 = 1;
+ r4 = 0;
+ r13 = 8;
+ r14 = 48;
+ heap8[sp+-135] = r14;
+ r14 = r4;
+ r15 = r5;
+__label__ = 104;
+break _71;
+}
+else{
+ r4 = 0;
+ r13 = 8;
+ r14 = r4;
+ r5 = r4;
+ r15 = r4;
+__label__ = 104;
+break _71;
+}
+break;
+case 91:
+ r14 = 120;
+ r5 = 2;
+ r9 = 1;
+ heap8[sp+-145] = r14;
+__label__ = 92;
+break _71;
+break;
+case 102:
+ r4 = 0;
+ r14 = 1;
+ r13 = 10;
+ r15 = r4;
+__label__ = 104;
+break _71;
+break;
+case 129:
+ r4 = sp + -4;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 8;
+ my_arg_test(i7);
+ f0 = llvm_readDouble((r_g0));
+ heap32[(fp+-36)] = r0;
+ r4 = 103;
+ r4 = r14 == r4;
+ r8 = r8 & 255;
+ r16 = 1;
+ r9 = 6;
+ r10 = r10 == 0 ? r16 : r10;
+ r11 = r8 == 0 ? r9 : r11;
+ r4 = r4 & 1;
+ f1 = 0;
+ r9 = r7 & 255;
+ r13 = 0;
+ llvm_writeDouble((i7),f0);
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = 127;
+ heap32[(g0+4)] = r10;
+ heap32[(g0+5)] = r11;
+ heap32[(g0+6)] = r4;
+ r4 = r9 != r13;
+ r16 = f0 < f1;
+ r4 = r4 | r16;
+ r16 = r4 & 1;
+ __dtostr(i7);
+ r4 = r_g0;
+_98: do {
+ if(r8 !=0) //_LBB801_137
+{
+ r8 = heap32[(fp+-36)];
+ r15 = r13;
+_100: while(true){
+ r17 = heapU8[r8+r13];
+ if(r17 ==0) //_LBB801_161
+{
+__label__ = 151;
+break _100;
+}
+else{
+ r18 = (r8 + r13)|0;
+ if(r17 ==46) //_LBB801_149
+{
+__label__ = 142;
+break _100;
+}
+else{
+ r17 = heapU8[r18+1];
+ if(r17 ==0) //_LBB801_161
+{
+__label__ = 151;
+break _100;
+}
+else{
+ r19 = r15 << 2;
+ if(r17 !=46) //_LBB801_143
+{
+ r17 = heapU8[r18+2];
+ if(r17 ==0) //_LBB801_161
+{
+__label__ = 151;
+break _100;
+}
+else{
+ if(r17 !=46) //_LBB801_146
+{
+ r17 = heapU8[r18+3];
+ if(r17 ==0) //_LBB801_161
+{
+__label__ = 151;
+break _100;
+}
+else{
+ if(r17 ==46) //_LBB801_151
+{
+__label__ = 143;
+break _100;
+}
+else{
+ r15 = (r15 + 1)|0;
+ r13 = (r13 + 4)|0;
+}
+}
+}
+else{
+__label__ = 138;
+break _100;
+}
+}
+}
+else{
+__label__ = 135;
+break _100;
+}
+}
+}
+}
+}
+_110: do {
+switch(__label__ ){//multiple entries
+case 142:
+ if(r18 ==0) //_LBB801_161
+{
+__label__ = 151;
+break _110;
+}
+else{
+__label__ = 144;
+break _110;
+}
+break;
+case 143:
+ r18 = (r18 + 3)|0;
+__label__ = 144;
+break _110;
+break;
+case 138:
+ r4 = r19 | 2;
+ r18 = (r8 + r4)|0;
+__label__ = 144;
+break _110;
+break;
+case 135:
+ r4 = r19 | 1;
+ r18 = (r8 + r4)|0;
+__label__ = 144;
+break;
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 151:
+ r5 = r5 & 255;
+ if(r5 ==0) //_LBB801_136
+{
+break _98;
+}
+else{
+ r5 = 46;
+ heap8[r8+r4] = r5;
+ r5 = heap32[(fp+-36)];
+ r4 = (r4 + r5)|0;
+ r5 = 0;
+ heap8[r4+1] = r5;
+}
+break;
+case 144:
+ if(r11 !=0) //_LBB801_155
+{
+__label__ = 146;
+}
+else{
+ r4 = r5 & 255;
+ if(r4 !=0) //_LBB801_155
+{
+__label__ = 146;
+}
+else{
+__label__ = 147;
+}
+}
+if (__label__ == 146){
+ r18 = (r18 + 1)|0;
+}
+_123: while(true){
+ r4 = r11;
+ if(r4 !=0) //_LBB801_158
+{
+ r11 = (r4 + -1)|0;
+ r5 = (r18 + 1)|0;
+ r8 = heapU8[r18+1];
+ r18 = r5;
+ if(r8 !=0) //_LBB801_156
+{
+__label__ = 147;
+}
+else{
+__label__ = 149;
+break _123;
+}
+}
+else{
+__label__ = 150;
+break _123;
+}
+}
+if (__label__ == 149){
+ r18 = r5;
+}
+ r5 = 0;
+ heap8[r18] = r5;
+ r11 = r4;
+break;
+}
+}
+} while(0);
+_130: do {
+if(!(r14 !=103)) //_LBB801_199
+{
+ r4 = heap32[(fp+-36)];
+ r5 = 0;
+ r8 = r5;
+_132: while(true){
+ r14 = heapU8[r4+r5];
+ if(r14 ==0) //_LBB801_199
+{
+break _130;
+}
+else{
+ r13 = (r4 + r5)|0;
+ if(r14 ==46) //_LBB801_176
+{
+__label__ = 166;
+break _132;
+}
+else{
+ r14 = heapU8[r13+1];
+ if(r14 ==0) //_LBB801_199
+{
+break _130;
+}
+else{
+ r15 = r8 << 2;
+ if(r14 !=46) //_LBB801_170
+{
+ r14 = heapU8[r13+2];
+ if(r14 ==0) //_LBB801_199
+{
+break _130;
+}
+else{
+ if(r14 !=46) //_LBB801_173
+{
+ r14 = heapU8[r13+3];
+ if(r14 ==0) //_LBB801_199
+{
+break _130;
+}
+else{
+ if(r14 ==46) //_LBB801_178
+{
+__label__ = 167;
+break _132;
+}
+else{
+ r8 = (r8 + 1)|0;
+ r5 = (r5 + 4)|0;
+}
+}
+}
+else{
+__label__ = 162;
+break _132;
+}
+}
+}
+else{
+__label__ = 159;
+break _132;
+}
+}
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 166:
+ if(r13 ==0) //_LBB801_199
+{
+break _130;
+}
+break;
+case 167:
+ r13 = (r13 + 3)|0;
+break;
+case 162:
+ r5 = r15 | 2;
+ r13 = (r4 + r5)|0;
+break;
+case 159:
+ r5 = r15 | 1;
+ r13 = (r4 + r5)|0;
+break;
+}
+ r4 = 0;
+ r5 = r13;
+_148: while(true){
+ r8 = heapU8[r5];
+ if(r8 !=101) //_LBB801_182
+{
+ if(r8 !=0) //_LBB801_184
+{
+ r8 = r4 << 2;
+ r14 = heapU8[r5+1];
+ if(r14 !=101) //_LBB801_186
+{
+ if(r14 ==0) //_LBB801_183
+{
+__label__ = 171;
+break _148;
+}
+else{
+ r14 = heapU8[r5+2];
+ if(r14 !=101) //_LBB801_189
+{
+ if(r14 ==0) //_LBB801_183
+{
+__label__ = 171;
+break _148;
+}
+else{
+ r14 = heapU8[r5+3];
+ if(r14 !=101) //_LBB801_192
+{
+ if(r14 ==0) //_LBB801_183
+{
+__label__ = 171;
+break _148;
+}
+else{
+ r4 = (r4 + 1)|0;
+ r5 = (r5 + 4)|0;
+}
+}
+else{
+__label__ = 179;
+break _148;
+}
+}
+}
+else{
+__label__ = 176;
+break _148;
+}
+}
+}
+else{
+__label__ = 173;
+break _148;
+}
+}
+else{
+__label__ = 171;
+break _148;
+}
+}
+else{
+__label__ = 182;
+break _148;
+}
+}
+switch(__label__ ){//multiple entries
+case 171:
+ r5 = 0;
+break;
+case 179:
+ r4 = r8 | 3;
+ r5 = (r13 + r4)|0;
+break;
+case 176:
+ r4 = r8 | 2;
+ r5 = (r13 + r4)|0;
+break;
+case 173:
+ r4 = r8 | 1;
+ r5 = (r13 + r4)|0;
+break;
+}
+_163: while(true){
+ r4 = (r13 + 1)|0;
+ r8 = heapU8[r13+1];
+ r13 = r4;
+if(!(r8 !=0)) //_LBB801_194
+{
+break _163;
+}
+}
+ r4 = r5 == 0 ? r4 : r5;
+_166: while(true){
+ r8 = heapU8[r4+-1];
+ r4 = (r4 + -1)|0;
+if(!(r8 ==48)) //_LBB801_196
+{
+break _166;
+}
+}
+ r14 = (r4 + 1)|0;
+ r4 = r8 == 46 ? r4 : r14;
+ r8 = 0;
+ heap8[r4] = r8;
+if(!(r5 ==0)) //_LBB801_199
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ strcpy(i7);
+}
+}
+} while(0);
+ r4 = r7 | r6;
+ r4 = r4 & 255;
+if(!(r4 ==0)) //_LBB801_202
+{
+if(!(f0 <f1)) //_LBB801_202
+{
+ r4 = heap32[(fp+-36)];
+ r5 = (r4 + -1)|0;
+ r8 = 32;
+ r14 = 43;
+ r8 = r9 == 0 ? r8 : r14;
+ heap32[(fp+-36)] = r5;
+ heap8[r4+-1] = r8;
+}
+}
+ r4 = heap32[(fp+-36)];
+ r5 = heapU8[r4];
+_175: do {
+ if(r5 !=0) //_LBB801_204
+{
+ r5 = (r4 + 1)|0;
+ r8 = 0;
+_177: while(true){
+ r4 = (r8 + 1)|0;
+ r14 = heapU8[r5+r8];
+ r8 = r4;
+if(!(r14 !=0)) //_LBB801_205
+{
+break _175;
+}
+}
+}
+else{
+ r4 = 0;
+}
+} while(0);
+ r10 = uint(r10) < uint(r4) ? r4 : r10;
+ r14 = 48;
+ r5 = 0;
+ r8 = r5;
+__label__ = 69;
+break;
+}
+} while(0);
+switch(__label__ ){//multiple entries
+case 62:
+ r1 = heap32[(fp+-2)];
+ if(r1 ==-1) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r1 = r2 >> 2;
+ r4 = heap32[(r1+1)];
+ r1 = heap32[(r1)];
+ r5 = sp + -145;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = 1;
+ heap32[(g0+2)] = r1;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r1 = heap32[(fp+-2)];
+ r1 = (r1 + 1)|0;
+ heap32[(fp+-2)] = r1;
+continue _1;
+}
+break;
+case 92:
+ r4 = r14 & 255;
+ r13 = 88;
+ r4 = r4 == r13;
+ r4 = r4 & 1;
+__label__ = 93;
+break;
+}
+if (__label__ == 93){
+ r5 = r5 & 255;
+ if(r5 !=0) //_LBB801_101
+{
+ r13 = 48;
+ r5 = 2;
+ heap8[sp+-135] = r13;
+ heap8[sp+-134] = r14;
+ r15 = r5;
+}
+else{
+ r5 = 0;
+ r15 = r5;
+}
+ if(uint(r11) >uint(r10)) //_LBB801_104
+{
+ r14 = 0;
+ r13 = 16;
+ r10 = r11;
+__label__ = 104;
+}
+else{
+ r14 = 0;
+ r13 = 16;
+__label__ = 104;
+}
+}
+_194: do {
+if (__label__ == 104){
+ heap32[(fp+-36)] = r0;
+ r16 = sp + -4;
+ heap32[(g0)] = r16;
+ heap32[(g0+1)] = 4;
+ my_arg_test(i7);
+ r17 = r_g0 >> 2;
+ r18 = r14 & 255;
+ r16 = 0;
+ r17 = heap32[(r17)];
+ r18 = r18 != r16;
+ r19 = r17 < r16;
+ r20 = (r16 - r17)|0;
+ r18 = r18 & r19;
+ r9 = r9 << 24;
+ r17 = r18 != 0 ? r20 : r17;
+ r9 = r9 >> 24;
+ r19 = r17 & 65535;
+ r17 = r9 < 0 ? r19 : r17;
+ r19 = heap32[(fp+-36)];
+ r20 = r17 & 255;
+ r21 = 2;
+ r9 = r9 < -1 ? r20 : r17;
+ r17 = r18 != 0 ? r21 : r14;
+ r14 = (r19 + r15)|0;
+ heap8[r14+122] = r16;
+ if(r9 !=0) //_LBB801_112
+{
+ r18 = (r13 + -1)|0;
+ r19 = 35;
+ r20 = 10;
+ r18 = uint(r18) > uint(r19) ? r20 : r13;
+ r4 = r4 & 255;
+ r13 = 39;
+ r19 = 7;
+ r4 = r4 == 0 ? r13 : r19;
+ r19 = (r15 + 121)|0;
+ r20 = -122;
+_198: while(true){
+ r13 = Math.floor(uint(r9) % uint(r18));
+ r13 = (r13 + 48)|0;
+ r22 = r13 & 255;
+ r23 = 57;
+ r22 = uint(r22) > uint(r23) ? r4 : r16;
+ r23 = (r20 + 1)|0;
+ r13 = (r13 + r22)|0;
+ r20 = (r14 - r20)|0;
+ heap8[r20+-1] = r13;
+ if(r19 <=r15) //_LBB801_115
+{
+break _198;
+}
+else{
+ r9 = Math.floor(uint(r9) /uint(r18));
+ r19 = (r19 + -1)|0;
+ r20 = r23;
+if(!(r9 !=0)) //_LBB801_113
+{
+break _198;
+}
+}
+}
+ r18 = (r23 + 122)|0;
+ r9 = (r14 - r23)|0;
+}
+else{
+ r4 = (r15 + r19)|0;
+ r13 = 48;
+ r9 = (r4 + 121)|0;
+ r18 = 1;
+ heap8[r4+121] = r13;
+}
+_204: do {
+if(!(r9 ==r14)) //_LBB801_125
+{
+ if(uint(r9) <=uint(r14)) //_LBB801_122
+{
+if(!(r18 ==-1)) //_LBB801_125
+{
+ r4 = (r16 - r18)|0;
+_209: while(true){
+ r13 = r4;
+ r19 = (r9 - r13)|0;
+ r4 = (r13 + 1)|0;
+ r20 = (r14 - r13)|0;
+ r19 = heapU8[r19];
+ heap8[r20] = r19;
+if(!(r13 !=0)) //_LBB801_124
+{
+break _204;
+}
+}
+}
+}
+else{
+if(!(r18 ==-1)) //_LBB801_125
+{
+ r4 = (r9 + 1)|0;
+ r9 = r18;
+_213: while(true){
+ heap8[r14] = r13;
+ if(r9 ==0) //_LBB801_125
+{
+break _204;
+}
+else{
+ r13 = heapU8[r4];
+ r4 = (r4 + 1)|0;
+ r9 = (r9 + -1)|0;
+ r14 = (r14 + 1)|0;
+}
+}
+}
+}
+}
+} while(0);
+ r4 = 1;
+ r4 = r18 != r4;
+ r4 = r4 & 1;
+ r14 = r8 ^ 1;
+ r4 = r4 | r14;
+ r4 = r4 & 255;
+ if(r4 !=0) //_LBB801_128
+{
+__label__ = 122;
+}
+else{
+ r4 = heap32[(fp+-36)];
+ r4 = heapU8[r4+r15];
+ if(r4 !=48) //_LBB801_128
+{
+__label__ = 122;
+}
+else{
+ r4 = r5 << 24;
+ r5 = 0;
+ r4 = r4 >> 24;
+ r14 = r11 == r5;
+ r4 = r4 > r5;
+ r4 = r14 | r4;
+ r4 = r4 != 0 ? r5 : r15;
+__label__ = 123;
+}
+}
+if (__label__ == 122){
+ r4 = (r18 + r15)|0;
+}
+ r14 = r17 & 255;
+ if(r14 ==2) //_LBB801_132
+{
+ r6 = heap32[(fp+-36)];
+ r7 = (r6 + -1)|0;
+ r4 = (r4 + 1)|0;
+ r14 = 48;
+ r16 = 45;
+ heap32[(fp+-36)] = r7;
+ heap8[r6+-1] = r16;
+ r16 = r21;
+}
+else{
+ if(r14 !=0) //_LBB801_133
+{
+ r14 = r7 | r6;
+ r14 = r14 & 255;
+if(!(r14 ==0)) //_LBB801_131
+{
+ r6 = heap32[(fp+-36)];
+ r16 = (r6 + -1)|0;
+ r7 = r7 & 255;
+ r9 = 32;
+ r13 = 43;
+ r4 = (r4 + 1)|0;
+ r14 = 48;
+ r7 = r7 == 0 ? r9 : r13;
+ heap32[(fp+-36)] = r16;
+ heap8[r6+-1] = r7;
+ r16 = r17;
+break _194;
+}
+}
+ r14 = 48;
+}
+}
+} while(0);
+ r6 = heap32[(fp+-36)];
+ r7 = r11 | r10;
+ if(r7 !=0) //_LBB801_77
+{
+ r7 = 0;
+ r5 = r5 << 24;
+ r5 = r5 >> 24;
+ if(r5 <1) //_LBB801_79
+{
+ r9 = r16 & 255;
+ r5 = r9 != r7;
+ r5 = r5 & 1;
+ if(r9 !=0) //_LBB801_81
+{
+__label__ = 75;
+}
+else{
+__label__ = 76;
+}
+}
+else{
+__label__ = 75;
+}
+if (__label__ == 75){
+ r4 = (r4 - r5)|0;
+ r10 = (r10 - r5)|0;
+ r9 = (r6 + r5)|0;
+ heap32[(fp+-36)] = r9;
+}
+ r8 = r8 & 255;
+ r9 = r8 != r7;
+ r7 = r10 == r7;
+ r7 = r9 & r7;
+ r7 = r7 != 0 ? r11 : r10;
+ r8 = r8 == 0 ? r4 : r11;
+ r9 = r12 & 255;
+if(!(r9 !=0)) //_LBB801_85
+{
+ r10 = r1 & 255;
+if(!(r10 !=32)) //_LBB801_85
+{
+ r11 = sp + -8;
+ r12 = (r7 - r8)|0;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r12;
+ heap32[(g0+3)] = r10;
+ write_pad(i7);
+ r10 = r_g0;
+ if(r10 !=0) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+}
+}
+if(!(r5 ==0)) //_LBB801_89
+{
+ if(r5 <0) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r10 = heap32[(fp+-2)];
+ r11 = (r10 + r5)|0;
+ if(uint(r11) <uint(r10)) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r10 = r2 >> 2;
+ r11 = heap32[(r10+1)];
+ r10 = heap32[(r10)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r10;
+ __FUNCTION_TABLE__[(r11)>>2](i7);
+ r6 = heap32[(fp+-2)];
+ r5 = (r6 + r5)|0;
+ heap32[(fp+-2)] = r5;
+}
+}
+}
+if(!(r9 !=0)) //_LBB801_92
+{
+ r5 = r1 & 255;
+if(!(r5 ==32)) //_LBB801_92
+{
+ r6 = sp + -8;
+ r10 = (r7 - r8)|0;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r5;
+ write_pad(i7);
+ r5 = r_g0;
+ if(r5 !=0) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+}
+}
+ r5 = sp + -8;
+ r6 = (r8 - r4)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r14;
+ write_pad(i7);
+ r14 = r_g0;
+ if(r14 !=0) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ if(r4 <0) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r14 = heap32[(fp+-2)];
+ r6 = (r14 + r4)|0;
+ if(uint(r6) <uint(r14)) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r14 = r2 >> 2;
+ r6 = heap32[(r14+1)];
+ r14 = heap32[(r14)];
+ r10 = heap32[(fp+-36)];
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r14;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r14 = heap32[(fp+-2)];
+ r4 = (r14 + r4)|0;
+ heap32[(fp+-2)] = r4;
+ if(r9 ==0) //_LBB801_207
+{
+continue _1;
+}
+else{
+ r4 = (r7 - r8)|0;
+ r14 = r1 & 255;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r14;
+ write_pad(i7);
+ r4 = r_g0;
+ if(r4 ==0) //_LBB801_207
+{
+continue _1;
+}
+else{
+__label__ = 198;
+break _1;
+}
+}
+}
+}
+}
+}
+else{
+ if(r4 <0) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r14 = heap32[(fp+-2)];
+ r1 = (r14 + r4)|0;
+ if(uint(r1) <uint(r14)) //_LBB801_210
+{
+__label__ = 198;
+break _1;
+}
+else{
+ r14 = r2 >> 2;
+ r1 = heap32[(r14+1)];
+ r14 = heap32[(r14)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r14;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r14 = heap32[(fp+-2)];
+ r4 = (r14 + r4)|0;
+ heap32[(fp+-2)] = r4;
+continue _1;
+}
+}
+}
+}
+}
+}
+switch(__label__ ){//multiple entries
+case 197:
+ r0 = heap32[(fp+-2)];
+ r_g0 = r0;
+ return;
+break;
+case 198:
+ r0 = -1;
+ r_g0 = r0;
+ return;
+break;
+}
+}
+
+function fprintf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = sp + -8;
+ r1 = r0 >> 2;
+ r2 = __fwrite__index__;
+ heap32[(fp+-3)] = sp;
+ heap32[(r1+1)] = r2;
+ heap32[(fp+-2)] = 3;
+ r1 = _2E_str3133;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = sp;
+ __v_printf(i7);
+ return;
+}
+
+function vsnprintf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = sp + -16;
+ r1 = heap32[(fp+1)];
+ r2 = r0 >> 2;
+ r3 = heap32[(fp)];
+ heap32[(r2+1)] = 0;
+ r4 = (r1 + -1)|0;
+ r5 = 0;
+ r6 = sp + -24;
+ r7 = r1 == 0 ? r5 : r4;
+ heap32[(fp+-4)] = r3;
+ r8 = r6 >> 2;
+ r9 = swrite__index__;
+ heap32[(r2+2)] = r7;
+ heap32[(r8+1)] = r9;
+ heap32[(fp+-6)] = r0;
+ r0 = heap32[(fp+2)];
+ r2 = heap32[(fp+3)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ __v_printf(i7);
+ r0 = r_g0;
+if(!(r3 ==0)) //_LBB803_7
+{
+if(!(r1 ==0)) //_LBB803_7
+{
+if(!(r0 <0)) //_LBB803_7
+{
+if(!(r1 ==-1)) //_LBB803_6
+{
+if(!(uint(r0) <uint(r1))) //_LBB803_6
+{
+ heap8[r3+r4] = r5;
+ r_g0 = r0;
+ return;
+}
+}
+ heap8[r3+r0] = r5;
+}
+}
+}
+ r_g0 = r0;
+ return;
+}
+
+function sprintf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -48;var g0 = i7>>2; // save stack
+ r0 = (sp + 8)|0;
+ r1 = sp + -16;
+ r2 = r1 >> 2;
+ heap32[(fp+-7)] = r0;
+ r3 = heap32[(fp)];
+ heap32[(r2+1)] = 0;
+ r4 = sp + -24;
+ heap32[(fp+-4)] = r3;
+ r5 = r4 >> 2;
+ r6 = swrite__index__;
+ heap32[(r2+2)] = -2;
+ heap32[(r5+1)] = r6;
+ heap32[(fp+-6)] = r1;
+ r1 = heap32[(fp+1)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r0;
+ __v_printf(i7);
+ r0 = r_g0;
+if(!(r3 ==0)) //_LBB804_3
+{
+if(!(r0 <0)) //_LBB804_3
+{
+ r1 = 0;
+ heap8[r3+r0] = r1;
+}
+}
+ r_g0 = r0;
+ return;
+}
+
+function _ZN12mandreel_b64L11b64_encode_EPKhjPcjjPNS_6B64_RCE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = (r0 + 2)|0;
+ r2 = heap32[(fp+4)];
+ r1 = Math.floor(uint(r1) / uint(3));
+ r3 = heap32[(fp+2)];
+ r1 = r1 << 2;
+ r4 = r2 >> 2;
+ heap32[(r4)] = 0;
+_1: do {
+if(!(r3 ==0)) //_LBB805_20
+{
+ r5 = heap32[(fp+3)];
+ if(uint(r1) <=uint(r5)) //_LBB805_3
+{
+ r4 = heap32[(fp)];
+ if(uint(r0) >uint(2)) //_LBB805_5
+{
+ r5 = (r3 + r5)|0;
+ r6 = 0;
+ r12 = _ZN12mandreel_b64L9b64_charsE;
+_7: while(true){
+ r7 = heapU8[r4];
+ r8 = heapU8[r4+1];
+ r9 = r7 << 4;
+ r10 = heapU8[r4+2];
+ r11 = r8 << 2;
+ r9 = r9 & 48;
+ r8 = r8 >>> 4;
+ r7 = r7 >>> 2;
+ r8 = r9 | r8;
+ r9 = r11 & 60;
+ r11 = r10 >>> 6;
+ r7 = heapU8[r12+r7];
+ r9 = r9 | r11;
+ r8 = heapU8[r12+r8];
+ heap8[r3] = r7;
+ r7 = r10 & 63;
+ r9 = heapU8[r12+r9];
+ heap8[r3+1] = r8;
+ r8 = (r3 + 4)|0;
+ r6 = (r6 + 4)|0;
+ r7 = heapU8[r12+r7];
+ heap8[r3+2] = r9;
+ heap8[r3+3] = r7;
+ if(r8 ==r5) //_LBB805_8
+{
+__label__ = 7;
+}
+else{
+ if(r6 ==0) //_LBB805_9
+{
+ r7 = 13;
+ r8 = (r3 + 6)|0;
+ r6 = 0;
+ r9 = 10;
+ heap8[r3+4] = r7;
+ heap8[r3+5] = r9;
+ r3 = r8;
+__label__ = 9;
+}
+else{
+__label__ = 7;
+}
+}
+if (__label__ == 7){
+ r3 = r8;
+}
+ r0 = (r0 + -3)|0;
+ r4 = (r4 + 3)|0;
+if(!(uint(r0) >uint(2))) //_LBB805_6
+{
+break _7;
+}
+}
+}
+if(!(r0 ==0)) //_LBB805_20
+{
+ r5 = 0;
+_17: while(true){
+ r6 = sp + -3;
+ r7 = (r4 - r5)|0;
+ r8 = (r5 + -1)|0;
+ r5 = (r6 - r5)|0;
+ r7 = heapU8[r7];
+ heap8[r5] = r7;
+ r7 = (r0 + r8)|0;
+ r5 = r8;
+if(!(r7 !=0)) //_LBB805_13
+{
+break _17;
+}
+}
+ if(r0 !=3) //_LBB805_16
+{
+ r4 = 3;
+ r5 = (r4 - r0)|0;
+ r8 = 0;
+_22: while(true){
+ r7 = (r5 + -1)|0;
+ r5 = (r6 - r5)|0;
+ heap8[r5+3] = r8;
+ r5 = r7;
+if(!(r7 !=0)) //_LBB805_17
+{
+break _22;
+}
+}
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = 3;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = 12;
+ heap32[(g0+4)] = r2;
+ r0 = (r4 - r0)|0;
+ _ZN12mandreel_b64L11b64_encode_EPKhjPcjjPNS_6B64_RCE(i7);
+ r4 = 61;
+_25: while(true){
+ r2 = (r0 + -1)|0;
+ r0 = (r3 - r0)|0;
+ heap8[r0+4] = r4;
+ r0 = r2;
+ if(r2 !=0) //_LBB805_19
+{
+continue _25;
+}
+else{
+break _1;
+}
+}
+}
+else{
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = 3;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = 12;
+ heap32[(g0+4)] = r2;
+ _ZN12mandreel_b64L11b64_encode_EPKhjPcjjPNS_6B64_RCE(i7);
+ r_g0 = r1;
+ return;
+}
+}
+}
+else{
+ heap32[(r4)] = 1;
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+}
+} while(0);
+ r_g0 = r1;
+ return;
+}
+
+function _ZN12mandreel_b6410b64_decodeEPKcjPvj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = r0 & 3;
+ r2 = 0;
+ r1 = r1 != r2;
+ r1 = r1 & 1;
+ r3 = r0 >>> 2;
+ r1 = (r1 + r3)|0;
+ r3 = heap32[(fp+2)];
+ r1 = (r1 * 3)|0;
+ if(r3 !=0) //_LBB806_2
+{
+ r4 = heap32[(fp+3)];
+ if(uint(r1) <=uint(r4)) //_LBB806_4
+{
+ r1 = heap32[(fp)];
+ r4 = r3;
+ r5 = r2;
+_5: while(true){
+ if(r0 !=0) //_LBB806_5
+{
+ r6 = heapU8[r1];
+ if(r6 !=61) //_LBB806_7
+{
+ r7 = _ZN12mandreel_b64L11b64_indexesE;
+ r6 = heapU8[r7+r6];
+ if(r6 !=255) //_LBB806_9
+{
+ r5 = 0;
+ r7 = sp + -4;
+ heap8[r7+r2] = r6;
+__label__ = 8;
+}
+else{
+__label__ = 15;
+}
+}
+else{
+ r5 = (r5 + 1)|0;
+ r6 = sp + -4;
+ r7 = 0;
+ heap8[r6+r2] = r7;
+__label__ = 8;
+}
+if (__label__ == 8){
+ r2 = (r2 + 1)|0;
+ if(r2 ==4) //_LBB806_12
+{
+ r2 = heapU8[sp+-3];
+ r6 = heapU8[sp+-4];
+ r2 = r2 >>> 4;
+ r2 = r2 & 3;
+ r6 = r6 << 2;
+ r2 = r2 | r6;
+ heap8[r4] = r2;
+ if(r5 !=2) //_LBB806_14
+{
+ r2 = heapU8[sp+-2];
+ r6 = heapU8[sp+-3];
+ r2 = r2 >>> 2;
+ r2 = r2 & 15;
+ r6 = r6 << 4;
+ r2 = r2 | r6;
+ heap8[r4+1] = r2;
+ if(r5 !=1) //_LBB806_16
+{
+ r2 = heapU8[sp+-2];
+ r7 = heapU8[sp+-1];
+ r2 = r2 << 6;
+ r6 = (r4 + 3)|0;
+ r2 = (r2 + r7)|0;
+ heap8[r4+2] = r2;
+ if(r5 ==0) //_LBB806_18
+{
+ r2 = 0;
+ r4 = r6;
+ r5 = r2;
+}
+else{
+__label__ = 18;
+break _5;
+}
+}
+else{
+__label__ = 12;
+break _5;
+}
+}
+else{
+__label__ = 10;
+break _5;
+}
+}
+}
+ r0 = (r0 + -1)|0;
+ r1 = (r1 + 1)|0;
+}
+else{
+__label__ = 17;
+break _5;
+}
+}
+switch(__label__ ){//multiple entries
+case 17:
+ r6 = r4;
+break;
+case 12:
+ r6 = (r4 + 2)|0;
+break;
+case 10:
+ r6 = (r4 + 1)|0;
+break;
+}
+ r1 = (r6 - r3)|0;
+}
+else{
+ r1 = 0;
+}
+}
+ r_g0 = r1;
+ return;
+}
+
+function __mandreel_internal_SetResolution(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _ZL25s_mandreel_internal_width;
+ r1 = _ZL26s_mandreel_internal_height;
+ r0 = r0 >> 2;
+ r2 = heap32[(fp)];
+ r1 = r1 >> 2;
+ r3 = heap32[(fp+1)];
+ heap32[(r0)] = r2;
+ heap32[(r1)] = r3;
+ return;
+}
+
+function __keyEvent(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function __mouseDoubleClick(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function __mouseMove(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function __resize(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function __mouseButton(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function __mouseWheelDelta(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function iMandreel_TextureAsync_IsCompressed(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+var __label__ = 0;
+ i7 = sp + -1032;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = sp + -1024;
+ r4 = 0;
+_1: while(true){
+ r5 = heapU8[r0];
+ if(r5 ==0) //_LBB814_5
+{
+break _1;
+}
+else{
+ r6 = r5 << 24;
+ r6 = r6 >> 24;
+ r6 = (r6 + -65)|0;
+ r7 = 26;
+ r8 = (r5 + 32)|0;
+ r5 = uint(r6) < uint(r7) ? r8 : r5;
+ r6 = r5 & 255;
+ r7 = 47;
+ r5 = r6 == 92 ? r7 : r5;
+ r0 = (r0 + 1)|0;
+ r6 = r5 & 255;
+if(!(r6 !=47)) //_LBB814_4
+{
+ r6 = r4 & 255;
+ r4 = r5;
+ if(r6 ==47) //_LBB814_1
+{
+continue _1;
+}
+}
+ r4 = (r3 + 1)|0;
+ heap8[r3] = r5;
+ r3 = r4;
+ r4 = r5;
+continue _1;
+}
+}
+ r0 = _ZL24g_pFirstTextureAsyncInfo;
+ r4 = 0;
+ heap8[r3] = r4;
+_8: while(true){
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ if(r0 !=0) //_LBB814_6
+{
+ r3 = sp + -1024;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r3;
+ strcmp(i7);
+ r3 = r_g0;
+ if(r3 !=0) //_LBB814_8
+{
+ r0 = (r0 + 280)|0;
+continue _8;
+}
+else{
+__label__ = 7;
+break _8;
+}
+}
+else{
+__label__ = 10;
+break _8;
+}
+}
+switch(__label__ ){//multiple entries
+case 10:
+ r0 = -1;
+ r_g0 = r0;
+ return;
+break;
+case 7:
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r3 = heap32[(r0+65)];
+ heap32[(r1)] = r3;
+ r1 = r2 >> 2;
+ r2 = heap32[(r0+66)];
+ heap32[(r1)] = r2;
+ r0 = heap32[(r0+67)];
+ r_g0 = r0;
+ return;
+break;
+}
+}
+
+function iMandreel_TextureAsync_GetPackOffset(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+var __label__ = 0;
+ i7 = sp + -1032;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+3)];
+ r4 = sp + -1024;
+ r5 = 0;
+_1: while(true){
+ r6 = heapU8[r0];
+ if(r6 ==0) //_LBB815_5
+{
+break _1;
+}
+else{
+ r7 = r6 << 24;
+ r7 = r7 >> 24;
+ r7 = (r7 + -65)|0;
+ r8 = 26;
+ r9 = (r6 + 32)|0;
+ r6 = uint(r7) < uint(r8) ? r9 : r6;
+ r7 = r6 & 255;
+ r8 = 47;
+ r6 = r7 == 92 ? r8 : r6;
+ r0 = (r0 + 1)|0;
+ r7 = r6 & 255;
+if(!(r7 !=47)) //_LBB815_4
+{
+ r7 = r5 & 255;
+ r5 = r6;
+ if(r7 ==47) //_LBB815_1
+{
+continue _1;
+}
+}
+ r5 = (r4 + 1)|0;
+ heap8[r4] = r6;
+ r4 = r5;
+ r5 = r6;
+continue _1;
+}
+}
+ r0 = _ZL24g_pFirstTextureAsyncInfo;
+ r5 = 0;
+ heap8[r4] = r5;
+_8: while(true){
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ if(r0 !=0) //_LBB815_6
+{
+ r4 = sp + -1024;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ strcmp(i7);
+ r4 = r_g0;
+if(!(r4 !=0)) //_LBB815_9
+{
+ r4 = r0 >> 2;
+ r5 = heap32[(r4+64)];
+if(!(r5 ==-1)) //_LBB815_9
+{
+__label__ = 8;
+break _8;
+}
+}
+ r0 = (r0 + 280)|0;
+continue _8;
+}
+else{
+__label__ = 11;
+break _8;
+}
+}
+switch(__label__ ){//multiple entries
+case 11:
+ r0 = 0;
+ r_g0 = r0;
+ return;
+break;
+case 8:
+ r0 = r1 >> 2;
+ r1 = heap32[(r4+68)];
+ heap32[(r0)] = r1;
+ r0 = r2 >> 2;
+ r1 = heap32[(r4+69)];
+ heap32[(r0)] = r1;
+ r0 = heap32[(r4+64)];
+ r1 = _ZL17g_apPackFileNames;
+ r0 = r0 << 2;
+ r0 = (r1 + r0)|0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ strcpy(i7);
+ r0 = 1;
+ r_g0 = r0;
+ return;
+break;
+}
+}
+
+function _Z31MandreelDefaultDebugMsgCallbackiPKc(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ heap32[(g0)] = r0;
+ __sandbox_OutputDebugString(i7);
+ return;
+}
+
+function printf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -16408;var g0 = i7>>2; // save stack
+ r0 = (sp + 4)|0;
+ heap32[(fp+-4097)] = r0;
+ r1 = sp + -16384;
+ r2 = heap32[(fp)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 16384;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r0;
+ r0 = g_msgcallback;
+ r0 = r0 >> 2;
+ vsnprintf(i7);
+ r0 = heap32[(r0)];
+if(!(r0 ==0)) //_LBB817_2
+{
+ heap32[(g0)] = r1;
+ __sandbox_OutputDebugString(i7);
+}
+ return;
+}
+
+function _printf_error(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -16408;var g0 = i7>>2; // save stack
+ r0 = (sp + 4)|0;
+ heap32[(fp+-4097)] = r0;
+ r1 = sp + -16384;
+ r2 = heap32[(fp)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 16384;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r0;
+ r0 = g_msgcallback;
+ r0 = r0 >> 2;
+ vsnprintf(i7);
+ r0 = heap32[(r0)];
+if(!(r0 ==0)) //_LBB818_2
+{
+ heap32[(g0)] = r1;
+ __sandbox_OutputDebugString(i7);
+}
+ return;
+}
+
+function _printf_warning(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -16408;var g0 = i7>>2; // save stack
+ r0 = (sp + 4)|0;
+ heap32[(fp+-4097)] = r0;
+ r1 = sp + -16384;
+ r2 = heap32[(fp)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 16384;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r0;
+ r0 = g_msgcallback;
+ r0 = r0 >> 2;
+ vsnprintf(i7);
+ r0 = heap32[(r0)];
+if(!(r0 ==0)) //_LBB819_2
+{
+ heap32[(g0)] = r1;
+ __sandbox_OutputDebugString(i7);
+}
+ return;
+}
+
+function __mandreel_internal_preupdate(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = sp + -8;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ r1 = _ZGVZ21Mandreel_GetTickCountE7s_first;
+ gettimeofday(i7);
+ r2 = heapU8[r1];
+if(!(r2 !=0)) //_LBB820_2
+{
+ r2 = heap32[(fp+-2)];
+ r3 = r2 >> 31;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 1000000;
+ heap32[(g0+3)] = 0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ __muldi3(i7);
+ r4 = 1;
+ r5 = (r_g0 + r0)|0;
+ r6 = 0;
+ r7 = r0 >> 31;
+ r2 = uint(r5) < uint(r_g0) ? r4 : r6;
+ r6 = _ZZ21Mandreel_GetTickCountE7s_first;
+ r3 = (r_g1 + r7)|0;
+ r0 = uint(r5) < uint(r0) ? r4 : r2;
+ r2 = r6 >> 2;
+ r0 = (r3 + r0)|0;
+ heap32[(r2)] = r5;
+ heap32[(r2+1)] = r0;
+ heap8[r1] = r4;
+}
+ r0 = _ZZ29__mandreel_internal_preupdateE8s_bfirst_2E_b;
+ r1 = heapU8[r0];
+if(!(r1 != 0)) //_LBB820_4
+{
+ r1 = 1;
+ heap8[r0] = r1;
+}
+ return;
+}
+
+function __mandreel_internal_update(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = -32788;
+_1: while(true){
+ r1 = _ZL10s_aSockets;
+ r1 = (r1 - r0)|0;
+ r2 = heapU8[r1];
+if(!(r2 ==0)) //_LBB821_3
+{
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+-1)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 2048;
+ js_mandreel_flash_tcp_update(i7);
+}
+ r0 = (r0 + -32792)|0;
+ if(r0 !=-295124) //_LBB821_1
+{
+continue _1;
+}
+else{
+break _1;
+}
+}
+ r0 = _ZL7g_bInit_2E_b;
+ r1 = heapU8[r0];
+ if(r1 != 0) //_LBB821_6
+{
+ mandreel_audio_update(i7);
+ r1 = sp + -8;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ gettimeofday(i7);
+ r2 = heap32[(fp+-2)];
+ r3 = r2 >> 31;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 1000000;
+ heap32[(g0+3)] = 0;
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+1)];
+ __muldi3(i7);
+ r4 = (r_g0 + r1)|0;
+ r5 = 1;
+ r6 = 0;
+ r7 = r1 >> 31;
+ r2 = uint(r4) < uint(r_g0) ? r5 : r6;
+ r3 = (r_g1 + r7)|0;
+ r1 = uint(r4) < uint(r1) ? r5 : r2;
+ r1 = (r3 + r1)|0;
+ r2 = _ZGVZ21Mandreel_GetTickCountE7s_first;
+ r3 = heapU8[r2];
+if(!(r3 !=0)) //_LBB821_8
+{
+ r3 = _ZZ21Mandreel_GetTickCountE7s_first;
+ r3 = r3 >> 2;
+ heap32[(r3)] = r4;
+ heap32[(r3+1)] = r1;
+ heap8[r2] = r5;
+}
+ r2 = _ZZ21Mandreel_GetTickCountE7s_first;
+ r2 = r2 >> 2;
+ r3 = heap32[(r2)];
+ r2 = heap32[(r2+1)];
+ r1 = (r1 - r2)|0;
+ r2 = uint(r4) < uint(r3) ? r5 : r6;
+ r3 = (r4 - r3)|0;
+ r1 = (r1 - r2)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 1000;
+ heap32[(g0+3)] = 0;
+ __udivdi3(i7);
+ r1 = r_g0;
+ r2 = _ZL11g_aChannels;
+_12: while(true){
+ if(r6 <32) //_LBB821_9
+{
+ r3 = r2 >> 2;
+ r4 = heap32[(r3+72)];
+if(!(r4 !=1)) //_LBB821_33
+{
+ r4 = _ZL11g_aChannels;
+ r7 = (r6 * 292)|0;
+ r4 = (r4 + r7)|0;
+ r7 = heapU8[r4+268];
+if(!(r7 !=0)) //_LBB821_33
+{
+ r7 = heap32[(r3+71)];
+ if(r7 ==-1) //_LBB821_13
+{
+ r7 = heapU8[r0];
+ if(r7 !=1) //_LBB821_15
+{
+__label__ = 14;
+break _12;
+}
+else{
+ r7 = _ZL21g_pFirstSoundDuration;
+_21: while(true){
+ r7 = r7 >> 2;
+ r7 = heap32[(r7)];
+ if(r7 !=0) //_LBB821_16
+{
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r2;
+ strcmp(i7);
+ r8 = r_g0;
+ if(r8 !=0) //_LBB821_18
+{
+ r7 = (r7 + 260)|0;
+}
+else{
+__label__ = 16;
+break _21;
+}
+}
+else{
+__label__ = 19;
+break _21;
+}
+}
+switch(__label__ ){//multiple entries
+case 19:
+ r7 = _2E_str3224;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r2;
+ r7 = 0;
+ _printf_warning(i7);
+break;
+case 16:
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+64)];
+break;
+}
+ heap32[(r3+71)] = r7;
+}
+}
+ r8 = heap32[(r3+70)];
+ r7 = (r8 + r7)|0;
+if(!(uint(r7) >uint(r1))) //_LBB821_33
+{
+ r7 = heapU8[r0];
+ if(r7 != 0) //_LBB821_25
+{
+ r7 = (r6 + -1)|0;
+if(!(uint(r7) >uint(30))) //_LBB821_33
+{
+ r7 = heapU8[r4+269];
+if(!(r7 !=0)) //_LBB821_33
+{
+if(!(uint(r6) >uint(31))) //_LBB821_29
+{
+ r7 = heap32[(r3+68)];
+ r8 = heap32[(r3+69)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r8;
+ heap32[(g0+2)] = r7;
+ mandreel_audio_stopChannel(i7);
+ heap32[(r3+72)] = 0;
+ heap32[(r3+68)] = -1;
+}
+ r3 = _ZL15g_iFreeChannels;
+ r3 = r3 >> 2;
+ heap8[r4+269] = r5;
+ r4 = heap32[(r3)];
+ r7 = (r4 + -1)|0;
+_37: do {
+if(!(r7 <0)) //_LBB821_32
+{
+ r7 = r4;
+_39: while(true){
+ r8 = _ZL15g_aFreeChannels;
+ r9 = r7 << 2;
+ r8 = (r8 + r9)|0;
+ r8 = r8 >> 2;
+ r9 = heap32[(r8+-1)];
+ r7 = (r7 + -1)|0;
+ heap32[(r8)] = r9;
+if(!(r7 !=0)) //_LBB821_31
+{
+break _37;
+}
+}
+}
+} while(0);
+ r7 = _ZL15g_aFreeChannels;
+ r7 = r7 >> 2;
+ r4 = (r4 + 1)|0;
+ heap32[(r7)] = r6;
+ heap32[(r3)] = r4;
+}
+}
+}
+else{
+__label__ = 23;
+break _12;
+}
+}
+}
+}
+ r6 = (r6 + 1)|0;
+ r2 = (r2 + 292)|0;
+}
+else{
+__label__ = 34;
+break _12;
+}
+}
+switch(__label__ ){//multiple entries
+case 34:
+ return;
+break;
+case 14:
+ r7 = _2E_str221;
+ r0 = _2E_str1222;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 341;
+ _assert(i7);
+break;
+case 23:
+ r0 = _2E_str221;
+ r1 = _2E_str1222;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 621;
+ _assert(i7);
+break;
+}
+}
+else{
+ r0 = _2E_str221;
+ r1 = _2E_str1222;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = 361;
+ _assert(i7);
+}
+}
+
+function __mandreel_internal_init(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+var __label__ = 0;
+ i7 = sp + -2456;var g0 = i7>>2; // save stack
+ r0 = __mandreel_internal_SetResolution__index__;
+ r1 = _ZZ24__mandreel_internal_initE54s_723478567_mandreel___mandreel_internal_SetResolution;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ iMandreelRegisterExternalCallback(i7);
+ r0 = iMandreel_TextureAsync_IsCompressed__index__;
+ r1 = _ZZ24__mandreel_internal_initE56s_723478567_mandreel_iMandreel_TextureAsync_IsCompressed;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ iMandreelRegisterExternalCallback(i7);
+ r0 = iMandreel_TextureAsync_GetPackOffset__index__;
+ r1 = _ZZ24__mandreel_internal_initE57s_723478567_mandreel_iMandreel_TextureAsync_GetPackOffset;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ iMandreelRegisterExternalCallback(i7);
+ r0 = __resize__index__;
+ r1 = _ZZ24__mandreel_internal_initE29s_723478567_mandreel___resize;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ iMandreelRegisterExternalCallback(i7);
+ r0 = imandreel_restore_glcontext__index__;
+ r1 = _ZZ24__mandreel_internal_initE48s_723478567_mandreel_imandreel_restore_glcontext;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ iMandreelRegisterExternalCallback(i7);
+ r0 = imandreel_viewport_resize__index__;
+ r1 = _ZZ24__mandreel_internal_initE46s_723478567_mandreel_imandreel_viewport_resize;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ r0 = g_msgcallback;
+ r0 = r0 >> 2;
+ r1 = _Z31MandreelDefaultDebugMsgCallbackiPKc__index__;
+ iMandreelRegisterExternalCallback(i7);
+ r2 = _ZL7g_bInit_2E_b;
+ heap32[(r0)] = r1;
+ r0 = heapU8[r2];
+ if(r0 !=1) //_LBB822_2
+{
+ r0 = 1;
+ heap8[r2] = r0;
+ r1 = 0;
+ mandreel_audio_isLogEnabled(i7);
+ r2 = r_g0 != r1;
+ r3 = _ZL6g_bLog;
+ r2 = r2 & 1;
+ heap8[r3] = r2;
+ mandreel_audio_useMusicFunctions(i7);
+ r2 = heapU8[r3];
+ if(r2 !=0) //_LBB822_4
+{
+ r2 = _2E_str35256;
+ heap32[(g0)] = r2;
+ printf(i7);
+}
+else{
+ r1 = 0;
+}
+_6: while(true){
+ r2 = (r1 * 73)|0;
+ r3 = _ZL11g_aChannels;
+ r2 = r2 << 2;
+ r2 = (r3 + r2)|0;
+ r4 = (r1 * 292)|0;
+ r2 = r2 >> 2;
+ r5 = _ZL15g_aFreeChannels;
+ r6 = r1 << 2;
+ r5 = (r5 + r6)|0;
+ r3 = (r3 + r4)|0;
+ heap32[(r2+69)] = r1;
+ r2 = (r1 + 1)|0;
+ r4 = r5 >> 2;
+ heap8[r3+269] = r0;
+ heap32[(r4)] = r1;
+ r1 = r2;
+if(!(r2 !=32)) //_LBB822_5
+{
+break _6;
+}
+}
+ r1 = _ZL15g_iFreeChannels;
+ r1 = r1 >> 2;
+ heap32[(r1)] = 32;
+ mandreel_audio_init(i7);
+ r1 = _2E_str22243;
+ heap32[(g0)] = r1;
+ printf(i7);
+ heap32[(g0)] = 0;
+ _Z30mandreel_fopen_enable_checkfatb(i7);
+ r1 = _2E_str779;
+ r2 = _2E_str1648;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ fopen(i7);
+ r3 = r_g0;
+ heap32[(g0)] = 1;
+ _Z30mandreel_fopen_enable_checkfatb(i7);
+ if(r3 ==0) //_LBB822_19
+{
+ r4 = _2E_str24245;
+ r5 = 0;
+ heap32[(g0)] = r4;
+ _printf_error(i7);
+ r4 = r5;
+}
+else{
+ if(uint(r3) <uint(10)) //_LBB822_9
+{
+ r4 = _ZL13s_file_stdout;
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+7)];
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 2;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+}
+else{
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+7)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 2;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ r4 = r3;
+}
+ r5 = r4 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+5)];
+ heap32[(g0)] = r4;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ r4 = r_g0;
+ if(uint(r3) >uint(9)) //_LBB822_12
+{
+ r5 = r3;
+}
+else{
+ r5 = _ZL13s_file_stdout;
+}
+ r6 = r5 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+7)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ r5 = (r4 + 1)|0;
+ heap32[(g0)] = r5;
+ malloc(i7);
+ r5 = r_g0;
+ if(uint(r3) <uint(10)) //_LBB822_15
+{
+ r6 = _ZL13s_file_stdout;
+ r7 = r6 >> 2;
+ r7 = heap32[(r7)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+1)];
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = 1;
+ heap32[(g0+3)] = r4;
+ r8 = 0;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ heap8[r5+r4] = r8;
+}
+else{
+ r6 = r3 >> 2;
+ r6 = heap32[(r6)];
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = 1;
+ heap32[(g0+3)] = r4;
+ r7 = 0;
+ __FUNCTION_TABLE__[(r6)>>2](i7);
+ heap8[r5+r4] = r7;
+ r6 = r3;
+}
+ r7 = r6 >> 2;
+ r7 = heap32[(r7)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+4)];
+ heap32[(g0)] = r6;
+ __FUNCTION_TABLE__[(r7)>>2](i7);
+ if(uint(r3) >uint(9)) //_LBB822_18
+{
+ heap32[(g0)] = r6;
+ _ZdlPv(i7);
+}
+}
+ r3 = sp + -128;
+ heap32[(g0)] = r3;
+ mandreel_audio_getAudioDriverName(i7);
+ r6 = _2E_str4225;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r6;
+ strcmp(i7);
+ r3 = r_g0;
+if(!(r5 ==0)) //_LBB822_198
+{
+_28: do {
+if(!(r4 <1)) //_LBB822_197
+{
+ r6 = sp + -1408;
+ r7 = (r6 + 1)|0;
+ r8 = (r5 + 1)|0;
+ r9 = 0;
+_30: while(true){
+ r10 = (r5 + r9)|0;
+ r11 = heapU8[r5+r9];
+if(!(r11 ==13)) //_LBB822_25
+{
+ if(r9 <r4) //_LBB822_26
+{
+ r11 = r9;
+_35: while(true){
+ r9 = (r11 + 1)|0;
+ r11 = heapU8[r8+r11];
+ if(r11 ==13) //_LBB822_29
+{
+break _35;
+}
+else{
+ r11 = r9;
+if(!(r9 <r4)) //_LBB822_27
+{
+break _35;
+}
+}
+}
+}
+}
+ r11 = _ZL10strtok_pos;
+ r12 = 0;
+ r11 = r11 >> 2;
+ heap8[r5+r9] = r12;
+ r13 = heap32[(r11)];
+ r9 = (r9 + 2)|0;
+ r10 = r10 == 0 ? r13 : r10;
+_39: while(true){
+ r13 = heapU8[r10];
+ if(r13 ==0) //_LBB822_47
+{
+__label__ = 44;
+break _39;
+}
+else{
+ r14 = r12;
+_42: while(true){
+ if(r14 ==-1) //_LBB822_36
+{
+__label__ = 34;
+break _39;
+}
+else{
+ r15 = _2E_str4133;
+ r15 = (r15 - r14)|0;
+ r16 = r13 & 255;
+ r15 = heapU8[r15];
+ if(r16 !=r15) //_LBB822_30
+{
+ r14 = (r14 + -1)|0;
+}
+else{
+break _42;
+}
+}
+}
+ r10 = (r10 + 1)|0;
+}
+}
+_47: do {
+if (__label__ == 34){
+ if(r13 ==0) //_LBB822_47
+{
+__label__ = 44;
+}
+else{
+ r12 = r10;
+_50: while(true){
+ r13 = heapU8[r12];
+ if(r13 ==0) //_LBB822_44
+{
+break _50;
+}
+else{
+ r14 = r0;
+_53: while(true){
+ if(r14 !=0) //_LBB822_38
+{
+ r15 = _2E_str4133;
+ r15 = (r15 - r14)|0;
+ r16 = r13 & 255;
+ r15 = heapU8[r15+1];
+ if(r16 ==r15) //_LBB822_44
+{
+break _50;
+}
+else{
+ r14 = (r14 + -1)|0;
+}
+}
+else{
+break _53;
+}
+}
+ r12 = (r12 + 1)|0;
+}
+}
+ r13 = heapU8[r12];
+ if(r13 !=0) //_LBB822_46
+{
+ r13 = (r12 + 1)|0;
+ r14 = 0;
+ heap8[r12] = r14;
+ r12 = r13;
+}
+ heap32[(r11)] = r12;
+ r13 = _2E_str26247;
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r10;
+ strcmp(i7);
+ r13 = r_g0;
+ if(r13 !=0) //_LBB822_71
+{
+ r13 = _2E_str29250;
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r10;
+ strcmp(i7);
+ r13 = r_g0;
+ if(r13 !=0) //_LBB822_154
+{
+ if(r3 !=0) //_LBB822_70
+{
+__label__ = 66;
+break _47;
+}
+else{
+ r13 = _2E_str32253;
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r10;
+ strcmp(i7);
+ r13 = r_g0;
+ if(r13 !=0) //_LBB822_176
+{
+ r13 = _2E_str33254;
+ heap32[(g0)] = r13;
+ heap32[(g0+1)] = r10;
+ strcmp(i7);
+ r10 = r_g0;
+ if(r10 !=0) //_LBB822_70
+{
+__label__ = 66;
+break _47;
+}
+else{
+__label__ = 173; //SET chanka
+_69: while(true){
+ r10 = heapU8[r12];
+ if(r10 ==0) //_LBB822_184
+{
+__label__ = 175;
+break _69;
+}
+else{
+ r13 = 0;
+_72: while(true){
+ if(r13 ==-1) //_LBB822_185
+{
+__label__ = 176;
+break _69;
+}
+else{
+ r14 = _2E_str4133;
+ r14 = (r14 - r13)|0;
+ r15 = r10 & 255;
+ r14 = heapU8[r14];
+ if(r15 !=r14) //_LBB822_178
+{
+ r13 = (r13 + -1)|0;
+}
+else{
+break _72;
+}
+}
+}
+ r12 = (r12 + 1)|0;
+}
+}
+if (__label__ == 176){
+ if(r10 ==0) //_LBB822_184
+{
+__label__ = 175;
+}
+else{
+ r13 = r12;
+_80: while(true){
+ r10 = heapU8[r13];
+ if(r10 ==0) //_LBB822_193
+{
+break _80;
+}
+else{
+ r14 = 1;
+_83: while(true){
+ if(r14 !=0) //_LBB822_187
+{
+ r15 = _2E_str4133;
+ r15 = (r15 - r14)|0;
+ r16 = r10 & 255;
+ r15 = heapU8[r15+1];
+ if(r16 ==r15) //_LBB822_193
+{
+break _80;
+}
+else{
+ r14 = (r14 + -1)|0;
+}
+}
+else{
+break _83;
+}
+}
+ r13 = (r13 + 1)|0;
+}
+}
+ r10 = heapU8[r13];
+ if(r10 !=0) //_LBB822_195
+{
+ r14 = (r13 + 1)|0;
+ r10 = 0;
+ heap8[r13] = r10;
+ r10 = r12;
+ r12 = r14;
+__label__ = 187;
+}
+else{
+ r10 = r12;
+ r12 = r13;
+__label__ = 187;
+}
+}
+}
+if (__label__ == 175){
+ r10 = 0;
+}
+ heap32[(r11)] = r12;
+ r11 = sp + -384;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r10;
+ strcpy(i7);
+__label__ = 66;
+break _47;
+}
+}
+else{
+_95: while(true){
+ r10 = heapU8[r12];
+ if(r10 ==0) //_LBB822_163
+{
+__label__ = 155;
+break _95;
+}
+else{
+ r13 = 0;
+_98: while(true){
+ if(r13 ==-1) //_LBB822_164
+{
+__label__ = 156;
+break _95;
+}
+else{
+ r14 = _2E_str4133;
+ r14 = (r14 - r13)|0;
+ r15 = r10 & 255;
+ r14 = heapU8[r14];
+ if(r15 !=r14) //_LBB822_157
+{
+ r13 = (r13 + -1)|0;
+}
+else{
+break _98;
+}
+}
+}
+ r12 = (r12 + 1)|0;
+}
+}
+if (__label__ == 156){
+ if(r10 ==0) //_LBB822_163
+{
+__label__ = 155;
+}
+else{
+ r13 = r12;
+_106: while(true){
+ r10 = heapU8[r13];
+ if(r10 ==0) //_LBB822_172
+{
+break _106;
+}
+else{
+ r14 = 1;
+_109: while(true){
+ if(r14 !=0) //_LBB822_166
+{
+ r15 = _2E_str4133;
+ r15 = (r15 - r14)|0;
+ r16 = r10 & 255;
+ r15 = heapU8[r15+1];
+ if(r16 ==r15) //_LBB822_172
+{
+break _106;
+}
+else{
+ r14 = (r14 + -1)|0;
+}
+}
+else{
+break _109;
+}
+}
+ r13 = (r13 + 1)|0;
+}
+}
+ r10 = heapU8[r13];
+ if(r10 !=0) //_LBB822_174
+{
+ r14 = (r13 + 1)|0;
+ r10 = 0;
+ heap8[r13] = r10;
+ r10 = r12;
+ r12 = r14;
+__label__ = 167;
+}
+else{
+ r10 = r12;
+ r12 = r13;
+__label__ = 167;
+}
+}
+}
+if (__label__ == 155){
+ r10 = 0;
+}
+ heap32[(r11)] = r12;
+ r11 = sp + -2432;
+ r12 = _2E_str12233;
+ r13 = sp + -384;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r13;
+ heap32[(g0+3)] = r10;
+ sprintf(i7);
+ heap32[(g0)] = r11;
+ mandreel_add_valid_fopenfile(i7);
+__label__ = 66;
+break _47;
+}
+}
+}
+else{
+ r10 = (r12 + 1)|0;
+ r13 = 0;
+ r14 = r12;
+_122: while(true){
+ r15 = heapU8[r12+r13];
+ if(r15 ==0) //_LBB822_90
+{
+__label__ = 85;
+break _122;
+}
+else{
+ r16 = 0;
+_125: while(true){
+ if(r16 ==-1) //_LBB822_79
+{
+__label__ = 75;
+break _122;
+}
+else{
+ r17 = _2E_str4133;
+ r17 = (r17 - r16)|0;
+ r18 = r15 & 255;
+ r17 = heapU8[r17];
+ if(r18 !=r17) //_LBB822_73
+{
+ r16 = (r16 + -1)|0;
+}
+else{
+break _125;
+}
+}
+}
+ r13 = (r13 + 1)|0;
+ r14 = (r14 + 1)|0;
+ r10 = (r10 + 1)|0;
+}
+}
+_130: do {
+if (__label__ == 75){
+ if(r15 ==0) //_LBB822_90
+{
+__label__ = 85;
+}
+else{
+ r15 = (r12 + r13)|0;
+_133: while(true){
+ r16 = heapU8[r14];
+ if(r16 ==0) //_LBB822_87
+{
+break _133;
+}
+else{
+ r17 = 1;
+_136: while(true){
+ if(r17 !=0) //_LBB822_81
+{
+ r18 = _2E_str4133;
+ r18 = (r18 - r17)|0;
+ r19 = r16 & 255;
+ r18 = heapU8[r18+1];
+ if(r19 ==r18) //_LBB822_87
+{
+break _133;
+}
+else{
+ r17 = (r17 + -1)|0;
+}
+}
+else{
+break _136;
+}
+}
+ r14 = (r14 + 1)|0;
+}
+}
+ r16 = heapU8[r14];
+ if(r16 !=0) //_LBB822_89
+{
+ r16 = (r14 + 1)|0;
+ r17 = 0;
+ heap8[r14] = r17;
+ r14 = r16;
+}
+ r17 = 0;
+ r16 = r15 == r17;
+ heap32[(r11)] = r14;
+_145: while(true){
+ r18 = heapU8[r14];
+ if(r18 ==0) //_LBB822_109
+{
+__label__ = 103;
+break _145;
+}
+else{
+ r19 = r17;
+_148: while(true){
+ if(r19 ==-1) //_LBB822_98
+{
+__label__ = 93;
+break _145;
+}
+else{
+ r20 = _2E_str4133;
+ r20 = (r20 - r19)|0;
+ r21 = r18 & 255;
+ r20 = heapU8[r20];
+ if(r21 !=r20) //_LBB822_92
+{
+ r19 = (r19 + -1)|0;
+}
+else{
+break _148;
+}
+}
+}
+ r14 = (r14 + 1)|0;
+}
+}
+if (__label__ == 93){
+if(!(r18 ==0)) //_LBB822_109
+{
+ r17 = r14;
+_156: while(true){
+ r18 = heapU8[r17];
+ if(r18 ==0) //_LBB822_106
+{
+break _156;
+}
+else{
+ r19 = 1;
+_159: while(true){
+ if(r19 !=0) //_LBB822_100
+{
+ r20 = _2E_str4133;
+ r20 = (r20 - r19)|0;
+ r21 = r18 & 255;
+ r20 = heapU8[r20+1];
+ if(r21 ==r20) //_LBB822_106
+{
+break _156;
+}
+else{
+ r19 = (r19 + -1)|0;
+}
+}
+else{
+break _159;
+}
+}
+ r17 = (r17 + 1)|0;
+}
+}
+ r18 = heapU8[r17];
+ if(r18 !=0) //_LBB822_108
+{
+ r18 = (r17 + 1)|0;
+ r19 = 0;
+ heap8[r17] = r19;
+ r17 = r18;
+}
+ heap32[(r11)] = r17;
+_168: while(true){
+ r18 = heapU8[r17];
+ if(r18 ==0) //_LBB822_128
+{
+__label__ = 121;
+break _168;
+}
+else{
+ r19 = 0;
+_171: while(true){
+ if(r19 ==-1) //_LBB822_117
+{
+__label__ = 111;
+break _168;
+}
+else{
+ r20 = _2E_str4133;
+ r20 = (r20 - r19)|0;
+ r21 = r18 & 255;
+ r20 = heapU8[r20];
+ if(r21 !=r20) //_LBB822_111
+{
+ r19 = (r19 + -1)|0;
+}
+else{
+break _171;
+}
+}
+}
+ r17 = (r17 + 1)|0;
+}
+}
+if (__label__ == 111){
+if(!(r18 ==0)) //_LBB822_128
+{
+ r15 = r17;
+_179: while(true){
+ r16 = heapU8[r15];
+ if(r16 ==0) //_LBB822_125
+{
+break _179;
+}
+else{
+ r18 = 1;
+_182: while(true){
+ if(r18 !=0) //_LBB822_119
+{
+ r19 = _2E_str4133;
+ r19 = (r19 - r18)|0;
+ r20 = r16 & 255;
+ r19 = heapU8[r19+1];
+ if(r20 ==r19) //_LBB822_125
+{
+break _179;
+}
+else{
+ r18 = (r18 + -1)|0;
+}
+}
+else{
+break _182;
+}
+}
+ r15 = (r15 + 1)|0;
+}
+}
+ r16 = heapU8[r15];
+ if(r16 !=0) //_LBB822_127
+{
+ r16 = (r15 + 1)|0;
+ r18 = 0;
+ heap8[r15] = r18;
+ r15 = r16;
+}
+ heap32[(r11)] = r15;
+ heap32[(g0)] = 264;
+ _Znwj(i7);
+ r11 = r_g0;
+ heap32[(g0)] = r17;
+ heap32[(g0+1)] = 0;
+ r15 = 0;
+ r16 = -1;
+ r17 = r11 >> 2;
+ strtol(i7);
+ heap32[(r17+64)] = r_g0;
+_191: while(true){
+ r17 = r15;
+ r18 = heapU8[r10+r17];
+ if(r18 !=46) //_LBB822_133
+{
+ if(r18 ==0) //_LBB822_137
+{
+break _191;
+}
+else{
+if(!(r18 ==47)) //_LBB822_136
+{
+ r15 = (r17 + 1)|0;
+ if(r18 !=92) //_LBB822_131
+{
+continue _191;
+}
+}
+ r16 = -1;
+}
+}
+else{
+ r16 = r17;
+}
+ r15 = (r17 + 1)|0;
+}
+ if(r16 ==-1) //_LBB822_143
+{
+ r10 = (r12 + r13)|0;
+ r12 = _2E_str12233;
+ r10 = (r10 + 1)|0;
+ r15 = _2E_str2131;
+ heap32[(g0)] = r6;
+ heap32[(g0+1)] = r12;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r15;
+ sprintf(i7);
+}
+else{
+_205: do {
+ if(r16 >0) //_LBB822_140
+{
+ r10 = (r12 + 1)|0;
+ r12 = 0;
+_207: while(true){
+ r15 = (r12 + r10)|0;
+ r17 = (r12 + 1)|0;
+ r15 = heapU8[r15+r13];
+ heap8[r6+r12] = r15;
+ r12 = r17;
+if(!(r16 !=r17)) //_LBB822_141
+{
+break _205;
+}
+}
+}
+else{
+ r16 = 0;
+}
+} while(0);
+ r10 = (r6 + r16)|0;
+ r12 = _2E_str2131;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r12;
+ strcpy(i7);
+}
+ r10 = heapU8[sp+-1408];
+_212: do {
+ if(r10 ==0) //_LBB822_146
+{
+ r15 = r11;
+}
+else{
+ r12 = r7;
+ r15 = r11;
+_215: while(true){
+ r16 = r10 & 255;
+ if(r16 !=92) //_LBB822_149
+{
+ r16 = r10 << 24;
+ r16 = r16 >> 24;
+ r16 = (r16 + -65)|0;
+ r13 = 26;
+ r17 = (r10 + 32)|0;
+ r10 = uint(r16) < uint(r13) ? r17 : r10;
+}
+else{
+ r10 = 47;
+}
+ heap8[r15] = r10;
+ r10 = heapU8[r12];
+ r15 = (r15 + 1)|0;
+ r12 = (r12 + 1)|0;
+if(!(r10 !=0)) //_LBB822_147
+{
+break _212;
+}
+}
+}
+} while(0);
+ r10 = _ZL21g_pFirstSoundDuration;
+ r12 = 0;
+ r10 = r10 >> 2;
+ heap8[r15] = r12;
+ r12 = r11 >> 2;
+ r15 = heap32[(r10)];
+ heap32[(r12+65)] = r15;
+ heap32[(r10)] = r11;
+ r10 = heapU8[r14];
+ if(r10 ==48) //_LBB822_70
+{
+__label__ = 66;
+break _47;
+}
+else{
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = 0;
+ mandreel_audio_createBuffer(i7);
+__label__ = 66;
+break _47;
+}
+}
+}
+ heap32[(r11)] = r17;
+__label__ = 146;
+break _130;
+}
+}
+ heap32[(r11)] = r14;
+__label__ = 146;
+}
+}
+} while(0);
+if (__label__ == 85){
+ r16 = 1;
+ r15 = 0;
+ r10 = (r12 + r13)|0;
+ heap32[(r11)] = r10;
+}
+ r10 = _2E_str30251;
+ r11 = _2E_str31252;
+ r10 = r16 != 0 ? r10 : r15;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r10;
+ _printf_warning(i7);
+__label__ = 66;
+break _47;
+}
+}
+else{
+_228: while(true){
+ r10 = heapU8[r12];
+ if(r10 ==0) //_LBB822_56
+{
+__label__ = 52;
+break _228;
+}
+else{
+ r13 = 0;
+_231: while(true){
+ if(r13 ==-1) //_LBB822_57
+{
+__label__ = 53;
+break _228;
+}
+else{
+ r14 = _2E_str4133;
+ r14 = (r14 - r13)|0;
+ r15 = r10 & 255;
+ r14 = heapU8[r14];
+ if(r15 !=r14) //_LBB822_50
+{
+ r13 = (r13 + -1)|0;
+}
+else{
+break _231;
+}
+}
+}
+ r12 = (r12 + 1)|0;
+}
+}
+if (__label__ == 53){
+ if(r10 ==0) //_LBB822_56
+{
+__label__ = 52;
+}
+else{
+ r13 = r12;
+_239: while(true){
+ r10 = heapU8[r13];
+ if(r10 ==0) //_LBB822_65
+{
+break _239;
+}
+else{
+ r14 = 1;
+_242: while(true){
+ if(r14 !=0) //_LBB822_59
+{
+ r15 = _2E_str4133;
+ r15 = (r15 - r14)|0;
+ r16 = r10 & 255;
+ r15 = heapU8[r15+1];
+ if(r16 ==r15) //_LBB822_65
+{
+break _239;
+}
+else{
+ r14 = (r14 + -1)|0;
+}
+}
+else{
+break _242;
+}
+}
+ r13 = (r13 + 1)|0;
+}
+}
+ r10 = heapU8[r13];
+ if(r10 !=0) //_LBB822_67
+{
+ r14 = (r13 + 1)|0;
+ r10 = 0;
+ heap8[r13] = r10;
+ r10 = r12;
+ r12 = r14;
+__label__ = 64;
+}
+else{
+ r10 = r12;
+ r12 = r13;
+__label__ = 64;
+}
+}
+}
+if (__label__ == 52){
+ r10 = 0;
+}
+ heap32[(r11)] = r12;
+ r11 = _2E_str27248;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r11;
+ strcmp(i7);
+ r12 = r_g0;
+ if(r12 ==0) //_LBB822_70
+{
+__label__ = 66;
+}
+else{
+ r12 = _2E_str28249;
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r10;
+ heap32[(g0+2)] = r11;
+ _printf_error(i7);
+__label__ = 66;
+}
+}
+}
+}
+} while(0);
+if (__label__ == 44){
+ heap32[(r11)] = r10;
+}
+if(!(r9 <r4)) //_LBB822_23
+{
+break _28;
+}
+}
+}
+} while(0);
+ heap32[(g0)] = r5;
+ free(i7);
+}
+ __mandreel_internal_CreateWindow(i7);
+ heap32[(g0)] = 0;
+ _Z30mandreel_fopen_enable_checkfatb(i7);
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r2;
+ fopen(i7);
+ r0 = r_g0;
+ heap32[(g0)] = 1;
+ _Z30mandreel_fopen_enable_checkfatb(i7);
+if(!(r0 ==0)) //_LBB822_389
+{
+ if(uint(r0) <uint(10)) //_LBB822_201
+{
+ r1 = _ZL13s_file_stdout;
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+7)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 2;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+}
+else{
+ r1 = r0 >> 2;
+ r1 = heap32[(r1)];
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+7)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 2;
+ __FUNCTION_TABLE__[(r1)>>2](i7);
+ r1 = r0;
+}
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+5)];
+ heap32[(g0)] = r1;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ r1 = r_g0;
+ if(uint(r0) >uint(9)) //_LBB822_204
+{
+ r2 = r0;
+}
+else{
+ r2 = _ZL13s_file_stdout;
+}
+ r3 = r2 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+7)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = 0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r2 = (r1 + 1)|0;
+ heap32[(g0)] = r2;
+ malloc(i7);
+ r2 = r_g0;
+ if(uint(r0) <uint(10)) //_LBB822_207
+{
+ r3 = _ZL13s_file_stdout;
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+1)];
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 1;
+ heap32[(g0+3)] = r1;
+ r5 = 0;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+ heap8[r2+r1] = r5;
+}
+else{
+ r3 = r0 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+1)];
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = 1;
+ heap32[(g0+3)] = r1;
+ r4 = 0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ heap8[r2+r1] = r4;
+ r3 = r0;
+}
+ r4 = r3 >> 2;
+ r4 = heap32[(r4)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+4)];
+ heap32[(g0)] = r3;
+ __FUNCTION_TABLE__[(r4)>>2](i7);
+if(!(uint(r0) <uint(10))) //_LBB822_210
+{
+ heap32[(g0)] = r3;
+ _ZdlPv(i7);
+}
+if(!(r2 ==0)) //_LBB822_389
+{
+ r0 = (r2 + 1)|0;
+ r3 = -1;
+ r4 = 0;
+ r5 = r4;
+_278: while(true){
+ r6 = r3;
+_280: while(true){
+ if(r5 <r1) //_LBB822_212
+{
+ r3 = (r2 + r5)|0;
+ r7 = heapU8[r2+r5];
+ if(r7 ==13) //_LBB822_214
+{
+ r7 = r5;
+}
+else{
+_285: while(true){
+ r7 = (r5 + 1)|0;
+ r5 = heapU8[r0+r5];
+ if(r5 ==13) //_LBB822_217
+{
+break _285;
+}
+else{
+ r5 = r7;
+if(!(r7 <r1)) //_LBB822_215
+{
+break _285;
+}
+}
+}
+}
+ r5 = _ZL10strtok_pos;
+ r8 = 0;
+ r9 = r5 >> 2;
+ heap8[r2+r7] = r8;
+ r10 = heap32[(r9)];
+ r5 = (r7 + 2)|0;
+ r3 = r3 == 0 ? r10 : r3;
+_289: while(true){
+ r7 = heapU8[r3];
+ if(r7 ==0) //_LBB822_235
+{
+__label__ = 224;
+break _289;
+}
+else{
+ r10 = r8;
+_292: while(true){
+ if(r10 ==-1) //_LBB822_224
+{
+__label__ = 214;
+break _289;
+}
+else{
+ r11 = _2E_str4133;
+ r11 = (r11 - r10)|0;
+ r12 = r7 & 255;
+ r11 = heapU8[r11];
+ if(r12 !=r11) //_LBB822_218
+{
+ r10 = (r10 + -1)|0;
+}
+else{
+break _292;
+}
+}
+}
+ r3 = (r3 + 1)|0;
+}
+}
+if (__label__ == 214){
+if(!(r7 ==0)) //_LBB822_235
+{
+ r7 = r3;
+_300: while(true){
+ r8 = heapU8[r7];
+ if(r8 ==0) //_LBB822_232
+{
+break _300;
+}
+else{
+ r10 = 1;
+_303: while(true){
+ if(r10 !=0) //_LBB822_226
+{
+ r11 = _2E_str4133;
+ r11 = (r11 - r10)|0;
+ r12 = r8 & 255;
+ r11 = heapU8[r11+1];
+ if(r12 ==r11) //_LBB822_232
+{
+break _300;
+}
+else{
+ r10 = (r10 + -1)|0;
+}
+}
+else{
+break _303;
+}
+}
+ r7 = (r7 + 1)|0;
+}
+}
+ r8 = heapU8[r7];
+ if(r8 !=0) //_LBB822_234
+{
+ r8 = (r7 + 1)|0;
+ r10 = 0;
+ heap8[r7] = r10;
+ r7 = r8;
+}
+ heap32[(r9)] = r7;
+ r8 = _2E_str3782;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r3;
+ strcmp(i7);
+ r8 = r_g0;
+ if(r8 !=0) //_LBB822_341
+{
+ r8 = _2E_str5784;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r3;
+ strcmp(i7);
+ r8 = r_g0;
+ if(r8 !=0) //_LBB822_385
+{
+ r7 = _2E_str6785;
+ heap32[(g0)] = r7;
+ heap32[(g0+1)] = r3;
+ r3 = -1;
+ strcmp(i7);
+ r7 = r_g0;
+ if(r7 !=0) //_LBB822_387
+{
+continue _280;
+}
+else{
+continue _278;
+}
+}
+else{
+break _280;
+}
+}
+else{
+_315: while(true){
+ r3 = heapU8[r7];
+ if(r3 ==0) //_LBB822_255
+{
+__label__ = 242;
+break _315;
+}
+else{
+ r8 = 0;
+_318: while(true){
+ if(r8 ==-1) //_LBB822_244
+{
+__label__ = 232;
+break _315;
+}
+else{
+ r10 = _2E_str4133;
+ r10 = (r10 - r8)|0;
+ r11 = r3 & 255;
+ r10 = heapU8[r10];
+ if(r11 !=r10) //_LBB822_238
+{
+ r8 = (r8 + -1)|0;
+}
+else{
+break _318;
+}
+}
+}
+ r7 = (r7 + 1)|0;
+}
+}
+_323: do {
+if (__label__ == 232){
+ if(r3 ==0) //_LBB822_255
+{
+__label__ = 242;
+}
+else{
+ r3 = r7;
+_326: while(true){
+ r8 = heapU8[r3];
+ if(r8 ==0) //_LBB822_252
+{
+break _326;
+}
+else{
+ r10 = 1;
+_329: while(true){
+ if(r10 !=0) //_LBB822_246
+{
+ r11 = _2E_str4133;
+ r11 = (r11 - r10)|0;
+ r12 = r8 & 255;
+ r11 = heapU8[r11+1];
+ if(r12 ==r11) //_LBB822_252
+{
+break _326;
+}
+else{
+ r10 = (r10 + -1)|0;
+}
+}
+else{
+break _329;
+}
+}
+ r3 = (r3 + 1)|0;
+}
+}
+ r8 = heapU8[r3];
+ if(r8 !=0) //_LBB822_254
+{
+ r8 = (r3 + 1)|0;
+ r10 = 0;
+ heap8[r3] = r10;
+ r3 = r8;
+}
+ heap32[(r9)] = r3;
+_338: while(true){
+ r8 = heapU8[r3];
+ if(r8 ==0) //_LBB822_274
+{
+__label__ = 260;
+break _338;
+}
+else{
+ r10 = 0;
+_341: while(true){
+ if(r10 ==-1) //_LBB822_263
+{
+__label__ = 250;
+break _338;
+}
+else{
+ r11 = _2E_str4133;
+ r11 = (r11 - r10)|0;
+ r12 = r8 & 255;
+ r11 = heapU8[r11];
+ if(r12 !=r11) //_LBB822_257
+{
+ r10 = (r10 + -1)|0;
+}
+else{
+break _341;
+}
+}
+}
+ r3 = (r3 + 1)|0;
+}
+}
+if (__label__ == 250){
+if(!(r8 ==0)) //_LBB822_274
+{
+ r8 = r3;
+_349: while(true){
+ r10 = heapU8[r8];
+ if(r10 ==0) //_LBB822_271
+{
+break _349;
+}
+else{
+ r11 = 1;
+_352: while(true){
+ if(r11 !=0) //_LBB822_265
+{
+ r12 = _2E_str4133;
+ r12 = (r12 - r11)|0;
+ r13 = r10 & 255;
+ r12 = heapU8[r12+1];
+ if(r13 ==r12) //_LBB822_271
+{
+break _349;
+}
+else{
+ r11 = (r11 + -1)|0;
+}
+}
+else{
+break _352;
+}
+}
+ r8 = (r8 + 1)|0;
+}
+}
+ r10 = heapU8[r8];
+ if(r10 !=0) //_LBB822_273
+{
+ r10 = (r8 + 1)|0;
+ r11 = 0;
+ heap8[r8] = r11;
+ r8 = r10;
+}
+ heap32[(r9)] = r8;
+_361: while(true){
+ r10 = heapU8[r8];
+ if(r10 ==0) //_LBB822_293
+{
+__label__ = 278;
+break _361;
+}
+else{
+ r11 = 0;
+_364: while(true){
+ if(r11 ==-1) //_LBB822_282
+{
+__label__ = 268;
+break _361;
+}
+else{
+ r12 = _2E_str4133;
+ r12 = (r12 - r11)|0;
+ r13 = r10 & 255;
+ r12 = heapU8[r12];
+ if(r13 !=r12) //_LBB822_276
+{
+ r11 = (r11 + -1)|0;
+}
+else{
+break _364;
+}
+}
+}
+ r8 = (r8 + 1)|0;
+}
+}
+if (__label__ == 268){
+if(!(r10 ==0)) //_LBB822_293
+{
+ r10 = r8;
+_372: while(true){
+ r11 = heapU8[r10];
+ if(r11 ==0) //_LBB822_290
+{
+break _372;
+}
+else{
+ r12 = 1;
+_375: while(true){
+ if(r12 !=0) //_LBB822_284
+{
+ r13 = _2E_str4133;
+ r13 = (r13 - r12)|0;
+ r14 = r11 & 255;
+ r13 = heapU8[r13+1];
+ if(r14 ==r13) //_LBB822_290
+{
+break _372;
+}
+else{
+ r12 = (r12 + -1)|0;
+}
+}
+else{
+break _375;
+}
+}
+ r10 = (r10 + 1)|0;
+}
+}
+ r11 = heapU8[r10];
+ if(r11 !=0) //_LBB822_292
+{
+ r11 = (r10 + 1)|0;
+ r12 = 0;
+ heap8[r10] = r12;
+ r10 = r11;
+}
+ heap32[(r9)] = r10;
+_384: while(true){
+ r11 = heapU8[r10];
+ if(r11 ==0) //_LBB822_312
+{
+__label__ = 296;
+break _384;
+}
+else{
+ r12 = 0;
+_387: while(true){
+ if(r12 ==-1) //_LBB822_301
+{
+__label__ = 286;
+break _384;
+}
+else{
+ r13 = _2E_str4133;
+ r13 = (r13 - r12)|0;
+ r14 = r11 & 255;
+ r13 = heapU8[r13];
+ if(r14 !=r13) //_LBB822_295
+{
+ r12 = (r12 + -1)|0;
+}
+else{
+break _387;
+}
+}
+}
+ r10 = (r10 + 1)|0;
+}
+}
+if (__label__ == 286){
+if(!(r11 ==0)) //_LBB822_312
+{
+ r11 = r10;
+_395: while(true){
+ r12 = heapU8[r11];
+ if(r12 ==0) //_LBB822_309
+{
+break _395;
+}
+else{
+ r13 = 1;
+_398: while(true){
+ if(r13 !=0) //_LBB822_303
+{
+ r14 = _2E_str4133;
+ r14 = (r14 - r13)|0;
+ r15 = r12 & 255;
+ r14 = heapU8[r14+1];
+ if(r15 ==r14) //_LBB822_309
+{
+break _395;
+}
+else{
+ r13 = (r13 + -1)|0;
+}
+}
+else{
+break _398;
+}
+}
+ r11 = (r11 + 1)|0;
+}
+}
+ r12 = heapU8[r11];
+ if(r12 !=0) //_LBB822_311
+{
+ r12 = (r11 + 1)|0;
+ r13 = 0;
+ heap8[r11] = r13;
+ r11 = r12;
+}
+ heap32[(r9)] = r11;
+_407: while(true){
+ r12 = heapU8[r11];
+ if(r12 ==0) //_LBB822_331
+{
+__label__ = 314;
+break _407;
+}
+else{
+ r13 = 0;
+_410: while(true){
+ if(r13 ==-1) //_LBB822_320
+{
+__label__ = 304;
+break _407;
+}
+else{
+ r14 = _2E_str4133;
+ r14 = (r14 - r13)|0;
+ r15 = r12 & 255;
+ r14 = heapU8[r14];
+ if(r15 !=r14) //_LBB822_314
+{
+ r13 = (r13 + -1)|0;
+}
+else{
+break _410;
+}
+}
+}
+ r11 = (r11 + 1)|0;
+}
+}
+if (__label__ == 304){
+if(!(r12 ==0)) //_LBB822_331
+{
+ r12 = r11;
+_418: while(true){
+ r13 = heapU8[r12];
+ if(r13 ==0) //_LBB822_328
+{
+break _418;
+}
+else{
+ r14 = 1;
+_421: while(true){
+ if(r14 !=0) //_LBB822_322
+{
+ r15 = _2E_str4133;
+ r15 = (r15 - r14)|0;
+ r16 = r13 & 255;
+ r15 = heapU8[r15+1];
+ if(r16 ==r15) //_LBB822_328
+{
+break _418;
+}
+else{
+ r14 = (r14 + -1)|0;
+}
+}
+else{
+break _421;
+}
+}
+ r12 = (r12 + 1)|0;
+}
+}
+ r13 = heapU8[r12];
+ if(r13 !=0) //_LBB822_330
+{
+ r13 = (r12 + 1)|0;
+ r14 = 0;
+ heap8[r12] = r14;
+ r12 = r13;
+}
+ heap32[(r9)] = r12;
+ if(r8 ==0) //_LBB822_340
+{
+__label__ = 323;
+break _323;
+}
+else{
+ if(r11 ==0) //_LBB822_340
+{
+__label__ = 323;
+break _323;
+}
+else{
+ heap32[(g0)] = 284;
+ _Znwj(i7);
+ r9 = r_g0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = 0;
+ r3 = r9 >> 2;
+ strtol(i7);
+ heap32[(r3+65)] = r_g0;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = 0;
+ strtol(i7);
+ heap32[(r3+66)] = r_g0;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = 0;
+ strtol(i7);
+ heap32[(r3+67)] = r_g0;
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = 0;
+ strtol(i7);
+ heap32[(r3+69)] = r_g0;
+ r7 = (r7 + 1)|0;
+ r8 = 0;
+ heap32[(r3+68)] = r4;
+ heap32[(r3+64)] = r6;
+ r3 = r9;
+_432: while(true){
+ r10 = heapU8[r7];
+ if(r10 ==0) //_LBB822_339
+{
+break _432;
+}
+else{
+ r11 = r10 << 24;
+ r11 = r11 >> 24;
+ r11 = (r11 + -65)|0;
+ r12 = 26;
+ r13 = (r10 + 32)|0;
+ r10 = uint(r11) < uint(r12) ? r13 : r10;
+ r11 = r10 & 255;
+ r12 = 47;
+ r10 = r11 == 92 ? r12 : r10;
+ r7 = (r7 + 1)|0;
+ r11 = r10 & 255;
+if(!(r11 !=47)) //_LBB822_338
+{
+ r11 = r8 & 255;
+ r8 = r10;
+ if(r11 ==47) //_LBB822_335
+{
+continue _432;
+}
+}
+ r8 = (r3 + 1)|0;
+ heap8[r3] = r10;
+ r3 = r8;
+ r8 = r10;
+}
+}
+ r7 = _ZL24g_pFirstTextureAsyncInfo;
+ r8 = 0;
+ r7 = r7 >> 2;
+ heap8[r3] = r8;
+ r3 = r9 >> 2;
+ r8 = heap32[(r7)];
+ heap32[(r3+70)] = r8;
+ heap32[(r7)] = r9;
+ r3 = heap32[(r3+69)];
+ r4 = (r3 + r4)|0;
+continue _280;
+}
+}
+}
+}
+ heap32[(r9)] = r11;
+__label__ = 323;
+break _323;
+}
+}
+ heap32[(r9)] = r10;
+__label__ = 323;
+break _323;
+}
+}
+ heap32[(r9)] = r8;
+__label__ = 323;
+break _323;
+}
+}
+ heap32[(r9)] = r3;
+__label__ = 323;
+}
+}
+} while(0);
+if (__label__ == 242){
+ heap32[(r9)] = r7;
+}
+ r3 = _2E_str4783;
+ heap32[(g0)] = r3;
+ _printf_warning(i7);
+continue _280;
+}
+}
+}
+ heap32[(r9)] = r3;
+}
+else{
+break _278;
+}
+}
+_447: while(true){
+ r3 = heapU8[r7];
+ if(r3 ==0) //_LBB822_349
+{
+__label__ = 331;
+break _447;
+}
+else{
+ r4 = 0;
+_450: while(true){
+ if(r4 ==-1) //_LBB822_350
+{
+__label__ = 332;
+break _447;
+}
+else{
+ r8 = _2E_str4133;
+ r8 = (r8 - r4)|0;
+ r10 = r3 & 255;
+ r8 = heapU8[r8];
+ if(r10 !=r8) //_LBB822_343
+{
+ r4 = (r4 + -1)|0;
+}
+else{
+break _450;
+}
+}
+}
+ r7 = (r7 + 1)|0;
+}
+}
+if (__label__ == 332){
+ if(r3 ==0) //_LBB822_349
+{
+__label__ = 331;
+}
+else{
+ r3 = r7;
+_458: while(true){
+ r4 = heapU8[r3];
+ if(r4 ==0) //_LBB822_358
+{
+break _458;
+}
+else{
+ r8 = 1;
+_461: while(true){
+ if(r8 !=0) //_LBB822_352
+{
+ r10 = _2E_str4133;
+ r10 = (r10 - r8)|0;
+ r11 = r4 & 255;
+ r10 = heapU8[r10+1];
+ if(r11 ==r10) //_LBB822_358
+{
+break _458;
+}
+else{
+ r8 = (r8 + -1)|0;
+}
+}
+else{
+break _461;
+}
+}
+ r3 = (r3 + 1)|0;
+}
+}
+ r4 = heapU8[r3];
+ if(r4 !=0) //_LBB822_360
+{
+ r8 = (r3 + 1)|0;
+ r4 = 0;
+ heap8[r3] = r4;
+ r4 = r7;
+ r7 = r8;
+__label__ = 343;
+}
+else{
+ r4 = r7;
+ r7 = r3;
+__label__ = 343;
+}
+}
+}
+if (__label__ == 331){
+ r4 = 0;
+}
+ heap32[(r9)] = r7;
+_473: while(true){
+ r3 = heapU8[r7];
+ if(r3 ==0) //_LBB822_368
+{
+__label__ = 359;
+break _473;
+}
+else{
+ r8 = 0;
+_476: while(true){
+ if(r8 ==-1) //_LBB822_369
+{
+__label__ = 350;
+break _473;
+}
+else{
+ r10 = _2E_str4133;
+ r10 = (r10 - r8)|0;
+ r11 = r3 & 255;
+ r10 = heapU8[r10];
+ if(r11 !=r10) //_LBB822_362
+{
+ r8 = (r8 + -1)|0;
+}
+else{
+break _476;
+}
+}
+}
+ r7 = (r7 + 1)|0;
+}
+}
+if (__label__ == 350){
+if(!(r3 ==0)) //_LBB822_368
+{
+_483: while(true){
+ r3 = heapU8[r7];
+ if(r3 ==0) //_LBB822_377
+{
+break _483;
+}
+else{
+ r8 = 1;
+_486: while(true){
+ if(r8 !=0) //_LBB822_371
+{
+ r10 = _2E_str4133;
+ r10 = (r10 - r8)|0;
+ r11 = r3 & 255;
+ r10 = heapU8[r10+1];
+ if(r11 ==r10) //_LBB822_377
+{
+break _483;
+}
+else{
+ r8 = (r8 + -1)|0;
+}
+}
+else{
+break _486;
+}
+}
+ r7 = (r7 + 1)|0;
+}
+}
+ r3 = heapU8[r7];
+ if(r3 !=0) //_LBB822_379
+{
+ r3 = (r7 + 1)|0;
+ r8 = 0;
+ heap8[r7] = r8;
+ r7 = r3;
+}
+}
+}
+ r3 = (r6 + 1)|0;
+ heap32[(r9)] = r7;
+ r7 = heapU8[r4];
+_494: do {
+ if(r7 ==0) //_LBB822_382
+{
+ r8 = 1;
+}
+else{
+ r7 = 1;
+_497: while(true){
+ r8 = (r7 + 1)|0;
+ r9 = heapU8[r4+r7];
+ r7 = r8;
+if(!(r9 !=0)) //_LBB822_383
+{
+break _494;
+}
+}
+}
+} while(0);
+ r7 = _ZL17g_apPackFileNames;
+ r6 = r6 << 2;
+ r6 = (r7 + r6)|0;
+ heap32[(g0)] = r8;
+ r6 = r6 >> 2;
+ _Znaj(i7);
+ heap32[(r6+1)] = r_g0;
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r4;
+ r4 = 0;
+ strcpy(i7);
+}
+ heap32[(g0)] = r2;
+ free(i7);
+}
+}
+ r0 = sp + -2440;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ r1 = _ZGVZ21Mandreel_GetTickCountE7s_first;
+ gettimeofday(i7);
+ r2 = heapU8[r1];
+if(!(r2 !=0)) //_LBB822_391
+{
+ r2 = heap32[(fp+-610)];
+ r3 = r2 >> 31;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 1000000;
+ heap32[(g0+3)] = 0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ __muldi3(i7);
+ r4 = 1;
+ r5 = (r_g0 + r0)|0;
+ r6 = 0;
+ r7 = r0 >> 31;
+ r2 = uint(r5) < uint(r_g0) ? r4 : r6;
+ r6 = _ZZ21Mandreel_GetTickCountE7s_first;
+ r3 = (r_g1 + r7)|0;
+ r0 = uint(r5) < uint(r0) ? r4 : r2;
+ r2 = r6 >> 2;
+ r0 = (r3 + r0)|0;
+ heap32[(r2)] = r5;
+ heap32[(r2+1)] = r0;
+ heap8[r1] = r4;
+}
+ return;
+}
+else{
+ r2 = _2E_str34255;
+ r0 = _2E_str1222;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = 307;
+ _assert(i7);
+}
+}
+
+function __forceSuperLink(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ __mandreel_internal_init(i7);
+ r0 = sp + -8;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ r1 = _ZGVZ21Mandreel_GetTickCountE7s_first;
+ gettimeofday(i7);
+ r2 = heapU8[r1];
+if(!(r2 !=0)) //_LBB823_2
+{
+ r2 = heap32[(fp+-2)];
+ r3 = r2 >> 31;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = 1000000;
+ heap32[(g0+3)] = 0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ __muldi3(i7);
+ r4 = 1;
+ r5 = (r_g0 + r0)|0;
+ r6 = 0;
+ r7 = r0 >> 31;
+ r2 = uint(r5) < uint(r_g0) ? r4 : r6;
+ r6 = _ZZ21Mandreel_GetTickCountE7s_first;
+ r3 = (r_g1 + r7)|0;
+ r0 = uint(r5) < uint(r0) ? r4 : r2;
+ r2 = r6 >> 2;
+ r0 = (r3 + r0)|0;
+ heap32[(r2)] = r5;
+ heap32[(r2+1)] = r0;
+ heap8[r1] = r4;
+}
+ r0 = _ZZ29__mandreel_internal_preupdateE8s_bfirst_2E_b;
+ r1 = heapU8[r0];
+if(!(r1 != 0)) //_LBB823_4
+{
+ r1 = 1;
+ heap8[r0] = r1;
+}
+ return;
+}
+
+function _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = sp + -16;
+ r1 = r0 >> 2;
+ heap32[(fp+-4)] = 0;
+ heap32[(r1+1)] = 0;
+ r2 = heap32[(fp)];
+ heap32[(r1+2)] = 16;
+ r3 = r2 >> 2;
+ heap32[(r1+3)] = 0;
+ r4 = heap32[(fp+2)];
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r4 = r4 >> 2;
+ r3 = heap32[(r3+5)];
+ r5 = heap32[(r4)];
+ r6 = heap32[(fp+1)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r6;
+ heap32[(g0+2)] = r5;
+ heap32[(g0+3)] = r0;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ r0 = heap32[(r1+1)];
+ r0 = r0 & 6;
+ if(r0 !=6) //_LBB824_2
+{
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+else{
+ r0 = heap32[(fp+-4)];
+ heap32[(r4)] = r0;
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+4)];
+ r1 = heap32[(fp+2)];
+ r2 = 6;
+ r3 = 1;
+ r0 = r0 == r1 ? r2 : r3;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNKSt9type_info10__do_catchEPKS_PPvj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = heap32[(r1+1)];
+ r2 = _2E_str26;
+ r0 = r0 == 0 ? r2 : r0;
+ r1 = r1 == 0 ? r2 : r1;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r2 = r_g0;
+ if(r2 <0) //_LBB826_2
+{
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+else{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ strcmp(i7);
+ r0 = r_g0 >>> 31;
+ r0 = r0 ^ 1;
+ r_g0 = r0;
+ return;
+}
+}
+
+function _ZN10__cxxabiv117__class_type_infoD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVSt9type_info;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN10__cxxabiv117__class_type_infoD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVSt9type_info;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = heap32[(r1+1)];
+ r2 = _2E_str26;
+ r0 = r0 == 0 ? r2 : r0;
+ r1 = r1 == 0 ? r2 : r1;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r2 = r_g0;
+ if(r2 >-1) //_LBB829_2
+{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ r0 = -1;
+ strcmp(i7);
+ r0 = r_g0 > r0;
+}
+else{
+ r0 = 0;
+}
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = r1 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = heap32[(r1+1)];
+ r2 = _2E_str26;
+ r0 = r0 == 0 ? r2 : r0;
+ r1 = r1 == 0 ? r2 : r1;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r2 = r_g0;
+if(!(r2 <0)) //_LBB830_3
+{
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ strcmp(i7);
+ r0 = r_g0;
+if(!(r0 <0)) //_LBB830_3
+{
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+3)];
+ r1 = r1 >> 2;
+ heap32[(r1)] = r0;
+ heap32[(r1+3)] = 8;
+ heap32[(r1+1)] = 6;
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp+4)];
+ r2 = heap32[(fp+2)];
+ r3 = heap32[(fp+7)];
+ r0 = heap32[(r0+1)];
+ r4 = heap32[(fp+6)];
+if(!(r1 !=r4)) //_LBB831_3
+{
+ r4 = heap32[(fp+5)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+1)];
+ r5 = _2E_str26;
+ r4 = r4 == 0 ? r5 : r4;
+ r5 = r0 == 0 ? r5 : r0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ strcmp(i7);
+ r6 = r_g0;
+if(!(r6 <0)) //_LBB831_3
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ strcmp(i7);
+ r4 = r_g0;
+ if(r4 >-1) //_LBB831_5
+{
+ r1 = r3 >> 2;
+ heap32[(r1+2)] = r2;
+ r1 = 0;
+ r_g0 = r1;
+ return;
+}
+}
+}
+ r4 = heap32[(fp+3)];
+ r4 = r4 >> 2;
+ r4 = heap32[(r4+1)];
+ r5 = _2E_str26;
+ r4 = r4 == 0 ? r5 : r4;
+ r0 = r0 == 0 ? r5 : r0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r4;
+ strcmp(i7);
+ r5 = r_g0;
+if(!(r5 <0)) //_LBB831_7
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r0;
+ strcmp(i7);
+ r0 = r_g0;
+if(!(r0 <0)) //_LBB831_7
+{
+ r0 = r3 >> 2;
+ heap32[(r0)] = r1;
+ heap32[(r0+1)] = r2;
+ heap32[(r0+3)] = 1;
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZN10__cxxabiv120__si_class_type_infoD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVSt9type_info;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function _ZN10__cxxabiv120__si_class_type_infoD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVSt9type_info;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = r0 >> 2;
+ r1 = r1 >> 2;
+ r2 = heap32[(r2+1)];
+ r3 = heap32[(r1+1)];
+ r4 = _2E_str26;
+ r2 = r2 == 0 ? r4 : r2;
+ r3 = r3 == 0 ? r4 : r3;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ strcmp(i7);
+ r6 = r_g0;
+if(!(r6 <0)) //_LBB834_2
+{
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ strcmp(i7);
+ r2 = r_g0;
+ if(r2 >-1) //_LBB834_3
+{
+ r0 = r5 >> 2;
+ heap32[(r0)] = r4;
+ heap32[(r0+3)] = 8;
+ heap32[(r0+1)] = 6;
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+}
+ r1 = heap32[(r1+2)];
+ r2 = r1 >> 2;
+ r2 = heap32[(r2)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+5)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r5;
+ __FUNCTION_TABLE__[(r2)>>2](i7);
+ return;
+}
+
+function _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+3)];
+ r1 = heap32[(fp)];
+ r2 = r0 >> 2;
+ r1 = r1 >> 2;
+ r2 = heap32[(r2+1)];
+ r3 = heap32[(r1+1)];
+ r4 = _2E_str26;
+ r2 = r2 == 0 ? r4 : r2;
+ r3 = r3 == 0 ? r4 : r3;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ r5 = heap32[(fp+1)];
+ r6 = heap32[(fp+2)];
+ r7 = heap32[(fp+4)];
+ r8 = heap32[(fp+6)];
+ r9 = heap32[(fp+7)];
+ strcmp(i7);
+ r10 = r_g0;
+ if(r10 <0) //_LBB835_6
+{
+__label__ = 6;
+}
+else{
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r3;
+ strcmp(i7);
+ r2 = r_g0;
+ if(r2 <0) //_LBB835_6
+{
+__label__ = 6;
+}
+else{
+ r0 = r9 >> 2;
+ heap32[(r0)] = r7;
+ heap32[(r0+1)] = r6;
+ if(r5 <0) //_LBB835_4
+{
+ if(r5 !=-2) //_LBB835_11
+{
+__label__ = 11;
+}
+else{
+ heap32[(r0+3)] = 1;
+__label__ = 11;
+}
+}
+else{
+ r1 = (r7 + r5)|0;
+ r3 = 6;
+ r4 = 1;
+ r1 = r1 == r8 ? r3 : r4;
+ heap32[(r0+3)] = r1;
+__label__ = 11;
+}
+}
+}
+_8: do {
+if (__label__ == 6){
+ r2 = heap32[(fp+5)];
+if(!(r7 !=r8)) //_LBB835_9
+{
+ r10 = r2 >> 2;
+ r10 = heap32[(r10+1)];
+ r4 = r10 == 0 ? r4 : r10;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r4;
+ strcmp(i7);
+ r10 = r_g0;
+if(!(r10 <0)) //_LBB835_9
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r3;
+ strcmp(i7);
+ r3 = r_g0;
+ if(r3 >-1) //_LBB835_10
+{
+ r0 = r9 >> 2;
+ heap32[(r0+2)] = r6;
+break _8;
+}
+}
+}
+ r1 = heap32[(r1+2)];
+ r3 = r1 >> 2;
+ r3 = heap32[(r3)];
+ r3 = r3 >> 2;
+ r3 = heap32[(r3+6)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r5;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r0;
+ heap32[(g0+4)] = r7;
+ heap32[(g0+5)] = r2;
+ heap32[(g0+6)] = r8;
+ heap32[(g0+7)] = r9;
+ __FUNCTION_TABLE__[(r3)>>2](i7);
+ return;
+}
+} while(0);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+4)];
+ r1 = heap32[(fp+2)];
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+3)];
+if(!(r0 !=r1)) //_LBB836_3
+{
+ r4 = r3 >> 2;
+ r5 = r2 >> 2;
+ r4 = heap32[(r4+1)];
+ r5 = heap32[(r5+1)];
+ r6 = _2E_str26;
+ r4 = r4 == 0 ? r6 : r4;
+ r5 = r5 == 0 ? r6 : r5;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ strcmp(i7);
+ r6 = r_g0;
+if(!(r6 <0)) //_LBB836_3
+{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ strcmp(i7);
+ r4 = r_g0;
+ if(r4 >-1) //_LBB836_4
+{
+ r0 = 6;
+ r_g0 = r0;
+ return;
+}
+}
+}
+ r4 = heap32[(fp+1)];
+ r2 = r2 >> 2;
+ r2 = heap32[(r2+2)];
+ r5 = r2 >> 2;
+ r5 = heap32[(r5)];
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+7)];
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r0;
+ __FUNCTION_TABLE__[(r5)>>2](i7);
+ return;
+}
+
+function _ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = r0 >> 2;
+ r3 = r1 >> 2;
+ r2 = heap32[(r2+1)];
+ r4 = heap32[(r3+1)];
+ r5 = _2E_str26;
+ r2 = r2 == 0 ? r5 : r2;
+ r4 = r4 == 0 ? r5 : r4;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r2;
+ r6 = heap32[(fp+2)];
+ r7 = heap32[(fp+3)];
+ strcmp(i7);
+ r8 = r_g0;
+ if(r8 <0) //_LBB837_3
+{
+__label__ = 3;
+}
+else{
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ strcmp(i7);
+ r2 = r_g0;
+ if(r2 <0) //_LBB837_3
+{
+__label__ = 3;
+}
+else{
+ r0 = r7 >> 2;
+ heap32[(r0)] = r6;
+ heap32[(r0+3)] = 8;
+ heap32[(r0+1)] = 6;
+__label__ = 39;
+}
+}
+_4: do {
+if (__label__ == 3){
+ r2 = r7 >> 2;
+ r4 = heap32[(r2+2)];
+ r7 = r4 & 16;
+ if(r7 !=0) //_LBB837_5
+{
+ r4 = heap32[(r3+2)];
+}
+ r3 = heap32[(r3+3)];
+ r7 = r4 & 1;
+ r3 = (r3 + 1)|0;
+_9: while(true){
+ if(r3 !=1) //_LBB837_7
+{
+ r8 = sp + -16;
+ r9 = r8 >> 2;
+ heap32[(fp+-4)] = 0;
+ r10 = r3 << 3;
+ heap32[(r9+1)] = 0;
+ r10 = (r1 + r10)|0;
+ heap32[(r9+2)] = r4;
+ r10 = r10 >> 2;
+ heap32[(r9+3)] = 0;
+ r10 = heap32[(r10+1)];
+ r11 = r10 & 2;
+ if(r7 !=0) //_LBB837_10
+{
+__label__ = 9;
+}
+else{
+ r12 = r11 >>> 1;
+ if(r12 != 0) //_LBB837_10
+{
+__label__ = 9;
+}
+else{
+__label__ = 8;
+}
+}
+if (__label__ == 9){
+ r12 = r3 << 1;
+ r13 = r10 & 1;
+ if(r6 !=0) //_LBB837_12
+{
+ r10 = r10 >> 8;
+ if(r13 != 0) //_LBB837_14
+{
+ r14 = r6 >> 2;
+ r14 = heap32[(r14)];
+ r10 = (r14 + r10)|0;
+ r10 = r10 >> 2;
+ r10 = heap32[(r10)];
+}
+ r10 = (r6 + r10)|0;
+}
+else{
+ r10 = 0;
+}
+ r12 = r12 << 2;
+ r12 = (r1 + r12)|0;
+ r12 = r12 >> 2;
+ r14 = heap32[(r12)];
+ r15 = r14 >> 2;
+ r15 = heap32[(r15)];
+ r15 = r15 >> 2;
+ r15 = heap32[(r15+5)];
+ heap32[(g0)] = r14;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r8;
+ __FUNCTION_TABLE__[(r15)>>2](i7);
+ r8 = r_g0;
+if(!(r8 ==0)) //_LBB837_9
+{
+ r8 = heap32[(r9+3)];
+if(!(r8 !=8)) //_LBB837_19
+{
+ if(r13 != 0) //_LBB837_20
+{
+ r8 = heap32[(r12)];
+ heap32[(r9+3)] = r8;
+}
+}
+ r10 = heap32[(r9+1)];
+if(!(r10 <4)) //_LBB837_23
+{
+ if(r11 ==0) //_LBB837_24
+{
+ r10 = r10 & -3;
+ heap32[(r9+1)] = r10;
+}
+}
+ r11 = heap32[(r2+3)];
+ if(r11 !=0) //_LBB837_31
+{
+ r9 = heap32[(r2)];
+ r12 = heap32[(fp+-4)];
+ if(r9 ==r12) //_LBB837_33
+{
+ if(r9 ==0) //_LBB837_35
+{
+ if(r8 ==8) //_LBB837_39
+{
+__label__ = 35;
+break _9;
+}
+else{
+ if(r11 ==8) //_LBB837_39
+{
+__label__ = 35;
+break _9;
+}
+else{
+ r9 = r11 >> 2;
+ r8 = r8 >> 2;
+ r9 = heap32[(r9+1)];
+ r8 = heap32[(r8+1)];
+ r9 = r9 == 0 ? r5 : r9;
+ r8 = r8 == 0 ? r5 : r8;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r9;
+ strcmp(i7);
+ r11 = r_g0;
+ if(r11 <0) //_LBB837_39
+{
+__label__ = 35;
+break _9;
+}
+else{
+ heap32[(g0)] = r9;
+ heap32[(g0+1)] = r8;
+ strcmp(i7);
+ r8 = r_g0;
+ if(r8 >-1) //_LBB837_40
+{
+ r8 = heap32[(r2+1)];
+ r8 = r10 | r8;
+ heap32[(r2+1)] = r8;
+}
+else{
+__label__ = 35;
+break _9;
+}
+}
+}
+}
+}
+else{
+ r8 = heap32[(r2+1)];
+ r8 = r10 | r8;
+ heap32[(r2+1)] = r8;
+}
+}
+else{
+__label__ = 28;
+break _9;
+}
+}
+else{
+ r11 = heap32[(fp+-4)];
+ heap32[(r2)] = r11;
+ heap32[(r2+1)] = r10;
+ r11 = heap32[(r9+2)];
+ heap32[(r2+2)] = r11;
+ heap32[(r2+3)] = r8;
+ if(r10 <4) //_LBB837_43
+{
+break _4;
+}
+else{
+ r8 = r10 & 2;
+ if(r8 ==0) //_LBB837_29
+{
+ r8 = r10 & 1;
+ if(r8 ==0) //_LBB837_43
+{
+break _4;
+}
+else{
+ r8 = heapU8[r1+8];
+ r8 = r8 & 2;
+ if(r8 ==0) //_LBB837_43
+{
+break _4;
+}
+}
+}
+else{
+ r8 = heapU8[r1+8];
+ r8 = r8 & 1;
+ if(r8 ==0) //_LBB837_43
+{
+break _4;
+}
+}
+}
+}
+}
+}
+ r3 = (r3 + -1)|0;
+continue _9;
+}
+else{
+__label__ = 38;
+break _9;
+}
+}
+switch(__label__ ){//multiple entries
+case 38:
+ r0 = heap32[(r2+1)];
+ r1 = 0;
+ r0 = r0 != r1;
+ r0 = r0 & 1;
+ r_g0 = r0;
+ return;
+break;
+case 28:
+ heap32[(r2)] = 0;
+break;
+}
+ heap32[(r2+1)] = 2;
+}
+} while(0);
+ r0 = 1;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+ var r17;
+ var r18;
+ var r19;
+ var r20;
+ var r21;
+ var r22;
+ var r23;
+var __label__ = 0;
+ i7 = sp + -56;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+7)];
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+4)];
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+1)];
+ r4 = heap32[(fp+2)];
+ r5 = heap32[(fp+3)];
+ r6 = heap32[(fp+4)];
+ r7 = heap32[(fp+5)];
+ r8 = heap32[(fp+6)];
+ r9 = r1 & 16;
+ if(r9 !=0) //_LBB838_2
+{
+ r1 = r2 >> 2;
+ r1 = heap32[(r1+2)];
+ heap32[(r0+4)] = r1;
+}
+ r9 = r2 >> 2;
+ r10 = heap32[(r9+1)];
+ if(r6 !=r8) //_LBB838_6
+{
+__label__ = 5;
+}
+else{
+ r11 = r7 >> 2;
+ r11 = heap32[(r11+1)];
+ r12 = _2E_str26;
+ r11 = r11 == 0 ? r12 : r11;
+ r12 = r10 == 0 ? r12 : r10;
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r11;
+ strcmp(i7);
+ r13 = r_g0;
+ if(r13 <0) //_LBB838_6
+{
+__label__ = 5;
+}
+else{
+ heap32[(g0)] = r11;
+ heap32[(g0+1)] = r12;
+ strcmp(i7);
+ r11 = r_g0;
+ if(r11 >-1) //_LBB838_8
+{
+ heap32[(r0+2)] = r4;
+__label__ = 8;
+}
+else{
+__label__ = 5;
+}
+}
+}
+_8: do {
+if (__label__ == 5){
+ r11 = r5 >> 2;
+ r12 = heap32[(r11+1)];
+ r13 = _2E_str26;
+ r12 = r12 == 0 ? r13 : r12;
+ r10 = r10 == 0 ? r13 : r10;
+ heap32[(g0)] = r10;
+ heap32[(g0+1)] = r12;
+ strcmp(i7);
+ r13 = r_g0;
+ if(r13 <0) //_LBB838_15
+{
+__label__ = 14;
+}
+else{
+ heap32[(g0)] = r12;
+ heap32[(g0+1)] = r10;
+ strcmp(i7);
+ r10 = r_g0;
+ if(r10 <0) //_LBB838_15
+{
+__label__ = 14;
+}
+else{
+ heap32[(r0)] = r6;
+ heap32[(r0+1)] = r4;
+ if(r3 <0) //_LBB838_12
+{
+ if(r3 ==-2) //_LBB838_14
+{
+ heap32[(r0+3)] = 1;
+ r9 = 0;
+ r_g0 = r9;
+ return;
+}
+else{
+__label__ = 12;
+}
+}
+else{
+ r1 = (r6 + r3)|0;
+ r2 = 6;
+ r3 = 1;
+ r1 = r1 == r8 ? r2 : r3;
+ heap32[(r0+3)] = r1;
+break _8;
+}
+}
+}
+_17: do {
+if (__label__ == 14){
+ r10 = heap32[(r9+3)];
+ r12 = r1 & 2;
+ r9 = 0;
+ r13 = r1;
+_19: while(true){
+ r14 = r13 & 3;
+_21: while(true){
+ r15 = r9;
+ r9 = r10 << 3;
+ r9 = (r2 + r9)|0;
+ r20 = 0;
+_23: while(true){
+ r16 = r20;
+ if(r10 !=r16) //_LBB838_16
+{
+ r17 = sp + -24;
+ r18 = r17 >> 2;
+ heap32[(fp+-6)] = 0;
+ heap32[(r18+1)] = 0;
+ heap32[(r18+2)] = 0;
+ r19 = r16 << 3;
+ r19 = (r9 - r19)|0;
+ heap32[(r18+3)] = 0;
+ r19 = r19 >> 2;
+ heap32[(r18+4)] = r13;
+ r20 = heap32[(r19+3)];
+ r21 = r20 & 1;
+ r22 = r20 >> 8;
+ if(r21 != 0) //_LBB838_18
+{
+ r23 = r6 >> 2;
+ r23 = heap32[(r23)];
+ r22 = (r23 + r22)|0;
+ r22 = r22 >> 2;
+ r22 = heap32[(r22)];
+}
+ r20 = r20 & 2;
+ if(r20 ==0) //_LBB838_21
+{
+ if(r3 !=-2) //_LBB838_23
+{
+__label__ = 21;
+break _23;
+}
+else{
+ r20 = (r16 + 1)|0;
+ if(r14 ==0) //_LBB838_88
+{
+continue _23;
+}
+else{
+__label__ = 21;
+break _23;
+}
+}
+}
+else{
+__label__ = 18;
+break _23;
+}
+}
+else{
+__label__ = 77;
+break _19;
+}
+}
+switch(__label__ ){//multiple entries
+case 21:
+ r9 = r4 & -3;
+break;
+case 18:
+ r9 = r4;
+break;
+}
+ r20 = heap32[(r19+2)];
+ r19 = r20 >> 2;
+ r19 = heap32[(r19)];
+ r19 = r19 >> 2;
+ r19 = heap32[(r19+6)];
+ r9 = r21 | r9;
+ r21 = (r6 + r22)|0;
+ heap32[(g0)] = r20;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r9;
+ heap32[(g0+3)] = r5;
+ heap32[(g0+4)] = r21;
+ heap32[(g0+5)] = r7;
+ heap32[(g0+6)] = r8;
+ heap32[(g0+7)] = r17;
+ __FUNCTION_TABLE__[(r19)>>2](i7);
+ r9 = r_g0;
+ r20 = heap32[(r0+2)];
+ r17 = heap32[(r18+2)];
+ r20 = r17 | r20;
+ heap32[(r0+2)] = r20;
+ r17 = heap32[(r18+3)];
+ if(r17 ==2) //_LBB838_26
+{
+__label__ = 24;
+break _19;
+}
+else{
+ if(r17 !=6) //_LBB838_27
+{
+ r19 = (r10 + -1)|0;
+ r10 = heap32[(r0)];
+ r21 = r15 & 255;
+ if(r21 !=0) //_LBB838_34
+{
+__label__ = 30;
+break _21;
+}
+else{
+ if(r10 !=0) //_LBB838_35
+{
+__label__ = 31;
+break _21;
+}
+else{
+ r10 = heap32[(fp+-6)];
+ heap32[(r0)] = r10;
+ r15 = heap32[(r18+1)];
+ heap32[(r0+1)] = r15;
+ if(r10 !=0) //_LBB838_31
+{
+ r10 = (r19 - r16)|0;
+ if(r20 ==0) //_LBB838_87
+{
+continue _21;
+}
+else{
+__label__ = 29;
+break _21;
+}
+}
+else{
+__label__ = 73;
+break _21;
+}
+}
+}
+}
+else{
+__label__ = 24;
+break _19;
+}
+}
+}
+_40: do {
+switch(__label__ ){//multiple entries
+case 30:
+ if(r10 ==0) //_LBB838_37
+{
+ r14 = heap32[(fp+-6)];
+ r10 = 0;
+__label__ = 36;
+break _40;
+}
+else{
+__label__ = 31;
+break _40;
+}
+break;
+case 29:
+ r10 = heapU8[r2+8];
+ r10 = r10 & 1;
+ if(r10 != 0) //_LBB838_30
+{
+__label__ = 73;
+}
+else{
+__label__ = 78;
+break _17;
+}
+break;
+}
+} while(0);
+if (__label__ == 31){
+ r14 = heap32[(fp+-6)];
+ if(r10 !=r14) //_LBB838_38
+{
+ if(r14 !=0) //_LBB838_40
+{
+__label__ = 39;
+}
+else{
+ if(r9 ==0) //_LBB838_41
+{
+__label__ = 36;
+}
+else{
+__label__ = 39;
+}
+}
+}
+else{
+ r9 = heap32[(r0+1)];
+ r10 = heap32[(r18+1)];
+ r9 = r10 | r9;
+ heap32[(r0+1)] = r9;
+ r9 = r15;
+__label__ = 73;
+}
+}
+_50: do {
+if (__label__ == 36){
+if(!(r14 ==0)) //_LBB838_44
+{
+if(!(r21 ==0)) //_LBB838_44
+{
+__label__ = 39;
+break _50;
+}
+}
+ r9 = r15;
+__label__ = 73;
+}
+} while(0);
+if (__label__ == 39){
+ r9 = heap32[(r0+3)];
+_57: do {
+ if(r20 >3) //_LBB838_47
+{
+ r14 = r20 & 1;
+if(!(r14 ==0)) //_LBB838_52
+{
+if(!(r12 ==0)) //_LBB838_52
+{
+ r13 = r1;
+__label__ = 43;
+break _57;
+}
+}
+ r13 = r14 == 0 ? r13 : r1;
+ r10 = 1;
+ r9 = r9 == 0 ? r10 : r9;
+ if(r17 ==0) //_LBB838_54
+{
+ r17 = r10;
+__label__ = 64;
+}
+else{
+__label__ = 64;
+}
+}
+else{
+__label__ = 43;
+}
+} while(0);
+_64: do {
+if (__label__ == 43){
+ if(r9 <1) //_LBB838_55
+{
+_68: do {
+if(!(r17 <4)) //_LBB838_59
+{
+ r9 = r17 & 1;
+ if(r9 != 0) //_LBB838_58
+{
+ r9 = heapU8[r2+8];
+ r9 = r9 & 2;
+if(!(r9 ==0)) //_LBB838_57
+{
+break _68;
+}
+}
+ r9 = 1;
+break _64;
+}
+} while(0);
+ if(r3 <0) //_LBB838_61
+{
+ if(r3 !=-2) //_LBB838_63
+{
+ r9 = heap32[(r11)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+7)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = r8;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r9 = r_g0;
+}
+else{
+ r9 = 1;
+}
+}
+else{
+ r9 = (r10 + r3)|0;
+ r10 = 6;
+ r14 = 1;
+ r9 = r9 == r8 ? r10 : r14;
+}
+}
+ if(r17 <1) //_LBB838_66
+{
+ if(r9 <4) //_LBB838_70
+{
+__label__ = 60;
+}
+else{
+ r10 = r9 & 1;
+ if(r10 != 0) //_LBB838_69
+{
+ r10 = heapU8[r2+8];
+ r10 = r10 & 2;
+ if(r10 ==0) //_LBB838_68
+{
+__label__ = 58;
+}
+else{
+__label__ = 60;
+}
+}
+else{
+__label__ = 58;
+}
+}
+if (__label__ == 60){
+ r10 = heap32[(fp+-6)];
+ if(r3 <0) //_LBB838_72
+{
+if(!(r3 ==-2)) //_LBB838_68
+{
+ r14 = heap32[(r11)];
+ r14 = r14 >> 2;
+ r14 = heap32[(r14+7)];
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r3;
+ heap32[(g0+2)] = r10;
+ heap32[(g0+3)] = r7;
+ heap32[(g0+4)] = r8;
+ __FUNCTION_TABLE__[(r14)>>2](i7);
+ r17 = r_g0;
+break _64;
+}
+}
+else{
+ r10 = (r10 + r3)|0;
+ r14 = 6;
+ r17 = 1;
+ r17 = r10 == r8 ? r14 : r17;
+break _64;
+}
+}
+ r17 = 1;
+}
+}
+} while(0);
+ r10 = r9 ^ r17;
+ if(r10 <4) //_LBB838_81
+{
+ r9 = r9 & r17;
+ heap32[(r0)] = 0;
+ if(r9 <4) //_LBB838_83
+{
+ r9 = 1;
+ heap32[(r0+3)] = 1;
+}
+else{
+__label__ = 71;
+break _19;
+}
+}
+else{
+ if(r17 >3) //_LBB838_77
+{
+ r9 = heap32[(fp+-6)];
+ heap32[(r0)] = r9;
+ r9 = heap32[(r18+1)];
+ r15 = 0;
+ heap32[(r0+1)] = r9;
+ r9 = r17;
+}
+ heap32[(r0+3)] = r9;
+ r10 = r9 & 2;
+ if(r10 !=0) //_LBB838_13
+{
+__label__ = 12;
+break _17;
+}
+else{
+ r9 = r9 & 1;
+ if(r9 ==0) //_LBB838_13
+{
+__label__ = 12;
+break _17;
+}
+else{
+ r9 = r15;
+}
+}
+}
+}
+ r10 = (r19 - r16)|0;
+ if(r20 !=4) //_LBB838_86
+{
+continue _19;
+}
+else{
+__label__ = 78;
+break _17;
+}
+}
+switch(__label__ ){//multiple entries
+case 24:
+ r20 = heap32[(fp+-6)];
+ heap32[(r0)] = r20;
+ r20 = heap32[(r18+1)];
+ heap32[(r0+1)] = r20;
+ heap32[(r0+3)] = r17;
+ r_g0 = r9;
+ return;
+break;
+case 71:
+ heap32[(r0+3)] = 2;
+ r9 = 1;
+ r_g0 = r9;
+ return;
+break;
+case 77:
+ r9 = r15;
+__label__ = 78;
+break;
+}
+}
+} while(0);
+if (__label__ == 12){
+ r9 = 0;
+}
+ r0 = r9 & 255;
+ r_g0 = r0;
+ return;
+}
+} while(0);
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+4)];
+ r2 = heap32[(fp)];
+ r3 = heap32[(fp+3)];
+ if(r0 !=r1) //_LBB839_4
+{
+__label__ = 4;
+}
+else{
+ r4 = r3 >> 2;
+ r5 = r2 >> 2;
+ r4 = heap32[(r4+1)];
+ r5 = heap32[(r5+1)];
+ r6 = _2E_str26;
+ r4 = r4 == 0 ? r6 : r4;
+ r5 = r5 == 0 ? r6 : r5;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r4;
+ strcmp(i7);
+ r6 = r_g0;
+ if(r6 <0) //_LBB839_4
+{
+__label__ = 4;
+}
+else{
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r5;
+ strcmp(i7);
+ r4 = r_g0;
+ if(r4 <0) //_LBB839_4
+{
+__label__ = 4;
+}
+else{
+ r0 = 6;
+__label__ = 15;
+}
+}
+}
+if (__label__ == 4){
+ r4 = heap32[(fp+1)];
+ r5 = r2 >> 2;
+ r5 = heap32[(r5+3)];
+ r5 = (r5 + 1)|0;
+_7: while(true){
+ if(r5 !=1) //_LBB839_5
+{
+ r6 = r5 << 3;
+ r6 = (r2 + r6)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6+1)];
+ r7 = r6 & 2;
+_10: do {
+ if(r7 !=0) //_LBB839_7
+{
+ r7 = r6 & 1;
+if(!(r7 ==0)) //_LBB839_9
+{
+ if(r4 ==-3) //_LBB839_6
+{
+break _10;
+}
+}
+ r8 = r5 << 1;
+ r6 = r6 >> 8;
+ if(r7 != 0) //_LBB839_11
+{
+ r9 = r0 >> 2;
+ r9 = heap32[(r9)];
+ r6 = (r9 + r6)|0;
+ r6 = r6 >> 2;
+ r6 = heap32[(r6)];
+}
+ r8 = r8 << 2;
+ r8 = (r2 + r8)|0;
+ r8 = r8 >> 2;
+ r8 = heap32[(r8)];
+ r9 = r8 >> 2;
+ r9 = heap32[(r9)];
+ r9 = r9 >> 2;
+ r9 = heap32[(r9+7)];
+ r6 = (r0 + r6)|0;
+ heap32[(g0)] = r8;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r6;
+ heap32[(g0+3)] = r3;
+ heap32[(g0+4)] = r1;
+ __FUNCTION_TABLE__[(r9)>>2](i7);
+ r6 = r_g0;
+if(!(r6 <4)) //_LBB839_6
+{
+__label__ = 12;
+break _7;
+}
+}
+} while(0);
+ r5 = (r5 + -1)|0;
+continue _7;
+}
+else{
+__label__ = 14;
+break _7;
+}
+}
+switch(__label__ ){//multiple entries
+case 14:
+ r0 = 1;
+break;
+case 12:
+ r0 = r6 | r7;
+ r_g0 = r0;
+ return;
+break;
+}
+}
+ r_g0 = r0;
+ return;
+}
+
+function _ZN10__cxxabiv121__vmi_class_type_infoD0Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVSt9type_info;
+ r2 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r2)] = r1;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ return;
+}
+
+function _ZN10__cxxabiv121__vmi_class_type_infoD1Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = _ZTVSt9type_info;
+ r0 = r0 >> 2;
+ r1 = (r1 + 8)|0;
+ heap32[(r0)] = r1;
+ return;
+}
+
+function __extendsfdf2(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 & 2147483647;
+ r2 = r0 & -2147483648;
+ r3 = (r1 + -8388608)|0;
+ if(uint(r3) >uint(2130706431)) //_LBB842_2
+{
+ if(uint(r1) <uint(2139095040)) //_LBB842_4
+{
+ if(r1 !=0) //_LBB842_6
+{
+ r0 = r1 >>> 1;
+ r0 = r1 | r0;
+ r3 = r0 >>> 2;
+ r0 = r0 | r3;
+ r3 = r0 >>> 4;
+ r0 = r0 | r3;
+ r3 = r0 >>> 8;
+ r0 = r0 | r3;
+ r3 = r0 >>> 16;
+ r0 = r0 | r3;
+ r3 = r0 ^ -1;
+ r4 = 1431655765;
+ r3 = r3 >>> 1;
+ r0 = r4 & (~r0);
+ r3 = r3 & 1431655765;
+ r0 = (r0 + r3)|0;
+ r3 = r0 >>> 2;
+ r0 = r0 & 858993459;
+ r3 = r3 & 858993459;
+ r0 = (r0 + r3)|0;
+ r3 = r0 >>> 4;
+ r0 = r0 & 252645135;
+ r3 = r3 & 252645135;
+ r0 = (r0 + r3)|0;
+ r3 = r0 >>> 8;
+ r0 = r0 & 16711935;
+ r3 = r3 & 16711935;
+ r0 = (r0 + r3)|0;
+ r3 = r0 & 65535;
+ r0 = r0 >>> 16;
+ r0 = (r3 + r0)|0;
+ r3 = (r0 + 21)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r3;
+ r3 = 905;
+ __ashldi3(i7);
+ r1 = r_g0;
+ r0 = (r3 - r0)|0;
+ r3 = r_g1 ^ 1048576;
+ r0 = r0 << 20;
+ r0 = r3 | r0;
+}
+else{
+ r1 = 0;
+ r0 = r1;
+}
+}
+else{
+ r1 = r0 >>> 3;
+ r3 = r1 & 524288;
+ r1 = r0 & 4194303;
+ r0 = r3 | 2146435072;
+}
+}
+else{
+ r0 = r1 >>> 3;
+ r1 = r1 << 29;
+ r0 = (r0 + 939524096)|0;
+}
+ r3 = sp + -8;
+ r3 = r3 >> 2;
+ r0 = r0 | r2;
+ heap32[(fp+-2)] = r1;
+ heap32[(r3+1)] = r0;
+ f0 = llvm_readDouble((sp+-8));
+ f_g0 = f0;
+ return;
+}
+
+function __fixdfsi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = sp + 0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = r0 >>> 20;
+ r1 = r1 & 2047;
+ r2 = r0 & 1048575;
+ r3 = -1;
+ r4 = 1;
+ r5 = (r1 + -1023)|0;
+ r0 = r0 < 0 ? r3 : r4;
+ r3 = heap32[(fp)];
+ r2 = r2 | 1048576;
+ if(uint(r5) >uint(51)) //_LBB843_2
+{
+ if(r5 <0) //_LBB843_5
+{
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+else{
+ r1 = (r1 + -1075)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r1;
+ __ashldi3(i7);
+}
+}
+else{
+ r5 = 1075;
+ r1 = (r5 - r1)|0;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r1;
+ __lshrdi3(i7);
+}
+ heap32[(g0)] = r_g0;
+ heap32[(g0+1)] = r_g1;
+ heap32[(g0+2)] = r0;
+ heap32[(g0+3)] = r0;
+ __muldi3(i7);
+ return;
+}
+
+function __floatsidf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ if(r0 !=0) //_LBB844_2
+{
+ r1 = r0 >> 31;
+ r2 = (r0 + r1)|0;
+ r1 = r2 ^ r1;
+ r2 = r1 >>> 1;
+ r2 = r1 | r2;
+ r3 = r2 >>> 2;
+ r2 = r2 | r3;
+ r3 = r2 >>> 4;
+ r2 = r2 | r3;
+ r3 = r2 >>> 8;
+ r2 = r2 | r3;
+ r3 = r2 >>> 16;
+ r2 = r2 | r3;
+ r3 = r2 ^ -1;
+ r4 = 1431655765;
+ r3 = r3 >>> 1;
+ r2 = r4 & (~r2);
+ r3 = r3 & 1431655765;
+ r2 = (r2 + r3)|0;
+ r3 = r2 >>> 2;
+ r2 = r2 & 858993459;
+ r3 = r3 & 858993459;
+ r2 = (r2 + r3)|0;
+ r3 = r2 >>> 4;
+ r2 = r2 & 252645135;
+ r3 = r3 & 252645135;
+ r2 = (r2 + r3)|0;
+ r3 = r2 >>> 8;
+ r2 = r2 & 16711935;
+ r3 = r3 & 16711935;
+ r2 = (r2 + r3)|0;
+ r3 = r2 & 65535;
+ r2 = r2 >>> 16;
+ r4 = 31;
+ r2 = (r3 + r2)|0;
+ r3 = 52;
+ r4 = (r4 - r2)|0;
+ r3 = (r3 - r4)|0;
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r3;
+ r1 = 1054;
+ __ashldi3(i7);
+ r1 = (r1 - r2)|0;
+ r2 = r_g1 ^ 1048576;
+ r1 = r1 << 20;
+ r4 = sp + -8;
+ r1 = (r2 + r1)|0;
+ r0 = r0 & -2147483648;
+ r2 = r4 >> 2;
+ r0 = r1 | r0;
+ heap32[(fp+-2)] = r_g0;
+ heap32[(r2+1)] = r0;
+ f0 = llvm_readDouble((sp+-8));
+ f_g0 = f0;
+ return;
+}
+else{
+ f0 = 0;
+ f_g0 = f0;
+ return;
+}
+}
+
+function __floatunsidf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ if(r0 !=0) //_LBB845_2
+{
+ r1 = r0 >>> 1;
+ r1 = r0 | r1;
+ r2 = r1 >>> 2;
+ r1 = r1 | r2;
+ r2 = r1 >>> 4;
+ r1 = r1 | r2;
+ r2 = r1 >>> 8;
+ r1 = r1 | r2;
+ r2 = r1 >>> 16;
+ r1 = r1 | r2;
+ r2 = r1 ^ -1;
+ r3 = 1431655765;
+ r2 = r2 >>> 1;
+ r1 = r3 & (~r1);
+ r2 = r2 & 1431655765;
+ r1 = (r1 + r2)|0;
+ r2 = r1 >>> 2;
+ r1 = r1 & 858993459;
+ r2 = r2 & 858993459;
+ r1 = (r1 + r2)|0;
+ r2 = r1 >>> 4;
+ r1 = r1 & 252645135;
+ r2 = r2 & 252645135;
+ r1 = (r1 + r2)|0;
+ r2 = r1 >>> 8;
+ r1 = r1 & 16711935;
+ r2 = r2 & 16711935;
+ r1 = (r1 + r2)|0;
+ r2 = r1 & 65535;
+ r1 = r1 >>> 16;
+ r3 = 31;
+ r1 = (r2 + r1)|0;
+ r2 = 52;
+ r3 = (r3 - r1)|0;
+ r2 = (r2 - r3)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = 0;
+ heap32[(g0+2)] = r2;
+ r0 = 1054;
+ __ashldi3(i7);
+ r0 = (r0 - r1)|0;
+ r1 = sp + -8;
+ r3 = r_g1 ^ 1048576;
+ r0 = r0 << 20;
+ r1 = r1 >> 2;
+ r0 = (r3 + r0)|0;
+ heap32[(fp+-2)] = r_g0;
+ heap32[(r1+1)] = r0;
+ f0 = llvm_readDouble((sp+-8));
+ f_g0 = f0;
+ return;
+}
+else{
+ f0 = 0;
+ f_g0 = f0;
+ return;
+}
+}
+
+function __truncdfsf2(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = sp + 0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = r0 & 2147483647;
+ r2 = heap32[(fp)];
+ r3 = (r1 + -940572672)|0;
+ r4 = (r1 + -1206910976)|0;
+_1: do {
+ if(uint(r3) >=uint(r4)) //_LBB846_6
+{
+ r3 = 0;
+ r4 = 2146435072;
+ r5 = r2 == r3;
+ r4 = uint(r1) < uint(r4);
+ r4 = r1 == 2146435072 ? r5 : r4;
+ if(r4 != 0) //_LBB846_8
+{
+ r4 = 1206910976;
+ r4 = uint(r1) < uint(r4);
+ r4 = r1 == 1206910976 ? r5 : r4;
+ if(r4 != 0) //_LBB846_10
+{
+ r4 = 897;
+ r1 = r1 >>> 20;
+ r1 = (r4 - r1)|0;
+ if(r1 <53) //_LBB846_12
+{
+ r4 = r0 & 1048575;
+ r4 = r4 | 1048576;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ __lshrdi3(i7);
+ r5 = r_g0;
+ r6 = r_g1;
+ r7 = 64;
+ r1 = (r7 - r1)|0;
+ heap32[(g0)] = r2;
+ heap32[(g0+1)] = r4;
+ heap32[(g0+2)] = r1;
+ __ashldi3(i7);
+ r1 = r_g0 | r_g1;
+ r1 = r1 != r3;
+ r1 = r1 & 1;
+ r2 = r5 & 536870911;
+ r4 = r5 >>> 29;
+ r5 = r6 << 3;
+ r1 = r1 | r2;
+ r2 = r4 | r5;
+ if(uint(r1) <uint(268435457)) //_LBB846_14
+{
+ r1 = r1 ^ 268435456;
+ r3 = r1 | r3;
+ if(r3 ==0) //_LBB846_16
+{
+ r3 = r2 & 1;
+ r3 = (r3 + r2)|0;
+}
+else{
+ r3 = r2;
+}
+}
+else{
+ r3 = (r2 + 1)|0;
+}
+}
+else{
+break _1;
+}
+}
+else{
+ r3 = 2139095040;
+}
+}
+else{
+ r1 = r2 & 4194303;
+ r3 = r1 | 2143289344;
+}
+}
+else{
+ r1 = r2 >>> 29;
+ r3 = r0 << 3;
+ r1 = r1 | r3;
+ r2 = r2 & 536870911;
+ if(uint(r2) <uint(268435457)) //_LBB846_3
+{
+ r3 = (r1 + 1073741824)|0;
+ r1 = 0;
+ r2 = r2 ^ 268435456;
+ r1 = r2 | r1;
+ if(r1 ==0) //_LBB846_5
+{
+ r1 = r3 & 1;
+ r3 = (r1 + r3)|0;
+}
+}
+else{
+ r3 = (r1 + 1073741825)|0;
+}
+}
+} while(0);
+ r0 = r0 & -2147483648;
+ r0 = r3 | r0;
+ heap32[(fp+-1)] = r0;
+ f0 = heapFloat[(fp+-1)];
+ f_g0 = f0;
+ return;
+}
+
+function __fixunsdfsi(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = sp + 0;
+ r0 = r0 >> 2;
+ r0 = heap32[(r0+1)];
+ r1 = r0 >>> 20;
+ r1 = r1 & 2047;
+ r2 = (r1 + -1023)|0;
+if(!(r2 <0)) //_LBB847_3
+{
+if(!(r0 <0)) //_LBB847_3
+{
+ r2 = heap32[(fp)];
+ r2 = r2 >>> 21;
+ r0 = r0 << 11;
+ r0 = r2 | r0;
+ r2 = 1054;
+ r0 = r0 | -2147483648;
+ r1 = (r2 - r1)|0;
+ r0 = r0 >>> r1;
+ r_g0 = r0;
+ return;
+}
+}
+ r0 = 0;
+ r_g0 = r0;
+ return;
+}
+
+function __floatundisf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 | r1;
+ if(r2 ==0) //_LBB848_12
+{
+ f0 = 0;
+ f_g0 = f0;
+ return;
+}
+else{
+ r2 = r0 >>> 1;
+ r3 = r1 >>> 1;
+ r2 = r0 | r2;
+ r3 = r1 | r3;
+ r4 = r2 >>> 2;
+ r5 = r3 >>> 2;
+ r2 = r2 | r4;
+ r3 = r3 | r5;
+ r4 = r2 >>> 4;
+ r5 = r3 >>> 4;
+ r2 = r2 | r4;
+ r3 = r3 | r5;
+ r4 = r2 >>> 8;
+ r5 = r3 >>> 8;
+ r2 = r2 | r4;
+ r3 = r3 | r5;
+ r4 = r2 >>> 16;
+ r5 = r3 >>> 16;
+ r2 = r2 | r4;
+ r3 = r3 | r5;
+ r4 = r2 ^ -1;
+ r5 = 1431655765;
+ r6 = r3 ^ -1;
+ r4 = r4 >>> 1;
+ r6 = r6 >>> 1;
+ r2 = r5 & (~r2);
+ r4 = r4 & 1431655765;
+ r2 = (r2 + r4)|0;
+ r3 = r5 & (~r3);
+ r4 = r6 & 1431655765;
+ r3 = (r3 + r4)|0;
+ r4 = r2 >>> 2;
+ r5 = r3 >>> 2;
+ r2 = r2 & 858993459;
+ r4 = r4 & 858993459;
+ r2 = (r2 + r4)|0;
+ r3 = r3 & 858993459;
+ r4 = r5 & 858993459;
+ r3 = (r3 + r4)|0;
+ r4 = r2 >>> 4;
+ r5 = r3 >>> 4;
+ r2 = r2 & 252645135;
+ r4 = r4 & 252645135;
+ r2 = (r2 + r4)|0;
+ r3 = r3 & 252645135;
+ r4 = r5 & 252645135;
+ r3 = (r3 + r4)|0;
+ r4 = r2 >>> 8;
+ r5 = r3 >>> 8;
+ r2 = r2 & 16711935;
+ r4 = r4 & 16711935;
+ r2 = (r2 + r4)|0;
+ r3 = r3 & 16711935;
+ r4 = r5 & 16711935;
+ r3 = (r3 + r4)|0;
+ r4 = r2 & 65535;
+ r2 = r2 >>> 16;
+ r2 = (r4 + r2)|0;
+ r4 = r3 & 65535;
+ r3 = r3 >>> 16;
+ r3 = (r4 + r3)|0;
+ r2 = (r2 + 32)|0;
+ r4 = 64;
+ r2 = r1 != 0 ? r3 : r2;
+ r3 = 63;
+ r4 = (r4 - r2)|0;
+ r2 = (r3 - r2)|0;
+ if(r4 <25) //_LBB848_10
+{
+ r3 = 24;
+ r3 = (r3 - r4)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ __ashldi3(i7);
+ r1 = r_g0;
+}
+else{
+ if(r4 ==25) //_LBB848_5
+{
+ r1 = r1 << 1;
+ r3 = r0 >>> 31;
+ r0 = r0 << 1;
+ r1 = r1 | r3;
+}
+else{
+ if(r4 !=26) //_LBB848_6
+{
+ r3 = (r4 + -26)|0;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ heap32[(g0+2)] = r3;
+ __lshrdi3(i7);
+ r3 = r_g0;
+ r5 = r_g1;
+ r6 = 90;
+ r6 = (r6 - r4)|0;
+ heap32[(g0)] = -1;
+ heap32[(g0+1)] = -1;
+ heap32[(g0+2)] = r6;
+ __lshrdi3(i7);
+ r0 = r_g0 & r0;
+ r1 = r_g1 & r1;
+ r0 = r0 | r1;
+ r1 = 0;
+ r0 = r0 != r1;
+ r0 = r0 & 1;
+ r0 = r0 | r3;
+ r1 = r5;
+}
+}
+ r3 = r0 >>> 2;
+ r3 = r3 & 1;
+ r0 = r3 | r0;
+ r3 = (r0 + 1)|0;
+ r5 = 1;
+ r6 = 0;
+ r0 = uint(r3) < uint(r0) ? r5 : r6;
+ r0 = r3 == 0 ? r5 : r0;
+ r0 = (r1 + r0)|0;
+ r1 = r3 >>> 2;
+ r5 = r0 << 30;
+ r1 = r1 | r5;
+ r5 = r1 & 16777216;
+ if(r5 !=0) //_LBB848_9
+{
+ r1 = r3 >>> 3;
+ r0 = r0 << 29;
+ r1 = r1 | r0;
+ r2 = r4;
+}
+}
+ r0 = r2 << 23;
+ r0 = (r0 + 1065353216)|0;
+ r1 = r1 & 8388607;
+ r0 = r0 | r1;
+ heap32[(fp+-1)] = r0;
+ f0 = heapFloat[(fp+-1)];
+ f_g0 = f0;
+ return;
+}
+}
+
+function __floatdisf(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var f0;
+var __label__ = 0;
+ i7 = sp + -24;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = heap32[(fp+1)];
+ r2 = r0 | r1;
+ if(r2 ==0) //_LBB849_12
+{
+ f0 = 0;
+ f_g0 = f0;
+ return;
+}
+else{
+ r2 = r1 >> 31;
+ r1 = r2 ^ r1;
+ r0 = r2 ^ r0;
+ r3 = 1;
+ r4 = 0;
+ r5 = (r0 - r2)|0;
+ r1 = (r1 - r2)|0;
+ r0 = uint(r0) < uint(r2) ? r3 : r4;
+ r0 = (r1 - r0)|0;
+ r1 = r5 >>> 1;
+ r6 = r0 >>> 1;
+ r1 = r5 | r1;
+ r6 = r0 | r6;
+ r7 = r1 >>> 2;
+ r8 = r6 >>> 2;
+ r1 = r1 | r7;
+ r6 = r6 | r8;
+ r7 = r1 >>> 4;
+ r8 = r6 >>> 4;
+ r1 = r1 | r7;
+ r6 = r6 | r8;
+ r7 = r1 >>> 8;
+ r8 = r6 >>> 8;
+ r1 = r1 | r7;
+ r6 = r6 | r8;
+ r7 = r1 >>> 16;
+ r8 = r6 >>> 16;
+ r1 = r1 | r7;
+ r6 = r6 | r8;
+ r7 = r1 ^ -1;
+ r8 = 1431655765;
+ r9 = r6 ^ -1;
+ r7 = r7 >>> 1;
+ r9 = r9 >>> 1;
+ r1 = r8 & (~r1);
+ r7 = r7 & 1431655765;
+ r1 = (r1 + r7)|0;
+ r6 = r8 & (~r6);
+ r7 = r9 & 1431655765;
+ r6 = (r6 + r7)|0;
+ r7 = r1 >>> 2;
+ r8 = r6 >>> 2;
+ r1 = r1 & 858993459;
+ r7 = r7 & 858993459;
+ r1 = (r1 + r7)|0;
+ r6 = r6 & 858993459;
+ r7 = r8 & 858993459;
+ r6 = (r6 + r7)|0;
+ r7 = r1 >>> 4;
+ r8 = r6 >>> 4;
+ r1 = r1 & 252645135;
+ r7 = r7 & 252645135;
+ r1 = (r1 + r7)|0;
+ r6 = r6 & 252645135;
+ r7 = r8 & 252645135;
+ r6 = (r6 + r7)|0;
+ r7 = r1 >>> 8;
+ r8 = r6 >>> 8;
+ r1 = r1 & 16711935;
+ r7 = r7 & 16711935;
+ r1 = (r1 + r7)|0;
+ r6 = r6 & 16711935;
+ r7 = r8 & 16711935;
+ r6 = (r6 + r7)|0;
+ r7 = r1 & 65535;
+ r1 = r1 >>> 16;
+ r1 = (r7 + r1)|0;
+ r7 = r6 & 65535;
+ r6 = r6 >>> 16;
+ r6 = (r7 + r6)|0;
+ r1 = (r1 + 32)|0;
+ r7 = 64;
+ r1 = r0 != 0 ? r6 : r1;
+ r6 = 63;
+ r7 = (r7 - r1)|0;
+ r1 = (r6 - r1)|0;
+ if(r7 <25) //_LBB849_10
+{
+ r3 = 24;
+ r3 = (r3 - r7)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r3;
+ __ashldi3(i7);
+ r5 = r_g0;
+}
+else{
+ if(r7 ==25) //_LBB849_5
+{
+ r0 = r0 << 1;
+ r6 = r5 >>> 31;
+ r5 = r5 << 1;
+ r0 = r0 | r6;
+}
+else{
+ if(r7 !=26) //_LBB849_6
+{
+ r6 = (r7 + -26)|0;
+ heap32[(g0)] = r5;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r6;
+ __lshrdi3(i7);
+ r6 = r_g0;
+ r8 = r_g1;
+ r9 = 90;
+ r9 = (r9 - r7)|0;
+ heap32[(g0)] = -1;
+ heap32[(g0+1)] = -1;
+ heap32[(g0+2)] = r9;
+ __lshrdi3(i7);
+ r5 = r_g0 & r5;
+ r0 = r_g1 & r0;
+ r0 = r5 | r0;
+ r0 = r0 != r4;
+ r0 = r0 & 1;
+ r5 = r0 | r6;
+ r0 = r8;
+}
+}
+ r6 = r5 >>> 2;
+ r6 = r6 & 1;
+ r5 = r6 | r5;
+ r6 = (r5 + 1)|0;
+ r5 = uint(r6) < uint(r5) ? r3 : r4;
+ r5 = r6 == 0 ? r3 : r5;
+ r0 = (r0 + r5)|0;
+ r5 = r6 >>> 2;
+ r3 = r0 << 30;
+ r5 = r5 | r3;
+ r3 = r5 & 16777216;
+ if(r3 !=0) //_LBB849_9
+{
+ r0 = r0 >> 2;
+ r5 = r5 >>> 1;
+ r0 = r0 << 31;
+ r5 = r5 | r0;
+ r1 = r7;
+}
+}
+ r0 = r1 << 23;
+ r1 = r5 & 8388607;
+ r2 = r2 & -2147483648;
+ r1 = r1 | r2;
+ r0 = (r0 + 1065353216)|0;
+ r0 = r1 | r0;
+ heap32[(fp+-1)] = r0;
+ f0 = heapFloat[(fp+-1)];
+ f_g0 = f0;
+ return;
+}
+}
+
+function _GLOBAL__I__mandreel_create_tcp_socket(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = mandreel_flash_tcp_onError__index__;
+ r1 = _ZZL32_mandreel_init_tcp_socket_librayvE47s_723478567_mandreel_mandreel_flash_tcp_onError;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r1;
+ iMandreelRegisterExternalCallback(i7);
+ return;
+}
+
+function mandreel_flash_tcp_onConnect(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function mandreel_flash_tcp_onError(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function mandreel_flash_tcp_receive_callbak(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -32784;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+ r1 = heap32[(fp)];
+ r2 = heapU8[r0];
+_1: do {
+ if(r2 !=0) //_LBB853_2
+{
+ r3 = (r0 + 1)|0;
+ r4 = 0;
+_3: while(true){
+ r2 = (r4 + 1)|0;
+ r5 = heapU8[r3+r4];
+ r4 = r2;
+ if(r5 !=0) //_LBB853_3
+{
+continue _3;
+}
+else{
+break _1;
+}
+}
+}
+else{
+ r2 = 0;
+}
+} while(0);
+ r3 = sp + -32768;
+ heap32[(g0)] = r0;
+ heap32[(g0+1)] = r2;
+ heap32[(g0+2)] = r3;
+ heap32[(g0+3)] = 32768;
+ r0 = _ZL10s_aSockets;
+ r2 = 0;
+ _ZN12mandreel_b6410b64_decodeEPKcjPvj(i7);
+ r4 = r_g0;
+ r6 = _ZL10s_aSockets;
+_7: while(true){
+ if(uint(r2) <uint(8)) //_LBB853_5
+{
+ r5 = (r2 * 8198)|0;
+ r5 = r5 << 2;
+ r5 = (r6 + r5)|0;
+ r5 = r5 >> 2;
+ r5 = heap32[(r5+8196)];
+ if(r5 !=r1) //_LBB853_7
+{
+ r2 = (r2 + 1)|0;
+ r0 = (r0 + 32792)|0;
+continue _7;
+}
+else{
+__label__ = 9;
+break _7;
+}
+}
+else{
+__label__ = 8;
+break _7;
+}
+}
+if (__label__ == 8){
+ r0 = 0;
+}
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+8194)];
+ if(r4 >0) //_LBB853_12
+{
+ r5 = r4;
+_16: while(true){
+ r6 = (r2 + 1)|0;
+ r5 = (r5 + -1)|0;
+ r6 = r6 & 32767;
+ r7 = (r3 + 1)|0;
+ r3 = heapU8[r3];
+ heap8[r0+r2] = r3;
+ r3 = r7;
+ r2 = r6;
+if(!(r5 !=0)) //_LBB853_13
+{
+break _16;
+}
+}
+ r2 = r6;
+}
+ heap32[(r1+8194)] = r2;
+ r0 = heap32[(r1+8192)];
+ r0 = (r0 + r4)|0;
+ heap32[(r1+8192)] = r0;
+ return;
+}
+
+function _GLOBAL__D__ZN8OpenGLES12OpenGLESUtil15getCurrentErrorEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ heap32[(g0)] = 0;
+ _Z41__static_initialization_and_destruction_0ii(i7);
+ return;
+}
+
+function _ZNSt5dequeIjSaIjEE5eraseESt15__rw_deque_iterIjiPjRjS0_ES5_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+4)];
+ r0 = r0 >> 2;
+ r1 = heap32[(fp)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ r4 = heap32[(r0)];
+ r5 = heap32[(fp+3)];
+ r6 = heap32[(r0+1)];
+ r7 = r4 | r3;
+ if(r7 !=0) //_LBB855_2
+{
+ r7 = r6 >> 2;
+ r8 = (r6 - r5)|0;
+ r9 = r5 >> 2;
+ r8 = r8 << 3;
+ r9 = heap32[(r9)];
+ r7 = heap32[(r7)];
+ r7 = (r4 - r7)|0;
+ r8 = (r8 + -32)|0;
+ r9 = (r9 + 128)|0;
+ r9 = (r9 - r3)|0;
+ r7 = r7 >> 2;
+ r8 = r8 & -32;
+ r7 = (r7 + r8)|0;
+ r8 = r9 >> 2;
+ r7 = (r7 + r8)|0;
+}
+else{
+ r7 = (r4 - r3)|0;
+ r7 = r7 >> 2;
+}
+ r8 = r2 >> 2;
+ r9 = heap32[(r8)];
+ r10 = heap32[(r8+1)];
+ r11 = r3 | r9;
+ if(r11 !=0) //_LBB855_5
+{
+ r11 = (r5 - r10)|0;
+ r12 = r5 >> 2;
+ r13 = r10 >> 2;
+ r11 = r11 << 3;
+ r13 = heap32[(r13)];
+ r12 = heap32[(r12)];
+ r11 = (r11 + -32)|0;
+ r12 = (r3 - r12)|0;
+ r13 = (r13 + 128)|0;
+ r13 = (r13 - r9)|0;
+ r11 = r11 & -32;
+ r12 = r12 >> 2;
+ r11 = (r11 + r12)|0;
+ r12 = r13 >> 2;
+ r11 = (r11 + r12)|0;
+}
+else{
+ r11 = (r3 - r9)|0;
+ r11 = r11 >> 2;
+}
+ r2 = (r2 + 8)|0;
+ r12 = heap32[(r8+2)];
+ r13 = heap32[(r8+3)];
+ r14 = r12 | r4;
+ if(r14 !=0) //_LBB855_8
+{
+ r14 = (r13 - r6)|0;
+ r15 = r13 >> 2;
+ r16 = r6 >> 2;
+ r14 = r14 << 3;
+ r16 = heap32[(r16)];
+ r15 = heap32[(r15)];
+ r14 = (r14 + -32)|0;
+ r15 = (r12 - r15)|0;
+ r16 = (r16 + 128)|0;
+ r16 = (r16 - r4)|0;
+ r14 = r14 & -32;
+ r15 = r15 >> 2;
+ r14 = (r14 + r15)|0;
+ r15 = r16 >> 2;
+ r14 = (r14 + r15)|0;
+}
+else{
+ r14 = (r12 - r4)|0;
+ r14 = r14 >> 2;
+}
+ if(r11 >=r14) //_LBB855_36
+{
+ r0 = (r5 + 4)|0;
+ r9 = r3;
+_15: while(true){
+ r10 = r4 | r12;
+ if(r10 !=0) //_LBB855_44
+{
+ r10 = r6 >> 2;
+ r11 = (r6 - r13)|0;
+ r14 = r13 >> 2;
+ r11 = r11 << 3;
+ r14 = heap32[(r14)];
+ r10 = heap32[(r10)];
+ r10 = (r4 - r10)|0;
+ r11 = (r11 + -32)|0;
+ r14 = (r14 + 128)|0;
+ r14 = (r14 - r12)|0;
+ r10 = r10 >> 2;
+ r11 = r11 & -32;
+ r10 = (r10 + r11)|0;
+ r11 = r14 >> 2;
+ r10 = (r10 + r11)|0;
+}
+else{
+ r10 = (r4 - r12)|0;
+ r10 = r10 >> 2;
+}
+ if(r10 !=0) //_LBB855_37
+{
+ r10 = r4 >> 2;
+ r11 = r9 >> 2;
+ r10 = heap32[(r10)];
+ r4 = (r4 + 4)|0;
+ r14 = r6 >> 2;
+ heap32[(r11)] = r10;
+ r10 = heap32[(r14)];
+ r10 = (r10 + 128)|0;
+ if(r4 ==r10) //_LBB855_39
+{
+ r6 = (r6 + 4)|0;
+ r4 = heap32[(r14+1)];
+}
+ r10 = r0 >> 2;
+ r9 = (r9 + 4)|0;
+ r11 = heap32[(r10+-1)];
+ r11 = (r11 + 128)|0;
+if(!(r9 !=r11)) //_LBB855_42
+{
+ r9 = heap32[(r10)];
+ r0 = (r0 + 4)|0;
+}
+}
+else{
+break _15;
+}
+}
+_27: do {
+if(!(r7 ==0)) //_LBB855_59
+{
+ r0 = heap32[(r8+2)];
+_29: while(true){
+ r0 = (r0 + -4)|0;
+ heap32[(r8+2)] = r0;
+ r4 = heap32[(r8+3)];
+ r6 = heap32[(r8+1)];
+ if(r6 !=r4) //_LBB855_51
+{
+__label__ = 45;
+}
+else{
+ r6 = heap32[(r8)];
+ if(r6 !=r0) //_LBB855_51
+{
+__label__ = 45;
+}
+else{
+ r0 = r4 >> 2;
+ r4 = heap32[(r0)];
+__label__ = 47;
+}
+}
+if (__label__ == 45){
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ if(r0 ==r4) //_LBB855_53
+{
+__label__ = 47;
+}
+else{
+__label__ = 46;
+}
+}
+_36: do {
+if (__label__ == 47){
+ heap32[(g0)] = r4;
+ _ZdlPv(i7);
+ r0 = heap32[(r8+3)];
+ r4 = heap32[(r8+1)];
+if(!(r4 !=r0)) //_LBB855_58
+{
+ r4 = heap32[(r8)];
+ r6 = heap32[(r8+2)];
+if(!(r4 !=r6)) //_LBB855_58
+{
+ r0 = heap32[(r8+4)];
+ r0 = (r0 + -4)|0;
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = r2;
+ heap32[(r8)] = 0;
+ heap32[(r8+1)] = r2;
+ r0 = 0;
+ heap32[(r8+4)] = 0;
+ heap32[(r8+5)] = 0;
+break _36;
+}
+}
+ r4 = r0 >> 2;
+ r6 = (r0 + -4)|0;
+ heap32[(r4)] = 0;
+ heap32[(r8+3)] = r6;
+ r0 = heap32[(r4+-1)];
+ r0 = (r0 + 128)|0;
+ heap32[(r8+2)] = r0;
+ heap32[(r8+3)] = r6;
+}
+} while(0);
+ r7 = (r7 + -1)|0;
+ if(r7 ==0) //_LBB855_59
+{
+break _27;
+}
+}
+}
+} while(0);
+ r0 = r1 >> 2;
+ heap32[(r0)] = r3;
+ heap32[(r0+1)] = r5;
+ return;
+}
+else{
+_44: while(true){
+ r12 = r9 | r3;
+ if(r12 !=0) //_LBB855_20
+{
+ r12 = r10 >> 2;
+ r13 = (r10 - r5)|0;
+ r11 = r5 >> 2;
+ r13 = r13 << 3;
+ r11 = heap32[(r11)];
+ r12 = heap32[(r12)];
+ r12 = (r9 - r12)|0;
+ r13 = (r13 + -32)|0;
+ r11 = (r11 + 128)|0;
+ r11 = (r11 - r3)|0;
+ r12 = r12 >> 2;
+ r13 = r13 & -32;
+ r12 = (r12 + r13)|0;
+ r13 = r11 >> 2;
+ r12 = (r12 + r13)|0;
+}
+else{
+ r12 = (r9 - r3)|0;
+ r12 = r12 >> 2;
+}
+ if(r12 !=0) //_LBB855_11
+{
+ r12 = r6 >> 2;
+ r13 = heap32[(r12)];
+ if(r4 ==r13) //_LBB855_13
+{
+ r4 = heap32[(r12+-1)];
+ r6 = (r6 + -4)|0;
+ r4 = (r4 + 128)|0;
+}
+ r12 = r5 >> 2;
+ r4 = (r4 + -4)|0;
+ r13 = heap32[(r12)];
+ if(r3 ==r13) //_LBB855_16
+{
+ r3 = heap32[(r12+-1)];
+ r5 = (r5 + -4)|0;
+ r3 = (r3 + 128)|0;
+}
+ r12 = r3 >> 2;
+ r3 = (r3 + -4)|0;
+ r13 = r4 >> 2;
+ r12 = heap32[(r12+-1)];
+ heap32[(r13)] = r12;
+}
+else{
+break _44;
+}
+}
+_58: do {
+if(!(r7 ==0)) //_LBB855_35
+{
+ r3 = heap32[(r8)];
+_60: while(true){
+ r3 = (r3 + 4)|0;
+ heap32[(r8)] = r3;
+ r4 = heap32[(r8+1)];
+ r5 = heap32[(r8+3)];
+ if(r4 !=r5) //_LBB855_27
+{
+__label__ = 24;
+}
+else{
+ r5 = r2 >> 2;
+ r5 = heap32[(r5)];
+ if(r3 !=r5) //_LBB855_27
+{
+__label__ = 24;
+}
+else{
+ r3 = r4 >> 2;
+ r4 = heap32[(r3)];
+__label__ = 26;
+}
+}
+if (__label__ == 24){
+ r4 = r4 >> 2;
+ r4 = heap32[(r4)];
+ r5 = (r4 + 128)|0;
+ if(r3 ==r5) //_LBB855_29
+{
+__label__ = 26;
+}
+else{
+__label__ = 25;
+}
+}
+_67: do {
+if (__label__ == 26){
+ heap32[(g0)] = r4;
+ _ZdlPv(i7);
+ r3 = heap32[(r8+1)];
+ r4 = heap32[(r8+3)];
+if(!(r3 !=r4)) //_LBB855_34
+{
+ r4 = heap32[(r8)];
+ r5 = heap32[(r8+2)];
+if(!(r4 !=r5)) //_LBB855_34
+{
+ r3 = heap32[(r8+4)];
+ r3 = (r3 + -4)|0;
+ heap32[(g0)] = r3;
+ _ZdlPv(i7);
+ heap32[(r8+2)] = 0;
+ heap32[(r8+3)] = r2;
+ heap32[(r8)] = 0;
+ heap32[(r8+1)] = r2;
+ r3 = 0;
+ heap32[(r8+4)] = 0;
+ heap32[(r8+5)] = 0;
+break _67;
+}
+}
+ r4 = r3 >> 2;
+ r5 = (r3 + 4)|0;
+ heap32[(r4)] = 0;
+ heap32[(r8+1)] = r5;
+ r3 = heap32[(r4+1)];
+ heap32[(r8)] = r3;
+ heap32[(r8+1)] = r5;
+}
+} while(0);
+ r7 = (r7 + -1)|0;
+ if(r7 ==0) //_LBB855_35
+{
+break _58;
+}
+}
+}
+} while(0);
+ r1 = r1 >> 2;
+ r2 = heap32[(r0)];
+ heap32[(r1)] = r2;
+ r2 = heap32[(r0+1)];
+ heap32[(r1+1)] = r2;
+ return;
+}
+}
+
+function _Z41__static_initialization_and_destruction_0ii(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+var __label__ = 0;
+ i7 = sp + -80;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ if(r0 ==0) //_LBB856_16
+{
+ r0 = _ZL13s_fifo_errors;
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+2)];
+ r3 = sp + -24;
+ heap32[(fp+-6)] = r2;
+ r2 = r3 >> 2;
+ r4 = heap32[(r1+3)];
+ heap32[(r2+1)] = r4;
+ r2 = heap32[(r1)];
+ r1 = heap32[(r1+1)];
+ r4 = sp + -32;
+}
+else{
+ if(r0 !=1) //_LBB856_17
+{
+ return;
+}
+else{
+ r0 = sp + -56;
+ r1 = r0 >> 2;
+ r2 = (r0 + 8)|0;
+ heap32[(r1+2)] = 0;
+ heap32[(r1+3)] = r2;
+ heap32[(fp+-14)] = 0;
+ heap32[(r1+1)] = r2;
+ r2 = _ZL13s_fifo_errors;
+ heap32[(r1+4)] = 0;
+ r3 = r2 >> 2;
+ heap32[(r1+5)] = 0;
+ r4 = (r2 + 8)|0;
+ heap32[(r3+2)] = 0;
+ heap32[(r3+3)] = r4;
+ heap32[(r3)] = 0;
+ heap32[(r3+1)] = r4;
+ r5 = 0;
+ heap32[(r3+4)] = 0;
+ heap32[(r3+5)] = 0;
+ r6 = r4;
+ r7 = r5;
+_7: while(true){
+ if(r7 !=0) //_LBB856_12
+{
+ r8 = (r2 + 8)|0;
+ r8 = (r8 - r6)|0;
+ r9 = r6 >> 2;
+ r8 = r8 << 3;
+ r9 = heap32[(r9)];
+ r10 = 0;
+ r11 = heap32[(r3+2)];
+ r10 = (r10 - r11)|0;
+ r8 = (r8 + -32)|0;
+ r9 = (r9 + 128)|0;
+ r9 = (r9 - r7)|0;
+ r10 = r10 >> 2;
+ r8 = r8 & -32;
+ r8 = (r10 + r8)|0;
+ r9 = r9 >> 2;
+ r8 = (r8 + r9)|0;
+}
+else{
+ r8 = 0;
+ r8 = (r8 - r7)|0;
+ r8 = r8 >> 2;
+}
+ if(r8 !=0) //_LBB856_3
+{
+ r8 = r4 >> 2;
+ r9 = heap32[(r8)];
+ if(r5 ==r9) //_LBB856_5
+{
+ r5 = heap32[(r8+-1)];
+ r4 = (r4 + -4)|0;
+ r5 = (r5 + 128)|0;
+}
+ r8 = r6 >> 2;
+ r5 = (r5 + -4)|0;
+ r9 = heap32[(r8)];
+ if(r7 ==r9) //_LBB856_8
+{
+ r7 = heap32[(r8+-1)];
+ r6 = (r6 + -4)|0;
+ r7 = (r7 + 128)|0;
+}
+ r8 = r7 >> 2;
+ r7 = (r7 + -4)|0;
+ r9 = r5 >> 2;
+ r8 = heap32[(r8+-1)];
+ heap32[(r9)] = r8;
+}
+else{
+break _7;
+}
+}
+ r2 = heap32[(r1+2)];
+ r3 = sp + -8;
+ heap32[(fp+-2)] = r2;
+ r2 = r3 >> 2;
+ r4 = heap32[(r1+3)];
+ heap32[(r2+1)] = r4;
+ r2 = heap32[(fp+-14)];
+ r1 = heap32[(r1+1)];
+ r4 = sp + -16;
+}
+}
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r2;
+ heap32[(g0+3)] = r1;
+ heap32[(g0+4)] = r3;
+ _ZNSt5dequeIjSaIjEE5eraseESt15__rw_deque_iterIjiPjRjS0_ES5_(i7);
+ return;
+}
+
+function _GLOBAL__I__ZN5my_gl14glAttachShaderEjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _ZN5my_glL9m_contextE;
+ r1 = r0 >> 2;
+ heap32[(r1+62)] = 0;
+ heap32[(r1+63)] = 0;
+ heap32[(r1+64)] = 0;
+ heap32[(r1+65)] = 0;
+ heap32[(r1+66)] = 0;
+ heap32[(r1+67)] = 0;
+ heap32[(r1+78)] = 0;
+ heap32[(r1+79)] = 0;
+ heap32[(r1+74)] = 0;
+ heap32[(r1+77)] = 0;
+ heap32[(r1+76)] = 0;
+ heap32[(r1+75)] = 0;
+ _ZN4__rw9__rb_treeIjSt4pairIKjPN5my_gl12TIndexBufferEENS_11__select1stIS6_jEESt4lessIjESaIS6_EE11_C_get_linkEv(i7);
+ r2 = r_g0;
+ r3 = r2 >> 2;
+ heap32[(r1+78)] = r2;
+ heap32[(r3+1)] = 0;
+ heap32[(r3+3)] = r2;
+ heap32[(r3+2)] = r2;
+ heap32[(r1)] = 0;
+ heap32[(r1+3)] = 0;
+ heap32[(r1+61)] = 0;
+ heap32[(r1+4)] = 0;
+ heap32[(r1+68)] = 0;
+ heap32[(r1+69)] = 0;
+ r2 = _ZL26s_mandreel_internal_height;
+ r3 = _ZL25s_mandreel_internal_width;
+ heap32[(r1+1)] = 0;
+ r2 = r2 >> 2;
+ heap32[(r1+2)] = 1;
+ r3 = r3 >> 2;
+ r2 = heap32[(r2)];
+ r3 = heap32[(r3)];
+ heap32[(r1+70)] = 0;
+ heap32[(r1+71)] = 0;
+ r4 = 224;
+ heap32[(r1+72)] = r3;
+ heap32[(r1+73)] = r2;
+ r2 = 0;
+_2: while(true){
+ r1 = (r4 + -1)|0;
+ r4 = (r0 - r4)|0;
+ heap8[r4+244] = r2;
+ r4 = r1;
+ if(r1 !=0) //_LBB857_2
+{
+continue _2;
+}
+else{
+break _2;
+}
+}
+ return;
+}
+
+function _GLOBAL__D__ZN5my_gl14glAttachShaderEjj(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -16;var g0 = i7>>2; // save stack
+ r0 = _ZN5my_glL9m_contextE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+78)];
+_1: do {
+if(!(r1 ==0)) //_LBB858_26
+{
+ r2 = r1 >> 2;
+ r3 = heap32[(r0+79)];
+ if(r3 !=0) //_LBB858_5
+{
+ r1 = heap32[(r2+1)];
+ heap32[(g0)] = r1;
+ _ZN4__rw9__rb_treeIjSt4pairIKjPN5my_gl12TIndexBufferEENS_11__select1stIS6_jEESt4lessIjESaIS6_EE8_C_eraseEPNS_17__rw_rb_tree_nodeISB_S6_jS8_EE(i7);
+ r1 = heap32[(r0+78)];
+ r2 = r1 >> 2;
+ heap32[(r2+1)] = 0;
+ heap32[(r2+3)] = r1;
+ heap32[(r2+2)] = r1;
+ heap32[(r0+79)] = 0;
+}
+else{
+ r2 = heap32[(r2+2)];
+if(!(r2 ==r1)) //_LBB858_4
+{
+_6: while(true){
+ r3 = r2;
+ r4 = r3 >> 2;
+ r2 = heap32[(r4+3)];
+_8: do {
+ if(r2 !=0) //_LBB858_10
+{
+ r4 = r2 >> 2;
+ r4 = heap32[(r4+2)];
+ if(r4 ==0) //_LBB858_12
+{
+break _8;
+}
+else{
+__label__ = 8; //SET chanka
+_10: while(true){
+ r2 = r4;
+ r4 = r2 >> 2;
+ r4 = heap32[(r4+2)];
+ if(r4 !=0) //_LBB858_13
+{
+continue _10;
+}
+else{
+break _8;
+}
+}
+}
+}
+else{
+ r4 = heap32[(r4+1)];
+ r2 = r4 >> 2;
+ r2 = heap32[(r2+3)];
+ if(r3 ==r2) //_LBB858_9
+{
+_14: while(true){
+ r2 = r4;
+ r5 = r2 >> 2;
+ r4 = heap32[(r5+1)];
+ r6 = r4 >> 2;
+ r6 = heap32[(r6+3)];
+if(!(r2 ==r6)) //_LBB858_15
+{
+break _14;
+}
+}
+ r5 = heap32[(r5+3)];
+}
+else{
+ r5 = 0;
+ r2 = r3;
+}
+ if(r5 !=r4) //_LBB858_19
+{
+ r2 = r4;
+}
+}
+} while(0);
+ r4 = sp + -8;
+ heap32[(g0)] = r4;
+ heap32[(g0+1)] = r3;
+ _ZN4__rw9__rb_treeIjSt4pairIKjPN5my_gl12TIndexBufferEENS_11__select1stIS6_jEESt4lessIjESaIS6_EE5eraseENS_14__rw_tree_iterIS6_iPS6_RS6_NS_17__rw_rb_tree_nodeISB_S6_jS8_EEEE(i7);
+if(!(r2 !=r1)) //_LBB858_6
+{
+break _6;
+}
+}
+ r1 = heap32[(r0+78)];
+}
+}
+ r2 = r1 >> 2;
+ r3 = heap32[(r0+75)];
+ heap32[(r2+3)] = r3;
+ heap32[(r0+75)] = r1;
+ r1 = heap32[(r0+74)];
+if(!(r1 ==0)) //_LBB858_26
+{
+__label__ = 16; //SET chanka
+_23: while(true){
+ r2 = r1 >> 2;
+ r3 = heap32[(r2)];
+ heap32[(r0+74)] = r3;
+ r2 = heap32[(r2+2)];
+ heap32[(g0)] = r2;
+ _ZdlPv(i7);
+ heap32[(g0)] = r1;
+ _ZdlPv(i7);
+ r1 = heap32[(r0+74)];
+ if(r1 !=0) //_LBB858_23
+{
+continue _23;
+}
+else{
+break _1;
+}
+}
+}
+}
+} while(0);
+ r1 = heap32[(r0+65)];
+ r2 = heap32[(r0+66)];
+ r3 = (r2 - r1)|0;
+ r3 = r3 >> 5;
+ if(r3 !=0) //_LBB858_28
+{
+ r1 = (r2 + -32)|0;
+ heap32[(r0+66)] = r1;
+ r1 = (r2 + -28)|0;
+ heap32[(g0)] = r1;
+ _ZN4__rw9__rb_treeISsSt4pairIKSsiENS_11__select1stIS3_SsEESt4lessISsESaIS3_EED2Ev(i7);
+_31: do {
+if(!(r3 ==1)) //_LBB858_33
+{
+ r1 = (r3 + -1)|0;
+_33: while(true){
+ r2 = heap32[(r0+66)];
+ r3 = (r2 + -32)|0;
+ heap32[(r0+66)] = r3;
+ r2 = (r2 + -28)|0;
+ heap32[(g0)] = r2;
+ _ZN4__rw9__rb_treeISsSt4pairIKSsiENS_11__select1stIS3_SsEESt4lessISsESaIS3_EED2Ev(i7);
+ r1 = (r1 + -1)|0;
+if(!(r1 !=0)) //_LBB858_31
+{
+break _31;
+}
+}
+}
+} while(0);
+ r1 = heap32[(r0+65)];
+}
+ heap32[(g0)] = r1;
+ _ZdlPv(i7);
+ r1 = heap32[(r0+63)];
+ r2 = heap32[(r0+62)];
+ r3 = (r1 - r2)|0;
+ r4 = (r3 + 11)|0;
+if(!(uint(r4) <uint(23))) //_LBB858_37
+{
+ r3 = (r3 / -12)|0;
+ r3 = (r3 * 12)|0;
+ r1 = (r1 + r3)|0;
+ heap32[(r0+63)] = r1;
+}
+ heap32[(g0)] = r2;
+ _ZdlPv(i7);
+ return;
+}
+
+function imandreel_restore_glcontext(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function imandreel_viewport_resize(sp)
+{
+ var i7;
+ var fp = sp>>2;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ return;
+}
+
+function _ZN4__rw9__rb_treeIjSt4pairIKjPN5my_gl12TIndexBufferEENS_11__select1stIS6_jEESt4lessIjESaIS6_EE8_C_eraseEPNS_17__rw_rb_tree_nodeISB_S6_jS8_EE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+if(!(r0 ==0)) //_LBB861_2
+{
+_2: while(true){
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+3)];
+ heap32[(g0)] = r2;
+ r2 = _ZN5my_glL9m_contextE;
+ _ZN4__rw9__rb_treeIjSt4pairIKjPN5my_gl12TIndexBufferEENS_11__select1stIS6_jEESt4lessIjESaIS6_EE8_C_eraseEPNS_17__rw_rb_tree_nodeISB_S6_jS8_EE(i7);
+ r2 = r2 >> 2;
+ r3 = heap32[(r1+2)];
+ r4 = heap32[(r2+75)];
+ heap32[(r1+3)] = r4;
+ heap32[(r2+75)] = r0;
+ r0 = r3;
+ if(r3 !=0) //_LBB861_1
+{
+continue _2;
+}
+else{
+break _2;
+}
+}
+}
+ return;
+}
+
+function _ZN4__rw9__rb_treeISsSt4pairIKSsiENS_11__select1stIS3_SsEESt4lessISsESaIS3_EE8_C_eraseEPNS_17__rw_rb_tree_nodeIS8_S3_SsS5_EE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+1)];
+if(!(r0 ==0)) //_LBB862_6
+{
+ r1 = heap32[(fp)];
+_3: while(true){
+ r2 = r0;
+ r3 = r2 >> 2;
+ r0 = heap32[(r3+3)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ _ZN4__rw9__rb_treeISsSt4pairIKSsiENS_11__select1stIS3_SsEESt4lessISsESaIS3_EE8_C_eraseEPNS_17__rw_rb_tree_nodeIS8_S3_SsS5_EE(i7);
+ r4 = r1 >> 2;
+ r0 = heap32[(r3+2)];
+ r5 = heap32[(r4+1)];
+ heap32[(r3+3)] = r5;
+ r5 = heap32[(r3+4)];
+ r5 = (r5 + -12)|0;
+ r6 = _ZNSs11_C_null_refE;
+if(!(r5 ==r6)) //_LBB862_5
+{
+ r5 = r5 >> 2;
+ r6 = heap32[(r5)];
+ r7 = (r6 + -1)|0;
+ heap32[(r5)] = r7;
+if(!(r6 >0)) //_LBB862_5
+{
+ r5 = heap32[(r3+4)];
+ r5 = (r5 + -12)|0;
+ heap32[(g0)] = r5;
+ _ZdlPv(i7);
+}
+}
+ heap32[(r3+4)] = 0;
+ heap32[(r4+1)] = r2;
+ if(r0 !=0) //_LBB862_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+ return;
+}
+
+function _ZN4__rw9__rb_treeISsSt4pairIKSsiENS_11__select1stIS3_SsEESt4lessISsESaIS3_EE5eraseENS_14__rw_tree_iterIS3_iPS3_RS3_NS_17__rw_rb_tree_nodeIS8_S3_SsS5_EEEESF_(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+ var r15;
+ var r16;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp+2)];
+ r1 = heap32[(fp+1)];
+ r0 = r0 >> 2;
+ r2 = r1 >> 2;
+ r3 = heap32[(r2+4)];
+ r4 = heap32[(r0)];
+ r5 = heap32[(fp)];
+ r6 = heap32[(fp+3)];
+ r7 = r3 >> 2;
+ r8 = heap32[(r7+2)];
+if(!(r4 !=r8)) //_LBB863_3
+{
+if(!(r3 !=r6)) //_LBB863_3
+{
+ r8 = heap32[(r2+5)];
+ if(r8 !=0) //_LBB863_4
+{
+ r0 = heap32[(r7+1)];
+ heap32[(g0)] = r1;
+ heap32[(g0+1)] = r0;
+ _ZN4__rw9__rb_treeISsSt4pairIKSsiENS_11__select1stIS3_SsEESt4lessISsESaIS3_EE8_C_eraseEPNS_17__rw_rb_tree_nodeIS8_S3_SsS5_EE(i7);
+ r0 = heap32[(r2+4)];
+ r0 = r0 >> 2;
+ heap32[(r0+1)] = 0;
+ r0 = heap32[(r2+4)];
+ r1 = r0 >> 2;
+ heap32[(r1+3)] = r0;
+ heap32[(r1+2)] = r0;
+ heap32[(r2+5)] = 0;
+ r0 = r5 >> 2;
+ r1 = heap32[(r2+4)];
+ heap32[(r0)] = r1;
+ return;
+}
+}
+}
+ r1 = r5 >> 2;
+ heap32[(r1)] = r3;
+if(!(r4 ==r6)) //_LBB863_165
+{
+_7: while(true){
+ r3 = r4 >> 2;
+ r5 = heap32[(r3+3)];
+ if(r5 !=0) //_LBB863_9
+{
+ r7 = r5 >> 2;
+ r7 = heap32[(r7+2)];
+if(!(r7 ==0)) //_LBB863_11
+{
+_12: while(true){
+ r5 = r7;
+ r7 = r5 >> 2;
+ r7 = heap32[(r7+2)];
+if(!(r7 !=0)) //_LBB863_12
+{
+break _12;
+}
+}
+}
+ heap32[(r0)] = r5;
+}
+else{
+ r7 = heap32[(r3+1)];
+ r5 = r7 >> 2;
+ r5 = heap32[(r5+3)];
+ if(r4 ==r5) //_LBB863_8
+{
+_17: while(true){
+ r5 = r7;
+ r8 = r5 >> 2;
+ r7 = heap32[(r8+1)];
+ r9 = r7 >> 2;
+ r9 = heap32[(r9+3)];
+if(!(r5 ==r9)) //_LBB863_14
+{
+break _17;
+}
+}
+ heap32[(r0)] = r5;
+ r8 = heap32[(r8+3)];
+}
+else{
+ r8 = 0;
+ r5 = r4;
+}
+ if(r8 !=r7) //_LBB863_18
+{
+ heap32[(r0)] = r7;
+ r5 = r7;
+}
+}
+ r7 = heap32[(r2+4)];
+ if(r4 !=r7) //_LBB863_21
+{
+ r9 = heap32[(r3+3)];
+_26: do {
+ if(r9 !=0) //_LBB863_25
+{
+ r8 = r9 >> 2;
+ r10 = heap32[(r8+2)];
+ if(r10 ==0) //_LBB863_27
+{
+ r8 = r9;
+}
+else{
+_30: while(true){
+ r8 = r10;
+ r10 = r8 >> 2;
+ r10 = heap32[(r10+2)];
+ if(r10 !=0) //_LBB863_28
+{
+continue _30;
+}
+else{
+break _26;
+}
+}
+}
+}
+else{
+ r8 = heap32[(r3+1)];
+ r10 = r8 >> 2;
+ r10 = heap32[(r10+3)];
+ if(r4 ==r10) //_LBB863_24
+{
+_34: while(true){
+ r11 = r8;
+ r10 = r11 >> 2;
+ r8 = heap32[(r10+1)];
+ r12 = r8 >> 2;
+ r12 = heap32[(r12+3)];
+if(!(r11 ==r12)) //_LBB863_30
+{
+break _34;
+}
+}
+ r10 = heap32[(r10+3)];
+}
+else{
+ r10 = 0;
+ r11 = r4;
+}
+ if(r10 ==r8) //_LBB863_34
+{
+ r8 = r11;
+}
+}
+} while(0);
+ r10 = heap32[(r3+2)];
+ if(r10 !=0) //_LBB863_37
+{
+ if(r9 !=0) //_LBB863_39
+{
+ r11 = r9 >> 2;
+ r12 = heap32[(r11+2)];
+_45: do {
+ if(r12 ==0) //_LBB863_41
+{
+ r11 = r9;
+}
+else{
+_47: while(true){
+ r11 = r12;
+ r12 = r11 >> 2;
+ r12 = heap32[(r12+2)];
+if(!(r12 !=0)) //_LBB863_42
+{
+break _45;
+}
+}
+}
+} while(0);
+ r13 = r11 >> 2;
+ r9 = heap32[(r13+3)];
+ if(r11 !=r4) //_LBB863_45
+{
+ r7 = r10 >> 2;
+ heap32[(r7+1)] = r11;
+ r7 = heap32[(r3+2)];
+ heap32[(r13+2)] = r7;
+ r7 = heap32[(r3+3)];
+ if(r7 !=r11) //_LBB863_47
+{
+ r12 = heap32[(r13+1)];
+ if(r9 !=0) //_LBB863_49
+{
+ r7 = r9 >> 2;
+ heap32[(r7+1)] = r12;
+ r7 = heap32[(r13+1)];
+}
+else{
+ r7 = r12;
+}
+ r7 = r7 >> 2;
+ heap32[(r7+2)] = r9;
+ r7 = heap32[(r3+3)];
+ heap32[(r13+3)] = r7;
+ r7 = heap32[(r3+3)];
+ r7 = r7 >> 2;
+ heap32[(r7+1)] = r11;
+}
+else{
+ r12 = r11;
+}
+ r7 = heap32[(r2+4)];
+ r7 = r7 >> 2;
+ r10 = heap32[(r7+1)];
+ if(r10 !=r4) //_LBB863_53
+{
+ r7 = heap32[(r3+1)];
+ r10 = r7 >> 2;
+ r10 = heap32[(r10+2)];
+ r10 = r10 != r4;
+ r10 = r10 & 1;
+ r10 = r10 << 2;
+ r7 = (r7 + r10)|0;
+ r7 = (r7 + 8)|0;
+ r10 = (r4 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r11;
+}
+else{
+ r10 = (r4 + 4)|0;
+ heap32[(r7+1)] = r11;
+}
+ r7 = r10 >> 2;
+ r7 = heap32[(r7)];
+ heap32[(r13+1)] = r7;
+ r7 = heap32[(r13)];
+ r11 = heap32[(r3)];
+ heap32[(r13)] = r11;
+ heap32[(r3)] = r7;
+__label__ = 66;
+}
+else{
+__label__ = 45;
+}
+}
+else{
+ r12 = heap32[(r3+1)];
+ r11 = r4;
+ r9 = r10;
+__label__ = 47;
+}
+}
+else{
+ r11 = r4;
+__label__ = 45;
+}
+if (__label__ == 45){
+ r12 = r11 >> 2;
+ r12 = heap32[(r12+1)];
+ if(r9 ==0) //_LBB863_57
+{
+ r9 = 0;
+__label__ = 48;
+}
+else{
+__label__ = 47;
+}
+}
+if (__label__ == 47){
+ r7 = r9 >> 2;
+ heap32[(r7+1)] = r12;
+ r7 = heap32[(r2+4)];
+__label__ = 48;
+}
+if (__label__ == 48){
+ r7 = r7 >> 2;
+ r10 = heap32[(r7+1)];
+ if(r10 !=r4) //_LBB863_61
+{
+ r7 = heap32[(r3+1)];
+ r10 = r7 >> 2;
+ r10 = heap32[(r10+2)];
+ r10 = r10 != r4;
+ r10 = r10 & 1;
+ r10 = r10 << 2;
+ r7 = (r7 + r10)|0;
+ r7 = (r7 + 8)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r9;
+}
+else{
+ heap32[(r7+1)] = r9;
+}
+ r7 = heap32[(r2+4)];
+ r7 = r7 >> 2;
+ r10 = heap32[(r7+2)];
+if(!(r10 !=r4)) //_LBB863_70
+{
+ r10 = heap32[(r3+3)];
+ if(r10 !=0) //_LBB863_65
+{
+ r10 = r9 >> 2;
+ r10 = heap32[(r10+2)];
+_80: do {
+ if(r10 ==0) //_LBB863_67
+{
+ r13 = r9;
+}
+else{
+_82: while(true){
+ r13 = r10;
+ r10 = r13 >> 2;
+ r10 = heap32[(r10+2)];
+if(!(r10 !=0)) //_LBB863_68
+{
+break _80;
+}
+}
+}
+} while(0);
+ heap32[(r7+2)] = r13;
+}
+else{
+ r10 = heap32[(r3+1)];
+ heap32[(r7+2)] = r10;
+}
+}
+ r7 = heap32[(r2+4)];
+ r7 = r7 >> 2;
+ r10 = heap32[(r7+3)];
+ if(r10 ==r4) //_LBB863_72
+{
+ r4 = heap32[(r3+2)];
+ if(r4 !=0) //_LBB863_74
+{
+ r4 = r9 >> 2;
+ r4 = heap32[(r4+3)];
+_91: do {
+ if(r4 ==0) //_LBB863_76
+{
+ r3 = r9;
+}
+else{
+_93: while(true){
+ r3 = r4;
+ r4 = r3 >> 2;
+ r4 = heap32[(r4+3)];
+if(!(r4 !=0)) //_LBB863_77
+{
+break _91;
+}
+}
+}
+} while(0);
+ heap32[(r7+3)] = r3;
+ r4 = r11;
+}
+else{
+ r4 = heap32[(r3+1)];
+ heap32[(r7+3)] = r4;
+ r4 = r11;
+}
+}
+else{
+ r4 = r11;
+}
+}
+ r3 = r4 >> 2;
+ r7 = heap32[(r3)];
+_99: do {
+if(!(r7 ==0)) //_LBB863_160
+{
+_100: while(true){
+ r7 = heap32[(r2+4)];
+ r7 = r7 >> 2;
+ r7 = heap32[(r7+1)];
+ if(r7 ==r9) //_LBB863_158
+{
+__label__ = 140;
+break _100;
+}
+else{
+if(!(r9 ==0)) //_LBB863_81
+{
+ r7 = r9 >> 2;
+ r7 = heap32[(r7)];
+if(!(r7 ==1)) //_LBB863_81
+{
+__label__ = 141;
+break _100;
+}
+}
+ r7 = r12 >> 2;
+ r10 = heap32[(r7+2)];
+ if(r10 !=r9) //_LBB863_119
+{
+ r11 = r10 >> 2;
+ r13 = heap32[(r11)];
+ if(r13 ==0) //_LBB863_121
+{
+ heap32[(r11)] = 1;
+ heap32[(r7)] = 0;
+ r10 = heap32[(r7+2)];
+ r11 = r10 >> 2;
+ r13 = heap32[(r11+3)];
+ heap32[(r7+2)] = r13;
+ r13 = heap32[(r11+3)];
+if(!(r13 ==0)) //_LBB863_123
+{
+ r13 = r13 >> 2;
+ heap32[(r13+1)] = r12;
+}
+ r13 = heap32[(r7+1)];
+ heap32[(r11+1)] = r13;
+ r13 = heap32[(r2+4)];
+ r13 = r13 >> 2;
+ r14 = heap32[(r13+1)];
+ if(r14 !=r12) //_LBB863_125
+{
+ r13 = heap32[(r7+1)];
+ r13 = r13 >> 2;
+ r14 = heap32[(r13+3)];
+ if(r14 !=r12) //_LBB863_127
+{
+ heap32[(r13+2)] = r10;
+}
+else{
+ heap32[(r13+3)] = r10;
+}
+}
+else{
+ heap32[(r13+1)] = r10;
+}
+ heap32[(r11+3)] = r12;
+ heap32[(r7+1)] = r10;
+ r10 = heap32[(r7+2)];
+}
+ r11 = r10 >> 2;
+ r13 = heap32[(r11+3)];
+if(!(r13 ==0)) //_LBB863_131
+{
+ r13 = r13 >> 2;
+ r14 = heap32[(r13)];
+ if(r14 !=1) //_LBB863_135
+{
+__label__ = 117;
+break _100;
+}
+}
+ r13 = heap32[(r11+2)];
+if(!(r13 ==0)) //_LBB863_134
+{
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+if(!(r13 ==1)) //_LBB863_134
+{
+__label__ = 127;
+break _100;
+}
+}
+ heap32[(r11)] = 0;
+}
+else{
+ r10 = heap32[(r7+3)];
+ r11 = r10 >> 2;
+ r13 = heap32[(r11)];
+ if(r13 ==0) //_LBB863_84
+{
+ heap32[(r11)] = 1;
+ heap32[(r7)] = 0;
+ r10 = heap32[(r7+3)];
+ r11 = r10 >> 2;
+ r13 = heap32[(r11+2)];
+ heap32[(r7+3)] = r13;
+ r13 = heap32[(r11+2)];
+if(!(r13 ==0)) //_LBB863_86
+{
+ r13 = r13 >> 2;
+ heap32[(r13+1)] = r12;
+}
+ r13 = heap32[(r7+1)];
+ heap32[(r11+1)] = r13;
+ r13 = heap32[(r2+4)];
+ r13 = r13 >> 2;
+ r14 = heap32[(r13+1)];
+ if(r14 !=r12) //_LBB863_88
+{
+ r13 = heap32[(r7+1)];
+ r13 = r13 >> 2;
+ r14 = heap32[(r13+2)];
+ if(r14 !=r12) //_LBB863_90
+{
+ heap32[(r13+3)] = r10;
+}
+else{
+ heap32[(r13+2)] = r10;
+}
+}
+else{
+ heap32[(r13+1)] = r10;
+}
+ heap32[(r11+2)] = r12;
+ heap32[(r7+1)] = r10;
+ r10 = heap32[(r7+3)];
+}
+ r11 = r10 >> 2;
+ r13 = heap32[(r11+2)];
+if(!(r13 ==0)) //_LBB863_94
+{
+ r13 = r13 >> 2;
+ r14 = heap32[(r13)];
+ if(r14 !=1) //_LBB863_99
+{
+__label__ = 83;
+break _100;
+}
+}
+ r13 = heap32[(r11+3)];
+if(!(r13 ==0)) //_LBB863_97
+{
+ r13 = r13 >> 2;
+ r13 = heap32[(r13)];
+if(!(r13 ==1)) //_LBB863_97
+{
+__label__ = 93;
+break _100;
+}
+}
+ heap32[(r11)] = 0;
+}
+ r10 = heap32[(r7+1)];
+ r9 = r12;
+ r12 = r10;
+}
+}
+_148: do {
+switch(__label__ ){//multiple entries
+case 117:
+ r14 = heap32[(r11+2)];
+if(!(r14 ==0)) //_LBB863_137
+{
+ r14 = r14 >> 2;
+ r14 = heap32[(r14)];
+ if(r14 !=1) //_LBB863_133
+{
+__label__ = 127;
+break _148;
+}
+}
+ heap32[(r13)] = 1;
+ r13 = heap32[(r11+3)];
+ r14 = r13 >> 2;
+ heap32[(r11)] = 0;
+ r15 = heap32[(r14+2)];
+ heap32[(r11+3)] = r15;
+ r15 = heap32[(r14+2)];
+if(!(r15 ==0)) //_LBB863_139
+{
+ r15 = r15 >> 2;
+ heap32[(r15+1)] = r10;
+}
+ r15 = heap32[(r11+1)];
+ heap32[(r14+1)] = r15;
+ r15 = heap32[(r2+4)];
+ r15 = r15 >> 2;
+ r16 = heap32[(r15+1)];
+ if(r16 !=r10) //_LBB863_141
+{
+ r15 = heap32[(r11+1)];
+ r15 = r15 >> 2;
+ r16 = heap32[(r15+2)];
+ if(r16 !=r10) //_LBB863_143
+{
+ heap32[(r15+3)] = r13;
+}
+else{
+ heap32[(r15+2)] = r13;
+}
+}
+else{
+ heap32[(r15+1)] = r13;
+}
+ heap32[(r14+2)] = r10;
+ heap32[(r11+1)] = r13;
+ r10 = heap32[(r7+2)];
+__label__ = 127;
+break _148;
+break;
+case 83:
+ r14 = heap32[(r11+3)];
+if(!(r14 ==0)) //_LBB863_101
+{
+ r14 = r14 >> 2;
+ r14 = heap32[(r14)];
+ if(r14 !=1) //_LBB863_96
+{
+__label__ = 93;
+break _148;
+}
+}
+ heap32[(r13)] = 1;
+ r13 = heap32[(r11+2)];
+ r14 = r13 >> 2;
+ heap32[(r11)] = 0;
+ r15 = heap32[(r14+3)];
+ heap32[(r11+2)] = r15;
+ r15 = heap32[(r14+3)];
+if(!(r15 ==0)) //_LBB863_103
+{
+ r15 = r15 >> 2;
+ heap32[(r15+1)] = r10;
+}
+ r15 = heap32[(r11+1)];
+ heap32[(r14+1)] = r15;
+ r15 = heap32[(r2+4)];
+ r15 = r15 >> 2;
+ r16 = heap32[(r15+1)];
+ if(r16 !=r10) //_LBB863_105
+{
+ r15 = heap32[(r11+1)];
+ r15 = r15 >> 2;
+ r16 = heap32[(r15+3)];
+ if(r16 !=r10) //_LBB863_107
+{
+ heap32[(r15+2)] = r13;
+}
+else{
+ heap32[(r15+3)] = r13;
+}
+}
+else{
+ heap32[(r15+1)] = r13;
+}
+ heap32[(r14+3)] = r10;
+ heap32[(r11+1)] = r13;
+ r10 = heap32[(r7+3)];
+__label__ = 93;
+break;
+}
+} while(0);
+_177: do {
+switch(__label__ ){//multiple entries
+case 127:
+ r10 = r10 >> 2;
+ r11 = heap32[(r7)];
+ heap32[(r10)] = r11;
+ heap32[(r7)] = 1;
+ r10 = heap32[(r10+2)];
+if(!(r10 ==0)) //_LBB863_147
+{
+ r10 = r10 >> 2;
+ heap32[(r10)] = 1;
+}
+ r10 = heap32[(r7+2)];
+ r11 = r10 >> 2;
+ r13 = heap32[(r11+3)];
+ heap32[(r7+2)] = r13;
+ r13 = heap32[(r11+3)];
+if(!(r13 ==0)) //_LBB863_149
+{
+ r13 = r13 >> 2;
+ heap32[(r13+1)] = r12;
+}
+ r13 = heap32[(r7+1)];
+ heap32[(r11+1)] = r13;
+ r13 = heap32[(r2+4)];
+ r13 = r13 >> 2;
+ r14 = heap32[(r13+1)];
+ if(r14 !=r12) //_LBB863_151
+{
+ r13 = heap32[(r7+1)];
+ r13 = r13 >> 2;
+ r14 = heap32[(r13+3)];
+ if(r14 !=r12) //_LBB863_153
+{
+ heap32[(r13+2)] = r10;
+}
+else{
+ heap32[(r13+3)] = r10;
+}
+}
+else{
+ heap32[(r13+1)] = r10;
+}
+ heap32[(r11+3)] = r12;
+ heap32[(r7+1)] = r10;
+__label__ = 140;
+break _177;
+break;
+case 93:
+ r10 = r10 >> 2;
+ r11 = heap32[(r7)];
+ heap32[(r10)] = r11;
+ heap32[(r7)] = 1;
+ r10 = heap32[(r10+3)];
+if(!(r10 ==0)) //_LBB863_111
+{
+ r10 = r10 >> 2;
+ heap32[(r10)] = 1;
+}
+ r10 = heap32[(r7+3)];
+ r11 = r10 >> 2;
+ r13 = heap32[(r11+2)];
+ heap32[(r7+3)] = r13;
+ r13 = heap32[(r11+2)];
+if(!(r13 ==0)) //_LBB863_113
+{
+ r13 = r13 >> 2;
+ heap32[(r13+1)] = r12;
+}
+ r13 = heap32[(r7+1)];
+ heap32[(r11+1)] = r13;
+ r13 = heap32[(r2+4)];
+ r13 = r13 >> 2;
+ r14 = heap32[(r13+1)];
+ if(r14 !=r12) //_LBB863_115
+{
+ r13 = heap32[(r7+1)];
+ r13 = r13 >> 2;
+ r14 = heap32[(r13+2)];
+ if(r14 !=r12) //_LBB863_117
+{
+ heap32[(r13+3)] = r10;
+}
+else{
+ heap32[(r13+2)] = r10;
+}
+}
+else{
+ heap32[(r13+1)] = r10;
+}
+ heap32[(r11+2)] = r12;
+ heap32[(r7+1)] = r10;
+__label__ = 140;
+break;
+}
+} while(0);
+if (__label__ == 140){
+ if(r9 ==0) //_LBB863_160
+{
+break _99;
+}
+}
+ r7 = r9 >> 2;
+ heap32[(r7)] = 1;
+}
+} while(0);
+ r7 = heap32[(r2+1)];
+ heap32[(r3+3)] = r7;
+ r7 = heap32[(r3+4)];
+ r7 = (r7 + -12)|0;
+ r9 = _ZNSs11_C_null_refE;
+if(!(r7 ==r9)) //_LBB863_163
+{
+ r7 = r7 >> 2;
+ r9 = heap32[(r7)];
+ r10 = (r9 + -1)|0;
+ heap32[(r7)] = r10;
+if(!(r9 >0)) //_LBB863_163
+{
+ r7 = heap32[(r3+4)];
+ r7 = (r7 + -12)|0;
+ heap32[(g0)] = r7;
+ _ZdlPv(i7);
+}
+}
+ heap32[(r3+4)] = 0;
+ heap32[(r2+1)] = r4;
+ r4 = heap32[(r2+5)];
+ r4 = (r4 + -1)|0;
+ heap32[(r2+5)] = r4;
+}
+else{
+ r8 = r7;
+}
+ heap32[(r1)] = r8;
+ r4 = r5;
+ if(r5 !=r6) //_LBB863_5
+{
+continue _7;
+}
+else{
+break _7;
+}
+}
+}
+ return;
+}
+
+function _ZN4__rw9__rb_treeIjSt4pairIKjPN5my_gl12TIndexBufferEENS_11__select1stIS6_jEESt4lessIjESaIS6_EE5eraseENS_14__rw_tree_iterIS6_iPS6_RS6_NS_17__rw_rb_tree_nodeISB_S6_jS8_EEEE(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+ var r7;
+ var r8;
+ var r9;
+ var r10;
+ var r11;
+ var r12;
+ var r13;
+ var r14;
+var __label__ = 0;
+ i7 = sp + 0;var g0 = i7>>2; // save stack
+ r0 = _ZN5my_glL9m_contextE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+78)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp)];
+ if(r1 !=r2) //_LBB864_2
+{
+ r4 = r2 >> 2;
+ r5 = heap32[(r4+3)];
+_3: do {
+ if(r5 !=0) //_LBB864_6
+{
+ r6 = r5 >> 2;
+ r7 = heap32[(r6+2)];
+ if(r7 ==0) //_LBB864_8
+{
+ r6 = r5;
+}
+else{
+_7: while(true){
+ r6 = r7;
+ r7 = r6 >> 2;
+ r7 = heap32[(r7+2)];
+ if(r7 !=0) //_LBB864_9
+{
+continue _7;
+}
+else{
+break _3;
+}
+}
+}
+}
+else{
+ r6 = heap32[(r4+1)];
+ r7 = r6 >> 2;
+ r7 = heap32[(r7+3)];
+ if(r7 ==r2) //_LBB864_5
+{
+_11: while(true){
+ r8 = r6;
+ r7 = r8 >> 2;
+ r6 = heap32[(r7+1)];
+ r9 = r6 >> 2;
+ r9 = heap32[(r9+3)];
+if(!(r8 ==r9)) //_LBB864_11
+{
+break _11;
+}
+}
+ r7 = heap32[(r7+3)];
+}
+else{
+ r7 = 0;
+ r8 = r2;
+}
+ if(r7 ==r6) //_LBB864_15
+{
+ r6 = r8;
+}
+}
+} while(0);
+ r7 = heap32[(r4+2)];
+ if(r7 !=0) //_LBB864_18
+{
+ if(r5 !=0) //_LBB864_20
+{
+ r8 = r5 >> 2;
+ r9 = heap32[(r8+2)];
+_22: do {
+ if(r9 ==0) //_LBB864_22
+{
+ r8 = r5;
+}
+else{
+_24: while(true){
+ r8 = r9;
+ r9 = r8 >> 2;
+ r9 = heap32[(r9+2)];
+if(!(r9 !=0)) //_LBB864_23
+{
+break _22;
+}
+}
+}
+} while(0);
+ r10 = r8 >> 2;
+ r5 = heap32[(r10+3)];
+ if(r8 !=r2) //_LBB864_26
+{
+ r9 = r7 >> 2;
+ heap32[(r9+1)] = r8;
+ r9 = heap32[(r4+2)];
+ heap32[(r10+2)] = r9;
+ r9 = heap32[(r4+3)];
+ if(r9 !=r8) //_LBB864_28
+{
+ r9 = heap32[(r10+1)];
+ if(r5 !=0) //_LBB864_30
+{
+ r7 = r5 >> 2;
+ heap32[(r7+1)] = r9;
+ r7 = heap32[(r10+1)];
+}
+else{
+ r7 = r9;
+}
+ r7 = r7 >> 2;
+ heap32[(r7+2)] = r5;
+ r7 = heap32[(r4+3)];
+ heap32[(r10+3)] = r7;
+ r7 = heap32[(r4+3)];
+ r7 = r7 >> 2;
+ heap32[(r7+1)] = r8;
+}
+else{
+ r9 = r8;
+}
+ r7 = r1 >> 2;
+ r11 = heap32[(r7+1)];
+ if(r11 !=r2) //_LBB864_34
+{
+ r11 = heap32[(r4+1)];
+ r7 = r11 >> 2;
+ r7 = heap32[(r7+2)];
+ r7 = r7 != r2;
+ r7 = r7 & 1;
+ r7 = r7 << 2;
+ r11 = (r11 + r7)|0;
+ r7 = (r11 + 8)|0;
+ r11 = (r2 + 4)|0;
+ r7 = r7 >> 2;
+ heap32[(r7)] = r8;
+}
+else{
+ r11 = (r2 + 4)|0;
+ heap32[(r7+1)] = r8;
+}
+ r8 = r11 >> 2;
+ r8 = heap32[(r8)];
+ heap32[(r10+1)] = r8;
+ r8 = heap32[(r10)];
+ r7 = heap32[(r4)];
+ heap32[(r10)] = r7;
+ heap32[(r4)] = r8;
+__label__ = 51;
+}
+else{
+__label__ = 30;
+}
+}
+else{
+ r9 = heap32[(r4+1)];
+ r8 = r2;
+ r5 = r7;
+__label__ = 32;
+}
+}
+else{
+ r8 = r2;
+__label__ = 30;
+}
+if (__label__ == 30){
+ r9 = r8 >> 2;
+ r9 = heap32[(r9+1)];
+ if(r5 ==0) //_LBB864_38
+{
+ r5 = 0;
+__label__ = 33;
+}
+else{
+__label__ = 32;
+}
+}
+if (__label__ == 32){
+ r7 = r5 >> 2;
+ heap32[(r7+1)] = r9;
+__label__ = 33;
+}
+if (__label__ == 33){
+ r7 = r1 >> 2;
+ r10 = heap32[(r7+1)];
+ if(r10 !=r2) //_LBB864_42
+{
+ r10 = heap32[(r4+1)];
+ r11 = r10 >> 2;
+ r11 = heap32[(r11+2)];
+ r11 = r11 != r2;
+ r11 = r11 & 1;
+ r11 = r11 << 2;
+ r10 = (r10 + r11)|0;
+ r10 = (r10 + 8)|0;
+ r10 = r10 >> 2;
+ heap32[(r10)] = r5;
+}
+else{
+ heap32[(r7+1)] = r5;
+}
+ r10 = heap32[(r7+2)];
+if(!(r10 !=r2)) //_LBB864_51
+{
+ r10 = heap32[(r4+3)];
+ if(r10 !=0) //_LBB864_46
+{
+ r10 = r5 >> 2;
+ r10 = heap32[(r10+2)];
+_57: do {
+ if(r10 ==0) //_LBB864_48
+{
+ r11 = r5;
+}
+else{
+_59: while(true){
+ r11 = r10;
+ r10 = r11 >> 2;
+ r10 = heap32[(r10+2)];
+if(!(r10 !=0)) //_LBB864_49
+{
+break _57;
+}
+}
+}
+} while(0);
+ heap32[(r7+2)] = r11;
+}
+else{
+ r10 = heap32[(r4+1)];
+ heap32[(r7+2)] = r10;
+}
+}
+ r10 = heap32[(r7+3)];
+ if(r10 ==r2) //_LBB864_53
+{
+ r2 = heap32[(r4+2)];
+ if(r2 !=0) //_LBB864_55
+{
+ r2 = r5 >> 2;
+ r2 = heap32[(r2+3)];
+_68: do {
+ if(r2 ==0) //_LBB864_57
+{
+ r4 = r5;
+}
+else{
+_70: while(true){
+ r4 = r2;
+ r2 = r4 >> 2;
+ r2 = heap32[(r2+3)];
+if(!(r2 !=0)) //_LBB864_58
+{
+break _68;
+}
+}
+}
+} while(0);
+ heap32[(r7+3)] = r4;
+ r2 = r8;
+}
+else{
+ r2 = heap32[(r4+1)];
+ heap32[(r7+3)] = r2;
+ r2 = r8;
+}
+}
+else{
+ r2 = r8;
+}
+}
+ r4 = r2 >> 2;
+ r7 = heap32[(r4)];
+_76: do {
+if(!(r7 ==0)) //_LBB864_141
+{
+_77: while(true){
+ r7 = r1 >> 2;
+ r8 = heap32[(r7+1)];
+ if(r8 ==r5) //_LBB864_139
+{
+__label__ = 125;
+break _77;
+}
+else{
+if(!(r5 ==0)) //_LBB864_62
+{
+ r8 = r5 >> 2;
+ r8 = heap32[(r8)];
+if(!(r8 ==1)) //_LBB864_62
+{
+__label__ = 126;
+break _77;
+}
+}
+ r8 = r9 >> 2;
+ r10 = heap32[(r8+2)];
+ if(r10 !=r5) //_LBB864_100
+{
+ r11 = r10 >> 2;
+ r12 = heap32[(r11)];
+ if(r12 ==0) //_LBB864_102
+{
+ heap32[(r11)] = 1;
+ heap32[(r8)] = 0;
+ r10 = heap32[(r8+2)];
+ r11 = r10 >> 2;
+ r12 = heap32[(r11+3)];
+ heap32[(r8+2)] = r12;
+ r12 = heap32[(r11+3)];
+if(!(r12 ==0)) //_LBB864_104
+{
+ r12 = r12 >> 2;
+ heap32[(r12+1)] = r9;
+}
+ r12 = heap32[(r8+1)];
+ heap32[(r11+1)] = r12;
+ r12 = heap32[(r7+1)];
+ if(r12 !=r9) //_LBB864_106
+{
+ r12 = heap32[(r8+1)];
+ r12 = r12 >> 2;
+ r13 = heap32[(r12+3)];
+ if(r13 !=r9) //_LBB864_108
+{
+ heap32[(r12+2)] = r10;
+}
+else{
+ heap32[(r12+3)] = r10;
+}
+}
+else{
+ heap32[(r7+1)] = r10;
+}
+ heap32[(r11+3)] = r9;
+ heap32[(r8+1)] = r10;
+ r10 = heap32[(r8+2)];
+}
+ r11 = r10 >> 2;
+ r12 = heap32[(r11+3)];
+if(!(r12 ==0)) //_LBB864_112
+{
+ r12 = r12 >> 2;
+ r13 = heap32[(r12)];
+ if(r13 !=1) //_LBB864_116
+{
+__label__ = 102;
+break _77;
+}
+}
+ r12 = heap32[(r11+2)];
+if(!(r12 ==0)) //_LBB864_115
+{
+ r12 = r12 >> 2;
+ r12 = heap32[(r12)];
+if(!(r12 ==1)) //_LBB864_115
+{
+__label__ = 112;
+break _77;
+}
+}
+ heap32[(r11)] = 0;
+}
+else{
+ r10 = heap32[(r8+3)];
+ r11 = r10 >> 2;
+ r12 = heap32[(r11)];
+ if(r12 ==0) //_LBB864_65
+{
+ heap32[(r11)] = 1;
+ heap32[(r8)] = 0;
+ r10 = heap32[(r8+3)];
+ r11 = r10 >> 2;
+ r12 = heap32[(r11+2)];
+ heap32[(r8+3)] = r12;
+ r12 = heap32[(r11+2)];
+if(!(r12 ==0)) //_LBB864_67
+{
+ r12 = r12 >> 2;
+ heap32[(r12+1)] = r9;
+}
+ r12 = heap32[(r8+1)];
+ heap32[(r11+1)] = r12;
+ r12 = heap32[(r7+1)];
+ if(r12 !=r9) //_LBB864_69
+{
+ r12 = heap32[(r8+1)];
+ r12 = r12 >> 2;
+ r13 = heap32[(r12+2)];
+ if(r13 !=r9) //_LBB864_71
+{
+ heap32[(r12+3)] = r10;
+}
+else{
+ heap32[(r12+2)] = r10;
+}
+}
+else{
+ heap32[(r7+1)] = r10;
+}
+ heap32[(r11+2)] = r9;
+ heap32[(r8+1)] = r10;
+ r10 = heap32[(r8+3)];
+}
+ r11 = r10 >> 2;
+ r12 = heap32[(r11+2)];
+if(!(r12 ==0)) //_LBB864_75
+{
+ r12 = r12 >> 2;
+ r13 = heap32[(r12)];
+ if(r13 !=1) //_LBB864_80
+{
+__label__ = 68;
+break _77;
+}
+}
+ r12 = heap32[(r11+3)];
+if(!(r12 ==0)) //_LBB864_78
+{
+ r12 = r12 >> 2;
+ r12 = heap32[(r12)];
+if(!(r12 ==1)) //_LBB864_78
+{
+__label__ = 78;
+break _77;
+}
+}
+ heap32[(r11)] = 0;
+}
+ r10 = heap32[(r8+1)];
+ r5 = r9;
+ r9 = r10;
+}
+}
+_125: do {
+switch(__label__ ){//multiple entries
+case 102:
+ r1 = heap32[(r11+2)];
+if(!(r1 ==0)) //_LBB864_118
+{
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ if(r1 !=1) //_LBB864_114
+{
+__label__ = 112;
+break _125;
+}
+}
+ heap32[(r12)] = 1;
+ r1 = heap32[(r11+3)];
+ r12 = r1 >> 2;
+ heap32[(r11)] = 0;
+ r13 = heap32[(r12+2)];
+ heap32[(r11+3)] = r13;
+ r13 = heap32[(r12+2)];
+if(!(r13 ==0)) //_LBB864_120
+{
+ r13 = r13 >> 2;
+ heap32[(r13+1)] = r10;
+}
+ r13 = heap32[(r11+1)];
+ heap32[(r12+1)] = r13;
+ r13 = heap32[(r7+1)];
+ if(r13 !=r10) //_LBB864_122
+{
+ r13 = heap32[(r11+1)];
+ r13 = r13 >> 2;
+ r14 = heap32[(r13+2)];
+ if(r14 !=r10) //_LBB864_124
+{
+ heap32[(r13+3)] = r1;
+}
+else{
+ heap32[(r13+2)] = r1;
+}
+}
+else{
+ heap32[(r7+1)] = r1;
+}
+ heap32[(r12+2)] = r10;
+ heap32[(r11+1)] = r1;
+ r10 = heap32[(r8+2)];
+__label__ = 112;
+break _125;
+break;
+case 68:
+ r1 = heap32[(r11+3)];
+if(!(r1 ==0)) //_LBB864_82
+{
+ r1 = r1 >> 2;
+ r1 = heap32[(r1)];
+ if(r1 !=1) //_LBB864_77
+{
+__label__ = 78;
+break _125;
+}
+}
+ heap32[(r12)] = 1;
+ r1 = heap32[(r11+2)];
+ r12 = r1 >> 2;
+ heap32[(r11)] = 0;
+ r13 = heap32[(r12+3)];
+ heap32[(r11+2)] = r13;
+ r13 = heap32[(r12+3)];
+if(!(r13 ==0)) //_LBB864_84
+{
+ r13 = r13 >> 2;
+ heap32[(r13+1)] = r10;
+}
+ r13 = heap32[(r11+1)];
+ heap32[(r12+1)] = r13;
+ r13 = heap32[(r7+1)];
+ if(r13 !=r10) //_LBB864_86
+{
+ r13 = heap32[(r11+1)];
+ r13 = r13 >> 2;
+ r14 = heap32[(r13+3)];
+ if(r14 !=r10) //_LBB864_88
+{
+ heap32[(r13+2)] = r1;
+}
+else{
+ heap32[(r13+3)] = r1;
+}
+}
+else{
+ heap32[(r7+1)] = r1;
+}
+ heap32[(r12+3)] = r10;
+ heap32[(r11+1)] = r1;
+ r10 = heap32[(r8+3)];
+__label__ = 78;
+break;
+}
+} while(0);
+_154: do {
+switch(__label__ ){//multiple entries
+case 112:
+ r1 = r10 >> 2;
+ r10 = heap32[(r8)];
+ heap32[(r1)] = r10;
+ heap32[(r8)] = 1;
+ r1 = heap32[(r1+2)];
+if(!(r1 ==0)) //_LBB864_128
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = 1;
+}
+ r1 = heap32[(r8+2)];
+ r10 = r1 >> 2;
+ r11 = heap32[(r10+3)];
+ heap32[(r8+2)] = r11;
+ r11 = heap32[(r10+3)];
+if(!(r11 ==0)) //_LBB864_130
+{
+ r11 = r11 >> 2;
+ heap32[(r11+1)] = r9;
+}
+ r11 = heap32[(r8+1)];
+ heap32[(r10+1)] = r11;
+ r11 = heap32[(r7+1)];
+ if(r11 !=r9) //_LBB864_132
+{
+ r7 = heap32[(r8+1)];
+ r7 = r7 >> 2;
+ r11 = heap32[(r7+3)];
+ if(r11 !=r9) //_LBB864_134
+{
+ heap32[(r7+2)] = r1;
+}
+else{
+ heap32[(r7+3)] = r1;
+}
+}
+else{
+ heap32[(r7+1)] = r1;
+}
+ heap32[(r10+3)] = r9;
+ heap32[(r8+1)] = r1;
+__label__ = 125;
+break _154;
+break;
+case 78:
+ r1 = r10 >> 2;
+ r10 = heap32[(r8)];
+ heap32[(r1)] = r10;
+ heap32[(r8)] = 1;
+ r1 = heap32[(r1+3)];
+if(!(r1 ==0)) //_LBB864_92
+{
+ r1 = r1 >> 2;
+ heap32[(r1)] = 1;
+}
+ r1 = heap32[(r8+3)];
+ r10 = r1 >> 2;
+ r11 = heap32[(r10+2)];
+ heap32[(r8+3)] = r11;
+ r11 = heap32[(r10+2)];
+if(!(r11 ==0)) //_LBB864_94
+{
+ r11 = r11 >> 2;
+ heap32[(r11+1)] = r9;
+}
+ r11 = heap32[(r8+1)];
+ heap32[(r10+1)] = r11;
+ r11 = heap32[(r7+1)];
+ if(r11 !=r9) //_LBB864_96
+{
+ r7 = heap32[(r8+1)];
+ r7 = r7 >> 2;
+ r11 = heap32[(r7+2)];
+ if(r11 !=r9) //_LBB864_98
+{
+ heap32[(r7+3)] = r1;
+}
+else{
+ heap32[(r7+2)] = r1;
+}
+}
+else{
+ heap32[(r7+1)] = r1;
+}
+ heap32[(r10+2)] = r9;
+ heap32[(r8+1)] = r1;
+__label__ = 125;
+break;
+}
+} while(0);
+if (__label__ == 125){
+ if(r5 ==0) //_LBB864_141
+{
+break _76;
+}
+}
+ r1 = r5 >> 2;
+ heap32[(r1)] = 1;
+}
+} while(0);
+ r1 = heap32[(r0+75)];
+ heap32[(r4+3)] = r1;
+ heap32[(r0+75)] = r2;
+ r1 = heap32[(r0+79)];
+ r1 = (r1 + -1)|0;
+ r2 = r3 >> 2;
+ heap32[(r0+79)] = r1;
+ heap32[(r2)] = r6;
+ return;
+}
+else{
+ r0 = r3 >> 2;
+ heap32[(r0)] = r1;
+ return;
+}
+}
+
+function _ZN4__rw9__rb_treeIjSt4pairIKjPN5my_gl12TIndexBufferEENS_11__select1stIS6_jEESt4lessIjESaIS6_EE11_C_get_linkEv(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+ var r5;
+ var r6;
+var __label__ = 0;
+ i7 = sp + -8;var g0 = i7>>2; // save stack
+ r0 = _ZN5my_glL9m_contextE;
+ r0 = r0 >> 2;
+ r1 = heap32[(r0+75)];
+ if(r1 ==0) //_LBB865_2
+{
+ r1 = heap32[(r0+76)];
+ r2 = heap32[(r0+77)];
+ if(r1 !=r2) //_LBB865_11
+{
+ r2 = (r1 + 24)|0;
+ heap32[(r0+76)] = r2;
+}
+else{
+ r1 = heap32[(r0+74)];
+ if(r1 !=0) //_LBB865_5
+{
+ r1 = r1 >> 2;
+ r1 = heap32[(r1+1)];
+}
+else{
+ r1 = 0;
+}
+ heap32[(g0)] = 12;
+ _Znwj(i7);
+ r2 = r_g0;
+if(!(r2 !=0)) //_LBB865_8
+{
+ heap32[(g0)] = 3;
+ _ZN4__rw10__rw_throwEiz(i7);
+}
+ r3 = r1 & 1023;
+ r3 = (r3 * 1656)|0;
+ r4 = r1 >>> 10;
+ r3 = r3 >>> 10;
+ r4 = (r4 * 1656)|0;
+ r5 = (r1 + 32)|0;
+ r3 = (r3 + r4)|0;
+ r3 = uint(r5) > uint(r3) ? r5 : r3;
+ r4 = (r1 + 1)|0;
+ r3 = uint(r3) > uint(r1) ? r3 : r4;
+ r4 = (r3 * 24)|0;
+ heap32[(g0)] = r4;
+ _Znwj(i7);
+ r1 = r_g0;
+if(!(r1 !=0)) //_LBB865_10
+{
+ heap32[(g0)] = 3;
+ _ZN4__rw10__rw_throwEiz(i7);
+}
+ r5 = r2 >> 2;
+ heap32[(r5+2)] = r1;
+ r6 = heap32[(r0+74)];
+ heap32[(r5)] = r6;
+ heap32[(r5+1)] = r3;
+ r3 = (r1 + r4)|0;
+ heap32[(r0+74)] = r2;
+ r2 = (r1 + 24)|0;
+ heap32[(r0+77)] = r3;
+ heap32[(r0+76)] = r2;
+}
+}
+else{
+ r2 = r1 >> 2;
+ r2 = heap32[(r2+3)];
+ heap32[(r0+75)] = r2;
+}
+ r0 = r1 >> 2;
+ heap32[(r0+1)] = 0;
+ heap32[(r0+2)] = 0;
+ heap32[(r0+3)] = 0;
+ heap32[(r0)] = 0;
+ r_g0 = r1;
+ return;
+}
+
+function _ZN4__rw9__rb_treeISsSt4pairIKSsiENS_11__select1stIS3_SsEESt4lessISsESaIS3_EED2Ev(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+ var r4;
+var __label__ = 0;
+ i7 = sp + -32;var g0 = i7>>2; // save stack
+ r0 = heap32[(fp)];
+ r1 = r0 >> 2;
+ r2 = heap32[(r1+4)];
+if(!(r2 ==0)) //_LBB866_3
+{
+ r3 = r2 >> 2;
+ r3 = heap32[(r3+2)];
+ heap32[(fp+-2)] = r3;
+ r3 = sp + -16;
+ r4 = sp + -8;
+ heap32[(g0)] = r3;
+ heap32[(g0+1)] = r0;
+ heap32[(g0+2)] = r4;
+ heap32[(g0+3)] = r2;
+ _ZN4__rw9__rb_treeISsSt4pairIKSsiENS_11__select1stIS3_SsEESt4lessISsESaIS3_EE5eraseENS_14__rw_tree_iterIS3_iPS3_RS3_NS_17__rw_rb_tree_nodeIS8_S3_SsS5_EEEESF_(i7);
+ r0 = heap32[(r1+4)];
+ r2 = heap32[(r1+1)];
+ r3 = r0 >> 2;
+ heap32[(r3+3)] = r2;
+ heap32[(r1+1)] = r0;
+ r0 = heap32[(r1)];
+if(!(r0 ==0)) //_LBB866_3
+{
+__label__ = 2; //SET chanka
+_3: while(true){
+ r2 = r0 >> 2;
+ r3 = heap32[(r2)];
+ heap32[(r1)] = r3;
+ r2 = heap32[(r2+2)];
+ heap32[(g0)] = r2;
+ _ZdlPv(i7);
+ heap32[(g0)] = r0;
+ _ZdlPv(i7);
+ r0 = heap32[(r1)];
+ if(r0 !=0) //_LBB866_2
+{
+continue _3;
+}
+else{
+break _3;
+}
+}
+}
+}
+ return;
+}
+
+function Mandreel_TextureAsync_Loaded(sp)
+{
+ var i7;
+ var fp = sp>>2;
+ var r0;
+ var r1;
+ var r2;
+ var r3;
+var __label__ = 0;
+ i7 = sp + -40;var g0 = i7>>2; // save stack
+ r0 = 5;
+ r0 = heap32[(r0)];
+ r1 = heap32[(fp)];
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 3553;
+ heap32[(g0+2)] = r1;
+ r2 = 100;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ r0 = heap32[(r2)];
+ r2 = heap32[(fp+1)];
+ r3 = heap32[(fp+2)];
+ heap32[(g0)] = 0;
+ heap32[(g0+1)] = 3553;
+ heap32[(g0+2)] = 0;
+ heap32[(g0+3)] = 6408;
+ heap32[(g0+4)] = r2;
+ heap32[(g0+5)] = r3;
+ heap32[(g0+6)] = 0;
+ heap32[(g0+7)] = 6408;
+ heap32[(g0+8)] = 5121;
+ heap32[(g0+9)] = 0;
+ __FUNCTION_TABLE__[(r0)>>2](i7);
+ heap32[(g0)] = r1;
+ Mandreel_TextureAsync_SetData(i7);
+ return;
+}
+
+var _ZGVZN11btMatrix3x311getIdentityEvE14identityMatrix = Malloc(8);
+var _ZGVZN11btTransform11getIdentityEvE17identityTransform = Malloc(8);
+var Landscape02Vtx = Malloc(23760);
+var _ZTIN16btCollisionWorld17RayResultCallbackE = Malloc(8);
+var _ZTSN16btCollisionWorld17RayResultCallbackE = Malloc(40);
+var _ZTVN16btCollisionWorld24ClosestRayResultCallbackE = Malloc(24);
+var _ZTIN16btCollisionWorld24ClosestRayResultCallbackE = Malloc(12);
+var _ZTSN16btCollisionWorld24ClosestRayResultCallbackE = Malloc(47);
+var _ZTI13btMotionState = Malloc(8);
+var _ZTS13btMotionState = Malloc(16);
+var _ZTV20btDefaultMotionState = Malloc(24);
+var _ZTI20btDefaultMotionState = Malloc(12);
+var _ZTS20btDefaultMotionState = Malloc(23);
+var _ZTI17btTypedConstraint = Malloc(24);
+var _ZTS17btTypedConstraint = Malloc(20);
+var _ZTI13btTypedObject = Malloc(8);
+var _ZTS13btTypedObject = Malloc(16);
+var _ZTV7RagDoll = Malloc(16);
+var _ZTI7RagDoll = Malloc(8);
+var _ZTS7RagDoll = Malloc(9);
+var _ZTV13BenchmarkDemo = Malloc(36);
+var _ZTI13BenchmarkDemo = Malloc(12);
+var _ZTS13BenchmarkDemo = Malloc(16);
+var _ZTI15DemoApplication = Malloc(8);
+var _ZTS15DemoApplication = Malloc(18);
+var _ZL10raycastBar = Malloc(40048);
+var _2E_str3 = Malloc(48);
+var _2E_str4 = Malloc(69);
+var _2E_str5 = Malloc(61);
+var _2E_str6 = Malloc(50);
+var _2E_str7 = Malloc(27);
+var _ZL7TaruVtx = Malloc(516);
+var LandscapeVtx = Malloc(32);
+var Landscape01Vtx = Malloc(24576);
+var Landscape03Vtx = Malloc(24576);
+var Landscape04Vtx = Malloc(25344);
+var Landscape05Vtx = Malloc(26928);
+var Landscape06Vtx = Malloc(27720);
+var Landscape07Vtx = Malloc(26880);
+var Landscape08Vtx = Malloc(26136);
+var LandscapeVtxCount = Malloc(32);
+var LandscapeIdx = Malloc(32);
+var Landscape01Idx = Malloc(23436);
+var Landscape02Idx = Malloc(22620);
+var Landscape03Idx = Malloc(23436);
+var Landscape04Idx = Malloc(24192);
+var Landscape05Idx = Malloc(25740);
+var Landscape06Idx = Malloc(26520);
+var Landscape07Idx = Malloc(25704);
+var Landscape08Idx = Malloc(24960);
+var LandscapeIdxCount = Malloc(32);
+var _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_0_2E_0_2E_0 = Malloc(4);
+var _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_1_2E_0_2E_1 = Malloc(4);
+var _ZZN11btMatrix3x311getIdentityEvE14identityMatrix_2E_0_2E_2_2E_0_2E_2 = Malloc(4);
+var _ZZN11btTransform11getIdentityEvE17identityTransform = Malloc(64);
+var _ZTV14BenchmarkDemo4 = Malloc(36);
+var _ZTI14BenchmarkDemo4 = Malloc(12);
+var _ZTS14BenchmarkDemo4 = Malloc(17);
+var _ZL14benchmarkDemo4 = Malloc(80);
+var _ZTI21btBroadphaseInterface = Malloc(8);
+var _ZTS21btBroadphaseInterface = Malloc(24);
+var _ZTI25btOverlappingPairCallback = Malloc(8);
+var _ZTS25btOverlappingPairCallback = Malloc(28);
+var _ZTI22btOverlappingPairCache = Malloc(12);
+var _ZTS22btOverlappingPairCache = Malloc(25);
+var _ZTV15btNullPairCache = Malloc(76);
+var _ZTI15btNullPairCache = Malloc(12);
+var _ZTS15btNullPairCache = Malloc(18);
+var _2E_str11 = Malloc(36);
+var _2E_str112 = Malloc(67);
+var _2E_str213 = Malloc(18);
+var _2E_str314 = Malloc(18);
+var _ZTV20btAxisSweep3InternalItE = Malloc(64);
+var _ZTI20btAxisSweep3InternalItE = Malloc(12);
+var _ZTS20btAxisSweep3InternalItE = Malloc(26);
+var _ZTV12btAxisSweep3 = Malloc(64);
+var _ZTI12btAxisSweep3 = Malloc(12);
+var _ZTS12btAxisSweep3 = Malloc(15);
+var _ZTV20btCollisionAlgorithm = Malloc(28);
+var _ZTI20btCollisionAlgorithm = Malloc(8);
+var _ZTS20btCollisionAlgorithm = Malloc(23);
+var _ZTIN6btDbvt8ICollideE = Malloc(8);
+var _ZTSN6btDbvt8ICollideE = Malloc(19);
+var _2E_str1118 = Malloc(63);
+var _2E_str22 = Malloc(16);
+var _ZTV18btDbvtTreeCollider = Malloc(36);
+var _ZTI18btDbvtTreeCollider = Malloc(12);
+var _ZTS18btDbvtTreeCollider = Malloc(21);
+var _ZTV19BroadphaseRayTester = Malloc(36);
+var _ZTI19BroadphaseRayTester = Malloc(12);
+var _ZTS19BroadphaseRayTester = Malloc(22);
+var _ZTV20BroadphaseAabbTester = Malloc(36);
+var _ZTI20BroadphaseAabbTester = Malloc(12);
+var _ZTS20BroadphaseAabbTester = Malloc(23);
+var _2E_str18 = Malloc(73);
+var _ZTV16btDbvtBroadphase = Malloc(64);
+var _ZTI16btDbvtBroadphase = Malloc(12);
+var _ZTS16btDbvtBroadphase = Malloc(19);
+var _ZTV12btDispatcher = Malloc(64);
+var _ZTI12btDispatcher = Malloc(8);
+var _ZTS12btDispatcher = Malloc(15);
+var _ZTI21btNodeOverlapCallback = Malloc(8);
+var _ZTS21btNodeOverlapCallback = Malloc(24);
+var _2E_str10 = Malloc(2);
+var _2E_str212 = Malloc(18);
+var _2E_str313 = Malloc(69);
+var _2E_str414 = Malloc(36);
+var _2E_str515 = Malloc(36);
+var _2E_str616 = Malloc(36);
+var _2E_str717 = Malloc(36);
+var _2E_str820 = Malloc(36);
+var _2E_str9 = Malloc(36);
+var gOverlappingPairs = Malloc(4);
+var _ZTI17btOverlapCallback = Malloc(8);
+var _ZTS17btOverlapCallback = Malloc(20);
+var _ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback = Malloc(20);
+var _ZTIZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback = Malloc(12);
+var _ZTSZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback = Malloc(110);
+var _ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback = Malloc(20);
+var _ZTIZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback = Malloc(12);
+var _ZTSZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback = Malloc(129);
+var gRemovePairs = Malloc(4);
+var _ZTV28btHashedOverlappingPairCache = Malloc(76);
+var _ZTI28btHashedOverlappingPairCache = Malloc(12);
+var _ZTS28btHashedOverlappingPairCache = Malloc(31);
+var _2E_str121 = Malloc(79);
+var gAddedPairs = Malloc(4);
+var _2E_str222 = Malloc(38);
+var _2E_str323 = Malloc(77);
+var _2E_str424 = Malloc(38);
+var _2E_str525 = Malloc(38);
+var _2E_str626 = Malloc(42);
+var _2E_str727 = Malloc(22);
+var gFindPairs = Malloc(4);
+var _2E_str32 = Malloc(23);
+var _2E_str133 = Malloc(23);
+var _2E_str234 = Malloc(21);
+var _2E_str335 = Malloc(24);
+var _ZTV14btQuantizedBvh = Malloc(36);
+var _ZTI14btQuantizedBvh = Malloc(8);
+var _ZTS14btQuantizedBvh = Malloc(17);
+var _2E_str537 = Malloc(71);
+var _2E_str638 = Malloc(48);
+var _2E_str739 = Malloc(13);
+var _2E_str941 = Malloc(14);
+var _2E_str1143 = Malloc(29);
+var maxIterations = Malloc(4);
+var _2E_str1844 = Malloc(19);
+var _2E_str1921 = Malloc(32);
+var _2E_str21 = Malloc(7);
+var _2E_str2246 = Malloc(13);
+var _ZTV30btActivatingCollisionAlgorithm = Malloc(28);
+var _ZTI30btActivatingCollisionAlgorithm = Malloc(12);
+var _ZTS30btActivatingCollisionAlgorithm = Malloc(33);
+var _2E_str59 = Malloc(14);
+var _2E_str160 = Malloc(69);
+var _ZTV26btBoxBoxCollisionAlgorithm = Malloc(28);
+var _ZTI26btBoxBoxCollisionAlgorithm = Malloc(12);
+var _ZTS26btBoxBoxCollisionAlgorithm = Malloc(29);
+var _ZTI36btDiscreteCollisionDetectorInterface = Malloc(8);
+var _ZTS36btDiscreteCollisionDetectorInterface = Malloc(39);
+var _ZTV16btBoxBoxDetector = Malloc(20);
+var _ZTI16btBoxBoxDetector = Malloc(12);
+var _ZTS16btBoxBoxDetector = Malloc(19);
+var _2E_str65 = Malloc(12);
+var _2E_str166 = Malloc(71);
+var gNumManifold = Malloc(4);
+var _ZTIN36btDiscreteCollisionDetectorInterface6ResultE = Malloc(8);
+var _ZTSN36btDiscreteCollisionDetectorInterface6ResultE = Malloc(48);
+var _ZTV23btCollisionPairCallback = Malloc(20);
+var _ZTI23btCollisionPairCallback = Malloc(12);
+var _ZTS23btCollisionPairCallback = Malloc(26);
+var _2E_str169 = Malloc(45);
+var _2E_str270 = Malloc(26);
+var _2E_str371 = Malloc(14);
+var _2E_str472 = Malloc(34);
+var _2E_str573 = Malloc(76);
+var _ZTV21btCollisionDispatcher = Malloc(64);
+var _ZTI21btCollisionDispatcher = Malloc(12);
+var _ZTS21btCollisionDispatcher = Malloc(24);
+var _2E_str674 = Malloc(23);
+var _2E_str775 = Malloc(6);
+var _2E_str876 = Malloc(6);
+var _2E_str977 = Malloc(73);
+var _ZTV17btCollisionObject = Malloc(36);
+var _ZTI17btCollisionObject = Malloc(8);
+var _ZTS17btCollisionObject = Malloc(20);
+var _2E_str78 = Malloc(27);
+var _ZTIN16btCollisionWorld20ConvexResultCallbackE = Malloc(8);
+var _ZTSN16btCollisionWorld20ConvexResultCallbackE = Malloc(43);
+var _ZTI30btConvexPenetrationDepthSolver = Malloc(8);
+var _ZTS30btConvexPenetrationDepthSolver = Malloc(33);
+var _ZTVN12btConvexCast10CastResultE = Malloc(24);
+var _ZTIN12btConvexCast10CastResultE = Malloc(8);
+var _ZTSN12btConvexCast10CastResultE = Malloc(29);
+var _ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2 = Malloc(24);
+var _ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2 = Malloc(12);
+var _ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2 = Malloc(140);
+var _ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder = Malloc(24);
+var _ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder = Malloc(12);
+var _ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder = Malloc(164);
+var _ZTI24btBroadphaseAabbCallback = Malloc(8);
+var _ZTS24btBroadphaseAabbCallback = Malloc(27);
+var _ZTI23btBroadphaseRayCallback = Malloc(12);
+var _ZTS23btBroadphaseRayCallback = Malloc(26);
+var _ZTV17DebugDrawcallback = Malloc(44);
+var _ZTI17DebugDrawcallback = Malloc(32);
+var _ZTS17DebugDrawcallback = Malloc(20);
+var _ZTI18btTriangleCallback = Malloc(8);
+var _ZTS18btTriangleCallback = Malloc(21);
+var _ZTI31btInternalTriangleIndexCallback = Malloc(8);
+var _ZTS31btInternalTriangleIndexCallback = Malloc(34);
+var _ZTV16btCollisionWorld = Malloc(56);
+var _ZTI16btCollisionWorld = Malloc(8);
+var _ZTS16btCollisionWorld = Malloc(19);
+var _ZTI16btManifoldResult = Malloc(12);
+var _ZTS16btManifoldResult = Malloc(19);
+var _ZTV21btSingleSweepCallback = Malloc(20);
+var _ZTI21btSingleSweepCallback = Malloc(12);
+var _ZTS21btSingleSweepCallback = Malloc(24);
+var _ZTV19btSingleRayCallback = Malloc(20);
+var _ZTI19btSingleRayCallback = Malloc(12);
+var _ZTS19btSingleRayCallback = Malloc(22);
+var _2E_str382 = Malloc(23);
+var _2E_str483 = Malloc(76);
+var _2E_str584 = Malloc(19);
+var _2E_str685 = Malloc(42);
+var _2E_str786 = Malloc(16);
+var _2E_str887 = Malloc(71);
+var _2E_str988 = Malloc(82);
+var _ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0 = Malloc(24);
+var _ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0 = Malloc(12);
+var _ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0 = Malloc(184);
+var _ZTI28btTriangleConvexcastCallback = Malloc(12);
+var _ZTS28btTriangleConvexcastCallback = Malloc(31);
+var _ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback = Malloc(24);
+var _ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback = Malloc(12);
+var _ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback = Malloc(182);
+var _ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0 = Malloc(24);
+var _ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0 = Malloc(12);
+var _ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0 = Malloc(156);
+var _ZTI25btTriangleRaycastCallback = Malloc(12);
+var _ZTS25btTriangleRaycastCallback = Malloc(28);
+var _ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback = Malloc(24);
+var _ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback = Malloc(12);
+var _ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback = Malloc(154);
+var _2E_str1089 = Malloc(16);
+var _2E_str1190 = Malloc(34);
+var _2E_str1291 = Malloc(26);
+var _2E_str1392 = Malloc(26);
+var _2E_str1493 = Malloc(20);
+var _ZZN16btCollisionWorld16updateSingleAabbEP17btCollisionObjectE8reportMe_2E_b = Malloc(1);
+var _2E_str1594 = Malloc(49);
+var _2E_str1695 = Malloc(68);
+var _2E_str1796 = Malloc(65);
+var _2E_str1897 = Malloc(9);
+var _2E_str1998 = Malloc(12);
+var _ZTV22btCompoundLeafCallback = Malloc(36);
+var _ZTI22btCompoundLeafCallback = Malloc(12);
+var _ZTS22btCompoundLeafCallback = Malloc(25);
+var _2E_str99 = Malloc(42);
+var _2E_str1100 = Malloc(83);
+var _2E_str2101 = Malloc(43);
+var _2E_str3102 = Malloc(41);
+var _2E_str4103 = Malloc(43);
+var _2E_str5104 = Malloc(43);
+var _2E_str6105 = Malloc(9);
+var _2E_str7106 = Malloc(41);
+var _ZTV28btCompoundCollisionAlgorithm = Malloc(28);
+var _ZTI28btCompoundCollisionAlgorithm = Malloc(12);
+var _ZTS28btCompoundCollisionAlgorithm = Malloc(31);
+var _2E_str109 = Malloc(9);
+var _ZTV24btConvexTriangleCallback = Malloc(20);
+var _ZTI24btConvexTriangleCallback = Malloc(12);
+var _ZTS24btConvexTriangleCallback = Malloc(27);
+var _ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback = Malloc(20);
+var _ZTIZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback = Malloc(12);
+var _ZTSZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback = Malloc(158);
+var _ZTV15btTriangleShape = Malloc(124);
+var _ZTI15btTriangleShape = Malloc(12);
+var _ZTS15btTriangleShape = Malloc(18);
+var _ZTI23btPolyhedralConvexShape = Malloc(12);
+var _ZTS23btPolyhedralConvexShape = Malloc(26);
+var _ZTI21btConvexInternalShape = Malloc(12);
+var _ZTS21btConvexInternalShape = Malloc(24);
+var _ZTI13btConvexShape = Malloc(12);
+var _ZTS13btConvexShape = Malloc(16);
+var _ZTI16btCollisionShape = Malloc(8);
+var _ZTS16btCollisionShape = Malloc(19);
+var _2E_str1110 = Malloc(26);
+var _2E_str3112 = Malloc(66);
+var _ZTV33btConvexConcaveCollisionAlgorithm = Malloc(28);
+var _ZTI33btConvexConcaveCollisionAlgorithm = Malloc(12);
+var _ZTS33btConvexConcaveCollisionAlgorithm = Malloc(36);
+var _ZTI30btCollisionAlgorithmCreateFunc = Malloc(8);
+var _ZTS30btCollisionAlgorithmCreateFunc = Malloc(33);
+var _ZTVN23btConvexConvexAlgorithm10CreateFuncE = Malloc(20);
+var _ZTIN23btConvexConvexAlgorithm10CreateFuncE = Malloc(12);
+var _ZTSN23btConvexConvexAlgorithm10CreateFuncE = Malloc(40);
+var _ZTV24btPerturbedContactResult = Malloc(28);
+var _ZTI24btPerturbedContactResult = Malloc(12);
+var _ZTS24btPerturbedContactResult = Malloc(27);
+var _2E_str115 = Malloc(19);
+var _2E_str4119 = Malloc(49);
+var _2E_str5120 = Malloc(78);
+var _ZTV23btConvexConvexAlgorithm = Malloc(28);
+var _ZTI23btConvexConvexAlgorithm = Malloc(12);
+var _ZTS23btConvexConvexAlgorithm = Malloc(26);
+var _ZTV31btConvexPlaneCollisionAlgorithm = Malloc(28);
+var _ZTI31btConvexPlaneCollisionAlgorithm = Malloc(12);
+var _ZTS31btConvexPlaneCollisionAlgorithm = Malloc(34);
+var _ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE = Malloc(20);
+var _ZTIN31btConvexPlaneCollisionAlgorithm10CreateFuncE = Malloc(12);
+var _ZTSN31btConvexPlaneCollisionAlgorithm10CreateFuncE = Malloc(48);
+var _ZTI24btCollisionConfiguration = Malloc(8);
+var _ZTS24btCollisionConfiguration = Malloc(27);
+var _ZTVN33btConvexConcaveCollisionAlgorithm10CreateFuncE = Malloc(20);
+var _ZTIN33btConvexConcaveCollisionAlgorithm10CreateFuncE = Malloc(12);
+var _ZTSN33btConvexConcaveCollisionAlgorithm10CreateFuncE = Malloc(50);
+var _ZTVN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE = Malloc(20);
+var _ZTIN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE = Malloc(12);
+var _ZTSN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE = Malloc(57);
+var _ZTVN28btCompoundCollisionAlgorithm10CreateFuncE = Malloc(20);
+var _ZTIN28btCompoundCollisionAlgorithm10CreateFuncE = Malloc(12);
+var _ZTSN28btCompoundCollisionAlgorithm10CreateFuncE = Malloc(45);
+var _ZTVN28btCompoundCollisionAlgorithm17SwappedCreateFuncE = Malloc(20);
+var _ZTIN28btCompoundCollisionAlgorithm17SwappedCreateFuncE = Malloc(12);
+var _ZTSN28btCompoundCollisionAlgorithm17SwappedCreateFuncE = Malloc(52);
+var _ZTVN16btEmptyAlgorithm10CreateFuncE = Malloc(20);
+var _ZTIN16btEmptyAlgorithm10CreateFuncE = Malloc(12);
+var _ZTSN16btEmptyAlgorithm10CreateFuncE = Malloc(33);
+var _ZTVN32btSphereSphereCollisionAlgorithm10CreateFuncE = Malloc(20);
+var _ZTIN32btSphereSphereCollisionAlgorithm10CreateFuncE = Malloc(12);
+var _ZTSN32btSphereSphereCollisionAlgorithm10CreateFuncE = Malloc(49);
+var _ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE = Malloc(20);
+var _ZTIN34btSphereTriangleCollisionAlgorithm10CreateFuncE = Malloc(12);
+var _ZTSN34btSphereTriangleCollisionAlgorithm10CreateFuncE = Malloc(51);
+var _ZTVN26btBoxBoxCollisionAlgorithm10CreateFuncE = Malloc(20);
+var _ZTIN26btBoxBoxCollisionAlgorithm10CreateFuncE = Malloc(12);
+var _ZTSN26btBoxBoxCollisionAlgorithm10CreateFuncE = Malloc(43);
+var _2E_str128 = Malloc(12);
+var _2E_str1129 = Malloc(42);
+var _ZTV31btDefaultCollisionConfiguration = Malloc(36);
+var _ZTI31btDefaultCollisionConfiguration = Malloc(12);
+var _ZTS31btDefaultCollisionConfiguration = Malloc(34);
+var _ZTV16btEmptyAlgorithm = Malloc(28);
+var _ZTI16btEmptyAlgorithm = Malloc(12);
+var _ZTS16btEmptyAlgorithm = Malloc(19);
+var _ZTV16btManifoldResult = Malloc(28);
+var _2E_str2149 = Malloc(31);
+var _2E_str3150 = Malloc(12);
+var _2E_str5152 = Malloc(71);
+var _2E_str155 = Malloc(28);
+var _2E_str1156 = Malloc(73);
+var _2E_str2157 = Malloc(80);
+var _2E_str3158 = Malloc(15);
+var _ZTV25btSimulationIslandManager = Malloc(24);
+var _ZTI25btSimulationIslandManager = Malloc(8);
+var _ZTS25btSimulationIslandManager = Malloc(28);
+var _ZTV32btSphereSphereCollisionAlgorithm = Malloc(28);
+var _ZTI32btSphereSphereCollisionAlgorithm = Malloc(12);
+var _ZTS32btSphereSphereCollisionAlgorithm = Malloc(35);
+var _ZTV34btSphereTriangleCollisionAlgorithm = Malloc(28);
+var _ZTI34btSphereTriangleCollisionAlgorithm = Malloc(12);
+var _ZTS34btSphereTriangleCollisionAlgorithm = Malloc(37);
+var _ZTV22SphereTriangleDetector = Malloc(20);
+var _ZTI22SphereTriangleDetector = Malloc(12);
+var _ZTS22SphereTriangleDetector = Malloc(25);
+var _2E_str173 = Malloc(4);
+var _2E_str2175 = Malloc(61);
+var _ZTV10btBoxShape = Malloc(124);
+var _ZTI10btBoxShape = Malloc(12);
+var _ZTS10btBoxShape = Malloc(13);
+var _2E_str181 = Malloc(16);
+var _ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Malloc(20);
+var _ZTIZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Malloc(12);
+var _ZTSZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Malloc(104);
+var _ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback = Malloc(20);
+var _ZTIZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback = Malloc(12);
+var _ZTSZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback = Malloc(113);
+var _ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Malloc(20);
+var _ZTIZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Malloc(12);
+var _ZTSZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Malloc(110);
+var _2E_str5186 = Malloc(70);
+var _2E_str6187 = Malloc(49);
+var _2E_str7188 = Malloc(75);
+var _2E_str8189 = Malloc(24);
+var _ZTV22btBvhTriangleMeshShape = Malloc(88);
+var _ZTI22btBvhTriangleMeshShape = Malloc(12);
+var _ZTS22btBvhTriangleMeshShape = Malloc(25);
+var _ZTI19btTriangleMeshShape = Malloc(12);
+var _ZTS19btTriangleMeshShape = Malloc(22);
+var _ZTI14btConcaveShape = Malloc(12);
+var _ZTS14btConcaveShape = Malloc(17);
+var _2E_str194 = Malloc(13);
+var _2E_str4198 = Malloc(72);
+var _2E_str6199 = Malloc(19);
+var _ZTV14btCapsuleShape = Malloc(92);
+var _ZTI14btCapsuleShape = Malloc(12);
+var _ZTS14btCapsuleShape = Malloc(17);
+var _2E_str200 = Malloc(21);
+var _ZTV14btConcaveShape = Malloc(72);
+var _2E_str219 = Malloc(7);
+var _2E_str3222 = Malloc(70);
+var _ZTV17btConvexHullShape = Malloc(120);
+var _ZTI17btConvexHullShape = Malloc(12);
+var _ZTS17btConvexHullShape = Malloc(20);
+var _ZTI34btPolyhedralConvexAabbCachingShape = Malloc(12);
+var _ZTS34btPolyhedralConvexAabbCachingShape = Malloc(37);
+var _2E_str5223 = Malloc(19);
+var _2E_str6224 = Malloc(22);
+var _2E_str6232 = Malloc(19);
+var _ZTV13btConvexShape = Malloc(92);
+var _2E_str6249 = Malloc(13);
+var _2E_str7250 = Malloc(66);
+var _ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback = Malloc(20);
+var _ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback = Malloc(12);
+var _ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback = Malloc(91);
+var _ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback = Malloc(20);
+var _ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback = Malloc(12);
+var _ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback = Malloc(100);
+var _2E_str10306 = Malloc(67);
+var _2E_str18314 = Malloc(36);
+var _2E_str19315 = Malloc(48);
+var _2E_str20316 = Malloc(17);
+var _ZTV14btOptimizedBvh = Malloc(40);
+var _ZTI14btOptimizedBvh = Malloc(12);
+var _ZTS14btOptimizedBvh = Malloc(17);
+var _2E_str7331 = Malloc(74);
+var _ZGVZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions = Malloc(8);
+var _ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions = Malloc(96);
+var _2E_str342 = Malloc(7);
+var _ZTV13btSphereShape = Malloc(92);
+var _ZTI13btSphereShape = Malloc(12);
+var _ZTS13btSphereShape = Malloc(16);
+var _2E_str349 = Malloc(15);
+var _2E_str1350 = Malloc(27);
+var _2E_str3352 = Malloc(76);
+var _2E_str5354 = Malloc(20);
+var _2E_str6355 = Malloc(44);
+var _2E_str7356 = Malloc(15);
+var _2E_str8357 = Malloc(28);
+var _2E_str9358 = Malloc(61);
+var _ZTV23btStridingMeshInterface = Malloc(68);
+var _ZTI23btStridingMeshInterface = Malloc(8);
+var _ZTS23btStridingMeshInterface = Malloc(26);
+var _ZTV31btInternalTriangleIndexCallback = Malloc(20);
+var _ZTV18btTriangleCallback = Malloc(20);
+var _2E_str367 = Malloc(26);
+var _2E_str1368 = Malloc(79);
+var _ZTV26btTriangleIndexVertexArray = Malloc(68);
+var _ZTI26btTriangleIndexVertexArray = Malloc(12);
+var _ZTS26btTriangleIndexVertexArray = Malloc(29);
+var _2E_str372 = Malloc(13);
+var _ZTV21SupportVertexCallback = Malloc(20);
+var _ZTI21SupportVertexCallback = Malloc(12);
+var _ZTS21SupportVertexCallback = Malloc(24);
+var _ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback = Malloc(20);
+var _ZTIZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback = Malloc(12);
+var _ZTSZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback = Malloc(102);
+var _2E_str3375 = Malloc(72);
+var _ZTV19btTriangleMeshShape = Malloc(80);
+var _ZTV16btPointCollector = Malloc(28);
+var _ZTI16btPointCollector = Malloc(12);
+var _ZTS16btPointCollector = Malloc(19);
+var _ZTV27btContinuousConvexCollision = Malloc(20);
+var _ZTI27btContinuousConvexCollision = Malloc(12);
+var _ZTS27btContinuousConvexCollision = Malloc(30);
+var _ZTI12btConvexCast = Malloc(8);
+var _ZTS12btConvexCast = Malloc(15);
+var _ZTV12btConvexCast = Malloc(20);
+var _ZTV15btGjkConvexCast = Malloc(20);
+var _ZTI15btGjkConvexCast = Malloc(12);
+var _ZTS15btGjkConvexCast = Malloc(18);
+var _ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRjE4imd3 = Malloc(12);
+var _ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i2m3 = Malloc(12);
+var _ZTV30btGjkEpaPenetrationDepthSolver = Malloc(20);
+var _ZTI30btGjkEpaPenetrationDepthSolver = Malloc(12);
+var _ZTS30btGjkEpaPenetrationDepthSolver = Malloc(33);
+var gNumDeepPenetrationChecks = Malloc(4);
+var _ZTV17btGjkPairDetector = Malloc(20);
+var _ZTI17btGjkPairDetector = Malloc(12);
+var _ZTS17btGjkPairDetector = Malloc(20);
+var gNumGjkChecks = Malloc(4);
+var _2E_str425 = Malloc(39);
+var _2E_str1426 = Malloc(71);
+var _2E_str2427 = Malloc(18);
+var _2E_str3428 = Malloc(75);
+var gContactBreakingThreshold = Malloc(4);
+var _2E_str434 = Malloc(52);
+var _2E_str3437 = Malloc(78);
+var _2E_str4438 = Malloc(50);
+var _ZTV28btTriangleConvexcastCallback = Malloc(24);
+var _ZTV22btSubsimplexConvexCast = Malloc(20);
+var _ZTI22btSubsimplexConvexCast = Malloc(12);
+var _ZTS22btSubsimplexConvexCast = Malloc(25);
+var _2E_str457 = Malloc(16);
+var _2E_str1458 = Malloc(80);
+var _ZTVN16btCollisionWorld27ClosestConvexResultCallbackE = Malloc(24);
+var _ZTIN16btCollisionWorld27ClosestConvexResultCallbackE = Malloc(12);
+var _ZTSN16btCollisionWorld27ClosestConvexResultCallbackE = Malloc(50);
+var _2E_str36 = Malloc(51);
+var _2E_str239 = Malloc(26);
+var _ZTV21btConeTwistConstraint = Malloc(52);
+var _ZTI21btConeTwistConstraint = Malloc(12);
+var _ZTS21btConeTwistConstraint = Malloc(24);
+var _2E_str1340 = Malloc(37);
+var _2E_str24 = Malloc(74);
+var _2E_str442 = Malloc(37);
+var _2E_str543 = Malloc(37);
+var _2E_str846 = Malloc(24);
+var _2E_str947 = Malloc(66);
+var _2E_str1149 = Malloc(30);
+var _2E_str29 = Malloc(27);
+var _ZTV17btHingeConstraint = Malloc(52);
+var _ZTI17btHingeConstraint = Malloc(12);
+var _ZTS17btHingeConstraint = Malloc(20);
+var _2E_str130 = Malloc(34);
+var _2E_str231 = Malloc(70);
+var _2E_str332 = Malloc(34);
+var _2E_str433 = Malloc(34);
+var gNumSplitImpulseRecoveries = Malloc(4);
+var _ZTI18btConstraintSolver = Malloc(8);
+var _ZTS18btConstraintSolver = Malloc(21);
+var _ZTV35btSequentialImpulseConstraintSolver = Malloc(48);
+var _ZTI35btSequentialImpulseConstraintSolver = Malloc(12);
+var _ZTS35btSequentialImpulseConstraintSolver = Malloc(38);
+var _ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed = Malloc(8);
+var _ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed = Malloc(608);
+var _2E_str248 = Malloc(27);
+var _2E_str34955 = Malloc(54);
+var _2E_str450 = Malloc(11);
+var _2E_str551 = Malloc(7);
+var _2E_str652 = Malloc(88);
+var _2E_str753 = Malloc(10);
+var _2E_str854 = Malloc(34);
+var _2E_str955 = Malloc(3);
+var _2E_str1056 = Malloc(29);
+var _2E_str1157 = Malloc(24);
+var _2E_str76 = Malloc(22);
+var _ZTI23btDiscreteDynamicsWorld = Malloc(12);
+var _ZTS23btDiscreteDynamicsWorld = Malloc(26);
+var _ZTI15btDynamicsWorld = Malloc(12);
+var _ZTS15btDynamicsWorld = Malloc(18);
+var _ZTIN25btSimulationIslandManager14IslandCallbackE = Malloc(8);
+var _ZTSN25btSimulationIslandManager14IslandCallbackE = Malloc(46);
+var _ZTV34btClosestNotMeConvexResultCallback = Malloc(24);
+var _ZTI34btClosestNotMeConvexResultCallback = Malloc(12);
+var _ZTS34btClosestNotMeConvexResultCallback = Malloc(37);
+var _ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback = Malloc(20);
+var _ZTIZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback = Malloc(12);
+var _ZTSZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback = Malloc(99);
+var _2E_str87 = Malloc(26);
+var _2E_str188 = Malloc(27);
+var _2E_str289 = Malloc(14);
+var _2E_str794 = Malloc(20);
+var _2E_str895 = Malloc(20);
+var gNumClampedCcdMotions = Malloc(4);
+var _2E_str996 = Malloc(17);
+var _2E_str1097 = Malloc(22);
+var _2E_str1198 = Malloc(29);
+var _2E_str1299 = Malloc(15);
+var _2E_str13100 = Malloc(5);
+var _2E_str1461 = Malloc(68);
+var _2E_str1562 = Malloc(24);
+var _2E_str16101 = Malloc(15);
+var _ZTV15btDynamicsWorld = Malloc(140);
+var _ZTV23btDiscreteDynamicsWorld = Malloc(180);
+var _ZL8uniqueId = Malloc(4);
+var _ZTV11btRigidBody = Malloc(36);
+var _ZTI11btRigidBody = Malloc(12);
+var _ZTS11btRigidBody = Malloc(14);
+var _2E_str4144 = Malloc(21);
+var gDisableDeactivation = Malloc(1);
+var gNumAlignedAllocs = Malloc(4);
+var gNumAlignedFree = Malloc(4);
+var _ZN15CProfileManager12FrameCounterE = Malloc(4);
+var _ZN15CProfileManager4RootE = Malloc(32);
+var _ZL13gProfileClock_2E_0 = Malloc(4);
+var _ZN15CProfileManager11CurrentNodeE = Malloc(4);
+var _2E_str729 = Malloc(5);
+var _ZN4__rwL12__rw_catlistE_2E_0 = Malloc(4);
+var _ZN4__rwL12__rw_catlistE_2E_1 = Malloc(4);
+var _ZN4__rwL12__rw_catlistE_2E_2 = Malloc(4);
+var llvm_2E_eh_2E_catch_2E_all_2E_value = Malloc(4);
+var _ZTIN4__rw10__rw_facetE = Malloc(12);
+var _ZTSN4__rw10__rw_facetE = Malloc(20);
+var _ZTIN4__rw17__rw_synchronizedE = Malloc(8);
+var _ZTSN4__rw17__rw_synchronizedE = Malloc(27);
+var _2E_str4131 = Malloc(10);
+var _2E_str15132 = Malloc(21);
+var _2E_str26 = Malloc(1);
+var _ZN4__rwL13__rw_what_bufE = Malloc(256);
+var _ZN4__rwL16__rw_what_refcntE = Malloc(4);
+var _2E_str3133 = Malloc(16);
+var _2E_str47 = Malloc(25);
+var _2E_str5134 = Malloc(18);
+var _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E7__fname = Malloc(4);
+var _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E6buffer = Malloc(11);
+var _2E_str7136 = Malloc(3);
+var _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E8__catset = Malloc(4);
+var _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E4msgs = Malloc(32);
+var _ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E5__cat = Malloc(4);
+var _ZZN4__rw10__rw_throwEizE6errors = Malloc(100);
+var _2E_str8137 = Malloc(26);
+var _2E_str9138 = Malloc(18);
+var _2E_str10139 = Malloc(29);
+var _2E_str11140 = Malloc(33);
+var _2E_str12141 = Malloc(17);
+var _2E_str138142 = Malloc(20);
+var _2E_str14143 = Malloc(21);
+var _2E_str159144 = Malloc(25);
+var _2E_str16145 = Malloc(51);
+var _2E_str17146 = Malloc(47);
+var _2E_str18147 = Malloc(22);
+var _2E_str19148 = Malloc(44);
+var _2E_str20149 = Malloc(23);
+var _2E_str21150 = Malloc(24);
+var _2E_str22151 = Malloc(39);
+var _2E_str23152 = Malloc(38);
+var _2E_str24153 = Malloc(38);
+var _2E_str25154 = Malloc(29);
+var _2E_str2610 = Malloc(44);
+var _2E_str27 = Malloc(30);
+var _2E_str28155 = Malloc(40);
+var _2E_str29156 = Malloc(26);
+var _2E_str30 = Malloc(27);
+var _2E_str31 = Malloc(30);
+var _2E_str32157 = Malloc(32);
+var _2E_str33 = Malloc(11);
+var _2E_str134 = Malloc(9);
+var _2E_str235 = Malloc(12);
+var _2E_str336 = Malloc(11);
+var _2E_str437 = Malloc(8);
+var _ZTVN4__rw10__rw_facetE = Malloc(16);
+var _2E_str538 = Malloc(2);
+var _ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE12n_std_facets = Malloc(4);
+var _ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE10std_facets = Malloc(4);
+var _ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE13std_facet_buf = Malloc(1664);
+var _ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE17std_facet_bufsize = Malloc(4);
+var _ZZN4__rw10__rw_facetD4EvE9destroyed = Malloc(24);
+var _ZN4__rw9__rw_catsE = Malloc(72);
+var _2E_str785 = Malloc(2);
+var _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE6global = Malloc(4);
+var _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE5ginit = Malloc(4);
+var _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE9n_locales = Malloc(4);
+var _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE7locales = Malloc(4);
+var _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE10locale_buf = Malloc(32);
+var _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE14locale_bufsize = Malloc(4);
+var _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE7classic = Malloc(4);
+var _ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE12classic_body = Malloc(172);
+var _ZN4__rwL22__rw_classic_once_initE_2E_0_2E_b = Malloc(1);
+var _ZN4__rwL12__rw_classicE = Malloc(4);
+var _2E_str292167 = Malloc(4);
+var _2E_str10100175 = Malloc(29);
+var _2E_str12102177 = Malloc(33);
+var _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE4init_2E_b = Malloc(1);
+var _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE8catalogs = Malloc(4);
+var _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE11catalog_buf = Malloc(64);
+var _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE15catalog_bufsize = Malloc(4);
+var _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE10n_catalogs = Malloc(4);
+var _ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE11largest_cat = Malloc(4);
+var _2E_str115180 = Malloc(27);
+var _2E_str1116181 = Malloc(25);
+var _2E_str2131 = Malloc(2);
+var _2E_str4133 = Malloc(2);
+var _ZZN4__rw16__rw_locale_nameEiPKcRNS_14__rw_pod_arrayIcLj256EEEE11locale_root = Malloc(259);
+var _ZNSs11_C_null_refE = Malloc(16);
+var _ZTVSt8messagesIcE = Malloc(28);
+var _ZTISt8messagesIcE = Malloc(32);
+var _ZTSSt8messagesIcE = Malloc(15);
+var _ZTISt13messages_base = Malloc(8);
+var _ZTSSt13messages_base = Malloc(18);
+var _2E_str2360 = Malloc(31);
+var _2E_str3361 = Malloc(48);
+var _2E_str4362 = Malloc(31);
+var _ZTVSt9type_info = Malloc(24);
+var _ZTISt9type_info = Malloc(8);
+var _ZTSSt9type_info = Malloc(13);
+var s_max_memory = Malloc(4);
+var s_current_memory = Malloc(4);
+var block_null = Malloc(16);
+var _2E_str643 = Malloc(57);
+var _2E_str1648 = Malloc(3);
+var _2E_str4651 = Malloc(4);
+var _2E_str5652 = Malloc(4);
+var my_ctype = Malloc(1028);
+var _ZL8nextRand = Malloc(4);
+var _2E_str7654 = Malloc(4);
+var _2E_str9655 = Malloc(4);
+var _ZL8pad_line = Malloc(64);
+var _ZL10strtok_pos = Malloc(4);
+var _ZTI14CFileInterface = Malloc(8);
+var _ZTS14CFileInterface = Malloc(17);
+var _ZTV11CFileSystem = Malloc(44);
+var _ZTI11CFileSystem = Malloc(12);
+var _ZTS11CFileSystem = Malloc(14);
+var _ZL13s_file_stdout = Malloc(4);
+var _ZTV7CFileLS = Malloc(44);
+var _ZTI7CFileLS = Malloc(12);
+var _ZTS7CFileLS = Malloc(9);
+var _ZTV10CFileCloud = Malloc(44);
+var _ZTI10CFileCloud = Malloc(12);
+var _ZTS10CFileCloud = Malloc(13);
+var _ZL10s_aSockets = Malloc(262336);
+var _ZTV11CFileStdout = Malloc(44);
+var _ZTI11CFileStdout = Malloc(12);
+var _ZTS11CFileStdout = Malloc(14);
+var _2E_str31677 = Malloc(4);
+var _2E_str32678 = Malloc(4);
+var _2E_str33679 = Malloc(5);
+var _2E_str34680 = Malloc(8);
+var _2E_str35681 = Malloc(53);
+var _2E_str37683 = Malloc(4);
+var _2E_str38684 = Malloc(7);
+var _ZN12mandreel_b64L9b64_charsE = Malloc(65);
+var _ZN12mandreel_b64L11b64_indexesE = Malloc(256);
+var _ZL25s_mandreel_internal_width = Malloc(4);
+var _ZL26s_mandreel_internal_height = Malloc(4);
+var g_msgcallback = Malloc(4);
+var _ZL24g_pFirstTextureAsyncInfo = Malloc(4);
+var _ZL17g_apPackFileNames = Malloc(1024);
+var _ZGVZ21Mandreel_GetTickCountE7s_first = Malloc(8);
+var _ZZ21Mandreel_GetTickCountE7s_first = Malloc(8);
+var _ZZ29__mandreel_internal_preupdateE8s_bfirst_2E_b = Malloc(1);
+var _2E_str779 = Malloc(13);
+var _2E_str3782 = Malloc(13);
+var _2E_str4783 = Malloc(37);
+var _2E_str5784 = Malloc(12);
+var _2E_str6785 = Malloc(17);
+var _ZZ24__mandreel_internal_initE54s_723478567_mandreel___mandreel_internal_SetResolution = Malloc(4);
+var _ZZ24__mandreel_internal_initE56s_723478567_mandreel_iMandreel_TextureAsync_IsCompressed = Malloc(4);
+var _ZZ24__mandreel_internal_initE57s_723478567_mandreel_iMandreel_TextureAsync_GetPackOffset = Malloc(4);
+var _ZZ24__mandreel_internal_initE29s_723478567_mandreel___resize = Malloc(4);
+var _ZZ24__mandreel_internal_initE48s_723478567_mandreel_imandreel_restore_glcontext = Malloc(4);
+var _ZZ24__mandreel_internal_initE46s_723478567_mandreel_imandreel_viewport_resize = Malloc(4);
+var _ZTVN10__cxxabiv120__si_class_type_infoE = Malloc(40);
+var _ZTIN10__cxxabiv120__si_class_type_infoE = Malloc(12);
+var _ZTSN10__cxxabiv120__si_class_type_infoE = Malloc(37);
+var _ZTIN10__cxxabiv117__class_type_infoE = Malloc(12);
+var _ZTSN10__cxxabiv117__class_type_infoE = Malloc(34);
+var _ZTVN10__cxxabiv117__class_type_infoE = Malloc(40);
+var _ZTVN10__cxxabiv121__vmi_class_type_infoE = Malloc(40);
+var _ZTIN10__cxxabiv121__vmi_class_type_infoE = Malloc(12);
+var _ZTSN10__cxxabiv121__vmi_class_type_infoE = Malloc(38);
+var _ZL11g_aChannels = Malloc(9344);
+var _ZL7g_bInit_2E_b = Malloc(1);
+var _2E_str221 = Malloc(8);
+var _2E_str1222 = Malloc(21);
+var _ZL21g_pFirstSoundDuration = Malloc(4);
+var _2E_str3224 = Malloc(71);
+var _2E_str4225 = Malloc(8);
+var _ZL15g_iFreeChannels = Malloc(4);
+var _ZL15g_aFreeChannels = Malloc(128);
+var _ZL6g_bLog = Malloc(1);
+var _2E_str12233 = Malloc(5);
+var _2E_str22243 = Malloc(21);
+var _2E_str24245 = Malloc(86);
+var _2E_str26247 = Malloc(8);
+var _2E_str27248 = Malloc(4);
+var _2E_str28249 = Malloc(60);
+var _2E_str29250 = Malloc(10);
+var _2E_str30251 = Malloc(3);
+var _2E_str31252 = Malloc(75);
+var _2E_str32253 = Malloc(5);
+var _2E_str33254 = Malloc(4);
+var _2E_str34255 = Malloc(9);
+var _2E_str35256 = Malloc(22);
+var _ZZL32_mandreel_init_tcp_socket_librayvE47s_723478567_mandreel_mandreel_flash_tcp_onError = Malloc(4);
+var _ZL13s_fifo_errors = Malloc(24);
+var _ZN5my_glL9m_contextE = Malloc(324);
+var llvm_2E_global_ctors = Malloc(40);
+var llvm_2E_global_dtors = Malloc(56);
+var llvm_2E_used = Malloc(300);
+function global_init(stackPos)
+{
+initHeap();
+emit_start(Landscape02Vtx)
+emit_32(3279552512);
+emit_32(1077902238);
+emit_32(1122144223);
+emit_32(3279552512);
+emit_32(1074513450);
+emit_32(1122656322);
+emit_32(3279296528);
+emit_32(1070576131);
+emit_32(1122144223);
+emit_32(3279296528);
+emit_32(1069684087);
+emit_32(1122656322);
+emit_32(3279040545);
+emit_32(1062793197);
+emit_32(1122144223);
+emit_32(3279040545);
+emit_32(1059117578);
+emit_32(1122656322);
+emit_32(3278784496);
+emit_32(3207760682);
+emit_32(1122144223);
+emit_32(3278784496);
+emit_32(3205587983);
+emit_32(1122656322);
+emit_32(3278528512);
+emit_32(3223956593);
+emit_32(1122144223);
+emit_32(3278528512);
+emit_32(3221291239);
+emit_32(1122656322);
+emit_32(3278272528);
+emit_32(3228867536);
+emit_32(1122144223);
+emit_32(3278272528);
+emit_32(3227143174);
+emit_32(1122656322);
+emit_32(3278016545);
+emit_32(3229577925);
+emit_32(1122144223);
+emit_32(3278016545);
+emit_32(3228890898);
+emit_32(1122656322);
+emit_32(3277760496);
+emit_32(3232782164);
+emit_32(1122144223);
+emit_32(3277760496);
+emit_32(3231744493);
+emit_32(1122656322);
+emit_32(3277504512);
+emit_32(3233030424);
+emit_32(1122144223);
+emit_32(3277504512);
+emit_32(3231183211);
+emit_32(1122656322);
+emit_32(3277248528);
+emit_32(3231512296);
+emit_32(1122144223);
+emit_32(3277248528);
+emit_32(3226713845);
+emit_32(1122656322);
+emit_32(3276992545);
+emit_32(3225240260);
+emit_32(1122144223);
+emit_32(3276992545);
+emit_32(3222588579);
+emit_32(1122656322);
+emit_32(3276736496);
+emit_32(3223081116);
+emit_32(1122144223);
+emit_32(3276736496);
+emit_32(3218835474);
+emit_32(1122656322);
+emit_32(3276480512);
+emit_32(3217103310);
+emit_32(1122144223);
+emit_32(3276480512);
+emit_32(3214447728);
+emit_32(1122656322);
+emit_32(3276224528);
+emit_32(3188062822);
+emit_32(1122144223);
+emit_32(3276224528);
+emit_32(1046529045);
+emit_32(1122656322);
+emit_32(3275968545);
+emit_32(1065108554);
+emit_32(1122144223);
+emit_32(3275968545);
+emit_32(1070915199);
+emit_32(1122656322);
+emit_32(3275712496);
+emit_32(1078777673);
+emit_32(1122144223);
+emit_32(3275712496);
+emit_32(1082866637);
+emit_32(1122656322);
+emit_32(3275456512);
+emit_32(1083552091);
+emit_32(1122144223);
+emit_32(3275456512);
+emit_32(1087021578);
+emit_32(1122656322);
+emit_32(3275200528);
+emit_32(1086679197);
+emit_32(1122144223);
+emit_32(3275200528);
+emit_32(1090529232);
+emit_32(1122656322);
+emit_32(3274944545);
+emit_32(1090716539);
+emit_32(1122144223);
+emit_32(3274944545);
+emit_32(1092317201);
+emit_32(1122656322);
+emit_32(3274688496);
+emit_32(1091935477);
+emit_32(1122144223);
+emit_32(3274688496);
+emit_32(1093426427);
+emit_32(1122656322);
+emit_32(3274432512);
+emit_32(1092098877);
+emit_32(1122144223);
+emit_32(3274432512);
+emit_32(1094040158);
+emit_32(1122656322);
+emit_32(3274176528);
+emit_32(1094849764);
+emit_32(1122144223);
+emit_32(3274176528);
+emit_32(1095262693);
+emit_32(1122656322);
+emit_32(3273920545);
+emit_32(1097725693);
+emit_32(1122144223);
+emit_32(3273920545);
+emit_32(1097468792);
+emit_32(1122656322);
+emit_32(3273664496);
+emit_32(1099104833);
+emit_32(1122144223);
+emit_32(3273664496);
+emit_32(1099540411);
+emit_32(1122656322);
+emit_32(3273408512);
+emit_32(1100237609);
+emit_32(1122144223);
+emit_32(3273408512);
+emit_32(1100993213);
+emit_32(1122656322);
+emit_32(3273152528);
+emit_32(1102296436);
+emit_32(1122144223);
+emit_32(3273152528);
+emit_32(1102819203);
+emit_32(1122656322);
+emit_32(3272896545);
+emit_32(1104227022);
+emit_32(1122144223);
+emit_32(3272896545);
+emit_32(1104470763);
+emit_32(1122656322);
+emit_32(3272640496);
+emit_32(1105517399);
+emit_32(1122144223);
+emit_32(3272640496);
+emit_32(1105442111);
+emit_32(1122656322);
+emit_32(3272384512);
+emit_32(1106394218);
+emit_32(1122144223);
+emit_32(3272384512);
+emit_32(1106127356);
+emit_32(1122656322);
+emit_32(3272128528);
+emit_32(1107354688);
+emit_32(1122144223);
+emit_32(3272128528);
+emit_32(1106807829);
+emit_32(1122656322);
+emit_32(3271872545);
+emit_32(1107530062);
+emit_32(1122144223);
+emit_32(3271872545);
+emit_32(1107212108);
+emit_32(1122656322);
+emit_32(3271616496);
+emit_32(1107693221);
+emit_32(1122144223);
+emit_32(3271616496);
+emit_32(1107339719);
+emit_32(1122656322);
+emit_32(3271163904);
+emit_32(1108003075);
+emit_32(1122144223);
+emit_32(3271163904);
+emit_32(1108016575);
+emit_32(1122656322);
+emit_32(3270651937);
+emit_32(1108711703);
+emit_32(1122144223);
+emit_32(3270651937);
+emit_32(1108361190);
+emit_32(1122656322);
+emit_32(3270139970);
+emit_32(1108881283);
+emit_32(1122144223);
+emit_32(3270139970);
+emit_32(1108677807);
+emit_32(1122656322);
+emit_32(3269627871);
+emit_32(1108829956);
+emit_32(1122144223);
+emit_32(3269627871);
+emit_32(1108698045);
+emit_32(1122656322);
+emit_32(3269115904);
+emit_32(1108842486);
+emit_32(1122144223);
+emit_32(3269115904);
+emit_32(1108670415);
+emit_32(1122656322);
+emit_32(3268603937);
+emit_32(1108356995);
+emit_32(1122144223);
+emit_32(3268603937);
+emit_32(1108385307);
+emit_32(1122656322);
+emit_32(3268091970);
+emit_32(1107850324);
+emit_32(1122144223);
+emit_32(3268091970);
+emit_32(1107664044);
+emit_32(1122656322);
+emit_32(3267579911);
+emit_32(1107320504);
+emit_32(1122144223);
+emit_32(3267579911);
+emit_32(1106926109);
+emit_32(1122656322);
+emit_32(3267067904);
+emit_32(1106158866);
+emit_32(1122144223);
+emit_32(3267067904);
+emit_32(1105983491);
+emit_32(1122656322);
+emit_32(3266555911);
+emit_32(1106326271);
+emit_32(1122144223);
+emit_32(3266555911);
+emit_32(1105752542);
+emit_32(1122656322);
+emit_32(3266043904);
+emit_32(1105638300);
+emit_32(1122144223);
+emit_32(3266043904);
+emit_32(1105343650);
+emit_32(1122656322);
+emit_32(3265531911);
+emit_32(1104660451);
+emit_32(1122144223);
+emit_32(3265531911);
+emit_32(1104481983);
+emit_32(1122656322);
+emit_32(3265019904);
+emit_32(1103867255);
+emit_32(1122144223);
+emit_32(3265019904);
+emit_32(1103536377);
+emit_32(1122656322);
+emit_32(3264507911);
+emit_32(1102764940);
+emit_32(1122144223);
+emit_32(3264507911);
+emit_32(1102421374);
+emit_32(1122656322);
+emit_32(3263995904);
+emit_32(1101613761);
+emit_32(1122144223);
+emit_32(3263995904);
+emit_32(1101252526);
+emit_32(1122656322);
+emit_32(3263483911);
+emit_32(1100019768);
+emit_32(1122144223);
+emit_32(3263483911);
+emit_32(1099947835);
+emit_32(1122656322);
+emit_32(3262775296);
+emit_32(1099086483);
+emit_32(1122144223);
+emit_32(3262775296);
+emit_32(1099066665);
+emit_32(1122656322);
+emit_32(3261751309);
+emit_32(1097937715);
+emit_32(1122144223);
+emit_32(3261751309);
+emit_32(1097029334);
+emit_32(1122656322);
+emit_32(3260727296);
+emit_32(1097070753);
+emit_32(1122144223);
+emit_32(3260727296);
+emit_32(1095561223);
+emit_32(1122656322);
+emit_32(3259703309);
+emit_32(1096595014);
+emit_32(1122144223);
+emit_32(3259703309);
+emit_32(1095286181);
+emit_32(1122656322);
+emit_32(3258679296);
+emit_32(1095456365);
+emit_32(1122144223);
+emit_32(3258679296);
+emit_32(1094900095);
+emit_32(1122656322);
+emit_32(3257655309);
+emit_32(1093219752);
+emit_32(1122144223);
+emit_32(3257655309);
+emit_32(1093810625);
+emit_32(1122656322);
+emit_32(3256631296);
+emit_32(1092609303);
+emit_32(1122144223);
+emit_32(3256631296);
+emit_32(1093100949);
+emit_32(1122656322);
+emit_32(3255607309);
+emit_32(1093762915);
+emit_32(1122144223);
+emit_32(3255607309);
+emit_32(1093720133);
+emit_32(1122656322);
+emit_32(3254386688);
+emit_32(1094666473);
+emit_32(1122144223);
+emit_32(3254386688);
+emit_32(1094140822);
+emit_32(1122656322);
+emit_32(3252338714);
+emit_32(1094266021);
+emit_32(1122144223);
+emit_32(3252338714);
+emit_32(1093200983);
+emit_32(1122656322);
+emit_32(3250290688);
+emit_32(1093706396);
+emit_32(1122144223);
+emit_32(3250290688);
+emit_32(1093279731);
+emit_32(1122656322);
+emit_32(3248242714);
+emit_32(1095255038);
+emit_32(1122144223);
+emit_32(3248242714);
+emit_32(1095297296);
+emit_32(1122656322);
+emit_32(3245998080);
+emit_32(1096659501);
+emit_32(1122144223);
+emit_32(3245998080);
+emit_32(1096326998);
+emit_32(1122656322);
+emit_32(3241902132);
+emit_32(1097360998);
+emit_32(1122144223);
+emit_32(3241902132);
+emit_32(1097208116);
+emit_32(1122656322);
+emit_32(3237609472);
+emit_32(1097602590);
+emit_32(1122144223);
+emit_32(3237609472);
+emit_32(1098363332);
+emit_32(1122656322);
+emit_32(3229220864);
+emit_32(1098820406);
+emit_32(1122144223);
+emit_32(3229220864);
+emit_32(1098960496);
+emit_32(1122656322);
+emit_32(0);
+emit_32(1099470104);
+emit_32(1122144223);
+emit_32(0);
+emit_32(1099624612);
+emit_32(1122656322);
+emit_32(1081737216);
+emit_32(1100139620);
+emit_32(1122144223);
+emit_32(1081737216);
+emit_32(1100438045);
+emit_32(1122656322);
+emit_32(3279552512);
+emit_32(1083519019);
+emit_32(1121632256);
+emit_32(3279296528);
+emit_32(1074813133);
+emit_32(1121632256);
+emit_32(3279040545);
+emit_32(1064894426);
+emit_32(1121632256);
+emit_32(3278784496);
+emit_32(3220842029);
+emit_32(1121632256);
+emit_32(3278528512);
+emit_32(3224334626);
+emit_32(1121632256);
+emit_32(3278272528);
+emit_32(3228042265);
+emit_32(1121632256);
+emit_32(3278016545);
+emit_32(3230773910);
+emit_32(1121632256);
+emit_32(3277760496);
+emit_32(3234673249);
+emit_32(1121632256);
+emit_32(3277504512);
+emit_32(3235346205);
+emit_32(1121632256);
+emit_32(3277248528);
+emit_32(3233634383);
+emit_32(1121632256);
+emit_32(3276992545);
+emit_32(3231165889);
+emit_32(1121632256);
+emit_32(3276736496);
+emit_32(3226724414);
+emit_32(1121632256);
+emit_32(3276480512);
+emit_32(3221509175);
+emit_32(1121632256);
+emit_32(3276224528);
+emit_32(3212320830);
+emit_32(1121632256);
+emit_32(3275968545);
+emit_32(1049206085);
+emit_32(1121632256);
+emit_32(3275712496);
+emit_32(1073305532);
+emit_32(1121632256);
+emit_32(3275456512);
+emit_32(1077128892);
+emit_32(1121632256);
+emit_32(3275200528);
+emit_32(1082594553);
+emit_32(1121632256);
+emit_32(3274944545);
+emit_32(1084662177);
+emit_32(1121632256);
+emit_32(3274688496);
+emit_32(1089411681);
+emit_32(1121632256);
+emit_32(3274432512);
+emit_32(1092042275);
+emit_32(1121632256);
+emit_32(3274176528);
+emit_32(1095387054);
+emit_32(1121632256);
+emit_32(3273920545);
+emit_32(1097794270);
+emit_32(1121632256);
+emit_32(3273664496);
+emit_32(1099325348);
+emit_32(1121632256);
+emit_32(3273408512);
+emit_32(1100750678);
+emit_32(1121632256);
+emit_32(3273152528);
+emit_32(1101739065);
+emit_32(1121632256);
+emit_32(3272896545);
+emit_32(1103692248);
+emit_32(1121632256);
+emit_32(3272640496);
+emit_32(1105414167);
+emit_32(1121632256);
+emit_32(3272384512);
+emit_32(1106644671);
+emit_32(1121632256);
+emit_32(3272128528);
+emit_32(1107563486);
+emit_32(1121632256);
+emit_32(3271872545);
+emit_32(1107577274);
+emit_32(1121632256);
+emit_32(3271616496);
+emit_32(1107593999);
+emit_32(1121632256);
+emit_32(3271163904);
+emit_32(1108097080);
+emit_32(1121632256);
+emit_32(3270651937);
+emit_32(1108460883);
+emit_32(1121632256);
+emit_32(3270139970);
+emit_32(1108954710);
+emit_32(1121632256);
+emit_32(3269627871);
+emit_32(1109009079);
+emit_32(1121632256);
+emit_32(3269115904);
+emit_32(1108610279);
+emit_32(1121632256);
+emit_32(3268603937);
+emit_32(1108058125);
+emit_32(1121632256);
+emit_32(3268091970);
+emit_32(1107555412);
+emit_32(1121632256);
+emit_32(3267579911);
+emit_32(1106717652);
+emit_32(1121632256);
+emit_32(3267067904);
+emit_32(1106512341);
+emit_32(1121632256);
+emit_32(3266555911);
+emit_32(1106506836);
+emit_32(1121632256);
+emit_32(3266043904);
+emit_32(1105659534);
+emit_32(1121632256);
+emit_32(3265531911);
+emit_32(1105302179);
+emit_32(1121632256);
+emit_32(3265019904);
+emit_32(1104106698);
+emit_32(1121632256);
+emit_32(3264507911);
+emit_32(1102757390);
+emit_32(1121632256);
+emit_32(3263995904);
+emit_32(1101520647);
+emit_32(1121632256);
+emit_32(3263483911);
+emit_32(1100159910);
+emit_32(1121632256);
+emit_32(3262775296);
+emit_32(1099381290);
+emit_32(1121632256);
+emit_32(3261751309);
+emit_32(1098131911);
+emit_32(1121632256);
+emit_32(3260727296);
+emit_32(1097148452);
+emit_32(1121632256);
+emit_32(3259703309);
+emit_32(1096156919);
+emit_32(1121632256);
+emit_32(3258679296);
+emit_32(1095321308);
+emit_32(1121632256);
+emit_32(3257655309);
+emit_32(1094008281);
+emit_32(1121632256);
+emit_32(3256631296);
+emit_32(1093682489);
+emit_32(1121632256);
+emit_32(3255607309);
+emit_32(1094449313);
+emit_32(1121632256);
+emit_32(3254386688);
+emit_32(1095241512);
+emit_32(1121632256);
+emit_32(3252338714);
+emit_32(1095115158);
+emit_32(1121632256);
+emit_32(3250290688);
+emit_32(1095038088);
+emit_32(1121632256);
+emit_32(3248242714);
+emit_32(1095359791);
+emit_32(1121632256);
+emit_32(3245998080);
+emit_32(1096573937);
+emit_32(1121632256);
+emit_32(3241902132);
+emit_32(1097191129);
+emit_32(1121632256);
+emit_32(3237609472);
+emit_32(1097678717);
+emit_32(1121632256);
+emit_32(3229220864);
+emit_32(1098487169);
+emit_32(1121632256);
+emit_32(0);
+emit_32(1099111334);
+emit_32(1121632256);
+emit_32(1081737216);
+emit_32(1099957115);
+emit_32(1121632256);
+emit_32(3279552512);
+emit_32(1084728636);
+emit_32(1121120289);
+emit_32(3279296528);
+emit_32(1077536872);
+emit_32(1121120289);
+emit_32(3279040545);
+emit_32(1049067472);
+emit_32(1121120289);
+emit_32(3278784496);
+emit_32(3197365821);
+emit_32(1121120289);
+emit_32(3278528512);
+emit_32(3211331864);
+emit_32(1121120289);
+emit_32(3278272528);
+emit_32(3222095455);
+emit_32(1121120289);
+emit_32(3278016545);
+emit_32(3228342367);
+emit_32(1121120289);
+emit_32(3277760496);
+emit_32(3232161071);
+emit_32(1121120289);
+emit_32(3277504512);
+emit_32(3233959337);
+emit_32(1121120289);
+emit_32(3277248528);
+emit_32(3232603256);
+emit_32(1121120289);
+emit_32(3276992545);
+emit_32(3231337561);
+emit_32(1121120289);
+emit_32(3276736496);
+emit_32(3226343236);
+emit_32(1121120289);
+emit_32(3276480512);
+emit_32(3222401429);
+emit_32(1121120289);
+emit_32(3276224528);
+emit_32(3217196088);
+emit_32(1121120289);
+emit_32(3275968545);
+emit_32(3174963708);
+emit_32(1121120289);
+emit_32(3275712496);
+emit_32(1071520772);
+emit_32(1121120289);
+emit_32(3275456512);
+emit_32(1076782233);
+emit_32(1121120289);
+emit_32(3275200528);
+emit_32(1082969209);
+emit_32(1121120289);
+emit_32(3274944545);
+emit_32(1085234364);
+emit_32(1121120289);
+emit_32(3274688496);
+emit_32(1089004246);
+emit_32(1121120289);
+emit_32(3274432512);
+emit_32(1092733108);
+emit_32(1121120289);
+emit_32(3274176528);
+emit_32(1095820326);
+emit_32(1121120289);
+emit_32(3273920545);
+emit_32(1098604085);
+emit_32(1121120289);
+emit_32(3273664496);
+emit_32(1099874855);
+emit_32(1121120289);
+emit_32(3273408512);
+emit_32(1100920809);
+emit_32(1121120289);
+emit_32(3273152528);
+emit_32(1101878893);
+emit_32(1121120289);
+emit_32(3272896545);
+emit_32(1103179284);
+emit_32(1121120289);
+emit_32(3272640496);
+emit_32(1105420196);
+emit_32(1121120289);
+emit_32(3272384512);
+emit_32(1107134828);
+emit_32(1121120289);
+emit_32(3272128528);
+emit_32(1107920526);
+emit_32(1121120289);
+emit_32(3271872545);
+emit_32(1108056762);
+emit_32(1121120289);
+emit_32(3271616496);
+emit_32(1107769583);
+emit_32(1121120289);
+emit_32(3271163904);
+emit_32(1107905112);
+emit_32(1121120289);
+emit_32(3270651937);
+emit_32(1108241573);
+emit_32(1121120289);
+emit_32(3270139970);
+emit_32(1108859578);
+emit_32(1121120289);
+emit_32(3269627871);
+emit_32(1109044049);
+emit_32(1121120289);
+emit_32(3269115904);
+emit_32(1108576331);
+emit_32(1121120289);
+emit_32(3268603937);
+emit_32(1107973793);
+emit_32(1121120289);
+emit_32(3268091970);
+emit_32(1107354478);
+emit_32(1121120289);
+emit_32(3267579911);
+emit_32(1106448273);
+emit_32(1121120289);
+emit_32(3267067904);
+emit_32(1106470135);
+emit_32(1121120289);
+emit_32(3266555911);
+emit_32(1106654580);
+emit_32(1121120289);
+emit_32(3266043904);
+emit_32(1106160386);
+emit_32(1121120289);
+emit_32(3265531911);
+emit_32(1105210009);
+emit_32(1121120289);
+emit_32(3265019904);
+emit_32(1104004514);
+emit_32(1121120289);
+emit_32(3264507911);
+emit_32(1102526231);
+emit_32(1121120289);
+emit_32(3263995904);
+emit_32(1101481692);
+emit_32(1121120289);
+emit_32(3263483911);
+emit_32(1100090337);
+emit_32(1121120289);
+emit_32(3262775296);
+emit_32(1099268882);
+emit_32(1121120289);
+emit_32(3261751309);
+emit_32(1098701288);
+emit_32(1121120289);
+emit_32(3260727296);
+emit_32(1097681968);
+emit_32(1121120289);
+emit_32(3259703309);
+emit_32(1096561774);
+emit_32(1121120289);
+emit_32(3258679296);
+emit_32(1095766953);
+emit_32(1121120289);
+emit_32(3257655309);
+emit_32(1094631765);
+emit_32(1121120289);
+emit_32(3256631296);
+emit_32(1094735364);
+emit_32(1121120289);
+emit_32(3255607309);
+emit_32(1094999291);
+emit_32(1121120289);
+emit_32(3254386688);
+emit_32(1095377722);
+emit_32(1121120289);
+emit_32(3252338714);
+emit_32(1095433191);
+emit_32(1121120289);
+emit_32(3250290688);
+emit_32(1095107399);
+emit_32(1121120289);
+emit_32(3248242714);
+emit_32(1095777544);
+emit_32(1121120289);
+emit_32(3245998080);
+emit_32(1096857472);
+emit_32(1121120289);
+emit_32(3241902132);
+emit_32(1097446352);
+emit_32(1121120289);
+emit_32(3237609472);
+emit_32(1097974940);
+emit_32(1121120289);
+emit_32(3229220864);
+emit_32(1098736416);
+emit_32(1121120289);
+emit_32(0);
+emit_32(1099338613);
+emit_32(1121120289);
+emit_32(1081737216);
+emit_32(1099935672);
+emit_32(1121120289);
+emit_32(3279552512);
+emit_32(1082712497);
+emit_32(1120608322);
+emit_32(3279296528);
+emit_32(1077291841);
+emit_32(1120608322);
+emit_32(3279040545);
+emit_32(1073741866);
+emit_32(1120608322);
+emit_32(3278784496);
+emit_32(1070338230);
+emit_32(1120608322);
+emit_32(3278528512);
+emit_32(1056781669);
+emit_32(1120608322);
+emit_32(3278272528);
+emit_32(3219431904);
+emit_32(1120608322);
+emit_32(3278016545);
+emit_32(3224861095);
+emit_32(1120608322);
+emit_32(3277760496);
+emit_32(3231719746);
+emit_32(1120608322);
+emit_32(3277504512);
+emit_32(3233844476);
+emit_32(1120608322);
+emit_32(3277248528);
+emit_32(3232334736);
+emit_32(1120608322);
+emit_32(3276992545);
+emit_32(3229801544);
+emit_32(1120608322);
+emit_32(3276736496);
+emit_32(3228638233);
+emit_32(1120608322);
+emit_32(3276480512);
+emit_32(3223489306);
+emit_32(1120608322);
+emit_32(3276224528);
+emit_32(3213418446);
+emit_32(1120608322);
+emit_32(3275968545);
+emit_32(3202678964);
+emit_32(1120608322);
+emit_32(3275712496);
+emit_32(1069745659);
+emit_32(1120608322);
+emit_32(3275456512);
+emit_32(1079646691);
+emit_32(1120608322);
+emit_32(3275200528);
+emit_32(1083145831);
+emit_32(1120608322);
+emit_32(3274944545);
+emit_32(1087983583);
+emit_32(1120608322);
+emit_32(3274688496);
+emit_32(1091238804);
+emit_32(1120608322);
+emit_32(3274432512);
+emit_32(1093823208);
+emit_32(1120608322);
+emit_32(3274176528);
+emit_32(1097286130);
+emit_32(1120608322);
+emit_32(3273920545);
+emit_32(1099742472);
+emit_32(1120608322);
+emit_32(3273664496);
+emit_32(1100695890);
+emit_32(1120608322);
+emit_32(3273408512);
+emit_32(1101406876);
+emit_32(1120608322);
+emit_32(3273152528);
+emit_32(1102194042);
+emit_32(1120608322);
+emit_32(3272896545);
+emit_32(1103115112);
+emit_32(1120608322);
+emit_32(3272640496);
+emit_32(1105064414);
+emit_32(1120608322);
+emit_32(3272384512);
+emit_32(1107025042);
+emit_32(1120608322);
+emit_32(3272128528);
+emit_32(1107923960);
+emit_32(1120608322);
+emit_32(3271872545);
+emit_32(1108173154);
+emit_32(1120608322);
+emit_32(3271616496);
+emit_32(1108080381);
+emit_32(1120608322);
+emit_32(3271163904);
+emit_32(1107879605);
+emit_32(1120608322);
+emit_32(3270651937);
+emit_32(1108128956);
+emit_32(1120608322);
+emit_32(3270139970);
+emit_32(1108688110);
+emit_32(1120608322);
+emit_32(3269627871);
+emit_32(1108797188);
+emit_32(1120608322);
+emit_32(3269115904);
+emit_32(1108405938);
+emit_32(1120608322);
+emit_32(3268603937);
+emit_32(1107934577);
+emit_32(1120608322);
+emit_32(3268091970);
+emit_32(1107323021);
+emit_32(1120608322);
+emit_32(3267579911);
+emit_32(1106810136);
+emit_32(1120608322);
+emit_32(3267067904);
+emit_32(1106638904);
+emit_32(1120608322);
+emit_32(3266555911);
+emit_32(1106673664);
+emit_32(1120608322);
+emit_32(3266043904);
+emit_32(1106080013);
+emit_32(1120608322);
+emit_32(3265531911);
+emit_32(1104833308);
+emit_32(1120608322);
+emit_32(3265019904);
+emit_32(1103684593);
+emit_32(1120608322);
+emit_32(3264507911);
+emit_32(1102392852);
+emit_32(1120608322);
+emit_32(3263995904);
+emit_32(1101073744);
+emit_32(1120608322);
+emit_32(3263483911);
+emit_32(1099963145);
+emit_32(1120608322);
+emit_32(3262775296);
+emit_32(1099506070);
+emit_32(1120608322);
+emit_32(3261751309);
+emit_32(1099320997);
+emit_32(1120608322);
+emit_32(3260727296);
+emit_32(1098604295);
+emit_32(1120608322);
+emit_32(3259703309);
+emit_32(1097529295);
+emit_32(1120608322);
+emit_32(3258679296);
+emit_32(1096142134);
+emit_32(1120608322);
+emit_32(3257655309);
+emit_32(1094301568);
+emit_32(1120608322);
+emit_32(3256631296);
+emit_32(1094016985);
+emit_32(1120608322);
+emit_32(3255607309);
+emit_32(1095156577);
+emit_32(1120608322);
+emit_32(3254386688);
+emit_32(1095833223);
+emit_32(1120608322);
+emit_32(3252338714);
+emit_32(1095183630);
+emit_32(1120608322);
+emit_32(3250290688);
+emit_32(1094555114);
+emit_32(1120608322);
+emit_32(3248242714);
+emit_32(1096488059);
+emit_32(1120608322);
+emit_32(3245998080);
+emit_32(1097556453);
+emit_32(1120608322);
+emit_32(3241902132);
+emit_32(1097820275);
+emit_32(1120608322);
+emit_32(3237609472);
+emit_32(1097925237);
+emit_32(1120608322);
+emit_32(3229220864);
+emit_32(1098971297);
+emit_32(1120608322);
+emit_32(0);
+emit_32(1099474823);
+emit_32(1120608322);
+emit_32(1081737216);
+emit_32(1099802817);
+emit_32(1120608322);
+emit_32(3279552512);
+emit_32(1082649645);
+emit_32(1120096263);
+emit_32(3279296528);
+emit_32(1081824919);
+emit_32(1120096263);
+emit_32(3279040545);
+emit_32(1078459284);
+emit_32(1120096263);
+emit_32(3278784496);
+emit_32(1074050399);
+emit_32(1120096263);
+emit_32(3278528512);
+emit_32(1053874077);
+emit_32(1120096263);
+emit_32(3278272528);
+emit_32(3211237089);
+emit_32(1120096263);
+emit_32(3278016545);
+emit_32(3223833574);
+emit_32(1120096263);
+emit_32(3277760496);
+emit_32(3229161263);
+emit_32(1120096263);
+emit_32(3277504512);
+emit_32(3233010292);
+emit_32(1120096263);
+emit_32(3277248528);
+emit_32(3229615695);
+emit_32(1120096263);
+emit_32(3276992545);
+emit_32(3222904913);
+emit_32(1120096263);
+emit_32(3276736496);
+emit_32(3222905752);
+emit_32(1120096263);
+emit_32(3276480512);
+emit_32(3220913919);
+emit_32(1120096263);
+emit_32(3276224528);
+emit_32(3216868597);
+emit_32(1120096263);
+emit_32(3275968545);
+emit_32(3184537459);
+emit_32(1120096263);
+emit_32(3275712496);
+emit_32(1071525805);
+emit_32(1120096263);
+emit_32(3275456512);
+emit_32(1080770303);
+emit_32(1120096263);
+emit_32(3275200528);
+emit_32(1084483709);
+emit_32(1120096263);
+emit_32(3274944545);
+emit_32(1089756453);
+emit_32(1120096263);
+emit_32(3274688496);
+emit_32(1092796967);
+emit_32(1120096263);
+emit_32(3274432512);
+emit_32(1095008204);
+emit_32(1120096263);
+emit_32(3274176528);
+emit_32(1098158021);
+emit_32(1120096263);
+emit_32(3273920545);
+emit_32(1100073298);
+emit_32(1120096263);
+emit_32(3273664496);
+emit_32(1101265424);
+emit_32(1120096263);
+emit_32(3273408512);
+emit_32(1101989413);
+emit_32(1120096263);
+emit_32(3273152528);
+emit_32(1102698565);
+emit_32(1120096263);
+emit_32(3272896545);
+emit_32(1103242776);
+emit_32(1120096263);
+emit_32(3272640496);
+emit_32(1105297356);
+emit_32(1120096263);
+emit_32(3272384512);
+emit_32(1106908126);
+emit_32(1120096263);
+emit_32(3272128528);
+emit_32(1107640530);
+emit_32(1120096263);
+emit_32(3271872545);
+emit_32(1108166312);
+emit_32(1120096263);
+emit_32(3271616496);
+emit_32(1108109138);
+emit_32(1120096263);
+emit_32(3271163904);
+emit_32(1108037206);
+emit_32(1120096263);
+emit_32(3270651937);
+emit_32(1107897483);
+emit_32(1120096263);
+emit_32(3270139970);
+emit_32(1108473492);
+emit_32(1120096263);
+emit_32(3269627871);
+emit_32(1108658461);
+emit_32(1120096263);
+emit_32(3269115904);
+emit_32(1108380326);
+emit_32(1120096263);
+emit_32(3268603937);
+emit_32(1107921522);
+emit_32(1120096263);
+emit_32(3268091970);
+emit_32(1106710574);
+emit_32(1120096263);
+emit_32(3267579911);
+emit_32(1106304880);
+emit_32(1120096263);
+emit_32(3267067904);
+emit_32(1106736788);
+emit_32(1120096263);
+emit_32(3266555911);
+emit_32(1106706484);
+emit_32(1120096263);
+emit_32(3266043904);
+emit_32(1105732829);
+emit_32(1120096263);
+emit_32(3265531911);
+emit_32(1104837607);
+emit_32(1120096263);
+emit_32(3265019904);
+emit_32(1103630801);
+emit_32(1120096263);
+emit_32(3264507911);
+emit_32(1101868093);
+emit_32(1120096263);
+emit_32(3263995904);
+emit_32(1100220622);
+emit_32(1120096263);
+emit_32(3263483911);
+emit_32(1100302254);
+emit_32(1120096263);
+emit_32(3262775296);
+emit_32(1100039691);
+emit_32(1120096263);
+emit_32(3261751309);
+emit_32(1099705090);
+emit_32(1120096263);
+emit_32(3260727296);
+emit_32(1099085329);
+emit_32(1120096263);
+emit_32(3259703309);
+emit_32(1097718982);
+emit_32(1120096263);
+emit_32(3258679296);
+emit_32(1096390122);
+emit_32(1120096263);
+emit_32(3257655309);
+emit_32(1094580175);
+emit_32(1120096263);
+emit_32(3256631296);
+emit_32(1094186959);
+emit_32(1120096263);
+emit_32(3255607309);
+emit_32(1094206987);
+emit_32(1120096263);
+emit_32(3254386688);
+emit_32(1095299288);
+emit_32(1120096263);
+emit_32(3252338714);
+emit_32(1094941095);
+emit_32(1120096263);
+emit_32(3250290688);
+emit_32(1093925968);
+emit_32(1120096263);
+emit_32(3248242714);
+emit_32(1096010747);
+emit_32(1120096263);
+emit_32(3245998080);
+emit_32(1096357826);
+emit_32(1120096263);
+emit_32(3241902132);
+emit_32(1096902246);
+emit_32(1120096263);
+emit_32(3237609472);
+emit_32(1097501612);
+emit_32(1120096263);
+emit_32(3229220864);
+emit_32(1097992765);
+emit_32(1120096263);
+emit_32(0);
+emit_32(1098723413);
+emit_32(1120096263);
+emit_32(1081737216);
+emit_32(1099965451);
+emit_32(1120096263);
+emit_32(3279552512);
+emit_32(1084093765);
+emit_32(1119584256);
+emit_32(3279296528);
+emit_32(1080036510);
+emit_32(1119584256);
+emit_32(3279040545);
+emit_32(1077455125);
+emit_32(1119584256);
+emit_32(3278784496);
+emit_32(1074567724);
+emit_32(1119584256);
+emit_32(3278528512);
+emit_32(1069156863);
+emit_32(1119584256);
+emit_32(3278272528);
+emit_32(3189431842);
+emit_32(1119584256);
+emit_32(3278016545);
+emit_32(3213554929);
+emit_32(1119584256);
+emit_32(3277760496);
+emit_32(3222450418);
+emit_32(1119584256);
+emit_32(3277504512);
+emit_32(3228929486);
+emit_32(1119584256);
+emit_32(3277248528);
+emit_32(3224323217);
+emit_32(1119584256);
+emit_32(3276992545);
+emit_32(3222046465);
+emit_32(1119584256);
+emit_32(3276736496);
+emit_32(3194181137);
+emit_32(1119584256);
+emit_32(3276480512);
+emit_32(3186726281);
+emit_32(1119584256);
+emit_32(3276224528);
+emit_32(3191098290);
+emit_32(1119584256);
+emit_32(3275968545);
+emit_32(1068055354);
+emit_32(1119584256);
+emit_32(3275712496);
+emit_32(1076438426);
+emit_32(1119584256);
+emit_32(3275456512);
+emit_32(1080984464);
+emit_32(1119584256);
+emit_32(3275200528);
+emit_32(1085878651);
+emit_32(1119584256);
+emit_32(3274944545);
+emit_32(1091668447);
+emit_32(1119584256);
+emit_32(3274688496);
+emit_32(1094171545);
+emit_32(1119584256);
+emit_32(3274432512);
+emit_32(1095963561);
+emit_32(1119584256);
+emit_32(3274176528);
+emit_32(1098572104);
+emit_32(1119584256);
+emit_32(3273920545);
+emit_32(1099948045);
+emit_32(1119584256);
+emit_32(3273664496);
+emit_32(1101407873);
+emit_32(1119584256);
+emit_32(3273408512);
+emit_32(1102835876);
+emit_32(1119584256);
+emit_32(3273152528);
+emit_32(1103744310);
+emit_32(1119584256);
+emit_32(3272896545);
+emit_32(1104117655);
+emit_32(1119584256);
+emit_32(3272640496);
+emit_32(1105300868);
+emit_32(1119584256);
+emit_32(3272384512);
+emit_32(1107290803);
+emit_32(1119584256);
+emit_32(3272128528);
+emit_32(1107707508);
+emit_32(1119584256);
+emit_32(3271872545);
+emit_32(1108008685);
+emit_32(1119584256);
+emit_32(3271616496);
+emit_32(1108120935);
+emit_32(1119584256);
+emit_32(3271163904);
+emit_32(1108077052);
+emit_32(1119584256);
+emit_32(3270651937);
+emit_32(1107924641);
+emit_32(1119584256);
+emit_32(3270139970);
+emit_32(1108147044);
+emit_32(1119584256);
+emit_32(3269627871);
+emit_32(1108350311);
+emit_32(1119584256);
+emit_32(3269115904);
+emit_32(1108146651);
+emit_32(1119584256);
+emit_32(3268603937);
+emit_32(1107677466);
+emit_32(1119584256);
+emit_32(3268091970);
+emit_32(1106442034);
+emit_32(1119584256);
+emit_32(3267579911);
+emit_32(1106619400);
+emit_32(1119584256);
+emit_32(3267067904);
+emit_32(1106902463);
+emit_32(1119584256);
+emit_32(3266555911);
+emit_32(1106534780);
+emit_32(1119584256);
+emit_32(3266043904);
+emit_32(1105512733);
+emit_32(1119584256);
+emit_32(3265531911);
+emit_32(1104509036);
+emit_32(1119584256);
+emit_32(3265019904);
+emit_32(1103188250);
+emit_32(1119584256);
+emit_32(3264507911);
+emit_32(1101665927);
+emit_32(1119584256);
+emit_32(3263995904);
+emit_32(1100910743);
+emit_32(1119584256);
+emit_32(3263483911);
+emit_32(1100740139);
+emit_32(1119584256);
+emit_32(3262775296);
+emit_32(1100127981);
+emit_32(1119584256);
+emit_32(3261751309);
+emit_32(1100010121);
+emit_32(1119584256);
+emit_32(3260727296);
+emit_32(1099477968);
+emit_32(1119584256);
+emit_32(3259703309);
+emit_32(1097874171);
+emit_32(1119584256);
+emit_32(3258679296);
+emit_32(1096345453);
+emit_32(1119584256);
+emit_32(3257655309);
+emit_32(1093686893);
+emit_32(1119584256);
+emit_32(3256631296);
+emit_32(1093873015);
+emit_32(1119584256);
+emit_32(3255607309);
+emit_32(1093045794);
+emit_32(1119584256);
+emit_32(3254386688);
+emit_32(1093896189);
+emit_32(1119584256);
+emit_32(3252338714);
+emit_32(1094140717);
+emit_32(1119584256);
+emit_32(3250290688);
+emit_32(1094085666);
+emit_32(1119584256);
+emit_32(3248242714);
+emit_32(1094959130);
+emit_32(1119584256);
+emit_32(3245998080);
+emit_32(1096322698);
+emit_32(1119584256);
+emit_32(3241902132);
+emit_32(1097101161);
+emit_32(1119584256);
+emit_32(3237609472);
+emit_32(1096857367);
+emit_32(1119584256);
+emit_32(3229220864);
+emit_32(1096976905);
+emit_32(1119584256);
+emit_32(0);
+emit_32(1098201537);
+emit_32(1119584256);
+emit_32(1081737216);
+emit_32(1099519545);
+emit_32(1119584256);
+emit_32(3279552512);
+emit_32(1085076910);
+emit_32(1119072263);
+emit_32(3279296528);
+emit_32(1081809987);
+emit_32(1119072263);
+emit_32(3279040545);
+emit_32(1077014597);
+emit_32(1119072263);
+emit_32(3278784496);
+emit_32(1075155304);
+emit_32(1119072263);
+emit_32(3278528512);
+emit_32(1069179596);
+emit_32(1119072263);
+emit_32(3278272528);
+emit_32(1056541889);
+emit_32(1119072263);
+emit_32(3278016545);
+emit_32(1062243693);
+emit_32(1119072263);
+emit_32(3277760496);
+emit_32(3195663773);
+emit_32(1119072263);
+emit_32(3277504512);
+emit_32(3221620659);
+emit_32(1119072263);
+emit_32(3277248528);
+emit_32(3216900390);
+emit_32(1119072263);
+emit_32(3276992545);
+emit_32(3207733134);
+emit_32(1119072263);
+emit_32(3276736496);
+emit_32(1061029962);
+emit_32(1119072263);
+emit_32(3276480512);
+emit_32(1067919627);
+emit_32(1119072263);
+emit_32(3276224528);
+emit_32(1069464557);
+emit_32(1119072263);
+emit_32(3275968545);
+emit_32(1076127125);
+emit_32(1119072263);
+emit_32(3275712496);
+emit_32(1080969365);
+emit_32(1119072263);
+emit_32(3275456512);
+emit_32(1083510358);
+emit_32(1119072263);
+emit_32(3275200528);
+emit_32(1088854216);
+emit_32(1119072263);
+emit_32(3274944545);
+emit_32(1092461118);
+emit_32(1119072263);
+emit_32(3274688496);
+emit_32(1095602746);
+emit_32(1119072263);
+emit_32(3274432512);
+emit_32(1097477495);
+emit_32(1119072263);
+emit_32(3274176528);
+emit_32(1099224108);
+emit_32(1119072263);
+emit_32(3273920545);
+emit_32(1100863662);
+emit_32(1119072263);
+emit_32(3273664496);
+emit_32(1102423943);
+emit_32(1119072263);
+emit_32(3273408512);
+emit_32(1103322677);
+emit_32(1119072263);
+emit_32(3273152528);
+emit_32(1104096054);
+emit_32(1119072263);
+emit_32(3272896545);
+emit_32(1104740300);
+emit_32(1119072263);
+emit_32(3272640496);
+emit_32(1105730627);
+emit_32(1119072263);
+emit_32(3272384512);
+emit_32(1107106673);
+emit_32(1119072263);
+emit_32(3272128528);
+emit_32(1107798052);
+emit_32(1119072263);
+emit_32(3271872545);
+emit_32(1107907497);
+emit_32(1119072263);
+emit_32(3271616496);
+emit_32(1108367272);
+emit_32(1119072263);
+emit_32(3271163904);
+emit_32(1108217273);
+emit_32(1119072263);
+emit_32(3270651937);
+emit_32(1108004962);
+emit_32(1119072263);
+emit_32(3270139970);
+emit_32(1107737890);
+emit_32(1119072263);
+emit_32(3269627871);
+emit_32(1107889331);
+emit_32(1119072263);
+emit_32(3269115904);
+emit_32(1107876826);
+emit_32(1119072263);
+emit_32(3268603937);
+emit_32(1107372933);
+emit_32(1119072263);
+emit_32(3268091970);
+emit_32(1106504004);
+emit_32(1119072263);
+emit_32(3267579911);
+emit_32(1106696575);
+emit_32(1119072263);
+emit_32(3267067904);
+emit_32(1107019275);
+emit_32(1119072263);
+emit_32(3266555911);
+emit_32(1106385201);
+emit_32(1119072263);
+emit_32(3266043904);
+emit_32(1105441482);
+emit_32(1119072263);
+emit_32(3265531911);
+emit_32(1104471235);
+emit_32(1119072263);
+emit_32(3265019904);
+emit_32(1103193965);
+emit_32(1119072263);
+emit_32(3264507911);
+emit_32(1102302518);
+emit_32(1119072263);
+emit_32(3263995904);
+emit_32(1101174984);
+emit_32(1119072263);
+emit_32(3263483911);
+emit_32(1100736365);
+emit_32(1119072263);
+emit_32(3262775296);
+emit_32(1100294232);
+emit_32(1119072263);
+emit_32(3261751309);
+emit_32(1099900282);
+emit_32(1119072263);
+emit_32(3260727296);
+emit_32(1099000447);
+emit_32(1119072263);
+emit_32(3259703309);
+emit_32(1098125096);
+emit_32(1119072263);
+emit_32(3258679296);
+emit_32(1096310535);
+emit_32(1119072263);
+emit_32(3257655309);
+emit_32(1094547669);
+emit_32(1119072263);
+emit_32(3256631296);
+emit_32(1092850024);
+emit_32(1119072263);
+emit_32(3255607309);
+emit_32(1092138471);
+emit_32(1119072263);
+emit_32(3254386688);
+emit_32(1092338194);
+emit_32(1119072263);
+emit_32(3252338714);
+emit_32(1093356172);
+emit_32(1119072263);
+emit_32(3250290688);
+emit_32(1094627885);
+emit_32(1119072263);
+emit_32(3248242714);
+emit_32(1095982750);
+emit_32(1119072263);
+emit_32(3245998080);
+emit_32(1095846540);
+emit_32(1119072263);
+emit_32(3241902132);
+emit_32(1095563949);
+emit_32(1119072263);
+emit_32(3237609472);
+emit_32(1095549269);
+emit_32(1119072263);
+emit_32(3229220864);
+emit_32(1096920492);
+emit_32(1119072263);
+emit_32(0);
+emit_32(1097824888);
+emit_32(1119072263);
+emit_32(1081737216);
+emit_32(1098532992);
+emit_32(1119072263);
+emit_32(3279552512);
+emit_32(1086774827);
+emit_32(1118560256);
+emit_32(3279296528);
+emit_32(1083515077);
+emit_32(1118560256);
+emit_32(3279040545);
+emit_32(1079457780);
+emit_32(1118560256);
+emit_32(3278784496);
+emit_32(1073525901);
+emit_32(1118560256);
+emit_32(3278528512);
+emit_32(1058489607);
+emit_32(1118560256);
+emit_32(3278272528);
+emit_32(1073793078);
+emit_32(1118560256);
+emit_32(3278016545);
+emit_32(1074379023);
+emit_32(1118560256);
+emit_32(3277760496);
+emit_32(1061663235);
+emit_32(1118560256);
+emit_32(3277504512);
+emit_32(3201930600);
+emit_32(1118560256);
+emit_32(3277248528);
+emit_32(3204664162);
+emit_32(1118560256);
+emit_32(3276992545);
+emit_32(995186421);
+emit_32(1118560256);
+emit_32(3276736496);
+emit_32(1065832625);
+emit_32(1118560256);
+emit_32(3276480512);
+emit_32(1074242037);
+emit_32(1118560256);
+emit_32(3276224528);
+emit_32(1075791245);
+emit_32(1118560256);
+emit_32(3275968545);
+emit_32(1081708653);
+emit_32(1118560256);
+emit_32(3275712496);
+emit_32(1085735415);
+emit_32(1118560256);
+emit_32(3275456512);
+emit_32(1087198703);
+emit_32(1118560256);
+emit_32(3275200528);
+emit_32(1090399397);
+emit_32(1118560256);
+emit_32(3274944545);
+emit_32(1093618840);
+emit_32(1118560256);
+emit_32(3274688496);
+emit_32(1095966497);
+emit_32(1118560256);
+emit_32(3274432512);
+emit_32(1098679792);
+emit_32(1118560256);
+emit_32(3274176528);
+emit_32(1099796369);
+emit_32(1118560256);
+emit_32(3273920545);
+emit_32(1101123342);
+emit_32(1118560256);
+emit_32(3273664496);
+emit_32(1102326582);
+emit_32(1118560256);
+emit_32(3273408512);
+emit_32(1103526783);
+emit_32(1118560256);
+emit_32(3273152528);
+emit_32(1104500018);
+emit_32(1118560256);
+emit_32(3272896545);
+emit_32(1105044544);
+emit_32(1118560256);
+emit_32(3272640496);
+emit_32(1105840518);
+emit_32(1118560256);
+emit_32(3272384512);
+emit_32(1107014661);
+emit_32(1118560256);
+emit_32(3272128528);
+emit_32(1107845579);
+emit_32(1118560256);
+emit_32(3271872545);
+emit_32(1108007295);
+emit_32(1118560256);
+emit_32(3271616496);
+emit_32(1108389711);
+emit_32(1118560256);
+emit_32(3271163904);
+emit_32(1108469167);
+emit_32(1118560256);
+emit_32(3270651937);
+emit_32(1108186681);
+emit_32(1118560256);
+emit_32(3270139970);
+emit_32(1107912425);
+emit_32(1118560256);
+emit_32(3269627871);
+emit_32(1107694060);
+emit_32(1118560256);
+emit_32(3269115904);
+emit_32(1107557771);
+emit_32(1118560256);
+emit_32(3268603937);
+emit_32(1107185212);
+emit_32(1118560256);
+emit_32(3268091970);
+emit_32(1106863509);
+emit_32(1118560256);
+emit_32(3267579911);
+emit_32(1106786176);
+emit_32(1118560256);
+emit_32(3267067904);
+emit_32(1107049998);
+emit_32(1118560256);
+emit_32(3266555911);
+emit_32(1106706117);
+emit_32(1118560256);
+emit_32(3266043904);
+emit_32(1105274287);
+emit_32(1118560256);
+emit_32(3265531911);
+emit_32(1104108375);
+emit_32(1118560256);
+emit_32(3265019904);
+emit_32(1103313974);
+emit_32(1118560256);
+emit_32(3264507911);
+emit_32(1102052537);
+emit_32(1118560256);
+emit_32(3263995904);
+emit_32(1101026348);
+emit_32(1118560256);
+emit_32(3263483911);
+emit_32(1100975912);
+emit_32(1118560256);
+emit_32(3262775296);
+emit_32(1100160329);
+emit_32(1118560256);
+emit_32(3261751309);
+emit_32(1099423862);
+emit_32(1118560256);
+emit_32(3260727296);
+emit_32(1098504471);
+emit_32(1118560256);
+emit_32(3259703309);
+emit_32(1097455580);
+emit_32(1118560256);
+emit_32(3258679296);
+emit_32(1095484886);
+emit_32(1118560256);
+emit_32(3257655309);
+emit_32(1094881011);
+emit_32(1118560256);
+emit_32(3256631296);
+emit_32(1092725768);
+emit_32(1118560256);
+emit_32(3255607309);
+emit_32(1092211609);
+emit_32(1118560256);
+emit_32(3254386688);
+emit_32(1092698400);
+emit_32(1118560256);
+emit_32(3252338714);
+emit_32(1092845620);
+emit_32(1118560256);
+emit_32(3250290688);
+emit_32(1094266651);
+emit_32(1118560256);
+emit_32(3248242714);
+emit_32(1094578287);
+emit_32(1118560256);
+emit_32(3245998080);
+emit_32(1094619916);
+emit_32(1118560256);
+emit_32(3241902132);
+emit_32(1094198493);
+emit_32(1118560256);
+emit_32(3237609472);
+emit_32(1096808294);
+emit_32(1118560256);
+emit_32(3229220864);
+emit_32(1097696857);
+emit_32(1118560256);
+emit_32(0);
+emit_32(1097643170);
+emit_32(1118560256);
+emit_32(1081737216);
+emit_32(1098479410);
+emit_32(1118560256);
+emit_32(3279552512);
+emit_32(1088302854);
+emit_32(1118048263);
+emit_32(3279296528);
+emit_32(1083747986);
+emit_32(1118048263);
+emit_32(3279040545);
+emit_32(1080542594);
+emit_32(1118048263);
+emit_32(3278784496);
+emit_32(1075852566);
+emit_32(1118048263);
+emit_32(3278528512);
+emit_32(1068737600);
+emit_32(1118048263);
+emit_32(3278272528);
+emit_32(1073988491);
+emit_32(1118048263);
+emit_32(3278016545);
+emit_32(1075493743);
+emit_32(1118048263);
+emit_32(3277760496);
+emit_32(1067344336);
+emit_32(1118048263);
+emit_32(3277504512);
+emit_32(1070348213);
+emit_32(1118048263);
+emit_32(3277248528);
+emit_32(1067476624);
+emit_32(1118048263);
+emit_32(3276992545);
+emit_32(1069849007);
+emit_32(1118048263);
+emit_32(3276736496);
+emit_32(1075129006);
+emit_32(1118048263);
+emit_32(3276480512);
+emit_32(1076245656);
+emit_32(1118048263);
+emit_32(3276224528);
+emit_32(1082664933);
+emit_32(1118048263);
+emit_32(3275968545);
+emit_32(1086033987);
+emit_32(1118048263);
+emit_32(3275712496);
+emit_32(1089567583);
+emit_32(1118048263);
+emit_32(3275456512);
+emit_32(1091286073);
+emit_32(1118048263);
+emit_32(3275200528);
+emit_32(1092256918);
+emit_32(1118048263);
+emit_32(3274944545);
+emit_32(1094223449);
+emit_32(1118048263);
+emit_32(3274688496);
+emit_32(1097132304);
+emit_32(1118048263);
+emit_32(3274432512);
+emit_32(1099059115);
+emit_32(1118048263);
+emit_32(3274176528);
+emit_32(1099766379);
+emit_32(1118048263);
+emit_32(3273920545);
+emit_32(1101236640);
+emit_32(1118048263);
+emit_32(3273664496);
+emit_32(1102554438);
+emit_32(1118048263);
+emit_32(3273408512);
+emit_32(1103664565);
+emit_32(1118048263);
+emit_32(3273152528);
+emit_32(1104878292);
+emit_32(1118048263);
+emit_32(3272896545);
+emit_32(1105616175);
+emit_32(1118048263);
+emit_32(3272640496);
+emit_32(1106382684);
+emit_32(1118048263);
+emit_32(3272384512);
+emit_32(1107450606);
+emit_32(1118048263);
+emit_32(3272128528);
+emit_32(1107817503);
+emit_32(1118048263);
+emit_32(3271872545);
+emit_32(1107947369);
+emit_32(1118048263);
+emit_32(3271616496);
+emit_32(1108283805);
+emit_32(1118048263);
+emit_32(3271163904);
+emit_32(1108371099);
+emit_32(1118048263);
+emit_32(3270651937);
+emit_32(1108326954);
+emit_32(1118048263);
+emit_32(3270139970);
+emit_32(1108075217);
+emit_32(1118048263);
+emit_32(3269627871);
+emit_32(1107641945);
+emit_32(1118048263);
+emit_32(3269115904);
+emit_32(1107268836);
+emit_32(1118048263);
+emit_32(3268603937);
+emit_32(1107004595);
+emit_32(1118048263);
+emit_32(3268091970);
+emit_32(1106919660);
+emit_32(1118048263);
+emit_32(3267579911);
+emit_32(1107317228);
+emit_32(1118048263);
+emit_32(3267067904);
+emit_32(1106983623);
+emit_32(1118048263);
+emit_32(3266555911);
+emit_32(1106392855);
+emit_32(1118048263);
+emit_32(3266043904);
+emit_32(1105271141);
+emit_32(1118048263);
+emit_32(3265531911);
+emit_32(1103878632);
+emit_32(1118048263);
+emit_32(3265019904);
+emit_32(1103197949);
+emit_32(1118048263);
+emit_32(3264507911);
+emit_32(1102375708);
+emit_32(1118048263);
+emit_32(3263995904);
+emit_32(1100616040);
+emit_32(1118048263);
+emit_32(3263483911);
+emit_32(1100311953);
+emit_32(1118048263);
+emit_32(3262775296);
+emit_32(1099845547);
+emit_32(1118048263);
+emit_32(3261751309);
+emit_32(1099214619);
+emit_32(1118048263);
+emit_32(3260727296);
+emit_32(1097535901);
+emit_32(1118048263);
+emit_32(3259703309);
+emit_32(1095712847);
+emit_32(1118048263);
+emit_32(3258679296);
+emit_32(1094870840);
+emit_32(1118048263);
+emit_32(3257655309);
+emit_32(1094035230);
+emit_32(1118048263);
+emit_32(3256631296);
+emit_32(1092438144);
+emit_32(1118048263);
+emit_32(3255607309);
+emit_32(1092567024);
+emit_32(1118048263);
+emit_32(3254386688);
+emit_32(1093416360);
+emit_32(1118048263);
+emit_32(3252338714);
+emit_32(1092845516);
+emit_32(1118048263);
+emit_32(3250290688);
+emit_32(1092728599);
+emit_32(1118048263);
+emit_32(3248242714);
+emit_32(1093978292);
+emit_32(1118048263);
+emit_32(3245998080);
+emit_32(1094248091);
+emit_32(1118048263);
+emit_32(3241902132);
+emit_32(1096725352);
+emit_32(1118048263);
+emit_32(3237609472);
+emit_32(1098118070);
+emit_32(1118048263);
+emit_32(3229220864);
+emit_32(1098579024);
+emit_32(1118048263);
+emit_32(0);
+emit_32(1098875562);
+emit_32(1118048263);
+emit_32(1081737216);
+emit_32(1099413271);
+emit_32(1118048263);
+emit_32(3279552512);
+emit_32(1087158039);
+emit_32(1117536256);
+emit_32(3279296528);
+emit_32(1084423731);
+emit_32(1117536256);
+emit_32(3279040545);
+emit_32(1083252471);
+emit_32(1117536256);
+emit_32(3278784496);
+emit_32(1080977921);
+emit_32(1117536256);
+emit_32(3278528512);
+emit_32(1078047193);
+emit_32(1117536256);
+emit_32(3278272528);
+emit_32(1078022405);
+emit_32(1117536256);
+emit_32(3278016545);
+emit_32(1081630052);
+emit_32(1117536256);
+emit_32(3277760496);
+emit_32(1083124105);
+emit_32(1117536256);
+emit_32(3277504512);
+emit_32(1081459553);
+emit_32(1117536256);
+emit_32(3277248528);
+emit_32(1076823379);
+emit_32(1117536256);
+emit_32(3276992545);
+emit_32(1083284243);
+emit_32(1117536256);
+emit_32(3276736496);
+emit_32(1084323613);
+emit_32(1117536256);
+emit_32(3276480512);
+emit_32(1083093801);
+emit_32(1117536256);
+emit_32(3276224528);
+emit_32(1084912430);
+emit_32(1117536256);
+emit_32(3275968545);
+emit_32(1088711106);
+emit_32(1117536256);
+emit_32(3275712496);
+emit_32(1091460892);
+emit_32(1117536256);
+emit_32(3275456512);
+emit_32(1093026290);
+emit_32(1117536256);
+emit_32(3275200528);
+emit_32(1094050539);
+emit_32(1117536256);
+emit_32(3274944545);
+emit_32(1096188481);
+emit_32(1117536256);
+emit_32(3274688496);
+emit_32(1099085539);
+emit_32(1117536256);
+emit_32(3274432512);
+emit_32(1099851891);
+emit_32(1117536256);
+emit_32(3274176528);
+emit_32(1100504367);
+emit_32(1117536256);
+emit_32(3273920545);
+emit_32(1101748136);
+emit_32(1117536256);
+emit_32(3273664496);
+emit_32(1102868644);
+emit_32(1117536256);
+emit_32(3273408512);
+emit_32(1103833491);
+emit_32(1117536256);
+emit_32(3273152528);
+emit_32(1104656833);
+emit_32(1117536256);
+emit_32(3272896545);
+emit_32(1105628706);
+emit_32(1117536256);
+emit_32(3272640496);
+emit_32(1107011043);
+emit_32(1117536256);
+emit_32(3272384512);
+emit_32(1107650124);
+emit_32(1117536256);
+emit_32(3272128528);
+emit_32(1107880732);
+emit_32(1117536256);
+emit_32(3271872545);
+emit_32(1107976887);
+emit_32(1117536256);
+emit_32(3271616496);
+emit_32(1108276648);
+emit_32(1117536256);
+emit_32(3271163904);
+emit_32(1108202645);
+emit_32(1117536256);
+emit_32(3270651937);
+emit_32(1108292036);
+emit_32(1117536256);
+emit_32(3270139970);
+emit_32(1107942205);
+emit_32(1117536256);
+emit_32(3269627871);
+emit_32(1107800883);
+emit_32(1117536256);
+emit_32(3269115904);
+emit_32(1107311303);
+emit_32(1117536256);
+emit_32(3268603937);
+emit_32(1107125495);
+emit_32(1117536256);
+emit_32(3268091970);
+emit_32(1107112755);
+emit_32(1117536256);
+emit_32(3267579911);
+emit_32(1107267997);
+emit_32(1117536256);
+emit_32(3267067904);
+emit_32(1106890510);
+emit_32(1117536256);
+emit_32(3266555911);
+emit_32(1106494148);
+emit_32(1117536256);
+emit_32(3266043904);
+emit_32(1105071650);
+emit_32(1117536256);
+emit_32(3265531911);
+emit_32(1103864948);
+emit_32(1117536256);
+emit_32(3265019904);
+emit_32(1102783028);
+emit_32(1117536256);
+emit_32(3264507911);
+emit_32(1101893154);
+emit_32(1117536256);
+emit_32(3263995904);
+emit_32(1100313684);
+emit_32(1117536256);
+emit_32(3263483911);
+emit_32(1099645112);
+emit_32(1117536256);
+emit_32(3262775296);
+emit_32(1099500985);
+emit_32(1117536256);
+emit_32(3261751309);
+emit_32(1099174668);
+emit_32(1117536256);
+emit_32(3260727296);
+emit_32(1097807901);
+emit_32(1117536256);
+emit_32(3259703309);
+emit_32(1096000995);
+emit_32(1117536256);
+emit_32(3258679296);
+emit_32(1094151098);
+emit_32(1117536256);
+emit_32(3257655309);
+emit_32(1093022725);
+emit_32(1117536256);
+emit_32(3256631296);
+emit_32(1092315356);
+emit_32(1117536256);
+emit_32(3255607309);
+emit_32(1092666209);
+emit_32(1117536256);
+emit_32(3254386688);
+emit_32(1092956979);
+emit_32(1117536256);
+emit_32(3252338714);
+emit_32(1092948591);
+emit_32(1117536256);
+emit_32(3250290688);
+emit_32(1093567880);
+emit_32(1117536256);
+emit_32(3248242714);
+emit_32(1094483496);
+emit_32(1117536256);
+emit_32(3245998080);
+emit_32(1097010250);
+emit_32(1117536256);
+emit_32(3241902132);
+emit_32(1098491888);
+emit_32(1117536256);
+emit_32(3237609472);
+emit_32(1098958976);
+emit_32(1117536256);
+emit_32(3229220864);
+emit_32(1099244503);
+emit_32(1117536256);
+emit_32(0);
+emit_32(1099580677);
+emit_32(1117536256);
+emit_32(1081737216);
+emit_32(1100388447);
+emit_32(1117536256);
+emit_32(3279552512);
+emit_32(1086400066);
+emit_32(1117024263);
+emit_32(3279296528);
+emit_32(1084596809);
+emit_32(1117024263);
+emit_32(3279040545);
+emit_32(1080887240);
+emit_32(1117024263);
+emit_32(3278784496);
+emit_32(1080830198);
+emit_32(1117024263);
+emit_32(3278528512);
+emit_32(1083401537);
+emit_32(1117024263);
+emit_32(3278272528);
+emit_32(1083235254);
+emit_32(1117024263);
+emit_32(3278016545);
+emit_32(1085484554);
+emit_32(1117024263);
+emit_32(3277760496);
+emit_32(1086866577);
+emit_32(1117024263);
+emit_32(3277504512);
+emit_32(1084469113);
+emit_32(1117024263);
+emit_32(3277248528);
+emit_32(1083540599);
+emit_32(1117024263);
+emit_32(3276992545);
+emit_32(1085825048);
+emit_32(1117024263);
+emit_32(3276736496);
+emit_32(1088012125);
+emit_32(1117024263);
+emit_32(3276480512);
+emit_32(1088318771);
+emit_32(1117024263);
+emit_32(3276224528);
+emit_32(1089174619);
+emit_32(1117024263);
+emit_32(3275968545);
+emit_32(1091189594);
+emit_32(1117024263);
+emit_32(3275712496);
+emit_32(1093050722);
+emit_32(1117024263);
+emit_32(3275456512);
+emit_32(1094514639);
+emit_32(1117024263);
+emit_32(3275200528);
+emit_32(1096242482);
+emit_32(1117024263);
+emit_32(3274944545);
+emit_32(1098453090);
+emit_32(1117024263);
+emit_32(3274688496);
+emit_32(1100090861);
+emit_32(1117024263);
+emit_32(3274432512);
+emit_32(1100571319);
+emit_32(1117024263);
+emit_32(3274176528);
+emit_32(1101691512);
+emit_32(1117024263);
+emit_32(3273920545);
+emit_32(1102911059);
+emit_32(1117024263);
+emit_32(3273664496);
+emit_32(1103791600);
+emit_32(1117024263);
+emit_32(3273408512);
+emit_32(1105004541);
+emit_32(1117024263);
+emit_32(3273152528);
+emit_32(1105668499);
+emit_32(1117024263);
+emit_32(3272896545);
+emit_32(1106514962);
+emit_32(1117024263);
+emit_32(3272640496);
+emit_32(1107399593);
+emit_32(1117024263);
+emit_32(3272384512);
+emit_32(1107645563);
+emit_32(1117024263);
+emit_32(3272128528);
+emit_32(1107768351);
+emit_32(1117024263);
+emit_32(3271872545);
+emit_32(1108103738);
+emit_32(1117024263);
+emit_32(3271616496);
+emit_32(1108013744);
+emit_32(1117024263);
+emit_32(3271163904);
+emit_32(1107916384);
+emit_32(1117024263);
+emit_32(3270651937);
+emit_32(1107875778);
+emit_32(1117024263);
+emit_32(3270139970);
+emit_32(1107601523);
+emit_32(1117024263);
+emit_32(3269627871);
+emit_32(1107312378);
+emit_32(1117024263);
+emit_32(3269115904);
+emit_32(1107317935);
+emit_32(1117024263);
+emit_32(3268603937);
+emit_32(1107418363);
+emit_32(1117024263);
+emit_32(3268091970);
+emit_32(1107103056);
+emit_32(1117024263);
+emit_32(3267579911);
+emit_32(1106756135);
+emit_32(1117024263);
+emit_32(3267067904);
+emit_32(1106586580);
+emit_32(1117024263);
+emit_32(3266555911);
+emit_32(1106229068);
+emit_32(1117024263);
+emit_32(3266043904);
+emit_32(1104905136);
+emit_32(1117024263);
+emit_32(3265531911);
+emit_32(1103773408);
+emit_32(1117024263);
+emit_32(3265019904);
+emit_32(1102876508);
+emit_32(1117024263);
+emit_32(3264507911);
+emit_32(1101347160);
+emit_32(1117024263);
+emit_32(3263995904);
+emit_32(1100029362);
+emit_32(1117024263);
+emit_32(3263483911);
+emit_32(1099777180);
+emit_32(1117024263);
+emit_32(3262775296);
+emit_32(1099578632);
+emit_32(1117024263);
+emit_32(3261751309);
+emit_32(1099224370);
+emit_32(1117024263);
+emit_32(3260727296);
+emit_32(1097535377);
+emit_32(1117024263);
+emit_32(3259703309);
+emit_32(1095910398);
+emit_32(1117024263);
+emit_32(3258679296);
+emit_32(1093599127);
+emit_32(1117024263);
+emit_32(3257655309);
+emit_32(1091981646);
+emit_32(1117024263);
+emit_32(3256631296);
+emit_32(1091797841);
+emit_32(1117024263);
+emit_32(3255607309);
+emit_32(1092352737);
+emit_32(1117024263);
+emit_32(3254386688);
+emit_32(1093028492);
+emit_32(1117024263);
+emit_32(3252338714);
+emit_32(1093454633);
+emit_32(1117024263);
+emit_32(3250290688);
+emit_32(1094245469);
+emit_32(1117024263);
+emit_32(3248242714);
+emit_32(1096330038);
+emit_32(1117024263);
+emit_32(3245998080);
+emit_32(1098523450);
+emit_32(1117024263);
+emit_32(3241902132);
+emit_32(1099109289);
+emit_32(1117024263);
+emit_32(3237609472);
+emit_32(1099818861);
+emit_32(1117024263);
+emit_32(3229220864);
+emit_32(1099945738);
+emit_32(1117024263);
+emit_32(0);
+emit_32(1100568016);
+emit_32(1117024263);
+emit_32(1081737216);
+emit_32(1101362836);
+emit_32(1117024263);
+emit_32(3279552512);
+emit_32(1085174427);
+emit_32(1116512256);
+emit_32(3279296528);
+emit_32(1083887405);
+emit_32(1116512256);
+emit_32(3279040545);
+emit_32(1080456611);
+emit_32(1116512256);
+emit_32(3278784496);
+emit_32(1079046318);
+emit_32(1116512256);
+emit_32(3278528512);
+emit_32(1082259302);
+emit_32(1116512256);
+emit_32(3278272528);
+emit_32(1084889550);
+emit_32(1116512256);
+emit_32(3278016545);
+emit_32(1087704851);
+emit_32(1116512256);
+emit_32(3277760496);
+emit_32(1087804025);
+emit_32(1116512256);
+emit_32(3277504512);
+emit_32(1088280498);
+emit_32(1116512256);
+emit_32(3277248528);
+emit_32(1088103981);
+emit_32(1116512256);
+emit_32(3276992545);
+emit_32(1088351004);
+emit_32(1116512256);
+emit_32(3276736496);
+emit_32(1089973843);
+emit_32(1116512256);
+emit_32(3276480512);
+emit_32(1091239926);
+emit_32(1116512256);
+emit_32(3276224528);
+emit_32(1091632890);
+emit_32(1116512256);
+emit_32(3275968545);
+emit_32(1092700393);
+emit_32(1116512256);
+emit_32(3275712496);
+emit_32(1094925156);
+emit_32(1116512256);
+emit_32(3275456512);
+emit_32(1096876556);
+emit_32(1116512256);
+emit_32(3275200528);
+emit_32(1098626630);
+emit_32(1116512256);
+emit_32(3274944545);
+emit_32(1100164471);
+emit_32(1116512256);
+emit_32(3274688496);
+emit_32(1100745487);
+emit_32(1116512256);
+emit_32(3274432512);
+emit_32(1101472832);
+emit_32(1116512256);
+emit_32(3274176528);
+emit_32(1102779148);
+emit_32(1116512256);
+emit_32(3273920545);
+emit_32(1103935255);
+emit_32(1116512256);
+emit_32(3273664496);
+emit_32(1104701345);
+emit_32(1116512256);
+emit_32(3273408512);
+emit_32(1105539000);
+emit_32(1116512256);
+emit_32(3273152528);
+emit_32(1106980949);
+emit_32(1116512256);
+emit_32(3272896545);
+emit_32(1107434013);
+emit_32(1116512256);
+emit_32(3272640496);
+emit_32(1107566658);
+emit_32(1116512256);
+emit_32(3272384512);
+emit_32(1107582701);
+emit_32(1116512256);
+emit_32(3272128528);
+emit_32(1107757498);
+emit_32(1116512256);
+emit_32(3271872545);
+emit_32(1107869617);
+emit_32(1116512256);
+emit_32(3271616496);
+emit_32(1107687480);
+emit_32(1116512256);
+emit_32(3271163904);
+emit_32(1107868176);
+emit_32(1116512256);
+emit_32(3270651937);
+emit_32(1107680087);
+emit_32(1116512256);
+emit_32(3270139970);
+emit_32(1107380955);
+emit_32(1116512256);
+emit_32(3269627871);
+emit_32(1107328631);
+emit_32(1116512256);
+emit_32(3269115904);
+emit_32(1107472941);
+emit_32(1116512256);
+emit_32(3268603937);
+emit_32(1107494384);
+emit_32(1116512256);
+emit_32(3268091970);
+emit_32(1107424602);
+emit_32(1116512256);
+emit_32(3267579911);
+emit_32(1106664227);
+emit_32(1116512256);
+emit_32(3267067904);
+emit_32(1106309651);
+emit_32(1116512256);
+emit_32(3266555911);
+emit_32(1105564480);
+emit_32(1116512256);
+emit_32(3266043904);
+emit_32(1104468247);
+emit_32(1116512256);
+emit_32(3265531911);
+emit_32(1103524161);
+emit_32(1116512256);
+emit_32(3265019904);
+emit_32(1102766355);
+emit_32(1116512256);
+emit_32(3264507911);
+emit_32(1101285976);
+emit_32(1116512256);
+emit_32(3263995904);
+emit_32(1100106066);
+emit_32(1116512256);
+emit_32(3263483911);
+emit_32(1099771150);
+emit_32(1116512256);
+emit_32(3262775296);
+emit_32(1099629121);
+emit_32(1116512256);
+emit_32(3261751309);
+emit_32(1099071436);
+emit_32(1116512256);
+emit_32(3260727296);
+emit_32(1096827273);
+emit_32(1116512256);
+emit_32(3259703309);
+emit_32(1094327153);
+emit_32(1116512256);
+emit_32(3258679296);
+emit_32(1092289372);
+emit_32(1116512256);
+emit_32(3257655309);
+emit_32(1091186899);
+emit_32(1116512256);
+emit_32(3256631296);
+emit_32(1091068620);
+emit_32(1116512256);
+emit_32(3255607309);
+emit_32(1092988332);
+emit_32(1116512256);
+emit_32(3254386688);
+emit_32(1093789024);
+emit_32(1116512256);
+emit_32(3252338714);
+emit_32(1095575588);
+emit_32(1116512256);
+emit_32(3250290688);
+emit_32(1097077673);
+emit_32(1116512256);
+emit_32(3248242714);
+emit_32(1098285423);
+emit_32(1116512256);
+emit_32(3245998080);
+emit_32(1099366400);
+emit_32(1116512256);
+emit_32(3241902132);
+emit_32(1099809528);
+emit_32(1116512256);
+emit_32(3237609472);
+emit_32(1100308336);
+emit_32(1116512256);
+emit_32(3229220864);
+emit_32(1100857999);
+emit_32(1116512256);
+emit_32(0);
+emit_32(1101690883);
+emit_32(1116512256);
+emit_32(1081737216);
+emit_32(1102550401);
+emit_32(1116512256);
+emit_32(3279552512);
+emit_32(1083244397);
+emit_32(1116000263);
+emit_32(3279296528);
+emit_32(1081021794);
+emit_32(1116000263);
+emit_32(3279040545);
+emit_32(1081320051);
+emit_32(1116000263);
+emit_32(3278784496);
+emit_32(1083021910);
+emit_32(1116000263);
+emit_32(3278528512);
+emit_32(1084294064);
+emit_32(1116000263);
+emit_32(3278272528);
+emit_32(1087656092);
+emit_32(1116000263);
+emit_32(3278016545);
+emit_32(1089797599);
+emit_32(1116000263);
+emit_32(3277760496);
+emit_32(1091098955);
+emit_32(1116000263);
+emit_32(3277504512);
+emit_32(1091272610);
+emit_32(1116000263);
+emit_32(3277248528);
+emit_32(1089866763);
+emit_32(1116000263);
+emit_32(3276992545);
+emit_32(1091139178);
+emit_32(1116000263);
+emit_32(3276736496);
+emit_32(1092341580);
+emit_32(1116000263);
+emit_32(3276480512);
+emit_32(1092757540);
+emit_32(1116000263);
+emit_32(3276224528);
+emit_32(1092728914);
+emit_32(1116000263);
+emit_32(3275968545);
+emit_32(1093810939);
+emit_32(1116000263);
+emit_32(3275712496);
+emit_32(1096373135);
+emit_32(1116000263);
+emit_32(3275456512);
+emit_32(1098378222);
+emit_32(1116000263);
+emit_32(3275200528);
+emit_32(1099724174);
+emit_32(1116000263);
+emit_32(3274944545);
+emit_32(1100967628);
+emit_32(1116000263);
+emit_32(3274688496);
+emit_32(1101558815);
+emit_32(1116000263);
+emit_32(3274432512);
+emit_32(1102315677);
+emit_32(1116000263);
+emit_32(3274176528);
+emit_32(1103940446);
+emit_32(1116000263);
+emit_32(3273920545);
+emit_32(1104679902);
+emit_32(1116000263);
+emit_32(3273664496);
+emit_32(1105155378);
+emit_32(1116000263);
+emit_32(3273408512);
+emit_32(1106194674);
+emit_32(1116000263);
+emit_32(3273152528);
+emit_32(1107343049);
+emit_32(1116000263);
+emit_32(3272896545);
+emit_32(1107838081);
+emit_32(1116000263);
+emit_32(3272640496);
+emit_32(1107954998);
+emit_32(1116000263);
+emit_32(3272384512);
+emit_32(1107867599);
+emit_32(1116000263);
+emit_32(3272128528);
+emit_32(1107645196);
+emit_32(1116000263);
+emit_32(3271872545);
+emit_32(1107550274);
+emit_32(1116000263);
+emit_32(3271616496);
+emit_32(1107544690);
+emit_32(1116000263);
+emit_32(3271163904);
+emit_32(1107694348);
+emit_32(1116000263);
+emit_32(3270651937);
+emit_32(1107550929);
+emit_32(1116000263);
+emit_32(3270139970);
+emit_32(1107424654);
+emit_32(1116000263);
+emit_32(3269627871);
+emit_32(1107580892);
+emit_32(1116000263);
+emit_32(3269115904);
+emit_32(1107466676);
+emit_32(1116000263);
+emit_32(3268603937);
+emit_32(1107518292);
+emit_32(1116000263);
+emit_32(3268091970);
+emit_32(1107507911);
+emit_32(1116000263);
+emit_32(3267579911);
+emit_32(1107068767);
+emit_32(1116000263);
+emit_32(3267067904);
+emit_32(1105975417);
+emit_32(1116000263);
+emit_32(3266555911);
+emit_32(1105550692);
+emit_32(1116000263);
+emit_32(3266043904);
+emit_32(1104364438);
+emit_32(1116000263);
+emit_32(3265531911);
+emit_32(1103311090);
+emit_32(1116000263);
+emit_32(3265019904);
+emit_32(1102266709);
+emit_32(1116000263);
+emit_32(3264507911);
+emit_32(1101111021);
+emit_32(1116000263);
+emit_32(3263995904);
+emit_32(1100245264);
+emit_32(1116000263);
+emit_32(3263483911);
+emit_32(1099460667);
+emit_32(1116000263);
+emit_32(3262775296);
+emit_32(1099464599);
+emit_32(1116000263);
+emit_32(3261751309);
+emit_32(1098898106);
+emit_32(1116000263);
+emit_32(3260727296);
+emit_32(1096169292);
+emit_32(1116000263);
+emit_32(3259703309);
+emit_32(1094572520);
+emit_32(1116000263);
+emit_32(3258679296);
+emit_32(1091595424);
+emit_32(1116000263);
+emit_32(3257655309);
+emit_32(1091557613);
+emit_32(1116000263);
+emit_32(3256631296);
+emit_32(1092673130);
+emit_32(1116000263);
+emit_32(3255607309);
+emit_32(1094406950);
+emit_32(1116000263);
+emit_32(3254386688);
+emit_32(1095233018);
+emit_32(1116000263);
+emit_32(3252338714);
+emit_32(1096870789);
+emit_32(1116000263);
+emit_32(3250290688);
+emit_32(1098084201);
+emit_32(1116000263);
+emit_32(3248242714);
+emit_32(1099279316);
+emit_32(1116000263);
+emit_32(3245998080);
+emit_32(1099851838);
+emit_32(1116000263);
+emit_32(3241902132);
+emit_32(1100485021);
+emit_32(1116000263);
+emit_32(3237609472);
+emit_32(1101521958);
+emit_32(1116000263);
+emit_32(3229220864);
+emit_32(1102417389);
+emit_32(1116000263);
+emit_32(0);
+emit_32(1103083130);
+emit_32(1116000263);
+emit_32(1081737216);
+emit_32(1103917954);
+emit_32(1116000263);
+emit_32(3279552512);
+emit_32(1083552091);
+emit_32(1115291648);
+emit_32(3279296528);
+emit_32(1083005678);
+emit_32(1115291648);
+emit_32(3279040545);
+emit_32(1081863968);
+emit_32(1115291648);
+emit_32(3278784496);
+emit_32(1083192598);
+emit_32(1115291648);
+emit_32(3278528512);
+emit_32(1085321521);
+emit_32(1115291648);
+emit_32(3278272528);
+emit_32(1088639887);
+emit_32(1115291648);
+emit_32(3278016545);
+emit_32(1090626592);
+emit_32(1115291648);
+emit_32(3277760496);
+emit_32(1090904140);
+emit_32(1115291648);
+emit_32(3277504512);
+emit_32(1091130580);
+emit_32(1115291648);
+emit_32(3277248528);
+emit_32(1091114726);
+emit_32(1115291648);
+emit_32(3276992545);
+emit_32(1092567129);
+emit_32(1115291648);
+emit_32(3276736496);
+emit_32(1093130414);
+emit_32(1115291648);
+emit_32(3276480512);
+emit_32(1093467636);
+emit_32(1115291648);
+emit_32(3276224528);
+emit_32(1094287832);
+emit_32(1115291648);
+emit_32(3275968545);
+emit_32(1095800822);
+emit_32(1115291648);
+emit_32(3275712496);
+emit_32(1097484940);
+emit_32(1115291648);
+emit_32(3275456512);
+emit_32(1099294310);
+emit_32(1115291648);
+emit_32(3275200528);
+emit_32(1100172703);
+emit_32(1115291648);
+emit_32(3274944545);
+emit_32(1101504656);
+emit_32(1115291648);
+emit_32(3274688496);
+emit_32(1102638534);
+emit_32(1115291648);
+emit_32(3274432512);
+emit_32(1103640238);
+emit_32(1115291648);
+emit_32(3274176528);
+emit_32(1104536142);
+emit_32(1115291648);
+emit_32(3273920545);
+emit_32(1105040926);
+emit_32(1115291648);
+emit_32(3273664496);
+emit_32(1105781640);
+emit_32(1115291648);
+emit_32(3273408512);
+emit_32(1106871845);
+emit_32(1115291648);
+emit_32(3273152528);
+emit_32(1107552266);
+emit_32(1115291648);
+emit_32(3272896545);
+emit_32(1107681686);
+emit_32(1115291648);
+emit_32(3272640496);
+emit_32(1107745571);
+emit_32(1115291648);
+emit_32(3272384512);
+emit_32(1107728531);
+emit_32(1115291648);
+emit_32(3272128528);
+emit_32(1107564849);
+emit_32(1115291648);
+emit_32(3271872545);
+emit_32(1107489876);
+emit_32(1115291648);
+emit_32(3271616496);
+emit_32(1107455351);
+emit_32(1115291648);
+emit_32(3271163904);
+emit_32(1107468721);
+emit_32(1115291648);
+emit_32(3270651937);
+emit_32(1107084182);
+emit_32(1115291648);
+emit_32(3270139970);
+emit_32(1107222279);
+emit_32(1115291648);
+emit_32(3269627871);
+emit_32(1107484685);
+emit_32(1115291648);
+emit_32(3269115904);
+emit_32(1107529302);
+emit_32(1115291648);
+emit_32(3268603937);
+emit_32(1107488067);
+emit_32(1115291648);
+emit_32(3268091970);
+emit_32(1107407117);
+emit_32(1115291648);
+emit_32(3267579911);
+emit_32(1106883012);
+emit_32(1115291648);
+emit_32(3267067904);
+emit_32(1106605454);
+emit_32(1115291648);
+emit_32(3266555911);
+emit_32(1105505288);
+emit_32(1115291648);
+emit_32(3266043904);
+emit_32(1104212551);
+emit_32(1115291648);
+emit_32(3265531911);
+emit_32(1103004854);
+emit_32(1115291648);
+emit_32(3265019904);
+emit_32(1102070835);
+emit_32(1115291648);
+emit_32(3264507911);
+emit_32(1101098123);
+emit_32(1115291648);
+emit_32(3263995904);
+emit_32(1100325323);
+emit_32(1115291648);
+emit_32(3263483911);
+emit_32(1099328966);
+emit_32(1115291648);
+emit_32(3262775296);
+emit_32(1098611216);
+emit_32(1115291648);
+emit_32(3261751309);
+emit_32(1096735418);
+emit_32(1115291648);
+emit_32(3260727296);
+emit_32(1095838571);
+emit_32(1115291648);
+emit_32(3259703309);
+emit_32(1094605760);
+emit_32(1115291648);
+emit_32(3258679296);
+emit_32(1092525459);
+emit_32(1115291648);
+emit_32(3257655309);
+emit_32(1092767082);
+emit_32(1115291648);
+emit_32(3256631296);
+emit_32(1093983535);
+emit_32(1115291648);
+emit_32(3255607309);
+emit_32(1095249271);
+emit_32(1115291648);
+emit_32(3254386688);
+emit_32(1096927937);
+emit_32(1115291648);
+emit_32(3252338714);
+emit_32(1098207724);
+emit_32(1115291648);
+emit_32(3250290688);
+emit_32(1099233441);
+emit_32(1115291648);
+emit_32(3248242714);
+emit_32(1099875956);
+emit_32(1115291648);
+emit_32(3245998080);
+emit_32(1100637117);
+emit_32(1115291648);
+emit_32(3241902132);
+emit_32(1101503817);
+emit_32(1115291648);
+emit_32(3237609472);
+emit_32(1102802531);
+emit_32(1115291648);
+emit_32(3229220864);
+emit_32(1103593682);
+emit_32(1115291648);
+emit_32(0);
+emit_32(1104232317);
+emit_32(1115291648);
+emit_32(1081737216);
+emit_32(1104775951);
+emit_32(1115291648);
+emit_32(3279552512);
+emit_32(1082632448);
+emit_32(1114267661);
+emit_32(3279296528);
+emit_32(1083847999);
+emit_32(1114267661);
+emit_32(3279040545);
+emit_32(1083453043);
+emit_32(1114267661);
+emit_32(3278784496);
+emit_32(1084836240);
+emit_32(1114267661);
+emit_32(3278528512);
+emit_32(1087335416);
+emit_32(1114267661);
+emit_32(3278272528);
+emit_32(1088125267);
+emit_32(1114267661);
+emit_32(3278016545);
+emit_32(1091016904);
+emit_32(1114267661);
+emit_32(3277760496);
+emit_32(1091320320);
+emit_32(1114267661);
+emit_32(3277504512);
+emit_32(1091823731);
+emit_32(1114267661);
+emit_32(3277248528);
+emit_32(1092277020);
+emit_32(1114267661);
+emit_32(3276992545);
+emit_32(1093461659);
+emit_32(1114267661);
+emit_32(3276736496);
+emit_32(1095052768);
+emit_32(1114267661);
+emit_32(3276480512);
+emit_32(1095490234);
+emit_32(1114267661);
+emit_32(3276224528);
+emit_32(1095508899);
+emit_32(1114267661);
+emit_32(3275968545);
+emit_32(1097193541);
+emit_32(1114267661);
+emit_32(3275712496);
+emit_32(1098984561);
+emit_32(1114267661);
+emit_32(3275456512);
+emit_32(1099457574);
+emit_32(1114267661);
+emit_32(3275200528);
+emit_32(1100590141);
+emit_32(1114267661);
+emit_32(3274944545);
+emit_32(1101940969);
+emit_32(1114267661);
+emit_32(3274688496);
+emit_32(1103512417);
+emit_32(1114267661);
+emit_32(3274432512);
+emit_32(1104276147);
+emit_32(1114267661);
+emit_32(3274176528);
+emit_32(1104819310);
+emit_32(1114267661);
+emit_32(3273920545);
+emit_32(1105352144);
+emit_32(1114267661);
+emit_32(3273664496);
+emit_32(1106559369);
+emit_32(1114267661);
+emit_32(3273408512);
+emit_32(1107364859);
+emit_32(1114267661);
+emit_32(3273152528);
+emit_32(1107533470);
+emit_32(1114267661);
+emit_32(3272896545);
+emit_32(1107506024);
+emit_32(1114267661);
+emit_32(3272640496);
+emit_32(1107420801);
+emit_32(1114267661);
+emit_32(3272384512);
+emit_32(1107402398);
+emit_32(1114267661);
+emit_32(3272128528);
+emit_32(1107706013);
+emit_32(1114267661);
+emit_32(3271872545);
+emit_32(1107658749);
+emit_32(1114267661);
+emit_32(3271616496);
+emit_32(1107586292);
+emit_32(1114267661);
+emit_32(3271163904);
+emit_32(1107376315);
+emit_32(1114267661);
+emit_32(3270651937);
+emit_32(1107428560);
+emit_32(1114267661);
+emit_32(3270139970);
+emit_32(1107381348);
+emit_32(1114267661);
+emit_32(3269627871);
+emit_32(1107411416);
+emit_32(1114267661);
+emit_32(3269115904);
+emit_32(1107441222);
+emit_32(1114267661);
+emit_32(3268603937);
+emit_32(1107539552);
+emit_32(1114267661);
+emit_32(3268091970);
+emit_32(1107219658);
+emit_32(1114267661);
+emit_32(3267579911);
+emit_32(1106732804);
+emit_32(1114267661);
+emit_32(3267067904);
+emit_32(1106474592);
+emit_32(1114267661);
+emit_32(3266555911);
+emit_32(1105371857);
+emit_32(1114267661);
+emit_32(3266043904);
+emit_32(1103908989);
+emit_32(1114267661);
+emit_32(3265531911);
+emit_32(1102613892);
+emit_32(1114267661);
+emit_32(3265019904);
+emit_32(1101793853);
+emit_32(1114267661);
+emit_32(3264507911);
+emit_32(1101568305);
+emit_32(1114267661);
+emit_32(3263995904);
+emit_32(1100542693);
+emit_32(1114267661);
+emit_32(3263483911);
+emit_32(1099317327);
+emit_32(1114267661);
+emit_32(3262775296);
+emit_32(1098087557);
+emit_32(1114267661);
+emit_32(3261751309);
+emit_32(1096945867);
+emit_32(1114267661);
+emit_32(3260727296);
+emit_32(1096008440);
+emit_32(1114267661);
+emit_32(3259703309);
+emit_32(1094604292);
+emit_32(1114267661);
+emit_32(3258679296);
+emit_32(1093760293);
+emit_32(1114267661);
+emit_32(3257655309);
+emit_32(1095498203);
+emit_32(1114267661);
+emit_32(3256631296);
+emit_32(1096500642);
+emit_32(1114267661);
+emit_32(3255607309);
+emit_32(1097453063);
+emit_32(1114267661);
+emit_32(3254386688);
+emit_32(1098431594);
+emit_32(1114267661);
+emit_32(3252338714);
+emit_32(1099318061);
+emit_32(1114267661);
+emit_32(3250290688);
+emit_32(1100353529);
+emit_32(1114267661);
+emit_32(3248242714);
+emit_32(1100897373);
+emit_32(1114267661);
+emit_32(3245998080);
+emit_32(1101979661);
+emit_32(1114267661);
+emit_32(3241902132);
+emit_32(1102434481);
+emit_32(1114267661);
+emit_32(3237609472);
+emit_32(1103617327);
+emit_32(1114267661);
+emit_32(3229220864);
+emit_32(1104375972);
+emit_32(1114267661);
+emit_32(0);
+emit_32(1104908963);
+emit_32(1114267661);
+emit_32(1081737216);
+emit_32(1105382343);
+emit_32(1114267661);
+emit_32(3279552512);
+emit_32(1080567970);
+emit_32(1113243648);
+emit_32(3279296528);
+emit_32(1081431200);
+emit_32(1113243648);
+emit_32(3279040545);
+emit_32(1083053640);
+emit_32(1113243648);
+emit_32(3278784496);
+emit_32(1084804594);
+emit_32(1113243648);
+emit_32(3278528512);
+emit_32(1089344530);
+emit_32(1113243648);
+emit_32(3278272528);
+emit_32(1089662899);
+emit_32(1113243648);
+emit_32(3278016545);
+emit_32(1090822970);
+emit_32(1113243648);
+emit_32(3277760496);
+emit_32(1092219662);
+emit_32(1113243648);
+emit_32(3277504512);
+emit_32(1093309615);
+emit_32(1113243648);
+emit_32(3277248528);
+emit_32(1093760608);
+emit_32(1113243648);
+emit_32(3276992545);
+emit_32(1094942563);
+emit_32(1113243648);
+emit_32(3276736496);
+emit_32(1095970062);
+emit_32(1113243648);
+emit_32(3276480512);
+emit_32(1096808609);
+emit_32(1113243648);
+emit_32(3276224528);
+emit_32(1097144677);
+emit_32(1113243648);
+emit_32(3275968545);
+emit_32(1097732299);
+emit_32(1113243648);
+emit_32(3275712496);
+emit_32(1099213255);
+emit_32(1113243648);
+emit_32(3275456512);
+emit_32(1100077335);
+emit_32(1113243648);
+emit_32(3275200528);
+emit_32(1101037358);
+emit_32(1113243648);
+emit_32(3274944545);
+emit_32(1102522142);
+emit_32(1113243648);
+emit_32(3274688496);
+emit_32(1103670333);
+emit_32(1113243648);
+emit_32(3274432512);
+emit_32(1104447013);
+emit_32(1113243648);
+emit_32(3274176528);
+emit_32(1104860519);
+emit_32(1113243648);
+emit_32(3273920545);
+emit_32(1105841200);
+emit_32(1113243648);
+emit_32(3273664496);
+emit_32(1106724782);
+emit_32(1113243648);
+emit_32(3273408512);
+emit_32(1107646900);
+emit_32(1113243648);
+emit_32(3273152528);
+emit_32(1107527152);
+emit_32(1113243648);
+emit_32(3272896545);
+emit_32(1107447854);
+emit_32(1113243648);
+emit_32(3272640496);
+emit_32(1107457160);
+emit_32(1113243648);
+emit_32(3272384512);
+emit_32(1107532238);
+emit_32(1113243648);
+emit_32(3272128528);
+emit_32(1107881152);
+emit_32(1113243648);
+emit_32(3271872545);
+emit_32(1107776897);
+emit_32(1113243648);
+emit_32(3271616496);
+emit_32(1107520258);
+emit_32(1113243648);
+emit_32(3271163904);
+emit_32(1107733591);
+emit_32(1113243648);
+emit_32(3270651937);
+emit_32(1107557168);
+emit_32(1113243648);
+emit_32(3270139970);
+emit_32(1107429845);
+emit_32(1113243648);
+emit_32(3269627871);
+emit_32(1107409161);
+emit_32(1113243648);
+emit_32(3269115904);
+emit_32(1107202618);
+emit_32(1113243648);
+emit_32(3268603937);
+emit_32(1107218137);
+emit_32(1113243648);
+emit_32(3268091970);
+emit_32(1107106621);
+emit_32(1113243648);
+emit_32(3267579911);
+emit_32(1106476217);
+emit_32(1113243648);
+emit_32(3267067904);
+emit_32(1105687006);
+emit_32(1113243648);
+emit_32(3266555911);
+emit_32(1104462742);
+emit_32(1113243648);
+emit_32(3266043904);
+emit_32(1103481222);
+emit_32(1113243648);
+emit_32(3265531911);
+emit_32(1102608859);
+emit_32(1113243648);
+emit_32(3265019904);
+emit_32(1101715630);
+emit_32(1113243648);
+emit_32(3264507911);
+emit_32(1101203400);
+emit_32(1113243648);
+emit_32(3263995904);
+emit_32(1100648337);
+emit_32(1113243648);
+emit_32(3263483911);
+emit_32(1099410807);
+emit_32(1113243648);
+emit_32(3262775296);
+emit_32(1097508009);
+emit_32(1113243648);
+emit_32(3261751309);
+emit_32(1097324193);
+emit_32(1113243648);
+emit_32(3260727296);
+emit_32(1096121791);
+emit_32(1113243648);
+emit_32(3259703309);
+emit_32(1095057906);
+emit_32(1113243648);
+emit_32(3258679296);
+emit_32(1095394709);
+emit_32(1113243648);
+emit_32(3257655309);
+emit_32(1097088473);
+emit_32(1113243648);
+emit_32(3256631296);
+emit_32(1098581226);
+emit_32(1113243648);
+emit_32(3255607309);
+emit_32(1099014498);
+emit_32(1113243648);
+emit_32(3254386688);
+emit_32(1099554462);
+emit_32(1113243648);
+emit_32(3252338714);
+emit_32(1100356151);
+emit_32(1113243648);
+emit_32(3250290688);
+emit_32(1101134404);
+emit_32(1113243648);
+emit_32(3248242714);
+emit_32(1101886076);
+emit_32(1113243648);
+emit_32(3245998080);
+emit_32(1103145992);
+emit_32(1113243648);
+emit_32(3241902132);
+emit_32(1103709182);
+emit_32(1113243648);
+emit_32(3237609472);
+emit_32(1104517530);
+emit_32(1113243648);
+emit_32(3229220864);
+emit_32(1104959033);
+emit_32(1113243648);
+emit_32(0);
+emit_32(1105369183);
+emit_32(1113243648);
+emit_32(1081737216);
+emit_32(1105831238);
+emit_32(1113243648);
+emit_32(3279552512);
+emit_32(1081067470);
+emit_32(1112219661);
+emit_32(3279296528);
+emit_32(1081676273);
+emit_32(1112219661);
+emit_32(3279040545);
+emit_32(1082388277);
+emit_32(1112219661);
+emit_32(3278784496);
+emit_32(1084582317);
+emit_32(1112219661);
+emit_32(3278528512);
+emit_32(1086962144);
+emit_32(1112219661);
+emit_32(3278272528);
+emit_32(1088882737);
+emit_32(1112219661);
+emit_32(3278016545);
+emit_32(1091161282);
+emit_32(1112219661);
+emit_32(3277760496);
+emit_32(1092751983);
+emit_32(1112219661);
+emit_32(3277504512);
+emit_32(1095008308);
+emit_32(1112219661);
+emit_32(3277248528);
+emit_32(1095060318);
+emit_32(1112219661);
+emit_32(3276992545);
+emit_32(1096171599);
+emit_32(1112219661);
+emit_32(3276736496);
+emit_32(1096970718);
+emit_32(1112219661);
+emit_32(3276480512);
+emit_32(1096845518);
+emit_32(1112219661);
+emit_32(3276224528);
+emit_32(1097664037);
+emit_32(1112219661);
+emit_32(3275968545);
+emit_32(1099269407);
+emit_32(1112219661);
+emit_32(3275712496);
+emit_32(1099766956);
+emit_32(1112219661);
+emit_32(3275456512);
+emit_32(1100617351);
+emit_32(1112219661);
+emit_32(3275200528);
+emit_32(1101396967);
+emit_32(1112219661);
+emit_32(3274944545);
+emit_32(1102752933);
+emit_32(1112219661);
+emit_32(3274688496);
+emit_32(1103879838);
+emit_32(1112219661);
+emit_32(3274432512);
+emit_32(1104593866);
+emit_32(1112219661);
+emit_32(3274176528);
+emit_32(1105083131);
+emit_32(1112219661);
+emit_32(3273920545);
+emit_32(1106256803);
+emit_32(1112219661);
+emit_32(3273664496);
+emit_32(1106808091);
+emit_32(1112219661);
+emit_32(3273408512);
+emit_32(1107450869);
+emit_32(1112219661);
+emit_32(3273152528);
+emit_32(1107444944);
+emit_32(1112219661);
+emit_32(3272896545);
+emit_32(1107418258);
+emit_32(1112219661);
+emit_32(3272640496);
+emit_32(1107742425);
+emit_32(1112219661);
+emit_32(3272384512);
+emit_32(1108019590);
+emit_32(1112219661);
+emit_32(3272128528);
+emit_32(1107796584);
+emit_32(1112219661);
+emit_32(3271872545);
+emit_32(1107736920);
+emit_32(1112219661);
+emit_32(3271616496);
+emit_32(1107725360);
+emit_32(1112219661);
+emit_32(3271163904);
+emit_32(1107830270);
+emit_32(1112219661);
+emit_32(3270651937);
+emit_32(1107833101);
+emit_32(1112219661);
+emit_32(3270139970);
+emit_32(1107955024);
+emit_32(1112219661);
+emit_32(3269627871);
+emit_32(1107743788);
+emit_32(1112219661);
+emit_32(3269115904);
+emit_32(1107368686);
+emit_32(1112219661);
+emit_32(3268603937);
+emit_32(1107312194);
+emit_32(1112219661);
+emit_32(3268091970);
+emit_32(1106815641);
+emit_32(1112219661);
+emit_32(3267579911);
+emit_32(1106204059);
+emit_32(1112219661);
+emit_32(3267067904);
+emit_32(1105597773);
+emit_32(1112219661);
+emit_32(3266555911);
+emit_32(1104651905);
+emit_32(1112219661);
+emit_32(3266043904);
+emit_32(1103516559);
+emit_32(1112219661);
+emit_32(3265531911);
+emit_32(1102993162);
+emit_32(1112219661);
+emit_32(3265019904);
+emit_32(1101898029);
+emit_32(1112219661);
+emit_32(3264507911);
+emit_32(1100758804);
+emit_32(1112219661);
+emit_32(3263995904);
+emit_32(1100657040);
+emit_32(1112219661);
+emit_32(3263483911);
+emit_32(1099876637);
+emit_32(1112219661);
+emit_32(3262775296);
+emit_32(1097071696);
+emit_32(1112219661);
+emit_32(3261751309);
+emit_32(1097587910);
+emit_32(1112219661);
+emit_32(3260727296);
+emit_32(1096851915);
+emit_32(1112219661);
+emit_32(3259703309);
+emit_32(1095734447);
+emit_32(1112219661);
+emit_32(3258679296);
+emit_32(1096755026);
+emit_32(1112219661);
+emit_32(3257655309);
+emit_32(1098731382);
+emit_32(1112219661);
+emit_32(3256631296);
+emit_32(1099251896);
+emit_32(1112219661);
+emit_32(3255607309);
+emit_32(1099497577);
+emit_32(1112219661);
+emit_32(3254386688);
+emit_32(1100323121);
+emit_32(1112219661);
+emit_32(3252338714);
+emit_32(1101464601);
+emit_32(1112219661);
+emit_32(3250290688);
+emit_32(1102066431);
+emit_32(1112219661);
+emit_32(3248242714);
+emit_32(1102544581);
+emit_32(1112219661);
+emit_32(3245998080);
+emit_32(1103985902);
+emit_32(1112219661);
+emit_32(3241902132);
+emit_32(1104242698);
+emit_32(1112219661);
+emit_32(3237609472);
+emit_32(1105399801);
+emit_32(1112219661);
+emit_32(3229220864);
+emit_32(1105617119);
+emit_32(1112219661);
+emit_32(0);
+emit_32(1106104864);
+emit_32(1112219661);
+emit_32(1081737216);
+emit_32(1106473438);
+emit_32(1112219661);
+emit_32(3279552512);
+emit_32(1080840432);
+emit_32(1111195648);
+emit_32(3279296528);
+emit_32(1081651568);
+emit_32(1111195648);
+emit_32(3279040545);
+emit_32(1082066175);
+emit_32(1111195648);
+emit_32(3278784496);
+emit_32(1084264746);
+emit_32(1111195648);
+emit_32(3278528512);
+emit_32(1088920821);
+emit_32(1111195648);
+emit_32(3278272528);
+emit_32(1090060120);
+emit_32(1111195648);
+emit_32(3278016545);
+emit_32(1091098882);
+emit_32(1111195648);
+emit_32(3277760496);
+emit_32(1092897630);
+emit_32(1111195648);
+emit_32(3277504512);
+emit_32(1093865780);
+emit_32(1111195648);
+emit_32(3277248528);
+emit_32(1095144309);
+emit_32(1111195648);
+emit_32(3276992545);
+emit_32(1096518363);
+emit_32(1111195648);
+emit_32(3276736496);
+emit_32(1097299342);
+emit_32(1111195648);
+emit_32(3276480512);
+emit_32(1098421109);
+emit_32(1111195648);
+emit_32(3276224528);
+emit_32(1098491888);
+emit_32(1111195648);
+emit_32(3275968545);
+emit_32(1099350986);
+emit_32(1111195648);
+emit_32(3275712496);
+emit_32(1100200332);
+emit_32(1111195648);
+emit_32(3275456512);
+emit_32(1100698092);
+emit_32(1111195648);
+emit_32(3275200528);
+emit_32(1101450655);
+emit_32(1111195648);
+emit_32(3274944545);
+emit_32(1103069866);
+emit_32(1111195648);
+emit_32(3274688496);
+emit_32(1104305508);
+emit_32(1111195648);
+emit_32(3274432512);
+emit_32(1105027557);
+emit_32(1111195648);
+emit_32(3274176528);
+emit_32(1105330019);
+emit_32(1111195648);
+emit_32(3273920545);
+emit_32(1106064336);
+emit_32(1111195648);
+emit_32(3273664496);
+emit_32(1107261863);
+emit_32(1111195648);
+emit_32(3273408512);
+emit_32(1107667531);
+emit_32(1111195648);
+emit_32(3273152528);
+emit_32(1107670598);
+emit_32(1111195648);
+emit_32(3272896545);
+emit_32(1107641159);
+emit_32(1111195648);
+emit_32(3272640496);
+emit_32(1107722528);
+emit_32(1111195648);
+emit_32(3272384512);
+emit_32(1108132181);
+emit_32(1111195648);
+emit_32(3272128528);
+emit_32(1108041636);
+emit_32(1111195648);
+emit_32(3271872545);
+emit_32(1107852499);
+emit_32(1111195648);
+emit_32(3271616496);
+emit_32(1107940187);
+emit_32(1111195648);
+emit_32(3271163904);
+emit_32(1108075584);
+emit_32(1111195648);
+emit_32(3270651937);
+emit_32(1108051519);
+emit_32(1111195648);
+emit_32(3270139970);
+emit_32(1108131185);
+emit_32(1111195648);
+emit_32(3269627871);
+emit_32(1107856720);
+emit_32(1111195648);
+emit_32(3269115904);
+emit_32(1107481775);
+emit_32(1111195648);
+emit_32(3268603937);
+emit_32(1107354426);
+emit_32(1111195648);
+emit_32(3268091970);
+emit_32(1106901729);
+emit_32(1111195648);
+emit_32(3267579911);
+emit_32(1106228648);
+emit_32(1111195648);
+emit_32(3267067904);
+emit_32(1105262753);
+emit_32(1111195648);
+emit_32(3266555911);
+emit_32(1104721425);
+emit_32(1111195648);
+emit_32(3266043904);
+emit_32(1103674474);
+emit_32(1111195648);
+emit_32(3265531911);
+emit_32(1102786488);
+emit_32(1111195648);
+emit_32(3265019904);
+emit_32(1102197555);
+emit_32(1111195648);
+emit_32(3264507911);
+emit_32(1100931295);
+emit_32(1111195648);
+emit_32(3263995904);
+emit_32(1100417440);
+emit_32(1111195648);
+emit_32(3263483911);
+emit_32(1099561330);
+emit_32(1111195648);
+emit_32(3262775296);
+emit_32(1098381787);
+emit_32(1111195648);
+emit_32(3261751309);
+emit_32(1097372218);
+emit_32(1111195648);
+emit_32(3260727296);
+emit_32(1097540724);
+emit_32(1111195648);
+emit_32(3259703309);
+emit_32(1096128502);
+emit_32(1111195648);
+emit_32(3258679296);
+emit_32(1098525337);
+emit_32(1111195648);
+emit_32(3257655309);
+emit_32(1099283929);
+emit_32(1111195648);
+emit_32(3256631296);
+emit_32(1099669281);
+emit_32(1111195648);
+emit_32(3255607309);
+emit_32(1100104388);
+emit_32(1111195648);
+emit_32(3254386688);
+emit_32(1101177448);
+emit_32(1111195648);
+emit_32(3252338714);
+emit_32(1102411989);
+emit_32(1111195648);
+emit_32(3250290688);
+emit_32(1102859731);
+emit_32(1111195648);
+emit_32(3248242714);
+emit_32(1103261650);
+emit_32(1111195648);
+emit_32(3245998080);
+emit_32(1104208881);
+emit_32(1111195648);
+emit_32(3241902132);
+emit_32(1104930721);
+emit_32(1111195648);
+emit_32(3237609472);
+emit_32(1105910668);
+emit_32(1111195648);
+emit_32(3229220864);
+emit_32(1106135482);
+emit_32(1111195648);
+emit_32(0);
+emit_32(1106438364);
+emit_32(1111195648);
+emit_32(1081737216);
+emit_32(1106707585);
+emit_32(1111195648);
+emit_32(3279552512);
+emit_32(1082299945);
+emit_32(1110171661);
+emit_32(3279296528);
+emit_32(1082335492);
+emit_32(1110171661);
+emit_32(3279040545);
+emit_32(1081611639);
+emit_32(1110171661);
+emit_32(3278784496);
+emit_32(1084483730);
+emit_32(1110171661);
+emit_32(3278528512);
+emit_32(1087813567);
+emit_32(1110171661);
+emit_32(3278272528);
+emit_32(1090011655);
+emit_32(1110171661);
+emit_32(3278016545);
+emit_32(1090662443);
+emit_32(1110171661);
+emit_32(3277760496);
+emit_32(1091411913);
+emit_32(1110171661);
+emit_32(3277504512);
+emit_32(1093599547);
+emit_32(1110171661);
+emit_32(3277248528);
+emit_32(1095137283);
+emit_32(1110171661);
+emit_32(3276992545);
+emit_32(1096248040);
+emit_32(1110171661);
+emit_32(3276736496);
+emit_32(1097581409);
+emit_32(1110171661);
+emit_32(3276480512);
+emit_32(1098493460);
+emit_32(1110171661);
+emit_32(3276224528);
+emit_32(1098645189);
+emit_32(1110171661);
+emit_32(3275968545);
+emit_32(1099528405);
+emit_32(1110171661);
+emit_32(3275712496);
+emit_32(1100673398);
+emit_32(1110171661);
+emit_32(3275456512);
+emit_32(1101618269);
+emit_32(1110171661);
+emit_32(3275200528);
+emit_32(1102431073);
+emit_32(1110171661);
+emit_32(3274944545);
+emit_32(1103528093);
+emit_32(1110171661);
+emit_32(3274688496);
+emit_32(1104554597);
+emit_32(1110171661);
+emit_32(3274432512);
+emit_32(1105069133);
+emit_32(1110171661);
+emit_32(3274176528);
+emit_32(1105654658);
+emit_32(1110171661);
+emit_32(3273920545);
+emit_32(1106835145);
+emit_32(1110171661);
+emit_32(3273664496);
+emit_32(1107634160);
+emit_32(1110171661);
+emit_32(3273408512);
+emit_32(1107894338);
+emit_32(1110171661);
+emit_32(3273152528);
+emit_32(1107815222);
+emit_32(1110171661);
+emit_32(3272896545);
+emit_32(1107886788);
+emit_32(1110171661);
+emit_32(3272640496);
+emit_32(1107869984);
+emit_32(1110171661);
+emit_32(3272384512);
+emit_32(1108048085);
+emit_32(1110171661);
+emit_32(3272128528);
+emit_32(1108254890);
+emit_32(1110171661);
+emit_32(3271872545);
+emit_32(1108213734);
+emit_32(1110171661);
+emit_32(3271616496);
+emit_32(1108197324);
+emit_32(1110171661);
+emit_32(3271163904);
+emit_32(1108442612);
+emit_32(1110171661);
+emit_32(3270651937);
+emit_32(1108195515);
+emit_32(1110171661);
+emit_32(3270139970);
+emit_32(1107913422);
+emit_32(1110171661);
+emit_32(3269627871);
+emit_32(1108099754);
+emit_32(1110171661);
+emit_32(3269115904);
+emit_32(1107690809);
+emit_32(1110171661);
+emit_32(3268603937);
+emit_32(1107419726);
+emit_32(1110171661);
+emit_32(3268091970);
+emit_32(1106916881);
+emit_32(1110171661);
+emit_32(3267579911);
+emit_32(1106123581);
+emit_32(1110171661);
+emit_32(3267067904);
+emit_32(1105152285);
+emit_32(1110171661);
+emit_32(3266555911);
+emit_32(1104426985);
+emit_32(1110171661);
+emit_32(3266043904);
+emit_32(1103754376);
+emit_32(1110171661);
+emit_32(3265531911);
+emit_32(1102897113);
+emit_32(1110171661);
+emit_32(3265019904);
+emit_32(1102036808);
+emit_32(1110171661);
+emit_32(3264507911);
+emit_32(1100742237);
+emit_32(1110171661);
+emit_32(3263995904);
+emit_32(1099863477);
+emit_32(1110171661);
+emit_32(3263483911);
+emit_32(1099645950);
+emit_32(1110171661);
+emit_32(3262775296);
+emit_32(1099481114);
+emit_32(1110171661);
+emit_32(3261751309);
+emit_32(1098210135);
+emit_32(1110171661);
+emit_32(3260727296);
+emit_32(1097645582);
+emit_32(1110171661);
+emit_32(3259703309);
+emit_32(1097853619);
+emit_32(1110171661);
+emit_32(3258679296);
+emit_32(1099526675);
+emit_32(1110171661);
+emit_32(3257655309);
+emit_32(1100018090);
+emit_32(1110171661);
+emit_32(3256631296);
+emit_32(1100522927);
+emit_32(1110171661);
+emit_32(3255607309);
+emit_32(1100845993);
+emit_32(1110171661);
+emit_32(3254386688);
+emit_32(1101870924);
+emit_32(1110171661);
+emit_32(3252338714);
+emit_32(1102805362);
+emit_32(1110171661);
+emit_32(3250290688);
+emit_32(1103401216);
+emit_32(1110171661);
+emit_32(3248242714);
+emit_32(1103731255);
+emit_32(1110171661);
+emit_32(3245998080);
+emit_32(1104590458);
+emit_32(1110171661);
+emit_32(3241902132);
+emit_32(1105688946);
+emit_32(1110171661);
+emit_32(3237609472);
+emit_32(1106199393);
+emit_32(1110171661);
+emit_32(3229220864);
+emit_32(1106912477);
+emit_32(1110171661);
+emit_32(0);
+emit_32(1106977279);
+emit_32(1110171661);
+emit_32(1081737216);
+emit_32(1107240944);
+emit_32(1110171661);
+emit_32(3279552512);
+emit_32(1082717131);
+emit_32(1109147648);
+emit_32(3279296528);
+emit_32(1082557014);
+emit_32(1109147648);
+emit_32(3279040545);
+emit_32(1081304070);
+emit_32(1109147648);
+emit_32(3278784496);
+emit_32(1083792278);
+emit_32(1109147648);
+emit_32(3278528512);
+emit_32(1085314873);
+emit_32(1109147648);
+emit_32(3278272528);
+emit_32(1088245664);
+emit_32(1109147648);
+emit_32(3278016545);
+emit_32(1090788797);
+emit_32(1109147648);
+emit_32(3277760496);
+emit_32(1091410718);
+emit_32(1109147648);
+emit_32(3277504512);
+emit_32(1092169803);
+emit_32(1109147648);
+emit_32(3277248528);
+emit_32(1094073608);
+emit_32(1109147648);
+emit_32(3276992545);
+emit_32(1095322147);
+emit_32(1109147648);
+emit_32(3276736496);
+emit_32(1097073584);
+emit_32(1109147648);
+emit_32(3276480512);
+emit_32(1097631321);
+emit_32(1109147648);
+emit_32(3276224528);
+emit_32(1098886781);
+emit_32(1109147648);
+emit_32(3275968545);
+emit_32(1099653448);
+emit_32(1109147648);
+emit_32(3275712496);
+emit_32(1100796029);
+emit_32(1109147648);
+emit_32(3275456512);
+emit_32(1102110786);
+emit_32(1109147648);
+emit_32(3275200528);
+emit_32(1103014553);
+emit_32(1109147648);
+emit_32(3274944545);
+emit_32(1103661420);
+emit_32(1109147648);
+emit_32(3274688496);
+emit_32(1104730758);
+emit_32(1109147648);
+emit_32(3274432512);
+emit_32(1105461248);
+emit_32(1109147648);
+emit_32(3274176528);
+emit_32(1106228019);
+emit_32(1109147648);
+emit_32(3273920545);
+emit_32(1107398361);
+emit_32(1109147648);
+emit_32(3273664496);
+emit_32(1107773987);
+emit_32(1109147648);
+emit_32(3273408512);
+emit_32(1107908336);
+emit_32(1109147648);
+emit_32(3273152528);
+emit_32(1107942729);
+emit_32(1109147648);
+emit_32(3272896545);
+emit_32(1108010231);
+emit_32(1109147648);
+emit_32(3272640496);
+emit_32(1107850140);
+emit_32(1109147648);
+emit_32(3272384512);
+emit_32(1108057339);
+emit_32(1109147648);
+emit_32(3272128528);
+emit_32(1108245977);
+emit_32(1109147648);
+emit_32(3271872545);
+emit_32(1108269937);
+emit_32(1109147648);
+emit_32(3271616496);
+emit_32(1108532291);
+emit_32(1109147648);
+emit_32(3271163904);
+emit_32(1108595809);
+emit_32(1109147648);
+emit_32(3270651937);
+emit_32(1108363942);
+emit_32(1109147648);
+emit_32(3270139970);
+emit_32(1108139599);
+emit_32(1109147648);
+emit_32(3269627871);
+emit_32(1108065465);
+emit_32(1109147648);
+emit_32(3269115904);
+emit_32(1107970150);
+emit_32(1109147648);
+emit_32(3268603937);
+emit_32(1107690678);
+emit_32(1109147648);
+emit_32(3268091970);
+emit_32(1106957042);
+emit_32(1109147648);
+emit_32(3267579911);
+emit_32(1106262517);
+emit_32(1109147648);
+emit_32(3267067904);
+emit_32(1105527937);
+emit_32(1109147648);
+emit_32(3266555911);
+emit_32(1104380638);
+emit_32(1109147648);
+emit_32(3266043904);
+emit_32(1103529719);
+emit_32(1109147648);
+emit_32(3265531911);
+emit_32(1102593130);
+emit_32(1109147648);
+emit_32(3265019904);
+emit_32(1101585816);
+emit_32(1109147648);
+emit_32(3264507911);
+emit_32(1100545471);
+emit_32(1109147648);
+emit_32(3263995904);
+emit_32(1100004144);
+emit_32(1109147648);
+emit_32(3263483911);
+emit_32(1099601124);
+emit_32(1109147648);
+emit_32(3262775296);
+emit_32(1099485518);
+emit_32(1109147648);
+emit_32(3261751309);
+emit_32(1099132987);
+emit_32(1109147648);
+emit_32(3260727296);
+emit_32(1098562037);
+emit_32(1109147648);
+emit_32(3259703309);
+emit_32(1099204605);
+emit_32(1109147648);
+emit_32(3258679296);
+emit_32(1100206834);
+emit_32(1109147648);
+emit_32(3257655309);
+emit_32(1100697777);
+emit_32(1109147648);
+emit_32(3256631296);
+emit_32(1100970774);
+emit_32(1109147648);
+emit_32(3255607309);
+emit_32(1101185522);
+emit_32(1109147648);
+emit_32(3254386688);
+emit_32(1102281336);
+emit_32(1109147648);
+emit_32(3252338714);
+emit_32(1103401478);
+emit_32(1109147648);
+emit_32(3250290688);
+emit_32(1103912763);
+emit_32(1109147648);
+emit_32(3248242714);
+emit_32(1104404808);
+emit_32(1109147648);
+emit_32(3245998080);
+emit_32(1105352196);
+emit_32(1109147648);
+emit_32(3241902132);
+emit_32(1106248519);
+emit_32(1109147648);
+emit_32(3237609472);
+emit_32(1107362631);
+emit_32(1109147648);
+emit_32(3229220864);
+emit_32(1107724259);
+emit_32(1109147648);
+emit_32(0);
+emit_32(1107777290);
+emit_32(1109147648);
+emit_32(1081737216);
+emit_32(1108060956);
+emit_32(1109147648);
+emit_32(3279552512);
+emit_32(1081790232);
+emit_32(1108123661);
+emit_32(3279296528);
+emit_32(1079535290);
+emit_32(1108123661);
+emit_32(3279040545);
+emit_32(1079065864);
+emit_32(1108123661);
+emit_32(3278784496);
+emit_32(1082272577);
+emit_32(1108123661);
+emit_32(3278528512);
+emit_32(1083963574);
+emit_32(1108123661);
+emit_32(3278272528);
+emit_32(1087349677);
+emit_32(1108123661);
+emit_32(3278016545);
+emit_32(1088785241);
+emit_32(1108123661);
+emit_32(3277760496);
+emit_32(1090741705);
+emit_32(1108123661);
+emit_32(3277504512);
+emit_32(1090749360);
+emit_32(1108123661);
+emit_32(3277248528);
+emit_32(1093053448);
+emit_32(1108123661);
+emit_32(3276992545);
+emit_32(1094660601);
+emit_32(1108123661);
+emit_32(3276736496);
+emit_32(1096196555);
+emit_32(1108123661);
+emit_32(3276480512);
+emit_32(1096902351);
+emit_32(1108123661);
+emit_32(3276224528);
+emit_32(1098391434);
+emit_32(1108123661);
+emit_32(3275968545);
+emit_32(1099380084);
+emit_32(1108123661);
+emit_32(3275712496);
+emit_32(1101235225);
+emit_32(1108123661);
+emit_32(3275456512);
+emit_32(1102578188);
+emit_32(1108123661);
+emit_32(3275200528);
+emit_32(1103112385);
+emit_32(1108123661);
+emit_32(3274944545);
+emit_32(1103997541);
+emit_32(1108123661);
+emit_32(3274688496);
+emit_32(1104833046);
+emit_32(1108123661);
+emit_32(3274432512);
+emit_32(1105701582);
+emit_32(1108123661);
+emit_32(3274176528);
+emit_32(1106849458);
+emit_32(1108123661);
+emit_32(3273920545);
+emit_32(1107522617);
+emit_32(1108123661);
+emit_32(3273664496);
+emit_32(1107703025);
+emit_32(1108123661);
+emit_32(3273408512);
+emit_32(1107971565);
+emit_32(1108123661);
+emit_32(3273152528);
+emit_32(1107971565);
+emit_32(1108123661);
+emit_32(3272896545);
+emit_32(1107873025);
+emit_32(1108123661);
+emit_32(3272640496);
+emit_32(1108008685);
+emit_32(1108123661);
+emit_32(3272384512);
+emit_32(1108230878);
+emit_32(1108123661);
+emit_32(3272128528);
+emit_32(1108292220);
+emit_32(1108123661);
+emit_32(3271872545);
+emit_32(1108636520);
+emit_32(1108123661);
+emit_32(3271616496);
+emit_32(1108671909);
+emit_32(1108123661);
+emit_32(3271163904);
+emit_32(1108573789);
+emit_32(1108123661);
+emit_32(3270651937);
+emit_32(1108191583);
+emit_32(1108123661);
+emit_32(3270139970);
+emit_32(1108044546);
+emit_32(1108123661);
+emit_32(3269627871);
+emit_32(1108195856);
+emit_32(1108123661);
+emit_32(3269115904);
+emit_32(1108061848);
+emit_32(1108123661);
+emit_32(3268603937);
+emit_32(1107692487);
+emit_32(1108123661);
+emit_32(3268091970);
+emit_32(1107358332);
+emit_32(1108123661);
+emit_32(3267579911);
+emit_32(1106436476);
+emit_32(1108123661);
+emit_32(3267067904);
+emit_32(1105876117);
+emit_32(1108123661);
+emit_32(3266555911);
+emit_32(1104926002);
+emit_32(1108123661);
+emit_32(3266043904);
+emit_32(1103527150);
+emit_32(1108123661);
+emit_32(3265531911);
+emit_32(1102838969);
+emit_32(1108123661);
+emit_32(3265019904);
+emit_32(1101768163);
+emit_32(1108123661);
+emit_32(3264507911);
+emit_32(1100951952);
+emit_32(1108123661);
+emit_32(3263995904);
+emit_32(1099817497);
+emit_32(1108123661);
+emit_32(3263483911);
+emit_32(1099592683);
+emit_32(1108123661);
+emit_32(3262775296);
+emit_32(1099523424);
+emit_32(1108123661);
+emit_32(3261751309);
+emit_32(1099184734);
+emit_32(1108123661);
+emit_32(3260727296);
+emit_32(1099580100);
+emit_32(1108123661);
+emit_32(3259703309);
+emit_32(1100319870);
+emit_32(1108123661);
+emit_32(3258679296);
+emit_32(1100702181);
+emit_32(1108123661);
+emit_32(3257655309);
+emit_32(1101110811);
+emit_32(1108123661);
+emit_32(3256631296);
+emit_32(1101752487);
+emit_32(1108123661);
+emit_32(3255607309);
+emit_32(1101832074);
+emit_32(1108123661);
+emit_32(3254386688);
+emit_32(1103107038);
+emit_32(1108123661);
+emit_32(3252338714);
+emit_32(1103861173);
+emit_32(1108123661);
+emit_32(3250290688);
+emit_32(1104152415);
+emit_32(1108123661);
+emit_32(3248242714);
+emit_32(1104902672);
+emit_32(1108123661);
+emit_32(3245998080);
+emit_32(1106376602);
+emit_32(1108123661);
+emit_32(3241902132);
+emit_32(1107508593);
+emit_32(1108123661);
+emit_32(3237609472);
+emit_32(1108028267);
+emit_32(1108123661);
+emit_32(3229220864);
+emit_32(1108316180);
+emit_32(1108123661);
+emit_32(0);
+emit_32(1108600553);
+emit_32(1108123661);
+emit_32(1081737216);
+emit_32(1109011386);
+emit_32(1108123661);
+emit_32(3279552512);
+emit_32(1074938711);
+emit_32(1106903040);
+emit_32(3279296528);
+emit_32(1070708671);
+emit_32(1106903040);
+emit_32(3279040545);
+emit_32(1075430996);
+emit_32(1106903040);
+emit_32(3278784496);
+emit_32(1078754772);
+emit_32(1106903040);
+emit_32(3278528512);
+emit_32(1082105015);
+emit_32(1106903040);
+emit_32(3278272528);
+emit_32(1084220747);
+emit_32(1106903040);
+emit_32(3278016545);
+emit_32(1085553718);
+emit_32(1106903040);
+emit_32(3277760496);
+emit_32(1088135228);
+emit_32(1106903040);
+emit_32(3277504512);
+emit_32(1089208635);
+emit_32(1106903040);
+emit_32(3277248528);
+emit_32(1091931860);
+emit_32(1106903040);
+emit_32(3276992545);
+emit_32(1094402336);
+emit_32(1106903040);
+emit_32(3276736496);
+emit_32(1096213751);
+emit_32(1106903040);
+emit_32(3276480512);
+emit_32(1097279629);
+emit_32(1106903040);
+emit_32(3276224528);
+emit_32(1098783601);
+emit_32(1106903040);
+emit_32(3275968545);
+emit_32(1099888067);
+emit_32(1106903040);
+emit_32(3275712496);
+emit_32(1101525837);
+emit_32(1106903040);
+emit_32(3275456512);
+emit_32(1102857267);
+emit_32(1106903040);
+emit_32(3275200528);
+emit_32(1103317277);
+emit_32(1106903040);
+emit_32(3274944545);
+emit_32(1104193048);
+emit_32(1106903040);
+emit_32(3274688496);
+emit_32(1105188461);
+emit_32(1106903040);
+emit_32(3274432512);
+emit_32(1105975732);
+emit_32(1106903040);
+emit_32(3274176528);
+emit_32(1107142692);
+emit_32(1106903040);
+emit_32(3273920545);
+emit_32(1107580315);
+emit_32(1106903040);
+emit_32(3273664496);
+emit_32(1107715634);
+emit_32(1106903040);
+emit_32(3273408512);
+emit_32(1107697441);
+emit_32(1106903040);
+emit_32(3273152528);
+emit_32(1107818683);
+emit_32(1106903040);
+emit_32(3272896545);
+emit_32(1108195331);
+emit_32(1106903040);
+emit_32(3272640496);
+emit_32(1108463609);
+emit_32(1106903040);
+emit_32(3272384512);
+emit_32(1108323782);
+emit_32(1106903040);
+emit_32(3272128528);
+emit_32(1108524374);
+emit_32(1106903040);
+emit_32(3271872545);
+emit_32(1108820912);
+emit_32(1106903040);
+emit_32(3271616496);
+emit_32(1108768614);
+emit_32(1106903040);
+emit_32(3271163904);
+emit_32(1108591929);
+emit_32(1106903040);
+emit_32(3270651937);
+emit_32(1108250146);
+emit_32(1106903040);
+emit_32(3270139970);
+emit_32(1108083370);
+emit_32(1106903040);
+emit_32(3269627871);
+emit_32(1108183876);
+emit_32(1106903040);
+emit_32(3269115904);
+emit_32(1107985354);
+emit_32(1106903040);
+emit_32(3268603937);
+emit_32(1107793333);
+emit_32(1106903040);
+emit_32(3268091970);
+emit_32(1107344595);
+emit_32(1106903040);
+emit_32(3267579911);
+emit_32(1106660190);
+emit_32(1106903040);
+emit_32(3267067904);
+emit_32(1105863377);
+emit_32(1106903040);
+emit_32(3266555911);
+emit_32(1104810344);
+emit_32(1106903040);
+emit_32(3266043904);
+emit_32(1103848328);
+emit_32(1106903040);
+emit_32(3265531911);
+emit_32(1102592396);
+emit_32(1106903040);
+emit_32(3265019904);
+emit_32(1101769893);
+emit_32(1106903040);
+emit_32(3264507911);
+emit_32(1100719378);
+emit_32(1106903040);
+emit_32(3263995904);
+emit_32(1100007709);
+emit_32(1106903040);
+emit_32(3263483911);
+emit_32(1099495585);
+emit_32(1106903040);
+emit_32(3262775296);
+emit_32(1099523739);
+emit_32(1106903040);
+emit_32(3261751309);
+emit_32(1099506857);
+emit_32(1106903040);
+emit_32(3260727296);
+emit_32(1100188693);
+emit_32(1106903040);
+emit_32(3259703309);
+emit_32(1100974496);
+emit_32(1106903040);
+emit_32(3258679296);
+emit_32(1101640447);
+emit_32(1106903040);
+emit_32(3257655309);
+emit_32(1101639503);
+emit_32(1106903040);
+emit_32(3256631296);
+emit_32(1102123945);
+emit_32(1106903040);
+emit_32(3255607309);
+emit_32(1102739250);
+emit_32(1106903040);
+emit_32(3254386688);
+emit_32(1103471260);
+emit_32(1106903040);
+emit_32(3252338714);
+emit_32(1104291457);
+emit_32(1106903040);
+emit_32(3250290688);
+emit_32(1104973241);
+emit_32(1106903040);
+emit_32(3248242714);
+emit_32(1106462586);
+emit_32(1106903040);
+emit_32(3245998080);
+emit_32(1107570275);
+emit_32(1106903040);
+emit_32(3241902132);
+emit_32(1108078939);
+emit_32(1106903040);
+emit_32(3237609472);
+emit_32(1108626034);
+emit_32(1106903040);
+emit_32(3229220864);
+emit_32(1109189434);
+emit_32(1106903040);
+emit_32(0);
+emit_32(1109489300);
+emit_32(1106903040);
+emit_32(1081737216);
+emit_32(1109770397);
+emit_32(1106903040);
+emit_32(3279552512);
+emit_32(1056202922);
+emit_32(1104855066);
+emit_32(3279296528);
+emit_32(1059176634);
+emit_32(1104855066);
+emit_32(3279040545);
+emit_32(1067152489);
+emit_32(1104855066);
+emit_32(3278784496);
+emit_32(1069776361);
+emit_32(1104855066);
+emit_32(3278528512);
+emit_32(1076809790);
+emit_32(1104855066);
+emit_32(3278272528);
+emit_32(1080678154);
+emit_32(1104855066);
+emit_32(3278016545);
+emit_32(1084300292);
+emit_32(1104855066);
+emit_32(3277760496);
+emit_32(1086892330);
+emit_32(1104855066);
+emit_32(3277504512);
+emit_32(1089616510);
+emit_32(1104855066);
+emit_32(3277248528);
+emit_32(1092235758);
+emit_32(1104855066);
+emit_32(3276992545);
+emit_32(1094086505);
+emit_32(1104855066);
+emit_32(3276736496);
+emit_32(1095456260);
+emit_32(1104855066);
+emit_32(3276480512);
+emit_32(1097209794);
+emit_32(1104855066);
+emit_32(3276224528);
+emit_32(1098815478);
+emit_32(1104855066);
+emit_32(3275968545);
+emit_32(1099901331);
+emit_32(1104855066);
+emit_32(3275712496);
+emit_32(1101448138);
+emit_32(1104855066);
+emit_32(3275456512);
+emit_32(1102457340);
+emit_32(1104855066);
+emit_32(3275200528);
+emit_32(1103405724);
+emit_32(1104855014);
+emit_32(3274944545);
+emit_32(1104703652);
+emit_32(1104855066);
+emit_32(3274688496);
+emit_32(1105909409);
+emit_32(1104855014);
+emit_32(3274432512);
+emit_32(1106485392);
+emit_32(1104855066);
+emit_32(3274176528);
+emit_32(1107410708);
+emit_32(1104855014);
+emit_32(3273920545);
+emit_32(1107950751);
+emit_32(1104855066);
+emit_32(3273664496);
+emit_32(1108072569);
+emit_32(1104855014);
+emit_32(3273408512);
+emit_32(1108067090);
+emit_32(1104855066);
+emit_32(3273152528);
+emit_32(1108270514);
+emit_32(1104855014);
+emit_32(3272896545);
+emit_32(1108617121);
+emit_32(1104855066);
+emit_32(3272640496);
+emit_32(1108893604);
+emit_32(1104855014);
+emit_32(3272384512);
+emit_32(1108708478);
+emit_32(1104855066);
+emit_32(3272128528);
+emit_32(1108458498);
+emit_32(1104855014);
+emit_32(3271872545);
+emit_32(1108616544);
+emit_32(1104855066);
+emit_32(3271616496);
+emit_32(1108674898);
+emit_32(1104855014);
+emit_32(3271163904);
+emit_32(1108489064);
+emit_32(1104855066);
+emit_32(3270651937);
+emit_32(1108208884);
+emit_32(1104855014);
+emit_32(3270139970);
+emit_32(1108168330);
+emit_32(1104855066);
+emit_32(3269627871);
+emit_32(1107919032);
+emit_32(1104855014);
+emit_32(3269115904);
+emit_32(1107884900);
+emit_32(1104855066);
+emit_32(3268603937);
+emit_32(1107737995);
+emit_32(1104855014);
+emit_32(3268091970);
+emit_32(1107388714);
+emit_32(1104855066);
+emit_32(3267579911);
+emit_32(1106305876);
+emit_32(1104855014);
+emit_32(3267067904);
+emit_32(1105456634);
+emit_32(1104855066);
+emit_32(3266555911);
+emit_32(1104695683);
+emit_32(1104855014);
+emit_32(3266043904);
+emit_32(1103610459);
+emit_32(1104855066);
+emit_32(3265531911);
+emit_32(1102562093);
+emit_32(1104855014);
+emit_32(3265019904);
+emit_32(1101922409);
+emit_32(1104855066);
+emit_32(3264507911);
+emit_32(1100403809);
+emit_32(1104855066);
+emit_32(3263995904);
+emit_32(1100079589);
+emit_32(1104855066);
+emit_32(3263483911);
+emit_32(1100150630);
+emit_32(1104855066);
+emit_32(3262775296);
+emit_32(1100309489);
+emit_32(1104855066);
+emit_32(3261751309);
+emit_32(1100247676);
+emit_32(1104855066);
+emit_32(3260727296);
+emit_32(1100564555);
+emit_32(1104855066);
+emit_32(3259703309);
+emit_32(1101442528);
+emit_32(1104855066);
+emit_32(3258679296);
+emit_32(1101848484);
+emit_32(1104855066);
+emit_32(3257655309);
+emit_32(1102017567);
+emit_32(1104855014);
+emit_32(3256631296);
+emit_32(1102603144);
+emit_32(1104855066);
+emit_32(3255607309);
+emit_32(1103556772);
+emit_32(1104855014);
+emit_32(3254386688);
+emit_32(1103988313);
+emit_32(1104855066);
+emit_32(3252338714);
+emit_32(1105183113);
+emit_32(1104855014);
+emit_32(3250290688);
+emit_32(1106410471);
+emit_32(1104855066);
+emit_32(3248242714);
+emit_32(1107817844);
+emit_32(1104855014);
+emit_32(3245998080);
+emit_32(1108265874);
+emit_32(1104855066);
+emit_32(3241902132);
+emit_32(1108848489);
+emit_32(1104855014);
+emit_32(3237609472);
+emit_32(1109428929);
+emit_32(1104855066);
+emit_32(3229220864);
+emit_32(1109814464);
+emit_32(1104855014);
+emit_32(0);
+emit_32(1109989261);
+emit_32(1104855066);
+emit_32(1081737216);
+emit_32(1110109952);
+emit_32(1104855014);
+emit_32(3279552512);
+emit_32(1043753825);
+emit_32(1102807040);
+emit_32(3279296528);
+emit_32(1066019523);
+emit_32(1102807040);
+emit_32(3279040545);
+emit_32(1069754970);
+emit_32(1102807040);
+emit_32(3278784496);
+emit_32(1076201867);
+emit_32(1102807040);
+emit_32(3278528512);
+emit_32(1080094139);
+emit_32(1102807040);
+emit_32(3278272528);
+emit_32(1082614937);
+emit_32(1102807040);
+emit_32(3278016545);
+emit_32(1085915917);
+emit_32(1102807040);
+emit_32(3277760496);
+emit_32(1088968951);
+emit_32(1102807040);
+emit_32(3277504512);
+emit_32(1091412437);
+emit_32(1102807040);
+emit_32(3277248528);
+emit_32(1093562951);
+emit_32(1102807040);
+emit_32(3276992545);
+emit_32(1095461818);
+emit_32(1102807040);
+emit_32(3276736496);
+emit_32(1097780324);
+emit_32(1102807040);
+emit_32(3276480512);
+emit_32(1098541276);
+emit_32(1102807040);
+emit_32(3276224528);
+emit_32(1099184996);
+emit_32(1102807040);
+emit_32(3275968545);
+emit_32(1099512414);
+emit_32(1102807040);
+emit_32(3275712496);
+emit_32(1101300079);
+emit_32(1102807040);
+emit_32(3275456512);
+emit_32(1102630565);
+emit_32(1102807040);
+emit_32(3275200528);
+emit_32(1103513990);
+emit_32(1102807040);
+emit_32(3274944545);
+emit_32(1104603251);
+emit_32(1102807040);
+emit_32(3274688496);
+emit_32(1105499154);
+emit_32(1102807040);
+emit_32(3274432512);
+emit_32(1106400667);
+emit_32(1102807040);
+emit_32(3274176528);
+emit_32(1107499889);
+emit_32(1102807040);
+emit_32(3273920545);
+emit_32(1107983047);
+emit_32(1102807040);
+emit_32(3273664496);
+emit_32(1108263620);
+emit_32(1102807040);
+emit_32(3273408512);
+emit_32(1108637542);
+emit_32(1102807040);
+emit_32(3273152528);
+emit_32(1108628367);
+emit_32(1102807040);
+emit_32(3272896545);
+emit_32(1108868989);
+emit_32(1102807040);
+emit_32(3272640496);
+emit_32(1109049213);
+emit_32(1102807040);
+emit_32(3272384512);
+emit_32(1108849748);
+emit_32(1102807040);
+emit_32(3272128528);
+emit_32(1108540811);
+emit_32(1102807040);
+emit_32(3271872545);
+emit_32(1108655184);
+emit_32(1102807040);
+emit_32(3271616496);
+emit_32(1108572425);
+emit_32(1102807040);
+emit_32(3271163904);
+emit_32(1108411810);
+emit_32(1102807040);
+emit_32(3270651937);
+emit_32(1108042344);
+emit_32(1102807040);
+emit_32(3270139970);
+emit_32(1107971460);
+emit_32(1102807040);
+emit_32(3269627871);
+emit_32(1107793412);
+emit_32(1102807040);
+emit_32(3269115904);
+emit_32(1107689131);
+emit_32(1102807040);
+emit_32(3268603937);
+emit_32(1107563643);
+emit_32(1102807040);
+emit_32(3268091970);
+emit_32(1107010152);
+emit_32(1102807040);
+emit_32(3267579911);
+emit_32(1106032669);
+emit_32(1102807040);
+emit_32(3267067904);
+emit_32(1105136609);
+emit_32(1102807040);
+emit_32(3266555911);
+emit_32(1104406695);
+emit_32(1102807040);
+emit_32(3266043904);
+emit_32(1103385749);
+emit_32(1102807040);
+emit_32(3265531911);
+emit_32(1102373034);
+emit_32(1102807040);
+emit_32(3265019904);
+emit_32(1101728317);
+emit_32(1102807040);
+emit_32(3264507911);
+emit_32(1100615464);
+emit_32(1102807040);
+emit_32(3263995904);
+emit_32(1100840278);
+emit_32(1102807040);
+emit_32(3263483911);
+emit_32(1100652636);
+emit_32(1102807040);
+emit_32(3262775296);
+emit_32(1101193963);
+emit_32(1102807040);
+emit_32(3261751309);
+emit_32(1101527463);
+emit_32(1102807040);
+emit_32(3260727296);
+emit_32(1101300761);
+emit_32(1102807040);
+emit_32(3259703309);
+emit_32(1101861382);
+emit_32(1102807040);
+emit_32(3258679296);
+emit_32(1102090338);
+emit_32(1102807040);
+emit_32(3257655309);
+emit_32(1102730966);
+emit_32(1102807040);
+emit_32(3256631296);
+emit_32(1103554255);
+emit_32(1102807040);
+emit_32(3255607309);
+emit_32(1104113408);
+emit_32(1102807040);
+emit_32(3254386688);
+emit_32(1104786647);
+emit_32(1102807040);
+emit_32(3252338714);
+emit_32(1106105913);
+emit_32(1102807040);
+emit_32(3250290688);
+emit_32(1107509877);
+emit_32(1102807040);
+emit_32(3248242714);
+emit_32(1108222175);
+emit_32(1102807040);
+emit_32(3245998080);
+emit_32(1108925324);
+emit_32(1102807040);
+emit_32(3241902132);
+emit_32(1109456873);
+emit_32(1102807040);
+emit_32(3237609472);
+emit_32(1109851609);
+emit_32(1102807040);
+emit_32(3229220864);
+emit_32(1110277358);
+emit_32(1102807040);
+emit_32(0);
+emit_32(1110377130);
+emit_32(1102807040);
+emit_32(1081737216);
+emit_32(1110619796);
+emit_32(1102807040);
+emit_32(3279552512);
+emit_32(1041074638);
+emit_32(1100759066);
+emit_32(3279296528);
+emit_32(1068712015);
+emit_32(1100759066);
+emit_32(3279040545);
+emit_32(1079048248);
+emit_32(1100759066);
+emit_32(3278784496);
+emit_32(1080674002);
+emit_32(1100759066);
+emit_32(3278528512);
+emit_32(1084030494);
+emit_32(1100759066);
+emit_32(3278272528);
+emit_32(1086394970);
+emit_32(1100759066);
+emit_32(3278016545);
+emit_32(1090514279);
+emit_32(1100759066);
+emit_32(3277760496);
+emit_32(1092005166);
+emit_32(1100759066);
+emit_32(3277504512);
+emit_32(1092661805);
+emit_32(1100759066);
+emit_32(3277248528);
+emit_32(1094882479);
+emit_32(1100759066);
+emit_32(3276992545);
+emit_32(1096495818);
+emit_32(1100759066);
+emit_32(3276736496);
+emit_32(1098656304);
+emit_32(1100759066);
+emit_32(3276480512);
+emit_32(1098988860);
+emit_32(1100759066);
+emit_32(3276224528);
+emit_32(1099485466);
+emit_32(1100759066);
+emit_32(3275968545);
+emit_32(1100054109);
+emit_32(1100759066);
+emit_32(3275712496);
+emit_32(1101363203);
+emit_32(1100759066);
+emit_32(3275456512);
+emit_32(1102623015);
+emit_32(1100759014);
+emit_32(3275200528);
+emit_32(1103260025);
+emit_32(1100759066);
+emit_32(3274944545);
+emit_32(1104497764);
+emit_32(1100759014);
+emit_32(3274688496);
+emit_32(1105320739);
+emit_32(1100759066);
+emit_32(3274432512);
+emit_32(1106586055);
+emit_32(1100759014);
+emit_32(3274176528);
+emit_32(1107523640);
+emit_32(1100759066);
+emit_32(3273920545);
+emit_32(1108105783);
+emit_32(1100759014);
+emit_32(3273664496);
+emit_32(1108678148);
+emit_32(1100759066);
+emit_32(3273408512);
+emit_32(1109027062);
+emit_32(1100759014);
+emit_32(3273152528);
+emit_32(1108942022);
+emit_32(1100759066);
+emit_32(3272896545);
+emit_32(1108995290);
+emit_32(1100759014);
+emit_32(3272640496);
+emit_32(1108955129);
+emit_32(1100759066);
+emit_32(3272384512);
+emit_32(1108906895);
+emit_32(1100759014);
+emit_32(3272128528);
+emit_32(1108765993);
+emit_32(1100759014);
+emit_32(3271872545);
+emit_32(1108661948);
+emit_32(1100759014);
+emit_32(3271616496);
+emit_32(1108494097);
+emit_32(1100759014);
+emit_32(3271163904);
+emit_32(1108408166);
+emit_32(1100759014);
+emit_32(3270651937);
+emit_32(1107959611);
+emit_32(1100759014);
+emit_32(3270139970);
+emit_32(1107654974);
+emit_32(1100759014);
+emit_32(3269627871);
+emit_32(1107500859);
+emit_32(1100759014);
+emit_32(3269115904);
+emit_32(1107220916);
+emit_32(1100759014);
+emit_32(3268603937);
+emit_32(1106950121);
+emit_32(1100759014);
+emit_32(3268091970);
+emit_32(1106110684);
+emit_32(1100759014);
+emit_32(3267579911);
+emit_32(1105572449);
+emit_32(1100759014);
+emit_32(3267067904);
+emit_32(1105141642);
+emit_32(1100759014);
+emit_32(3266555911);
+emit_32(1104163950);
+emit_32(1100759014);
+emit_32(3266043904);
+emit_32(1103388685);
+emit_32(1100759014);
+emit_32(3265531911);
+emit_32(1102762790);
+emit_32(1100759014);
+emit_32(3265019904);
+emit_32(1101771361);
+emit_32(1100759066);
+emit_32(3264507911);
+emit_32(1101188668);
+emit_32(1100759066);
+emit_32(3263995904);
+emit_32(1101103314);
+emit_32(1100759066);
+emit_32(3263483911);
+emit_32(1101520595);
+emit_32(1100759066);
+emit_32(3262775296);
+emit_32(1102173438);
+emit_32(1100759014);
+emit_32(3261751309);
+emit_32(1102239498);
+emit_32(1100759014);
+emit_32(3260727296);
+emit_32(1102454928);
+emit_32(1100759014);
+emit_32(3259703309);
+emit_32(1102538762);
+emit_32(1100759014);
+emit_32(3258679296);
+emit_32(1102868120);
+emit_32(1100759014);
+emit_32(3257655309);
+emit_32(1103304380);
+emit_32(1100759014);
+emit_32(3256631296);
+emit_32(1103894256);
+emit_32(1100759014);
+emit_32(3255607309);
+emit_32(1104606187);
+emit_32(1100759014);
+emit_32(3254386688);
+emit_32(1105706615);
+emit_32(1100759014);
+emit_32(3252338714);
+emit_32(1106778469);
+emit_32(1100759014);
+emit_32(3250290688);
+emit_32(1108039618);
+emit_32(1100759014);
+emit_32(3248242714);
+emit_32(1108668894);
+emit_32(1100759014);
+emit_32(3245998080);
+emit_32(1109286558);
+emit_32(1100759014);
+emit_32(3241902132);
+emit_32(1109804738);
+emit_32(1100759014);
+emit_32(3237609472);
+emit_32(1110243829);
+emit_32(1100759014);
+emit_32(3229220864);
+emit_32(1110734746);
+emit_32(1100759014);
+emit_32(0);
+emit_32(1110902178);
+emit_32(1100759014);
+emit_32(1081737216);
+emit_32(1111203643);
+emit_32(1100759014);
+emit_32(3279552512);
+emit_32(1055720947);
+emit_32(1098514432);
+emit_32(3279296528);
+emit_32(1074391480);
+emit_32(1098514432);
+emit_32(3279040545);
+emit_32(1080839929);
+emit_32(1098514432);
+emit_32(3278784496);
+emit_32(1084004468);
+emit_32(1098514432);
+emit_32(3278528512);
+emit_32(1088331836);
+emit_32(1098514432);
+emit_32(3278272528);
+emit_32(1090916618);
+emit_32(1098514432);
+emit_32(3278016545);
+emit_32(1091793217);
+emit_32(1098514432);
+emit_32(3277760496);
+emit_32(1092681623);
+emit_32(1098514432);
+emit_32(3277504512);
+emit_32(1094343931);
+emit_32(1098514432);
+emit_32(3277248528);
+emit_32(1096031404);
+emit_32(1098514432);
+emit_32(3276992545);
+emit_32(1097722652);
+emit_32(1098514432);
+emit_32(3276736496);
+emit_32(1098892129);
+emit_32(1098514432);
+emit_32(3276480512);
+emit_32(1099445043);
+emit_32(1098514432);
+emit_32(3276224528);
+emit_32(1099878158);
+emit_32(1098514432);
+emit_32(3275968545);
+emit_32(1101192548);
+emit_32(1098514432);
+emit_32(3275712496);
+emit_32(1102096839);
+emit_32(1098514432);
+emit_32(3275456512);
+emit_32(1103322992);
+emit_32(1098514432);
+emit_32(3275200528);
+emit_32(1103921152);
+emit_32(1098514432);
+emit_32(3274944545);
+emit_32(1104725200);
+emit_32(1098514432);
+emit_32(3274688496);
+emit_32(1106297907);
+emit_32(1098514432);
+emit_32(3274432512);
+emit_32(1107190193);
+emit_32(1098514432);
+emit_32(3274176528);
+emit_32(1108005172);
+emit_32(1098514432);
+emit_32(3273920545);
+emit_32(1108650361);
+emit_32(1098514432);
+emit_32(3273664496);
+emit_32(1108785837);
+emit_32(1098514432);
+emit_32(3273408512);
+emit_32(1108769610);
+emit_32(1098514432);
+emit_32(3273152528);
+emit_32(1108817661);
+emit_32(1098514432);
+emit_32(3272896545);
+emit_32(1108831240);
+emit_32(1098514432);
+emit_32(3272640496);
+emit_32(1108859630);
+emit_32(1098514432);
+emit_32(3272384512);
+emit_32(1108733356);
+emit_32(1098514432);
+emit_32(3272128528);
+emit_32(1108612271);
+emit_32(1098514432);
+emit_32(3271872545);
+emit_32(1108465523);
+emit_32(1098514432);
+emit_32(3271616496);
+emit_32(1108386120);
+emit_32(1098514432);
+emit_32(3271163904);
+emit_32(1108193260);
+emit_32(1098514432);
+emit_32(3270651937);
+emit_32(1107694767);
+emit_32(1098514432);
+emit_32(3270139970);
+emit_32(1107326665);
+emit_32(1098514432);
+emit_32(3269627871);
+emit_32(1106737994);
+emit_32(1098514432);
+emit_32(3269115904);
+emit_32(1106158394);
+emit_32(1098514432);
+emit_32(3268603937);
+emit_32(1106202906);
+emit_32(1098514432);
+emit_32(3268091970);
+emit_32(1105578951);
+emit_32(1098514432);
+emit_32(3267579911);
+emit_32(1105052566);
+emit_32(1098514432);
+emit_32(3267067904);
+emit_32(1104895908);
+emit_32(1098514432);
+emit_32(3266555911);
+emit_32(1104074873);
+emit_32(1098514432);
+emit_32(3266043904);
+emit_32(1103133881);
+emit_32(1098514432);
+emit_32(3265531911);
+emit_32(1102465938);
+emit_32(1098514432);
+emit_32(3265019904);
+emit_32(1101262907);
+emit_32(1098514432);
+emit_32(3264507911);
+emit_32(1101530399);
+emit_32(1098514432);
+emit_32(3263995904);
+emit_32(1101685588);
+emit_32(1098514432);
+emit_32(3263483911);
+emit_32(1102353111);
+emit_32(1098514432);
+emit_32(3262775296);
+emit_32(1102607496);
+emit_32(1098514432);
+emit_32(3261751309);
+emit_32(1102688970);
+emit_32(1098514432);
+emit_32(3260727296);
+emit_32(1103199522);
+emit_32(1098514432);
+emit_32(3259703309);
+emit_32(1103396916);
+emit_32(1098514432);
+emit_32(3258679296);
+emit_32(1103692248);
+emit_32(1098514432);
+emit_32(3257655309);
+emit_32(1104150266);
+emit_32(1098514432);
+emit_32(3256631296);
+emit_32(1104605715);
+emit_32(1098514432);
+emit_32(3255607309);
+emit_32(1105125337);
+emit_32(1098514432);
+emit_32(3254386688);
+emit_32(1106191267);
+emit_32(1098514432);
+emit_32(3252338714);
+emit_32(1107529407);
+emit_32(1098514432);
+emit_32(3250290688);
+emit_32(1108420880);
+emit_32(1098514432);
+emit_32(3248242714);
+emit_32(1108934001);
+emit_32(1098514432);
+emit_32(3245998080);
+emit_32(1109548859);
+emit_32(1098514432);
+emit_32(3241902132);
+emit_32(1109995631);
+emit_32(1098514432);
+emit_32(3237609472);
+emit_32(1110790845);
+emit_32(1098514432);
+emit_32(3229220864);
+emit_32(1111318856);
+emit_32(1098514432);
+emit_32(0);
+emit_32(1111747671);
+emit_32(1098514432);
+emit_32(1081737216);
+emit_32(1111812866);
+emit_32(1098514432);
+emit_32(3279552512);
+emit_32(1066749584);
+emit_32(1094418484);
+emit_32(3279296528);
+emit_32(1077908068);
+emit_32(1094418484);
+emit_32(3279040545);
+emit_32(1082923764);
+emit_32(1094418484);
+emit_32(3278784496);
+emit_32(1084680422);
+emit_32(1094418484);
+emit_32(3278528512);
+emit_32(1088094187);
+emit_32(1094418484);
+emit_32(3278272528);
+emit_32(1090882015);
+emit_32(1094418484);
+emit_32(3278016545);
+emit_32(1091863944);
+emit_32(1094418484);
+emit_32(3277760496);
+emit_32(1092512425);
+emit_32(1094418484);
+emit_32(3277504512);
+emit_32(1093582035);
+emit_32(1094418380);
+emit_32(3277248528);
+emit_32(1096483445);
+emit_32(1094418380);
+emit_32(3276992545);
+emit_32(1098671194);
+emit_32(1094418380);
+emit_32(3276736496);
+emit_32(1099029545);
+emit_32(1094418380);
+emit_32(3276480512);
+emit_32(1099564319);
+emit_32(1094418380);
+emit_32(3276224528);
+emit_32(1100538603);
+emit_32(1094418380);
+emit_32(3275968545);
+emit_32(1101777758);
+emit_32(1094418380);
+emit_32(3275712496);
+emit_32(1103112962);
+emit_32(1094418380);
+emit_32(3275456512);
+emit_32(1104081112);
+emit_32(1094418380);
+emit_32(3275200528);
+emit_32(1104685826);
+emit_32(1094418380);
+emit_32(3274944545);
+emit_32(1105332273);
+emit_32(1094418380);
+emit_32(3274688496);
+emit_32(1107088428);
+emit_32(1094418380);
+emit_32(3274432512);
+emit_32(1107461145);
+emit_32(1094418380);
+emit_32(3274176528);
+emit_32(1108070262);
+emit_32(1094418380);
+emit_32(3273920545);
+emit_32(1108560734);
+emit_32(1094418380);
+emit_32(3273664496);
+emit_32(1108646822);
+emit_32(1094418380);
+emit_32(3273408512);
+emit_32(1108781538);
+emit_32(1094418380);
+emit_32(3273152528);
+emit_32(1108714507);
+emit_32(1094418380);
+emit_32(3272896545);
+emit_32(1108628105);
+emit_32(1094418380);
+emit_32(3272640496);
+emit_32(1108772101);
+emit_32(1094418380);
+emit_32(3272384512);
+emit_32(1108535384);
+emit_32(1094418380);
+emit_32(3272128528);
+emit_32(1108471736);
+emit_32(1094418380);
+emit_32(3271872545);
+emit_32(1108149718);
+emit_32(1094418380);
+emit_32(3271616496);
+emit_32(1108005775);
+emit_32(1094418380);
+emit_32(3271163904);
+emit_32(1107845369);
+emit_32(1094418380);
+emit_32(3270651937);
+emit_32(1107488748);
+emit_32(1094418380);
+emit_32(3270139970);
+emit_32(1107065831);
+emit_32(1094418380);
+emit_32(3269627871);
+emit_32(1106640477);
+emit_32(1094418380);
+emit_32(3269115904);
+emit_32(1106331986);
+emit_32(1094418380);
+emit_32(3268603937);
+emit_32(1106202801);
+emit_32(1094418380);
+emit_32(3268091970);
+emit_32(1105489140);
+emit_32(1094418380);
+emit_32(3267579911);
+emit_32(1104258059);
+emit_32(1094418380);
+emit_32(3267067904);
+emit_32(1104173177);
+emit_32(1094418380);
+emit_32(3266555911);
+emit_32(1103722237);
+emit_32(1094418380);
+emit_32(3266043904);
+emit_32(1102993687);
+emit_32(1094418380);
+emit_32(3265531911);
+emit_32(1102417861);
+emit_32(1094418380);
+emit_32(3265019904);
+emit_32(1102043519);
+emit_32(1094418380);
+emit_32(3264507911);
+emit_32(1102232840);
+emit_32(1094418380);
+emit_32(3263995904);
+emit_32(1102313370);
+emit_32(1094418380);
+emit_32(3263483911);
+emit_32(1102548199);
+emit_32(1094418380);
+emit_32(3262775296);
+emit_32(1102923222);
+emit_32(1094418380);
+emit_32(3261751309);
+emit_32(1103187621);
+emit_32(1094418380);
+emit_32(3260727296);
+emit_32(1103562329);
+emit_32(1094418380);
+emit_32(3259703309);
+emit_32(1103808220);
+emit_32(1094418380);
+emit_32(3258679296);
+emit_32(1104024646);
+emit_32(1094418380);
+emit_32(3257655309);
+emit_32(1104470344);
+emit_32(1094418380);
+emit_32(3256631296);
+emit_32(1104938690);
+emit_32(1094418380);
+emit_32(3255607309);
+emit_32(1105867624);
+emit_32(1094418380);
+emit_32(3254386688);
+emit_32(1107251534);
+emit_32(1094418380);
+emit_32(3252338714);
+emit_32(1107872029);
+emit_32(1094418380);
+emit_32(3250290688);
+emit_32(1108547574);
+emit_32(1094418380);
+emit_32(3248242714);
+emit_32(1109195253);
+emit_32(1094418380);
+emit_32(3245998080);
+emit_32(1109741247);
+emit_32(1094418380);
+emit_32(3241902132);
+emit_32(1110512291);
+emit_32(1094418380);
+emit_32(3237609472);
+emit_32(1111292851);
+emit_32(1094418380);
+emit_32(3229220864);
+emit_32(1111810349);
+emit_32(1094418380);
+emit_32(0);
+emit_32(1112081590);
+emit_32(1094418380);
+emit_32(1081737216);
+emit_32(1112309314);
+emit_32(1094418380);
+emit_32(3279552512);
+emit_32(1069773845);
+emit_32(1090125824);
+emit_32(3279296528);
+emit_32(1077819820);
+emit_32(1090125824);
+emit_32(3279040545);
+emit_32(1081179122);
+emit_32(1090125824);
+emit_32(3278784496);
+emit_32(1083831117);
+emit_32(1090125824);
+emit_32(3278528512);
+emit_32(1086208512);
+emit_32(1090125824);
+emit_32(3278272528);
+emit_32(1089372988);
+emit_32(1090125824);
+emit_32(3278016545);
+emit_32(1091534376);
+emit_32(1090125824);
+emit_32(3277760496);
+emit_32(1091959238);
+emit_32(1090125824);
+emit_32(3277504512);
+emit_32(1093016538);
+emit_32(1090125824);
+emit_32(3277248528);
+emit_32(1095828190);
+emit_32(1090125824);
+emit_32(3276992545);
+emit_32(1098471021);
+emit_32(1090125824);
+emit_32(3276736496);
+emit_32(1099512257);
+emit_32(1090125824);
+emit_32(3276480512);
+emit_32(1100641206);
+emit_32(1090125824);
+emit_32(3276224528);
+emit_32(1101920207);
+emit_32(1090125824);
+emit_32(3275968545);
+emit_32(1102579027);
+emit_32(1090125824);
+emit_32(3275712496);
+emit_32(1103724596);
+emit_32(1090125824);
+emit_32(3275456512);
+emit_32(1104932294);
+emit_32(1090125824);
+emit_32(3275200528);
+emit_32(1105540415);
+emit_32(1090125824);
+emit_32(3274944545);
+emit_32(1105706877);
+emit_32(1090125824);
+emit_32(3274688496);
+emit_32(1106838815);
+emit_32(1090125824);
+emit_32(3274432512);
+emit_32(1107416056);
+emit_32(1090125824);
+emit_32(3274176528);
+emit_32(1107934210);
+emit_32(1090125824);
+emit_32(3273920545);
+emit_32(1108321868);
+emit_32(1090125824);
+emit_32(3273664496);
+emit_32(1108477949);
+emit_32(1090125824);
+emit_32(3273408512);
+emit_32(1108606950);
+emit_32(1090125824);
+emit_32(3273152528);
+emit_32(1108594314);
+emit_32(1090125824);
+emit_32(3272896545);
+emit_32(1108861596);
+emit_32(1090125824);
+emit_32(3272640496);
+emit_32(1108850508);
+emit_32(1090125824);
+emit_32(3272384512);
+emit_32(1108746804);
+emit_32(1090125824);
+emit_32(3272128528);
+emit_32(1108418180);
+emit_32(1090125824);
+emit_32(3271872545);
+emit_32(1108132600);
+emit_32(1090125824);
+emit_32(3271616496);
+emit_32(1107751233);
+emit_32(1090125824);
+emit_32(3271163904);
+emit_32(1107845920);
+emit_32(1090125824);
+emit_32(3270651937);
+emit_32(1107711440);
+emit_32(1090125824);
+emit_32(3270139970);
+emit_32(1107541911);
+emit_32(1090125824);
+emit_32(3269627871);
+emit_32(1107305510);
+emit_32(1090125824);
+emit_32(3269115904);
+emit_32(1107014346);
+emit_32(1090125824);
+emit_32(3268603937);
+emit_32(1106519471);
+emit_32(1090125824);
+emit_32(3268091970);
+emit_32(1105586867);
+emit_32(1090125824);
+emit_32(3267579911);
+emit_32(1104817160);
+emit_32(1090125824);
+emit_32(3267067904);
+emit_32(1104215645);
+emit_32(1090125824);
+emit_32(3266555911);
+emit_32(1103400324);
+emit_32(1090125824);
+emit_32(3266043904);
+emit_32(1103065776);
+emit_32(1090125824);
+emit_32(3265531911);
+emit_32(1102978377);
+emit_32(1090125824);
+emit_32(3265019904);
+emit_32(1102293919);
+emit_32(1090125824);
+emit_32(3264507911);
+emit_32(1102336229);
+emit_32(1090125824);
+emit_32(3263995904);
+emit_32(1102542117);
+emit_32(1090125824);
+emit_32(3263483911);
+emit_32(1102806306);
+emit_32(1090125824);
+emit_32(3262775296);
+emit_32(1103245240);
+emit_32(1090125824);
+emit_32(3261751309);
+emit_32(1103200151);
+emit_32(1090125824);
+emit_32(3260727296);
+emit_32(1103241727);
+emit_32(1090125824);
+emit_32(3259703309);
+emit_32(1103758465);
+emit_32(1090125824);
+emit_32(3258679296);
+emit_32(1104333714);
+emit_32(1090125824);
+emit_32(3257655309);
+emit_32(1104589095);
+emit_32(1090125824);
+emit_32(3256631296);
+emit_32(1104963961);
+emit_32(1090125824);
+emit_32(3255607309);
+emit_32(1106480516);
+emit_32(1090125824);
+emit_32(3254386688);
+emit_32(1107703811);
+emit_32(1090125824);
+emit_32(3252338714);
+emit_32(1108381768);
+emit_32(1090125824);
+emit_32(3250290688);
+emit_32(1108898034);
+emit_32(1090125824);
+emit_32(3248242714);
+emit_32(1109345462);
+emit_32(1090125824);
+emit_32(3245998080);
+emit_32(1109947738);
+emit_32(1090125824);
+emit_32(3241902132);
+emit_32(1110798578);
+emit_32(1090125824);
+emit_32(3237609472);
+emit_32(1111401483);
+emit_32(1090125824);
+emit_32(3229220864);
+emit_32(1112005149);
+emit_32(1090125824);
+emit_32(0);
+emit_32(1112489827);
+emit_32(1090125824);
+emit_32(1081737216);
+emit_32(1112605380);
+emit_32(1090125824);
+emit_32(3279552512);
+emit_32(1041185636);
+emit_32(1081737216);
+emit_32(3279296528);
+emit_32(1071476480);
+emit_32(1081737216);
+emit_32(3279040545);
+emit_32(1076263523);
+emit_32(1081737216);
+emit_32(3278784496);
+emit_32(1082158660);
+emit_32(1081737216);
+emit_32(3278528512);
+emit_32(1084513929);
+emit_32(1081737216);
+emit_32(3278272528);
+emit_32(1087785717);
+emit_32(1081737216);
+emit_32(3278016545);
+emit_32(1090972056);
+emit_32(1081737216);
+emit_32(3277760496);
+emit_32(1092442569);
+emit_32(1081737216);
+emit_32(3277504512);
+emit_32(1094046974);
+emit_32(1081737216);
+emit_32(3277248528);
+emit_32(1097043280);
+emit_32(1081737216);
+emit_32(3276992545);
+emit_32(1098999818);
+emit_32(1081737216);
+emit_32(3276736496);
+emit_32(1100434742);
+emit_32(1081737216);
+emit_32(3276480512);
+emit_32(1101659007);
+emit_32(1081737216);
+emit_32(3276224528);
+emit_32(1102608545);
+emit_32(1081737216);
+emit_32(3275968545);
+emit_32(1103417836);
+emit_32(1081737216);
+emit_32(3275712496);
+emit_32(1104053168);
+emit_32(1081737216);
+emit_32(3275456512);
+emit_32(1104973450);
+emit_32(1081737216);
+emit_32(3275200528);
+emit_32(1105837477);
+emit_32(1081737216);
+emit_32(3274944545);
+emit_32(1106081743);
+emit_32(1081737216);
+emit_32(3274688496);
+emit_32(1106636492);
+emit_32(1081737216);
+emit_32(3274432512);
+emit_32(1107002917);
+emit_32(1081737216);
+emit_32(3274176528);
+emit_32(1107580184);
+emit_32(1081737216);
+emit_32(3273920545);
+emit_32(1107983729);
+emit_32(1081737216);
+emit_32(3273664496);
+emit_32(1108213550);
+emit_32(1081737216);
+emit_32(3273408512);
+emit_32(1108715137);
+emit_32(1081737216);
+emit_32(3273152528);
+emit_32(1108987871);
+emit_32(1081737216);
+emit_32(3272896545);
+emit_32(1109130582);
+emit_32(1081737216);
+emit_32(3272640496);
+emit_32(1109075454);
+emit_32(1081737216);
+emit_32(3272384512);
+emit_32(1108764813);
+emit_32(1081737216);
+emit_32(3272128528);
+emit_32(1108391939);
+emit_32(1081737216);
+emit_32(3271872545);
+emit_32(1108080224);
+emit_32(1081737216);
+emit_32(3271616496);
+emit_32(1107854728);
+emit_32(1081737216);
+emit_32(3271163904);
+emit_32(1107912740);
+emit_32(1081737216);
+emit_32(3270651937);
+emit_32(1107731730);
+emit_32(1081737216);
+emit_32(3270139970);
+emit_32(1107480989);
+emit_32(1081737216);
+emit_32(3269627871);
+emit_32(1107400013);
+emit_32(1081737216);
+emit_32(3269115904);
+emit_32(1106814855);
+emit_32(1081737216);
+emit_32(3268603937);
+emit_32(1106747641);
+emit_32(1081737216);
+emit_32(3268091970);
+emit_32(1106153570);
+emit_32(1081737216);
+emit_32(3267579911);
+emit_32(1105450553);
+emit_32(1081737216);
+emit_32(3267067904);
+emit_32(1105015289);
+emit_32(1081737216);
+emit_32(3266555911);
+emit_32(1103926185);
+emit_32(1081737216);
+emit_32(3266043904);
+emit_32(1103220965);
+emit_32(1081737216);
+emit_32(3265531911);
+emit_32(1102714556);
+emit_32(1081737216);
+emit_32(3265019904);
+emit_32(1102293972);
+emit_32(1081737216);
+emit_32(3264507911);
+emit_32(1102696206);
+emit_32(1081737216);
+emit_32(3263995904);
+emit_32(1102841119);
+emit_32(1081737216);
+emit_32(3263483911);
+emit_32(1102940104);
+emit_32(1081737216);
+emit_32(3262775296);
+emit_32(1103457681);
+emit_32(1081737216);
+emit_32(3261751309);
+emit_32(1103885553);
+emit_32(1081737216);
+emit_32(3260727296);
+emit_32(1104135953);
+emit_32(1081737216);
+emit_32(3259703309);
+emit_32(1104254180);
+emit_32(1081737216);
+emit_32(3258679296);
+emit_32(1104598218);
+emit_32(1081737216);
+emit_32(3257655309);
+emit_32(1105055869);
+emit_32(1081737216);
+emit_32(3256631296);
+emit_32(1105830661);
+emit_32(1081737216);
+emit_32(3255607309);
+emit_32(1107186156);
+emit_32(1081737216);
+emit_32(3254386688);
+emit_32(1107890222);
+emit_32(1081737216);
+emit_32(3252338714);
+emit_32(1108342578);
+emit_32(1081737216);
+emit_32(3250290688);
+emit_32(1108968106);
+emit_32(1081737216);
+emit_32(3248242714);
+emit_32(1109363314);
+emit_32(1081737216);
+emit_32(3245998080);
+emit_32(1110217982);
+emit_32(1081737216);
+emit_32(3241902132);
+emit_32(1110836747);
+emit_32(1081737216);
+emit_32(3237609472);
+emit_32(1111340011);
+emit_32(1081737216);
+emit_32(3229220864);
+emit_32(1111989472);
+emit_32(1081737216);
+emit_32(0);
+emit_32(1112547577);
+emit_32(1081737216);
+emit_32(1081737216);
+emit_32(1112701298);
+emit_32(1081737216);
+emit_start(_ZTIN16btCollisionWorld17RayResultCallbackE)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTSN16btCollisionWorld17RayResultCallbackE);
+emit_start(_ZTSN16btCollisionWorld17RayResultCallbackE)
+emit_string('N16btCollisionWorld17RayResultCallbackE\x00');
+emit_start(_ZTVN16btCollisionWorld24ClosestRayResultCallbackE)
+emit_32(0);
+emit_32(_ZTIN16btCollisionWorld24ClosestRayResultCallbackE);
+emit_32(_ZN16btCollisionWorld24ClosestRayResultCallbackD1Ev__index__);
+emit_32(_ZN16btCollisionWorld24ClosestRayResultCallbackD0Ev__index__);
+emit_32(_ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy__index__);
+emit_32(_ZN16btCollisionWorld24ClosestRayResultCallback15addSingleResultERNS_14LocalRayResultEb__index__);
+emit_start(_ZTIN16btCollisionWorld24ClosestRayResultCallbackE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN16btCollisionWorld24ClosestRayResultCallbackE);
+emit_32(_ZTIN16btCollisionWorld17RayResultCallbackE);
+emit_start(_ZTSN16btCollisionWorld24ClosestRayResultCallbackE)
+emit_string('N16btCollisionWorld24ClosestRayResultCallbackE\x00');
+emit_start(_ZTI13btMotionState)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS13btMotionState);
+emit_start(_ZTS13btMotionState)
+emit_string('13btMotionState\x00');
+emit_start(_ZTV20btDefaultMotionState)
+emit_32(0);
+emit_32(_ZTI20btDefaultMotionState);
+emit_32(_ZN20btDefaultMotionStateD1Ev__index__);
+emit_32(_ZN20btDefaultMotionStateD0Ev__index__);
+emit_32(_ZNK20btDefaultMotionState17getWorldTransformER11btTransform__index__);
+emit_32(_ZN20btDefaultMotionState17setWorldTransformERK11btTransform__index__);
+emit_start(_ZTI20btDefaultMotionState)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS20btDefaultMotionState);
+emit_32(_ZTI13btMotionState);
+emit_start(_ZTS20btDefaultMotionState)
+emit_string('20btDefaultMotionState\x00');
+emit_start(_ZTI17btTypedConstraint)
+emit_32(_ZTVN10__cxxabiv121__vmi_class_type_infoE+8);
+emit_32(_ZTS17btTypedConstraint);
+emit_32(0);
+emit_32(1);
+emit_32(_ZTI13btTypedObject);
+emit_32(1026);
+emit_start(_ZTS17btTypedConstraint)
+emit_string('17btTypedConstraint\x00');
+emit_start(_ZTI13btTypedObject)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS13btTypedObject);
+emit_start(_ZTS13btTypedObject)
+emit_string('13btTypedObject\x00');
+emit_start(_ZTV7RagDoll)
+emit_32(0);
+emit_32(_ZTI7RagDoll);
+emit_32(_ZN7RagDollD1Ev__index__);
+emit_32(_ZN7RagDollD0Ev__index__);
+emit_start(_ZTI7RagDoll)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS7RagDoll);
+emit_start(_ZTS7RagDoll)
+emit_string('7RagDoll\x00');
+emit_start(_ZTV13BenchmarkDemo)
+emit_32(0);
+emit_32(_ZTI13BenchmarkDemo);
+emit_32(_ZN15DemoApplication6myinitEv__index__);
+emit_32(_ZN15DemoApplication16getDynamicsWorldEv__index__);
+emit_32(_ZN15DemoApplication20localCreateRigidBodyEfRK11btTransformP16btCollisionShape__index__);
+emit_32(_ZN13BenchmarkDemoD1Ev__index__);
+emit_32(_ZN13BenchmarkDemoD0Ev__index__);
+emit_32(_ZN13BenchmarkDemo20clientMoveAndDisplayEv__index__);
+emit_32(_ZN13BenchmarkDemo15displayCallbackEv__index__);
+emit_start(_ZTI13BenchmarkDemo)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS13BenchmarkDemo);
+emit_32(_ZTI15DemoApplication);
+emit_start(_ZTS13BenchmarkDemo)
+emit_string('13BenchmarkDemo\x00');
+emit_start(_ZTI15DemoApplication)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS15DemoApplication);
+emit_start(_ZTS15DemoApplication)
+emit_string('15DemoApplication\x00');
+emit_start(_2E_str3)
+emit_string('rayResult.m_hitFraction <= m_closestHitFraction\x00');
+emit_start(_2E_str4)
+emit_string('../../../../src/BulletCollision/CollisionDispatch/btCollisionWorld.h\x00');
+emit_start(_2E_str5)
+emit_string('(!shape || shape->getShapeType() != INVALID_SHAPE_PROXYTYPE)\x00');
+emit_start(_2E_str6)
+emit_string('../../../../Demos/BenchmarkDemo/BenchmarkDemo.cpp\x00');
+emit_start(_2E_str7)
+emit_string('%d rays in %d ms %d %d %f\x0a\x00');
+emit_start(_ZL7TaruVtx)
+emit_32(1066080005);
+emit_32(3221161467);
+emit_32(0);
+emit_32(1061467093);
+emit_32(3221161467);
+emit_32(3208950741);
+emit_32(1067773497);
+emit_32(873485028);
+emit_32(3215257145);
+emit_32(1072250665);
+emit_32(877448406);
+emit_32(0);
+emit_32(0);
+emit_32(3221161467);
+emit_32(3213563653);
+emit_32(0);
+emit_32(0);
+emit_32(3219734313);
+emit_32(0);
+emit_32(3221161467);
+emit_32(3213563653);
+emit_32(3208950741);
+emit_32(3221161467);
+emit_32(3208950741);
+emit_32(3215257145);
+emit_32(873485028);
+emit_32(3215257145);
+emit_32(0);
+emit_32(0);
+emit_32(3219734313);
+emit_32(3213563653);
+emit_32(3221161467);
+emit_32(876839787);
+emit_32(3219734313);
+emit_32(877448406);
+emit_32(875236717);
+emit_32(3208950741);
+emit_32(3221161467);
+emit_32(1061467109);
+emit_32(3215257145);
+emit_32(881107813);
+emit_32(1067773497);
+emit_32(874053818);
+emit_32(3221161467);
+emit_32(1066080005);
+emit_32(880822819);
+emit_32(881928664);
+emit_32(1072250665);
+emit_32(1061467093);
+emit_32(3221161467);
+emit_32(1061467093);
+emit_32(1067773497);
+emit_32(881107813);
+emit_32(1067773497);
+emit_32(1061467093);
+emit_32(1073677819);
+emit_32(3208950741);
+emit_32(1066080005);
+emit_32(1073677819);
+emit_32(0);
+emit_32(0);
+emit_32(1073677819);
+emit_32(3213563653);
+emit_32(3208950741);
+emit_32(1073677819);
+emit_32(3208950741);
+emit_32(0);
+emit_32(1073677819);
+emit_32(3213563653);
+emit_32(3213563653);
+emit_32(1073677819);
+emit_32(0);
+emit_32(3208950741);
+emit_32(1073677819);
+emit_32(1061467093);
+emit_32(874053818);
+emit_32(1073677819);
+emit_32(1066080005);
+emit_32(1061467093);
+emit_32(1073677819);
+emit_32(1061467093);
+emit_32(874053818);
+emit_32(3221161467);
+emit_32(1066080005);
+emit_32(3208950741);
+emit_32(3221161467);
+emit_32(1061467109);
+emit_32(3213563653);
+emit_32(3221161467);
+emit_32(876839787);
+emit_32(3208950741);
+emit_32(3221161467);
+emit_32(3208950741);
+emit_32(0);
+emit_32(3221161467);
+emit_32(3213563653);
+emit_32(1061467093);
+emit_32(3221161467);
+emit_32(3208950741);
+emit_32(1066080005);
+emit_32(3221161467);
+emit_32(0);
+emit_32(1061467093);
+emit_32(3221161467);
+emit_32(1061467093);
+emit_32(1061467093);
+emit_32(1073677819);
+emit_32(3208950741);
+emit_32(0);
+emit_32(1073677819);
+emit_32(3213563653);
+emit_32(3208950741);
+emit_32(1073677819);
+emit_32(3208950741);
+emit_32(3213563653);
+emit_32(1073677819);
+emit_32(0);
+emit_32(3208950741);
+emit_32(1073677819);
+emit_32(1061467093);
+emit_32(874053818);
+emit_32(1073677819);
+emit_32(1066080005);
+emit_32(1061467093);
+emit_32(1073677819);
+emit_32(1061467093);
+emit_32(1066080005);
+emit_32(1073677819);
+emit_32(0);
+emit_start(LandscapeVtx)
+emit_32(Landscape01Vtx);
+emit_32(Landscape02Vtx);
+emit_32(Landscape03Vtx);
+emit_32(Landscape04Vtx);
+emit_32(Landscape05Vtx);
+emit_32(Landscape06Vtx);
+emit_32(Landscape07Vtx);
+emit_32(Landscape08Vtx);
+emit_start(Landscape01Vtx)
+emit_32(1081737258);
+emit_32(1055384563);
+emit_32(1131812880);
+emit_32(1081737258);
+emit_32(1069740626);
+emit_32(1132068864);
+emit_32(1090125824);
+emit_32(1066883130);
+emit_32(1131812880);
+emit_32(1090125845);
+emit_32(1071685776);
+emit_32(1132068864);
+emit_32(1094418484);
+emit_32(1074283351);
+emit_32(1131812880);
+emit_32(1094418484);
+emit_32(1076361335);
+emit_32(1132068864);
+emit_32(1098514432);
+emit_32(1077997197);
+emit_32(1131812880);
+emit_32(1098514432);
+emit_32(1078893017);
+emit_32(1132068864);
+emit_32(1100759066);
+emit_32(1082022680);
+emit_32(1131812880);
+emit_32(1100759066);
+emit_32(1080588228);
+emit_32(1132068864);
+emit_32(1102807040);
+emit_32(1082313744);
+emit_32(1131812880);
+emit_32(1102807040);
+emit_32(1082635783);
+emit_32(1132068864);
+emit_32(1104855066);
+emit_32(1085939489);
+emit_32(1131812880);
+emit_32(1104855066);
+emit_32(1086186513);
+emit_32(1132068864);
+emit_32(1106903040);
+emit_32(1088145253);
+emit_32(1131812880);
+emit_32(1106903040);
+emit_32(1089137122);
+emit_32(1132068864);
+emit_32(1108123661);
+emit_32(1090785431);
+emit_32(1131812880);
+emit_32(1108123661);
+emit_32(1091174473);
+emit_32(1132068864);
+emit_32(1109147648);
+emit_32(1090923801);
+emit_32(1131812880);
+emit_32(1109147648);
+emit_32(1091237136);
+emit_32(1132068864);
+emit_32(1110171661);
+emit_32(1088312773);
+emit_32(1131812880);
+emit_32(1110171661);
+emit_32(1089928629);
+emit_32(1132068864);
+emit_32(1111195648);
+emit_32(1083403361);
+emit_32(1131812880);
+emit_32(1111195648);
+emit_32(1086579729);
+emit_32(1132068864);
+emit_32(1112219661);
+emit_32(1080632646);
+emit_32(1131812880);
+emit_32(1112219661);
+emit_32(1084500256);
+emit_32(1132068864);
+emit_32(1113243648);
+emit_32(1082171222);
+emit_32(1131812880);
+emit_32(1113243648);
+emit_32(1085286142);
+emit_32(1132068864);
+emit_32(1114267661);
+emit_32(1082256177);
+emit_32(1131812880);
+emit_32(1114267661);
+emit_32(1084896932);
+emit_32(1132068864);
+emit_32(1115291648);
+emit_32(1082088279);
+emit_32(1131812880);
+emit_32(1115291648);
+emit_32(1085314391);
+emit_32(1132068864);
+emit_32(1116000263);
+emit_32(1085158761);
+emit_32(1131812880);
+emit_32(1116000263);
+emit_32(1088003066);
+emit_32(1132068864);
+emit_32(1116512256);
+emit_32(1086405959);
+emit_32(1131812880);
+emit_32(1116512256);
+emit_32(1089298141);
+emit_32(1132068864);
+emit_32(1117024263);
+emit_32(1087104604);
+emit_32(1131812880);
+emit_32(1117024263);
+emit_32(1090687347);
+emit_32(1132068864);
+emit_32(1117536256);
+emit_32(1087885311);
+emit_32(1131812880);
+emit_32(1117536256);
+emit_32(1091275053);
+emit_32(1132068864);
+emit_32(1118048263);
+emit_32(1089217925);
+emit_32(1131812880);
+emit_32(1118048263);
+emit_32(1092734157);
+emit_32(1132068864);
+emit_32(1118560256);
+emit_32(1091544359);
+emit_32(1131812880);
+emit_32(1118560256);
+emit_32(1093101054);
+emit_32(1132068864);
+emit_32(1119072263);
+emit_32(1093751695);
+emit_32(1131812880);
+emit_32(1119072263);
+emit_32(1094336171);
+emit_32(1132068864);
+emit_32(1119584256);
+emit_32(1095057906);
+emit_32(1131812880);
+emit_32(1119584256);
+emit_32(1095906414);
+emit_32(1132068864);
+emit_32(1120096263);
+emit_32(1096387500);
+emit_32(1131812880);
+emit_32(1120096263);
+emit_32(1097119721);
+emit_32(1132068864);
+emit_32(1120608322);
+emit_32(1098446484);
+emit_32(1131812880);
+emit_32(1120608322);
+emit_32(1099405040);
+emit_32(1132068864);
+emit_32(1121120289);
+emit_32(1099429000);
+emit_32(1131812880);
+emit_32(1121120289);
+emit_32(1100058250);
+emit_32(1132068864);
+emit_32(1121632256);
+emit_32(1099896455);
+emit_32(1131812880);
+emit_32(1121632256);
+emit_32(1100747951);
+emit_32(1132068864);
+emit_32(1122144223);
+emit_32(1100443235);
+emit_32(1131812880);
+emit_32(1122144223);
+emit_32(1101491654);
+emit_32(1132068864);
+emit_32(1122656322);
+emit_32(1100473854);
+emit_32(1131812880);
+emit_32(1122656322);
+emit_32(1101038145);
+emit_32(1132068864);
+emit_32(1123168289);
+emit_32(1100215956);
+emit_32(1131812880);
+emit_32(1123168289);
+emit_32(1101301390);
+emit_32(1132068864);
+emit_32(1123680256);
+emit_32(1101082604);
+emit_32(1131812880);
+emit_32(1123680256);
+emit_32(1101605949);
+emit_32(1132068864);
+emit_32(1124132848);
+emit_32(1101268622);
+emit_32(1131812880);
+emit_32(1124132848);
+emit_32(1102212026);
+emit_32(1132068864);
+emit_32(1124388897);
+emit_32(1101640237);
+emit_32(1131812880);
+emit_32(1124388897);
+emit_32(1102532523);
+emit_32(1132068864);
+emit_32(1124644880);
+emit_32(1102204895);
+emit_32(1131812880);
+emit_32(1124644880);
+emit_32(1103346847);
+emit_32(1132068864);
+emit_32(1124900864);
+emit_32(1102705643);
+emit_32(1131812880);
+emit_32(1124900864);
+emit_32(1103273709);
+emit_32(1132068864);
+emit_32(1125156848);
+emit_32(1102314000);
+emit_32(1131812880);
+emit_32(1125156848);
+emit_32(1103265949);
+emit_32(1132068864);
+emit_32(1125412897);
+emit_32(1102386142);
+emit_32(1131812880);
+emit_32(1125412897);
+emit_32(1103012351);
+emit_32(1132068864);
+emit_32(1125668880);
+emit_32(1102880021);
+emit_32(1131812880);
+emit_32(1125668880);
+emit_32(1103173727);
+emit_32(1132068864);
+emit_32(1125924864);
+emit_32(1103727428);
+emit_32(1131812880);
+emit_32(1125924864);
+emit_32(1103580732);
+emit_32(1132068864);
+emit_32(1126180848);
+emit_32(1103758413);
+emit_32(1131812880);
+emit_32(1126180848);
+emit_32(1103482113);
+emit_32(1132068864);
+emit_32(1126436897);
+emit_32(1104015471);
+emit_32(1131812880);
+emit_32(1126436897);
+emit_32(1103163241);
+emit_32(1132068864);
+emit_32(1126692880);
+emit_32(1103273342);
+emit_32(1131812880);
+emit_32(1126692880);
+emit_32(1103421348);
+emit_32(1132068864);
+emit_32(1126948864);
+emit_32(1103651353);
+emit_32(1131812880);
+emit_32(1126948864);
+emit_32(1103608938);
+emit_32(1132068864);
+emit_32(1127204848);
+emit_32(1103631850);
+emit_32(1131812880);
+emit_32(1127204848);
+emit_32(1103515039);
+emit_32(1132068864);
+emit_32(1127460897);
+emit_32(1102883324);
+emit_32(1131812880);
+emit_32(1127460897);
+emit_32(1102412041);
+emit_32(1132068864);
+emit_32(1127716880);
+emit_32(1101507068);
+emit_32(1131812880);
+emit_32(1127716880);
+emit_32(1101349991);
+emit_32(1132068864);
+emit_32(1127972864);
+emit_32(1100875563);
+emit_32(1131812880);
+emit_32(1127972864);
+emit_32(1101021210);
+emit_32(1132068864);
+emit_32(1128228848);
+emit_32(1101251582);
+emit_32(1131812880);
+emit_32(1128228848);
+emit_32(1101209063);
+emit_32(1132068864);
+emit_32(1128484897);
+emit_32(1100876402);
+emit_32(1131812880);
+emit_32(1128484897);
+emit_32(1101824944);
+emit_32(1132068864);
+emit_32(1128740880);
+emit_32(1100846465);
+emit_32(1131812880);
+emit_32(1128740880);
+emit_32(1101829662);
+emit_32(1132068864);
+emit_32(1128996864);
+emit_32(1101043178);
+emit_32(1131812880);
+emit_32(1128996864);
+emit_32(1101204029);
+emit_32(1132068864);
+emit_32(1129252848);
+emit_32(1100934912);
+emit_32(1131812880);
+emit_32(1129252848);
+emit_32(1100678640);
+emit_32(1132068864);
+emit_32(1129508897);
+emit_32(1100716494);
+emit_32(1131812880);
+emit_32(1129508897);
+emit_32(1100794770);
+emit_32(1132068864);
+emit_32(1129764880);
+emit_32(1100633499);
+emit_32(1131812880);
+emit_32(1129764880);
+emit_32(1100531158);
+emit_32(1132068864);
+emit_32(1130020864);
+emit_32(1100357409);
+emit_32(1131812880);
+emit_32(1130020864);
+emit_32(1100965793);
+emit_32(1132068864);
+emit_32(1130276848);
+emit_32(1100382418);
+emit_32(1131812880);
+emit_32(1130276848);
+emit_32(1100936852);
+emit_32(1132068864);
+emit_32(1130532897);
+emit_32(1100142189);
+emit_32(1131812880);
+emit_32(1130532897);
+emit_32(1100410834);
+emit_32(1132068864);
+emit_32(1130788880);
+emit_32(1099421503);
+emit_32(1131812880);
+emit_32(1130788880);
+emit_32(1099690462);
+emit_32(1132068864);
+emit_32(1131044864);
+emit_32(1098506358);
+emit_32(1131812880);
+emit_32(1131044864);
+emit_32(1098996725);
+emit_32(1132068864);
+emit_32(1131300848);
+emit_32(1098434740);
+emit_32(1131812880);
+emit_32(1131300848);
+emit_32(1098247465);
+emit_32(1132068864);
+emit_32(1131556897);
+emit_32(1098117861);
+emit_32(1131812880);
+emit_32(1131556897);
+emit_32(1097891158);
+emit_32(1132068864);
+emit_32(1131812880);
+emit_32(1096949432);
+emit_32(1131812880);
+emit_32(1131812880);
+emit_32(1097085433);
+emit_32(1132068864);
+emit_32(1132068864);
+emit_32(1097236532);
+emit_32(1131812880);
+emit_32(1132068864);
+emit_32(1097193960);
+emit_32(1132068864);
+emit_32(1081737258);
+emit_32(1074643096);
+emit_32(1131556897);
+emit_32(1090125866);
+emit_32(1074941647);
+emit_32(1131556897);
+emit_32(1094418484);
+emit_32(1081645067);
+emit_32(1131556897);
+emit_32(1098514432);
+emit_32(1079576814);
+emit_32(1131556897);
+emit_32(1100759066);
+emit_32(1080655044);
+emit_32(1131556897);
+emit_32(1102807040);
+emit_32(1082425543);
+emit_32(1131556897);
+emit_32(1104855066);
+emit_32(1085781658);
+emit_32(1131556897);
+emit_32(1106903040);
+emit_32(1087711834);
+emit_32(1131556897);
+emit_32(1108123661);
+emit_32(1089079786);
+emit_32(1131556897);
+emit_32(1109147648);
+emit_32(1089855732);
+emit_32(1131556897);
+emit_32(1110171661);
+emit_32(1088401776);
+emit_32(1131556897);
+emit_32(1111195648);
+emit_32(1084013213);
+emit_32(1131556897);
+emit_32(1112219661);
+emit_32(1076464473);
+emit_32(1131556897);
+emit_32(1113243648);
+emit_32(1076936835);
+emit_32(1131556897);
+emit_32(1114267661);
+emit_32(1078376488);
+emit_32(1131556897);
+emit_32(1115291648);
+emit_32(1083428884);
+emit_32(1131556897);
+emit_32(1116000263);
+emit_32(1084998686);
+emit_32(1131556897);
+emit_32(1116512256);
+emit_32(1085103334);
+emit_32(1131556897);
+emit_32(1117024263);
+emit_32(1085114239);
+emit_32(1131556897);
+emit_32(1117536256);
+emit_32(1085358662);
+emit_32(1131556897);
+emit_32(1118048263);
+emit_32(1085033331);
+emit_32(1131556897);
+emit_32(1118560256);
+emit_32(1090041456);
+emit_32(1131556897);
+emit_32(1119072263);
+emit_32(1091993569);
+emit_32(1131556897);
+emit_32(1119584256);
+emit_32(1093969274);
+emit_32(1131556897);
+emit_32(1120096263);
+emit_32(1094791777);
+emit_32(1131556897);
+emit_32(1120608322);
+emit_32(1096921435);
+emit_32(1131556897);
+emit_32(1121120289);
+emit_32(1098017722);
+emit_32(1131556897);
+emit_32(1121632256);
+emit_32(1098852807);
+emit_32(1131556897);
+emit_32(1122144223);
+emit_32(1099349623);
+emit_32(1131556897);
+emit_32(1122656322);
+emit_32(1099542928);
+emit_32(1131556897);
+emit_32(1123168289);
+emit_32(1100094688);
+emit_32(1131556897);
+emit_32(1123680256);
+emit_32(1100410887);
+emit_32(1131556897);
+emit_32(1124132848);
+emit_32(1100650329);
+emit_32(1131556897);
+emit_32(1124388897);
+emit_32(1101060742);
+emit_32(1131556897);
+emit_32(1124644880);
+emit_32(1101440326);
+emit_32(1131556897);
+emit_32(1124900864);
+emit_32(1101720243);
+emit_32(1131556897);
+emit_32(1125156848);
+emit_32(1101846125);
+emit_32(1131556897);
+emit_32(1125412897);
+emit_32(1102182141);
+emit_32(1131556897);
+emit_32(1125668880);
+emit_32(1102845208);
+emit_32(1131556897);
+emit_32(1125924864);
+emit_32(1103549327);
+emit_32(1131556897);
+emit_32(1126180848);
+emit_32(1103862379);
+emit_32(1131556897);
+emit_32(1126436897);
+emit_32(1104116816);
+emit_32(1131556897);
+emit_32(1126692880);
+emit_32(1103549432);
+emit_32(1131556897);
+emit_32(1126948864);
+emit_32(1103788717);
+emit_32(1131556897);
+emit_32(1127204848);
+emit_32(1103809426);
+emit_32(1131556897);
+emit_32(1127460897);
+emit_32(1103218816);
+emit_32(1131556897);
+emit_32(1127716880);
+emit_32(1101572551);
+emit_32(1131556897);
+emit_32(1127972864);
+emit_32(1100781453);
+emit_32(1131556897);
+emit_32(1128228848);
+emit_32(1100996149);
+emit_32(1131556897);
+emit_32(1128484897);
+emit_32(1100798283);
+emit_32(1131556897);
+emit_32(1128740880);
+emit_32(1100454769);
+emit_32(1131556897);
+emit_32(1128996864);
+emit_32(1101100116);
+emit_32(1131556897);
+emit_32(1129252848);
+emit_32(1100635806);
+emit_32(1131556897);
+emit_32(1129508897);
+emit_32(1100423260);
+emit_32(1131556897);
+emit_32(1129764880);
+emit_32(1100375445);
+emit_32(1131556897);
+emit_32(1130020864);
+emit_32(1100374711);
+emit_32(1131556897);
+emit_32(1130276848);
+emit_32(1100128348);
+emit_32(1131556897);
+emit_32(1130532897);
+emit_32(1099813985);
+emit_32(1131556897);
+emit_32(1130788880);
+emit_32(1098580702);
+emit_32(1131556897);
+emit_32(1131044864);
+emit_32(1098117861);
+emit_32(1131556897);
+emit_32(1131300848);
+emit_32(1098142502);
+emit_32(1131556897);
+emit_32(1131556897);
+emit_32(1097315071);
+emit_32(1131556897);
+emit_32(1131812880);
+emit_32(1097397384);
+emit_32(1131556897);
+emit_32(1132068864);
+emit_32(1096997143);
+emit_32(1131556897);
+emit_32(1081737258);
+emit_32(1078120510);
+emit_32(1131300848);
+emit_32(1090125866);
+emit_32(1081645067);
+emit_32(1131300848);
+emit_32(1094418484);
+emit_32(1083207676);
+emit_32(1131300848);
+emit_32(1098514432);
+emit_32(1082548394);
+emit_32(1131300848);
+emit_32(1100759066);
+emit_32(1083149333);
+emit_32(1131300848);
+emit_32(1102807040);
+emit_32(1084467750);
+emit_32(1131300848);
+emit_32(1104855066);
+emit_32(1084194889);
+emit_32(1131300848);
+emit_32(1106903040);
+emit_32(1085853632);
+emit_32(1131300848);
+emit_32(1108123661);
+emit_32(1085123970);
+emit_32(1131300848);
+emit_32(1109147648);
+emit_32(1087285441);
+emit_32(1131300848);
+emit_32(1110171661);
+emit_32(1085386722);
+emit_32(1131300848);
+emit_32(1111195648);
+emit_32(1080853476);
+emit_32(1131300848);
+emit_32(1112219661);
+emit_32(1078285136);
+emit_32(1131300848);
+emit_32(1113243648);
+emit_32(1077796206);
+emit_32(1131300848);
+emit_32(1114267661);
+emit_32(1081903730);
+emit_32(1131300848);
+emit_32(1115291648);
+emit_32(1083632098);
+emit_32(1131300848);
+emit_32(1116000263);
+emit_32(1084393385);
+emit_32(1131300848);
+emit_32(1116512256);
+emit_32(1085051576);
+emit_32(1131300848);
+emit_32(1117024263);
+emit_32(1082744667);
+emit_32(1131300848);
+emit_32(1117536256);
+emit_32(1082567793);
+emit_32(1131300848);
+emit_32(1118048263);
+emit_32(1084454685);
+emit_32(1131300848);
+emit_32(1118560256);
+emit_32(1085247932);
+emit_32(1131300848);
+emit_32(1119072263);
+emit_32(1088549437);
+emit_32(1131300848);
+emit_32(1119584256);
+emit_32(1091234903);
+emit_32(1131300848);
+emit_32(1120096263);
+emit_32(1092613875);
+emit_32(1131300848);
+emit_32(1120608322);
+emit_32(1094687864);
+emit_32(1131300848);
+emit_32(1121120289);
+emit_32(1095660313);
+emit_32(1131300848);
+emit_32(1121632256);
+emit_32(1096595223);
+emit_32(1131300848);
+emit_32(1122144223);
+emit_32(1096407214);
+emit_32(1131300848);
+emit_32(1122656322);
+emit_32(1098896848);
+emit_32(1131300848);
+emit_32(1123168289);
+emit_32(1100002571);
+emit_32(1131300848);
+emit_32(1123680256);
+emit_32(1100330566);
+emit_32(1131300848);
+emit_32(1124132848);
+emit_32(1100556901);
+emit_32(1131300848);
+emit_32(1124388897);
+emit_32(1101046271);
+emit_32(1131300848);
+emit_32(1124644880);
+emit_32(1101210793);
+emit_32(1131300848);
+emit_32(1124900864);
+emit_32(1101438753);
+emit_32(1131300848);
+emit_32(1125156848);
+emit_32(1101639765);
+emit_32(1131300848);
+emit_32(1125412897);
+emit_32(1102320291);
+emit_32(1131300848);
+emit_32(1125668880);
+emit_32(1103059380);
+emit_32(1131300848);
+emit_32(1125924864);
+emit_32(1103640815);
+emit_32(1131300848);
+emit_32(1126180848);
+emit_32(1104063234);
+emit_32(1131300848);
+emit_32(1126436897);
+emit_32(1103970068);
+emit_32(1131300848);
+emit_32(1126692880);
+emit_32(1103293999);
+emit_32(1131300848);
+emit_32(1126948864);
+emit_32(1106602885);
+emit_32(1131300848);
+emit_32(1127204848);
+emit_32(1106714296);
+emit_32(1131300848);
+emit_32(1127460897);
+emit_32(1105856718);
+emit_32(1131300848);
+emit_32(1127716880);
+emit_32(1104477736);
+emit_32(1131300848);
+emit_32(1127972864);
+emit_32(1103475455);
+emit_32(1131300848);
+emit_32(1128228848);
+emit_32(1102947182);
+emit_32(1131300848);
+emit_32(1128484897);
+emit_32(1102778938);
+emit_32(1131300848);
+emit_32(1128740880);
+emit_32(1102741242);
+emit_32(1131300848);
+emit_32(1128996864);
+emit_32(1099705667);
+emit_32(1131300848);
+emit_32(1129252848);
+emit_32(1099651088);
+emit_32(1131300848);
+emit_32(1129508897);
+emit_32(1099707659);
+emit_32(1131300848);
+emit_32(1129764880);
+emit_32(1100081634);
+emit_32(1131300848);
+emit_32(1130020864);
+emit_32(1100312373);
+emit_32(1131300848);
+emit_32(1130276848);
+emit_32(1100150263);
+emit_32(1131300848);
+emit_32(1130532897);
+emit_32(1099562326);
+emit_32(1131300848);
+emit_32(1130788880);
+emit_32(1099117363);
+emit_32(1131300848);
+emit_32(1131044864);
+emit_32(1098383150);
+emit_32(1131300848);
+emit_32(1131300848);
+emit_32(1097461347);
+emit_32(1131300848);
+emit_32(1131556897);
+emit_32(1097130836);
+emit_32(1131300848);
+emit_32(1131812880);
+emit_32(1097046950);
+emit_32(1131300848);
+emit_32(1132068864);
+emit_32(1096949537);
+emit_32(1131300848);
+emit_32(1081737258);
+emit_32(1084629524);
+emit_32(1131044864);
+emit_32(1090125866);
+emit_32(1084086907);
+emit_32(1131044864);
+emit_32(1094418484);
+emit_32(1082202008);
+emit_32(1131044864);
+emit_32(1098514432);
+emit_32(1080912280);
+emit_32(1131044864);
+emit_32(1100759066);
+emit_32(1083063329);
+emit_32(1131044864);
+emit_32(1102807040);
+emit_32(1084485051);
+emit_32(1131044864);
+emit_32(1104855066);
+emit_32(1083389331);
+emit_32(1131044864);
+emit_32(1106903040);
+emit_32(1083284872);
+emit_32(1131044864);
+emit_32(1108123661);
+emit_32(1083776948);
+emit_32(1131044864);
+emit_32(1109147648);
+emit_32(1084114904);
+emit_32(1131044864);
+emit_32(1110171661);
+emit_32(1084297860);
+emit_32(1131044864);
+emit_32(1111195648);
+emit_32(1078278635);
+emit_32(1131044864);
+emit_32(1112219661);
+emit_32(1076164118);
+emit_32(1131044864);
+emit_32(1113243648);
+emit_32(1078294028);
+emit_32(1131044864);
+emit_32(1114267661);
+emit_32(1082183700);
+emit_32(1131044864);
+emit_32(1115291648);
+emit_32(1083337867);
+emit_32(1131044864);
+emit_32(1116000263);
+emit_32(1083538145);
+emit_32(1131044864);
+emit_32(1116512256);
+emit_32(1083307354);
+emit_32(1131044864);
+emit_32(1117024263);
+emit_32(1082616971);
+emit_32(1131044864);
+emit_32(1117536256);
+emit_32(1082459895);
+emit_32(1131044864);
+emit_32(1118048263);
+emit_32(1082553155);
+emit_32(1131044864);
+emit_32(1118560256);
+emit_32(1082740745);
+emit_32(1131044864);
+emit_32(1119072263);
+emit_32(1085377369);
+emit_32(1131044864);
+emit_32(1119584256);
+emit_32(1088549688);
+emit_32(1131044864);
+emit_32(1120096263);
+emit_32(1090805993);
+emit_32(1131044864);
+emit_32(1120608322);
+emit_32(1092446868);
+emit_32(1131044864);
+emit_32(1121120289);
+emit_32(1093587383);
+emit_32(1131044864);
+emit_32(1121632256);
+emit_32(1094483916);
+emit_32(1131044864);
+emit_32(1122144223);
+emit_32(1096648281);
+emit_32(1131044864);
+emit_32(1122656322);
+emit_32(1098439773);
+emit_32(1131044864);
+emit_32(1123168289);
+emit_32(1099378301);
+emit_32(1131044864);
+emit_32(1123680256);
+emit_32(1100113301);
+emit_32(1131044864);
+emit_32(1124132848);
+emit_32(1100821928);
+emit_32(1131044864);
+emit_32(1124388897);
+emit_32(1100695994);
+emit_32(1131044864);
+emit_32(1124644880);
+emit_32(1100654418);
+emit_32(1131044864);
+emit_32(1124900864);
+emit_32(1101348733);
+emit_32(1131044864);
+emit_32(1125156848);
+emit_32(1101846177);
+emit_32(1131044864);
+emit_32(1125412897);
+emit_32(1102171131);
+emit_32(1131044864);
+emit_32(1125668880);
+emit_32(1102926263);
+emit_32(1131044864);
+emit_32(1125924864);
+emit_32(1103561857);
+emit_32(1131044864);
+emit_32(1126180848);
+emit_32(1105011566);
+emit_32(1131044864);
+emit_32(1126436897);
+emit_32(1105956281);
+emit_32(1131044864);
+emit_32(1126692880);
+emit_32(1106074193);
+emit_32(1131044864);
+emit_32(1126948864);
+emit_32(1106288155);
+emit_32(1131044864);
+emit_32(1127204848);
+emit_32(1106414875);
+emit_32(1131044864);
+emit_32(1127460897);
+emit_32(1105582830);
+emit_32(1131044864);
+emit_32(1127716880);
+emit_32(1104515013);
+emit_32(1131044864);
+emit_32(1127972864);
+emit_32(1103803187);
+emit_32(1131044864);
+emit_32(1128228848);
+emit_32(1103189298);
+emit_32(1131044864);
+emit_32(1128484897);
+emit_32(1102339532);
+emit_32(1131044864);
+emit_32(1128740880);
+emit_32(1102167776);
+emit_32(1131044864);
+emit_32(1128996864);
+emit_32(1102179887);
+emit_32(1131044864);
+emit_32(1129252848);
+emit_32(1101976463);
+emit_32(1131044864);
+emit_32(1129508897);
+emit_32(1099672899);
+emit_32(1131044864);
+emit_32(1129764880);
+emit_32(1099572288);
+emit_32(1131044864);
+emit_32(1130020864);
+emit_32(1099410126);
+emit_32(1131044864);
+emit_32(1130276848);
+emit_32(1099232077);
+emit_32(1131044864);
+emit_32(1130532897);
+emit_32(1099661994);
+emit_32(1131044864);
+emit_32(1130788880);
+emit_32(1099398382);
+emit_32(1131044864);
+emit_32(1131044864);
+emit_32(1098507197);
+emit_32(1131044864);
+emit_32(1131300848);
+emit_32(1098737045);
+emit_32(1131044864);
+emit_32(1131556897);
+emit_32(1097951452);
+emit_32(1131044864);
+emit_32(1131812880);
+emit_32(1097046111);
+emit_32(1131044864);
+emit_32(1132068864);
+emit_32(1096926888);
+emit_32(1131044864);
+emit_32(1081737258);
+emit_32(1086083564);
+emit_32(1130788880);
+emit_32(1090125845);
+emit_32(1085231281);
+emit_32(1130788880);
+emit_32(1094418484);
+emit_32(1084350058);
+emit_32(1130788880);
+emit_32(1098514432);
+emit_32(1082346082);
+emit_32(1130788880);
+emit_32(1100759066);
+emit_32(1082352080);
+emit_32(1130788880);
+emit_32(1102807040);
+emit_32(1083015472);
+emit_32(1130788880);
+emit_32(1104855066);
+emit_32(1082714468);
+emit_32(1130788880);
+emit_32(1106903040);
+emit_32(1082667555);
+emit_32(1130788880);
+emit_32(1108123661);
+emit_32(1081440133);
+emit_32(1130788880);
+emit_32(1109147648);
+emit_32(1079509621);
+emit_32(1130788880);
+emit_32(1110171661);
+emit_32(1082472016);
+emit_32(1130788880);
+emit_32(1111195648);
+emit_32(1077273302);
+emit_32(1130788880);
+emit_32(1112219661);
+emit_32(1077242684);
+emit_32(1130788880);
+emit_32(1113243648);
+emit_32(1078266387);
+emit_32(1130788880);
+emit_32(1114267661);
+emit_32(1079519268);
+emit_32(1130788880);
+emit_32(1115291648);
+emit_32(1082332010);
+emit_32(1130788880);
+emit_32(1116000263);
+emit_32(1083509876);
+emit_32(1130788880);
+emit_32(1116512256);
+emit_32(1083089082);
+emit_32(1130788880);
+emit_32(1117024263);
+emit_32(1081681474);
+emit_32(1130788880);
+emit_32(1117536256);
+emit_32(1081604928);
+emit_32(1130788880);
+emit_32(1118048263);
+emit_32(1083484521);
+emit_32(1130788880);
+emit_32(1118560256);
+emit_32(1085967948);
+emit_32(1130788880);
+emit_32(1119072263);
+emit_32(1087165358);
+emit_32(1130788880);
+emit_32(1119584256);
+emit_32(1089804205);
+emit_32(1130788880);
+emit_32(1120096263);
+emit_32(1090592986);
+emit_32(1130788880);
+emit_32(1120608322);
+emit_32(1092476018);
+emit_32(1130788880);
+emit_32(1121120289);
+emit_32(1094570318);
+emit_32(1130788880);
+emit_32(1121632256);
+emit_32(1095714420);
+emit_32(1130788880);
+emit_32(1122144223);
+emit_32(1097098330);
+emit_32(1130788880);
+emit_32(1122656322);
+emit_32(1098580073);
+emit_32(1130788880);
+emit_32(1123168289);
+emit_32(1099541460);
+emit_32(1130788880);
+emit_32(1123680256);
+emit_32(1100022651);
+emit_32(1130788880);
+emit_32(1124132848);
+emit_32(1100679217);
+emit_32(1130788880);
+emit_32(1124388897);
+emit_32(1100590455);
+emit_32(1130788880);
+emit_32(1124644880);
+emit_32(1100445647);
+emit_32(1130788880);
+emit_32(1124900864);
+emit_32(1100992374);
+emit_32(1130788880);
+emit_32(1125156848);
+emit_32(1101812256);
+emit_32(1130788880);
+emit_32(1125412897);
+emit_32(1101911923);
+emit_32(1130788880);
+emit_32(1125668880);
+emit_32(1102583326);
+emit_32(1130788880);
+emit_32(1125924864);
+emit_32(1105586396);
+emit_32(1130788880);
+emit_32(1126180848);
+emit_32(1105418204);
+emit_32(1130788880);
+emit_32(1126436897);
+emit_32(1105539000);
+emit_32(1130788880);
+emit_32(1126692880);
+emit_32(1106015263);
+emit_32(1130788880);
+emit_32(1126948864);
+emit_32(1106032198);
+emit_32(1130788880);
+emit_32(1127204848);
+emit_32(1106139834);
+emit_32(1130788880);
+emit_32(1127460897);
+emit_32(1105229880);
+emit_32(1130788880);
+emit_32(1127716880);
+emit_32(1105009679);
+emit_32(1130788880);
+emit_32(1127972864);
+emit_32(1104632873);
+emit_32(1130788880);
+emit_32(1128228848);
+emit_32(1104045408);
+emit_32(1130788880);
+emit_32(1128484897);
+emit_32(1103027136);
+emit_32(1130788880);
+emit_32(1128740880);
+emit_32(1102134274);
+emit_32(1130788880);
+emit_32(1128996864);
+emit_32(1101980290);
+emit_32(1130788880);
+emit_32(1129252848);
+emit_32(1101929854);
+emit_32(1130788880);
+emit_32(1129508897);
+emit_32(1102202274);
+emit_32(1130788880);
+emit_32(1129764880);
+emit_32(1102297170);
+emit_32(1130788880);
+emit_32(1130020864);
+emit_32(1099118307);
+emit_32(1130788880);
+emit_32(1130276848);
+emit_32(1098962856);
+emit_32(1130788880);
+emit_32(1130532897);
+emit_32(1099408500);
+emit_32(1130788880);
+emit_32(1130788880);
+emit_32(1099424124);
+emit_32(1130788880);
+emit_32(1131044864);
+emit_32(1098958347);
+emit_32(1130788880);
+emit_32(1131300848);
+emit_32(1098882272);
+emit_32(1130788880);
+emit_32(1131556897);
+emit_32(1098200698);
+emit_32(1130788880);
+emit_32(1131812880);
+emit_32(1098164103);
+emit_32(1130788880);
+emit_32(1132068864);
+emit_32(1097566310);
+emit_32(1130788880);
+emit_32(1081737258);
+emit_32(1088205504);
+emit_32(1130532897);
+emit_32(1090125845);
+emit_32(1087556645);
+emit_32(1130532897);
+emit_32(1094418484);
+emit_32(1086398472);
+emit_32(1130532897);
+emit_32(1098514432);
+emit_32(1083645478);
+emit_32(1130532897);
+emit_32(1100759066);
+emit_32(1080639357);
+emit_32(1130532897);
+emit_32(1102807040);
+emit_32(1082880395);
+emit_32(1130532897);
+emit_32(1104855066);
+emit_32(1082376092);
+emit_32(1130532897);
+emit_32(1106903040);
+emit_32(1082783171);
+emit_32(1130532897);
+emit_32(1108123661);
+emit_32(1079715142);
+emit_32(1130532897);
+emit_32(1109147648);
+emit_32(1074967232);
+emit_32(1130532897);
+emit_32(1110171661);
+emit_32(1075751525);
+emit_32(1130532897);
+emit_32(1111195648);
+emit_32(1074864513);
+emit_32(1130532897);
+emit_32(1112219661);
+emit_32(1066352635);
+emit_32(1130532897);
+emit_32(1113243648);
+emit_32(1075556532);
+emit_32(1130532897);
+emit_32(1114267661);
+emit_32(1081657231);
+emit_32(1130532897);
+emit_32(1115291648);
+emit_32(1082114913);
+emit_32(1130532897);
+emit_32(1116000263);
+emit_32(1082771049);
+emit_32(1130532897);
+emit_32(1116512256);
+emit_32(1083047705);
+emit_32(1130532897);
+emit_32(1117024263);
+emit_32(1081671953);
+emit_32(1130532897);
+emit_32(1117536256);
+emit_32(1082383810);
+emit_32(1130532897);
+emit_32(1118048263);
+emit_32(1085344359);
+emit_32(1130532897);
+emit_32(1118560256);
+emit_32(1087131993);
+emit_32(1130532897);
+emit_32(1119072263);
+emit_32(1088001598);
+emit_32(1130532897);
+emit_32(1119584256);
+emit_32(1090829398);
+emit_32(1130532897);
+emit_32(1120096263);
+emit_32(1091029938);
+emit_32(1130532897);
+emit_32(1120608322);
+emit_32(1092548601);
+emit_32(1130532897);
+emit_32(1121120289);
+emit_32(1094257947);
+emit_32(1130532897);
+emit_32(1121632256);
+emit_32(1095812881);
+emit_32(1130532897);
+emit_32(1122144223);
+emit_32(1096665897);
+emit_32(1130532897);
+emit_32(1122656322);
+emit_32(1097826356);
+emit_32(1130532897);
+emit_32(1123168289);
+emit_32(1099106825);
+emit_32(1130532897);
+emit_32(1123680256);
+emit_32(1099535378);
+emit_32(1130532897);
+emit_32(1124132848);
+emit_32(1099629068);
+emit_32(1130532897);
+emit_32(1124388897);
+emit_32(1100012480);
+emit_32(1130532897);
+emit_32(1124644880);
+emit_32(1100315047);
+emit_32(1130532897);
+emit_32(1124900864);
+emit_32(1100226809);
+emit_32(1130532897);
+emit_32(1125156848);
+emit_32(1101404150);
+emit_32(1130532897);
+emit_32(1125412897);
+emit_32(1101559392);
+emit_32(1130532897);
+emit_32(1125668880);
+emit_32(1104381215);
+emit_32(1130532897);
+emit_32(1125924864);
+emit_32(1104769555);
+emit_32(1130532897);
+emit_32(1126180848);
+emit_32(1104830110);
+emit_32(1130532897);
+emit_32(1126436897);
+emit_32(1105225685);
+emit_32(1130532897);
+emit_32(1126692880);
+emit_32(1105543666);
+emit_32(1130532897);
+emit_32(1126948864);
+emit_32(1105381923);
+emit_32(1130532897);
+emit_32(1127204848);
+emit_32(1102960080);
+emit_32(1130532897);
+emit_32(1127460897);
+emit_32(1102636017);
+emit_32(1130532897);
+emit_32(1127716880);
+emit_32(1102352640);
+emit_32(1130532897);
+emit_32(1127972864);
+emit_32(1102376600);
+emit_32(1130532897);
+emit_32(1128228848);
+emit_32(1101985061);
+emit_32(1130532897);
+emit_32(1128484897);
+emit_32(1100996464);
+emit_32(1130532897);
+emit_32(1128740880);
+emit_32(1102569013);
+emit_32(1130532897);
+emit_32(1128996864);
+emit_32(1102092331);
+emit_32(1130532897);
+emit_32(1129252848);
+emit_32(1102309543);
+emit_32(1130532897);
+emit_32(1129508897);
+emit_32(1102185287);
+emit_32(1130532897);
+emit_32(1129764880);
+emit_32(1102249407);
+emit_32(1130532897);
+emit_32(1130020864);
+emit_32(1102463107);
+emit_32(1130532897);
+emit_32(1130276848);
+emit_32(1099451125);
+emit_32(1130532897);
+emit_32(1130532897);
+emit_32(1098977588);
+emit_32(1130532897);
+emit_32(1130788880);
+emit_32(1099393401);
+emit_32(1130532897);
+emit_32(1131044864);
+emit_32(1099525941);
+emit_32(1130532897);
+emit_32(1131300848);
+emit_32(1099608359);
+emit_32(1130532897);
+emit_32(1131556897);
+emit_32(1099010985);
+emit_32(1130532897);
+emit_32(1131812880);
+emit_32(1098150052);
+emit_32(1130532897);
+emit_32(1132068864);
+emit_32(1097996750);
+emit_32(1130532897);
+emit_32(1081737258);
+emit_32(1088030748);
+emit_32(1130276848);
+emit_32(1090125845);
+emit_32(1088922017);
+emit_32(1130276848);
+emit_32(1094418484);
+emit_32(1086531599);
+emit_32(1130276848);
+emit_32(1098514432);
+emit_32(1084132164);
+emit_32(1130276848);
+emit_32(1100759066);
+emit_32(1081632694);
+emit_32(1130276848);
+emit_32(1102807040);
+emit_32(1082276478);
+emit_32(1130276848);
+emit_32(1104855066);
+emit_32(1081735706);
+emit_32(1130276848);
+emit_32(1106903040);
+emit_32(1082304580);
+emit_32(1130276848);
+emit_32(1108123661);
+emit_32(1079035203);
+emit_32(1130276848);
+emit_32(1109147648);
+emit_32(1069837514);
+emit_32(1130276848);
+emit_32(1110171661);
+emit_32(1072973008);
+emit_32(1130276848);
+emit_32(1111195648);
+emit_32(1073616750);
+emit_32(1130276848);
+emit_32(1112219661);
+emit_32(1074356373);
+emit_32(1130276848);
+emit_32(1113243648);
+emit_32(1076853159);
+emit_32(1130276848);
+emit_32(1114267661);
+emit_32(1081069063);
+emit_32(1130276848);
+emit_32(1115291648);
+emit_32(1082137856);
+emit_32(1130276848);
+emit_32(1116000263);
+emit_32(1082943959);
+emit_32(1130276848);
+emit_32(1116512256);
+emit_32(1081841906);
+emit_32(1130276848);
+emit_32(1117024263);
+emit_32(1079724873);
+emit_32(1130276848);
+emit_32(1117536256);
+emit_32(1084345444);
+emit_32(1130276848);
+emit_32(1118048263);
+emit_32(1086294789);
+emit_32(1130276848);
+emit_32(1118560256);
+emit_32(1087434528);
+emit_32(1130276848);
+emit_32(1119072263);
+emit_32(1088073635);
+emit_32(1130276848);
+emit_32(1119584256);
+emit_32(1089448947);
+emit_32(1130276848);
+emit_32(1120096263);
+emit_32(1090721069);
+emit_32(1130276848);
+emit_32(1120608322);
+emit_32(1091918239);
+emit_32(1130276848);
+emit_32(1121120289);
+emit_32(1094547984);
+emit_32(1130276848);
+emit_32(1121632256);
+emit_32(1095883345);
+emit_32(1130276848);
+emit_32(1122144223);
+emit_32(1096699766);
+emit_32(1130276848);
+emit_32(1122656322);
+emit_32(1097650825);
+emit_32(1130276848);
+emit_32(1123168289);
+emit_32(1098292029);
+emit_32(1130276848);
+emit_32(1123680256);
+emit_32(1098586993);
+emit_32(1130276848);
+emit_32(1124132848);
+emit_32(1099015075);
+emit_32(1130276848);
+emit_32(1124388897);
+emit_32(1099448608);
+emit_32(1130276848);
+emit_32(1124644880);
+emit_32(1100240545);
+emit_32(1130276848);
+emit_32(1124900864);
+emit_32(1100411568);
+emit_32(1130276848);
+emit_32(1125156848);
+emit_32(1100717962);
+emit_32(1130276848);
+emit_32(1125412897);
+emit_32(1104106121);
+emit_32(1130276848);
+emit_32(1125668880);
+emit_32(1103981340);
+emit_32(1130276848);
+emit_32(1125924864);
+emit_32(1104173177);
+emit_32(1130276848);
+emit_32(1126180848);
+emit_32(1104308653);
+emit_32(1130276848);
+emit_32(1126436897);
+emit_32(1104718856);
+emit_32(1130276848);
+emit_32(1126692880);
+emit_32(1104731072);
+emit_32(1130276848);
+emit_32(1126948864);
+emit_32(1102448479);
+emit_32(1130276848);
+emit_32(1127204848);
+emit_32(1102776107);
+emit_32(1130276848);
+emit_32(1127460897);
+emit_32(1102622858);
+emit_32(1130276848);
+emit_32(1127716880);
+emit_32(1102367582);
+emit_32(1130276848);
+emit_32(1127972864);
+emit_32(1102063704);
+emit_32(1130276848);
+emit_32(1128228848);
+emit_32(1101966973);
+emit_32(1130276848);
+emit_32(1128484897);
+emit_32(1101031067);
+emit_32(1130276848);
+emit_32(1128740880);
+emit_32(1100260154);
+emit_32(1130276848);
+emit_32(1128996864);
+emit_32(1100108530);
+emit_32(1130276848);
+emit_32(1129252848);
+emit_32(1102466305);
+emit_32(1130276848);
+emit_32(1129508897);
+emit_32(1102042209);
+emit_32(1130276848);
+emit_32(1129764880);
+emit_32(1101779803);
+emit_32(1130276848);
+emit_32(1130020864);
+emit_32(1101832441);
+emit_32(1130276848);
+emit_32(1130276848);
+emit_32(1101855772);
+emit_32(1130276848);
+emit_32(1130532897);
+emit_32(1099854407);
+emit_32(1130276848);
+emit_32(1130788880);
+emit_32(1099755369);
+emit_32(1130276848);
+emit_32(1131044864);
+emit_32(1100126198);
+emit_32(1130276848);
+emit_32(1131300848);
+emit_32(1100210346);
+emit_32(1130276848);
+emit_32(1131556897);
+emit_32(1099599131);
+emit_32(1130276848);
+emit_32(1131812880);
+emit_32(1099312713);
+emit_32(1130276848);
+emit_32(1132068864);
+emit_32(1099215405);
+emit_32(1130276848);
+emit_32(1081737300);
+emit_32(1090545737);
+emit_32(1130020864);
+emit_32(1090125845);
+emit_32(1090779118);
+emit_32(1130020864);
+emit_32(1094418484);
+emit_32(1088257765);
+emit_32(1130020864);
+emit_32(1098514432);
+emit_32(1086032917);
+emit_32(1130020864);
+emit_32(1100759066);
+emit_32(1083317483);
+emit_32(1130020864);
+emit_32(1102807040);
+emit_32(1080833973);
+emit_32(1130020864);
+emit_32(1104855066);
+emit_32(1082686639);
+emit_32(1130020864);
+emit_32(1106903040);
+emit_32(1079520862);
+emit_32(1130020864);
+emit_32(1108123661);
+emit_32(1071421451);
+emit_32(1130020864);
+emit_32(1109147648);
+emit_32(1074673169);
+emit_32(1130020864);
+emit_32(1110171661);
+emit_32(1076755348);
+emit_32(1130020864);
+emit_32(1111195648);
+emit_32(1078551432);
+emit_32(1130020864);
+emit_32(1112219661);
+emit_32(1078159559);
+emit_32(1130020864);
+emit_32(1113243648);
+emit_32(1078755569);
+emit_32(1130020864);
+emit_32(1114267661);
+emit_32(1080798447);
+emit_32(1130020864);
+emit_32(1115291648);
+emit_32(1079415837);
+emit_32(1130020864);
+emit_32(1116000263);
+emit_32(1082138863);
+emit_32(1130020864);
+emit_32(1116512256);
+emit_32(1077619039);
+emit_32(1130020864);
+emit_32(1117024263);
+emit_32(1082948888);
+emit_32(1130020864);
+emit_32(1117536256);
+emit_32(1085399431);
+emit_32(1130020864);
+emit_32(1118048263);
+emit_32(1087137844);
+emit_32(1130020864);
+emit_32(1118560256);
+emit_32(1087057984);
+emit_32(1130020864);
+emit_32(1119072263);
+emit_32(1088011706);
+emit_32(1130020864);
+emit_32(1119584256);
+emit_32(1087547166);
+emit_32(1130020864);
+emit_32(1120096263);
+emit_32(1089001897);
+emit_32(1130020864);
+emit_32(1120608322);
+emit_32(1092274230);
+emit_32(1130020864);
+emit_32(1121120289);
+emit_32(1093489656);
+emit_32(1130020864);
+emit_32(1121632256);
+emit_32(1094888037);
+emit_32(1130020864);
+emit_32(1122144223);
+emit_32(1095981597);
+emit_32(1130020864);
+emit_32(1122656322);
+emit_32(1097071696);
+emit_32(1130020864);
+emit_32(1123168289);
+emit_32(1097539571);
+emit_32(1130020864);
+emit_32(1123680256);
+emit_32(1097094346);
+emit_32(1130020864);
+emit_32(1124132848);
+emit_32(1098861091);
+emit_32(1130020864);
+emit_32(1124388897);
+emit_32(1099278215);
+emit_32(1130020864);
+emit_32(1124644880);
+emit_32(1099782108);
+emit_32(1130020864);
+emit_32(1124900864);
+emit_32(1100389129);
+emit_32(1130020864);
+emit_32(1125156848);
+emit_32(1103220179);
+emit_32(1130020864);
+emit_32(1125412897);
+emit_32(1103665509);
+emit_32(1130020864);
+emit_32(1125668880);
+emit_32(1104112307);
+emit_32(1130020864);
+emit_32(1125924864);
+emit_32(1104257063);
+emit_32(1130020864);
+emit_32(1126180848);
+emit_32(1103372904);
+emit_32(1130020864);
+emit_32(1126436897);
+emit_32(1104276514);
+emit_32(1130020864);
+emit_32(1126692880);
+emit_32(1104476792);
+emit_32(1130020864);
+emit_32(1126948864);
+emit_32(1102277299);
+emit_32(1130020864);
+emit_32(1127204848);
+emit_32(1102993162);
+emit_32(1130020864);
+emit_32(1127460897);
+emit_32(1102760011);
+emit_32(1130020864);
+emit_32(1127716880);
+emit_32(1102172861);
+emit_32(1130020864);
+emit_32(1127972864);
+emit_32(1102165993);
+emit_32(1130020864);
+emit_32(1128228848);
+emit_32(1101400008);
+emit_32(1130020864);
+emit_32(1128484897);
+emit_32(1100749524);
+emit_32(1130020864);
+emit_32(1128740880);
+emit_32(1100733953);
+emit_32(1130020864);
+emit_32(1128996864);
+emit_32(1100153147);
+emit_32(1130020864);
+emit_32(1129252848);
+emit_32(1100010435);
+emit_32(1130020864);
+emit_32(1129508897);
+emit_32(1101004957);
+emit_32(1130020864);
+emit_32(1129764880);
+emit_32(1102164053);
+emit_32(1130020864);
+emit_32(1130020864);
+emit_32(1101850110);
+emit_32(1130020864);
+emit_32(1130276848);
+emit_32(1102364960);
+emit_32(1130020864);
+emit_32(1130532897);
+emit_32(1103265268);
+emit_32(1130020864);
+emit_32(1130788880);
+emit_32(1100508614);
+emit_32(1130020864);
+emit_32(1131044864);
+emit_32(1100302936);
+emit_32(1130020864);
+emit_32(1131300848);
+emit_32(1100358615);
+emit_32(1130020864);
+emit_32(1131556897);
+emit_32(1100122056);
+emit_32(1130020864);
+emit_32(1131812880);
+emit_32(1099275331);
+emit_32(1130020864);
+emit_32(1132068864);
+emit_32(1099473145);
+emit_32(1130020864);
+emit_32(1081737300);
+emit_32(1091835139);
+emit_32(1129764880);
+emit_32(1090125845);
+emit_32(1092274629);
+emit_32(1129764880);
+emit_32(1094418484);
+emit_32(1091485187);
+emit_32(1129764880);
+emit_32(1098514432);
+emit_32(1088227650);
+emit_32(1129764880);
+emit_32(1100759066);
+emit_32(1086589313);
+emit_32(1129764880);
+emit_32(1102807040);
+emit_32(1084191974);
+emit_32(1129764880);
+emit_32(1104855066);
+emit_32(1080611507);
+emit_32(1129764880);
+emit_32(1106903040);
+emit_32(1075926931);
+emit_32(1129764880);
+emit_32(1108123661);
+emit_32(1079228645);
+emit_32(1129764880);
+emit_32(1109147648);
+emit_32(1082222833);
+emit_32(1129764880);
+emit_32(1110171661);
+emit_32(1083146418);
+emit_32(1129764880);
+emit_32(1111195648);
+emit_32(1082983868);
+emit_32(1129764880);
+emit_32(1112219661);
+emit_32(1081162806);
+emit_32(1129764880);
+emit_32(1113243648);
+emit_32(1077328919);
+emit_32(1129764880);
+emit_32(1114267661);
+emit_32(1076126244);
+emit_32(1129764880);
+emit_32(1115291648);
+emit_32(1076114164);
+emit_32(1129764880);
+emit_32(1116000263);
+emit_32(1077220454);
+emit_32(1129764880);
+emit_32(1116512256);
+emit_32(1076896821);
+emit_32(1129764880);
+emit_32(1117024263);
+emit_32(1084289953);
+emit_32(1129764880);
+emit_32(1117536256);
+emit_32(1085902789);
+emit_32(1129764880);
+emit_32(1118048263);
+emit_32(1086392243);
+emit_32(1129764880);
+emit_32(1118560256);
+emit_32(1086899838);
+emit_32(1129764880);
+emit_32(1119072263);
+emit_32(1086675170);
+emit_32(1129764880);
+emit_32(1119584256);
+emit_32(1088147014);
+emit_32(1129764880);
+emit_32(1120096263);
+emit_32(1090408877);
+emit_32(1129764880);
+emit_32(1120608322);
+emit_32(1091709677);
+emit_32(1129764880);
+emit_32(1121120289);
+emit_32(1092234888);
+emit_32(1129764880);
+emit_32(1121632256);
+emit_32(1092967570);
+emit_32(1129764880);
+emit_32(1122144223);
+emit_32(1095135710);
+emit_32(1129764880);
+emit_32(1122656322);
+emit_32(1095795579);
+emit_32(1129764880);
+emit_32(1123168289);
+emit_32(1096420845);
+emit_32(1129764880);
+emit_32(1123680256);
+emit_32(1097142580);
+emit_32(1129764880);
+emit_32(1124132848);
+emit_32(1097919155);
+emit_32(1129764880);
+emit_32(1124388897);
+emit_32(1099013659);
+emit_32(1129764880);
+emit_32(1124644880);
+emit_32(1099826515);
+emit_32(1129764880);
+emit_32(1124900864);
+emit_32(1102949541);
+emit_32(1129764880);
+emit_32(1125156848);
+emit_32(1103290853);
+emit_32(1129764880);
+emit_32(1125412897);
+emit_32(1103584035);
+emit_32(1129764880);
+emit_32(1125668880);
+emit_32(1103730049);
+emit_32(1129764880);
+emit_32(1125924864);
+emit_32(1101436027);
+emit_32(1129764880);
+emit_32(1126180848);
+emit_32(1103412226);
+emit_32(1129764880);
+emit_32(1126436897);
+emit_32(1103699850);
+emit_32(1129764880);
+emit_32(1126692880);
+emit_32(1104185079);
+emit_32(1129764880);
+emit_32(1126948864);
+emit_32(1102131233);
+emit_32(1129764880);
+emit_32(1127204848);
+emit_32(1105054191);
+emit_32(1129764880);
+emit_32(1127460897);
+emit_32(1104932451);
+emit_32(1129764880);
+emit_32(1127716880);
+emit_32(1104496873);
+emit_32(1129764880);
+emit_32(1127972864);
+emit_32(1104477159);
+emit_32(1129764880);
+emit_32(1128228848);
+emit_32(1104320607);
+emit_32(1129764880);
+emit_32(1128484897);
+emit_32(1103549432);
+emit_32(1129764880);
+emit_32(1128740880);
+emit_32(1102911793);
+emit_32(1129764880);
+emit_32(1128996864);
+emit_32(1101627707);
+emit_32(1129764880);
+emit_32(1129252848);
+emit_32(1100874200);
+emit_32(1129764880);
+emit_32(1129508897);
+emit_32(1102213074);
+emit_32(1129764880);
+emit_32(1129764880);
+emit_32(1102331091);
+emit_32(1129764880);
+emit_32(1130020864);
+emit_32(1102551345);
+emit_32(1129764880);
+emit_32(1130276848);
+emit_32(1102696730);
+emit_32(1129764880);
+emit_32(1130532897);
+emit_32(1103568568);
+emit_32(1129764880);
+emit_32(1130788880);
+emit_32(1102851657);
+emit_32(1129764880);
+emit_32(1131044864);
+emit_32(1100504787);
+emit_32(1129764880);
+emit_32(1131300848);
+emit_32(1099935252);
+emit_32(1129764880);
+emit_32(1131556897);
+emit_32(1100381212);
+emit_32(1129764880);
+emit_32(1131812880);
+emit_32(1099598030);
+emit_32(1129764880);
+emit_32(1132068864);
+emit_32(1099324719);
+emit_32(1129764880);
+emit_32(1081737300);
+emit_32(1093216816);
+emit_32(1129508897);
+emit_32(1090125845);
+emit_32(1092417151);
+emit_32(1129508897);
+emit_32(1094418484);
+emit_32(1092298631);
+emit_32(1129508897);
+emit_32(1098514432);
+emit_32(1090960878);
+emit_32(1129508897);
+emit_32(1100759066);
+emit_32(1088614281);
+emit_32(1129508897);
+emit_32(1102807040);
+emit_32(1087275941);
+emit_32(1129508897);
+emit_32(1104855066);
+emit_32(1083352170);
+emit_32(1129508897);
+emit_32(1106903040);
+emit_32(1082781472);
+emit_32(1129508897);
+emit_32(1108123661);
+emit_32(1082625024);
+emit_32(1129508897);
+emit_32(1109147648);
+emit_32(1083756291);
+emit_32(1129508897);
+emit_32(1110171661);
+emit_32(1085301682);
+emit_32(1129508897);
+emit_32(1111195648);
+emit_32(1085254392);
+emit_32(1129508897);
+emit_32(1112219661);
+emit_32(1083183433);
+emit_32(1129508897);
+emit_32(1113243648);
+emit_32(1082262280);
+emit_32(1129508897);
+emit_32(1114267661);
+emit_32(1079746432);
+emit_32(1129508897);
+emit_32(1115291648);
+emit_32(1079747858);
+emit_32(1129508897);
+emit_32(1116000263);
+emit_32(1080629039);
+emit_32(1129508897);
+emit_32(1116512256);
+emit_32(1084566295);
+emit_32(1129508897);
+emit_32(1117024263);
+emit_32(1087852574);
+emit_32(1129508897);
+emit_32(1117536256);
+emit_32(1089342076);
+emit_32(1129508897);
+emit_32(1118048263);
+emit_32(1089066049);
+emit_32(1129508897);
+emit_32(1118560256);
+emit_32(1087464056);
+emit_32(1129508897);
+emit_32(1119072263);
+emit_32(1086240913);
+emit_32(1129508897);
+emit_32(1119584256);
+emit_32(1087270531);
+emit_32(1129508897);
+emit_32(1120096263);
+emit_32(1090862428);
+emit_32(1129508897);
+emit_32(1120608322);
+emit_32(1091412280);
+emit_32(1129508897);
+emit_32(1121120289);
+emit_32(1092239313);
+emit_32(1129508897);
+emit_32(1121632256);
+emit_32(1093054602);
+emit_32(1129508897);
+emit_32(1122144223);
+emit_32(1094389439);
+emit_32(1129508897);
+emit_32(1122656322);
+emit_32(1094766612);
+emit_32(1129508897);
+emit_32(1123168289);
+emit_32(1095867197);
+emit_32(1129508897);
+emit_32(1123680256);
+emit_32(1097324193);
+emit_32(1129508897);
+emit_32(1124132848);
+emit_32(1097994863);
+emit_32(1129508897);
+emit_32(1124388897);
+emit_32(1098508665);
+emit_32(1129508897);
+emit_32(1124644880);
+emit_32(1099390989);
+emit_32(1129508897);
+emit_32(1124900864);
+emit_32(1102819570);
+emit_32(1129508897);
+emit_32(1125156848);
+emit_32(1103456528);
+emit_32(1129508897);
+emit_32(1125412897);
+emit_32(1104213443);
+emit_32(1129508897);
+emit_32(1125668880);
+emit_32(1101924034);
+emit_32(1129508897);
+emit_32(1125924864);
+emit_32(1101395290);
+emit_32(1129508897);
+emit_32(1126180848);
+emit_32(1103179599);
+emit_32(1129508897);
+emit_32(1126436897);
+emit_32(1104174855);
+emit_32(1129508897);
+emit_32(1126692880);
+emit_32(1103711856);
+emit_32(1129508897);
+emit_32(1126948864);
+emit_32(1101427166);
+emit_32(1129508897);
+emit_32(1127204848);
+emit_32(1104341946);
+emit_32(1129508897);
+emit_32(1127460897);
+emit_32(1103905266);
+emit_32(1129508897);
+emit_32(1127716880);
+emit_32(1104351225);
+emit_32(1129508897);
+emit_32(1127972864);
+emit_32(1104338538);
+emit_32(1129508897);
+emit_32(1128228848);
+emit_32(1104240391);
+emit_32(1129508897);
+emit_32(1128484897);
+emit_32(1104134537);
+emit_32(1129508897);
+emit_32(1128740880);
+emit_32(1103285715);
+emit_32(1129508897);
+emit_32(1128996864);
+emit_32(1103034843);
+emit_32(1129508897);
+emit_32(1129252848);
+emit_32(1102598688);
+emit_32(1129508897);
+emit_32(1129508897);
+emit_32(1102258058);
+emit_32(1129508897);
+emit_32(1129764880);
+emit_32(1102454299);
+emit_32(1129508897);
+emit_32(1130020864);
+emit_32(1102717125);
+emit_32(1129508897);
+emit_32(1130276848);
+emit_32(1103026612);
+emit_32(1129508897);
+emit_32(1130532897);
+emit_32(1103449817);
+emit_32(1129508897);
+emit_32(1130788880);
+emit_32(1103303593);
+emit_32(1129508897);
+emit_32(1131044864);
+emit_32(1100124678);
+emit_32(1129508897);
+emit_32(1131300848);
+emit_32(1099774348);
+emit_32(1129508897);
+emit_32(1131556897);
+emit_32(1099896141);
+emit_32(1129508897);
+emit_32(1131812880);
+emit_32(1099520646);
+emit_32(1129508897);
+emit_32(1132068864);
+emit_32(1098974233);
+emit_32(1129508897);
+emit_32(1081737258);
+emit_32(1093092141);
+emit_32(1129252848);
+emit_32(1090125845);
+emit_32(1092641463);
+emit_32(1129252848);
+emit_32(1094418484);
+emit_32(1093021047);
+emit_32(1129252848);
+emit_32(1098514432);
+emit_32(1091404216);
+emit_32(1129252848);
+emit_32(1100759066);
+emit_32(1090891043);
+emit_32(1129252848);
+emit_32(1102807040);
+emit_32(1087333718);
+emit_32(1129252848);
+emit_32(1104855066);
+emit_32(1086550243);
+emit_32(1129252848);
+emit_32(1106903040);
+emit_32(1086614059);
+emit_32(1129252848);
+emit_32(1108123661);
+emit_32(1087395227);
+emit_32(1129252848);
+emit_32(1109147648);
+emit_32(1087693715);
+emit_32(1129252848);
+emit_32(1110171661);
+emit_32(1086905605);
+emit_32(1129252848);
+emit_32(1111195648);
+emit_32(1085917406);
+emit_32(1129252848);
+emit_32(1112219661);
+emit_32(1086122445);
+emit_32(1129252848);
+emit_32(1113243648);
+emit_32(1085614577);
+emit_32(1129252848);
+emit_32(1114267661);
+emit_32(1083545422);
+emit_32(1129252848);
+emit_32(1115291648);
+emit_32(1083831285);
+emit_32(1129252848);
+emit_32(1116000263);
+emit_32(1086466587);
+emit_32(1129252848);
+emit_32(1116512256);
+emit_32(1089709267);
+emit_32(1129252848);
+emit_32(1117024263);
+emit_32(1091281166);
+emit_32(1129252848);
+emit_32(1117536256);
+emit_32(1091916068);
+emit_32(1129252848);
+emit_32(1118048263);
+emit_32(1091040717);
+emit_32(1129252848);
+emit_32(1118560256);
+emit_32(1090210612);
+emit_32(1129252848);
+emit_32(1119072263);
+emit_32(1089209851);
+emit_32(1129252848);
+emit_32(1119584256);
+emit_32(1089378399);
+emit_32(1129252848);
+emit_32(1120096263);
+emit_32(1090028789);
+emit_32(1129252848);
+emit_32(1120608322);
+emit_32(1091234840);
+emit_32(1129252848);
+emit_32(1121120289);
+emit_32(1093074734);
+emit_32(1129252848);
+emit_32(1121632256);
+emit_32(1093111330);
+emit_32(1129252848);
+emit_32(1122144223);
+emit_32(1094128029);
+emit_32(1129252848);
+emit_32(1122656322);
+emit_32(1095036410);
+emit_32(1129252848);
+emit_32(1123168289);
+emit_32(1095680551);
+emit_32(1129252848);
+emit_32(1123680256);
+emit_32(1097146460);
+emit_32(1129252848);
+emit_32(1124132848);
+emit_32(1098042153);
+emit_32(1129252848);
+emit_32(1124388897);
+emit_32(1097318741);
+emit_32(1129252848);
+emit_32(1124644880);
+emit_32(1101515457);
+emit_32(1129252848);
+emit_32(1124900864);
+emit_32(1102822454);
+emit_32(1129252848);
+emit_32(1125156848);
+emit_32(1103621941);
+emit_32(1129252848);
+emit_32(1125412897);
+emit_32(1104011330);
+emit_32(1129252848);
+emit_32(1125668880);
+emit_32(1101788244);
+emit_32(1129252848);
+emit_32(1125924864);
+emit_32(1102141981);
+emit_32(1129252848);
+emit_32(1126180848);
+emit_32(1103612556);
+emit_32(1129252848);
+emit_32(1126436897);
+emit_32(1104382421);
+emit_32(1129252848);
+emit_32(1126692880);
+emit_32(1104094324);
+emit_32(1129252848);
+emit_32(1126948864);
+emit_32(1101288335);
+emit_32(1129252848);
+emit_32(1127204848);
+emit_32(1103222224);
+emit_32(1129252848);
+emit_32(1127460897);
+emit_32(1103312087);
+emit_32(1129252848);
+emit_32(1127716880);
+emit_32(1103773512);
+emit_32(1129252848);
+emit_32(1127972864);
+emit_32(1104076551);
+emit_32(1129252848);
+emit_32(1128228848);
+emit_32(1104345353);
+emit_32(1129252848);
+emit_32(1128484897);
+emit_32(1104178053);
+emit_32(1129252848);
+emit_32(1128740880);
+emit_32(1103422240);
+emit_32(1129252848);
+emit_32(1128996864);
+emit_32(1103161092);
+emit_32(1129252848);
+emit_32(1129252848);
+emit_32(1102825705);
+emit_32(1129252848);
+emit_32(1129508897);
+emit_32(1102393482);
+emit_32(1129252848);
+emit_32(1129764880);
+emit_32(1102471601);
+emit_32(1129252848);
+emit_32(1130020864);
+emit_32(1100205471);
+emit_32(1129252848);
+emit_32(1130276848);
+emit_32(1102674552);
+emit_32(1129252848);
+emit_32(1130532897);
+emit_32(1102672980);
+emit_32(1129252848);
+emit_32(1130788880);
+emit_32(1102535406);
+emit_32(1129252848);
+emit_32(1131044864);
+emit_32(1100902669);
+emit_32(1129252848);
+emit_32(1131300848);
+emit_32(1099358641);
+emit_32(1129252848);
+emit_32(1131556897);
+emit_32(1099486829);
+emit_32(1129252848);
+emit_32(1131812880);
+emit_32(1098967679);
+emit_32(1129252848);
+emit_32(1132068864);
+emit_32(1097864210);
+emit_32(1129252848);
+emit_32(1081737258);
+emit_32(1094158228);
+emit_32(1128996864);
+emit_32(1090125845);
+emit_32(1093761447);
+emit_32(1128996864);
+emit_32(1094418484);
+emit_32(1094140822);
+emit_32(1128996864);
+emit_32(1098514432);
+emit_32(1093034574);
+emit_32(1128996864);
+emit_32(1100759066);
+emit_32(1091456100);
+emit_32(1128996864);
+emit_32(1102807040);
+emit_32(1089525095);
+emit_32(1128996864);
+emit_32(1104855066);
+emit_32(1088585025);
+emit_32(1128996864);
+emit_32(1106903040);
+emit_32(1090478817);
+emit_32(1128996864);
+emit_32(1108123661);
+emit_32(1091340515);
+emit_32(1128996864);
+emit_32(1109147648);
+emit_32(1091433031);
+emit_32(1128996864);
+emit_32(1110171661);
+emit_32(1090929264);
+emit_32(1128996864);
+emit_32(1111195648);
+emit_32(1089429192);
+emit_32(1128996864);
+emit_32(1112219661);
+emit_32(1087959340);
+emit_32(1128996864);
+emit_32(1113243648);
+emit_32(1088733567);
+emit_32(1128996864);
+emit_32(1114267661);
+emit_32(1087293054);
+emit_32(1128996864);
+emit_32(1115291648);
+emit_32(1087872937);
+emit_32(1128996864);
+emit_32(1116000263);
+emit_32(1089774656);
+emit_32(1128996864);
+emit_32(1116512256);
+emit_32(1091806303);
+emit_32(1128996864);
+emit_32(1117024263);
+emit_32(1092488066);
+emit_32(1128996864);
+emit_32(1117536256);
+emit_32(1092781238);
+emit_32(1128996864);
+emit_32(1118048263);
+emit_32(1092423317);
+emit_32(1128996864);
+emit_32(1118560256);
+emit_32(1092476627);
+emit_32(1128996864);
+emit_32(1119072263);
+emit_32(1092619547);
+emit_32(1128996864);
+emit_32(1119584256);
+emit_32(1092370794);
+emit_32(1128996864);
+emit_32(1120096263);
+emit_32(1091790858);
+emit_32(1128996864);
+emit_32(1120608322);
+emit_32(1091461888);
+emit_32(1128996864);
+emit_32(1121120289);
+emit_32(1092460080);
+emit_32(1128996864);
+emit_32(1121632256);
+emit_32(1094170916);
+emit_32(1128996864);
+emit_32(1122144223);
+emit_32(1094599154);
+emit_32(1128996864);
+emit_32(1122656322);
+emit_32(1095059898);
+emit_32(1128996864);
+emit_32(1123168289);
+emit_32(1096401342);
+emit_32(1128996864);
+emit_32(1123680256);
+emit_32(1096965371);
+emit_32(1128996864);
+emit_32(1124132848);
+emit_32(1097641807);
+emit_32(1128996864);
+emit_32(1124388897);
+emit_32(1099087059);
+emit_32(1128996864);
+emit_32(1124644880);
+emit_32(1102450944);
+emit_32(1128996864);
+emit_32(1124900864);
+emit_32(1103410286);
+emit_32(1128996864);
+emit_32(1125156848);
+emit_32(1103813149);
+emit_32(1128996864);
+emit_32(1125412897);
+emit_32(1101937980);
+emit_32(1128996864);
+emit_32(1125668880);
+emit_32(1103166020);
+emit_32(1128996864);
+emit_32(1125924864);
+emit_32(1104505681);
+emit_32(1128996864);
+emit_32(1126180848);
+emit_32(1103994867);
+emit_32(1128996864);
+emit_32(1126436897);
+emit_32(1104662548);
+emit_32(1128996864);
+emit_32(1126692880);
+emit_32(1104116974);
+emit_32(1128996864);
+emit_32(1126948864);
+emit_32(1100885629);
+emit_32(1128996864);
+emit_32(1127204848);
+emit_32(1100638585);
+emit_32(1128996864);
+emit_32(1127460897);
+emit_32(1100607442);
+emit_32(1128996864);
+emit_32(1127716880);
+emit_32(1103522116);
+emit_32(1128996864);
+emit_32(1127972864);
+emit_32(1103785676);
+emit_32(1128996864);
+emit_32(1128228848);
+emit_32(1103795375);
+emit_32(1128996864);
+emit_32(1128484897);
+emit_32(1101024146);
+emit_32(1128996864);
+emit_32(1128740880);
+emit_32(1100738829);
+emit_32(1128996864);
+emit_32(1128996864);
+emit_32(1102805677);
+emit_32(1128996864);
+emit_32(1129252848);
+emit_32(1102445543);
+emit_32(1128996864);
+emit_32(1129508897);
+emit_32(1102293657);
+emit_32(1128996864);
+emit_32(1129764880);
+emit_32(1100424728);
+emit_32(1128996864);
+emit_32(1130020864);
+emit_32(1099671273);
+emit_32(1128996864);
+emit_32(1130276848);
+emit_32(1100387975);
+emit_32(1128996864);
+emit_32(1130532897);
+emit_32(1101778072);
+emit_32(1128996864);
+emit_32(1130788880);
+emit_32(1101932318);
+emit_32(1128996864);
+emit_32(1131044864);
+emit_32(1101602383);
+emit_32(1128996864);
+emit_32(1131300848);
+emit_32(1098804049);
+emit_32(1128996864);
+emit_32(1131556897);
+emit_32(1098879861);
+emit_32(1128996864);
+emit_32(1131812880);
+emit_32(1098098881);
+emit_32(1128996864);
+emit_32(1132068864);
+emit_32(1096354890);
+emit_32(1128996864);
+emit_32(1081737258);
+emit_32(1094837495);
+emit_32(1128740880);
+emit_32(1090125845);
+emit_32(1095096284);
+emit_32(1128740880);
+emit_32(1094418484);
+emit_32(1094836761);
+emit_32(1128740880);
+emit_32(1098514432);
+emit_32(1093776966);
+emit_32(1128740880);
+emit_32(1100759066);
+emit_32(1092523739);
+emit_32(1128740880);
+emit_32(1102807040);
+emit_32(1091209108);
+emit_32(1128740880);
+emit_32(1104855066);
+emit_32(1090481543);
+emit_32(1128740880);
+emit_32(1106903040);
+emit_32(1091724850);
+emit_32(1128740880);
+emit_32(1108123661);
+emit_32(1092918077);
+emit_32(1128740880);
+emit_32(1109147648);
+emit_32(1092885571);
+emit_32(1128740880);
+emit_32(1110171661);
+emit_32(1092185311);
+emit_32(1128740880);
+emit_32(1111195648);
+emit_32(1090654935);
+emit_32(1128740880);
+emit_32(1112219661);
+emit_32(1090140378);
+emit_32(1128740880);
+emit_32(1113243648);
+emit_32(1091090734);
+emit_32(1128740880);
+emit_32(1114267661);
+emit_32(1090672415);
+emit_32(1128740880);
+emit_32(1115291648);
+emit_32(1091158399);
+emit_32(1128740880);
+emit_32(1116000263);
+emit_32(1092233651);
+emit_32(1128740880);
+emit_32(1116512256);
+emit_32(1093174139);
+emit_32(1128740880);
+emit_32(1117024263);
+emit_32(1092967255);
+emit_32(1128740880);
+emit_32(1117536256);
+emit_32(1093958998);
+emit_32(1128740880);
+emit_32(1118048263);
+emit_32(1094070986);
+emit_32(1128740880);
+emit_32(1118560256);
+emit_32(1094393423);
+emit_32(1128740880);
+emit_32(1119072263);
+emit_32(1095115263);
+emit_32(1128740880);
+emit_32(1119584256);
+emit_32(1095201351);
+emit_32(1128740880);
+emit_32(1120096263);
+emit_32(1094051693);
+emit_32(1128740880);
+emit_32(1120608322);
+emit_32(1092903187);
+emit_32(1128740880);
+emit_32(1121120289);
+emit_32(1093066136);
+emit_32(1128740880);
+emit_32(1121632256);
+emit_32(1093765641);
+emit_32(1128740880);
+emit_32(1122144223);
+emit_32(1094858886);
+emit_32(1128740880);
+emit_32(1122656322);
+emit_32(1095293731);
+emit_32(1128740880);
+emit_32(1123168289);
+emit_32(1096058248);
+emit_32(1128740880);
+emit_32(1123680256);
+emit_32(1098058197);
+emit_32(1128740880);
+emit_32(1124132848);
+emit_32(1099090415);
+emit_32(1128740880);
+emit_32(1124388897);
+emit_32(1099754216);
+emit_32(1128740880);
+emit_32(1124644880);
+emit_32(1103037989);
+emit_32(1128740880);
+emit_32(1124900864);
+emit_32(1103411334);
+emit_32(1128740880);
+emit_32(1125156848);
+emit_32(1104264875);
+emit_32(1128740880);
+emit_32(1125412897);
+emit_32(1101973160);
+emit_32(1128740880);
+emit_32(1125668880);
+emit_32(1104413616);
+emit_32(1128740880);
+emit_32(1125924864);
+emit_32(1104295861);
+emit_32(1128740880);
+emit_32(1126180848);
+emit_32(1104392801);
+emit_32(1128740880);
+emit_32(1126436897);
+emit_32(1104250248);
+emit_32(1128740880);
+emit_32(1126692880);
+emit_32(1104207466);
+emit_32(1128740880);
+emit_32(1126948864);
+emit_32(1101393507);
+emit_32(1128740880);
+emit_32(1127204848);
+emit_32(1101210845);
+emit_32(1128740880);
+emit_32(1127460897);
+emit_32(1100893913);
+emit_32(1128740880);
+emit_32(1127716880);
+emit_32(1101512678);
+emit_32(1128740880);
+emit_32(1127972864);
+emit_32(1103029862);
+emit_32(1128740880);
+emit_32(1128228848);
+emit_32(1103145206);
+emit_32(1128740880);
+emit_32(1128484897);
+emit_32(1100738514);
+emit_32(1128740880);
+emit_32(1128740880);
+emit_32(1101464234);
+emit_32(1128740880);
+emit_32(1128996864);
+emit_32(1102046560);
+emit_32(1128740880);
+emit_32(1129252848);
+emit_32(1102012062);
+emit_32(1128740880);
+emit_32(1129508897);
+emit_32(1101022678);
+emit_32(1128740880);
+emit_32(1129764880);
+emit_32(1098697723);
+emit_32(1128740880);
+emit_32(1130020864);
+emit_32(1098672662);
+emit_32(1128740880);
+emit_32(1130276848);
+emit_32(1098798911);
+emit_32(1128740880);
+emit_32(1130532897);
+emit_32(1100908750);
+emit_32(1128740880);
+emit_32(1130788880);
+emit_32(1100999243);
+emit_32(1128740880);
+emit_32(1131044864);
+emit_32(1100710255);
+emit_32(1128740880);
+emit_32(1131300848);
+emit_32(1097055338);
+emit_32(1128740880);
+emit_32(1131556897);
+emit_32(1097777807);
+emit_32(1128740880);
+emit_32(1131812880);
+emit_32(1096376071);
+emit_32(1128740880);
+emit_32(1132068864);
+emit_32(1094422364);
+emit_32(1128740880);
+emit_32(1081737258);
+emit_32(1096602144);
+emit_32(1128484897);
+emit_32(1090125845);
+emit_32(1096605604);
+emit_32(1128484897);
+emit_32(1094418484);
+emit_32(1095915222);
+emit_32(1128484897);
+emit_32(1098514432);
+emit_32(1094988700);
+emit_32(1128484897);
+emit_32(1100759066);
+emit_32(1093318738);
+emit_32(1128484897);
+emit_32(1102807040);
+emit_32(1092655199);
+emit_32(1128484897);
+emit_32(1104855066);
+emit_32(1091908927);
+emit_32(1128484897);
+emit_32(1106903040);
+emit_32(1093146457);
+emit_32(1128484897);
+emit_32(1108123661);
+emit_32(1093729255);
+emit_32(1128484897);
+emit_32(1109147648);
+emit_32(1093918628);
+emit_32(1128484897);
+emit_32(1110171661);
+emit_32(1093116048);
+emit_32(1128484897);
+emit_32(1111195648);
+emit_32(1091599514);
+emit_32(1128484897);
+emit_32(1112219661);
+emit_32(1092064610);
+emit_32(1128484897);
+emit_32(1113243648);
+emit_32(1092256562);
+emit_32(1128484897);
+emit_32(1114267661);
+emit_32(1092232937);
+emit_32(1128484897);
+emit_32(1115291648);
+emit_32(1092569216);
+emit_32(1128484897);
+emit_32(1116000263);
+emit_32(1093499827);
+emit_32(1128484897);
+emit_32(1116512256);
+emit_32(1094494401);
+emit_32(1128484897);
+emit_32(1117024263);
+emit_32(1094275249);
+emit_32(1128484897);
+emit_32(1117536256);
+emit_32(1095835320);
+emit_32(1128484897);
+emit_32(1118048263);
+emit_32(1096603927);
+emit_32(1128484897);
+emit_32(1118560256);
+emit_32(1095737174);
+emit_32(1128484897);
+emit_32(1119072263);
+emit_32(1097480536);
+emit_32(1128484897);
+emit_32(1119584256);
+emit_32(1097454217);
+emit_32(1128484897);
+emit_32(1120096263);
+emit_32(1096093480);
+emit_32(1128484897);
+emit_32(1120608322);
+emit_32(1095489500);
+emit_32(1128484897);
+emit_32(1121120289);
+emit_32(1095558601);
+emit_32(1128484897);
+emit_32(1121632256);
+emit_32(1094835713);
+emit_32(1128484897);
+emit_32(1122144223);
+emit_32(1095452590);
+emit_32(1128484897);
+emit_32(1122656322);
+emit_32(1095192334);
+emit_32(1128484897);
+emit_32(1123168289);
+emit_32(1096359399);
+emit_32(1128484897);
+emit_32(1123680256);
+emit_32(1098052325);
+emit_32(1128484897);
+emit_32(1124132848);
+emit_32(1099302384);
+emit_32(1128484897);
+emit_32(1124388897);
+emit_32(1100571948);
+emit_32(1128484897);
+emit_32(1124644880);
+emit_32(1103063207);
+emit_32(1128484897);
+emit_32(1124900864);
+emit_32(1104141301);
+emit_32(1128484897);
+emit_32(1125156848);
+emit_32(1104236039);
+emit_32(1128484897);
+emit_32(1125412897);
+emit_32(1101777338);
+emit_32(1128484897);
+emit_32(1125668880);
+emit_32(1103904794);
+emit_32(1128484897);
+emit_32(1125924864);
+emit_32(1104679954);
+emit_32(1128484897);
+emit_32(1126180848);
+emit_32(1104977645);
+emit_32(1128484897);
+emit_32(1126436897);
+emit_32(1104719800);
+emit_32(1128484897);
+emit_32(1126692880);
+emit_32(1104308181);
+emit_32(1128484897);
+emit_32(1126948864);
+emit_32(1102818784);
+emit_32(1128484897);
+emit_32(1127204848);
+emit_32(1104373455);
+emit_32(1128484897);
+emit_32(1127460897);
+emit_32(1101605267);
+emit_32(1128484897);
+emit_32(1127716880);
+emit_32(1101582618);
+emit_32(1128484897);
+emit_32(1127972864);
+emit_32(1103712433);
+emit_32(1128484897);
+emit_32(1128228848);
+emit_32(1103557086);
+emit_32(1128484897);
+emit_32(1128484897);
+emit_32(1103194069);
+emit_32(1128484897);
+emit_32(1128740880);
+emit_32(1101005482);
+emit_32(1128484897);
+emit_32(1128996864);
+emit_32(1102896693);
+emit_32(1128484897);
+emit_32(1129252848);
+emit_32(1102422632);
+emit_32(1128484897);
+emit_32(1129508897);
+emit_32(1099646737);
+emit_32(1128484897);
+emit_32(1129764880);
+emit_32(1099338403);
+emit_32(1128484897);
+emit_32(1130020864);
+emit_32(1099043701);
+emit_32(1128484897);
+emit_32(1130276848);
+emit_32(1098432643);
+emit_32(1128484897);
+emit_32(1130532897);
+emit_32(1101270824);
+emit_32(1128484897);
+emit_32(1130788880);
+emit_32(1101020319);
+emit_32(1128484897);
+emit_32(1131044864);
+emit_32(1100721370);
+emit_32(1128484897);
+emit_32(1131300848);
+emit_32(1097164495);
+emit_32(1128484897);
+emit_32(1131556897);
+emit_32(1096670721);
+emit_32(1128484897);
+emit_32(1131812880);
+emit_32(1095529765);
+emit_32(1128484897);
+emit_32(1132068864);
+emit_32(1095414841);
+emit_32(1128484897);
+emit_32(1081737258);
+emit_32(1097223216);
+emit_32(1128228848);
+emit_32(1090125845);
+emit_32(1097159043);
+emit_32(1128228848);
+emit_32(1094418484);
+emit_32(1096303510);
+emit_32(1128228848);
+emit_32(1098514432);
+emit_32(1095078878);
+emit_32(1128228848);
+emit_32(1100759066);
+emit_32(1093559491);
+emit_32(1128228848);
+emit_32(1102807040);
+emit_32(1093420450);
+emit_32(1128228848);
+emit_32(1104855066);
+emit_32(1094782865);
+emit_32(1128228848);
+emit_32(1106903040);
+emit_32(1094716699);
+emit_32(1128228848);
+emit_32(1108123661);
+emit_32(1095422496);
+emit_32(1128228848);
+emit_32(1109147648);
+emit_32(1095210998);
+emit_32(1128228848);
+emit_32(1110171661);
+emit_32(1093591892);
+emit_32(1128228848);
+emit_32(1111195648);
+emit_32(1093748025);
+emit_32(1128228848);
+emit_32(1112219661);
+emit_32(1093936139);
+emit_32(1128228848);
+emit_32(1113243648);
+emit_32(1093754421);
+emit_32(1128228848);
+emit_32(1114267661);
+emit_32(1092768026);
+emit_32(1128228848);
+emit_32(1115291648);
+emit_32(1093788919);
+emit_32(1128228848);
+emit_32(1116000263);
+emit_32(1094950951);
+emit_32(1128228848);
+emit_32(1116512256);
+emit_32(1095041758);
+emit_32(1128228848);
+emit_32(1117024263);
+emit_32(1096487325);
+emit_32(1128228848);
+emit_32(1117536256);
+emit_32(1097262852);
+emit_32(1128228848);
+emit_32(1118048263);
+emit_32(1097536530);
+emit_32(1128228848);
+emit_32(1118560256);
+emit_32(1098558367);
+emit_32(1128228848);
+emit_32(1119072263);
+emit_32(1098952212);
+emit_32(1128228848);
+emit_32(1119584256);
+emit_32(1099049048);
+emit_32(1128228848);
+emit_32(1120096263);
+emit_32(1099095553);
+emit_32(1128228848);
+emit_32(1120608322);
+emit_32(1098511915);
+emit_32(1128228848);
+emit_32(1121120289);
+emit_32(1097554566);
+emit_32(1128228848);
+emit_32(1121632256);
+emit_32(1096990851);
+emit_32(1128228848);
+emit_32(1122144223);
+emit_32(1096447479);
+emit_32(1128228848);
+emit_32(1122656322);
+emit_32(1097522584);
+emit_32(1128228848);
+emit_32(1123168289);
+emit_32(1098051486);
+emit_32(1128228848);
+emit_32(1123680256);
+emit_32(1099167013);
+emit_32(1128228848);
+emit_32(1124132848);
+emit_32(1099703150);
+emit_32(1128228848);
+emit_32(1124388897);
+emit_32(1102297537);
+emit_32(1128228848);
+emit_32(1124644880);
+emit_32(1103741898);
+emit_32(1128228848);
+emit_32(1124900864);
+emit_32(1104507778);
+emit_32(1128228848);
+emit_32(1125156848);
+emit_32(1104918977);
+emit_32(1128228848);
+emit_32(1125412897);
+emit_32(1102477630);
+emit_32(1128228848);
+emit_32(1125668880);
+emit_32(1102229537);
+emit_32(1128228848);
+emit_32(1125924864);
+emit_32(1105767065);
+emit_32(1128228848);
+emit_32(1126180848);
+emit_32(1105996231);
+emit_32(1128228848);
+emit_32(1126436897);
+emit_32(1105933527);
+emit_32(1128228848);
+emit_32(1126692880);
+emit_32(1105463240);
+emit_32(1128228848);
+emit_32(1126948864);
+emit_32(1105052985);
+emit_32(1128228848);
+emit_32(1127204848);
+emit_32(1105035736);
+emit_32(1128228848);
+emit_32(1127460897);
+emit_32(1104068424);
+emit_32(1128228848);
+emit_32(1127716880);
+emit_32(1102737467);
+emit_32(1128228848);
+emit_32(1127972864);
+emit_32(1105007739);
+emit_32(1128228848);
+emit_32(1128228848);
+emit_32(1104220835);
+emit_32(1128228848);
+emit_32(1128484897);
+emit_32(1104506624);
+emit_32(1128228848);
+emit_32(1128740880);
+emit_32(1102445019);
+emit_32(1128228848);
+emit_32(1128996864);
+emit_32(1102497553);
+emit_32(1128228848);
+emit_32(1129252848);
+emit_32(1101981444);
+emit_32(1128228848);
+emit_32(1129508897);
+emit_32(1101313920);
+emit_32(1128228848);
+emit_32(1129764880);
+emit_32(1101362889);
+emit_32(1128228848);
+emit_32(1130020864);
+emit_32(1098897582);
+emit_32(1128228848);
+emit_32(1130276848);
+emit_32(1099105095);
+emit_32(1128228848);
+emit_32(1130532897);
+emit_32(1101849428);
+emit_32(1128228848);
+emit_32(1130788880);
+emit_32(1101462346);
+emit_32(1128228848);
+emit_32(1131044864);
+emit_32(1101111964);
+emit_32(1128228848);
+emit_32(1131300848);
+emit_32(1098211184);
+emit_32(1128228848);
+emit_32(1131556897);
+emit_32(1097551315);
+emit_32(1128228848);
+emit_32(1131812880);
+emit_32(1097268933);
+emit_32(1128228848);
+emit_32(1132068864);
+emit_32(1096928356);
+emit_32(1128228848);
+emit_32(1081737258);
+emit_32(1096992739);
+emit_32(1127972864);
+emit_32(1090125866);
+emit_32(1097387423);
+emit_32(1127972864);
+emit_32(1094418484);
+emit_32(1096399769);
+emit_32(1127972864);
+emit_32(1098514432);
+emit_32(1094991636);
+emit_32(1127972864);
+emit_32(1100759066);
+emit_32(1094441239);
+emit_32(1127972864);
+emit_32(1102807040);
+emit_32(1095107189);
+emit_32(1127972864);
+emit_32(1104855066);
+emit_32(1096891761);
+emit_32(1127972864);
+emit_32(1106903040);
+emit_32(1096776417);
+emit_32(1127972864);
+emit_32(1108123661);
+emit_32(1097155058);
+emit_32(1127972864);
+emit_32(1109147648);
+emit_32(1095872545);
+emit_32(1127972864);
+emit_32(1110171661);
+emit_32(1095805226);
+emit_32(1127972864);
+emit_32(1111195648);
+emit_32(1096095367);
+emit_32(1127972864);
+emit_32(1112219661);
+emit_32(1095697223);
+emit_32(1127972864);
+emit_32(1113243648);
+emit_32(1095695440);
+emit_32(1127972864);
+emit_32(1114267661);
+emit_32(1094850498);
+emit_32(1127972864);
+emit_32(1115291648);
+emit_32(1095604738);
+emit_32(1127972864);
+emit_32(1116000263);
+emit_32(1095794636);
+emit_32(1127972864);
+emit_32(1116512256);
+emit_32(1095935669);
+emit_32(1127972864);
+emit_32(1117024263);
+emit_32(1097458201);
+emit_32(1127972864);
+emit_32(1117536256);
+emit_32(1099005428);
+emit_32(1127972864);
+emit_32(1118048263);
+emit_32(1099075106);
+emit_32(1127972864);
+emit_32(1118560256);
+emit_32(1099380713);
+emit_32(1127972864);
+emit_32(1119072263);
+emit_32(1099718669);
+emit_32(1127972864);
+emit_32(1119584256);
+emit_32(1100017356);
+emit_32(1127972864);
+emit_32(1120096263);
+emit_32(1100344092);
+emit_32(1127972864);
+emit_32(1120608322);
+emit_32(1100094793);
+emit_32(1127972864);
+emit_32(1121120289);
+emit_32(1099700109);
+emit_32(1127972864);
+emit_32(1121632256);
+emit_32(1099356386);
+emit_32(1127972864);
+emit_32(1122144223);
+emit_32(1098732746);
+emit_32(1127972864);
+emit_32(1122656322);
+emit_32(1099139855);
+emit_32(1127972864);
+emit_32(1123168289);
+emit_32(1099468531);
+emit_32(1127972864);
+emit_32(1123680256);
+emit_32(1099976619);
+emit_32(1127972864);
+emit_32(1124132848);
+emit_32(1100936485);
+emit_32(1127972864);
+emit_32(1124388897);
+emit_32(1103548174);
+emit_32(1127972864);
+emit_32(1124644880);
+emit_32(1104509036);
+emit_32(1127972864);
+emit_32(1124900864);
+emit_32(1105478183);
+emit_32(1127972864);
+emit_32(1125156848);
+emit_32(1105595466);
+emit_32(1127972864);
+emit_32(1125412897);
+emit_32(1103928335);
+emit_32(1127972864);
+emit_32(1125668880);
+emit_32(1104097732);
+emit_32(1127972864);
+emit_32(1125924864);
+emit_32(1105747981);
+emit_32(1127972864);
+emit_32(1126180848);
+emit_32(1107329129);
+emit_32(1127972864);
+emit_32(1126436897);
+emit_32(1107330807);
+emit_32(1127972864);
+emit_32(1126692880);
+emit_32(1107185474);
+emit_32(1127972864);
+emit_32(1126948864);
+emit_32(1106443082);
+emit_32(1127972864);
+emit_32(1127204848);
+emit_32(1106311748);
+emit_32(1127972864);
+emit_32(1127460897);
+emit_32(1106434117);
+emit_32(1127972864);
+emit_32(1127716880);
+emit_32(1106504581);
+emit_32(1127972864);
+emit_32(1127972864);
+emit_32(1105930800);
+emit_32(1127972864);
+emit_32(1128228848);
+emit_32(1106592085);
+emit_32(1127972864);
+emit_32(1128484897);
+emit_32(1106700245);
+emit_32(1127972864);
+emit_32(1128740880);
+emit_32(1104209143);
+emit_32(1127972864);
+emit_32(1128996864);
+emit_32(1103888803);
+emit_32(1127972864);
+emit_32(1129252848);
+emit_32(1103514986);
+emit_32(1127972864);
+emit_32(1129508897);
+emit_32(1104960710);
+emit_32(1127972864);
+emit_32(1129764880);
+emit_32(1103902592);
+emit_32(1127972864);
+emit_32(1130020864);
+emit_32(1101125124);
+emit_32(1127972864);
+emit_32(1130276848);
+emit_32(1099577950);
+emit_32(1127972864);
+emit_32(1130532897);
+emit_32(1102071045);
+emit_32(1127972864);
+emit_32(1130788880);
+emit_32(1102154983);
+emit_32(1127972864);
+emit_32(1131044864);
+emit_32(1101877530);
+emit_32(1127972864);
+emit_32(1131300848);
+emit_32(1099361367);
+emit_32(1127972864);
+emit_32(1131556897);
+emit_32(1098597270);
+emit_32(1127972864);
+emit_32(1131812880);
+emit_32(1098904817);
+emit_32(1127972864);
+emit_32(1132068864);
+emit_32(1098078224);
+emit_32(1127972864);
+emit_32(1081737258);
+emit_32(1096797703);
+emit_32(1127716880);
+emit_32(1090125866);
+emit_32(1097168375);
+emit_32(1127716880);
+emit_32(1094418484);
+emit_32(1095948462);
+emit_32(1127716880);
+emit_32(1098514432);
+emit_32(1095608618);
+emit_32(1127716880);
+emit_32(1100759066);
+emit_32(1096751356);
+emit_32(1127716880);
+emit_32(1102807040);
+emit_32(1097561276);
+emit_32(1127716880);
+emit_32(1104855066);
+emit_32(1097849635);
+emit_32(1127716880);
+emit_32(1106903040);
+emit_32(1098303144);
+emit_32(1127716880);
+emit_32(1108123661);
+emit_32(1098264347);
+emit_32(1127716880);
+emit_32(1109147648);
+emit_32(1097068341);
+emit_32(1127716880);
+emit_32(1110171661);
+emit_32(1098172806);
+emit_32(1127716880);
+emit_32(1111195648);
+emit_32(1098939053);
+emit_32(1127716880);
+emit_32(1112219661);
+emit_32(1097712586);
+emit_32(1127716880);
+emit_32(1113243648);
+emit_32(1097830341);
+emit_32(1127716880);
+emit_32(1114267661);
+emit_32(1096396623);
+emit_32(1127716880);
+emit_32(1115291648);
+emit_32(1095821689);
+emit_32(1127716880);
+emit_32(1116000263);
+emit_32(1096202427);
+emit_32(1127716880);
+emit_32(1116512256);
+emit_32(1096892495);
+emit_32(1127716880);
+emit_32(1117024263);
+emit_32(1098192309);
+emit_32(1127716880);
+emit_32(1117536256);
+emit_32(1099117101);
+emit_32(1127716880);
+emit_32(1118048263);
+emit_32(1099661522);
+emit_32(1127716880);
+emit_32(1118560256);
+emit_32(1099930114);
+emit_32(1127716880);
+emit_32(1119072263);
+emit_32(1100208459);
+emit_32(1127716880);
+emit_32(1119584256);
+emit_32(1100702129);
+emit_32(1127716880);
+emit_32(1120096263);
+emit_32(1101093614);
+emit_32(1127716880);
+emit_32(1120608322);
+emit_32(1101089158);
+emit_32(1127716880);
+emit_32(1121120289);
+emit_32(1100770810);
+emit_32(1127716880);
+emit_32(1121632256);
+emit_32(1100500959);
+emit_32(1127716880);
+emit_32(1122144223);
+emit_32(1100074032);
+emit_32(1127716880);
+emit_32(1122656322);
+emit_32(1100304509);
+emit_32(1127716880);
+emit_32(1123168289);
+emit_32(1100602881);
+emit_32(1127716880);
+emit_32(1123680256);
+emit_32(1101222799);
+emit_32(1127716880);
+emit_32(1124132848);
+emit_32(1101588647);
+emit_32(1127716880);
+emit_32(1124388897);
+emit_32(1103974262);
+emit_32(1127716880);
+emit_32(1124644880);
+emit_32(1104918190);
+emit_32(1127716880);
+emit_32(1124900864);
+emit_32(1105762661);
+emit_32(1127716880);
+emit_32(1125156848);
+emit_32(1106612899);
+emit_32(1127716880);
+emit_32(1125412897);
+emit_32(1104639689);
+emit_32(1127716880);
+emit_32(1125668880);
+emit_32(1105198265);
+emit_32(1127716880);
+emit_32(1125924864);
+emit_32(1105413748);
+emit_32(1127716880);
+emit_32(1126180848);
+emit_32(1107783057);
+emit_32(1127716880);
+emit_32(1126436897);
+emit_32(1107991672);
+emit_32(1127716880);
+emit_32(1126692880);
+emit_32(1107664568);
+emit_32(1127716880);
+emit_32(1126948864);
+emit_32(1107212999);
+emit_32(1127716880);
+emit_32(1127204848);
+emit_32(1107232712);
+emit_32(1127716880);
+emit_32(1127460897);
+emit_32(1107399803);
+emit_32(1127716880);
+emit_32(1127716880);
+emit_32(1107519026);
+emit_32(1127716880);
+emit_32(1127972864);
+emit_32(1105586291);
+emit_32(1127716880);
+emit_32(1128228848);
+emit_32(1107722319);
+emit_32(1127716880);
+emit_32(1128484897);
+emit_32(1107549828);
+emit_32(1127716880);
+emit_32(1128740880);
+emit_32(1107213051);
+emit_32(1127716880);
+emit_32(1128996864);
+emit_32(1104407953);
+emit_32(1127716880);
+emit_32(1129252848);
+emit_32(1105963988);
+emit_32(1127716880);
+emit_32(1129508897);
+emit_32(1105610303);
+emit_32(1127716880);
+emit_32(1129764880);
+emit_32(1104453042);
+emit_32(1127716880);
+emit_32(1130020864);
+emit_32(1103642178);
+emit_32(1127716880);
+emit_32(1130276848);
+emit_32(1100372928);
+emit_32(1127716880);
+emit_32(1130532897);
+emit_32(1102654577);
+emit_32(1127716880);
+emit_32(1130788880);
+emit_32(1102227911);
+emit_32(1127716880);
+emit_32(1131044864);
+emit_32(1101889641);
+emit_32(1127716880);
+emit_32(1131300848);
+emit_32(1099123340);
+emit_32(1127716880);
+emit_32(1131556897);
+emit_32(1099152595);
+emit_32(1127716880);
+emit_32(1131812880);
+emit_32(1099081921);
+emit_32(1127716880);
+emit_32(1132068864);
+emit_32(1098933705);
+emit_32(1127716880);
+emit_32(1081737258);
+emit_32(1097521955);
+emit_32(1127460897);
+emit_32(1090125866);
+emit_32(1097290954);
+emit_32(1127460897);
+emit_32(1094418484);
+emit_32(1096535664);
+emit_32(1127460897);
+emit_32(1098514432);
+emit_32(1096791202);
+emit_32(1127460897);
+emit_32(1100759066);
+emit_32(1097822057);
+emit_32(1127460897);
+emit_32(1102807040);
+emit_32(1098240020);
+emit_32(1127460897);
+emit_32(1104855066);
+emit_32(1098978217);
+emit_32(1127460897);
+emit_32(1106903040);
+emit_32(1099121977);
+emit_32(1127460897);
+emit_32(1108123661);
+emit_32(1099009884);
+emit_32(1127460897);
+emit_32(1109147648);
+emit_32(1099001233);
+emit_32(1127460897);
+emit_32(1110171661);
+emit_32(1099564791);
+emit_32(1127460897);
+emit_32(1111195648);
+emit_32(1099604427);
+emit_32(1127460897);
+emit_32(1112219661);
+emit_32(1098912681);
+emit_32(1127460897);
+emit_32(1113243648);
+emit_32(1098358823);
+emit_32(1127460897);
+emit_32(1114267661);
+emit_32(1096897318);
+emit_32(1127460897);
+emit_32(1115291648);
+emit_32(1095649408);
+emit_32(1127460897);
+emit_32(1116000263);
+emit_32(1096935801);
+emit_32(1127460897);
+emit_32(1116512256);
+emit_32(1097798359);
+emit_32(1127460897);
+emit_32(1117024263);
+emit_32(1098804363);
+emit_32(1127460897);
+emit_32(1117536256);
+emit_32(1099628859);
+emit_32(1127460897);
+emit_32(1118048263);
+emit_32(1100288570);
+emit_32(1127460897);
+emit_32(1118560256);
+emit_32(1100879076);
+emit_32(1127460897);
+emit_32(1119072263);
+emit_32(1100927310);
+emit_32(1127460897);
+emit_32(1119584256);
+emit_32(1101310879);
+emit_32(1127460897);
+emit_32(1120096263);
+emit_32(1101683124);
+emit_32(1127460897);
+emit_32(1120608322);
+emit_32(1101623879);
+emit_32(1127460897);
+emit_32(1121120289);
+emit_32(1101768950);
+emit_32(1127460897);
+emit_32(1121632256);
+emit_32(1101614495);
+emit_32(1127460897);
+emit_32(1122144223);
+emit_32(1101255882);
+emit_32(1127460897);
+emit_32(1122656322);
+emit_32(1101305165);
+emit_32(1127460897);
+emit_32(1123168289);
+emit_32(1101210164);
+emit_32(1127460897);
+emit_32(1123680256);
+emit_32(1101974785);
+emit_32(1127460897);
+emit_32(1124132848);
+emit_32(1102412304);
+emit_32(1127460897);
+emit_32(1124388897);
+emit_32(1102794981);
+emit_32(1127460897);
+emit_32(1124644880);
+emit_32(1105358121);
+emit_32(1127460897);
+emit_32(1124900864);
+emit_32(1106543274);
+emit_32(1127460897);
+emit_32(1125156848);
+emit_32(1107495748);
+emit_32(1127460897);
+emit_32(1125412897);
+emit_32(1105955861);
+emit_32(1127460897);
+emit_32(1125668880);
+emit_32(1106429084);
+emit_32(1127460897);
+emit_32(1125924864);
+emit_32(1107140909);
+emit_32(1127460897);
+emit_32(1126180848);
+emit_32(1108420067);
+emit_32(1127460897);
+emit_32(1126436897);
+emit_32(1108539421);
+emit_32(1127460897);
+emit_32(1126692880);
+emit_32(1108278824);
+emit_32(1127460897);
+emit_32(1126948864);
+emit_32(1106248099);
+emit_32(1127460897);
+emit_32(1127204848);
+emit_32(1106077182);
+emit_32(1127460897);
+emit_32(1127460897);
+emit_32(1107959900);
+emit_32(1127460897);
+emit_32(1127716880);
+emit_32(1107937880);
+emit_32(1127460897);
+emit_32(1127972864);
+emit_32(1107912006);
+emit_32(1127460897);
+emit_32(1128228848);
+emit_32(1107668710);
+emit_32(1127460897);
+emit_32(1128484897);
+emit_32(1106012327);
+emit_32(1127460897);
+emit_32(1128740880);
+emit_32(1105705199);
+emit_32(1127460897);
+emit_32(1128996864);
+emit_32(1105290802);
+emit_32(1127460897);
+emit_32(1129252848);
+emit_32(1106539918);
+emit_32(1127460897);
+emit_32(1129508897);
+emit_32(1105540573);
+emit_32(1127460897);
+emit_32(1129764880);
+emit_32(1104772701);
+emit_32(1127460897);
+emit_32(1130020864);
+emit_32(1101448086);
+emit_32(1127460897);
+emit_32(1130276848);
+emit_32(1101175508);
+emit_32(1127460897);
+emit_32(1130532897);
+emit_32(1103296830);
+emit_32(1127460897);
+emit_32(1130788880);
+emit_32(1102692850);
+emit_32(1127460897);
+emit_32(1131044864);
+emit_32(1101873336);
+emit_32(1127460897);
+emit_32(1131300848);
+emit_32(1099038038);
+emit_32(1127460897);
+emit_32(1131556897);
+emit_32(1099314443);
+emit_32(1127460897);
+emit_32(1131812880);
+emit_32(1099183371);
+emit_32(1127460897);
+emit_32(1132068864);
+emit_32(1098779931);
+emit_32(1127460897);
+emit_32(1081737258);
+emit_32(1098169765);
+emit_32(1127204848);
+emit_32(1090125866);
+emit_32(1097937715);
+emit_32(1127204848);
+emit_32(1094418484);
+emit_32(1097656592);
+emit_32(1127204848);
+emit_32(1098514432);
+emit_32(1097279105);
+emit_32(1127204848);
+emit_32(1100759066);
+emit_32(1098705587);
+emit_32(1127204848);
+emit_32(1102807040);
+emit_32(1099191760);
+emit_32(1127204848);
+emit_32(1104855066);
+emit_32(1099316121);
+emit_32(1127204848);
+emit_32(1106903040);
+emit_32(1099533910);
+emit_32(1127204848);
+emit_32(1108123661);
+emit_32(1099430573);
+emit_32(1127204848);
+emit_32(1109147648);
+emit_32(1099413848);
+emit_32(1127204848);
+emit_32(1110171661);
+emit_32(1099829504);
+emit_32(1127204848);
+emit_32(1111195648);
+emit_32(1100016517);
+emit_32(1127204848);
+emit_32(1112219661);
+emit_32(1099249693);
+emit_32(1127204848);
+emit_32(1113243648);
+emit_32(1098799645);
+emit_32(1127204848);
+emit_32(1114267661);
+emit_32(1098342780);
+emit_32(1127204848);
+emit_32(1115291648);
+emit_32(1097196791);
+emit_32(1127204848);
+emit_32(1116000263);
+emit_32(1097901330);
+emit_32(1127204848);
+emit_32(1116512256);
+emit_32(1098866124);
+emit_32(1127204848);
+emit_32(1117024263);
+emit_32(1099404516);
+emit_32(1127204848);
+emit_32(1117536256);
+emit_32(1099985741);
+emit_32(1127204848);
+emit_32(1118048263);
+emit_32(1100426563);
+emit_32(1127204848);
+emit_32(1118560256);
+emit_32(1101059169);
+emit_32(1127204848);
+emit_32(1119072263);
+emit_32(1101194959);
+emit_32(1127204848);
+emit_32(1119584256);
+emit_32(1101016072);
+emit_32(1127204848);
+emit_32(1120096263);
+emit_32(1101472308);
+emit_32(1127204848);
+emit_32(1120608322);
+emit_32(1101985323);
+emit_32(1127204848);
+emit_32(1121120289);
+emit_32(1102436316);
+emit_32(1127204848);
+emit_32(1121632256);
+emit_32(1102413719);
+emit_32(1127204848);
+emit_32(1122144223);
+emit_32(1101785779);
+emit_32(1127204848);
+emit_32(1122656322);
+emit_32(1101731673);
+emit_32(1127204848);
+emit_32(1123168289);
+emit_32(1102273262);
+emit_32(1127204848);
+emit_32(1123680256);
+emit_32(1102879182);
+emit_32(1127204848);
+emit_32(1124132848);
+emit_32(1103081819);
+emit_32(1127204848);
+emit_32(1124388897);
+emit_32(1103419985);
+emit_32(1127204848);
+emit_32(1124644880);
+emit_32(1106708634);
+emit_32(1127204848);
+emit_32(1124900864);
+emit_32(1107116530);
+emit_32(1127204848);
+emit_32(1125156848);
+emit_32(1107879893);
+emit_32(1127204848);
+emit_32(1125412897);
+emit_32(1106751573);
+emit_32(1127204848);
+emit_32(1125668880);
+emit_32(1108314712);
+emit_32(1127204848);
+emit_32(1125924864);
+emit_32(1109036342);
+emit_32(1127204848);
+emit_32(1126180848);
+emit_32(1109160047);
+emit_32(1127204848);
+emit_32(1126436897);
+emit_32(1109143323);
+emit_32(1127204848);
+emit_32(1126692880);
+emit_32(1108877692);
+emit_32(1127204848);
+emit_32(1126948864);
+emit_32(1108518135);
+emit_32(1127204848);
+emit_32(1127204848);
+emit_32(1108362238);
+emit_32(1127204848);
+emit_32(1127460897);
+emit_32(1108376997);
+emit_32(1127204848);
+emit_32(1127716880);
+emit_32(1108363313);
+emit_32(1127204848);
+emit_32(1127972864);
+emit_32(1108321213);
+emit_32(1127204848);
+emit_32(1128228848);
+emit_32(1106462953);
+emit_32(1127204848);
+emit_32(1128484897);
+emit_32(1106272584);
+emit_32(1127204848);
+emit_32(1128740880);
+emit_32(1105682131);
+emit_32(1127204848);
+emit_32(1128996864);
+emit_32(1107532055);
+emit_32(1127204848);
+emit_32(1129252848);
+emit_32(1106896539);
+emit_32(1127204848);
+emit_32(1129508897);
+emit_32(1106257851);
+emit_32(1127204848);
+emit_32(1129764880);
+emit_32(1102788428);
+emit_32(1127204848);
+emit_32(1130020864);
+emit_32(1101910298);
+emit_32(1127204848);
+emit_32(1130276848);
+emit_32(1101035943);
+emit_32(1127204848);
+emit_32(1130532897);
+emit_32(1103745044);
+emit_32(1127204848);
+emit_32(1130788880);
+emit_32(1103183164);
+emit_32(1127204848);
+emit_32(1131044864);
+emit_32(1102075291);
+emit_32(1127204848);
+emit_32(1131300848);
+emit_32(1098519780);
+emit_32(1127204848);
+emit_32(1131556897);
+emit_32(1098358928);
+emit_32(1127204848);
+emit_32(1131812880);
+emit_32(1098789788);
+emit_32(1127204848);
+emit_32(1132068864);
+emit_32(1097999476);
+emit_32(1127204848);
+emit_32(1081737258);
+emit_32(1098949119);
+emit_32(1126948864);
+emit_32(1090125845);
+emit_32(1098913939);
+emit_32(1126948864);
+emit_32(1094418484);
+emit_32(1097887384);
+emit_32(1126948864);
+emit_32(1098514432);
+emit_32(1098001888);
+emit_32(1126948864);
+emit_32(1100759066);
+emit_32(1099097545);
+emit_32(1126948864);
+emit_32(1102807040);
+emit_32(1099290588);
+emit_32(1126948864);
+emit_32(1104855066);
+emit_32(1099551474);
+emit_32(1126948864);
+emit_32(1106903040);
+emit_32(1099163605);
+emit_32(1126948864);
+emit_32(1108123661);
+emit_32(1099190711);
+emit_32(1126948864);
+emit_32(1109147648);
+emit_32(1099720557);
+emit_32(1126948864);
+emit_32(1110171661);
+emit_32(1099796002);
+emit_32(1126948864);
+emit_32(1111195648);
+emit_32(1099824156);
+emit_32(1126948864);
+emit_32(1112219661);
+emit_32(1099671431);
+emit_32(1126948864);
+emit_32(1113243648);
+emit_32(1099204133);
+emit_32(1126948864);
+emit_32(1114267661);
+emit_32(1098311323);
+emit_32(1126948864);
+emit_32(1115291648);
+emit_32(1097819226);
+emit_32(1126948864);
+emit_32(1116000263);
+emit_32(1098122894);
+emit_32(1126948864);
+emit_32(1116512256);
+emit_32(1099069548);
+emit_32(1126948864);
+emit_32(1117024263);
+emit_32(1099712640);
+emit_32(1126948864);
+emit_32(1117536256);
+emit_32(1100258161);
+emit_32(1126948864);
+emit_32(1118048263);
+emit_32(1100567858);
+emit_32(1126948864);
+emit_32(1118560256);
+emit_32(1100912735);
+emit_32(1126948864);
+emit_32(1119072263);
+emit_32(1101335259);
+emit_32(1126948864);
+emit_32(1119584256);
+emit_32(1101300236);
+emit_32(1126948864);
+emit_32(1120096263);
+emit_32(1101307209);
+emit_32(1126948864);
+emit_32(1120608322);
+emit_32(1101813252);
+emit_32(1126948864);
+emit_32(1121120289);
+emit_32(1102347239);
+emit_32(1126948864);
+emit_32(1121632256);
+emit_32(1102583851);
+emit_32(1126948864);
+emit_32(1122144223);
+emit_32(1102372458);
+emit_32(1126948864);
+emit_32(1122656322);
+emit_32(1102499126);
+emit_32(1126948864);
+emit_32(1123168289);
+emit_32(1102697097);
+emit_32(1126948864);
+emit_32(1123680256);
+emit_32(1103294890);
+emit_32(1126948864);
+emit_32(1124132848);
+emit_32(1103928177);
+emit_32(1126948864);
+emit_32(1124388897);
+emit_32(1105053195);
+emit_32(1126948864);
+emit_32(1124644880);
+emit_32(1107678488);
+emit_32(1126948864);
+emit_32(1124900864);
+emit_32(1107666613);
+emit_32(1126948864);
+emit_32(1125156848);
+emit_32(1108068663);
+emit_32(1126948864);
+emit_32(1125412897);
+emit_32(1107030075);
+emit_32(1126948864);
+emit_32(1125668880);
+emit_32(1109044940);
+emit_32(1126948864);
+emit_32(1125924864);
+emit_32(1109464528);
+emit_32(1126948864);
+emit_32(1126180848);
+emit_32(1109502329);
+emit_32(1126948864);
+emit_32(1126436897);
+emit_32(1109661634);
+emit_32(1126948864);
+emit_32(1126692880);
+emit_32(1109335998);
+emit_32(1126948864);
+emit_32(1126948864);
+emit_32(1108826548);
+emit_32(1126948864);
+emit_32(1127204848);
+emit_32(1108883774);
+emit_32(1126948864);
+emit_32(1127460897);
+emit_32(1107300110);
+emit_32(1126948864);
+emit_32(1127716880);
+emit_32(1108142929);
+emit_32(1126948864);
+emit_32(1127972864);
+emit_32(1108009838);
+emit_32(1126948864);
+emit_32(1128228848);
+emit_32(1107061165);
+emit_32(1126948864);
+emit_32(1128484897);
+emit_32(1105722553);
+emit_32(1126948864);
+emit_32(1128740880);
+emit_32(1106183035);
+emit_32(1126948864);
+emit_32(1128996864);
+emit_32(1107464133);
+emit_32(1126948864);
+emit_32(1129252848);
+emit_32(1106950907);
+emit_32(1126948864);
+emit_32(1129508897);
+emit_32(1105415740);
+emit_32(1126948864);
+emit_32(1129764880);
+emit_32(1102572893);
+emit_32(1126948864);
+emit_32(1130020864);
+emit_32(1101736444);
+emit_32(1126948864);
+emit_32(1130276848);
+emit_32(1103790604);
+emit_32(1126948864);
+emit_32(1130532897);
+emit_32(1103702943);
+emit_32(1126948864);
+emit_32(1130788880);
+emit_32(1102824918);
+emit_32(1126948864);
+emit_32(1131044864);
+emit_32(1102312374);
+emit_32(1126948864);
+emit_32(1131300848);
+emit_32(1098839595);
+emit_32(1126948864);
+emit_32(1131556897);
+emit_32(1098161272);
+emit_32(1126948864);
+emit_32(1131812880);
+emit_32(1097697906);
+emit_32(1126948864);
+emit_32(1132068864);
+emit_32(1097362991);
+emit_32(1126948864);
+emit_32(1081737258);
+emit_32(1099508220);
+emit_32(1126692880);
+emit_32(1090125845);
+emit_32(1099273653);
+emit_32(1126692880);
+emit_32(1094418484);
+emit_32(1099205496);
+emit_32(1126692880);
+emit_32(1098514432);
+emit_32(1098995047);
+emit_32(1126692880);
+emit_32(1100759066);
+emit_32(1099092355);
+emit_32(1126692880);
+emit_32(1102807040);
+emit_32(1099190187);
+emit_32(1126692880);
+emit_32(1104855066);
+emit_32(1099331011);
+emit_32(1126692880);
+emit_32(1106903040);
+emit_32(1099536112);
+emit_32(1126692880);
+emit_32(1108123661);
+emit_32(1099882824);
+emit_32(1126692880);
+emit_32(1109147648);
+emit_32(1100241332);
+emit_32(1126692880);
+emit_32(1110171661);
+emit_32(1100308441);
+emit_32(1126692880);
+emit_32(1111195648);
+emit_32(1099924085);
+emit_32(1126692880);
+emit_32(1112219661);
+emit_32(1099715209);
+emit_32(1126692880);
+emit_32(1113243648);
+emit_32(1099688575);
+emit_32(1126692880);
+emit_32(1114267661);
+emit_32(1099415106);
+emit_32(1126692880);
+emit_32(1115291648);
+emit_32(1099022572);
+emit_32(1126692880);
+emit_32(1116000263);
+emit_32(1098456655);
+emit_32(1126692880);
+emit_32(1116512256);
+emit_32(1099432827);
+emit_32(1126692880);
+emit_32(1117024263);
+emit_32(1099963931);
+emit_32(1126692880);
+emit_32(1117536256);
+emit_32(1100471914);
+emit_32(1126692880);
+emit_32(1118048263);
+emit_32(1100910271);
+emit_32(1126692880);
+emit_32(1118560256);
+emit_32(1100950746);
+emit_32(1126692880);
+emit_32(1119072263);
+emit_32(1101340921);
+emit_32(1126692880);
+emit_32(1119584256);
+emit_32(1101516925);
+emit_32(1126692880);
+emit_32(1120096263);
+emit_32(1101607626);
+emit_32(1126692880);
+emit_32(1120608322);
+emit_32(1101700478);
+emit_32(1126692880);
+emit_32(1121120289);
+emit_32(1102113826);
+emit_32(1126692880);
+emit_32(1121632256);
+emit_32(1102162428);
+emit_32(1126692880);
+emit_32(1122144223);
+emit_32(1102697097);
+emit_32(1126692880);
+emit_32(1122656322);
+emit_32(1103401950);
+emit_32(1126692880);
+emit_32(1123168289);
+emit_32(1103831813);
+emit_32(1126692880);
+emit_32(1123680256);
+emit_32(1104291194);
+emit_32(1126692880);
+emit_32(1124132848);
+emit_32(1105271456);
+emit_32(1126692880);
+emit_32(1124388897);
+emit_32(1106220574);
+emit_32(1126692880);
+emit_32(1124644880);
+emit_32(1108019957);
+emit_32(1126692880);
+emit_32(1124900864);
+emit_32(1108180861);
+emit_32(1126692880);
+emit_32(1125156848);
+emit_32(1108381558);
+emit_32(1126692880);
+emit_32(1125412897);
+emit_32(1108884508);
+emit_32(1126692880);
+emit_32(1125668880);
+emit_32(1109395820);
+emit_32(1126692880);
+emit_32(1125924864);
+emit_32(1109634712);
+emit_32(1126692880);
+emit_32(1126180848);
+emit_32(1109777816);
+emit_32(1126692880);
+emit_32(1126436897);
+emit_32(1109887130);
+emit_32(1126692880);
+emit_32(1126692880);
+emit_32(1109468460);
+emit_32(1126692880);
+emit_32(1126948864);
+emit_32(1108976887);
+emit_32(1126692880);
+emit_32(1127204848);
+emit_32(1108737288);
+emit_32(1126692880);
+emit_32(1127460897);
+emit_32(1107322339);
+emit_32(1126692880);
+emit_32(1127716880);
+emit_32(1108472024);
+emit_32(1126692880);
+emit_32(1127972864);
+emit_32(1107965326);
+emit_32(1126692880);
+emit_32(1128228848);
+emit_32(1107928049);
+emit_32(1126692880);
+emit_32(1128484897);
+emit_32(1106025906);
+emit_32(1126692880);
+emit_32(1128740880);
+emit_32(1107754012);
+emit_32(1126692880);
+emit_32(1128996864);
+emit_32(1107563407);
+emit_32(1126692880);
+emit_32(1129252848);
+emit_32(1107120672);
+emit_32(1126692880);
+emit_32(1129508897);
+emit_32(1103449188);
+emit_32(1126692880);
+emit_32(1129764880);
+emit_32(1102395841);
+emit_32(1126692880);
+emit_32(1130020864);
+emit_32(1101999899);
+emit_32(1126692880);
+emit_32(1130276848);
+emit_32(1104243012);
+emit_32(1126692880);
+emit_32(1130532897);
+emit_32(1103501407);
+emit_32(1126692880);
+emit_32(1130788880);
+emit_32(1102408424);
+emit_32(1126692880);
+emit_32(1131044864);
+emit_32(1099757099);
+emit_32(1126692880);
+emit_32(1131300848);
+emit_32(1098990538);
+emit_32(1126692880);
+emit_32(1131556897);
+emit_32(1097576795);
+emit_32(1126692880);
+emit_32(1131812880);
+emit_32(1097118777);
+emit_32(1126692880);
+emit_32(1132068864);
+emit_32(1095884499);
+emit_32(1126692880);
+emit_32(1081737300);
+emit_32(1099149921);
+emit_32(1126436897);
+emit_32(1090125845);
+emit_32(1099736547);
+emit_32(1126436897);
+emit_32(1094418484);
+emit_32(1099814457);
+emit_32(1126436897);
+emit_32(1098514432);
+emit_32(1099497996);
+emit_32(1126436897);
+emit_32(1100759066);
+emit_32(1099614598);
+emit_32(1126436897);
+emit_32(1102807040);
+emit_32(1099949041);
+emit_32(1126436897);
+emit_32(1104855066);
+emit_32(1100303460);
+emit_32(1126436897);
+emit_32(1106903040);
+emit_32(1100372194);
+emit_32(1126436897);
+emit_32(1108123661);
+emit_32(1100388499);
+emit_32(1126436897);
+emit_32(1109147648);
+emit_32(1100457129);
+emit_32(1126436897);
+emit_32(1110171661);
+emit_32(1100645768);
+emit_32(1126436897);
+emit_32(1111195648);
+emit_32(1100270587);
+emit_32(1126436897);
+emit_32(1112219661);
+emit_32(1099961152);
+emit_32(1126436897);
+emit_32(1113243648);
+emit_32(1099730885);
+emit_32(1126436897);
+emit_32(1114267661);
+emit_32(1099738435);
+emit_32(1126436897);
+emit_32(1115291648);
+emit_32(1099626866);
+emit_32(1126436897);
+emit_32(1116000263);
+emit_32(1099808847);
+emit_32(1126436897);
+emit_32(1116512256);
+emit_32(1099946000);
+emit_32(1126436897);
+emit_32(1117024263);
+emit_32(1100112776);
+emit_32(1126436897);
+emit_32(1117536256);
+emit_32(1100457758);
+emit_32(1126436897);
+emit_32(1118048263);
+emit_32(1101221960);
+emit_32(1126436897);
+emit_32(1118560256);
+emit_32(1101270404);
+emit_32(1126436897);
+emit_32(1119072263);
+emit_32(1101406090);
+emit_32(1126436897);
+emit_32(1119584256);
+emit_32(1101500619);
+emit_32(1126436897);
+emit_32(1120096263);
+emit_32(1101585606);
+emit_32(1126436897);
+emit_32(1120608322);
+emit_32(1101398278);
+emit_32(1126436897);
+emit_32(1121120289);
+emit_32(1101771047);
+emit_32(1126436897);
+emit_32(1121632256);
+emit_32(1102476005);
+emit_32(1126436897);
+emit_32(1122144223);
+emit_32(1103241150);
+emit_32(1126436897);
+emit_32(1122656322);
+emit_32(1103529247);
+emit_32(1126436897);
+emit_32(1123168289);
+emit_32(1104315207);
+emit_32(1126436897);
+emit_32(1123680256);
+emit_32(1105405149);
+emit_32(1126436897);
+emit_32(1124132848);
+emit_32(1106277302);
+emit_32(1126436897);
+emit_32(1124388897);
+emit_32(1107026667);
+emit_32(1126436897);
+emit_32(1124644880);
+emit_32(1107115324);
+emit_32(1126436897);
+emit_32(1124900864);
+emit_32(1108622626);
+emit_32(1126436897);
+emit_32(1125156848);
+emit_32(1108806546);
+emit_32(1126436897);
+emit_32(1125412897);
+emit_32(1109128328);
+emit_32(1126436897);
+emit_32(1125668880);
+emit_32(1109170114);
+emit_32(1126436897);
+emit_32(1125924864);
+emit_32(1108511739);
+emit_32(1126436897);
+emit_32(1126180848);
+emit_32(1109723867);
+emit_32(1126436897);
+emit_32(1126436897);
+emit_32(1109979719);
+emit_32(1126436897);
+emit_32(1126692880);
+emit_32(1109649182);
+emit_32(1126436897);
+emit_32(1126948864);
+emit_32(1107794749);
+emit_32(1126436897);
+emit_32(1127204848);
+emit_32(1107867677);
+emit_32(1126436897);
+emit_32(1127460897);
+emit_32(1107576278);
+emit_32(1126436897);
+emit_32(1127716880);
+emit_32(1108142168);
+emit_32(1126436897);
+emit_32(1127972864);
+emit_32(1108112284);
+emit_32(1126436897);
+emit_32(1128228848);
+emit_32(1108004202);
+emit_32(1126436897);
+emit_32(1128484897);
+emit_32(1106311696);
+emit_32(1126436897);
+emit_32(1128740880);
+emit_32(1107993349);
+emit_32(1126436897);
+emit_32(1128996864);
+emit_32(1107720798);
+emit_32(1126436897);
+emit_32(1129252848);
+emit_32(1106276306);
+emit_32(1126436897);
+emit_32(1129508897);
+emit_32(1103536849);
+emit_32(1126436897);
+emit_32(1129764880);
+emit_32(1102593288);
+emit_32(1126436897);
+emit_32(1130020864);
+emit_32(1104446017);
+emit_32(1126436897);
+emit_32(1130276848);
+emit_32(1104044255);
+emit_32(1126436897);
+emit_32(1130532897);
+emit_32(1102976752);
+emit_32(1126436897);
+emit_32(1130788880);
+emit_32(1102244531);
+emit_32(1126436897);
+emit_32(1131044864);
+emit_32(1099010199);
+emit_32(1126436897);
+emit_32(1131300848);
+emit_32(1097715417);
+emit_32(1126436897);
+emit_32(1131556897);
+emit_32(1096758067);
+emit_32(1126436897);
+emit_32(1131812880);
+emit_32(1097016856);
+emit_32(1126436897);
+emit_32(1132068864);
+emit_32(1096071355);
+emit_32(1126436897);
+emit_32(1081737300);
+emit_32(1099236901);
+emit_32(1126180848);
+emit_32(1090125845);
+emit_32(1099655702);
+emit_32(1126180848);
+emit_32(1094418484);
+emit_32(1099975256);
+emit_32(1126180848);
+emit_32(1098514432);
+emit_32(1100023700);
+emit_32(1126180848);
+emit_32(1100759066);
+emit_32(1100282436);
+emit_32(1126180848);
+emit_32(1102807040);
+emit_32(1100103077);
+emit_32(1126180848);
+emit_32(1104855066);
+emit_32(1100266183);
+emit_32(1126180848);
+emit_32(1106903040);
+emit_32(1100408947);
+emit_32(1126180848);
+emit_32(1108123661);
+emit_32(1100595488);
+emit_32(1126180848);
+emit_32(1109147648);
+emit_32(1100418698);
+emit_32(1126180848);
+emit_32(1110171661);
+emit_32(1100484601);
+emit_32(1126180848);
+emit_32(1111195648);
+emit_32(1100664327);
+emit_32(1126180848);
+emit_32(1112219661);
+emit_32(1099877791);
+emit_32(1126180848);
+emit_32(1113243648);
+emit_32(1100235250);
+emit_32(1126180848);
+emit_32(1114267661);
+emit_32(1100072773);
+emit_32(1126180848);
+emit_32(1115291648);
+emit_32(1099973001);
+emit_32(1126180848);
+emit_32(1116000263);
+emit_32(1100257165);
+emit_32(1126180848);
+emit_32(1116512256);
+emit_32(1100157288);
+emit_32(1126180848);
+emit_32(1117024263);
+emit_32(1100000369);
+emit_32(1126180848);
+emit_32(1117536256);
+emit_32(1100933077);
+emit_32(1126180848);
+emit_32(1118048263);
+emit_32(1101502192);
+emit_32(1126180848);
+emit_32(1118560256);
+emit_32(1101329701);
+emit_32(1126180848);
+emit_32(1119072263);
+emit_32(1101273078);
+emit_32(1126180848);
+emit_32(1119584256);
+emit_32(1101224057);
+emit_32(1126180848);
+emit_32(1120096263);
+emit_32(1100934231);
+emit_32(1126180848);
+emit_32(1120608322);
+emit_32(1101108137);
+emit_32(1126180848);
+emit_32(1121120289);
+emit_32(1102075344);
+emit_32(1126180848);
+emit_32(1121632256);
+emit_32(1102823975);
+emit_32(1126180848);
+emit_32(1122144223);
+emit_32(1103440694);
+emit_32(1126180848);
+emit_32(1122656322);
+emit_32(1104266238);
+emit_32(1126180848);
+emit_32(1123168289);
+emit_32(1105264588);
+emit_32(1126180848);
+emit_32(1123680256);
+emit_32(1106148170);
+emit_32(1126180848);
+emit_32(1124132848);
+emit_32(1107157267);
+emit_32(1126180848);
+emit_32(1124388897);
+emit_32(1107410970);
+emit_32(1126180848);
+emit_32(1124644880);
+emit_32(1107631669);
+emit_32(1126180848);
+emit_32(1124900864);
+emit_32(1108727248);
+emit_32(1126180848);
+emit_32(1125156848);
+emit_32(1109083947);
+emit_32(1126180848);
+emit_32(1125412897);
+emit_32(1109383499);
+emit_32(1126180848);
+emit_32(1125668880);
+emit_32(1109832552);
+emit_32(1126180848);
+emit_32(1125924864);
+emit_32(1108779362);
+emit_32(1126180848);
+emit_32(1126180848);
+emit_32(1109779336);
+emit_32(1126180848);
+emit_32(1126436897);
+emit_32(1109875019);
+emit_32(1126180848);
+emit_32(1126692880);
+emit_32(1109584485);
+emit_32(1126180848);
+emit_32(1126948864);
+emit_32(1108220130);
+emit_32(1126180848);
+emit_32(1127204848);
+emit_32(1107865790);
+emit_32(1126180848);
+emit_32(1127460897);
+emit_32(1107810792);
+emit_32(1126180848);
+emit_32(1127716880);
+emit_32(1107637358);
+emit_32(1126180848);
+emit_32(1127972864);
+emit_32(1108765940);
+emit_32(1126180848);
+emit_32(1128228848);
+emit_32(1108423134);
+emit_32(1126180848);
+emit_32(1128484897);
+emit_32(1107554101);
+emit_32(1126180848);
+emit_32(1128740880);
+emit_32(1107893184);
+emit_32(1126180848);
+emit_32(1128996864);
+emit_32(1107705384);
+emit_32(1126180848);
+emit_32(1129252848);
+emit_32(1104640790);
+emit_32(1126180848);
+emit_32(1129508897);
+emit_32(1103289857);
+emit_32(1126180848);
+emit_32(1129764880);
+emit_32(1103910824);
+emit_32(1126180848);
+emit_32(1130020864);
+emit_32(1104153359);
+emit_32(1126180848);
+emit_32(1130276848);
+emit_32(1103150186);
+emit_32(1126180848);
+emit_32(1130532897);
+emit_32(1102522509);
+emit_32(1126180848);
+emit_32(1130788880);
+emit_32(1099531498);
+emit_32(1126180848);
+emit_32(1131044864);
+emit_32(1097916953);
+emit_32(1126180848);
+emit_32(1131300848);
+emit_32(1097069285);
+emit_32(1126180848);
+emit_32(1131556897);
+emit_32(1096586310);
+emit_32(1126180848);
+emit_32(1131812880);
+emit_32(1097348625);
+emit_32(1126180848);
+emit_32(1132068864);
+emit_32(1097196791);
+emit_32(1126180848);
+emit_32(1081737300);
+emit_32(1099397648);
+emit_32(1125924864);
+emit_32(1090125845);
+emit_32(1100083993);
+emit_32(1125924864);
+emit_32(1094418484);
+emit_32(1100159071);
+emit_32(1125924864);
+emit_32(1098514432);
+emit_32(1100011536);
+emit_32(1125924864);
+emit_32(1100759066);
+emit_32(1100346556);
+emit_32(1125924864);
+emit_32(1102807040);
+emit_32(1100440404);
+emit_32(1125924864);
+emit_32(1104855066);
+emit_32(1100194775);
+emit_32(1125924864);
+emit_32(1106903040);
+emit_32(1100304561);
+emit_32(1125924864);
+emit_32(1108123661);
+emit_32(1100451571);
+emit_32(1125924864);
+emit_32(1109147648);
+emit_32(1100478992);
+emit_32(1125924864);
+emit_32(1110171661);
+emit_32(1100408580);
+emit_32(1125924864);
+emit_32(1111195648);
+emit_32(1100317249);
+emit_32(1125924864);
+emit_32(1112219661);
+emit_32(1100401554);
+emit_32(1125924864);
+emit_32(1113243648);
+emit_32(1100711618);
+emit_32(1125924864);
+emit_32(1114267661);
+emit_32(1100343358);
+emit_32(1125924864);
+emit_32(1115291648);
+emit_32(1099679924);
+emit_32(1125924864);
+emit_32(1116000263);
+emit_32(1100265868);
+emit_32(1125924864);
+emit_32(1116512256);
+emit_32(1100336438);
+emit_32(1125924864);
+emit_32(1117024263);
+emit_32(1100743338);
+emit_32(1125924864);
+emit_32(1117536256);
+emit_32(1100911529);
+emit_32(1125924864);
+emit_32(1118048263);
+emit_32(1100933916);
+emit_32(1125924864);
+emit_32(1118560256);
+emit_32(1100950012);
+emit_32(1125924864);
+emit_32(1119072263);
+emit_32(1100711251);
+emit_32(1125924864);
+emit_32(1119584256);
+emit_32(1100374239);
+emit_32(1125924864);
+emit_32(1120096263);
+emit_32(1100424046);
+emit_32(1125924864);
+emit_32(1120608322);
+emit_32(1101327290);
+emit_32(1125924864);
+emit_32(1121120289);
+emit_32(1102568437);
+emit_32(1125924864);
+emit_32(1121632256);
+emit_32(1103744257);
+emit_32(1125924864);
+emit_32(1122144223);
+emit_32(1104560993);
+emit_32(1125924864);
+emit_32(1122656322);
+emit_32(1105101115);
+emit_32(1125924864);
+emit_32(1123168289);
+emit_32(1106075032);
+emit_32(1125924864);
+emit_32(1123680256);
+emit_32(1107013874);
+emit_32(1125924864);
+emit_32(1124132848);
+emit_32(1107516116);
+emit_32(1125924864);
+emit_32(1124388897);
+emit_32(1107763764);
+emit_32(1125924864);
+emit_32(1124644880);
+emit_32(1107925035);
+emit_32(1125924864);
+emit_32(1124900864);
+emit_32(1108124867);
+emit_32(1125924864);
+emit_32(1125156848);
+emit_32(1109418652);
+emit_32(1125924864);
+emit_32(1125412897);
+emit_32(1109666352);
+emit_32(1125924864);
+emit_32(1125668880);
+emit_32(1109926216);
+emit_32(1125924864);
+emit_32(1125924864);
+emit_32(1109962156);
+emit_32(1125924864);
+emit_32(1126180848);
+emit_32(1109898428);
+emit_32(1125924864);
+emit_32(1126436897);
+emit_32(1110252978);
+emit_32(1125924864);
+emit_32(1126692880);
+emit_32(1110074851);
+emit_32(1125924864);
+emit_32(1126948864);
+emit_32(1108526681);
+emit_32(1125924864);
+emit_32(1127204848);
+emit_32(1108040561);
+emit_32(1125924864);
+emit_32(1127460897);
+emit_32(1108008160);
+emit_32(1125924864);
+emit_32(1127716880);
+emit_32(1107835722);
+emit_32(1125924864);
+emit_32(1127972864);
+emit_32(1107758862);
+emit_32(1125924864);
+emit_32(1128228848);
+emit_32(1107617173);
+emit_32(1125924864);
+emit_32(1128484897);
+emit_32(1107323860);
+emit_32(1125924864);
+emit_32(1128740880);
+emit_32(1106591770);
+emit_32(1125924864);
+emit_32(1128996864);
+emit_32(1107721716);
+emit_32(1125924864);
+emit_32(1129252848);
+emit_32(1105209537);
+emit_32(1125924864);
+emit_32(1129508897);
+emit_32(1106514647);
+emit_32(1125924864);
+emit_32(1129764880);
+emit_32(1105924089);
+emit_32(1125924864);
+emit_32(1130020864);
+emit_32(1104857583);
+emit_32(1125924864);
+emit_32(1130276848);
+emit_32(1104080850);
+emit_32(1125924864);
+emit_32(1130532897);
+emit_32(1103165338);
+emit_32(1125924864);
+emit_32(1130788880);
+emit_32(1099955123);
+emit_32(1125924864);
+emit_32(1131044864);
+emit_32(1098976015);
+emit_32(1125924864);
+emit_32(1131300848);
+emit_32(1097678822);
+emit_32(1125924864);
+emit_32(1131556897);
+emit_32(1095863632);
+emit_32(1125924864);
+emit_32(1131812880);
+emit_32(1096143811);
+emit_32(1125924864);
+emit_32(1132068864);
+emit_32(1096399978);
+emit_32(1125924864);
+emit_32(1081737300);
+emit_32(1099796421);
+emit_32(1125668880);
+emit_32(1090125845);
+emit_32(1100536244);
+emit_32(1125668880);
+emit_32(1094418484);
+emit_32(1100815951);
+emit_32(1125668880);
+emit_32(1098514432);
+emit_32(1100932763);
+emit_32(1125668880);
+emit_32(1100759066);
+emit_32(1100556691);
+emit_32(1125668880);
+emit_32(1102807040);
+emit_32(1100739091);
+emit_32(1125668880);
+emit_32(1104855066);
+emit_32(1100685404);
+emit_32(1125668880);
+emit_32(1106903040);
+emit_32(1100296592);
+emit_32(1125668880);
+emit_32(1108123661);
+emit_32(1100158652);
+emit_32(1125668880);
+emit_32(1109147648);
+emit_32(1100060033);
+emit_32(1125668880);
+emit_32(1110171661);
+emit_32(1100191996);
+emit_32(1125668880);
+emit_32(1111195648);
+emit_32(1099855718);
+emit_32(1125668880);
+emit_32(1112219661);
+emit_32(1100233887);
+emit_32(1125668880);
+emit_32(1113243648);
+emit_32(1100904976);
+emit_32(1125668880);
+emit_32(1114267661);
+emit_32(1100654785);
+emit_32(1125668880);
+emit_32(1115291648);
+emit_32(1100035234);
+emit_32(1125668880);
+emit_32(1116000263);
+emit_32(1099851262);
+emit_32(1125668880);
+emit_32(1116512256);
+emit_32(1099917741);
+emit_32(1125668880);
+emit_32(1117024263);
+emit_32(1100254544);
+emit_32(1125668880);
+emit_32(1117536256);
+emit_32(1100744910);
+emit_32(1125668880);
+emit_32(1118048263);
+emit_32(1101045065);
+emit_32(1125668880);
+emit_32(1118560256);
+emit_32(1100752460);
+emit_32(1125668880);
+emit_32(1119072263);
+emit_32(1101140695);
+emit_32(1125668880);
+emit_32(1119584256);
+emit_32(1100593706);
+emit_32(1125668880);
+emit_32(1120096263);
+emit_32(1101066351);
+emit_32(1125668880);
+emit_32(1120608322);
+emit_32(1102014421);
+emit_32(1125668880);
+emit_32(1121120289);
+emit_32(1103061005);
+emit_32(1125668880);
+emit_32(1121632256);
+emit_32(1104070627);
+emit_32(1125668880);
+emit_32(1122144223);
+emit_32(1105156270);
+emit_32(1125668880);
+emit_32(1122656322);
+emit_32(1105870088);
+emit_32(1125668880);
+emit_32(1123168289);
+emit_32(1106367690);
+emit_32(1125668880);
+emit_32(1123680256);
+emit_32(1107164922);
+emit_32(1125668880);
+emit_32(1124132848);
+emit_32(1107602545);
+emit_32(1125668880);
+emit_32(1124388897);
+emit_32(1107941812);
+emit_32(1125668880);
+emit_32(1124644880);
+emit_32(1108344334);
+emit_32(1125668880);
+emit_32(1124900864);
+emit_32(1108480308);
+emit_32(1125668880);
+emit_32(1125156848);
+emit_32(1108327137);
+emit_32(1125668880);
+emit_32(1125412897);
+emit_32(1109716107);
+emit_32(1125668880);
+emit_32(1125668880);
+emit_32(1110107934);
+emit_32(1125668880);
+emit_32(1125924864);
+emit_32(1110315159);
+emit_32(1125668880);
+emit_32(1126180848);
+emit_32(1110535569);
+emit_32(1125668880);
+emit_32(1126436897);
+emit_32(1110503509);
+emit_32(1125668880);
+emit_32(1126692880);
+emit_32(1109463636);
+emit_32(1125668880);
+emit_32(1126948864);
+emit_32(1108400118);
+emit_32(1125668880);
+emit_32(1127204848);
+emit_32(1108447225);
+emit_32(1125668880);
+emit_32(1127460897);
+emit_32(1108142195);
+emit_32(1125668880);
+emit_32(1127716880);
+emit_32(1108004202);
+emit_32(1125668880);
+emit_32(1127972864);
+emit_32(1108024046);
+emit_32(1125668880);
+emit_32(1128228848);
+emit_32(1107844452);
+emit_32(1125668880);
+emit_32(1128484897);
+emit_32(1107348947);
+emit_32(1125668880);
+emit_32(1128740880);
+emit_32(1106593763);
+emit_32(1125668880);
+emit_32(1128996864);
+emit_32(1105593683);
+emit_32(1125668880);
+emit_32(1129252848);
+emit_32(1107573788);
+emit_32(1125668880);
+emit_32(1129508897);
+emit_32(1107189039);
+emit_32(1125668880);
+emit_32(1129764880);
+emit_32(1106191581);
+emit_32(1125668880);
+emit_32(1130020864);
+emit_32(1104988812);
+emit_32(1125668880);
+emit_32(1130276848);
+emit_32(1104221150);
+emit_32(1125668880);
+emit_32(1130532897);
+emit_32(1100814903);
+emit_32(1125668880);
+emit_32(1130788880);
+emit_32(1100302044);
+emit_32(1125668880);
+emit_32(1131044864);
+emit_32(1099639816);
+emit_32(1125668880);
+emit_32(1131300848);
+emit_32(1098467980);
+emit_32(1125668880);
+emit_32(1131556897);
+emit_32(1096188795);
+emit_32(1125668880);
+emit_32(1131812880);
+emit_32(1095551051);
+emit_32(1125668880);
+emit_32(1132068864);
+emit_32(1095331689);
+emit_32(1125668880);
+emit_32(1081737258);
+emit_32(1100171654);
+emit_32(1125412897);
+emit_32(1090125845);
+emit_32(1100384200);
+emit_32(1125412897);
+emit_32(1094418484);
+emit_32(1101392563);
+emit_32(1125412897);
+emit_32(1098514432);
+emit_32(1101939763);
+emit_32(1125412897);
+emit_32(1100759066);
+emit_32(1101350096);
+emit_32(1125412897);
+emit_32(1102807040);
+emit_32(1100931242);
+emit_32(1125412897);
+emit_32(1104855066);
+emit_32(1101054660);
+emit_32(1125412897);
+emit_32(1106903040);
+emit_32(1100365745);
+emit_32(1125412897);
+emit_32(1108123661);
+emit_32(1100020711);
+emit_32(1125412897);
+emit_32(1109147648);
+emit_32(1099837211);
+emit_32(1125412897);
+emit_32(1110171661);
+emit_32(1099961205);
+emit_32(1125412897);
+emit_32(1111195648);
+emit_32(1099795792);
+emit_32(1125412897);
+emit_32(1112219661);
+emit_32(1099519282);
+emit_32(1125412897);
+emit_32(1113243648);
+emit_32(1100138886);
+emit_32(1125412897);
+emit_32(1114267661);
+emit_32(1100250454);
+emit_32(1125412897);
+emit_32(1115291648);
+emit_32(1100025640);
+emit_32(1125412897);
+emit_32(1116000263);
+emit_32(1099647890);
+emit_32(1125412897);
+emit_32(1116512256);
+emit_32(1099582564);
+emit_32(1125412897);
+emit_32(1117024263);
+emit_32(1099791335);
+emit_32(1125412897);
+emit_32(1117536256);
+emit_32(1100303198);
+emit_32(1125412897);
+emit_32(1118048263);
+emit_32(1100818520);
+emit_32(1125412897);
+emit_32(1118560256);
+emit_32(1100729182);
+emit_32(1125412897);
+emit_32(1119072263);
+emit_32(1101156162);
+emit_32(1125412897);
+emit_32(1119584256);
+emit_32(1101134247);
+emit_32(1125412897);
+emit_32(1120096263);
+emit_32(1101623565);
+emit_32(1125412897);
+emit_32(1120608322);
+emit_32(1102682626);
+emit_32(1125412897);
+emit_32(1121120289);
+emit_32(1103567205);
+emit_32(1125412897);
+emit_32(1121632256);
+emit_32(1104435374);
+emit_32(1125412897);
+emit_32(1122144223);
+emit_32(1105541464);
+emit_32(1125412897);
+emit_32(1122656322);
+emit_32(1106370730);
+emit_32(1125412897);
+emit_32(1123168289);
+emit_32(1107136296);
+emit_32(1125412897);
+emit_32(1123680256);
+emit_32(1107622678);
+emit_32(1125412897);
+emit_32(1124132848);
+emit_32(1107924458);
+emit_32(1125412897);
+emit_32(1124388897);
+emit_32(1108157006);
+emit_32(1125412897);
+emit_32(1124644880);
+emit_32(1108530928);
+emit_32(1125412897);
+emit_32(1124900864);
+emit_32(1108656600);
+emit_32(1125412897);
+emit_32(1125156848);
+emit_32(1108481461);
+emit_32(1125412897);
+emit_32(1125412897);
+emit_32(1108539159);
+emit_32(1125412897);
+emit_32(1125668880);
+emit_32(1110441066);
+emit_32(1125412897);
+emit_32(1125924864);
+emit_32(1110692148);
+emit_32(1125412897);
+emit_32(1126180848);
+emit_32(1110653744);
+emit_32(1125412897);
+emit_32(1126436897);
+emit_32(1110727721);
+emit_32(1125412897);
+emit_32(1126692880);
+emit_32(1110202673);
+emit_32(1125412897);
+emit_32(1126948864);
+emit_32(1109971881);
+emit_32(1125412897);
+emit_32(1127204848);
+emit_32(1109534940);
+emit_32(1125412897);
+emit_32(1127460897);
+emit_32(1108342263);
+emit_32(1125412897);
+emit_32(1127716880);
+emit_32(1107927840);
+emit_32(1125412897);
+emit_32(1127972864);
+emit_32(1108111183);
+emit_32(1125412897);
+emit_32(1128228848);
+emit_32(1107908939);
+emit_32(1125412897);
+emit_32(1128484897);
+emit_32(1108258954);
+emit_32(1125412897);
+emit_32(1128740880);
+emit_32(1108072464);
+emit_32(1125412897);
+emit_32(1128996864);
+emit_32(1107928180);
+emit_32(1125412897);
+emit_32(1129252848);
+emit_32(1107296990);
+emit_32(1125412897);
+emit_32(1129508897);
+emit_32(1106977751);
+emit_32(1125412897);
+emit_32(1129764880);
+emit_32(1105908938);
+emit_32(1125412897);
+emit_32(1130020864);
+emit_32(1105000556);
+emit_32(1125412897);
+emit_32(1130276848);
+emit_32(1101880046);
+emit_32(1125412897);
+emit_32(1130532897);
+emit_32(1101191447);
+emit_32(1125412897);
+emit_32(1130788880);
+emit_32(1100805675);
+emit_32(1125412897);
+emit_32(1131044864);
+emit_32(1099759459);
+emit_32(1125412897);
+emit_32(1131300848);
+emit_32(1099177761);
+emit_32(1125412897);
+emit_32(1131556897);
+emit_32(1097755263);
+emit_32(1125412897);
+emit_32(1131812880);
+emit_32(1095551576);
+emit_32(1125412897);
+emit_32(1132068864);
+emit_32(1095000968);
+emit_32(1125412897);
+emit_32(1081737258);
+emit_32(1099891107);
+emit_32(1125156848);
+emit_32(1090125845);
+emit_32(1100647078);
+emit_32(1125156848);
+emit_32(1094418484);
+emit_32(1101487879);
+emit_32(1125156848);
+emit_32(1098514432);
+emit_32(1101979399);
+emit_32(1125156848);
+emit_32(1100759066);
+emit_32(1101681341);
+emit_32(1125156848);
+emit_32(1102807040);
+emit_32(1100993475);
+emit_32(1125156848);
+emit_32(1104855066);
+emit_32(1100813907);
+emit_32(1125156848);
+emit_32(1106903040);
+emit_32(1100711094);
+emit_32(1125156848);
+emit_32(1108123661);
+emit_32(1100302044);
+emit_32(1125156848);
+emit_32(1109147648);
+emit_32(1099535063);
+emit_32(1125156848);
+emit_32(1110171661);
+emit_32(1099325506);
+emit_32(1125156848);
+emit_32(1111195648);
+emit_32(1099122554);
+emit_32(1125156848);
+emit_32(1112219661);
+emit_32(1099190764);
+emit_32(1125156848);
+emit_32(1113243648);
+emit_32(1099332846);
+emit_32(1125156848);
+emit_32(1114267661);
+emit_32(1099594465);
+emit_32(1125156848);
+emit_32(1115291648);
+emit_32(1099712850);
+emit_32(1125156848);
+emit_32(1116000263);
+emit_32(1099353031);
+emit_32(1125156848);
+emit_32(1116512256);
+emit_32(1099544553);
+emit_32(1125156848);
+emit_32(1117024263);
+emit_32(1099237163);
+emit_32(1125156848);
+emit_32(1117536256);
+emit_32(1099846700);
+emit_32(1125156848);
+emit_32(1118048263);
+emit_32(1100273628);
+emit_32(1125156848);
+emit_32(1118560256);
+emit_32(1100368839);
+emit_32(1125156848);
+emit_32(1119072263);
+emit_32(1101256668);
+emit_32(1125156848);
+emit_32(1119584256);
+emit_32(1101557609);
+emit_32(1125156848);
+emit_32(1120096263);
+emit_32(1101502192);
+emit_32(1125156848);
+emit_32(1120608322);
+emit_32(1102635231);
+emit_32(1125156848);
+emit_32(1121120289);
+emit_32(1103741374);
+emit_32(1125156848);
+emit_32(1121632256);
+emit_32(1104695211);
+emit_32(1125156848);
+emit_32(1122144223);
+emit_32(1105984016);
+emit_32(1125156848);
+emit_32(1122656322);
+emit_32(1106774537);
+emit_32(1125156848);
+emit_32(1123168289);
+emit_32(1107580944);
+emit_32(1125156848);
+emit_32(1123680256);
+emit_32(1107993847);
+emit_32(1125156848);
+emit_32(1124132848);
+emit_32(1108308813);
+emit_32(1125156848);
+emit_32(1124388897);
+emit_32(1108572163);
+emit_32(1125156848);
+emit_32(1124644880);
+emit_32(1108751548);
+emit_32(1125156848);
+emit_32(1124900864);
+emit_32(1108775613);
+emit_32(1125156848);
+emit_32(1125156848);
+emit_32(1108840887);
+emit_32(1125156848);
+emit_32(1125412897);
+emit_32(1108640452);
+emit_32(1125156848);
+emit_32(1125668880);
+emit_32(1109400932);
+emit_32(1125156848);
+emit_32(1125924864);
+emit_32(1110700537);
+emit_32(1125156848);
+emit_32(1126180848);
+emit_32(1110726279);
+emit_32(1125156848);
+emit_32(1126436897);
+emit_32(1110647059);
+emit_32(1125156848);
+emit_32(1126692880);
+emit_32(1110057628);
+emit_32(1125156848);
+emit_32(1126948864);
+emit_32(1109862960);
+emit_32(1125156848);
+emit_32(1127204848);
+emit_32(1109806599);
+emit_32(1125156848);
+emit_32(1127460897);
+emit_32(1109740539);
+emit_32(1125156848);
+emit_32(1127716880);
+emit_32(1109309417);
+emit_32(1125156848);
+emit_32(1127972864);
+emit_32(1109254577);
+emit_32(1125156848);
+emit_32(1128228848);
+emit_32(1109010704);
+emit_32(1125156848);
+emit_32(1128484897);
+emit_32(1108707980);
+emit_32(1125156848);
+emit_32(1128740880);
+emit_32(1108196590);
+emit_32(1125156848);
+emit_32(1128996864);
+emit_32(1107884428);
+emit_32(1125156848);
+emit_32(1129252848);
+emit_32(1107202828);
+emit_32(1125156848);
+emit_32(1129508897);
+emit_32(1106564402);
+emit_32(1125156848);
+emit_32(1129764880);
+emit_32(1104622440);
+emit_32(1125156848);
+emit_32(1130020864);
+emit_32(1102215591);
+emit_32(1125156848);
+emit_32(1130276848);
+emit_32(1101762186);
+emit_32(1125156848);
+emit_32(1130532897);
+emit_32(1101353085);
+emit_32(1125156848);
+emit_32(1130788880);
+emit_32(1101174984);
+emit_32(1125156848);
+emit_32(1131044864);
+emit_32(1099976252);
+emit_32(1125156848);
+emit_32(1131300848);
+emit_32(1098682624);
+emit_32(1125156848);
+emit_32(1131556897);
+emit_32(1097157994);
+emit_32(1125156848);
+emit_32(1131812880);
+emit_32(1095208586);
+emit_32(1125156848);
+emit_32(1132068864);
+emit_32(1095289117);
+emit_32(1125156848);
+emit_32(1081737258);
+emit_32(1100260206);
+emit_32(1124900864);
+emit_32(1090125845);
+emit_32(1100861722);
+emit_32(1124900864);
+emit_32(1094418484);
+emit_32(1101453905);
+emit_32(1124900864);
+emit_32(1098514432);
+emit_32(1101891581);
+emit_32(1124900864);
+emit_32(1100759066);
+emit_32(1101491759);
+emit_32(1124900864);
+emit_32(1102807040);
+emit_32(1101032640);
+emit_32(1124900864);
+emit_32(1104855066);
+emit_32(1100567282);
+emit_32(1124900864);
+emit_32(1106903040);
+emit_32(1100372876);
+emit_32(1124900864);
+emit_32(1108123661);
+emit_32(1100112672);
+emit_32(1124900864);
+emit_32(1109147648);
+emit_32(1099604689);
+emit_32(1124900864);
+emit_32(1110171661);
+emit_32(1099198995);
+emit_32(1124900864);
+emit_32(1111195648);
+emit_32(1098995676);
+emit_32(1124900864);
+emit_32(1112219661);
+emit_32(1098921384);
+emit_32(1124900864);
+emit_32(1113243648);
+emit_32(1098994627);
+emit_32(1124900864);
+emit_32(1114267661);
+emit_32(1099148296);
+emit_32(1124900864);
+emit_32(1115291648);
+emit_32(1099448032);
+emit_32(1124900864);
+emit_32(1116000263);
+emit_32(1099762395);
+emit_32(1124900864);
+emit_32(1116512256);
+emit_32(1099304849);
+emit_32(1124900864);
+emit_32(1117024263);
+emit_32(1099411698);
+emit_32(1124900864);
+emit_32(1117536256);
+emit_32(1099612239);
+emit_32(1124900864);
+emit_32(1118048263);
+emit_32(1099837840);
+emit_32(1124900864);
+emit_32(1118560256);
+emit_32(1100521092);
+emit_32(1124900864);
+emit_32(1119072263);
+emit_32(1101042758);
+emit_32(1124900864);
+emit_32(1119584256);
+emit_32(1101829715);
+emit_32(1124900864);
+emit_32(1120096263);
+emit_32(1101787195);
+emit_32(1124900864);
+emit_32(1120608322);
+emit_32(1103231661);
+emit_32(1124900864);
+emit_32(1121120289);
+emit_32(1104133017);
+emit_32(1124900864);
+emit_32(1121632256);
+emit_32(1105136347);
+emit_32(1124900864);
+emit_32(1122144223);
+emit_32(1106058779);
+emit_32(1124900864);
+emit_32(1122656322);
+emit_32(1107306060);
+emit_32(1124900864);
+emit_32(1123168289);
+emit_32(1107824214);
+emit_32(1124900864);
+emit_32(1123680256);
+emit_32(1108124343);
+emit_32(1124900864);
+emit_32(1124132848);
+emit_32(1108411050);
+emit_32(1124900864);
+emit_32(1124388897);
+emit_32(1108748167);
+emit_32(1124900864);
+emit_32(1124644880);
+emit_32(1108912295);
+emit_32(1124900864);
+emit_32(1124900864);
+emit_32(1108843273);
+emit_32(1124900864);
+emit_32(1125156848);
+emit_32(1109145892);
+emit_32(1124900864);
+emit_32(1125412897);
+emit_32(1108908258);
+emit_32(1124900864);
+emit_32(1125668880);
+emit_32(1109287685);
+emit_32(1124900864);
+emit_32(1125924864);
+emit_32(1109482773);
+emit_32(1124900864);
+emit_32(1126180848);
+emit_32(1109256516);
+emit_32(1124900864);
+emit_32(1126436897);
+emit_32(1110387222);
+emit_32(1124900864);
+emit_32(1126692880);
+emit_32(1110113439);
+emit_32(1124900864);
+emit_32(1126948864);
+emit_32(1109770738);
+emit_32(1124900864);
+emit_32(1127204848);
+emit_32(1109713748);
+emit_32(1124900864);
+emit_32(1127460897);
+emit_32(1109642471);
+emit_32(1124900864);
+emit_32(1127716880);
+emit_32(1109465262);
+emit_32(1124900864);
+emit_32(1127972864);
+emit_32(1109524768);
+emit_32(1124900864);
+emit_32(1128228848);
+emit_32(1109357599);
+emit_32(1124900864);
+emit_32(1128484897);
+emit_32(1108841438);
+emit_32(1124900864);
+emit_32(1128740880);
+emit_32(1108264013);
+emit_32(1124900864);
+emit_32(1128996864);
+emit_32(1107582543);
+emit_32(1124900864);
+emit_32(1129252848);
+emit_32(1106640739);
+emit_32(1124900864);
+emit_32(1129508897);
+emit_32(1103288074);
+emit_32(1124900864);
+emit_32(1129764880);
+emit_32(1102897585);
+emit_32(1124900864);
+emit_32(1130020864);
+emit_32(1102698145);
+emit_32(1124900864);
+emit_32(1130276848);
+emit_32(1101950353);
+emit_32(1124900864);
+emit_32(1130532897);
+emit_32(1101571713);
+emit_32(1124900864);
+emit_32(1130788880);
+emit_32(1101236693);
+emit_32(1124900864);
+emit_32(1131044864);
+emit_32(1100675547);
+emit_32(1124900864);
+emit_32(1131300848);
+emit_32(1099383387);
+emit_32(1124900864);
+emit_32(1131556897);
+emit_32(1098585840);
+emit_32(1124900864);
+emit_32(1131812880);
+emit_32(1096815319);
+emit_32(1124900864);
+emit_32(1132068864);
+emit_32(1095522740);
+emit_32(1124900864);
+emit_32(1081737258);
+emit_32(1100859258);
+emit_32(1124644880);
+emit_32(1090125845);
+emit_32(1101195903);
+emit_32(1124644880);
+emit_32(1094418484);
+emit_32(1101106407);
+emit_32(1124644880);
+emit_32(1098514432);
+emit_32(1101011196);
+emit_32(1124644880);
+emit_32(1100759066);
+emit_32(1101487355);
+emit_32(1124644880);
+emit_32(1102807040);
+emit_32(1101120563);
+emit_32(1124644880);
+emit_32(1104855066);
+emit_32(1100659766);
+emit_32(1124644880);
+emit_32(1106903040);
+emit_32(1100064175);
+emit_32(1124644880);
+emit_32(1108123661);
+emit_32(1099751175);
+emit_32(1124644880);
+emit_32(1109147648);
+emit_32(1099500618);
+emit_32(1124644880);
+emit_32(1110171661);
+emit_32(1099345376);
+emit_32(1124644880);
+emit_32(1111195648);
+emit_32(1099089157);
+emit_32(1124644880);
+emit_32(1112219661);
+emit_32(1098329673);
+emit_32(1124644880);
+emit_32(1113243648);
+emit_32(1098686084);
+emit_32(1124644880);
+emit_32(1114267661);
+emit_32(1099133616);
+emit_32(1124644880);
+emit_32(1115291648);
+emit_32(1099084752);
+emit_32(1124644880);
+emit_32(1116000263);
+emit_32(1099672322);
+emit_32(1124644880);
+emit_32(1116512256);
+emit_32(1099700004);
+emit_32(1124644880);
+emit_32(1117024263);
+emit_32(1099767847);
+emit_32(1124644880);
+emit_32(1117536256);
+emit_32(1099478440);
+emit_32(1124644880);
+emit_32(1118048263);
+emit_32(1099565892);
+emit_32(1124644880);
+emit_32(1118560256);
+emit_32(1100285634);
+emit_32(1124644880);
+emit_32(1119072263);
+emit_32(1100840908);
+emit_32(1124644880);
+emit_32(1119584256);
+emit_32(1101579577);
+emit_32(1124644880);
+emit_32(1120096263);
+emit_32(1101821746);
+emit_32(1124644880);
+emit_32(1120608322);
+emit_32(1103580575);
+emit_32(1124644880);
+emit_32(1121120289);
+emit_32(1104976858);
+emit_32(1124644880);
+emit_32(1121632256);
+emit_32(1105588440);
+emit_32(1124644880);
+emit_32(1122144223);
+emit_32(1106822195);
+emit_32(1124644880);
+emit_32(1122656322);
+emit_32(1107756686);
+emit_32(1124644880);
+emit_32(1123168289);
+emit_32(1108002131);
+emit_32(1124644880);
+emit_32(1123680256);
+emit_32(1108095874);
+emit_32(1124644880);
+emit_32(1124132848);
+emit_32(1108362055);
+emit_32(1124644880);
+emit_32(1124388897);
+emit_32(1108659431);
+emit_32(1124644880);
+emit_32(1124644880);
+emit_32(1109016576);
+emit_32(1124644880);
+emit_32(1124900864);
+emit_32(1109100043);
+emit_32(1124644880);
+emit_32(1125156848);
+emit_32(1109226842);
+emit_32(1124644880);
+emit_32(1125412897);
+emit_32(1109110030);
+emit_32(1124644880);
+emit_32(1125668880);
+emit_32(1109268916);
+emit_32(1124644880);
+emit_32(1125924864);
+emit_32(1109272612);
+emit_32(1124644880);
+emit_32(1126180848);
+emit_32(1109315053);
+emit_32(1124644880);
+emit_32(1126436897);
+emit_32(1108975105);
+emit_32(1124644880);
+emit_32(1126692880);
+emit_32(1108796559);
+emit_32(1124644880);
+emit_32(1126948864);
+emit_32(1108827649);
+emit_32(1124644880);
+emit_32(1127204848);
+emit_32(1109670651);
+emit_32(1124644880);
+emit_32(1127460897);
+emit_32(1109571771);
+emit_32(1124644880);
+emit_32(1127716880);
+emit_32(1109561993);
+emit_32(1124644880);
+emit_32(1127972864);
+emit_32(1109715478);
+emit_32(1124644880);
+emit_32(1128228848);
+emit_32(1109451342);
+emit_32(1124644880);
+emit_32(1128484897);
+emit_32(1108848070);
+emit_32(1124644880);
+emit_32(1128740880);
+emit_32(1106750525);
+emit_32(1124644880);
+emit_32(1128996864);
+emit_32(1105305377);
+emit_32(1124644880);
+emit_32(1129252848);
+emit_32(1103748819);
+emit_32(1124644880);
+emit_32(1129508897);
+emit_32(1103181906);
+emit_32(1124644880);
+emit_32(1129764880);
+emit_32(1102910272);
+emit_32(1124644880);
+emit_32(1130020864);
+emit_32(1102380846);
+emit_32(1124644880);
+emit_32(1130276848);
+emit_32(1101721764);
+emit_32(1124644880);
+emit_32(1130532897);
+emit_32(1101539941);
+emit_32(1124644880);
+emit_32(1130788880);
+emit_32(1101138913);
+emit_32(1124644880);
+emit_32(1131044864);
+emit_32(1100148166);
+emit_32(1124644880);
+emit_32(1131300848);
+emit_32(1099305268);
+emit_32(1124644880);
+emit_32(1131556897);
+emit_32(1099050412);
+emit_32(1124644880);
+emit_32(1131812880);
+emit_32(1097572601);
+emit_32(1124644880);
+emit_32(1132068864);
+emit_32(1096388234);
+emit_32(1124644880);
+emit_32(1081737258);
+emit_32(1100982465);
+emit_32(1124388897);
+emit_32(1090125824);
+emit_32(1101595148);
+emit_32(1124388897);
+emit_32(1094418484);
+emit_32(1101527882);
+emit_32(1124388897);
+emit_32(1098514432);
+emit_32(1101659007);
+emit_32(1124388897);
+emit_32(1100759066);
+emit_32(1101842665);
+emit_32(1124388897);
+emit_32(1102807040);
+emit_32(1101032902);
+emit_32(1124388897);
+emit_32(1104855066);
+emit_32(1100272108);
+emit_32(1124388897);
+emit_32(1106903040);
+emit_32(1100043256);
+emit_32(1124388897);
+emit_32(1108123661);
+emit_32(1099540464);
+emit_32(1124388897);
+emit_32(1109147648);
+emit_32(1099626080);
+emit_32(1124388897);
+emit_32(1110171661);
+emit_32(1099081554);
+emit_32(1124388897);
+emit_32(1111195648);
+emit_32(1098359138);
+emit_32(1124388897);
+emit_32(1112219661);
+emit_32(1097625344);
+emit_32(1124388897);
+emit_32(1113243648);
+emit_32(1097653341);
+emit_32(1124388897);
+emit_32(1114267661);
+emit_32(1098623589);
+emit_32(1124388897);
+emit_32(1115291648);
+emit_32(1099027815);
+emit_32(1124388897);
+emit_32(1116000263);
+emit_32(1099509950);
+emit_32(1124388897);
+emit_32(1116512256);
+emit_32(1099695496);
+emit_32(1124388897);
+emit_32(1117024263);
+emit_32(1099418095);
+emit_32(1124388897);
+emit_32(1117536256);
+emit_32(1099118097);
+emit_32(1124388897);
+emit_32(1118048263);
+emit_32(1099305111);
+emit_32(1124388897);
+emit_32(1118560256);
+emit_32(1100055524);
+emit_32(1124388897);
+emit_32(1119072263);
+emit_32(1101014132);
+emit_32(1124388897);
+emit_32(1119584256);
+emit_32(1101309569);
+emit_32(1124388897);
+emit_32(1120096263);
+emit_32(1102362339);
+emit_32(1124388897);
+emit_32(1120608322);
+emit_32(1103979663);
+emit_32(1124388897);
+emit_32(1121120289);
+emit_32(1105246709);
+emit_32(1124388897);
+emit_32(1121632256);
+emit_32(1105782322);
+emit_32(1124388897);
+emit_32(1122144223);
+emit_32(1107021110);
+emit_32(1124388897);
+emit_32(1122656322);
+emit_32(1107619427);
+emit_32(1124388897);
+emit_32(1123168289);
+emit_32(1107918769);
+emit_32(1124388897);
+emit_32(1123680256);
+emit_32(1108052515);
+emit_32(1124388897);
+emit_32(1124132848);
+emit_32(1108443687);
+emit_32(1124388897);
+emit_32(1124388897);
+emit_32(1108689656);
+emit_32(1124388897);
+emit_32(1124644880);
+emit_32(1109031544);
+emit_32(1124388897);
+emit_32(1124900864);
+emit_32(1109169904);
+emit_32(1124388897);
+emit_32(1125156848);
+emit_32(1109272691);
+emit_32(1124388897);
+emit_32(1125412897);
+emit_32(1109111367);
+emit_32(1124388897);
+emit_32(1125668880);
+emit_32(1109309548);
+emit_32(1124388897);
+emit_32(1125924864);
+emit_32(1109332460);
+emit_32(1124388897);
+emit_32(1126180848);
+emit_32(1109248285);
+emit_32(1124388897);
+emit_32(1126436897);
+emit_32(1108946898);
+emit_32(1124388897);
+emit_32(1126692880);
+emit_32(1108703419);
+emit_32(1124388897);
+emit_32(1126948864);
+emit_32(1108479758);
+emit_32(1124388897);
+emit_32(1127204848);
+emit_32(1108324306);
+emit_32(1124388897);
+emit_32(1127460897);
+emit_32(1108262886);
+emit_32(1124388897);
+emit_32(1127716880);
+emit_32(1108353955);
+emit_32(1124388897);
+emit_32(1127972864);
+emit_32(1108388610);
+emit_32(1124388897);
+emit_32(1128228848);
+emit_32(1108016156);
+emit_32(1124388897);
+emit_32(1128484897);
+emit_32(1107451209);
+emit_32(1124388897);
+emit_32(1128740880);
+emit_32(1106693797);
+emit_32(1124388897);
+emit_32(1128996864);
+emit_32(1105140908);
+emit_32(1124388897);
+emit_32(1129252848);
+emit_32(1103671801);
+emit_32(1124388897);
+emit_32(1129508897);
+emit_32(1102951481);
+emit_32(1124388897);
+emit_32(1129764880);
+emit_32(1102824813);
+emit_32(1124388897);
+emit_32(1130020864);
+emit_32(1102191421);
+emit_32(1124388897);
+emit_32(1130276848);
+emit_32(1101602960);
+emit_32(1124388897);
+emit_32(1130532897);
+emit_32(1101147668);
+emit_32(1124388897);
+emit_32(1130788880);
+emit_32(1100725774);
+emit_32(1124388897);
+emit_32(1131044864);
+emit_32(1100192730);
+emit_32(1124388897);
+emit_32(1131300848);
+emit_32(1099972267);
+emit_32(1124388897);
+emit_32(1131556897);
+emit_32(1099729574);
+emit_32(1124388897);
+emit_32(1131812880);
+emit_32(1099118936);
+emit_32(1124388897);
+emit_32(1132068864);
+emit_32(1097577634);
+emit_32(1124388897);
+emit_32(1081737258);
+emit_32(1101050728);
+emit_32(1124132848);
+emit_32(1090125866);
+emit_32(1101569144);
+emit_32(1124132848);
+emit_32(1094418484);
+emit_32(1101742788);
+emit_32(1124132848);
+emit_32(1098514432);
+emit_32(1102383625);
+emit_32(1124132848);
+emit_32(1100759066);
+emit_32(1102114927);
+emit_32(1124132848);
+emit_32(1102807040);
+emit_32(1101213309);
+emit_32(1124132848);
+emit_32(1104855066);
+emit_32(1100341209);
+emit_32(1124132848);
+emit_32(1106903040);
+emit_32(1099911345);
+emit_32(1124132848);
+emit_32(1108123661);
+emit_32(1099586129);
+emit_32(1124132848);
+emit_32(1109147648);
+emit_32(1099190030);
+emit_32(1124132848);
+emit_32(1110171661);
+emit_32(1098581751);
+emit_32(1124132848);
+emit_32(1111195648);
+emit_32(1097483053);
+emit_32(1124132848);
+emit_32(1112219661);
+emit_32(1097178022);
+emit_32(1124132848);
+emit_32(1113243648);
+emit_32(1096978688);
+emit_32(1124132848);
+emit_32(1114267661);
+emit_32(1097352610);
+emit_32(1124132848);
+emit_32(1115291648);
+emit_32(1097969906);
+emit_32(1124132848);
+emit_32(1116000263);
+emit_32(1098943509);
+emit_32(1124132848);
+emit_32(1116512256);
+emit_32(1099235380);
+emit_32(1124132848);
+emit_32(1117024263);
+emit_32(1098875037);
+emit_32(1124132848);
+emit_32(1117536256);
+emit_32(1098919916);
+emit_32(1124132848);
+emit_32(1118048263);
+emit_32(1099015127);
+emit_32(1124132848);
+emit_32(1118560256);
+emit_32(1100384410);
+emit_32(1124132848);
+emit_32(1119072263);
+emit_32(1100817786);
+emit_32(1124132848);
+emit_32(1119584256);
+emit_32(1101157682);
+emit_32(1124132848);
+emit_32(1120096263);
+emit_32(1102698670);
+emit_32(1124132848);
+emit_32(1120608322);
+emit_32(1104088662);
+emit_32(1124132848);
+emit_32(1121120289);
+emit_32(1104975548);
+emit_32(1124132848);
+emit_32(1121632256);
+emit_32(1105705671);
+emit_32(1124132848);
+emit_32(1122144223);
+emit_32(1106546629);
+emit_32(1124132848);
+emit_32(1122656322);
+emit_32(1107224271);
+emit_32(1124132848);
+emit_32(1123168289);
+emit_32(1107432990);
+emit_32(1124132848);
+emit_32(1123680256);
+emit_32(1107870823);
+emit_32(1124132848);
+emit_32(1124132848);
+emit_32(1108611197);
+emit_32(1124132848);
+emit_32(1124388897);
+emit_32(1109002394);
+emit_32(1124132848);
+emit_32(1124644880);
+emit_32(1109174020);
+emit_32(1124132848);
+emit_32(1124900864);
+emit_32(1109145131);
+emit_32(1124132848);
+emit_32(1125156848);
+emit_32(1109111053);
+emit_32(1124132848);
+emit_32(1125412897);
+emit_32(1108982156);
+emit_32(1124132848);
+emit_32(1125668880);
+emit_32(1109159733);
+emit_32(1124132848);
+emit_32(1125924864);
+emit_32(1109315342);
+emit_32(1124132848);
+emit_32(1126180848);
+emit_32(1109210091);
+emit_32(1124132848);
+emit_32(1126436897);
+emit_32(1108929885);
+emit_32(1124132848);
+emit_32(1126692880);
+emit_32(1108541256);
+emit_32(1124132848);
+emit_32(1126948864);
+emit_32(1108339091);
+emit_32(1124132848);
+emit_32(1127204848);
+emit_32(1108284853);
+emit_32(1124132848);
+emit_32(1127460897);
+emit_32(1108246449);
+emit_32(1124132848);
+emit_32(1127716880);
+emit_32(1108208727);
+emit_32(1124132848);
+emit_32(1127972864);
+emit_32(1108242648);
+emit_32(1124132848);
+emit_32(1128228848);
+emit_32(1107828539);
+emit_32(1124132848);
+emit_32(1128484897);
+emit_32(1107302207);
+emit_32(1124132848);
+emit_32(1128740880);
+emit_32(1106125311);
+emit_32(1124132848);
+emit_32(1128996864);
+emit_32(1104882853);
+emit_32(1124132848);
+emit_32(1129252848);
+emit_32(1103712328);
+emit_32(1124132848);
+emit_32(1129508897);
+emit_32(1103248228);
+emit_32(1124132848);
+emit_32(1129764880);
+emit_32(1102281808);
+emit_32(1124132848);
+emit_32(1130020864);
+emit_32(1101935621);
+emit_32(1124132848);
+emit_32(1130276848);
+emit_32(1100815060);
+emit_32(1124132848);
+emit_32(1130532897);
+emit_32(1100889457);
+emit_32(1124132848);
+emit_32(1130788880);
+emit_32(1101023098);
+emit_32(1124132848);
+emit_32(1131044864);
+emit_32(1100560938);
+emit_32(1124132848);
+emit_32(1131300848);
+emit_32(1099884397);
+emit_32(1124132848);
+emit_32(1131556897);
+emit_32(1099776918);
+emit_32(1124132848);
+emit_32(1131812880);
+emit_32(1099406246);
+emit_32(1124132848);
+emit_32(1132068864);
+emit_32(1099062890);
+emit_32(1124132848);
+emit_start(Landscape03Vtx)
+emit_32(1081737216);
+emit_32(1112116167);
+emit_32(3054751226);
+emit_32(1081737216);
+emit_32(1112701298);
+emit_32(1081737216);
+emit_32(1090125824);
+emit_32(1112117215);
+emit_32(3054752017);
+emit_32(1090125824);
+emit_32(1112503694);
+emit_32(1081737216);
+emit_32(1094418484);
+emit_32(1111966902);
+emit_32(3054641802);
+emit_32(1094418484);
+emit_32(1112328084);
+emit_32(1081737216);
+emit_32(1098514432);
+emit_32(1112170824);
+emit_32(3054791336);
+emit_32(1098514432);
+emit_32(1112069951);
+emit_32(1081737216);
+emit_32(1100759066);
+emit_32(1112121016);
+emit_32(3054754788);
+emit_32(1100759066);
+emit_32(1112173655);
+emit_32(1081737216);
+emit_32(1102807040);
+emit_32(1112268577);
+emit_32(3054863024);
+emit_32(1102807040);
+emit_32(1112198559);
+emit_32(1081737216);
+emit_32(1104855066);
+emit_32(1112660640);
+emit_32(3055150524);
+emit_32(1104855066);
+emit_32(1112333694);
+emit_32(1081737216);
+emit_32(1106903040);
+emit_32(1112840733);
+emit_32(3055282597);
+emit_32(1106903040);
+emit_32(1112388744);
+emit_32(1081737216);
+emit_32(1108123661);
+emit_32(1112817271);
+emit_32(3055265401);
+emit_32(1108123661);
+emit_32(1112590726);
+emit_32(1081737216);
+emit_32(1109147648);
+emit_32(1112978804);
+emit_32(3055383885);
+emit_32(1109147648);
+emit_32(1113057735);
+emit_32(1081737216);
+emit_32(1110171661);
+emit_32(1113143692);
+emit_32(3055504787);
+emit_32(1110171661);
+emit_32(1113035296);
+emit_32(1081737216);
+emit_32(1111195648);
+emit_32(1113241551);
+emit_32(3055576563);
+emit_32(1111195648);
+emit_32(1112886896);
+emit_32(1081737216);
+emit_32(1112219661);
+emit_32(1113409140);
+emit_32(3055699444);
+emit_32(1112219661);
+emit_32(1112955971);
+emit_32(1081737216);
+emit_32(1113243648);
+emit_32(1113827049);
+emit_32(3056005944);
+emit_32(1113243648);
+emit_32(1113474440);
+emit_32(1081737216);
+emit_32(1114267661);
+emit_32(1113969787);
+emit_32(3056110618);
+emit_32(1114267661);
+emit_32(1113373252);
+emit_32(1081737216);
+emit_32(1115291648);
+emit_32(1113729217);
+emit_32(3055934168);
+emit_32(1115291648);
+emit_32(1112981923);
+emit_32(1081737216);
+emit_32(1116000263);
+emit_32(1113555888);
+emit_32(3055807065);
+emit_32(1116000263);
+emit_32(1112815462);
+emit_32(1081737216);
+emit_32(1116512256);
+emit_32(1112971595);
+emit_32(3055378563);
+emit_32(1116512256);
+emit_32(1112451711);
+emit_32(1081737216);
+emit_32(1117024263);
+emit_32(1112445996);
+emit_32(3054993118);
+emit_32(1117024263);
+emit_32(1112394144);
+emit_32(1081737216);
+emit_32(1117536256);
+emit_32(1112490508);
+emit_32(3055025752);
+emit_32(1117536256);
+emit_32(1112528414);
+emit_32(1081737216);
+emit_32(1118048263);
+emit_32(1112364810);
+emit_32(3054933569);
+emit_32(1118048263);
+emit_32(1112287950);
+emit_32(1081737216);
+emit_32(1118560256);
+emit_32(1112062978);
+emit_32(3054712259);
+emit_32(1118560256);
+emit_32(1111949653);
+emit_32(1081737216);
+emit_32(1119072263);
+emit_32(1111766755);
+emit_32(3054494995);
+emit_32(1119072263);
+emit_32(1111682685);
+emit_32(1081737216);
+emit_32(1119584256);
+emit_32(1111332435);
+emit_32(3054176489);
+emit_32(1119584256);
+emit_32(1111194678);
+emit_32(1081737216);
+emit_32(1120096263);
+emit_32(1110914210);
+emit_32(3053869769);
+emit_32(1120096263);
+emit_32(1111068639);
+emit_32(1081737216);
+emit_32(1120608322);
+emit_32(1110765653);
+emit_32(3053760829);
+emit_32(1120608322);
+emit_32(1110815303);
+emit_32(1081737216);
+emit_32(1121120289);
+emit_32(1110612404);
+emit_32(3053648459);
+emit_32(1121120289);
+emit_32(1110882674);
+emit_32(1081737216);
+emit_32(1121632256);
+emit_32(1110535543);
+emit_32(3053592076);
+emit_32(1121632256);
+emit_32(1110789010);
+emit_32(1081737216);
+emit_32(1122144223);
+emit_32(1110472052);
+emit_32(3053545501);
+emit_32(1122144223);
+emit_32(1110340062);
+emit_32(1081737216);
+emit_32(1122656322);
+emit_32(1110285668);
+emit_32(3053364308);
+emit_32(1122656322);
+emit_32(1109951539);
+emit_32(1081737216);
+emit_32(1123168289);
+emit_32(1109697652);
+emit_32(3052501939);
+emit_32(1123168289);
+emit_32(1109517848);
+emit_32(1081737216);
+emit_32(1123680256);
+emit_32(1109444526);
+emit_32(3052130656);
+emit_32(1123680256);
+emit_32(1109219108);
+emit_32(1081737216);
+emit_32(1124132848);
+emit_32(1109279611);
+emit_32(3051888763);
+emit_32(1124132848);
+emit_32(1108888571);
+emit_32(1081737216);
+emit_32(1124388897);
+emit_32(1108937068);
+emit_32(3051386330);
+emit_32(1124388897);
+emit_32(1108548203);
+emit_32(1081737216);
+emit_32(1124644880);
+emit_32(1108458524);
+emit_32(3050684490);
+emit_32(1124644880);
+emit_32(1108062057);
+emit_32(1081737216);
+emit_32(1124900864);
+emit_32(1107860049);
+emit_32(3049806640);
+emit_32(1124900864);
+emit_32(1107391755);
+emit_32(1081737216);
+emit_32(1125156848);
+emit_32(1107061952);
+emit_32(3048807931);
+emit_32(1125156848);
+emit_32(1107147201);
+emit_32(1081737216);
+emit_32(1125412897);
+emit_32(1106198187);
+emit_32(3048174525);
+emit_32(1125412897);
+emit_32(1106562515);
+emit_32(1081737216);
+emit_32(1125668880);
+emit_32(1106521306);
+emit_32(3048411491);
+emit_32(1125668880);
+emit_32(1107088323);
+emit_32(1081737216);
+emit_32(1125924864);
+emit_32(1106837714);
+emit_32(3048643444);
+emit_32(1125924864);
+emit_32(1107466728);
+emit_32(1081737216);
+emit_32(1126180848);
+emit_32(1107242569);
+emit_32(3048940401);
+emit_32(1126180848);
+emit_32(1107640477);
+emit_32(1081737216);
+emit_32(1126436897);
+emit_32(1107053196);
+emit_32(3048801510);
+emit_32(1126436897);
+emit_32(1107446858);
+emit_32(1081737216);
+emit_32(1126692880);
+emit_32(1106540495);
+emit_32(3048425477);
+emit_32(1126692880);
+emit_32(1107035003);
+emit_32(1081737216);
+emit_32(1126948864);
+emit_32(1106275362);
+emit_32(3048231084);
+emit_32(1126948864);
+emit_32(1106606398);
+emit_32(1081737216);
+emit_32(1127204848);
+emit_32(1105871923);
+emit_32(3047935271);
+emit_32(1127204848);
+emit_32(1106181305);
+emit_32(1081737216);
+emit_32(1127460897);
+emit_32(1105372958);
+emit_32(3047569266);
+emit_32(1127460897);
+emit_32(1105541831);
+emit_32(1081737216);
+emit_32(1127716880);
+emit_32(1104684096);
+emit_32(3047064106);
+emit_32(1127716880);
+emit_32(1104783501);
+emit_32(1081737216);
+emit_32(1127972864);
+emit_32(1103501774);
+emit_32(3046197075);
+emit_32(1127972864);
+emit_32(1103855197);
+emit_32(1081737216);
+emit_32(1128228848);
+emit_32(1102439829);
+emit_32(3045418269);
+emit_32(1128228848);
+emit_32(1103186310);
+emit_32(1081737216);
+emit_32(1128484897);
+emit_32(1101869718);
+emit_32(3044935642);
+emit_32(1128484897);
+emit_32(1103087482);
+emit_32(1081737216);
+emit_32(1128740880);
+emit_32(1101702785);
+emit_32(3044690829);
+emit_32(1128740880);
+emit_32(1102981471);
+emit_32(1081737216);
+emit_32(1128996864);
+emit_32(1101484419);
+emit_32(3044370528);
+emit_32(1128996864);
+emit_32(1102264716);
+emit_32(1081737216);
+emit_32(1129252848);
+emit_32(1100736102);
+emit_32(3043272969);
+emit_32(1129252848);
+emit_32(1102136581);
+emit_32(1081737216);
+emit_32(1129508897);
+emit_32(1100482452);
+emit_32(3042900948);
+emit_32(1129508897);
+emit_32(1101851735);
+emit_32(1081737216);
+emit_32(1129764880);
+emit_32(1100170134);
+emit_32(3042442865);
+emit_32(1129764880);
+emit_32(1101959109);
+emit_32(1081737216);
+emit_32(1130020864);
+emit_32(1100368052);
+emit_32(3042733136);
+emit_32(1130020864);
+emit_32(1101538001);
+emit_32(1081737216);
+emit_32(1130276848);
+emit_32(1100034710);
+emit_32(3042244249);
+emit_32(1130276848);
+emit_32(1100676386);
+emit_32(1081737216);
+emit_32(1130532897);
+emit_32(1099793118);
+emit_32(3041889854);
+emit_32(1130532897);
+emit_32(1100067740);
+emit_32(1081737216);
+emit_32(1130788880);
+emit_32(1099349570);
+emit_32(3041239348);
+emit_32(1130788880);
+emit_32(1099550582);
+emit_32(1081737216);
+emit_32(1131044864);
+emit_32(1099102264);
+emit_32(3040876615);
+emit_32(1131044864);
+emit_32(1099061684);
+emit_32(1081737216);
+emit_32(1131300848);
+emit_32(1097152227);
+emit_32(3039303785);
+emit_32(1131300848);
+emit_32(1097284243);
+emit_32(1081737216);
+emit_32(1131556897);
+emit_32(1095174088);
+emit_32(3037853098);
+emit_32(1131556897);
+emit_32(1096432799);
+emit_32(1081737216);
+emit_32(1131812880);
+emit_32(1095119772);
+emit_32(3037813287);
+emit_32(1131812880);
+emit_32(1096013998);
+emit_32(1081737216);
+emit_32(1132068864);
+emit_32(1094633233);
+emit_32(3037456465);
+emit_32(1132068864);
+emit_32(1095458043);
+emit_32(1081737216);
+emit_32(1081737216);
+emit_32(1111714929);
+emit_32(3229220864);
+emit_32(1090125824);
+emit_32(1111846420);
+emit_32(3229220864);
+emit_32(1094418484);
+emit_32(1112005149);
+emit_32(3229220864);
+emit_32(1098514432);
+emit_32(1112044365);
+emit_32(3229220864);
+emit_32(1100759066);
+emit_32(1112440753);
+emit_32(3229220864);
+emit_32(1102807040);
+emit_32(1112584120);
+emit_32(3229220864);
+emit_32(1104855066);
+emit_32(1112766651);
+emit_32(3229220864);
+emit_32(1106903040);
+emit_32(1113057657);
+emit_32(3229220864);
+emit_32(1108123661);
+emit_32(1113035846);
+emit_32(3229220864);
+emit_32(1109147648);
+emit_32(1113286037);
+emit_32(3229220864);
+emit_32(1110171661);
+emit_32(1113632643);
+emit_32(3229220864);
+emit_32(1111195648);
+emit_32(1113716556);
+emit_32(3229220864);
+emit_32(1112219661);
+emit_32(1113737894);
+emit_32(3229220864);
+emit_32(1113243648);
+emit_32(1114105892);
+emit_32(3229220864);
+emit_32(1114267661);
+emit_32(1114272563);
+emit_32(3229220864);
+emit_32(1115291648);
+emit_32(1114112603);
+emit_32(3229220864);
+emit_32(1116000263);
+emit_32(1114000379);
+emit_32(3229220864);
+emit_32(1116512256);
+emit_32(1113455303);
+emit_32(3229220864);
+emit_32(1117024263);
+emit_32(1112990522);
+emit_32(3229220864);
+emit_32(1117536256);
+emit_32(1112862360);
+emit_32(3229220864);
+emit_32(1118048263);
+emit_32(1112683289);
+emit_32(3229220864);
+emit_32(1118560256);
+emit_32(1112325279);
+emit_32(3229220864);
+emit_32(1119072263);
+emit_32(1111923989);
+emit_32(3229220864);
+emit_32(1119584256);
+emit_32(1111407434);
+emit_32(3229220864);
+emit_32(1120096263);
+emit_32(1110917251);
+emit_32(3229220864);
+emit_32(1120608322);
+emit_32(1110628080);
+emit_32(3229220864);
+emit_32(1121120289);
+emit_32(1110728560);
+emit_32(3229220864);
+emit_32(1121632256);
+emit_32(1110660245);
+emit_32(3229220864);
+emit_32(1122144223);
+emit_32(1110578220);
+emit_32(3229220864);
+emit_32(1122656322);
+emit_32(1110373800);
+emit_32(3229220864);
+emit_32(1123168289);
+emit_32(1109998646);
+emit_32(3229220864);
+emit_32(1123680256);
+emit_32(1109504138);
+emit_32(3229220864);
+emit_32(1124132848);
+emit_32(1109245821);
+emit_32(3229220864);
+emit_32(1124388897);
+emit_32(1109347533);
+emit_32(3229220864);
+emit_32(1124644880);
+emit_32(1108947213);
+emit_32(3229220864);
+emit_32(1124900864);
+emit_32(1108137607);
+emit_32(3229220864);
+emit_32(1125156848);
+emit_32(1107314396);
+emit_32(3229220864);
+emit_32(1125412897);
+emit_32(1106864505);
+emit_32(3229220864);
+emit_32(1125668880);
+emit_32(1107350389);
+emit_32(3229220864);
+emit_32(1125924864);
+emit_32(1107022263);
+emit_32(3229220864);
+emit_32(1126180848);
+emit_32(1107147673);
+emit_32(3229220864);
+emit_32(1126436897);
+emit_32(1107173940);
+emit_32(3229220864);
+emit_32(1126692880);
+emit_32(1106863299);
+emit_32(3229220864);
+emit_32(1126948864);
+emit_32(1106064966);
+emit_32(3229220864);
+emit_32(1127204848);
+emit_32(1105610408);
+emit_32(3229220864);
+emit_32(1127460897);
+emit_32(1105364464);
+emit_32(3229220864);
+emit_32(1127716880);
+emit_32(1104474905);
+emit_32(3229220864);
+emit_32(1127972864);
+emit_32(1103487985);
+emit_32(3229220864);
+emit_32(1128228848);
+emit_32(1102533729);
+emit_32(3229220864);
+emit_32(1128484897);
+emit_32(1101802294);
+emit_32(3229220864);
+emit_32(1128740880);
+emit_32(1100883847);
+emit_32(3229220864);
+emit_32(1128996864);
+emit_32(1100469607);
+emit_32(3229220864);
+emit_32(1129252848);
+emit_32(1100396573);
+emit_32(3229220864);
+emit_32(1129508897);
+emit_32(1100417440);
+emit_32(3229220864);
+emit_32(1129764880);
+emit_32(1100382103);
+emit_32(3229220864);
+emit_32(1130020864);
+emit_32(1100225498);
+emit_32(3229220864);
+emit_32(1130276848);
+emit_32(1100250192);
+emit_32(3229220864);
+emit_32(1130532897);
+emit_32(1099696859);
+emit_32(3229220864);
+emit_32(1130788880);
+emit_32(1099685587);
+emit_32(3229220864);
+emit_32(1131044864);
+emit_32(1099260389);
+emit_32(3229220864);
+emit_32(1131300848);
+emit_32(1097711642);
+emit_32(3229220864);
+emit_32(1131556897);
+emit_32(1095721340);
+emit_32(3229220864);
+emit_32(1131812880);
+emit_32(1095617636);
+emit_32(3229220864);
+emit_32(1132068864);
+emit_32(1094282799);
+emit_32(3229220864);
+emit_32(1081737216);
+emit_32(1111679959);
+emit_32(3237609472);
+emit_32(1090125824);
+emit_32(1111786285);
+emit_32(3237609472);
+emit_32(1094418484);
+emit_32(1112014979);
+emit_32(3237609472);
+emit_32(1098514432);
+emit_32(1112169408);
+emit_32(3237609472);
+emit_32(1100759066);
+emit_32(1112421145);
+emit_32(3237609472);
+emit_32(1102807040);
+emit_32(1112788461);
+emit_32(3237609472);
+emit_32(1104855066);
+emit_32(1112831951);
+emit_32(3237609472);
+emit_32(1106903040);
+emit_32(1113081302);
+emit_32(3237609472);
+emit_32(1108123661);
+emit_32(1113387250);
+emit_32(3237609472);
+emit_32(1109147648);
+emit_32(1113921710);
+emit_32(3237609472);
+emit_32(1110171661);
+emit_32(1113963574);
+emit_32(3237609472);
+emit_32(1111195648);
+emit_32(1114050658);
+emit_32(3237609472);
+emit_32(1112219661);
+emit_32(1113921264);
+emit_32(3237609472);
+emit_32(1113243648);
+emit_32(1114115854);
+emit_32(3237609472);
+emit_32(1114267661);
+emit_32(1114312278);
+emit_32(3237609472);
+emit_32(1115291648);
+emit_32(1114279117);
+emit_32(3237609472);
+emit_32(1116000263);
+emit_32(1113920609);
+emit_32(3237609472);
+emit_32(1116512256);
+emit_32(1113584645);
+emit_32(3237609472);
+emit_32(1117024263);
+emit_32(1113293246);
+emit_32(3237609472);
+emit_32(1117536256);
+emit_32(1113201469);
+emit_32(3237609472);
+emit_32(1118048263);
+emit_32(1112988661);
+emit_32(3237609472);
+emit_32(1118560256);
+emit_32(1112637047);
+emit_32(3237609472);
+emit_32(1119072263);
+emit_32(1112267476);
+emit_32(3237609472);
+emit_32(1119584256);
+emit_32(1111621186);
+emit_32(3237609472);
+emit_32(1120096263);
+emit_32(1110940949);
+emit_32(3237609472);
+emit_32(1120608322);
+emit_32(1110726751);
+emit_32(3237609472);
+emit_32(1121120289);
+emit_32(1110505737);
+emit_32(3237609472);
+emit_32(1121632256);
+emit_32(1110430476);
+emit_32(3237609472);
+emit_32(1122144223);
+emit_32(1110258876);
+emit_32(3237609472);
+emit_32(1122656322);
+emit_32(1110246425);
+emit_32(3237609472);
+emit_32(1123168289);
+emit_32(1110111368);
+emit_32(3237609472);
+emit_32(1123680256);
+emit_32(1109704075);
+emit_32(3237609472);
+emit_32(1124132848);
+emit_32(1109328449);
+emit_32(3237609472);
+emit_32(1124388897);
+emit_32(1109344020);
+emit_32(3237609472);
+emit_32(1124644880);
+emit_32(1109056501);
+emit_32(3237609472);
+emit_32(1124900864);
+emit_32(1108366983);
+emit_32(3237609472);
+emit_32(1125156848);
+emit_32(1107828618);
+emit_32(3237609472);
+emit_32(1125412897);
+emit_32(1107568047);
+emit_32(3237609472);
+emit_32(1125668880);
+emit_32(1107450056);
+emit_32(3237609472);
+emit_32(1125924864);
+emit_32(1107525842);
+emit_32(3237609472);
+emit_32(1126180848);
+emit_32(1107466650);
+emit_32(3237609472);
+emit_32(1126436897);
+emit_32(1107475195);
+emit_32(3237609472);
+emit_32(1126692880);
+emit_32(1107046852);
+emit_32(3237609472);
+emit_32(1126948864);
+emit_32(1106460593);
+emit_32(3237609472);
+emit_32(1127204848);
+emit_32(1105866051);
+emit_32(3237609472);
+emit_32(1127460897);
+emit_32(1105220967);
+emit_32(3237609472);
+emit_32(1127716880);
+emit_32(1104257535);
+emit_32(3237609472);
+emit_32(1127972864);
+emit_32(1103215618);
+emit_32(3237609472);
+emit_32(1128228848);
+emit_32(1102464785);
+emit_32(3237609472);
+emit_32(1128484897);
+emit_32(1101270562);
+emit_32(3237609472);
+emit_32(1128740880);
+emit_32(1100280706);
+emit_32(3237609472);
+emit_32(1128996864);
+emit_32(1099709599);
+emit_32(3237609472);
+emit_32(1129252848);
+emit_32(1100000579);
+emit_32(3237609472);
+emit_32(1129508897);
+emit_32(1100207987);
+emit_32(3237609472);
+emit_32(1129764880);
+emit_32(1100241227);
+emit_32(3237609472);
+emit_32(1130020864);
+emit_32(1100129029);
+emit_32(3237609472);
+emit_32(1130276848);
+emit_32(1099912079);
+emit_32(3237609472);
+emit_32(1130532897);
+emit_32(1099448608);
+emit_32(3237609472);
+emit_32(1130788880);
+emit_32(1099055392);
+emit_32(3237609472);
+emit_32(1131044864);
+emit_32(1098378012);
+emit_32(3237609472);
+emit_32(1131300848);
+emit_32(1096274779);
+emit_32(3237609472);
+emit_32(1131556897);
+emit_32(1096113088);
+emit_32(3237609472);
+emit_32(1131812880);
+emit_32(1094998137);
+emit_32(3237609472);
+emit_32(1132068864);
+emit_32(1093654387);
+emit_32(3237609472);
+emit_32(1081737216);
+emit_32(1111917802);
+emit_32(3241902132);
+emit_32(1090125824);
+emit_32(1112032752);
+emit_32(3241902132);
+emit_32(1094418484);
+emit_32(1112179868);
+emit_32(3241902132);
+emit_32(1098514432);
+emit_32(1112289968);
+emit_32(3241902132);
+emit_32(1100759066);
+emit_32(1112667167);
+emit_32(3241902132);
+emit_32(1102807040);
+emit_32(1112883777);
+emit_32(3241902132);
+emit_32(1104855066);
+emit_32(1113176434);
+emit_32(3241902132);
+emit_32(1106903040);
+emit_32(1113400908);
+emit_32(3241902132);
+emit_32(1108123661);
+emit_32(1113733176);
+emit_32(3241902132);
+emit_32(1109147648);
+emit_32(1114095642);
+emit_32(3241902132);
+emit_32(1110171661);
+emit_32(1114172346);
+emit_32(3241902132);
+emit_32(1111195648);
+emit_32(1114411342);
+emit_32(3241902132);
+emit_32(1112219661);
+emit_32(1114340694);
+emit_32(3241902132);
+emit_32(1113243648);
+emit_32(1114253374);
+emit_32(3241902132);
+emit_32(1114267661);
+emit_32(1114280192);
+emit_32(3241902132);
+emit_32(1115291648);
+emit_32(1114163721);
+emit_32(3241902132);
+emit_32(1116000263);
+emit_32(1114090190);
+emit_32(3241902132);
+emit_32(1116512256);
+emit_32(1113701666);
+emit_32(3241902132);
+emit_32(1117024263);
+emit_32(1113532950);
+emit_32(3241902132);
+emit_32(1117536256);
+emit_32(1113573556);
+emit_32(3241902132);
+emit_32(1118048263);
+emit_32(1113300219);
+emit_32(3241902132);
+emit_32(1118560256);
+emit_32(1112826289);
+emit_32(3241902132);
+emit_32(1119072263);
+emit_32(1112471713);
+emit_32(3241902132);
+emit_32(1119584256);
+emit_32(1111810323);
+emit_32(3241902132);
+emit_32(1120096263);
+emit_32(1110995816);
+emit_32(3241902132);
+emit_32(1120608322);
+emit_32(1110440752);
+emit_32(3241902132);
+emit_32(1121120289);
+emit_32(1110331281);
+emit_32(3241902132);
+emit_32(1121632256);
+emit_32(1110265928);
+emit_32(3241902132);
+emit_32(1122144223);
+emit_32(1110314897);
+emit_32(3241902132);
+emit_32(1122656322);
+emit_32(1110355136);
+emit_32(3241902132);
+emit_32(1123168289);
+emit_32(1110061272);
+emit_32(3241902132);
+emit_32(1123680256);
+emit_32(1109762481);
+emit_32(3241902132);
+emit_32(1124132848);
+emit_32(1109249543);
+emit_32(3241902132);
+emit_32(1124388897);
+emit_32(1109267133);
+emit_32(3241902132);
+emit_32(1124644880);
+emit_32(1108818474);
+emit_32(3241902132);
+emit_32(1124900864);
+emit_32(1108492996);
+emit_32(3241902132);
+emit_32(1125156848);
+emit_32(1108035555);
+emit_32(3241902132);
+emit_32(1125412897);
+emit_32(1107824896);
+emit_32(3241902132);
+emit_32(1125668880);
+emit_32(1107697625);
+emit_32(3241902132);
+emit_32(1125924864);
+emit_32(1107864374);
+emit_32(3241902132);
+emit_32(1126180848);
+emit_32(1107783896);
+emit_32(3241902132);
+emit_32(1126436897);
+emit_32(1107786911);
+emit_32(3241902132);
+emit_32(1126692880);
+emit_32(1107603043);
+emit_32(3241902132);
+emit_32(1126948864);
+emit_32(1106784603);
+emit_32(3241902132);
+emit_32(1127204848);
+emit_32(1106394376);
+emit_32(3241902132);
+emit_32(1127460897);
+emit_32(1105369026);
+emit_32(3241902132);
+emit_32(1127716880);
+emit_32(1104382892);
+emit_32(3241902132);
+emit_32(1127972864);
+emit_32(1103613552);
+emit_32(3241902132);
+emit_32(1128228848);
+emit_32(1102201959);
+emit_32(3241902132);
+emit_32(1128484897);
+emit_32(1100683674);
+emit_32(3241902132);
+emit_32(1128740880);
+emit_32(1100170081);
+emit_32(3241902132);
+emit_32(1128996864);
+emit_32(1099248330);
+emit_32(3241902132);
+emit_32(1129252848);
+emit_32(1098972398);
+emit_32(3241902132);
+emit_32(1129508897);
+emit_32(1099403729);
+emit_32(3241902132);
+emit_32(1129764880);
+emit_32(1099570243);
+emit_32(3241902132);
+emit_32(1130020864);
+emit_32(1099452174);
+emit_32(3241902132);
+emit_32(1130276848);
+emit_32(1099309567);
+emit_32(3241902132);
+emit_32(1130532897);
+emit_32(1098235616);
+emit_32(3241902132);
+emit_32(1130788880);
+emit_32(1097234960);
+emit_32(3241902132);
+emit_32(1131044864);
+emit_32(1096084777);
+emit_32(3241902132);
+emit_32(1131300848);
+emit_32(1095855768);
+emit_32(3241902132);
+emit_32(1131556897);
+emit_32(1095600649);
+emit_32(3241902132);
+emit_32(1131812880);
+emit_32(1095372584);
+emit_32(3241902132);
+emit_32(1132068864);
+emit_32(1094155711);
+emit_32(3241902132);
+emit_32(1081737216);
+emit_32(1112196121);
+emit_32(3245998080);
+emit_32(1090125824);
+emit_32(1112339435);
+emit_32(3245998080);
+emit_32(1094418484);
+emit_32(1112635054);
+emit_32(3245998080);
+emit_32(1098514432);
+emit_32(1112640664);
+emit_32(3245998080);
+emit_32(1100759066);
+emit_32(1112829670);
+emit_32(3245998080);
+emit_32(1102807040);
+emit_32(1113234342);
+emit_32(3245998080);
+emit_32(1104855066);
+emit_32(1113597123);
+emit_32(3245998080);
+emit_32(1106903040);
+emit_32(1113703003);
+emit_32(3245998080);
+emit_32(1108123661);
+emit_32(1113932589);
+emit_32(3245998080);
+emit_32(1109147648);
+emit_32(1114173735);
+emit_32(3245998080);
+emit_32(1110171661);
+emit_32(1114493341);
+emit_32(3245998080);
+emit_32(1111195648);
+emit_32(1114614687);
+emit_32(3245998080);
+emit_32(1112219661);
+emit_32(1114656971);
+emit_32(3245998080);
+emit_32(1113243648);
+emit_32(1114375193);
+emit_32(3245998080);
+emit_32(1114267661);
+emit_32(1114462251);
+emit_32(3245998080);
+emit_32(1115291648);
+emit_32(1114444425);
+emit_32(3245998080);
+emit_32(1116000263);
+emit_32(1114258040);
+emit_32(3245998080);
+emit_32(1116512256);
+emit_32(1113897068);
+emit_32(3245998080);
+emit_32(1117024263);
+emit_32(1113641399);
+emit_32(3245998080);
+emit_32(1117536256);
+emit_32(1113834835);
+emit_32(3245998080);
+emit_32(1118048263);
+emit_32(1113430688);
+emit_32(3245998080);
+emit_32(1118560256);
+emit_32(1112813260);
+emit_32(3245998080);
+emit_32(1119072263);
+emit_32(1112444187);
+emit_32(3245998080);
+emit_32(1119584256);
+emit_32(1111786704);
+emit_32(3245998080);
+emit_32(1120096263);
+emit_32(1111130558);
+emit_32(3245998080);
+emit_32(1120608322);
+emit_32(1110632169);
+emit_32(3245998080);
+emit_32(1121120289);
+emit_32(1110279953);
+emit_32(3245998080);
+emit_32(1121632256);
+emit_32(1110145840);
+emit_32(3245998080);
+emit_32(1122144223);
+emit_32(1110117869);
+emit_32(3245998080);
+emit_32(1122656322);
+emit_32(1109967425);
+emit_32(3245998080);
+emit_32(1123168289);
+emit_32(1109898533);
+emit_32(3245998080);
+emit_32(1123680256);
+emit_32(1109796192);
+emit_32(3245998080);
+emit_32(1124132848);
+emit_32(1109273031);
+emit_32(3245998080);
+emit_32(1124388897);
+emit_32(1109109716);
+emit_32(3245998080);
+emit_32(1124644880);
+emit_32(1108907052);
+emit_32(3245998080);
+emit_32(1124900864);
+emit_32(1108479705);
+emit_32(3245998080);
+emit_32(1125156848);
+emit_32(1108048504);
+emit_32(3245998080);
+emit_32(1125412897);
+emit_32(1108035581);
+emit_32(3245998080);
+emit_32(1125668880);
+emit_32(1107927761);
+emit_32(3245998080);
+emit_32(1125924864);
+emit_32(1108119231);
+emit_32(3245998080);
+emit_32(1126180848);
+emit_32(1108244955);
+emit_32(3245998080);
+emit_32(1126436897);
+emit_32(1108024597);
+emit_32(3245998080);
+emit_32(1126692880);
+emit_32(1107730052);
+emit_32(3245998080);
+emit_32(1126948864);
+emit_32(1107344019);
+emit_32(3245998080);
+emit_32(1127204848);
+emit_32(1106859314);
+emit_32(3245998080);
+emit_32(1127460897);
+emit_32(1105701057);
+emit_32(3245998080);
+emit_32(1127716880);
+emit_32(1104883954);
+emit_32(3245998080);
+emit_32(1127972864);
+emit_32(1103479492);
+emit_32(3245998080);
+emit_32(1128228848);
+emit_32(1101941126);
+emit_32(3245998080);
+emit_32(1128484897);
+emit_32(1100612003);
+emit_32(3245998080);
+emit_32(1128740880);
+emit_32(1099967182);
+emit_32(3245998080);
+emit_32(1128996864);
+emit_32(1099350200);
+emit_32(3245998080);
+emit_32(1129252848);
+emit_32(1098786642);
+emit_32(3245998080);
+emit_32(1129508897);
+emit_32(1098582799);
+emit_32(3245998080);
+emit_32(1129764880);
+emit_32(1098188639);
+emit_32(3245998080);
+emit_32(1130020864);
+emit_32(1098264032);
+emit_32(3245998080);
+emit_32(1130276848);
+emit_32(1097098120);
+emit_32(3245998080);
+emit_32(1130532897);
+emit_32(1096369150);
+emit_32(3245998080);
+emit_32(1130788880);
+emit_32(1096281280);
+emit_32(3245998080);
+emit_32(1131044864);
+emit_32(1096127244);
+emit_32(3245998080);
+emit_32(1131300848);
+emit_32(1096047342);
+emit_32(3245998080);
+emit_32(1131556897);
+emit_32(1096229061);
+emit_32(3245998080);
+emit_32(1131812880);
+emit_32(1095837942);
+emit_32(3245998080);
+emit_32(1132068864);
+emit_32(1094247567);
+emit_32(3245998080);
+emit_32(1081737216);
+emit_32(1112566084);
+emit_32(3248242714);
+emit_32(1090125824);
+emit_32(1112769036);
+emit_32(3248242714);
+emit_32(1094418484);
+emit_32(1113204903);
+emit_32(3248242714);
+emit_32(1098514432);
+emit_32(1113297807);
+emit_32(3248242714);
+emit_32(1100759066);
+emit_32(1113299590);
+emit_32(3248242714);
+emit_32(1102807040);
+emit_32(1113631778);
+emit_32(3248242714);
+emit_32(1104855066);
+emit_32(1113733962);
+emit_32(3248242714);
+emit_32(1106903040);
+emit_32(1114058575);
+emit_32(3248242714);
+emit_32(1108123661);
+emit_32(1114302841);
+emit_32(3248242714);
+emit_32(1109147648);
+emit_32(1114499816);
+emit_32(3248242714);
+emit_32(1110171661);
+emit_32(1114705389);
+emit_32(3248242714);
+emit_32(1111195648);
+emit_32(1114954505);
+emit_32(3248242714);
+emit_32(1112219661);
+emit_32(1114757818);
+emit_32(3248242714);
+emit_32(1113243648);
+emit_32(1114552664);
+emit_32(3248242714);
+emit_32(1114267661);
+emit_32(1114690499);
+emit_32(3248242714);
+emit_32(1115291648);
+emit_32(1114401800);
+emit_32(3248242714);
+emit_32(1116000263);
+emit_32(1114010445);
+emit_32(3248242714);
+emit_32(1116512256);
+emit_32(1113755904);
+emit_32(3248242714);
+emit_32(1117024263);
+emit_32(1113715219);
+emit_32(3248242714);
+emit_32(1117536256);
+emit_32(1113634478);
+emit_32(3248242714);
+emit_32(1118048263);
+emit_32(1113284962);
+emit_32(3248242714);
+emit_32(1118560256);
+emit_32(1112908602);
+emit_32(3248242714);
+emit_32(1119072263);
+emit_32(1112464713);
+emit_32(3248242714);
+emit_32(1119584256);
+emit_32(1111750948);
+emit_32(3248242714);
+emit_32(1120096263);
+emit_32(1111362529);
+emit_32(3248242714);
+emit_32(1120608322);
+emit_32(1110906005);
+emit_32(3248242714);
+emit_32(1121120289);
+emit_32(1110451867);
+emit_32(3248242714);
+emit_32(1121632256);
+emit_32(1110203905);
+emit_32(3248242714);
+emit_32(1122144223);
+emit_32(1110022344);
+emit_32(3248242714);
+emit_32(1122656322);
+emit_32(1109942023);
+emit_32(3248242714);
+emit_32(1123168289);
+emit_32(1109931930);
+emit_32(3248242714);
+emit_32(1123680256);
+emit_32(1109863432);
+emit_32(3248242714);
+emit_32(1124132848);
+emit_32(1109215989);
+emit_32(3248242714);
+emit_32(1124388897);
+emit_32(1109161384);
+emit_32(3248242714);
+emit_32(1124644880);
+emit_32(1108931536);
+emit_32(3248242714);
+emit_32(1124900864);
+emit_32(1108371544);
+emit_32(3248242714);
+emit_32(1125156848);
+emit_32(1108462875);
+emit_32(3248242714);
+emit_32(1125412897);
+emit_32(1108261182);
+emit_32(3248242714);
+emit_32(1125668880);
+emit_32(1108292980);
+emit_32(3248242714);
+emit_32(1125924864);
+emit_32(1108474724);
+emit_32(3248242714);
+emit_32(1126180848);
+emit_32(1108428377);
+emit_32(3248242714);
+emit_32(1126436897);
+emit_32(1108089713);
+emit_32(3248242714);
+emit_32(1126692880);
+emit_32(1107824057);
+emit_32(3248242714);
+emit_32(1126948864);
+emit_32(1107727614);
+emit_32(3248242714);
+emit_32(1127204848);
+emit_32(1107082976);
+emit_32(3248242714);
+emit_32(1127460897);
+emit_32(1106264772);
+emit_32(3248242714);
+emit_32(1127716880);
+emit_32(1105380141);
+emit_32(3248242714);
+emit_32(1127972864);
+emit_32(1103821223);
+emit_32(3248242714);
+emit_32(1128228848);
+emit_32(1102097049);
+emit_32(3248242714);
+emit_32(1128484897);
+emit_32(1100348129);
+emit_32(3248242714);
+emit_32(1128740880);
+emit_32(1099721186);
+emit_32(3248242714);
+emit_32(1128996864);
+emit_32(1098987759);
+emit_32(3248242714);
+emit_32(1129252848);
+emit_32(1098503317);
+emit_32(3248242714);
+emit_32(1129508897);
+emit_32(1097783679);
+emit_32(3248242714);
+emit_32(1129764880);
+emit_32(1097409338);
+emit_32(3248242714);
+emit_32(1130020864);
+emit_32(1096647547);
+emit_32(3248242714);
+emit_32(1130276848);
+emit_32(1096484599);
+emit_32(3248242714);
+emit_32(1130532897);
+emit_32(1095929168);
+emit_32(3248242714);
+emit_32(1130788880);
+emit_32(1096063071);
+emit_32(3248242714);
+emit_32(1131044864);
+emit_32(1096407109);
+emit_32(3248242714);
+emit_32(1131300848);
+emit_32(1095628227);
+emit_32(3248242714);
+emit_32(1131556897);
+emit_32(1095460769);
+emit_32(3248242714);
+emit_32(1131812880);
+emit_32(1095830916);
+emit_32(3248242714);
+emit_32(1132068864);
+emit_32(1094232467);
+emit_32(3248242714);
+emit_32(1081737216);
+emit_32(1113150456);
+emit_32(3250290688);
+emit_32(1090125824);
+emit_32(1113492292);
+emit_32(3250290688);
+emit_32(1094418484);
+emit_32(1113689922);
+emit_32(3250290688);
+emit_32(1098514432);
+emit_32(1113686357);
+emit_32(3250290688);
+emit_32(1100759066);
+emit_32(1113837352);
+emit_32(3250290688);
+emit_32(1102807040);
+emit_32(1113996473);
+emit_32(3250290688);
+emit_32(1104855066);
+emit_32(1114061039);
+emit_32(3250290688);
+emit_32(1106903040);
+emit_32(1114255891);
+emit_32(3250290688);
+emit_32(1108123661);
+emit_32(1114434988);
+emit_32(3250290688);
+emit_32(1109147648);
+emit_32(1114792814);
+emit_32(3250290688);
+emit_32(1110171661);
+emit_32(1114681586);
+emit_32(3250290688);
+emit_32(1111195648);
+emit_32(1114881157);
+emit_32(3250290688);
+emit_32(1112219661);
+emit_32(1114508309);
+emit_32(3250290688);
+emit_32(1113243648);
+emit_32(1114572115);
+emit_32(3250290688);
+emit_32(1114267661);
+emit_32(1114613377);
+emit_32(3250290688);
+emit_32(1115291648);
+emit_32(1114243334);
+emit_32(3250290688);
+emit_32(1116000263);
+emit_32(1114073701);
+emit_32(3250290688);
+emit_32(1116512256);
+emit_32(1113815594);
+emit_32(3250290688);
+emit_32(1117024263);
+emit_32(1113605721);
+emit_32(3250290688);
+emit_32(1117536256);
+emit_32(1113440702);
+emit_32(3250290688);
+emit_32(1118048263);
+emit_32(1112989159);
+emit_32(3250290688);
+emit_32(1118560256);
+emit_32(1112567395);
+emit_32(3250290688);
+emit_32(1119072263);
+emit_32(1112247344);
+emit_32(3250290688);
+emit_32(1119584256);
+emit_32(1112009920);
+emit_32(3250290688);
+emit_32(1120096263);
+emit_32(1111470454);
+emit_32(3250290688);
+emit_32(1120608322);
+emit_32(1110996838);
+emit_32(3250290688);
+emit_32(1121120289);
+emit_32(1110568495);
+emit_32(3250290688);
+emit_32(1121632256);
+emit_32(1110151633);
+emit_32(3250290688);
+emit_32(1122144223);
+emit_32(1109917460);
+emit_32(3250290688);
+emit_32(1122656322);
+emit_32(1109701663);
+emit_32(3250290688);
+emit_32(1123168289);
+emit_32(1109686721);
+emit_32(3250290688);
+emit_32(1123680256);
+emit_32(1109370549);
+emit_32(3250290688);
+emit_32(1124132848);
+emit_32(1109357783);
+emit_32(3250290688);
+emit_32(1124388897);
+emit_32(1109361348);
+emit_32(3250290688);
+emit_32(1124644880);
+emit_32(1108962627);
+emit_32(3250290688);
+emit_32(1124900864);
+emit_32(1108736108);
+emit_32(3250290688);
+emit_32(1125156848);
+emit_32(1108614185);
+emit_32(3250290688);
+emit_32(1125412897);
+emit_32(1108533864);
+emit_32(3250290688);
+emit_32(1125668880);
+emit_32(1108590068);
+emit_32(3250290688);
+emit_32(1125924864);
+emit_32(1108802404);
+emit_32(3250290688);
+emit_32(1126180848);
+emit_32(1108700955);
+emit_32(3250290688);
+emit_32(1126436897);
+emit_32(1108392988);
+emit_32(3250290688);
+emit_32(1126692880);
+emit_32(1108021871);
+emit_32(3250290688);
+emit_32(1126948864);
+emit_32(1107615521);
+emit_32(3250290688);
+emit_32(1127204848);
+emit_32(1107132835);
+emit_32(3250290688);
+emit_32(1127460897);
+emit_32(1106307239);
+emit_32(3250290688);
+emit_32(1127716880);
+emit_32(1105259659);
+emit_32(3250290688);
+emit_32(1127972864);
+emit_32(1103882145);
+emit_32(3250290688);
+emit_32(1128228848);
+emit_32(1102498916);
+emit_32(3250290688);
+emit_32(1128484897);
+emit_32(1100712509);
+emit_32(3250290688);
+emit_32(1128740880);
+emit_32(1099497629);
+emit_32(3250290688);
+emit_32(1128996864);
+emit_32(1097686476);
+emit_32(3250290688);
+emit_32(1129252848);
+emit_32(1096996199);
+emit_32(3250290688);
+emit_32(1129508897);
+emit_32(1096729441);
+emit_32(3250290688);
+emit_32(1129764880);
+emit_32(1096118855);
+emit_32(3250290688);
+emit_32(1130020864);
+emit_32(1095816970);
+emit_32(3250290688);
+emit_32(1130276848);
+emit_32(1095839934);
+emit_32(3250290688);
+emit_32(1130532897);
+emit_32(1095807218);
+emit_32(3250290688);
+emit_32(1130788880);
+emit_32(1096112249);
+emit_32(3250290688);
+emit_32(1131044864);
+emit_32(1096393372);
+emit_32(3250290688);
+emit_32(1131300848);
+emit_32(1096168558);
+emit_32(3250290688);
+emit_32(1131556897);
+emit_32(1095322776);
+emit_32(3250290688);
+emit_32(1131812880);
+emit_32(1094576924);
+emit_32(3250290688);
+emit_32(1132068864);
+emit_32(1094020760);
+emit_32(3250290688);
+emit_32(1081737216);
+emit_32(1113988085);
+emit_32(3252338714);
+emit_32(1090125824);
+emit_32(1114065260);
+emit_32(3252338714);
+emit_32(1094418484);
+emit_32(1113997338);
+emit_32(3252338714);
+emit_32(1098514432);
+emit_32(1114054171);
+emit_32(3252338714);
+emit_32(1100759066);
+emit_32(1114320378);
+emit_32(3252338714);
+emit_32(1102807040);
+emit_32(1114467126);
+emit_32(3252338714);
+emit_32(1104855066);
+emit_32(1114435984);
+emit_32(3252338714);
+emit_32(1106903040);
+emit_32(1114341953);
+emit_32(3252338714);
+emit_32(1108123661);
+emit_32(1114299407);
+emit_32(3252338714);
+emit_32(1109147648);
+emit_32(1114563438);
+emit_32(3252338714);
+emit_32(1110171661);
+emit_32(1114648268);
+emit_32(3252338714);
+emit_32(1111195648);
+emit_32(1114546084);
+emit_32(3252338714);
+emit_32(1112219661);
+emit_32(1114619144);
+emit_32(3252338714);
+emit_32(1113243648);
+emit_32(1114743636);
+emit_32(3252338714);
+emit_32(1114267661);
+emit_32(1114455592);
+emit_32(3252338714);
+emit_32(1115291648);
+emit_32(1114088040);
+emit_32(3252338714);
+emit_32(1116000263);
+emit_32(1113929390);
+emit_32(3252338714);
+emit_32(1116512256);
+emit_32(1113476511);
+emit_32(3252338714);
+emit_32(1117024263);
+emit_32(1113251303);
+emit_32(3252338714);
+emit_32(1117536256);
+emit_32(1113169592);
+emit_32(3252338714);
+emit_32(1118048263);
+emit_32(1112818162);
+emit_32(3252338714);
+emit_32(1118560256);
+emit_32(1112268839);
+emit_32(3252338714);
+emit_32(1119072263);
+emit_32(1111908916);
+emit_32(3252338714);
+emit_32(1119584256);
+emit_32(1111826550);
+emit_32(3252338714);
+emit_32(1120096263);
+emit_32(1111731418);
+emit_32(3252338714);
+emit_32(1120608322);
+emit_32(1111230146);
+emit_32(3252338714);
+emit_32(1121120289);
+emit_32(1110553815);
+emit_32(3252338714);
+emit_32(1121632256);
+emit_32(1110036683);
+emit_32(3252338714);
+emit_32(1122144223);
+emit_32(1109799364);
+emit_32(3252338714);
+emit_32(1122656322);
+emit_32(1109771393);
+emit_32(3252338714);
+emit_32(1123168289);
+emit_32(1109709003);
+emit_32(3252338714);
+emit_32(1123680256);
+emit_32(1109442691);
+emit_32(3252338714);
+emit_32(1124132848);
+emit_32(1109517769);
+emit_32(3252338714);
+emit_32(1124388897);
+emit_32(1109424524);
+emit_32(3252338714);
+emit_32(1124644880);
+emit_32(1109080277);
+emit_32(3252338714);
+emit_32(1124900864);
+emit_32(1108875411);
+emit_32(3252338714);
+emit_32(1125156848);
+emit_32(1108744733);
+emit_32(3252338714);
+emit_32(1125412897);
+emit_32(1108572268);
+emit_32(3252338714);
+emit_32(1125668880);
+emit_32(1108842041);
+emit_32(3252338714);
+emit_32(1125924864);
+emit_32(1108992537);
+emit_32(3252338714);
+emit_32(1126180848);
+emit_32(1108824136);
+emit_32(3252338714);
+emit_32(1126436897);
+emit_32(1108504583);
+emit_32(3252338714);
+emit_32(1126692880);
+emit_32(1107939112);
+emit_32(3252338714);
+emit_32(1126948864);
+emit_32(1107373221);
+emit_32(3252338714);
+emit_32(1127204848);
+emit_32(1107163454);
+emit_32(3252338714);
+emit_32(1127460897);
+emit_32(1106219106);
+emit_32(3252338714);
+emit_32(1127716880);
+emit_32(1105070444);
+emit_32(3252338714);
+emit_32(1127972864);
+emit_32(1103725960);
+emit_32(3252338714);
+emit_32(1128228848);
+emit_32(1102334919);
+emit_32(3252338714);
+emit_32(1128484897);
+emit_32(1100777102);
+emit_32(3252338714);
+emit_32(1128740880);
+emit_32(1099662937);
+emit_32(3252338714);
+emit_32(1128996864);
+emit_32(1098431490);
+emit_32(3252338714);
+emit_32(1129252848);
+emit_32(1097775186);
+emit_32(3252338714);
+emit_32(1129508897);
+emit_32(1096256848);
+emit_32(3252338714);
+emit_32(1129764880);
+emit_32(1095754895);
+emit_32(3252338714);
+emit_32(1130020864);
+emit_32(1096060659);
+emit_32(3252338714);
+emit_32(1130276848);
+emit_32(1095067238);
+emit_32(3252338714);
+emit_32(1130532897);
+emit_32(1094771330);
+emit_32(3252338714);
+emit_32(1130788880);
+emit_32(1095212047);
+emit_32(3252338714);
+emit_32(1131044864);
+emit_32(1094803207);
+emit_32(3252338714);
+emit_32(1131300848);
+emit_32(1094921801);
+emit_32(3252338714);
+emit_32(1131556897);
+emit_32(1094618028);
+emit_32(3252338714);
+emit_32(1131812880);
+emit_32(1093381757);
+emit_32(3252338714);
+emit_32(1132068864);
+emit_32(1092728180);
+emit_32(3252338714);
+emit_32(1081737216);
+emit_32(1114484349);
+emit_32(3254386688);
+emit_32(1090125824);
+emit_32(1114516331);
+emit_32(3254386688);
+emit_32(1094418484);
+emit_32(1114316079);
+emit_32(3254386688);
+emit_32(1098514432);
+emit_32(1114579953);
+emit_32(3254386688);
+emit_32(1100759066);
+emit_32(1114764660);
+emit_32(3254386688);
+emit_32(1102807040);
+emit_32(1114796065);
+emit_32(3254386688);
+emit_32(1104855066);
+emit_32(1114724998);
+emit_32(3254386688);
+emit_32(1106903040);
+emit_32(1114516881);
+emit_32(3254386688);
+emit_32(1108123661);
+emit_32(1114291254);
+emit_32(3254386688);
+emit_32(1109147648);
+emit_32(1114334036);
+emit_32(3254386688);
+emit_32(1110171661);
+emit_32(1114475987);
+emit_32(3254386688);
+emit_32(1111195648);
+emit_32(1114491322);
+emit_32(3254386688);
+emit_32(1112219661);
+emit_32(1114531378);
+emit_32(3254386688);
+emit_32(1113243648);
+emit_32(1114372755);
+emit_32(3254386688);
+emit_32(1114267661);
+emit_32(1114308136);
+emit_32(3254386688);
+emit_32(1115291648);
+emit_32(1113743609);
+emit_32(3254386688);
+emit_32(1116000263);
+emit_32(1113664809);
+emit_32(3254386688);
+emit_32(1116512256);
+emit_32(1113231799);
+emit_32(3254386688);
+emit_32(1117024263);
+emit_32(1112995057);
+emit_32(3254386688);
+emit_32(1117536256);
+emit_32(1112878744);
+emit_32(3254386688);
+emit_32(1118048263);
+emit_32(1112754959);
+emit_32(3254386688);
+emit_32(1118560256);
+emit_32(1112570436);
+emit_32(3254386688);
+emit_32(1119072263);
+emit_32(1112364417);
+emit_32(3254386688);
+emit_32(1119584256);
+emit_32(1111993903);
+emit_32(3254386688);
+emit_32(1120096263);
+emit_32(1111795748);
+emit_32(3254386688);
+emit_32(1120608322);
+emit_32(1111345490);
+emit_32(3254386688);
+emit_32(1121120289);
+emit_32(1110601525);
+emit_32(3254386688);
+emit_32(1121632256);
+emit_32(1110149693);
+emit_32(3254386688);
+emit_32(1122144223);
+emit_32(1110165946);
+emit_32(3254386688);
+emit_32(1122656322);
+emit_32(1109981554);
+emit_32(3254386688);
+emit_32(1123168289);
+emit_32(1109825395);
+emit_32(3254386688);
+emit_32(1123680256);
+emit_32(1109816797);
+emit_32(3254386688);
+emit_32(1124132848);
+emit_32(1109710052);
+emit_32(3254386688);
+emit_32(1124388897);
+emit_32(1109602468);
+emit_32(3254386688);
+emit_32(1124644880);
+emit_32(1109349918);
+emit_32(3254386688);
+emit_32(1124900864);
+emit_32(1109069634);
+emit_32(3254386688);
+emit_32(1125156848);
+emit_32(1108800622);
+emit_32(3254386688);
+emit_32(1125412897);
+emit_32(1108662341);
+emit_32(3254386688);
+emit_32(1125668880);
+emit_32(1108955051);
+emit_32(3254386688);
+emit_32(1125924864);
+emit_32(1109069896);
+emit_32(3254386688);
+emit_32(1126180848);
+emit_32(1108753986);
+emit_32(3254386688);
+emit_32(1126436897);
+emit_32(1108343941);
+emit_32(3254386688);
+emit_32(1126692880);
+emit_32(1107751600);
+emit_32(3254386688);
+emit_32(1126948864);
+emit_32(1107299113);
+emit_32(3254386688);
+emit_32(1127204848);
+emit_32(1106833257);
+emit_32(3254386688);
+emit_32(1127460897);
+emit_32(1106258742);
+emit_32(3254386688);
+emit_32(1127716880);
+emit_32(1104970147);
+emit_32(3254386688);
+emit_32(1127972864);
+emit_32(1103641549);
+emit_32(3254386688);
+emit_32(1128228848);
+emit_32(1102486700);
+emit_32(3254386688);
+emit_32(1128484897);
+emit_32(1100950903);
+emit_32(3254386688);
+emit_32(1128740880);
+emit_32(1099783943);
+emit_32(3254386688);
+emit_32(1128996864);
+emit_32(1099048105);
+emit_32(3254386688);
+emit_32(1129252848);
+emit_32(1097916324);
+emit_32(3254386688);
+emit_32(1129508897);
+emit_32(1096849293);
+emit_32(3254386688);
+emit_32(1129764880);
+emit_32(1095290166);
+emit_32(3254386688);
+emit_32(1130020864);
+emit_32(1094873566);
+emit_32(3254386688);
+emit_32(1130276848);
+emit_32(1094773742);
+emit_32(3254386688);
+emit_32(1130532897);
+emit_32(1093963298);
+emit_32(3254386688);
+emit_32(1130788880);
+emit_32(1094288251);
+emit_32(3254386688);
+emit_32(1131044864);
+emit_32(1093582560);
+emit_32(3254386688);
+emit_32(1131300848);
+emit_32(1093578994);
+emit_32(3254386688);
+emit_32(1131556897);
+emit_32(1093961096);
+emit_32(3254386688);
+emit_32(1131812880);
+emit_32(1094270950);
+emit_32(3254386688);
+emit_32(1132068864);
+emit_32(1094226805);
+emit_32(3254386688);
+emit_32(1081737216);
+emit_32(1114694274);
+emit_32(3255607309);
+emit_32(1090125824);
+emit_32(1114471950);
+emit_32(3255607309);
+emit_32(1094418484);
+emit_32(1114251644);
+emit_32(3255607309);
+emit_32(1098514432);
+emit_32(1114525794);
+emit_32(3255607309);
+emit_32(1100759066);
+emit_32(1114675374);
+emit_32(3255607309);
+emit_32(1102807040);
+emit_32(1114775146);
+emit_32(3255607309);
+emit_32(1104855066);
+emit_32(1114776168);
+emit_32(3255607309);
+emit_32(1106903040);
+emit_32(1114678755);
+emit_32(3255607309);
+emit_32(1108123661);
+emit_32(1114267373);
+emit_32(3255607309);
+emit_32(1109147648);
+emit_32(1114095459);
+emit_32(3255607309);
+emit_32(1110171661);
+emit_32(1114227474);
+emit_32(3255607309);
+emit_32(1111195648);
+emit_32(1114305305);
+emit_32(3255607309);
+emit_32(1112219661);
+emit_32(1114012333);
+emit_32(3255607309);
+emit_32(1113243648);
+emit_32(1113935761);
+emit_32(3255607309);
+emit_32(1114267661);
+emit_32(1113756087);
+emit_32(3255607309);
+emit_32(1115291648);
+emit_32(1113651780);
+emit_32(3255607309);
+emit_32(1116000263);
+emit_32(1113622315);
+emit_32(3255607309);
+emit_32(1116512256);
+emit_32(1113238353);
+emit_32(3255607309);
+emit_32(1117024263);
+emit_32(1112877931);
+emit_32(3255607309);
+emit_32(1117536256);
+emit_32(1112868625);
+emit_32(3255607309);
+emit_32(1118048263);
+emit_32(1112560842);
+emit_32(3255607309);
+emit_32(1118560256);
+emit_32(1112530249);
+emit_32(3255607309);
+emit_32(1119072263);
+emit_32(1112251957);
+emit_32(3255607309);
+emit_32(1119584256);
+emit_32(1111883697);
+emit_32(3255607309);
+emit_32(1120096263);
+emit_32(1111510168);
+emit_32(3255607309);
+emit_32(1120608322);
+emit_32(1111049686);
+emit_32(3255607309);
+emit_32(1121120289);
+emit_32(1110465000);
+emit_32(3255607309);
+emit_32(1121632256);
+emit_32(1110143926);
+emit_32(3255607309);
+emit_32(1122144223);
+emit_32(1110128565);
+emit_32(3255607309);
+emit_32(1122656322);
+emit_32(1110170613);
+emit_32(3255607309);
+emit_32(1123168289);
+emit_32(1110002133);
+emit_32(3255607309);
+emit_32(1123680256);
+emit_32(1109827938);
+emit_32(3255607309);
+emit_32(1124132848);
+emit_32(1109697652);
+emit_32(3255607309);
+emit_32(1124388897);
+emit_32(1109285929);
+emit_32(3255607309);
+emit_32(1124644880);
+emit_32(1109015973);
+emit_32(3255607309);
+emit_32(1124900864);
+emit_32(1108853103);
+emit_32(3255607309);
+emit_32(1125156848);
+emit_32(1108675186);
+emit_32(3255607309);
+emit_32(1125412897);
+emit_32(1108706171);
+emit_32(3255607309);
+emit_32(1125668880);
+emit_32(1108840441);
+emit_32(3255607309);
+emit_32(1125924864);
+emit_32(1108822485);
+emit_32(3255607309);
+emit_32(1126180848);
+emit_32(1108425782);
+emit_32(3255607309);
+emit_32(1126436897);
+emit_32(1108131997);
+emit_32(3255607309);
+emit_32(1126692880);
+emit_32(1107626584);
+emit_32(3255607309);
+emit_32(1126948864);
+emit_32(1107199630);
+emit_32(3255607309);
+emit_32(1127204848);
+emit_32(1106951065);
+emit_32(3255607309);
+emit_32(1127460897);
+emit_32(1106261574);
+emit_32(3255607309);
+emit_32(1127716880);
+emit_32(1104881543);
+emit_32(3255607309);
+emit_32(1127972864);
+emit_32(1103438021);
+emit_32(3255607309);
+emit_32(1128228848);
+emit_32(1102185759);
+emit_32(3255607309);
+emit_32(1128484897);
+emit_32(1101110234);
+emit_32(3255607309);
+emit_32(1128740880);
+emit_32(1100328678);
+emit_32(3255607309);
+emit_32(1128996864);
+emit_32(1099613287);
+emit_32(3255607309);
+emit_32(1129252848);
+emit_32(1098156658);
+emit_32(3255607309);
+emit_32(1129508897);
+emit_32(1096407528);
+emit_32(3255607309);
+emit_32(1129764880);
+emit_32(1096170131);
+emit_32(3255607309);
+emit_32(1130020864);
+emit_32(1095690512);
+emit_32(3255607309);
+emit_32(1130276848);
+emit_32(1094209084);
+emit_32(3255607309);
+emit_32(1130532897);
+emit_32(1093127687);
+emit_32(3255607309);
+emit_32(1130788880);
+emit_32(1092438259);
+emit_32(3255607309);
+emit_32(1131044864);
+emit_32(1092531729);
+emit_32(3255607309);
+emit_32(1131300848);
+emit_32(1093627753);
+emit_32(3255607309);
+emit_32(1131556897);
+emit_32(1094279863);
+emit_32(3255607309);
+emit_32(1131812880);
+emit_32(1094536449);
+emit_32(3255607309);
+emit_32(1132068864);
+emit_32(1094652422);
+emit_32(3255607309);
+emit_32(1081737216);
+emit_32(1114612538);
+emit_32(3256631296);
+emit_32(1090125824);
+emit_32(1114274713);
+emit_32(3256631296);
+emit_32(1094418484);
+emit_32(1114042532);
+emit_32(3256631296);
+emit_32(1098514432);
+emit_32(1114371758);
+emit_32(3256631296);
+emit_32(1100759066);
+emit_32(1114654061);
+emit_32(3256631296);
+emit_32(1102807040);
+emit_32(1114778344);
+emit_32(3256631296);
+emit_32(1104855066);
+emit_32(1114758762);
+emit_32(3256631296);
+emit_32(1106903040);
+emit_32(1114526817);
+emit_32(3256631296);
+emit_32(1108123661);
+emit_32(1114218640);
+emit_32(3256631296);
+emit_32(1109147648);
+emit_32(1113983497);
+emit_32(3256631296);
+emit_32(1110171661);
+emit_32(1114023684);
+emit_32(3256631296);
+emit_32(1111195648);
+emit_32(1114065102);
+emit_32(3256631296);
+emit_32(1112219661);
+emit_32(1113899585);
+emit_32(3256631296);
+emit_32(1113243648);
+emit_32(1113503538);
+emit_32(3256631296);
+emit_32(1114267661);
+emit_32(1113409769);
+emit_32(3256631296);
+emit_32(1115291648);
+emit_32(1113402665);
+emit_32(3256631296);
+emit_32(1116000263);
+emit_32(1113537931);
+emit_32(3256631296);
+emit_32(1116512256);
+emit_32(1113144426);
+emit_32(3256631296);
+emit_32(1117024263);
+emit_32(1112966772);
+emit_32(3256631296);
+emit_32(1117536256);
+emit_32(1112729086);
+emit_32(3256631296);
+emit_32(1118048263);
+emit_32(1112420463);
+emit_32(3256631296);
+emit_32(1118560256);
+emit_32(1112416322);
+emit_32(3256631296);
+emit_32(1119072263);
+emit_32(1112175306);
+emit_32(3256631296);
+emit_32(1119584256);
+emit_32(1112112733);
+emit_32(3256631296);
+emit_32(1120096263);
+emit_32(1111723265);
+emit_32(3256631296);
+emit_32(1120608322);
+emit_32(1111230539);
+emit_32(3256631296);
+emit_32(1121120289);
+emit_32(1110568521);
+emit_32(3256631296);
+emit_32(1121632256);
+emit_32(1110333220);
+emit_32(3256631296);
+emit_32(1122144223);
+emit_32(1110249780);
+emit_32(3256631296);
+emit_32(1122656322);
+emit_32(1110285117);
+emit_32(3256631296);
+emit_32(1123168289);
+emit_32(1109907735);
+emit_32(3256631296);
+emit_32(1123680256);
+emit_32(1109777213);
+emit_32(3256631296);
+emit_32(1124132848);
+emit_32(1109451630);
+emit_32(3256631296);
+emit_32(1124388897);
+emit_32(1109111184);
+emit_32(3256631296);
+emit_32(1124644880);
+emit_32(1108792102);
+emit_32(3256631296);
+emit_32(1124900864);
+emit_32(1108776190);
+emit_32(3256631296);
+emit_32(1125156848);
+emit_32(1108834805);
+emit_32(3256631296);
+emit_32(1125412897);
+emit_32(1108715477);
+emit_32(3256631296);
+emit_32(1125668880);
+emit_32(1108660453);
+emit_32(3256631296);
+emit_32(1125924864);
+emit_32(1108548623);
+emit_32(3256631296);
+emit_32(1126180848);
+emit_32(1108317621);
+emit_32(3256631296);
+emit_32(1126436897);
+emit_32(1107958091);
+emit_32(3256631296);
+emit_32(1126692880);
+emit_32(1107488198);
+emit_32(3256631296);
+emit_32(1126948864);
+emit_32(1107323624);
+emit_32(3256631296);
+emit_32(1127204848);
+emit_32(1106940264);
+emit_32(3256631296);
+emit_32(1127460897);
+emit_32(1106131026);
+emit_32(3256631296);
+emit_32(1127716880);
+emit_32(1104537505);
+emit_32(3256631296);
+emit_32(1127972864);
+emit_32(1103113277);
+emit_32(3256631296);
+emit_32(1128228848);
+emit_32(1102198604);
+emit_32(3256631296);
+emit_32(1128484897);
+emit_32(1101660003);
+emit_32(3256631296);
+emit_32(1128740880);
+emit_32(1100980106);
+emit_32(3256631296);
+emit_32(1128996864);
+emit_32(1100131808);
+emit_32(3256631296);
+emit_32(1129252848);
+emit_32(1099325034);
+emit_32(3256631296);
+emit_32(1129508897);
+emit_32(1097933521);
+emit_32(3256631296);
+emit_32(1129764880);
+emit_32(1096350800);
+emit_32(3256631296);
+emit_32(1130020864);
+emit_32(1095937976);
+emit_32(3256631296);
+emit_32(1130276848);
+emit_32(1093950924);
+emit_32(3256631296);
+emit_32(1130532897);
+emit_32(1093143101);
+emit_32(3256631296);
+emit_32(1130788880);
+emit_32(1092323492);
+emit_32(3256631296);
+emit_32(1131044864);
+emit_32(1092516462);
+emit_32(3256631296);
+emit_32(1131300848);
+emit_32(1093374417);
+emit_32(3256631296);
+emit_32(1131556897);
+emit_32(1093934567);
+emit_32(3256631296);
+emit_32(1131812880);
+emit_32(1094793141);
+emit_32(3256631296);
+emit_32(1132068864);
+emit_32(1094610584);
+emit_32(3256631296);
+emit_32(1081737216);
+emit_32(1114510642);
+emit_32(3257655309);
+emit_32(1090125824);
+emit_32(1114177090);
+emit_32(3257655309);
+emit_32(1094418484);
+emit_32(1114130088);
+emit_32(3257655309);
+emit_32(1098514432);
+emit_32(1114485503);
+emit_32(3257655309);
+emit_32(1100759066);
+emit_32(1114774202);
+emit_32(3257655309);
+emit_32(1102807040);
+emit_32(1114811400);
+emit_32(3257655309);
+emit_32(1104855066);
+emit_32(1114642894);
+emit_32(3257655309);
+emit_32(1106903040);
+emit_32(1114125710);
+emit_32(3257655309);
+emit_32(1108123661);
+emit_32(1113782380);
+emit_32(3257655309);
+emit_32(1109147648);
+emit_32(1113903464);
+emit_32(3257655309);
+emit_32(1110171661);
+emit_32(1113893372);
+emit_32(3257655309);
+emit_32(1111195648);
+emit_32(1113835831);
+emit_32(3257655309);
+emit_32(1112219661);
+emit_32(1113519056);
+emit_32(3257655309);
+emit_32(1113243648);
+emit_32(1113402219);
+emit_32(3257655309);
+emit_32(1114267661);
+emit_32(1113222650);
+emit_32(3257655309);
+emit_32(1115291648);
+emit_32(1113112760);
+emit_32(3257655309);
+emit_32(1116000263);
+emit_32(1112977441);
+emit_32(3257655309);
+emit_32(1116512256);
+emit_32(1112883121);
+emit_32(3257655309);
+emit_32(1117024263);
+emit_32(1112823615);
+emit_32(3257655309);
+emit_32(1117536256);
+emit_32(1112700957);
+emit_32(3257655309);
+emit_32(1118048263);
+emit_32(1112438473);
+emit_32(3257655309);
+emit_32(1118560256);
+emit_32(1112053645);
+emit_32(3257655309);
+emit_32(1119072263);
+emit_32(1111879136);
+emit_32(3257655309);
+emit_32(1119584256);
+emit_32(1112020641);
+emit_32(3257655309);
+emit_32(1120096263);
+emit_32(1111750895);
+emit_32(3257655309);
+emit_32(1120608322);
+emit_32(1111255810);
+emit_32(3257655309);
+emit_32(1121120289);
+emit_32(1110557852);
+emit_32(3257655309);
+emit_32(1121632256);
+emit_32(1110574917);
+emit_32(3257655309);
+emit_32(1122144223);
+emit_32(1110468329);
+emit_32(3257655309);
+emit_32(1122656322);
+emit_32(1110138264);
+emit_32(3257655309);
+emit_32(1123168289);
+emit_32(1110059752);
+emit_32(3257655309);
+emit_32(1123680256);
+emit_32(1109798447);
+emit_32(3257655309);
+emit_32(1124132848);
+emit_32(1109243252);
+emit_32(3257655309);
+emit_32(1124388897);
+emit_32(1109362344);
+emit_32(3257655309);
+emit_32(1124644880);
+emit_32(1109167073);
+emit_32(3257655309);
+emit_32(1124900864);
+emit_32(1109064601);
+emit_32(3257655309);
+emit_32(1125156848);
+emit_32(1108980715);
+emit_32(3257655309);
+emit_32(1125412897);
+emit_32(1108866472);
+emit_32(3257655309);
+emit_32(1125668880);
+emit_32(1108651960);
+emit_32(3257655309);
+emit_32(1125924864);
+emit_32(1108356130);
+emit_32(3257655309);
+emit_32(1126180848);
+emit_32(1108103240);
+emit_32(3257655309);
+emit_32(1126436897);
+emit_32(1107651828);
+emit_32(3257655309);
+emit_32(1126692880);
+emit_32(1107336154);
+emit_32(3257655309);
+emit_32(1126948864);
+emit_32(1106756135);
+emit_32(3257655309);
+emit_32(1127204848);
+emit_32(1106100145);
+emit_32(3257655309);
+emit_32(1127460897);
+emit_32(1105225790);
+emit_32(3257655309);
+emit_32(1127716880);
+emit_32(1104058987);
+emit_32(3257655309);
+emit_32(1127972864);
+emit_32(1103547702);
+emit_32(3257655309);
+emit_32(1128228848);
+emit_32(1102526860);
+emit_32(3257655309);
+emit_32(1128484897);
+emit_32(1101431308);
+emit_32(3257655309);
+emit_32(1128740880);
+emit_32(1100829216);
+emit_32(3257655309);
+emit_32(1128996864);
+emit_32(1100205418);
+emit_32(3257655309);
+emit_32(1129252848);
+emit_32(1099550373);
+emit_32(3257655309);
+emit_32(1129508897);
+emit_32(1098506148);
+emit_32(3257655309);
+emit_32(1129764880);
+emit_32(1096071564);
+emit_32(3257655309);
+emit_32(1130020864);
+emit_32(1095937976);
+emit_32(3257655309);
+emit_32(1130276848);
+emit_32(1093431145);
+emit_32(3257655309);
+emit_32(1130532897);
+emit_32(1092220816);
+emit_32(3257655309);
+emit_32(1130788880);
+emit_32(1091857117);
+emit_32(3257655309);
+emit_32(1131044864);
+emit_32(1092062974);
+emit_32(3257655309);
+emit_32(1131300848);
+emit_32(1092869004);
+emit_32(3257655309);
+emit_32(1131556897);
+emit_32(1094057460);
+emit_32(3257655309);
+emit_32(1131812880);
+emit_32(1093644845);
+emit_32(3257655309);
+emit_32(1132068864);
+emit_32(1092544669);
+emit_32(3257655309);
+emit_32(1081737216);
+emit_32(1114350184);
+emit_32(3258679296);
+emit_32(1090125824);
+emit_32(1114346619);
+emit_32(3258679296);
+emit_32(1094418484);
+emit_32(1114421513);
+emit_32(3258679296);
+emit_32(1098514432);
+emit_32(1114700304);
+emit_32(3258679296);
+emit_32(1100759066);
+emit_32(1114796563);
+emit_32(3258679296);
+emit_32(1102807040);
+emit_32(1114621582);
+emit_32(3258679296);
+emit_32(1104855066);
+emit_32(1114296549);
+emit_32(3258679296);
+emit_32(1106903040);
+emit_32(1114209753);
+emit_32(3258679296);
+emit_32(1108123661);
+emit_32(1113856567);
+emit_32(3258679296);
+emit_32(1109147648);
+emit_32(1113867944);
+emit_32(3258679296);
+emit_32(1110171661);
+emit_32(1113863907);
+emit_32(3258679296);
+emit_32(1111195648);
+emit_32(1113532976);
+emit_32(3258679296);
+emit_32(1112219661);
+emit_32(1113290808);
+emit_32(3258679296);
+emit_32(1113243648);
+emit_32(1113017942);
+emit_32(3258679296);
+emit_32(1114267661);
+emit_32(1112948867);
+emit_32(3258679296);
+emit_32(1115291648);
+emit_32(1112695872);
+emit_32(3258679296);
+emit_32(1116000263);
+emit_32(1112643627);
+emit_32(3258679296);
+emit_32(1116512256);
+emit_32(1112588707);
+emit_32(3258679296);
+emit_32(1117024263);
+emit_32(1112603833);
+emit_32(3258679296);
+emit_32(1117536256);
+emit_32(1112628213);
+emit_32(3258679296);
+emit_32(1118048263);
+emit_32(1112273715);
+emit_32(3258679296);
+emit_32(1118560256);
+emit_32(1111859449);
+emit_32(3258679296);
+emit_32(1119072263);
+emit_32(1111576936);
+emit_32(3258679296);
+emit_32(1119584256);
+emit_32(1111726726);
+emit_32(3258679296);
+emit_32(1120096263);
+emit_32(1111402296);
+emit_32(3258679296);
+emit_32(1120608322);
+emit_32(1110549489);
+emit_32(3258679296);
+emit_32(1121120289);
+emit_32(1110448511);
+emit_32(3258679296);
+emit_32(1121632256);
+emit_32(1110373695);
+emit_32(3258679296);
+emit_32(1122144223);
+emit_32(1110467333);
+emit_32(3258679296);
+emit_32(1122656322);
+emit_32(1110274028);
+emit_32(3258679296);
+emit_32(1123168289);
+emit_32(1109946532);
+emit_32(3258679296);
+emit_32(1123680256);
+emit_32(1109626795);
+emit_32(3258679296);
+emit_32(1124132848);
+emit_32(1109494622);
+emit_32(3258679296);
+emit_32(1124388897);
+emit_32(1109413069);
+emit_32(3258679296);
+emit_32(1124644880);
+emit_32(1109297647);
+emit_32(3258679296);
+emit_32(1124900864);
+emit_32(1109062294);
+emit_32(3258679296);
+emit_32(1125156848);
+emit_32(1108844007);
+emit_32(3258679296);
+emit_32(1125412897);
+emit_32(1108568860);
+emit_32(3258679296);
+emit_32(1125668880);
+emit_32(1108450004);
+emit_32(3258679296);
+emit_32(1125924864);
+emit_32(1108186943);
+emit_32(3258679296);
+emit_32(1126180848);
+emit_32(1107845369);
+emit_32(3258679296);
+emit_32(1126436897);
+emit_32(1107362972);
+emit_32(3258679296);
+emit_32(1126692880);
+emit_32(1106252189);
+emit_32(3258679296);
+emit_32(1126948864);
+emit_32(1105829298);
+emit_32(3258679296);
+emit_32(1127204848);
+emit_32(1105218083);
+emit_32(3258679296);
+emit_32(1127460897);
+emit_32(1104523506);
+emit_32(3258679296);
+emit_32(1127716880);
+emit_32(1104128351);
+emit_32(3258679296);
+emit_32(1127972864);
+emit_32(1103796214);
+emit_32(3258679296);
+emit_32(1128228848);
+emit_32(1103027818);
+emit_32(3258679296);
+emit_32(1128484897);
+emit_32(1101322309);
+emit_32(3258679296);
+emit_32(1128740880);
+emit_32(1100681576);
+emit_32(3258679296);
+emit_32(1128996864);
+emit_32(1099668023);
+emit_32(3258679296);
+emit_32(1129252848);
+emit_32(1099208380);
+emit_32(3258679296);
+emit_32(1129508897);
+emit_32(1097801400);
+emit_32(3258679296);
+emit_32(1129764880);
+emit_32(1095333472);
+emit_32(3258679296);
+emit_32(1130020864);
+emit_32(1094540329);
+emit_32(3258679296);
+emit_32(1130276848);
+emit_32(1092787739);
+emit_32(3258679296);
+emit_32(1130532897);
+emit_32(1092315051);
+emit_32(3258679296);
+emit_32(1130788880);
+emit_32(1091861091);
+emit_32(3258679296);
+emit_32(1131044864);
+emit_32(1091047459);
+emit_32(3258679296);
+emit_32(1131300848);
+emit_32(1091787586);
+emit_32(3258679296);
+emit_32(1131556897);
+emit_32(1091795230);
+emit_32(3258679296);
+emit_32(1131812880);
+emit_32(1091987980);
+emit_32(3258679296);
+emit_32(1132068864);
+emit_32(1091100066);
+emit_32(3258679296);
+emit_32(1081737216);
+emit_32(1114597202);
+emit_32(3259703309);
+emit_32(1090125824);
+emit_32(1114535127);
+emit_32(3259703309);
+emit_32(1094418484);
+emit_32(1114569520);
+emit_32(3259703309);
+emit_32(1098514432);
+emit_32(1114747935);
+emit_32(3259703309);
+emit_32(1100759066);
+emit_32(1114487233);
+emit_32(3259703309);
+emit_32(1102807040);
+emit_32(1114382795);
+emit_32(3259703309);
+emit_32(1104855066);
+emit_32(1113996919);
+emit_32(3259703309);
+emit_32(1106903040);
+emit_32(1114099181);
+emit_32(3259703309);
+emit_32(1108123661);
+emit_32(1113852163);
+emit_32(3259703309);
+emit_32(1109147648);
+emit_32(1113652435);
+emit_32(3259703309);
+emit_32(1110171661);
+emit_32(1113551117);
+emit_32(3259703309);
+emit_32(1111195648);
+emit_32(1113386543);
+emit_32(3259703309);
+emit_32(1112219661);
+emit_32(1113298436);
+emit_32(3259703309);
+emit_32(1113243648);
+emit_32(1112846185);
+emit_32(3259703309);
+emit_32(1114267661);
+emit_32(1112699621);
+emit_32(3259703309);
+emit_32(1115291648);
+emit_32(1112253320);
+emit_32(3259703309);
+emit_32(1116000263);
+emit_32(1112228338);
+emit_32(3259703309);
+emit_32(1116512256);
+emit_32(1112085679);
+emit_32(3259703309);
+emit_32(1117024263);
+emit_32(1112407068);
+emit_32(3259703309);
+emit_32(1117536256);
+emit_32(1112221391);
+emit_32(3259703309);
+emit_32(1118048263);
+emit_32(1111896936);
+emit_32(3259703309);
+emit_32(1118560256);
+emit_32(1111579322);
+emit_32(3259703309);
+emit_32(1119072263);
+emit_32(1111494309);
+emit_32(3259703309);
+emit_32(1119584256);
+emit_32(1111163588);
+emit_32(3259703309);
+emit_32(1120096263);
+emit_32(1110845004);
+emit_32(3259703309);
+emit_32(1120608322);
+emit_32(1110534835);
+emit_32(3259703309);
+emit_32(1121120289);
+emit_32(1110661294);
+emit_32(3259703309);
+emit_32(1121632256);
+emit_32(1110709161);
+emit_32(3259703309);
+emit_32(1122144223);
+emit_32(1110566843);
+emit_32(3259703309);
+emit_32(1122656322);
+emit_32(1110304385);
+emit_32(3259703309);
+emit_32(1123168289);
+emit_32(1109925298);
+emit_32(3259703309);
+emit_32(1123680256);
+emit_32(1109647897);
+emit_32(3259703309);
+emit_32(1124132848);
+emit_32(1109489300);
+emit_32(3259703309);
+emit_32(1124388897);
+emit_32(1109413541);
+emit_32(3259703309);
+emit_32(1124644880);
+emit_32(1109402137);
+emit_32(3259703309);
+emit_32(1124900864);
+emit_32(1108939034);
+emit_32(3259703309);
+emit_32(1125156848);
+emit_32(1108484450);
+emit_32(3259703309);
+emit_32(1125412897);
+emit_32(1108297200);
+emit_32(3259703309);
+emit_32(1125668880);
+emit_32(1108185815);
+emit_32(3259703309);
+emit_32(1125924864);
+emit_32(1108077104);
+emit_32(3259703309);
+emit_32(1126180848);
+emit_32(1107688659);
+emit_32(3259703309);
+emit_32(1126436897);
+emit_32(1107166075);
+emit_32(3259703309);
+emit_32(1126692880);
+emit_32(1105985012);
+emit_32(3259703309);
+emit_32(1126948864);
+emit_32(1104765465);
+emit_32(3259703309);
+emit_32(1127204848);
+emit_32(1103884766);
+emit_32(3259703309);
+emit_32(1127460897);
+emit_32(1103770157);
+emit_32(3259703309);
+emit_32(1127716880);
+emit_32(1103747613);
+emit_32(3259703309);
+emit_32(1127972864);
+emit_32(1103380349);
+emit_32(3259703309);
+emit_32(1128228848);
+emit_32(1102807669);
+emit_32(3259703309);
+emit_32(1128484897);
+emit_32(1101721240);
+emit_32(3259703309);
+emit_32(1128740880);
+emit_32(1100629095);
+emit_32(3259703309);
+emit_32(1128996864);
+emit_32(1099835323);
+emit_32(3259703309);
+emit_32(1129252848);
+emit_32(1098920598);
+emit_32(3259703309);
+emit_32(1129508897);
+emit_32(1096752929);
+emit_32(3259703309);
+emit_32(1129764880);
+emit_32(1095066609);
+emit_32(3259703309);
+emit_32(1130020864);
+emit_32(1093563371);
+emit_32(3259703309);
+emit_32(1130276848);
+emit_32(1092693157);
+emit_32(3259703309);
+emit_32(1130532897);
+emit_32(1091653725);
+emit_32(3259703309);
+emit_32(1130788880);
+emit_32(1091615085);
+emit_32(3259703309);
+emit_32(1131044864);
+emit_32(1091394161);
+emit_32(3259703309);
+emit_32(1131300848);
+emit_32(1091605134);
+emit_32(3259703309);
+emit_32(1131556897);
+emit_32(1091638730);
+emit_32(3259703309);
+emit_32(1131812880);
+emit_32(1091599786);
+emit_32(3259703309);
+emit_32(1132068864);
+emit_32(1092266859);
+emit_32(3259703309);
+emit_32(1081737216);
+emit_32(1114739258);
+emit_32(3260727296);
+emit_32(1090125824);
+emit_32(1114878378);
+emit_32(3260727296);
+emit_32(1094418484);
+emit_32(1114870802);
+emit_32(3260727296);
+emit_32(1098514432);
+emit_32(1114770794);
+emit_32(3260727296);
+emit_32(1100759066);
+emit_32(1114231276);
+emit_32(3260727296);
+emit_32(1102807040);
+emit_32(1114104450);
+emit_32(3260727296);
+emit_32(1104855066);
+emit_32(1113868626);
+emit_32(3260727296);
+emit_32(1106903040);
+emit_32(1113833393);
+emit_32(3260727296);
+emit_32(1108123661);
+emit_32(1113996840);
+emit_32(3260727296);
+emit_32(1109147648);
+emit_32(1113765393);
+emit_32(3260727296);
+emit_32(1110171661);
+emit_32(1113650627);
+emit_32(3260727296);
+emit_32(1111195648);
+emit_32(1113342896);
+emit_32(3260727296);
+emit_32(1112219661);
+emit_32(1113156380);
+emit_32(3260727296);
+emit_32(1113243648);
+emit_32(1112582154);
+emit_32(3260727296);
+emit_32(1114267661);
+emit_32(1112346277);
+emit_32(3260727296);
+emit_32(1115291648);
+emit_32(1111870249);
+emit_32(3260727296);
+emit_32(1116000263);
+emit_32(1111605930);
+emit_32(3260727296);
+emit_32(1116512256);
+emit_32(1111495305);
+emit_32(3260727296);
+emit_32(1117024263);
+emit_32(1111701219);
+emit_32(3260727296);
+emit_32(1117536256);
+emit_32(1111545768);
+emit_32(3260727296);
+emit_32(1118048263);
+emit_32(1111442876);
+emit_32(3260727296);
+emit_32(1118560256);
+emit_32(1111332802);
+emit_32(3260727296);
+emit_32(1119072263);
+emit_32(1111091472);
+emit_32(3260727296);
+emit_32(1119584256);
+emit_32(1110805001);
+emit_32(3260727296);
+emit_32(1120096263);
+emit_32(1110581864);
+emit_32(3260727296);
+emit_32(1120608322);
+emit_32(1110742008);
+emit_32(3260727296);
+emit_32(1121120289);
+emit_32(1110855516);
+emit_32(3260727296);
+emit_32(1121632256);
+emit_32(1110816168);
+emit_32(3260727296);
+emit_32(1122144223);
+emit_32(1110551665);
+emit_32(3260727296);
+emit_32(1122656322);
+emit_32(1110342579);
+emit_32(3260727296);
+emit_32(1123168289);
+emit_32(1110183327);
+emit_32(3260727296);
+emit_32(1123680256);
+emit_32(1109713040);
+emit_32(3260727296);
+emit_32(1124132848);
+emit_32(1109405598);
+emit_32(3260727296);
+emit_32(1124388897);
+emit_32(1109483874);
+emit_32(3260727296);
+emit_32(1124644880);
+emit_32(1109243252);
+emit_32(3260727296);
+emit_32(1124900864);
+emit_32(1108683915);
+emit_32(3260727296);
+emit_32(1125156848);
+emit_32(1108334268);
+emit_32(3260727296);
+emit_32(1125412897);
+emit_32(1108021346);
+emit_32(3260727296);
+emit_32(1125668880);
+emit_32(1107650229);
+emit_32(3260727296);
+emit_32(1125924864);
+emit_32(1107734875);
+emit_32(3260727296);
+emit_32(1126180848);
+emit_32(1107447356);
+emit_32(3260727296);
+emit_32(1126436897);
+emit_32(1106611641);
+emit_32(3260727296);
+emit_32(1126692880);
+emit_32(1105656650);
+emit_32(3260727296);
+emit_32(1126948864);
+emit_32(1104580601);
+emit_32(3260727296);
+emit_32(1127204848);
+emit_32(1103477447);
+emit_32(3260727296);
+emit_32(1127460897);
+emit_32(1102867753);
+emit_32(3260727296);
+emit_32(1127716880);
+emit_32(1102847882);
+emit_32(3260727296);
+emit_32(1127972864);
+emit_32(1102763996);
+emit_32(3260727296);
+emit_32(1128228848);
+emit_32(1102458913);
+emit_32(3260727296);
+emit_32(1128484897);
+emit_32(1102197083);
+emit_32(3260727296);
+emit_32(1128740880);
+emit_32(1101514251);
+emit_32(3260727296);
+emit_32(1128996864);
+emit_32(1100242957);
+emit_32(3260727296);
+emit_32(1129252848);
+emit_32(1098935488);
+emit_32(3260727296);
+emit_32(1129508897);
+emit_32(1096397147);
+emit_32(3260727296);
+emit_32(1129764880);
+emit_32(1093735442);
+emit_32(3260727296);
+emit_32(1130020864);
+emit_32(1092509887);
+emit_32(3260727296);
+emit_32(1130276848);
+emit_32(1092214797);
+emit_32(3260727296);
+emit_32(1130532897);
+emit_32(1091179916);
+emit_32(3260727296);
+emit_32(1130788880);
+emit_32(1091523565);
+emit_32(3260727296);
+emit_32(1131044864);
+emit_32(1091405317);
+emit_32(3260727296);
+emit_32(1131300848);
+emit_32(1091481213);
+emit_32(3260727296);
+emit_32(1131556897);
+emit_32(1091769446);
+emit_32(3260727296);
+emit_32(1131812880);
+emit_32(1091742634);
+emit_32(3260727296);
+emit_32(1132068864);
+emit_32(1092008249);
+emit_32(3260727296);
+emit_32(1081737216);
+emit_32(1115049086);
+emit_32(3261751309);
+emit_32(1090125824);
+emit_32(1114962395);
+emit_32(3261751309);
+emit_32(1094418484);
+emit_32(1114740674);
+emit_32(3261751309);
+emit_32(1098514432);
+emit_32(1114486001);
+emit_32(3261751309);
+emit_32(1100759066);
+emit_32(1114250779);
+emit_32(3261751309);
+emit_32(1102807040);
+emit_32(1113755799);
+emit_32(3261751309);
+emit_32(1104855066);
+emit_32(1113604699);
+emit_32(3261751309);
+emit_32(1106903040);
+emit_32(1113715717);
+emit_32(3261751309);
+emit_32(1108123661);
+emit_32(1113733516);
+emit_32(3261751309);
+emit_32(1109147648);
+emit_32(1113783009);
+emit_32(3261751309);
+emit_32(1110171661);
+emit_32(1113496093);
+emit_32(3261751309);
+emit_32(1111195648);
+emit_32(1113237016);
+emit_32(3261751309);
+emit_32(1112219661);
+emit_32(1112990181);
+emit_32(3261751309);
+emit_32(1113243648);
+emit_32(1112521022);
+emit_32(3261751309);
+emit_32(1114267661);
+emit_32(1112125315);
+emit_32(3261751309);
+emit_32(1115291648);
+emit_32(1111604671);
+emit_32(3261751309);
+emit_32(1116000263);
+emit_32(1111264408);
+emit_32(3261751309);
+emit_32(1116512256);
+emit_32(1110967242);
+emit_32(3261751309);
+emit_32(1117024263);
+emit_32(1110960898);
+emit_32(3261751309);
+emit_32(1117536256);
+emit_32(1110766938);
+emit_32(3261751309);
+emit_32(1118048263);
+emit_32(1110773334);
+emit_32(3261751309);
+emit_32(1118560256);
+emit_32(1110772364);
+emit_32(3261751309);
+emit_32(1119072263);
+emit_32(1110784763);
+emit_32(3261751309);
+emit_32(1119584256);
+emit_32(1110671203);
+emit_32(3261751309);
+emit_32(1120096263);
+emit_32(1110537562);
+emit_32(3261751309);
+emit_32(1120608322);
+emit_32(1110731470);
+emit_32(3261751309);
+emit_32(1121120289);
+emit_32(1110870222);
+emit_32(3261751309);
+emit_32(1121632256);
+emit_32(1110602652);
+emit_32(3261751309);
+emit_32(1122144223);
+emit_32(1110529357);
+emit_32(3261751309);
+emit_32(1122656322);
+emit_32(1110527626);
+emit_32(3261751309);
+emit_32(1123168289);
+emit_32(1110155303);
+emit_32(3261751309);
+emit_32(1123680256);
+emit_32(1109558559);
+emit_32(3261751309);
+emit_32(1124132848);
+emit_32(1109729686);
+emit_32(3261751309);
+emit_32(1124388897);
+emit_32(1109466835);
+emit_32(3261751309);
+emit_32(1124644880);
+emit_32(1109238455);
+emit_32(3261751309);
+emit_32(1124900864);
+emit_32(1108631067);
+emit_32(3261751309);
+emit_32(1125156848);
+emit_32(1108053590);
+emit_32(3261751309);
+emit_32(1125412897);
+emit_32(1107431549);
+emit_32(3261751309);
+emit_32(1125668880);
+emit_32(1107275127);
+emit_32(3261751309);
+emit_32(1125924864);
+emit_32(1107085807);
+emit_32(3261751309);
+emit_32(1126180848);
+emit_32(1106875043);
+emit_32(3261751309);
+emit_32(1126436897);
+emit_32(1106465207);
+emit_32(3261751309);
+emit_32(1126692880);
+emit_32(1105739330);
+emit_32(3261751309);
+emit_32(1126948864);
+emit_32(1104828380);
+emit_32(3261751309);
+emit_32(1127204848);
+emit_32(1104194306);
+emit_32(3261751309);
+emit_32(1127460897);
+emit_32(1103488510);
+emit_32(3261751309);
+emit_32(1127716880);
+emit_32(1102913680);
+emit_32(3261751309);
+emit_32(1127972864);
+emit_32(1102738044);
+emit_32(3261751309);
+emit_32(1128228848);
+emit_32(1102513753);
+emit_32(3261751309);
+emit_32(1128484897);
+emit_32(1102220624);
+emit_32(3261751309);
+emit_32(1128740880);
+emit_32(1101685640);
+emit_32(3261751309);
+emit_32(1128996864);
+emit_32(1100932081);
+emit_32(3261751309);
+emit_32(1129252848);
+emit_32(1099376414);
+emit_32(3261751309);
+emit_32(1129508897);
+emit_32(1096550344);
+emit_32(3261751309);
+emit_32(1129764880);
+emit_32(1094603244);
+emit_32(3261751309);
+emit_32(1130020864);
+emit_32(1092245762);
+emit_32(3261751309);
+emit_32(1130276848);
+emit_32(1091851801);
+emit_32(3261751309);
+emit_32(1130532897);
+emit_32(1091990360);
+emit_32(3261751309);
+emit_32(1130788880);
+emit_32(1091469343);
+emit_32(3261751309);
+emit_32(1131044864);
+emit_32(1091186889);
+emit_32(3261751309);
+emit_32(1131300848);
+emit_32(1091680191);
+emit_32(3261751309);
+emit_32(1131556897);
+emit_32(1092249820);
+emit_32(3261751309);
+emit_32(1131812880);
+emit_32(1091787240);
+emit_32(3261751309);
+emit_32(1132068864);
+emit_32(1092823076);
+emit_32(3261751309);
+emit_32(1081737216);
+emit_32(1115189700);
+emit_32(3262775296);
+emit_32(1090125824);
+emit_32(1114804086);
+emit_32(3262775296);
+emit_32(1094418484);
+emit_32(1114524457);
+emit_32(3262775296);
+emit_32(1098514432);
+emit_32(1114431554);
+emit_32(3262775296);
+emit_32(1100759066);
+emit_32(1113978044);
+emit_32(3262775296);
+emit_32(1102807040);
+emit_32(1113530381);
+emit_32(3262775296);
+emit_32(1104855066);
+emit_32(1113581814);
+emit_32(3262775296);
+emit_32(1106903040);
+emit_32(1113583963);
+emit_32(3262775296);
+emit_32(1108123661);
+emit_32(1113510458);
+emit_32(3262775296);
+emit_32(1109147648);
+emit_32(1113580162);
+emit_32(3262775296);
+emit_32(1110171661);
+emit_32(1113244408);
+emit_32(3262775296);
+emit_32(1111195648);
+emit_32(1113012699);
+emit_32(3262775296);
+emit_32(1112219661);
+emit_32(1112648765);
+emit_32(3262775296);
+emit_32(1113243648);
+emit_32(1112238483);
+emit_32(3262775296);
+emit_32(1114267661);
+emit_32(1111804976);
+emit_32(3262775296);
+emit_32(1115291648);
+emit_32(1111412362);
+emit_32(3262775296);
+emit_32(1116000263);
+emit_32(1110827074);
+emit_32(3262775296);
+emit_32(1116512256);
+emit_32(1110530694);
+emit_32(3262775296);
+emit_32(1117024263);
+emit_32(1110239399);
+emit_32(3262775296);
+emit_32(1117536256);
+emit_32(1110405048);
+emit_32(3262775296);
+emit_32(1118048263);
+emit_32(1110532476);
+emit_32(3262775296);
+emit_32(1118560256);
+emit_32(1110521885);
+emit_32(3262775296);
+emit_32(1119072263);
+emit_32(1110500757);
+emit_32(3262775296);
+emit_32(1119584256);
+emit_32(1110457372);
+emit_32(3262775296);
+emit_32(1120096263);
+emit_32(1110371651);
+emit_32(3262775296);
+emit_32(1120608322);
+emit_32(1110583332);
+emit_32(3262775296);
+emit_32(1121120289);
+emit_32(1110579793);
+emit_32(3262775296);
+emit_32(1121632256);
+emit_32(1110326510);
+emit_32(3262775296);
+emit_32(1122144223);
+emit_32(1110576044);
+emit_32(3262775296);
+emit_32(1122656322);
+emit_32(1110255731);
+emit_32(3262775296);
+emit_32(1123168289);
+emit_32(1109817767);
+emit_32(3262775296);
+emit_32(1123680256);
+emit_32(1109393120);
+emit_32(3262775296);
+emit_32(1124132848);
+emit_32(1109645407);
+emit_32(3262775296);
+emit_32(1124388897);
+emit_32(1109352881);
+emit_32(3262775296);
+emit_32(1124644880);
+emit_32(1109118131);
+emit_32(3262775296);
+emit_32(1124900864);
+emit_32(1108538950);
+emit_32(3262775296);
+emit_32(1125156848);
+emit_32(1108056028);
+emit_32(3262775296);
+emit_32(1125412897);
+emit_32(1107693981);
+emit_32(3262775296);
+emit_32(1125668880);
+emit_32(1107060169);
+emit_32(3262775296);
+emit_32(1125924864);
+emit_32(1106929307);
+emit_32(3262775296);
+emit_32(1126180848);
+emit_32(1106668945);
+emit_32(3262775296);
+emit_32(1126436897);
+emit_32(1106423893);
+emit_32(3262775296);
+emit_32(1126692880);
+emit_32(1106097157);
+emit_32(3262775296);
+emit_32(1126948864);
+emit_32(1105689628);
+emit_32(3262775296);
+emit_32(1127204848);
+emit_32(1104863822);
+emit_32(3262775296);
+emit_32(1127460897);
+emit_32(1104431232);
+emit_32(3262775296);
+emit_32(1127716880);
+emit_32(1103727061);
+emit_32(3262775296);
+emit_32(1127972864);
+emit_32(1103036154);
+emit_32(3262775296);
+emit_32(1128228848);
+emit_32(1102391227);
+emit_32(3262775296);
+emit_32(1128484897);
+emit_32(1102074977);
+emit_32(3262775296);
+emit_32(1128740880);
+emit_32(1101512049);
+emit_32(3262775296);
+emit_32(1128996864);
+emit_32(1100231108);
+emit_32(3262775296);
+emit_32(1129252848);
+emit_32(1098399508);
+emit_32(3262775296);
+emit_32(1129508897);
+emit_32(1096015571);
+emit_32(3262775296);
+emit_32(1129764880);
+emit_32(1093673366);
+emit_32(3262775296);
+emit_32(1130020864);
+emit_32(1092539069);
+emit_32(3262775296);
+emit_32(1130276848);
+emit_32(1092267928);
+emit_32(3262775296);
+emit_32(1130532897);
+emit_32(1092764041);
+emit_32(3262775296);
+emit_32(1130788880);
+emit_32(1092150519);
+emit_32(3262775296);
+emit_32(1131044864);
+emit_32(1091502594);
+emit_32(3262775296);
+emit_32(1131300848);
+emit_32(1091946980);
+emit_32(3262775296);
+emit_32(1131556897);
+emit_32(1091906568);
+emit_32(3262775296);
+emit_32(1131812880);
+emit_32(1092505546);
+emit_32(3262775296);
+emit_32(1132068864);
+emit_32(1093985842);
+emit_32(3262775296);
+emit_32(1081737216);
+emit_32(1114860919);
+emit_32(3263483911);
+emit_32(1090125824);
+emit_32(1114455068);
+emit_32(3263483911);
+emit_32(1094418484);
+emit_32(1114274320);
+emit_32(3263483911);
+emit_32(1098514432);
+emit_32(1113998492);
+emit_32(3263483911);
+emit_32(1100759066);
+emit_32(1113229912);
+emit_32(3263483911);
+emit_32(1102807040);
+emit_32(1112963364);
+emit_32(3263483911);
+emit_32(1104855066);
+emit_32(1113085549);
+emit_32(3263483911);
+emit_32(1106903040);
+emit_32(1113193500);
+emit_32(3263483911);
+emit_32(1108123661);
+emit_32(1113051339);
+emit_32(3263483911);
+emit_32(1109147648);
+emit_32(1112914631);
+emit_32(3263483911);
+emit_32(1110171661);
+emit_32(1112713593);
+emit_32(3263483911);
+emit_32(1111195648);
+emit_32(1112530774);
+emit_32(3263483911);
+emit_32(1112219661);
+emit_32(1112319538);
+emit_32(3263483911);
+emit_32(1113243648);
+emit_32(1112017836);
+emit_32(3263483911);
+emit_32(1114267661);
+emit_32(1111480022);
+emit_32(3263483911);
+emit_32(1115291648);
+emit_32(1111044889);
+emit_32(3263483911);
+emit_32(1116000263);
+emit_32(1110559058);
+emit_32(3263483911);
+emit_32(1116512256);
+emit_32(1109970151);
+emit_32(3263483911);
+emit_32(1117024263);
+emit_32(1109713014);
+emit_32(3263483911);
+emit_32(1117536256);
+emit_32(1109844532);
+emit_32(3263483911);
+emit_32(1118048263);
+emit_32(1110110713);
+emit_32(3263483911);
+emit_32(1118560256);
+emit_32(1110168096);
+emit_32(3263483911);
+emit_32(1119072263);
+emit_32(1110188910);
+emit_32(3263483911);
+emit_32(1119584256);
+emit_32(1110300531);
+emit_32(3263483911);
+emit_32(1120096263);
+emit_32(1110086438);
+emit_32(3263483911);
+emit_32(1120608322);
+emit_32(1110098418);
+emit_32(3263483911);
+emit_32(1121120289);
+emit_32(1110207470);
+emit_32(3263483911);
+emit_32(1121632256);
+emit_32(1110104814);
+emit_32(3263483911);
+emit_32(1122144223);
+emit_32(1110042057);
+emit_32(3263483911);
+emit_32(1122656322);
+emit_32(1109977963);
+emit_32(3263483911);
+emit_32(1123168289);
+emit_32(1109719017);
+emit_32(3263483911);
+emit_32(1123680256);
+emit_32(1109491371);
+emit_32(3263483911);
+emit_32(1124132848);
+emit_32(1109439493);
+emit_32(3263483911);
+emit_32(1124388897);
+emit_32(1109273372);
+emit_32(3263483911);
+emit_32(1124644880);
+emit_32(1109142720);
+emit_32(3263483911);
+emit_32(1124900864);
+emit_32(1108647110);
+emit_32(3263483911);
+emit_32(1125156848);
+emit_32(1108078520);
+emit_32(3263483911);
+emit_32(1125412897);
+emit_32(1107629520);
+emit_32(3263483911);
+emit_32(1125668880);
+emit_32(1107405963);
+emit_32(3263483911);
+emit_32(1125924864);
+emit_32(1107180388);
+emit_32(3263483911);
+emit_32(1126180848);
+emit_32(1106634447);
+emit_32(3263483911);
+emit_32(1126436897);
+emit_32(1106537297);
+emit_32(3263483911);
+emit_32(1126692880);
+emit_32(1106021869);
+emit_32(3263483911);
+emit_32(1126948864);
+emit_32(1105710599);
+emit_32(3263483911);
+emit_32(1127204848);
+emit_32(1104910693);
+emit_32(3263483911);
+emit_32(1127460897);
+emit_32(1104565083);
+emit_32(3263483911);
+emit_32(1127716880);
+emit_32(1103934836);
+emit_32(3263483911);
+emit_32(1127972864);
+emit_32(1103249120);
+emit_32(3263483911);
+emit_32(1128228848);
+emit_32(1102145336);
+emit_32(3263483911);
+emit_32(1128484897);
+emit_32(1101411962);
+emit_32(3263483911);
+emit_32(1128740880);
+emit_32(1100959711);
+emit_32(3263483911);
+emit_32(1128996864);
+emit_32(1099510055);
+emit_32(3263483911);
+emit_32(1129252848);
+emit_32(1096815005);
+emit_32(3263483911);
+emit_32(1129508897);
+emit_32(1094088393);
+emit_32(3263483911);
+emit_32(1129764880);
+emit_32(1092617450);
+emit_32(3263483911);
+emit_32(1130020864);
+emit_32(1091201757);
+emit_32(3263483911);
+emit_32(1130276848);
+emit_32(1091975481);
+emit_32(3263483911);
+emit_32(1130532897);
+emit_32(1092051219);
+emit_32(3263483911);
+emit_32(1130788880);
+emit_32(1091427243);
+emit_32(3263483911);
+emit_32(1131044864);
+emit_32(1091236570);
+emit_32(3263483911);
+emit_32(1131300848);
+emit_32(1092364376);
+emit_32(3263483911);
+emit_32(1131556897);
+emit_32(1093015385);
+emit_32(3263483911);
+emit_32(1131812880);
+emit_32(1093629116);
+emit_32(3263483911);
+emit_32(1132068864);
+emit_32(1094121318);
+emit_32(3263483911);
+emit_32(1081737216);
+emit_32(1114412994);
+emit_32(3263995904);
+emit_32(1090125824);
+emit_32(1114056740);
+emit_32(3263995904);
+emit_32(1094418484);
+emit_32(1113478634);
+emit_32(3263995904);
+emit_32(1098514432);
+emit_32(1113153890);
+emit_32(3263995904);
+emit_32(1100759066);
+emit_32(1112554235);
+emit_32(3263995904);
+emit_32(1102807040);
+emit_32(1112170430);
+emit_32(3263995904);
+emit_32(1104855066);
+emit_32(1112241550);
+emit_32(3263995904);
+emit_32(1106903040);
+emit_32(1112360406);
+emit_32(3263995904);
+emit_32(1108123661);
+emit_32(1112453310);
+emit_32(3263995904);
+emit_32(1109147648);
+emit_32(1112310127);
+emit_32(3263995904);
+emit_32(1110171661);
+emit_32(1112440544);
+emit_32(3263995904);
+emit_32(1111195648);
+emit_32(1111943545);
+emit_32(3263995904);
+emit_32(1112219661);
+emit_32(1111698283);
+emit_32(3263995904);
+emit_32(1113243648);
+emit_32(1111330233);
+emit_32(3263995904);
+emit_32(1114267661);
+emit_32(1111083634);
+emit_32(3263995904);
+emit_32(1115291648);
+emit_32(1110768275);
+emit_32(3263995904);
+emit_32(1116000263);
+emit_32(1110145158);
+emit_32(3263995904);
+emit_32(1116512256);
+emit_32(1109629941);
+emit_32(3263995904);
+emit_32(1117024263);
+emit_32(1109269781);
+emit_32(3263995904);
+emit_32(1117536256);
+emit_32(1109302287);
+emit_32(3263995904);
+emit_32(1118048263);
+emit_32(1109529015);
+emit_32(3263995904);
+emit_32(1118560256);
+emit_32(1109660900);
+emit_32(3263995904);
+emit_32(1119072263);
+emit_32(1109901076);
+emit_32(3263995904);
+emit_32(1119584256);
+emit_32(1109952850);
+emit_32(3263995904);
+emit_32(1120096263);
+emit_32(1109778733);
+emit_32(3263995904);
+emit_32(1120608322);
+emit_32(1109570460);
+emit_32(3263995904);
+emit_32(1121120289);
+emit_32(1109713381);
+emit_32(3263995904);
+emit_32(1121632256);
+emit_32(1109646849);
+emit_32(3263995904);
+emit_32(1122144223);
+emit_32(1109683837);
+emit_32(3263995904);
+emit_32(1122656322);
+emit_32(1109578377);
+emit_32(3263995904);
+emit_32(1123168289);
+emit_32(1109348975);
+emit_32(3263995904);
+emit_32(1123680256);
+emit_32(1109644804);
+emit_32(3263995904);
+emit_32(1124132848);
+emit_32(1109851662);
+emit_32(3263995904);
+emit_32(1124388897);
+emit_32(1109688451);
+emit_32(3263995904);
+emit_32(1124644880);
+emit_32(1109357599);
+emit_32(3263995904);
+emit_32(1124900864);
+emit_32(1108828593);
+emit_32(3263995904);
+emit_32(1125156848);
+emit_32(1108185291);
+emit_32(3263995904);
+emit_32(1125412897);
+emit_32(1107780226);
+emit_32(3263995904);
+emit_32(1125668880);
+emit_32(1107584457);
+emit_32(3263995904);
+emit_32(1125924864);
+emit_32(1107420958);
+emit_32(3263995904);
+emit_32(1126180848);
+emit_32(1107022525);
+emit_32(3263995904);
+emit_32(1126436897);
+emit_32(1105944170);
+emit_32(3263995904);
+emit_32(1126692880);
+emit_32(1105239946);
+emit_32(3263995904);
+emit_32(1126948864);
+emit_32(1105095295);
+emit_32(3263995904);
+emit_32(1127204848);
+emit_32(1104538816);
+emit_32(3263995904);
+emit_32(1127460897);
+emit_32(1103876692);
+emit_32(3263995904);
+emit_32(1127716880);
+emit_32(1103498786);
+emit_32(3263995904);
+emit_32(1127972864);
+emit_32(1102542589);
+emit_32(3263995904);
+emit_32(1128228848);
+emit_32(1101655913);
+emit_32(3263995904);
+emit_32(1128484897);
+emit_32(1100746955);
+emit_32(3263995904);
+emit_32(1128740880);
+emit_32(1099747662);
+emit_32(3263995904);
+emit_32(1128996864);
+emit_32(1098190422);
+emit_32(3263995904);
+emit_32(1129252848);
+emit_32(1095504599);
+emit_32(3263995904);
+emit_32(1129508897);
+emit_32(1092998503);
+emit_32(3263995904);
+emit_32(1129764880);
+emit_32(1090781394);
+emit_32(3263995904);
+emit_32(1130020864);
+emit_32(1090669165);
+emit_32(3263995904);
+emit_32(1130276848);
+emit_32(1091201548);
+emit_32(3263995904);
+emit_32(1130532897);
+emit_32(1091148238);
+emit_32(3263995904);
+emit_32(1130788880);
+emit_32(1091128944);
+emit_32(3263995904);
+emit_32(1131044864);
+emit_32(1091988745);
+emit_32(3263995904);
+emit_32(1131300848);
+emit_32(1092577195);
+emit_32(3263995904);
+emit_32(1131556897);
+emit_32(1092426756);
+emit_32(3263995904);
+emit_32(1131812880);
+emit_32(1092938944);
+emit_32(3263995904);
+emit_32(1132068864);
+emit_32(1093077985);
+emit_32(3263995904);
+emit_32(1081737216);
+emit_32(1113723162);
+emit_32(3264507911);
+emit_32(1090125824);
+emit_32(1113515282);
+emit_32(3264507911);
+emit_32(1094418484);
+emit_32(1112907160);
+emit_32(3264507911);
+emit_32(1098514432);
+emit_32(1112285197);
+emit_32(3264507911);
+emit_32(1100759066);
+emit_32(1111782615);
+emit_32(3264507911);
+emit_32(1102807040);
+emit_32(1111448565);
+emit_32(3264507911);
+emit_32(1104855066);
+emit_32(1111432364);
+emit_32(3264507911);
+emit_32(1106903040);
+emit_32(1111593242);
+emit_32(3264507911);
+emit_32(1108123661);
+emit_32(1111556175);
+emit_32(3264507911);
+emit_32(1109147648);
+emit_32(1111791947);
+emit_32(3264507911);
+emit_32(1110171661);
+emit_32(1111706147);
+emit_32(3264507911);
+emit_32(1111195648);
+emit_32(1111342658);
+emit_32(3264507911);
+emit_32(1112219661);
+emit_32(1111241785);
+emit_32(3264507911);
+emit_32(1113243648);
+emit_32(1110814700);
+emit_32(3264507911);
+emit_32(1114267661);
+emit_32(1110530720);
+emit_32(3264507911);
+emit_32(1115291648);
+emit_32(1110173496);
+emit_32(3264507911);
+emit_32(1116000263);
+emit_32(1109779887);
+emit_32(3264507911);
+emit_32(1116512256);
+emit_32(1109242701);
+emit_32(3264507911);
+emit_32(1117024263);
+emit_32(1108763528);
+emit_32(3264507911);
+emit_32(1117536256);
+emit_32(1108823140);
+emit_32(3264507911);
+emit_32(1118048263);
+emit_32(1109120202);
+emit_32(3264507911);
+emit_32(1118560256);
+emit_32(1109432205);
+emit_32(3264507911);
+emit_32(1119072263);
+emit_32(1109682684);
+emit_32(3264507911);
+emit_32(1119584256);
+emit_32(1109558821);
+emit_32(3264507911);
+emit_32(1120096263);
+emit_32(1109416031);
+emit_32(3264507911);
+emit_32(1120608322);
+emit_32(1109479208);
+emit_32(3264507911);
+emit_32(1121120289);
+emit_32(1109404235);
+emit_32(3264507911);
+emit_32(1121632256);
+emit_32(1109406882);
+emit_32(3264507911);
+emit_32(1122144223);
+emit_32(1109258378);
+emit_32(3264507911);
+emit_32(1122656322);
+emit_32(1109286008);
+emit_32(3264507911);
+emit_32(1123168289);
+emit_32(1109433857);
+emit_32(3264507911);
+emit_32(1123680256);
+emit_32(1109483166);
+emit_32(3264507911);
+emit_32(1124132848);
+emit_32(1109859762);
+emit_32(3264507911);
+emit_32(1124388897);
+emit_32(1109785995);
+emit_32(3264507911);
+emit_32(1124644880);
+emit_32(1109694218);
+emit_32(3264507911);
+emit_32(1124900864);
+emit_32(1109081588);
+emit_32(3264507911);
+emit_32(1125156848);
+emit_32(1108301316);
+emit_32(3264507911);
+emit_32(1125412897);
+emit_32(1107987923);
+emit_32(3264507911);
+emit_32(1125668880);
+emit_32(1107744208);
+emit_32(3264507911);
+emit_32(1125924864);
+emit_32(1107483348);
+emit_32(3264507911);
+emit_32(1126180848);
+emit_32(1106653741);
+emit_32(3264507911);
+emit_32(1126436897);
+emit_32(1105289282);
+emit_32(3264507911);
+emit_32(1126692880);
+emit_32(1104749946);
+emit_32(3264507911);
+emit_32(1126948864);
+emit_32(1104530532);
+emit_32(3264507911);
+emit_32(1127204848);
+emit_32(1104035552);
+emit_32(3264507911);
+emit_32(1127460897);
+emit_32(1103561123);
+emit_32(3264507911);
+emit_32(1127716880);
+emit_32(1102839493);
+emit_32(3264507911);
+emit_32(1127972864);
+emit_32(1102745908);
+emit_32(3264507911);
+emit_32(1128228848);
+emit_32(1102238083);
+emit_32(3264507911);
+emit_32(1128484897);
+emit_32(1101176504);
+emit_32(3264507911);
+emit_32(1128740880);
+emit_32(1099585395);
+emit_32(3264507911);
+emit_32(1128996864);
+emit_32(1097910033);
+emit_32(3264507911);
+emit_32(1129252848);
+emit_32(1094998662);
+emit_32(3264507911);
+emit_32(1129508897);
+emit_32(1092197905);
+emit_32(3264507911);
+emit_32(1129764880);
+emit_32(1089185482);
+emit_32(3264507911);
+emit_32(1130020864);
+emit_32(1088998898);
+emit_32(3264507911);
+emit_32(1130276848);
+emit_32(1090896014);
+emit_32(3264507911);
+emit_32(1130532897);
+emit_32(1090711286);
+emit_32(3264507911);
+emit_32(1130788880);
+emit_32(1091554068);
+emit_32(3264507911);
+emit_32(1131044864);
+emit_32(1091546760);
+emit_32(3264507911);
+emit_32(1131300848);
+emit_32(1091602523);
+emit_32(3264507911);
+emit_32(1131556897);
+emit_32(1091448749);
+emit_32(3264507911);
+emit_32(1131812880);
+emit_32(1091178993);
+emit_32(3264507911);
+emit_32(1132068864);
+emit_32(1092283059);
+emit_32(3264507911);
+emit_32(1081737216);
+emit_32(1113178820);
+emit_32(3265019904);
+emit_32(1090125824);
+emit_32(1112815043);
+emit_32(3265019904);
+emit_32(1094418484);
+emit_32(1112334769);
+emit_32(3265019904);
+emit_32(1098514432);
+emit_32(1111680641);
+emit_32(3265019904);
+emit_32(1100759066);
+emit_32(1110962104);
+emit_32(3265019904);
+emit_32(1102807040);
+emit_32(1110710079);
+emit_32(3265019904);
+emit_32(1104855066);
+emit_32(1110785366);
+emit_32(3265019904);
+emit_32(1106903040);
+emit_32(1110945956);
+emit_32(3265019904);
+emit_32(1108123661);
+emit_32(1111176643);
+emit_32(3265019904);
+emit_32(1109147648);
+emit_32(1111187364);
+emit_32(3265019904);
+emit_32(1110171661);
+emit_32(1110966901);
+emit_32(3265019904);
+emit_32(1111195648);
+emit_32(1110878952);
+emit_32(3265019904);
+emit_32(1112219661);
+emit_32(1110825343);
+emit_32(3265019904);
+emit_32(1113243648);
+emit_32(1110299718);
+emit_32(3265019904);
+emit_32(1114267661);
+emit_32(1109951067);
+emit_32(3265019904);
+emit_32(1115291648);
+emit_32(1109657859);
+emit_32(3265019904);
+emit_32(1116000263);
+emit_32(1109104185);
+emit_32(3265019904);
+emit_32(1116512256);
+emit_32(1108869644);
+emit_32(3265019904);
+emit_32(1117024263);
+emit_32(1108483296);
+emit_32(3265019904);
+emit_32(1117536256);
+emit_32(1108620057);
+emit_32(3265019904);
+emit_32(1118048263);
+emit_32(1108696603);
+emit_32(3265019904);
+emit_32(1118560256);
+emit_32(1109027874);
+emit_32(3265019904);
+emit_32(1119072263);
+emit_32(1109328580);
+emit_32(3265019904);
+emit_32(1119584256);
+emit_32(1109485499);
+emit_32(3265019904);
+emit_32(1120096263);
+emit_32(1109574785);
+emit_32(3265019904);
+emit_32(1120608322);
+emit_32(1109596203);
+emit_32(3265019904);
+emit_32(1121120289);
+emit_32(1109472235);
+emit_32(3265019904);
+emit_32(1121632256);
+emit_32(1109210510);
+emit_32(3265019904);
+emit_32(1122144223);
+emit_32(1109167152);
+emit_32(3265019904);
+emit_32(1122656322);
+emit_32(1109362999);
+emit_32(3265019904);
+emit_32(1123168289);
+emit_32(1109542149);
+emit_32(3265019904);
+emit_32(1123680256);
+emit_32(1109608156);
+emit_32(3265019904);
+emit_32(1124132848);
+emit_32(1109889647);
+emit_32(3265019904);
+emit_32(1124388897);
+emit_32(1110013300);
+emit_32(3265019904);
+emit_32(1124644880);
+emit_32(1109719908);
+emit_32(3265019904);
+emit_32(1124900864);
+emit_32(1109054299);
+emit_32(3265019904);
+emit_32(1125156848);
+emit_32(1108598561);
+emit_32(3265019904);
+emit_32(1125412897);
+emit_32(1108352696);
+emit_32(3265019904);
+emit_32(1125668880);
+emit_32(1107819128);
+emit_32(3265019904);
+emit_32(1125924864);
+emit_32(1107355868);
+emit_32(3265019904);
+emit_32(1126180848);
+emit_32(1106496193);
+emit_32(3265019904);
+emit_32(1126436897);
+emit_32(1105447564);
+emit_32(3265019904);
+emit_32(1126692880);
+emit_32(1104791208);
+emit_32(3265019904);
+emit_32(1126948864);
+emit_32(1104514122);
+emit_32(3265019904);
+emit_32(1127204848);
+emit_32(1103658956);
+emit_32(3265019904);
+emit_32(1127460897);
+emit_32(1103186887);
+emit_32(3265019904);
+emit_32(1127716880);
+emit_32(1103111179);
+emit_32(3265019904);
+emit_32(1127972864);
+emit_32(1103121823);
+emit_32(3265019904);
+emit_32(1128228848);
+emit_32(1102278872);
+emit_32(3265019904);
+emit_32(1128484897);
+emit_32(1100851603);
+emit_32(3265019904);
+emit_32(1128740880);
+emit_32(1099479699);
+emit_32(3265019904);
+emit_32(1128996864);
+emit_32(1097632580);
+emit_32(3265019904);
+emit_32(1129252848);
+emit_32(1094591185);
+emit_32(3265019904);
+emit_32(1129508897);
+emit_32(1091931629);
+emit_32(3265019904);
+emit_32(1129764880);
+emit_32(1088905806);
+emit_32(3265019904);
+emit_32(1130020864);
+emit_32(1090343655);
+emit_32(3265019904);
+emit_32(1130276848);
+emit_32(1091249918);
+emit_32(3265019904);
+emit_32(1130532897);
+emit_32(1091107417);
+emit_32(3265019904);
+emit_32(1130788880);
+emit_32(1092474068);
+emit_32(3265019904);
+emit_32(1131044864);
+emit_32(1091844765);
+emit_32(3265019904);
+emit_32(1131300848);
+emit_32(1091016830);
+emit_32(3265019904);
+emit_32(1131556897);
+emit_32(1090180560);
+emit_32(3265019904);
+emit_32(1131812880);
+emit_32(1090146502);
+emit_32(3265019904);
+emit_32(1132068864);
+emit_32(1091238625);
+emit_32(3265019904);
+emit_32(1081737216);
+emit_32(1112525767);
+emit_32(3265531911);
+emit_32(1090125824);
+emit_32(1112045230);
+emit_32(3265531911);
+emit_32(1094418484);
+emit_32(1111728246);
+emit_32(3265531911);
+emit_32(1098514432);
+emit_32(1111134490);
+emit_32(3265531911);
+emit_32(1100759066);
+emit_32(1110592061);
+emit_32(3265531911);
+emit_32(1102807040);
+emit_32(1110293873);
+emit_32(3265531911);
+emit_32(1104855066);
+emit_32(1110356761);
+emit_32(3265531911);
+emit_32(1106903040);
+emit_32(1110662159);
+emit_32(3265531911);
+emit_32(1108123661);
+emit_32(1110710760);
+emit_32(3265531911);
+emit_32(1109147648);
+emit_32(1110634267);
+emit_32(3265531911);
+emit_32(1110171661);
+emit_32(1110559556);
+emit_32(3265531911);
+emit_32(1111195648);
+emit_32(1110659144);
+emit_32(3265531911);
+emit_32(1112219661);
+emit_32(1110325251);
+emit_32(3265531911);
+emit_32(1113243648);
+emit_32(1109714954);
+emit_32(3265531911);
+emit_32(1114267661);
+emit_32(1109517035);
+emit_32(3265531911);
+emit_32(1115291648);
+emit_32(1108983441);
+emit_32(3265531911);
+emit_32(1116000263);
+emit_32(1108437998);
+emit_32(3265531911);
+emit_32(1116512256);
+emit_32(1108232687);
+emit_32(3265531911);
+emit_32(1117024263);
+emit_32(1108084497);
+emit_32(3265531911);
+emit_32(1117536256);
+emit_32(1108299979);
+emit_32(3265531911);
+emit_32(1118048263);
+emit_32(1108631434);
+emit_32(3265531911);
+emit_32(1118560256);
+emit_32(1108895544);
+emit_32(3265531911);
+emit_32(1119072263);
+emit_32(1109120306);
+emit_32(3265531911);
+emit_32(1119584256);
+emit_32(1109413095);
+emit_32(3265531911);
+emit_32(1120096263);
+emit_32(1109497977);
+emit_32(3265531911);
+emit_32(1120608322);
+emit_32(1109458603);
+emit_32(3265531911);
+emit_32(1121120289);
+emit_32(1109373328);
+emit_32(3265531911);
+emit_32(1121632256);
+emit_32(1109400669);
+emit_32(3265531911);
+emit_32(1122144223);
+emit_32(1109567655);
+emit_32(3265531911);
+emit_32(1122656322);
+emit_32(1109574287);
+emit_32(3265531911);
+emit_32(1123168289);
+emit_32(1109599375);
+emit_32(3265531911);
+emit_32(1123680256);
+emit_32(1109804660);
+emit_32(3265531911);
+emit_32(1124132848);
+emit_32(1109874704);
+emit_32(3265531911);
+emit_32(1124388897);
+emit_32(1109814254);
+emit_32(3265531911);
+emit_32(1124644880);
+emit_32(1109294763);
+emit_32(3265531911);
+emit_32(1124900864);
+emit_32(1109046460);
+emit_32(3265531911);
+emit_32(1125156848);
+emit_32(1108605901);
+emit_32(3265531911);
+emit_32(1125412897);
+emit_32(1108298039);
+emit_32(3265531911);
+emit_32(1125668880);
+emit_32(1108029997);
+emit_32(3265531911);
+emit_32(1125924864);
+emit_32(1107621262);
+emit_32(3265531911);
+emit_32(1126180848);
+emit_32(1106659980);
+emit_32(3265531911);
+emit_32(1126436897);
+emit_32(1105554362);
+emit_32(3265531911);
+emit_32(1126692880);
+emit_32(1104494356);
+emit_32(3265531911);
+emit_32(1126948864);
+emit_32(1104060455);
+emit_32(3265531911);
+emit_32(1127204848);
+emit_32(1103517817);
+emit_32(3265531911);
+emit_32(1127460897);
+emit_32(1102225500);
+emit_32(3265531911);
+emit_32(1127716880);
+emit_32(1102665010);
+emit_32(3265531911);
+emit_32(1127972864);
+emit_32(1102667894);
+emit_32(3265531911);
+emit_32(1128228848);
+emit_32(1101705144);
+emit_32(3265531911);
+emit_32(1128484897);
+emit_32(1100387503);
+emit_32(3265531911);
+emit_32(1128740880);
+emit_32(1099194486);
+emit_32(3265531911);
+emit_32(1128996864);
+emit_32(1097299866);
+emit_32(3265531911);
+emit_32(1129252848);
+emit_32(1093825515);
+emit_32(3265531911);
+emit_32(1129508897);
+emit_32(1090816720);
+emit_32(3265531911);
+emit_32(1129764880);
+emit_32(1090544321);
+emit_32(3265531911);
+emit_32(1130020864);
+emit_32(1090558718);
+emit_32(3265531911);
+emit_32(1130276848);
+emit_32(1090808845);
+emit_32(3265531911);
+emit_32(1130532897);
+emit_32(1090674481);
+emit_32(3265531911);
+emit_32(1130788880);
+emit_32(1090993898);
+emit_32(3265531911);
+emit_32(1131044864);
+emit_32(1090749297);
+emit_32(3265531911);
+emit_32(1131300848);
+emit_32(1090783533);
+emit_32(3265531911);
+emit_32(1131556897);
+emit_32(1089829685);
+emit_32(3265531911);
+emit_32(1131812880);
+emit_32(1090562483);
+emit_32(3265531911);
+emit_32(1132068864);
+emit_32(1091169052);
+emit_32(3265531911);
+emit_32(1081737216);
+emit_32(1112016683);
+emit_32(3266043904);
+emit_32(1090125824);
+emit_32(1111610963);
+emit_32(3266043904);
+emit_32(1094418484);
+emit_32(1110972380);
+emit_32(3266043904);
+emit_32(1098514432);
+emit_32(1110456559);
+emit_32(3266043904);
+emit_32(1100759066);
+emit_32(1110004833);
+emit_32(3266043904);
+emit_32(1102807040);
+emit_32(1109891010);
+emit_32(3266043904);
+emit_32(1104855066);
+emit_32(1110020745);
+emit_32(3266043904);
+emit_32(1106903040);
+emit_32(1110210065);
+emit_32(3266043904);
+emit_32(1108123661);
+emit_32(1110213526);
+emit_32(3266043904);
+emit_32(1109147648);
+emit_32(1110290465);
+emit_32(3266043904);
+emit_32(1110171661);
+emit_32(1110321843);
+emit_32(3266043904);
+emit_32(1111195648);
+emit_32(1109977832);
+emit_32(3266043904);
+emit_32(1112219661);
+emit_32(1109631120);
+emit_32(3266043904);
+emit_32(1113243648);
+emit_32(1109240762);
+emit_32(3266043904);
+emit_32(1114267661);
+emit_32(1108674478);
+emit_32(3266043904);
+emit_32(1115291648);
+emit_32(1108141775);
+emit_32(3266043904);
+emit_32(1116000263);
+emit_32(1107789637);
+emit_32(3266043904);
+emit_32(1116512256);
+emit_32(1107598534);
+emit_32(3266043904);
+emit_32(1117024263);
+emit_32(1107892555);
+emit_32(3266043904);
+emit_32(1117536256);
+emit_32(1108239712);
+emit_32(3266043904);
+emit_32(1118048263);
+emit_32(1108608811);
+emit_32(3266043904);
+emit_32(1118560256);
+emit_32(1108738520);
+emit_32(3266043904);
+emit_32(1119072263);
+emit_32(1108905191);
+emit_32(3266043904);
+emit_32(1119584256);
+emit_32(1109116820);
+emit_32(3266043904);
+emit_32(1120096263);
+emit_32(1109110843);
+emit_32(3266043904);
+emit_32(1120608322);
+emit_32(1109093384);
+emit_32(3266043904);
+emit_32(1121120289);
+emit_32(1109277331);
+emit_32(3266043904);
+emit_32(1121632256);
+emit_32(1109425678);
+emit_32(3266043904);
+emit_32(1122144223);
+emit_32(1109587814);
+emit_32(3266043904);
+emit_32(1122656322);
+emit_32(1109495330);
+emit_32(3266043904);
+emit_32(1123168289);
+emit_32(1109569438);
+emit_32(3266043904);
+emit_32(1123680256);
+emit_32(1109583358);
+emit_32(3266043904);
+emit_32(1124132848);
+emit_32(1109553945);
+emit_32(3266043904);
+emit_32(1124388897);
+emit_32(1109310833);
+emit_32(3266043904);
+emit_32(1124644880);
+emit_32(1109184820);
+emit_32(3266043904);
+emit_32(1124900864);
+emit_32(1108916725);
+emit_32(3266043904);
+emit_32(1125156848);
+emit_32(1108501594);
+emit_32(3266043904);
+emit_32(1125412897);
+emit_32(1108421037);
+emit_32(3266043904);
+emit_32(1125668880);
+emit_32(1108052070);
+emit_32(3266043904);
+emit_32(1125924864);
+emit_32(1107663887);
+emit_32(3266043904);
+emit_32(1126180848);
+emit_32(1106901100);
+emit_32(3266043904);
+emit_32(1126436897);
+emit_32(1105810896);
+emit_32(3266043904);
+emit_32(1126692880);
+emit_32(1104533153);
+emit_32(3266043904);
+emit_32(1126948864);
+emit_32(1103280577);
+emit_32(3266043904);
+emit_32(1127204848);
+emit_32(1102832153);
+emit_32(3266043904);
+emit_32(1127460897);
+emit_32(1101711226);
+emit_32(3266043904);
+emit_32(1127716880);
+emit_32(1101683910);
+emit_32(3266043904);
+emit_32(1127972864);
+emit_32(1101916956);
+emit_32(3266043904);
+emit_32(1128228848);
+emit_32(1101225945);
+emit_32(3266043904);
+emit_32(1128484897);
+emit_32(1099926497);
+emit_32(3266043904);
+emit_32(1128740880);
+emit_32(1098187591);
+emit_32(3266043904);
+emit_32(1128996864);
+emit_32(1095823367);
+emit_32(3266043904);
+emit_32(1129252848);
+emit_32(1091829718);
+emit_32(3266043904);
+emit_32(1129508897);
+emit_32(1088807932);
+emit_32(3266043904);
+emit_32(1129764880);
+emit_32(1089675104);
+emit_32(3266043904);
+emit_32(1130020864);
+emit_32(1090567704);
+emit_32(3266043904);
+emit_32(1130276848);
+emit_32(1090536174);
+emit_32(3266043904);
+emit_32(1130532897);
+emit_32(1090414497);
+emit_32(3266043904);
+emit_32(1130788880);
+emit_32(1090232632);
+emit_32(3266043904);
+emit_32(1131044864);
+emit_32(1086780888);
+emit_32(3266043904);
+emit_32(1131300848);
+emit_32(1089263098);
+emit_32(3266043904);
+emit_32(1131556897);
+emit_32(1089690267);
+emit_32(3266043904);
+emit_32(1131812880);
+emit_32(1087942248);
+emit_32(3266043904);
+emit_32(1132068864);
+emit_32(1090262202);
+emit_32(3266043904);
+emit_32(1081737216);
+emit_32(1111401326);
+emit_32(3266555911);
+emit_32(1090125824);
+emit_32(1110943623);
+emit_32(3266555911);
+emit_32(1094418484);
+emit_32(1110454960);
+emit_32(3266555911);
+emit_32(1098514432);
+emit_32(1110052097);
+emit_32(3266555911);
+emit_32(1100759066);
+emit_32(1109812734);
+emit_32(3266555911);
+emit_32(1102807040);
+emit_32(1109724706);
+emit_32(3266555911);
+emit_32(1104855066);
+emit_32(1109725597);
+emit_32(3266555911);
+emit_32(1106903040);
+emit_32(1109797162);
+emit_32(3266555911);
+emit_32(1108123661);
+emit_32(1110063972);
+emit_32(3266555911);
+emit_32(1109147648);
+emit_32(1110046147);
+emit_32(3266555911);
+emit_32(1110171661);
+emit_32(1109992119);
+emit_32(3266555911);
+emit_32(1111195648);
+emit_32(1109639850);
+emit_32(3266555911);
+emit_32(1112219661);
+emit_32(1109061691);
+emit_32(3266555911);
+emit_32(1113243648);
+emit_32(1108508410);
+emit_32(3266555911);
+emit_32(1114267661);
+emit_32(1108134540);
+emit_32(3266555911);
+emit_32(1115291648);
+emit_32(1108063604);
+emit_32(3266555911);
+emit_32(1116000263);
+emit_32(1107530351);
+emit_32(3266555911);
+emit_32(1116512256);
+emit_32(1107403761);
+emit_32(3266555911);
+emit_32(1117024263);
+emit_32(1107815668);
+emit_32(3266555911);
+emit_32(1117536256);
+emit_32(1108314030);
+emit_32(3266555911);
+emit_32(1118048263);
+emit_32(1108639613);
+emit_32(3266555911);
+emit_32(1118560256);
+emit_32(1108710628);
+emit_32(3266555911);
+emit_32(1119072263);
+emit_32(1108872213);
+emit_32(3266555911);
+emit_32(1119584256);
+emit_32(1108749215);
+emit_32(3266555911);
+emit_32(1120096263);
+emit_32(1108889462);
+emit_32(3266555911);
+emit_32(1120608322);
+emit_32(1108863484);
+emit_32(3266555911);
+emit_32(1121120289);
+emit_32(1109036604);
+emit_32(3266555911);
+emit_32(1121632256);
+emit_32(1109205713);
+emit_32(3266555911);
+emit_32(1122144223);
+emit_32(1109394116);
+emit_32(3266555911);
+emit_32(1122656322);
+emit_32(1109718781);
+emit_32(3266555911);
+emit_32(1123168289);
+emit_32(1109715871);
+emit_32(3266555911);
+emit_32(1123680256);
+emit_32(1109592926);
+emit_32(3266555911);
+emit_32(1124132848);
+emit_32(1109325932);
+emit_32(3266555911);
+emit_32(1124388897);
+emit_32(1109167623);
+emit_32(3266555911);
+emit_32(1124644880);
+emit_32(1108999930);
+emit_32(3266555911);
+emit_32(1124900864);
+emit_32(1108794147);
+emit_32(3266555911);
+emit_32(1125156848);
+emit_32(1108512054);
+emit_32(3266555911);
+emit_32(1125412897);
+emit_32(1108376184);
+emit_32(3266555911);
+emit_32(1125668880);
+emit_32(1108266215);
+emit_32(3266555911);
+emit_32(1125924864);
+emit_32(1107795326);
+emit_32(3266555911);
+emit_32(1126180848);
+emit_32(1107314763);
+emit_32(3266555911);
+emit_32(1126436897);
+emit_32(1106114511);
+emit_32(3266555911);
+emit_32(1126692880);
+emit_32(1104385514);
+emit_32(3266555911);
+emit_32(1126948864);
+emit_32(1102999506);
+emit_32(3266555911);
+emit_32(1127204848);
+emit_32(1102036337);
+emit_32(3266555911);
+emit_32(1127460897);
+emit_32(1101372378);
+emit_32(3266555911);
+emit_32(1127716880);
+emit_32(1101356021);
+emit_32(3266555911);
+emit_32(1127972864);
+emit_32(1101083863);
+emit_32(3266555911);
+emit_32(1128228848);
+emit_32(1099864211);
+emit_32(3266555911);
+emit_32(1128484897);
+emit_32(1099053662);
+emit_32(3266555911);
+emit_32(1128740880);
+emit_32(1096243846);
+emit_32(3266555911);
+emit_32(1128996864);
+emit_32(1092140631);
+emit_32(3266555911);
+emit_32(1129252848);
+emit_32(1086381925);
+emit_32(3266555911);
+emit_32(1129508897);
+emit_32(1086092015);
+emit_32(3266555911);
+emit_32(1129764880);
+emit_32(1087322309);
+emit_32(3266555911);
+emit_32(1130020864);
+emit_32(1086744250);
+emit_32(3266555911);
+emit_32(1130276848);
+emit_32(1086502784);
+emit_32(3266555911);
+emit_32(1130532897);
+emit_32(1088099933);
+emit_32(3266555911);
+emit_32(1130788880);
+emit_32(1087042801);
+emit_32(3266555911);
+emit_32(1131044864);
+emit_32(1085944166);
+emit_32(3266555911);
+emit_32(1131300848);
+emit_32(1086098348);
+emit_32(3266555911);
+emit_32(1131556897);
+emit_32(1088087979);
+emit_32(3266555911);
+emit_32(1131812880);
+emit_32(1087004759);
+emit_32(3266555911);
+emit_32(1132068864);
+emit_32(1086940628);
+emit_32(3266555911);
+emit_32(1081737216);
+emit_32(1110813757);
+emit_32(3267067904);
+emit_32(1090125824);
+emit_32(1110590462);
+emit_32(3267067904);
+emit_32(1094418484);
+emit_32(1110447410);
+emit_32(3267067904);
+emit_32(1098514432);
+emit_32(1109984621);
+emit_32(3267067904);
+emit_32(1100759066);
+emit_32(1109628053);
+emit_32(3267067904);
+emit_32(1102807040);
+emit_32(1109594341);
+emit_32(3267067904);
+emit_32(1104855066);
+emit_32(1109544298);
+emit_32(3267067904);
+emit_32(1106903040);
+emit_32(1109733881);
+emit_32(3267067904);
+emit_32(1108123661);
+emit_32(1109573291);
+emit_32(3267067904);
+emit_32(1109147648);
+emit_32(1109550878);
+emit_32(3267067904);
+emit_32(1110171661);
+emit_32(1109270961);
+emit_32(3267067904);
+emit_32(1111195648);
+emit_32(1108931091);
+emit_32(3267067904);
+emit_32(1112219661);
+emit_32(1108382633);
+emit_32(3267067904);
+emit_32(1113243648);
+emit_32(1108013298);
+emit_32(3267067904);
+emit_32(1114267661);
+emit_32(1107931011);
+emit_32(3267067904);
+emit_32(1115291648);
+emit_32(1107808171);
+emit_32(3267067904);
+emit_32(1116000263);
+emit_32(1107425519);
+emit_32(3267067904);
+emit_32(1116512256);
+emit_32(1107431129);
+emit_32(3267067904);
+emit_32(1117024263);
+emit_32(1107661423);
+emit_32(3267067904);
+emit_32(1117536256);
+emit_32(1108073723);
+emit_32(3267067904);
+emit_32(1118048263);
+emit_32(1108439492);
+emit_32(3267067904);
+emit_32(1118560256);
+emit_32(1108755874);
+emit_32(3267067904);
+emit_32(1119072263);
+emit_32(1108610122);
+emit_32(3267067904);
+emit_32(1119584256);
+emit_32(1108774538);
+emit_32(3267067904);
+emit_32(1120096263);
+emit_32(1108983703);
+emit_32(3267067904);
+emit_32(1120608322);
+emit_32(1108966611);
+emit_32(3267067904);
+emit_32(1121120289);
+emit_32(1109162171);
+emit_32(3267067904);
+emit_32(1121632256);
+emit_32(1109004596);
+emit_32(3267067904);
+emit_32(1122144223);
+emit_32(1109403972);
+emit_32(3267067904);
+emit_32(1122656322);
+emit_32(1109453098);
+emit_32(3267067904);
+emit_32(1123168289);
+emit_32(1109628944);
+emit_32(3267067904);
+emit_32(1123680256);
+emit_32(1109442953);
+emit_32(3267067904);
+emit_32(1124132848);
+emit_32(1109378597);
+emit_32(3267067904);
+emit_32(1124388897);
+emit_32(1109310151);
+emit_32(3267067904);
+emit_32(1124644880);
+emit_32(1109090370);
+emit_32(3267067904);
+emit_32(1124900864);
+emit_32(1108727012);
+emit_32(3267067904);
+emit_32(1125156848);
+emit_32(1108564378);
+emit_32(3267067904);
+emit_32(1125412897);
+emit_32(1108413016);
+emit_32(3267067904);
+emit_32(1125668880);
+emit_32(1108252662);
+emit_32(3267067904);
+emit_32(1125924864);
+emit_32(1107867468);
+emit_32(3267067904);
+emit_32(1126180848);
+emit_32(1107313322);
+emit_32(3267067904);
+emit_32(1126436897);
+emit_32(1105536274);
+emit_32(3267067904);
+emit_32(1126692880);
+emit_32(1103691199);
+emit_32(3267067904);
+emit_32(1126948864);
+emit_32(1102287156);
+emit_32(3267067904);
+emit_32(1127204848);
+emit_32(1100758437);
+emit_32(3267067904);
+emit_32(1127460897);
+emit_32(1100185390);
+emit_32(3267067904);
+emit_32(1127716880);
+emit_32(1100274781);
+emit_32(3267067904);
+emit_32(1127972864);
+emit_32(1099687789);
+emit_32(3267067904);
+emit_32(1128228848);
+emit_32(1098027264);
+emit_32(3267067904);
+emit_32(1128484897);
+emit_32(1095782577);
+emit_32(3267067904);
+emit_32(1128740880);
+emit_32(1092060656);
+emit_32(3267067904);
+emit_32(1128996864);
+emit_32(1085479584);
+emit_32(3267067904);
+emit_32(1129252848);
+emit_32(1080427922);
+emit_32(3267067904);
+emit_32(1129508897);
+emit_32(1082737893);
+emit_32(3267067904);
+emit_32(1129764880);
+emit_32(1082587842);
+emit_32(3267067904);
+emit_32(1130020864);
+emit_32(1082372569);
+emit_32(3267067904);
+emit_32(1130276848);
+emit_32(1085083537);
+emit_32(3267067904);
+emit_32(1130532897);
+emit_32(1085407211);
+emit_32(3267067904);
+emit_32(1130788880);
+emit_32(1084963160);
+emit_32(3267067904);
+emit_32(1131044864);
+emit_32(1084737318);
+emit_32(3267067904);
+emit_32(1131300848);
+emit_32(1083924504);
+emit_32(3267067904);
+emit_32(1131556897);
+emit_32(1084286829);
+emit_32(3267067904);
+emit_32(1131812880);
+emit_32(1084905342);
+emit_32(3267067904);
+emit_32(1132068864);
+emit_32(1085475641);
+emit_32(3267067904);
+emit_32(1081737216);
+emit_32(1110694612);
+emit_32(3267579911);
+emit_32(1090125824);
+emit_32(1110646797);
+emit_32(3267579911);
+emit_32(1094418484);
+emit_32(1110299640);
+emit_32(3267579911);
+emit_32(1098514432);
+emit_32(1110057393);
+emit_32(3267579911);
+emit_32(1100759066);
+emit_32(1109526053);
+emit_32(3267579911);
+emit_32(1102807040);
+emit_32(1109344807);
+emit_32(3267579911);
+emit_32(1104855066);
+emit_32(1109452259);
+emit_32(3267579911);
+emit_32(1106903040);
+emit_32(1109261550);
+emit_32(3267579911);
+emit_32(1108123661);
+emit_32(1109082820);
+emit_32(3267579911);
+emit_32(1109147648);
+emit_32(1108958406);
+emit_32(3267579911);
+emit_32(1110171661);
+emit_32(1108756398);
+emit_32(3267579911);
+emit_32(1111195648);
+emit_32(1108426831);
+emit_32(3267579911);
+emit_32(1112219661);
+emit_32(1107880234);
+emit_32(3267579911);
+emit_32(1113243648);
+emit_32(1107647398);
+emit_32(3267579911);
+emit_32(1114267661);
+emit_32(1107551060);
+emit_32(3267579911);
+emit_32(1115291648);
+emit_32(1107461800);
+emit_32(3267579911);
+emit_32(1116000263);
+emit_32(1107421980);
+emit_32(3267579911);
+emit_32(1116512256);
+emit_32(1107111287);
+emit_32(3267579911);
+emit_32(1117024263);
+emit_32(1107355396);
+emit_32(3267579911);
+emit_32(1117536256);
+emit_32(1107770029);
+emit_32(3267579911);
+emit_32(1118048263);
+emit_32(1108281682);
+emit_32(3267579911);
+emit_32(1118560256);
+emit_32(1108475930);
+emit_32(3267579911);
+emit_32(1119072263);
+emit_32(1108583724);
+emit_32(3267579911);
+emit_32(1119584256);
+emit_32(1108787908);
+emit_32(3267579911);
+emit_32(1120096263);
+emit_32(1108859761);
+emit_32(3267579911);
+emit_32(1120608322);
+emit_32(1109119625);
+emit_32(3267579911);
+emit_32(1121120289);
+emit_32(1109310125);
+emit_32(3267579911);
+emit_32(1121632256);
+emit_32(1109129088);
+emit_32(3267579911);
+emit_32(1122144223);
+emit_32(1109416267);
+emit_32(3267579911);
+emit_32(1122656322);
+emit_32(1109508751);
+emit_32(3267579911);
+emit_32(1123168289);
+emit_32(1109311540);
+emit_32(3267579911);
+emit_32(1123680256);
+emit_32(1109131552);
+emit_32(3267579911);
+emit_32(1124132848);
+emit_32(1109360247);
+emit_32(3267579911);
+emit_32(1124388897);
+emit_32(1109275522);
+emit_32(3267579911);
+emit_32(1124644880);
+emit_32(1108801749);
+emit_32(3267579911);
+emit_32(1124900864);
+emit_32(1108467804);
+emit_32(3267579911);
+emit_32(1125156848);
+emit_32(1108391100);
+emit_32(3267579911);
+emit_32(1125412897);
+emit_32(1108331096);
+emit_32(3267579911);
+emit_32(1125668880);
+emit_32(1108112599);
+emit_32(3267579911);
+emit_32(1125924864);
+emit_32(1107624355);
+emit_32(3267579911);
+emit_32(1126180848);
+emit_32(1106590564);
+emit_32(3267579911);
+emit_32(1126436897);
+emit_32(1104796346);
+emit_32(3267579911);
+emit_32(1126692880);
+emit_32(1102786068);
+emit_32(3267579911);
+emit_32(1126948864);
+emit_32(1101357226);
+emit_32(3267579911);
+emit_32(1127204848);
+emit_32(1100162793);
+emit_32(3267579911);
+emit_32(1127460897);
+emit_32(1099771412);
+emit_32(3267579911);
+emit_32(1127716880);
+emit_32(1098962017);
+emit_32(3267579911);
+emit_32(1127972864);
+emit_32(1097608462);
+emit_32(3267579911);
+emit_32(1128228848);
+emit_32(1094970874);
+emit_32(3267579911);
+emit_32(1128484897);
+emit_32(1092021933);
+emit_32(3267579911);
+emit_32(1128740880);
+emit_32(1088236919);
+emit_32(3267579911);
+emit_32(1128996864);
+emit_32(1082682696);
+emit_32(3267579911);
+emit_32(1129252848);
+emit_32(1079924773);
+emit_32(3267579911);
+emit_32(1129508897);
+emit_32(1081076487);
+emit_32(3267579911);
+emit_32(1129764880);
+emit_32(1081136801);
+emit_32(3267579911);
+emit_32(1130020864);
+emit_32(1081313088);
+emit_32(3267579911);
+emit_32(1130276848);
+emit_32(1082622067);
+emit_32(3267579911);
+emit_32(1130532897);
+emit_32(1080914755);
+emit_32(3267579911);
+emit_32(1130788880);
+emit_32(1081174131);
+emit_32(3267579911);
+emit_32(1131044864);
+emit_32(1081307258);
+emit_32(3267579911);
+emit_32(1131300848);
+emit_32(1080904101);
+emit_32(3267579911);
+emit_32(1131556897);
+emit_32(1082632301);
+emit_32(3267579911);
+emit_32(1131812880);
+emit_32(1082980177);
+emit_32(3267579911);
+emit_32(1132068864);
+emit_32(1083203964);
+emit_32(3267579911);
+emit_32(1081737216);
+emit_32(1110581209);
+emit_32(3268091970);
+emit_32(1090125824);
+emit_32(1110551586);
+emit_32(3268091970);
+emit_32(1094418484);
+emit_32(1110307347);
+emit_32(3268091970);
+emit_32(1098514432);
+emit_32(1109985591);
+emit_32(3268091970);
+emit_32(1100759066);
+emit_32(1109670180);
+emit_32(3268091970);
+emit_32(1102807040);
+emit_32(1109393303);
+emit_32(3268091970);
+emit_32(1104855066);
+emit_32(1109233946);
+emit_32(3268091970);
+emit_32(1106903040);
+emit_32(1109280450);
+emit_32(3268091970);
+emit_32(1108123661);
+emit_32(1108630281);
+emit_32(3268091970);
+emit_32(1109147648);
+emit_32(1108457449);
+emit_32(3268091970);
+emit_32(1110171661);
+emit_32(1108487176);
+emit_32(3268091970);
+emit_32(1111195648);
+emit_32(1108197114);
+emit_32(3268091970);
+emit_32(1112219661);
+emit_32(1107653847);
+emit_32(3268091970);
+emit_32(1113243648);
+emit_32(1107312745);
+emit_32(3268091970);
+emit_32(1114267661);
+emit_32(1107342131);
+emit_32(3268091970);
+emit_32(1115291648);
+emit_32(1107499418);
+emit_32(3268091970);
+emit_32(1116000263);
+emit_32(1107104104);
+emit_32(3268091970);
+emit_32(1116512256);
+emit_32(1107322497);
+emit_32(3268091970);
+emit_32(1117024263);
+emit_32(1107451078);
+emit_32(3268091970);
+emit_32(1117536256);
+emit_32(1107597774);
+emit_32(3268091970);
+emit_32(1118048263);
+emit_32(1108134383);
+emit_32(3268091970);
+emit_32(1118560256);
+emit_32(1108348292);
+emit_32(3268091970);
+emit_32(1119072263);
+emit_32(1108697206);
+emit_32(3268091970);
+emit_32(1119584256);
+emit_32(1108767120);
+emit_32(3268091970);
+emit_32(1120096263);
+emit_32(1108911089);
+emit_32(3268091970);
+emit_32(1120608322);
+emit_32(1109333115);
+emit_32(3268091970);
+emit_32(1121120289);
+emit_32(1109311147);
+emit_32(3268091970);
+emit_32(1121632256);
+emit_32(1109257853);
+emit_32(3268091970);
+emit_32(1122144223);
+emit_32(1109429663);
+emit_32(3268091970);
+emit_32(1122656322);
+emit_32(1109626926);
+emit_32(3268091970);
+emit_32(1123168289);
+emit_32(1109223460);
+emit_32(3268091970);
+emit_32(1123680256);
+emit_32(1109113464);
+emit_32(3268091970);
+emit_32(1124132848);
+emit_32(1109197770);
+emit_32(3268091970);
+emit_32(1124388897);
+emit_32(1108996941);
+emit_32(3268091970);
+emit_32(1124644880);
+emit_32(1108521910);
+emit_32(3268091970);
+emit_32(1124900864);
+emit_32(1108156167);
+emit_32(3268091970);
+emit_32(1125156848);
+emit_32(1108312169);
+emit_32(3268091970);
+emit_32(1125412897);
+emit_32(1108417210);
+emit_32(3268091970);
+emit_32(1125668880);
+emit_32(1108025410);
+emit_32(3268091970);
+emit_32(1125924864);
+emit_32(1107366039);
+emit_32(3268091970);
+emit_32(1126180848);
+emit_32(1106152836);
+emit_32(3268091970);
+emit_32(1126436897);
+emit_32(1104094377);
+emit_32(3268091970);
+emit_32(1126692880);
+emit_32(1102342783);
+emit_32(3268091970);
+emit_32(1126948864);
+emit_32(1101171838);
+emit_32(3268091970);
+emit_32(1127204848);
+emit_32(1099584871);
+emit_32(3268091970);
+emit_32(1127460897);
+emit_32(1099343069);
+emit_32(3268091970);
+emit_32(1127716880);
+emit_32(1097562115);
+emit_32(3268091970);
+emit_32(1127972864);
+emit_32(1094777202);
+emit_32(3268091970);
+emit_32(1128228848);
+emit_32(1092522051);
+emit_32(3268091970);
+emit_32(1128484897);
+emit_32(1088883870);
+emit_32(3268091970);
+emit_32(1128740880);
+emit_32(1085242165);
+emit_32(3268091970);
+emit_32(1128996864);
+emit_32(1078093792);
+emit_32(3268091970);
+emit_32(1129252848);
+emit_32(1078026222);
+emit_32(3268091970);
+emit_32(1129508897);
+emit_32(1077460788);
+emit_32(3268091970);
+emit_32(1129764880);
+emit_32(1078305017);
+emit_32(3268091970);
+emit_32(1130020864);
+emit_32(1079773820);
+emit_32(3268091970);
+emit_32(1130276848);
+emit_32(1080393613);
+emit_32(3268091970);
+emit_32(1130532897);
+emit_32(1078685021);
+emit_32(3268091970);
+emit_32(1130788880);
+emit_32(1075784911);
+emit_32(3268091970);
+emit_32(1131044864);
+emit_32(1076529820);
+emit_32(3268091970);
+emit_32(1131300848);
+emit_32(1074011602);
+emit_32(3268091970);
+emit_32(1131556897);
+emit_32(1075826561);
+emit_32(3268091970);
+emit_32(1131812880);
+emit_32(1078155029);
+emit_32(3268091970);
+emit_32(1132068864);
+emit_32(1080836699);
+emit_32(3268091970);
+emit_32(1081737216);
+emit_32(1110663915);
+emit_32(3268603937);
+emit_32(1090125824);
+emit_32(1110523301);
+emit_32(3268603937);
+emit_32(1094418484);
+emit_32(1110414092);
+emit_32(3268603937);
+emit_32(1098514432);
+emit_32(1110239740);
+emit_32(3268603937);
+emit_32(1100759066);
+emit_32(1110111263);
+emit_32(3268603937);
+emit_32(1102807040);
+emit_32(1109732989);
+emit_32(3268603937);
+emit_32(1104855066);
+emit_32(1109257434);
+emit_32(3268603937);
+emit_32(1106903040);
+emit_32(1108986639);
+emit_32(3268603937);
+emit_32(1108123661);
+emit_32(1108299324);
+emit_32(3268603937);
+emit_32(1109147648);
+emit_32(1108108666);
+emit_32(3268603937);
+emit_32(1110171661);
+emit_32(1108133256);
+emit_32(3268603937);
+emit_32(1111195648);
+emit_32(1107900341);
+emit_32(3268603937);
+emit_32(1112219661);
+emit_32(1106990544);
+emit_32(3268603937);
+emit_32(1113243648);
+emit_32(1106677911);
+emit_32(3268603937);
+emit_32(1114267661);
+emit_32(1106924116);
+emit_32(3268603937);
+emit_32(1115291648);
+emit_32(1107371465);
+emit_32(3268603937);
+emit_32(1116000263);
+emit_32(1107430500);
+emit_32(3268603937);
+emit_32(1116512256);
+emit_32(1107498631);
+emit_32(3268603937);
+emit_32(1117024263);
+emit_32(1107438390);
+emit_32(3268603937);
+emit_32(1117536256);
+emit_32(1107833808);
+emit_32(3268603937);
+emit_32(1118048263);
+emit_32(1108210981);
+emit_32(3268603937);
+emit_32(1118560256);
+emit_32(1108542226);
+emit_32(3268603937);
+emit_32(1119072263);
+emit_32(1108787882);
+emit_32(3268603937);
+emit_32(1119584256);
+emit_32(1108829274);
+emit_32(3268603937);
+emit_32(1120096263);
+emit_32(1109124029);
+emit_32(3268603937);
+emit_32(1120608322);
+emit_32(1109412387);
+emit_32(3268603937);
+emit_32(1121120289);
+emit_32(1109324752);
+emit_32(3268603937);
+emit_32(1121632256);
+emit_32(1109233631);
+emit_32(3268603937);
+emit_32(1122144223);
+emit_32(1109356105);
+emit_32(3268603937);
+emit_32(1122656322);
+emit_32(1109523353);
+emit_32(3268603937);
+emit_32(1123168289);
+emit_32(1109276492);
+emit_32(3268603937);
+emit_32(1123680256);
+emit_32(1109141330);
+emit_32(3268603937);
+emit_32(1124132848);
+emit_32(1108924485);
+emit_32(3268603937);
+emit_32(1124388897);
+emit_32(1108532029);
+emit_32(3268603937);
+emit_32(1124644880);
+emit_32(1108013482);
+emit_32(3268603937);
+emit_32(1124900864);
+emit_32(1107879159);
+emit_32(3268603937);
+emit_32(1125156848);
+emit_32(1108192290);
+emit_32(3268603937);
+emit_32(1125412897);
+emit_32(1108199499);
+emit_32(3268603937);
+emit_32(1125668880);
+emit_32(1107673455);
+emit_32(3268603937);
+emit_32(1125924864);
+emit_32(1106232371);
+emit_32(3268603937);
+emit_32(1126180848);
+emit_32(1104800226);
+emit_32(3268603937);
+emit_32(1126436897);
+emit_32(1103280682);
+emit_32(3268603937);
+emit_32(1126692880);
+emit_32(1102286055);
+emit_32(3268603937);
+emit_32(1126948864);
+emit_32(1100759748);
+emit_32(3268603937);
+emit_32(1127204848);
+emit_32(1099429367);
+emit_32(3268603937);
+emit_32(1127460897);
+emit_32(1097617900);
+emit_32(3268603937);
+emit_32(1127716880);
+emit_32(1095952341);
+emit_32(3268603937);
+emit_32(1127972864);
+emit_32(1093005319);
+emit_32(3268603937);
+emit_32(1128228848);
+emit_32(1088642320);
+emit_32(3268603937);
+emit_32(1128484897);
+emit_32(1085144270);
+emit_32(3268603937);
+emit_32(1128740880);
+emit_32(1079423554);
+emit_32(3268603937);
+emit_32(1128996864);
+emit_32(1075473065);
+emit_32(3268603937);
+emit_32(1129252848);
+emit_32(1075224804);
+emit_32(3268603937);
+emit_32(1129508897);
+emit_32(1074942527);
+emit_32(3268603937);
+emit_32(1129764880);
+emit_32(1070517327);
+emit_32(3268603937);
+emit_32(1130020864);
+emit_32(1076303998);
+emit_32(3268603937);
+emit_32(1130276848);
+emit_32(1075194647);
+emit_32(3268603937);
+emit_32(1130532897);
+emit_32(1069302069);
+emit_32(3268603937);
+emit_32(1130788880);
+emit_32(1059149840);
+emit_32(3268603937);
+emit_32(1131044864);
+emit_32(1062802928);
+emit_32(3268603937);
+emit_32(1131300848);
+emit_32(1068305922);
+emit_32(3268603937);
+emit_32(1131556897);
+emit_32(1074623970);
+emit_32(3268603937);
+emit_32(1131812880);
+emit_32(1077991619);
+emit_32(3268603937);
+emit_32(1132068864);
+emit_32(1078469350);
+emit_32(3268603937);
+emit_32(1081737216);
+emit_32(1110808645);
+emit_32(3269115904);
+emit_32(1090125824);
+emit_32(1110606427);
+emit_32(3269115904);
+emit_32(1094418484);
+emit_32(1110590725);
+emit_32(3269115904);
+emit_32(1098514432);
+emit_32(1110520575);
+emit_32(3269115904);
+emit_32(1100759066);
+emit_32(1110320952);
+emit_32(3269115904);
+emit_32(1102807040);
+emit_32(1109925718);
+emit_32(3269115904);
+emit_32(1104855066);
+emit_32(1109578691);
+emit_32(3269115904);
+emit_32(1106903040);
+emit_32(1109301579);
+emit_32(3269115904);
+emit_32(1108123661);
+emit_32(1108401481);
+emit_32(3269115904);
+emit_32(1109147648);
+emit_32(1108050418);
+emit_32(3269115904);
+emit_32(1110171661);
+emit_32(1108134828);
+emit_32(3269115904);
+emit_32(1111195648);
+emit_32(1107813047);
+emit_32(3269115904);
+emit_32(1112219661);
+emit_32(1106770867);
+emit_32(3269115904);
+emit_32(1113243648);
+emit_32(1107263016);
+emit_32(3269115904);
+emit_32(1114267661);
+emit_32(1107073696);
+emit_32(3269115904);
+emit_32(1115291648);
+emit_32(1107071861);
+emit_32(3269115904);
+emit_32(1116000263);
+emit_32(1107575911);
+emit_32(3269115904);
+emit_32(1116512256);
+emit_32(1107727326);
+emit_32(3269115904);
+emit_32(1117024263);
+emit_32(1107439570);
+emit_32(3269115904);
+emit_32(1117536256);
+emit_32(1107890956);
+emit_32(3269115904);
+emit_32(1118048263);
+emit_32(1108361426);
+emit_32(3269115904);
+emit_32(1118560256);
+emit_32(1108752964);
+emit_32(3269115904);
+emit_32(1119072263);
+emit_32(1109015894);
+emit_32(3269115904);
+emit_32(1119584256);
+emit_32(1109044966);
+emit_32(3269115904);
+emit_32(1120096263);
+emit_32(1109198320);
+emit_32(3269115904);
+emit_32(1120608322);
+emit_32(1109370103);
+emit_32(3269115904);
+emit_32(1121120289);
+emit_32(1109373380);
+emit_32(3269115904);
+emit_32(1121632256);
+emit_32(1109279795);
+emit_32(3269115904);
+emit_32(1122144223);
+emit_32(1109433568);
+emit_32(3269115904);
+emit_32(1122656322);
+emit_32(1109623387);
+emit_32(3269115904);
+emit_32(1123168289);
+emit_32(1109428273);
+emit_32(3269115904);
+emit_32(1123680256);
+emit_32(1108960346);
+emit_32(3269115904);
+emit_32(1124132848);
+emit_32(1108585323);
+emit_32(3269115904);
+emit_32(1124388897);
+emit_32(1108055818);
+emit_32(3269115904);
+emit_32(1124644880);
+emit_32(1107534728);
+emit_32(3269115904);
+emit_32(1124900864);
+emit_32(1107471001);
+emit_32(3269115904);
+emit_32(1125156848);
+emit_32(1107590041);
+emit_32(3269115904);
+emit_32(1125412897);
+emit_32(1107454172);
+emit_32(3269115904);
+emit_32(1125668880);
+emit_32(1106832209);
+emit_32(3269115904);
+emit_32(1125924864);
+emit_32(1105088217);
+emit_32(3269115904);
+emit_32(1126180848);
+emit_32(1103608676);
+emit_32(3269115904);
+emit_32(1126436897);
+emit_32(1102467039);
+emit_32(3269115904);
+emit_32(1126692880);
+emit_32(1101262068);
+emit_32(3269115904);
+emit_32(1126948864);
+emit_32(1100082158);
+emit_32(3269115904);
+emit_32(1127204848);
+emit_32(1098845677);
+emit_32(3269115904);
+emit_32(1127460897);
+emit_32(1095460140);
+emit_32(3269115904);
+emit_32(1127716880);
+emit_32(1093620938);
+emit_32(3269115904);
+emit_32(1127972864);
+emit_32(1089412289);
+emit_32(3269115904);
+emit_32(1128228848);
+emit_32(1083970620);
+emit_32(3269115904);
+emit_32(1128484897);
+emit_32(1077038086);
+emit_32(3269115904);
+emit_32(1128740880);
+emit_32(1069835165);
+emit_32(3269115904);
+emit_32(1128996864);
+emit_32(1070535279);
+emit_32(3269115904);
+emit_32(1129252848);
+emit_32(1071829221);
+emit_32(3269115904);
+emit_32(1129508897);
+emit_32(1066648753);
+emit_32(3269115904);
+emit_32(1129764880);
+emit_32(1051679953);
+emit_32(3269115904);
+emit_32(1130020864);
+emit_32(1057135450);
+emit_32(3269115904);
+emit_32(1130276848);
+emit_32(1048743000);
+emit_32(3269115904);
+emit_32(1130532897);
+emit_32(3194534264);
+emit_32(3269115904);
+emit_32(1130788880);
+emit_32(3210162995);
+emit_32(3269115904);
+emit_32(1131044864);
+emit_32(3197138557);
+emit_32(3269115904);
+emit_32(1131300848);
+emit_32(1054446180);
+emit_32(3269115904);
+emit_32(1131556897);
+emit_32(1071525302);
+emit_32(3269115904);
+emit_32(1131812880);
+emit_32(1072082306);
+emit_32(3269115904);
+emit_32(1132068864);
+emit_32(1070395189);
+emit_32(3269115904);
+emit_32(1081737216);
+emit_32(1111356054);
+emit_32(3269627871);
+emit_32(1090125824);
+emit_32(1111049765);
+emit_32(3269627871);
+emit_32(1094418484);
+emit_32(1111095011);
+emit_32(3269627871);
+emit_32(1098514432);
+emit_32(1110769821);
+emit_32(3269627871);
+emit_32(1100759066);
+emit_32(1110387956);
+emit_32(3269627871);
+emit_32(1102807040);
+emit_32(1110076608);
+emit_32(3269627871);
+emit_32(1104855066);
+emit_32(1109830507);
+emit_32(3269627871);
+emit_32(1106903040);
+emit_32(1109267474);
+emit_32(3269627871);
+emit_32(1108123661);
+emit_32(1108522670);
+emit_32(3269627871);
+emit_32(1109147648);
+emit_32(1108306716);
+emit_32(3269627871);
+emit_32(1110171661);
+emit_32(1108152078);
+emit_32(3269627871);
+emit_32(1111195648);
+emit_32(1107581521);
+emit_32(3269627871);
+emit_32(1112219661);
+emit_32(1106841751);
+emit_32(3269627871);
+emit_32(1113243648);
+emit_32(1107248808);
+emit_32(3269627871);
+emit_32(1114267661);
+emit_32(1107071599);
+emit_32(3269627871);
+emit_32(1115291648);
+emit_32(1107391729);
+emit_32(3269627871);
+emit_32(1116000263);
+emit_32(1107625981);
+emit_32(3269627871);
+emit_32(1116512256);
+emit_32(1107606818);
+emit_32(3269627871);
+emit_32(1117024263);
+emit_32(1107732044);
+emit_32(3269627871);
+emit_32(1117536256);
+emit_32(1108255231);
+emit_32(3269627871);
+emit_32(1118048263);
+emit_32(1108554259);
+emit_32(3269627871);
+emit_32(1118560256);
+emit_32(1108867835);
+emit_32(3269627871);
+emit_32(1119072263);
+emit_32(1109054272);
+emit_32(3269627871);
+emit_32(1119584256);
+emit_32(1109386251);
+emit_32(3269627871);
+emit_32(1120096263);
+emit_32(1109299298);
+emit_32(3269627871);
+emit_32(1120608322);
+emit_32(1109427959);
+emit_32(3269627871);
+emit_32(1121120289);
+emit_32(1109424079);
+emit_32(3269627871);
+emit_32(1121632256);
+emit_32(1109411181);
+emit_32(3269627871);
+emit_32(1122144223);
+emit_32(1109433621);
+emit_32(3269627871);
+emit_32(1122656322);
+emit_32(1109598955);
+emit_32(3269627871);
+emit_32(1123168289);
+emit_32(1109218086);
+emit_32(3269627871);
+emit_32(1123680256);
+emit_32(1108916909);
+emit_32(3269627871);
+emit_32(1124132848);
+emit_32(1108631119);
+emit_32(3269627871);
+emit_32(1124388897);
+emit_32(1108074483);
+emit_32(3269627871);
+emit_32(1124644880);
+emit_32(1107470084);
+emit_32(3269627871);
+emit_32(1124900864);
+emit_32(1106751049);
+emit_32(3269627871);
+emit_32(1125156848);
+emit_32(1106805732);
+emit_32(3269627871);
+emit_32(1125412897);
+emit_32(1106063917);
+emit_32(3269627871);
+emit_32(1125668880);
+emit_32(1104941941);
+emit_32(3269627871);
+emit_32(1125924864);
+emit_32(1103592738);
+emit_32(3269627871);
+emit_32(1126180848);
+emit_32(1102378749);
+emit_32(3269627871);
+emit_32(1126436897);
+emit_32(1101064359);
+emit_32(3269627871);
+emit_32(1126692880);
+emit_32(1099948989);
+emit_32(3269627871);
+emit_32(1126948864);
+emit_32(1098973289);
+emit_32(3269627871);
+emit_32(1127204848);
+emit_32(1097124125);
+emit_32(3269627871);
+emit_32(1127460897);
+emit_32(1094111671);
+emit_32(3269627871);
+emit_32(1127716880);
+emit_32(1091103611);
+emit_32(3269627871);
+emit_32(1127972864);
+emit_32(1086368084);
+emit_32(3269627871);
+emit_32(1128228848);
+emit_32(1078725915);
+emit_32(3269627871);
+emit_32(1128484897);
+emit_32(1069950844);
+emit_32(3269627871);
+emit_32(1128740880);
+emit_32(1018630897);
+emit_32(3269627871);
+emit_32(1128996864);
+emit_32(3181731986);
+emit_32(3269627871);
+emit_32(1129252848);
+emit_32(3201792590);
+emit_32(3269627871);
+emit_32(1129508897);
+emit_32(3204973752);
+emit_32(3269627871);
+emit_32(1129764880);
+emit_32(3215721958);
+emit_32(3269627871);
+emit_32(1130020864);
+emit_32(3222414389);
+emit_32(3269627871);
+emit_32(1130276848);
+emit_32(3222253076);
+emit_32(3269627871);
+emit_32(1130532897);
+emit_32(3222187310);
+emit_32(3269627871);
+emit_32(1130788880);
+emit_32(3216801991);
+emit_32(3269627871);
+emit_32(1131044864);
+emit_32(3205181336);
+emit_32(3269627871);
+emit_32(1131300848);
+emit_32(3200822633);
+emit_32(3269627871);
+emit_32(1131556897);
+emit_32(3196733320);
+emit_32(3269627871);
+emit_32(1131812880);
+emit_32(3206975391);
+emit_32(3269627871);
+emit_32(1132068864);
+emit_32(1038377734);
+emit_32(3269627871);
+emit_32(1081737216);
+emit_32(1111592455);
+emit_32(3270139970);
+emit_32(1090125824);
+emit_32(1111491609);
+emit_32(3270139970);
+emit_32(1094418484);
+emit_32(1111194940);
+emit_32(3270139970);
+emit_32(1098514432);
+emit_32(1110835331);
+emit_32(3270139970);
+emit_32(1100759066);
+emit_32(1110275365);
+emit_32(3270139970);
+emit_32(1102807040);
+emit_32(1110005567);
+emit_32(3270139970);
+emit_32(1104855066);
+emit_32(1109696499);
+emit_32(3270139970);
+emit_32(1106903040);
+emit_32(1109176772);
+emit_32(3270139970);
+emit_32(1108123661);
+emit_32(1108885556);
+emit_32(3270139970);
+emit_32(1109147648);
+emit_32(1108468774);
+emit_32(3270139970);
+emit_32(1110171661);
+emit_32(1108030285);
+emit_32(3270139970);
+emit_32(1111195648);
+emit_32(1107430028);
+emit_32(3270139970);
+emit_32(1112219661);
+emit_32(1107103737);
+emit_32(3270139970);
+emit_32(1113243648);
+emit_32(1107092098);
+emit_32(3270139970);
+emit_32(1114267661);
+emit_32(1107375004);
+emit_32(3270139970);
+emit_32(1115291648);
+emit_32(1107478708);
+emit_32(3270139970);
+emit_32(1116000263);
+emit_32(1107657884);
+emit_32(3270139970);
+emit_32(1116512256);
+emit_32(1107812575);
+emit_32(3270139970);
+emit_32(1117024263);
+emit_32(1108062005);
+emit_32(3270139970);
+emit_32(1117536256);
+emit_32(1108546316);
+emit_32(3270139970);
+emit_32(1118048263);
+emit_32(1108808198);
+emit_32(3270139970);
+emit_32(1118560256);
+emit_32(1108821253);
+emit_32(3270139970);
+emit_32(1119072263);
+emit_32(1108944565);
+emit_32(3270139970);
+emit_32(1119584256);
+emit_32(1109292509);
+emit_32(3270139970);
+emit_32(1120096263);
+emit_32(1109325827);
+emit_32(3270139970);
+emit_32(1120608322);
+emit_32(1109645355);
+emit_32(3270139970);
+emit_32(1121120289);
+emit_32(1109627555);
+emit_32(3270139970);
+emit_32(1121632256);
+emit_32(1109566502);
+emit_32(3270139970);
+emit_32(1122144223);
+emit_32(1109470347);
+emit_32(3270139970);
+emit_32(1122656322);
+emit_32(1109358831);
+emit_32(3270139970);
+emit_32(1123168289);
+emit_32(1109156561);
+emit_32(3270139970);
+emit_32(1123680256);
+emit_32(1108641920);
+emit_32(3270139970);
+emit_32(1124132848);
+emit_32(1108219580);
+emit_32(3270139970);
+emit_32(1124388897);
+emit_32(1107796112);
+emit_32(3270139970);
+emit_32(1124644880);
+emit_32(1107364885);
+emit_32(3270139970);
+emit_32(1124900864);
+emit_32(1106177268);
+emit_32(3270139970);
+emit_32(1125156848);
+emit_32(1105288443);
+emit_32(3270139970);
+emit_32(1125412897);
+emit_32(1104753197);
+emit_32(3270139970);
+emit_32(1125668880);
+emit_32(1103375473);
+emit_32(3270139970);
+emit_32(1125924864);
+emit_32(1102075344);
+emit_32(3270139970);
+emit_32(1126180848);
+emit_32(1100964849);
+emit_32(3270139970);
+emit_32(1126436897);
+emit_32(1099792384);
+emit_32(3270139970);
+emit_32(1126692880);
+emit_32(1098450049);
+emit_32(3270139970);
+emit_32(1126948864);
+emit_32(1096338322);
+emit_32(3270139970);
+emit_32(1127204848);
+emit_32(1093954280);
+emit_32(3270139970);
+emit_32(1127460897);
+emit_32(1091524247);
+emit_32(3270139970);
+emit_32(1127716880);
+emit_32(1088518839);
+emit_32(3270139970);
+emit_32(1127972864);
+emit_32(1083884385);
+emit_32(3270139970);
+emit_32(1128228848);
+emit_32(1076931424);
+emit_32(3270139970);
+emit_32(1128484897);
+emit_32(1044557454);
+emit_32(3270139970);
+emit_32(1128740880);
+emit_32(3205427693);
+emit_32(3270139970);
+emit_32(1128996864);
+emit_32(3213113940);
+emit_32(3270139970);
+emit_32(1129252848);
+emit_32(3221962118);
+emit_32(3270139970);
+emit_32(1129508897);
+emit_32(3220483500);
+emit_32(3270139970);
+emit_32(1129764880);
+emit_32(3225420531);
+emit_32(3270139970);
+emit_32(1130020864);
+emit_32(3230173831);
+emit_32(3270139970);
+emit_32(1130276848);
+emit_32(3232043735);
+emit_32(3270139970);
+emit_32(1130532897);
+emit_32(3227363752);
+emit_32(3270139970);
+emit_32(1130788880);
+emit_32(3221899790);
+emit_32(3270139970);
+emit_32(1131044864);
+emit_32(3216845360);
+emit_32(3270139970);
+emit_32(1131300848);
+emit_32(3219415546);
+emit_32(3270139970);
+emit_32(1131556897);
+emit_32(3212863456);
+emit_32(3270139970);
+emit_32(1131812880);
+emit_32(3221056106);
+emit_32(3270139970);
+emit_32(1132068864);
+emit_32(3222457423);
+emit_32(3270139970);
+emit_start(Landscape04Vtx)
+emit_32(1081737216);
+emit_32(1100462372);
+emit_32(1123680256);
+emit_32(1081737216);
+emit_32(1101050728);
+emit_32(1124132848);
+emit_32(1090125824);
+emit_32(1101307000);
+emit_32(1123680256);
+emit_32(1090125824);
+emit_32(1101569144);
+emit_32(1124132848);
+emit_32(1094418484);
+emit_32(1101816870);
+emit_32(1123680256);
+emit_32(1094418484);
+emit_32(1101742788);
+emit_32(1124132848);
+emit_32(1098514432);
+emit_32(1102313580);
+emit_32(1123680256);
+emit_32(1098514432);
+emit_32(1102383625);
+emit_32(1124132848);
+emit_32(1100759066);
+emit_32(1102224504);
+emit_32(1123680256);
+emit_32(1100759066);
+emit_32(1102114927);
+emit_32(1124132848);
+emit_32(1102807040);
+emit_32(1101213834);
+emit_32(1123680256);
+emit_32(1102807040);
+emit_32(1101213309);
+emit_32(1124132848);
+emit_32(1104855066);
+emit_32(1100303408);
+emit_32(1123680256);
+emit_32(1104855066);
+emit_32(1100341209);
+emit_32(1124132848);
+emit_32(1106903040);
+emit_32(1099679610);
+emit_32(1123680256);
+emit_32(1106903040);
+emit_32(1099911345);
+emit_32(1124132848);
+emit_32(1108123661);
+emit_32(1099160984);
+emit_32(1123680256);
+emit_32(1108123661);
+emit_32(1099586129);
+emit_32(1124132848);
+emit_32(1109147648);
+emit_32(1098137259);
+emit_32(1123680256);
+emit_32(1109147648);
+emit_32(1099190030);
+emit_32(1124132848);
+emit_32(1110171661);
+emit_32(1097207906);
+emit_32(1123680256);
+emit_32(1110171661);
+emit_32(1098581751);
+emit_32(1124132848);
+emit_32(1111195648);
+emit_32(1096797074);
+emit_32(1123680256);
+emit_32(1111195648);
+emit_32(1097483053);
+emit_32(1124132848);
+emit_32(1112219661);
+emit_32(1097544709);
+emit_32(1123680256);
+emit_32(1112219661);
+emit_32(1097178022);
+emit_32(1124132848);
+emit_32(1113243648);
+emit_32(1097976408);
+emit_32(1123680256);
+emit_32(1113243648);
+emit_32(1096978688);
+emit_32(1124132848);
+emit_32(1114267661);
+emit_32(1097506541);
+emit_32(1123680256);
+emit_32(1114267661);
+emit_32(1097352610);
+emit_32(1124132848);
+emit_32(1115291648);
+emit_32(1097510945);
+emit_32(1123680256);
+emit_32(1115291648);
+emit_32(1097969906);
+emit_32(1124132848);
+emit_32(1116000263);
+emit_32(1097837262);
+emit_32(1123680256);
+emit_32(1116000263);
+emit_32(1098943509);
+emit_32(1124132848);
+emit_32(1116512256);
+emit_32(1098359872);
+emit_32(1123680256);
+emit_32(1116512256);
+emit_32(1099235380);
+emit_32(1124132848);
+emit_32(1117024263);
+emit_32(1097957533);
+emit_32(1123680256);
+emit_32(1117024263);
+emit_32(1098875037);
+emit_32(1124132848);
+emit_32(1117536256);
+emit_32(1098416705);
+emit_32(1123680256);
+emit_32(1117536256);
+emit_32(1098919916);
+emit_32(1124132848);
+emit_32(1118048263);
+emit_32(1098948385);
+emit_32(1123680256);
+emit_32(1118048263);
+emit_32(1099015127);
+emit_32(1124132848);
+emit_32(1118560256);
+emit_32(1099890845);
+emit_32(1123680256);
+emit_32(1118560256);
+emit_32(1100384410);
+emit_32(1124132848);
+emit_32(1119072263);
+emit_32(1100416863);
+emit_32(1123680256);
+emit_32(1119072263);
+emit_32(1100817786);
+emit_32(1124132848);
+emit_32(1119584256);
+emit_32(1100910848);
+emit_32(1123680256);
+emit_32(1119584256);
+emit_32(1101157682);
+emit_32(1124132848);
+emit_32(1120096263);
+emit_32(1102712825);
+emit_32(1123680256);
+emit_32(1120096263);
+emit_32(1102698670);
+emit_32(1124132848);
+emit_32(1120608322);
+emit_32(1103789661);
+emit_32(1123680256);
+emit_32(1120608322);
+emit_32(1104088662);
+emit_32(1124132848);
+emit_32(1121120289);
+emit_32(1104607602);
+emit_32(1123680256);
+emit_32(1121120289);
+emit_32(1104975548);
+emit_32(1124132848);
+emit_32(1121632256);
+emit_32(1105587811);
+emit_32(1123680256);
+emit_32(1121632256);
+emit_32(1105705671);
+emit_32(1124132848);
+emit_32(1122144223);
+emit_32(1106213025);
+emit_32(1123680256);
+emit_32(1122144223);
+emit_32(1106546629);
+emit_32(1124132848);
+emit_32(1122656322);
+emit_32(1106606765);
+emit_32(1123680256);
+emit_32(1122656322);
+emit_32(1107224271);
+emit_32(1124132848);
+emit_32(1123168289);
+emit_32(1107406409);
+emit_32(1123680256);
+emit_32(1123168289);
+emit_32(1107432990);
+emit_32(1124132848);
+emit_32(1123680256);
+emit_32(1108017021);
+emit_32(1123680256);
+emit_32(1123680256);
+emit_32(1107870823);
+emit_32(1124132848);
+emit_32(1124132848);
+emit_32(1108642890);
+emit_32(1123680256);
+emit_32(1124132848);
+emit_32(1108611197);
+emit_32(1124132848);
+emit_32(1124388897);
+emit_32(1108976940);
+emit_32(1123680256);
+emit_32(1124388897);
+emit_32(1109002394);
+emit_32(1124132848);
+emit_32(1124644880);
+emit_32(1108915991);
+emit_32(1123680256);
+emit_32(1124644880);
+emit_32(1109174020);
+emit_32(1124132848);
+emit_32(1124900864);
+emit_32(1109069713);
+emit_32(1123680256);
+emit_32(1124900864);
+emit_32(1109145131);
+emit_32(1124132848);
+emit_32(1125156848);
+emit_32(1108852159);
+emit_32(1123680256);
+emit_32(1125156848);
+emit_32(1109111053);
+emit_32(1124132848);
+emit_32(1125412897);
+emit_32(1109018044);
+emit_32(1123680256);
+emit_32(1125412897);
+emit_32(1108982156);
+emit_32(1124132848);
+emit_32(1125668880);
+emit_32(1109032776);
+emit_32(1123680256);
+emit_32(1125668880);
+emit_32(1109159733);
+emit_32(1124132848);
+emit_32(1125924864);
+emit_32(1109297490);
+emit_32(1123680256);
+emit_32(1125924864);
+emit_32(1109315342);
+emit_32(1124132848);
+emit_32(1126180848);
+emit_32(1109331018);
+emit_32(1123680256);
+emit_32(1126180848);
+emit_32(1109210091);
+emit_32(1124132848);
+emit_32(1126436897);
+emit_32(1109010285);
+emit_32(1123680256);
+emit_32(1126436897);
+emit_32(1108929885);
+emit_32(1124132848);
+emit_32(1126692880);
+emit_32(1108437919);
+emit_32(1123680256);
+emit_32(1126692880);
+emit_32(1108541256);
+emit_32(1124132848);
+emit_32(1126948864);
+emit_32(1108395583);
+emit_32(1123680256);
+emit_32(1126948864);
+emit_32(1108339091);
+emit_32(1124132848);
+emit_32(1127204848);
+emit_32(1108230432);
+emit_32(1123680256);
+emit_32(1127204848);
+emit_32(1108284853);
+emit_32(1124132848);
+emit_32(1127460897);
+emit_32(1107992091);
+emit_32(1123680256);
+emit_32(1127460897);
+emit_32(1108246449);
+emit_32(1124132848);
+emit_32(1127716880);
+emit_32(1107862408);
+emit_32(1123680256);
+emit_32(1127716880);
+emit_32(1108208727);
+emit_32(1124132848);
+emit_32(1127972864);
+emit_32(1107704336);
+emit_32(1123680256);
+emit_32(1127972864);
+emit_32(1108242648);
+emit_32(1124132848);
+emit_32(1128228848);
+emit_32(1107562018);
+emit_32(1123680256);
+emit_32(1128228848);
+emit_32(1107828539);
+emit_32(1124132848);
+emit_32(1128484897);
+emit_32(1106914679);
+emit_32(1123680256);
+emit_32(1128484897);
+emit_32(1107302207);
+emit_32(1124132848);
+emit_32(1128740880);
+emit_32(1105855984);
+emit_32(1123680256);
+emit_32(1128740880);
+emit_32(1106125311);
+emit_32(1124132848);
+emit_32(1128996864);
+emit_32(1104645194);
+emit_32(1123680256);
+emit_32(1128996864);
+emit_32(1104882853);
+emit_32(1124132848);
+emit_32(1129252848);
+emit_32(1103670490);
+emit_32(1123680256);
+emit_32(1129252848);
+emit_32(1103712328);
+emit_32(1124132848);
+emit_32(1129508897);
+emit_32(1102923956);
+emit_32(1123680256);
+emit_32(1129508897);
+emit_32(1103248228);
+emit_32(1124132848);
+emit_32(1129764880);
+emit_32(1102092435);
+emit_32(1123680256);
+emit_32(1129764880);
+emit_32(1102281808);
+emit_32(1124132848);
+emit_32(1130020864);
+emit_32(1101172887);
+emit_32(1123680256);
+emit_32(1130020864);
+emit_32(1101935621);
+emit_32(1124132848);
+emit_32(1130276848);
+emit_32(1101025876);
+emit_32(1123680256);
+emit_32(1130276848);
+emit_32(1100815060);
+emit_32(1124132848);
+emit_32(1130532897);
+emit_32(1101065722);
+emit_32(1123680256);
+emit_32(1130532897);
+emit_32(1100889457);
+emit_32(1124132848);
+emit_32(1130788880);
+emit_32(1101130577);
+emit_32(1123680256);
+emit_32(1130788880);
+emit_32(1101023098);
+emit_32(1124132848);
+emit_32(1131044864);
+emit_32(1100802530);
+emit_32(1123680256);
+emit_32(1131044864);
+emit_32(1100560938);
+emit_32(1124132848);
+emit_32(1131300848);
+emit_32(1100276983);
+emit_32(1123680256);
+emit_32(1131300848);
+emit_32(1099884397);
+emit_32(1124132848);
+emit_32(1131556897);
+emit_32(1099626499);
+emit_32(1123680256);
+emit_32(1131556897);
+emit_32(1099776918);
+emit_32(1124132848);
+emit_32(1131812880);
+emit_32(1099785830);
+emit_32(1123680256);
+emit_32(1131812880);
+emit_32(1099406246);
+emit_32(1124132848);
+emit_32(1132068864);
+emit_32(1099641599);
+emit_32(1123680256);
+emit_32(1132068864);
+emit_32(1099062890);
+emit_32(1124132848);
+emit_32(1081737216);
+emit_32(1100235512);
+emit_32(1123168289);
+emit_32(1090125824);
+emit_32(1100861512);
+emit_32(1123168289);
+emit_32(1094418484);
+emit_32(1101523373);
+emit_32(1123168289);
+emit_32(1098514432);
+emit_32(1102177632);
+emit_32(1123168289);
+emit_32(1100759066);
+emit_32(1102223140);
+emit_32(1123168289);
+emit_32(1102807040);
+emit_32(1101084754);
+emit_32(1123168289);
+emit_32(1104855066);
+emit_32(1099931897);
+emit_32(1123168289);
+emit_32(1106903040);
+emit_32(1099771150);
+emit_32(1123168289);
+emit_32(1108123661);
+emit_32(1099034001);
+emit_32(1123168289);
+emit_32(1109147648);
+emit_32(1097525730);
+emit_32(1123168289);
+emit_32(1110171661);
+emit_32(1097329331);
+emit_32(1123168289);
+emit_32(1111195648);
+emit_32(1097895877);
+emit_32(1123168289);
+emit_32(1112219661);
+emit_32(1098267283);
+emit_32(1123168289);
+emit_32(1113243648);
+emit_32(1098019609);
+emit_32(1123168289);
+emit_32(1114267661);
+emit_32(1097783994);
+emit_32(1123168289);
+emit_32(1115291648);
+emit_32(1097984587);
+emit_32(1123168289);
+emit_32(1116000263);
+emit_32(1098022755);
+emit_32(1123168289);
+emit_32(1116512256);
+emit_32(1098026110);
+emit_32(1123168289);
+emit_32(1117024263);
+emit_32(1097933206);
+emit_32(1123168289);
+emit_32(1117536256);
+emit_32(1098931503);
+emit_32(1123168289);
+emit_32(1118048263);
+emit_32(1099231973);
+emit_32(1123168289);
+emit_32(1118560256);
+emit_32(1099649463);
+emit_32(1123168289);
+emit_32(1119072263);
+emit_32(1100347343);
+emit_32(1123168289);
+emit_32(1119584256);
+emit_32(1100400558);
+emit_32(1123168289);
+emit_32(1120096263);
+emit_32(1101890794);
+emit_32(1123168289);
+emit_32(1120608322);
+emit_32(1103399223);
+emit_32(1123168289);
+emit_32(1121120289);
+emit_32(1104023703);
+emit_32(1123168289);
+emit_32(1121632256);
+emit_32(1104903930);
+emit_32(1123168289);
+emit_32(1122144223);
+emit_32(1105787670);
+emit_32(1123168289);
+emit_32(1122656322);
+emit_32(1106319507);
+emit_32(1123168289);
+emit_32(1123168289);
+emit_32(1107324096);
+emit_32(1123168289);
+emit_32(1123680256);
+emit_32(1107997229);
+emit_32(1123168289);
+emit_32(1124132848);
+emit_32(1108634344);
+emit_32(1123168289);
+emit_32(1124388897);
+emit_32(1108819601);
+emit_32(1123168289);
+emit_32(1124644880);
+emit_32(1108814096);
+emit_32(1123168289);
+emit_32(1124900864);
+emit_32(1108757106);
+emit_32(1123168289);
+emit_32(1125156848);
+emit_32(1108647897);
+emit_32(1123168289);
+emit_32(1125412897);
+emit_32(1108920920);
+emit_32(1123168289);
+emit_32(1125668880);
+emit_32(1109111000);
+emit_32(1123168289);
+emit_32(1125924864);
+emit_32(1109475302);
+emit_32(1123168289);
+emit_32(1126180848);
+emit_32(1109573422);
+emit_32(1123168289);
+emit_32(1126436897);
+emit_32(1109272140);
+emit_32(1123168289);
+emit_32(1126692880);
+emit_32(1108874101);
+emit_32(1123168289);
+emit_32(1126948864);
+emit_32(1108464710);
+emit_32(1123168289);
+emit_32(1127204848);
+emit_32(1108148460);
+emit_32(1123168289);
+emit_32(1127460897);
+emit_32(1107996416);
+emit_32(1123168289);
+emit_32(1127716880);
+emit_32(1107704781);
+emit_32(1123168289);
+emit_32(1127972864);
+emit_32(1107621603);
+emit_32(1123168289);
+emit_32(1128228848);
+emit_32(1107169798);
+emit_32(1123168289);
+emit_32(1128484897);
+emit_32(1106434222);
+emit_32(1123168289);
+emit_32(1128740880);
+emit_32(1105659953);
+emit_32(1123168289);
+emit_32(1128996864);
+emit_32(1104548410);
+emit_32(1123168289);
+emit_32(1129252848);
+emit_32(1103654289);
+emit_32(1123168289);
+emit_32(1129508897);
+emit_32(1102602673);
+emit_32(1123168289);
+emit_32(1129764880);
+emit_32(1101366401);
+emit_32(1123168289);
+emit_32(1130020864);
+emit_32(1100673240);
+emit_32(1123168289);
+emit_32(1130276848);
+emit_32(1100637012);
+emit_32(1123168289);
+emit_32(1130532897);
+emit_32(1101126015);
+emit_32(1123168289);
+emit_32(1130788880);
+emit_32(1101170999);
+emit_32(1123168289);
+emit_32(1131044864);
+emit_32(1101134194);
+emit_32(1123168289);
+emit_32(1131300848);
+emit_32(1101200569);
+emit_32(1123168289);
+emit_32(1131556897);
+emit_32(1100148952);
+emit_32(1123168289);
+emit_32(1131812880);
+emit_32(1099244241);
+emit_32(1123168289);
+emit_32(1132068864);
+emit_32(1099746247);
+emit_32(1123168289);
+emit_32(1081737216);
+emit_32(1100438045);
+emit_32(1122656322);
+emit_32(1090125824);
+emit_32(1100591871);
+emit_32(1122656322);
+emit_32(1094418484);
+emit_32(1101406352);
+emit_32(1122656322);
+emit_32(1098514432);
+emit_32(1101309359);
+emit_32(1122656322);
+emit_32(1100759066);
+emit_32(1101169112);
+emit_32(1122656322);
+emit_32(1102807040);
+emit_32(1100305872);
+emit_32(1122656322);
+emit_32(1104855066);
+emit_32(1099701682);
+emit_32(1122656322);
+emit_32(1106903040);
+emit_32(1099474561);
+emit_32(1122656322);
+emit_32(1108123661);
+emit_32(1098570950);
+emit_32(1122656322);
+emit_32(1109147648);
+emit_32(1097605421);
+emit_32(1122656322);
+emit_32(1110171661);
+emit_32(1097274386);
+emit_32(1122656322);
+emit_32(1111195648);
+emit_32(1097648413);
+emit_32(1122656322);
+emit_32(1112219661);
+emit_32(1097935199);
+emit_32(1122656322);
+emit_32(1113243648);
+emit_32(1097655229);
+emit_32(1122656322);
+emit_32(1114267661);
+emit_32(1098651795);
+emit_32(1122656322);
+emit_32(1115291648);
+emit_32(1099066193);
+emit_32(1122656322);
+emit_32(1116000263);
+emit_32(1098931189);
+emit_32(1122656322);
+emit_32(1116512256);
+emit_32(1098814849);
+emit_32(1122656322);
+emit_32(1117024263);
+emit_32(1098993264);
+emit_32(1122656322);
+emit_32(1117536256);
+emit_32(1099606157);
+emit_32(1122656322);
+emit_32(1118048263);
+emit_32(1099571344);
+emit_32(1122656322);
+emit_32(1118560256);
+emit_32(1099949408);
+emit_32(1122656322);
+emit_32(1119072263);
+emit_32(1100115817);
+emit_32(1122656322);
+emit_32(1119584256);
+emit_32(1100095947);
+emit_32(1122656322);
+emit_32(1120096263);
+emit_32(1100761740);
+emit_32(1122656322);
+emit_32(1120608322);
+emit_32(1101924191);
+emit_32(1122656322);
+emit_32(1121120289);
+emit_32(1102920810);
+emit_32(1122656322);
+emit_32(1121632256);
+emit_32(1103899499);
+emit_32(1122656322);
+emit_32(1122144223);
+emit_32(1105260918);
+emit_32(1122656322);
+emit_32(1122656322);
+emit_32(1106034347);
+emit_32(1122656322);
+emit_32(1123168289);
+emit_32(1107198004);
+emit_32(1122656322);
+emit_32(1123680256);
+emit_32(1107826495);
+emit_32(1122656322);
+emit_32(1124132848);
+emit_32(1108446937);
+emit_32(1122656322);
+emit_32(1124388897);
+emit_32(1108618065);
+emit_32(1122656322);
+emit_32(1124644880);
+emit_32(1108561835);
+emit_32(1122656322);
+emit_32(1124900864);
+emit_32(1108406410);
+emit_32(1122656322);
+emit_32(1125156848);
+emit_32(1108576174);
+emit_32(1122656322);
+emit_32(1125412897);
+emit_32(1109301448);
+emit_32(1122656322);
+emit_32(1125668880);
+emit_32(1109829249);
+emit_32(1122656322);
+emit_32(1125924864);
+emit_32(1110051154);
+emit_32(1122656322);
+emit_32(1126180848);
+emit_32(1110198478);
+emit_32(1122656322);
+emit_32(1126436897);
+emit_32(1109858268);
+emit_32(1122656322);
+emit_32(1126692880);
+emit_32(1109550301);
+emit_32(1122656322);
+emit_32(1126948864);
+emit_32(1108917669);
+emit_32(1122656322);
+emit_32(1127204848);
+emit_32(1108613005);
+emit_32(1122656322);
+emit_32(1127460897);
+emit_32(1108306375);
+emit_32(1122656322);
+emit_32(1127716880);
+emit_32(1107971382);
+emit_32(1122656322);
+emit_32(1127972864);
+emit_32(1107731022);
+emit_32(1122656322);
+emit_32(1128228848);
+emit_32(1107436241);
+emit_32(1122656322);
+emit_32(1128484897);
+emit_32(1106805103);
+emit_32(1122656322);
+emit_32(1128740880);
+emit_32(1105736132);
+emit_32(1122656322);
+emit_32(1128996864);
+emit_32(1104687818);
+emit_32(1122656322);
+emit_32(1129252848);
+emit_32(1103709969);
+emit_32(1122656322);
+emit_32(1129508897);
+emit_32(1102382734);
+emit_32(1122656322);
+emit_32(1129764880);
+emit_32(1101330121);
+emit_32(1122656322);
+emit_32(1130020864);
+emit_32(1100614520);
+emit_32(1122656322);
+emit_32(1130276848);
+emit_32(1100389233);
+emit_32(1122656322);
+emit_32(1130532897);
+emit_32(1100597690);
+emit_32(1122656322);
+emit_32(1130788880);
+emit_32(1101237636);
+emit_32(1122656322);
+emit_32(1131044864);
+emit_32(1101286500);
+emit_32(1122656322);
+emit_32(1131300848);
+emit_32(1101166386);
+emit_32(1122656322);
+emit_32(1131556897);
+emit_32(1100711041);
+emit_32(1122656322);
+emit_32(1131812880);
+emit_32(1099946053);
+emit_32(1122656322);
+emit_32(1132068864);
+emit_32(1099609932);
+emit_32(1122656322);
+emit_32(1081737216);
+emit_32(1100139620);
+emit_32(1122144223);
+emit_32(1090125824);
+emit_32(1100323697);
+emit_32(1122144223);
+emit_32(1094418484);
+emit_32(1100674708);
+emit_32(1122144223);
+emit_32(1098514432);
+emit_32(1100753299);
+emit_32(1122144223);
+emit_32(1100759066);
+emit_32(1100255278);
+emit_32(1122144223);
+emit_32(1102807040);
+emit_32(1099783052);
+emit_32(1122144223);
+emit_32(1104855066);
+emit_32(1099327131);
+emit_32(1122144223);
+emit_32(1106903040);
+emit_32(1099190764);
+emit_32(1122144223);
+emit_32(1108123661);
+emit_32(1098756443);
+emit_32(1122144223);
+emit_32(1109147648);
+emit_32(1097994967);
+emit_32(1122144223);
+emit_32(1110171661);
+emit_32(1098760743);
+emit_32(1122144223);
+emit_32(1111195648);
+emit_32(1099136762);
+emit_32(1122144223);
+emit_32(1112219661);
+emit_32(1099063729);
+emit_32(1122144223);
+emit_32(1113243648);
+emit_32(1099278634);
+emit_32(1122144223);
+emit_32(1114267661);
+emit_32(1099336883);
+emit_32(1122144223);
+emit_32(1115291648);
+emit_32(1099511261);
+emit_32(1122144223);
+emit_32(1116000263);
+emit_32(1099185311);
+emit_32(1122144223);
+emit_32(1116512256);
+emit_32(1098779931);
+emit_32(1122144223);
+emit_32(1117024263);
+emit_32(1099229561);
+emit_32(1122144223);
+emit_32(1117536256);
+emit_32(1099456787);
+emit_32(1122144223);
+emit_32(1118048263);
+emit_32(1099608673);
+emit_32(1122144223);
+emit_32(1118560256);
+emit_32(1099933417);
+emit_32(1122144223);
+emit_32(1119072263);
+emit_32(1100161640);
+emit_32(1122144223);
+emit_32(1119584256);
+emit_32(1100494039);
+emit_32(1122144223);
+emit_32(1120096263);
+emit_32(1100626841);
+emit_32(1122144223);
+emit_32(1120608322);
+emit_32(1101085173);
+emit_32(1122144223);
+emit_32(1121120289);
+emit_32(1102206573);
+emit_32(1122144223);
+emit_32(1121632256);
+emit_32(1103460303);
+emit_32(1122144223);
+emit_32(1122144223);
+emit_32(1104032825);
+emit_32(1122144223);
+emit_32(1122656322);
+emit_32(1105660740);
+emit_32(1122144223);
+emit_32(1123168289);
+emit_32(1106883065);
+emit_32(1122144223);
+emit_32(1123680256);
+emit_32(1107680480);
+emit_32(1122144223);
+emit_32(1124132848);
+emit_32(1108110344);
+emit_32(1122144223);
+emit_32(1124388897);
+emit_32(1108454854);
+emit_32(1122144223);
+emit_32(1124644880);
+emit_32(1108686065);
+emit_32(1122144223);
+emit_32(1124900864);
+emit_32(1108654057);
+emit_32(1122144223);
+emit_32(1125156848);
+emit_32(1108922519);
+emit_32(1122144223);
+emit_32(1125412897);
+emit_32(1109770450);
+emit_32(1122144223);
+emit_32(1125668880);
+emit_32(1110434487);
+emit_32(1122144223);
+emit_32(1125924864);
+emit_32(1110705884);
+emit_32(1122144223);
+emit_32(1126180848);
+emit_32(1110743214);
+emit_32(1122144223);
+emit_32(1126436897);
+emit_32(1110390656);
+emit_32(1122144223);
+emit_32(1126692880);
+emit_32(1110053093);
+emit_32(1122144223);
+emit_32(1126948864);
+emit_32(1109488042);
+emit_32(1122144223);
+emit_32(1127204848);
+emit_32(1108960713);
+emit_32(1122144223);
+emit_32(1127460897);
+emit_32(1108725701);
+emit_32(1122144223);
+emit_32(1127716880);
+emit_32(1108233840);
+emit_32(1122144223);
+emit_32(1127972864);
+emit_32(1107884455);
+emit_32(1122144223);
+emit_32(1128228848);
+emit_32(1107301971);
+emit_32(1122144223);
+emit_32(1128484897);
+emit_32(1106353639);
+emit_32(1122144223);
+emit_32(1128740880);
+emit_32(1105631956);
+emit_32(1122144223);
+emit_32(1128996864);
+emit_32(1104783920);
+emit_32(1122144223);
+emit_32(1129252848);
+emit_32(1103622046);
+emit_32(1122144223);
+emit_32(1129508897);
+emit_32(1102332926);
+emit_32(1122144223);
+emit_32(1129764880);
+emit_32(1100887622);
+emit_32(1122144223);
+emit_32(1130020864);
+emit_32(1100248410);
+emit_32(1122144223);
+emit_32(1130276848);
+emit_32(1100033242);
+emit_32(1122144223);
+emit_32(1130532897);
+emit_32(1099938346);
+emit_32(1122144223);
+emit_32(1130788880);
+emit_32(1100585370);
+emit_32(1122144223);
+emit_32(1131044864);
+emit_32(1101043650);
+emit_32(1122144223);
+emit_32(1131300848);
+emit_32(1101065565);
+emit_32(1122144223);
+emit_32(1131556897);
+emit_32(1100500540);
+emit_32(1122144223);
+emit_32(1131812880);
+emit_32(1100135373);
+emit_32(1122144223);
+emit_32(1132068864);
+emit_32(1100354840);
+emit_32(1122144223);
+emit_32(1081737216);
+emit_32(1099957115);
+emit_32(1121632256);
+emit_32(1090125824);
+emit_32(1100037593);
+emit_32(1121632256);
+emit_32(1094418484);
+emit_32(1100062445);
+emit_32(1121632256);
+emit_32(1098514432);
+emit_32(1100063284);
+emit_32(1121632256);
+emit_32(1100759066);
+emit_32(1099841195);
+emit_32(1121632256);
+emit_32(1102807040);
+emit_32(1099713898);
+emit_32(1121632256);
+emit_32(1104855066);
+emit_32(1099359951);
+emit_32(1121632256);
+emit_32(1106903040);
+emit_32(1098837289);
+emit_32(1121632256);
+emit_32(1108123661);
+emit_32(1098060399);
+emit_32(1121632256);
+emit_32(1109147648);
+emit_32(1098949381);
+emit_32(1121632256);
+emit_32(1110171661);
+emit_32(1099007001);
+emit_32(1121632256);
+emit_32(1111195648);
+emit_32(1098883950);
+emit_32(1121632256);
+emit_32(1112219661);
+emit_32(1099407242);
+emit_32(1121632256);
+emit_32(1113243648);
+emit_32(1099479174);
+emit_32(1121632256);
+emit_32(1114267661);
+emit_32(1099627076);
+emit_32(1121632256);
+emit_32(1115291648);
+emit_32(1099212207);
+emit_32(1121632256);
+emit_32(1116000263);
+emit_32(1099332898);
+emit_32(1121632256);
+emit_32(1116512256);
+emit_32(1099391985);
+emit_32(1121632256);
+emit_32(1117024263);
+emit_32(1099349203);
+emit_32(1121632256);
+emit_32(1117536256);
+emit_32(1099452960);
+emit_32(1121632256);
+emit_32(1118048263);
+emit_32(1099360476);
+emit_32(1121632256);
+emit_32(1118560256);
+emit_32(1099645374);
+emit_32(1121632256);
+emit_32(1119072263);
+emit_32(1099926864);
+emit_32(1121632256);
+emit_32(1119584256);
+emit_32(1100231737);
+emit_32(1121632256);
+emit_32(1120096263);
+emit_32(1100104545);
+emit_32(1121632256);
+emit_32(1120608322);
+emit_32(1100531630);
+emit_32(1121632256);
+emit_32(1121120289);
+emit_32(1101229824);
+emit_32(1121632256);
+emit_32(1121632256);
+emit_32(1102138835);
+emit_32(1121632256);
+emit_32(1122144223);
+emit_32(1103981340);
+emit_32(1121632256);
+emit_32(1122656322);
+emit_32(1105126595);
+emit_32(1121632256);
+emit_32(1123168289);
+emit_32(1106590722);
+emit_32(1121632256);
+emit_32(1123680256);
+emit_32(1107669182);
+emit_32(1121632256);
+emit_32(1124132848);
+emit_32(1107932296);
+emit_32(1121632256);
+emit_32(1124388897);
+emit_32(1108574129);
+emit_32(1121632256);
+emit_32(1124644880);
+emit_32(1108726278);
+emit_32(1121632256);
+emit_32(1124900864);
+emit_32(1108737393);
+emit_32(1121632256);
+emit_32(1125156848);
+emit_32(1109413095);
+emit_32(1121632256);
+emit_32(1125412897);
+emit_32(1110114933);
+emit_32(1121632256);
+emit_32(1125668880);
+emit_32(1110645303);
+emit_32(1121632256);
+emit_32(1125924864);
+emit_32(1111013117);
+emit_32(1121632256);
+emit_32(1126180848);
+emit_32(1111064655);
+emit_32(1121632256);
+emit_32(1126436897);
+emit_32(1110758890);
+emit_32(1121632256);
+emit_32(1126692880);
+emit_32(1110376107);
+emit_32(1121632256);
+emit_32(1126948864);
+emit_32(1109822407);
+emit_32(1121632256);
+emit_32(1127204848);
+emit_32(1109326797);
+emit_32(1121632256);
+emit_32(1127460897);
+emit_32(1108601838);
+emit_32(1121632256);
+emit_32(1127716880);
+emit_32(1108258010);
+emit_32(1121632256);
+emit_32(1127972864);
+emit_32(1108088245);
+emit_32(1121632256);
+emit_32(1128228848);
+emit_32(1107411154);
+emit_32(1121632256);
+emit_32(1128484897);
+emit_32(1106040377);
+emit_32(1121632256);
+emit_32(1128740880);
+emit_32(1105294629);
+emit_32(1121632256);
+emit_32(1128996864);
+emit_32(1104278664);
+emit_32(1121632256);
+emit_32(1129252848);
+emit_32(1103177554);
+emit_32(1121632256);
+emit_32(1129508897);
+emit_32(1102109580);
+emit_32(1121632256);
+emit_32(1129764880);
+emit_32(1101025824);
+emit_32(1121632256);
+emit_32(1130020864);
+emit_32(1099990984);
+emit_32(1121632256);
+emit_32(1130276848);
+emit_32(1099361681);
+emit_32(1121632256);
+emit_32(1130532897);
+emit_32(1099399011);
+emit_32(1121632256);
+emit_32(1130788880);
+emit_32(1099424229);
+emit_32(1121632256);
+emit_32(1131044864);
+emit_32(1099786407);
+emit_32(1121632256);
+emit_32(1131300848);
+emit_32(1100148585);
+emit_32(1121632256);
+emit_32(1131556897);
+emit_32(1100174118);
+emit_32(1121632256);
+emit_32(1131812880);
+emit_32(1100070047);
+emit_32(1121632256);
+emit_32(1132068864);
+emit_32(1100267704);
+emit_32(1121632256);
+emit_32(1081737216);
+emit_32(1099935672);
+emit_32(1121120289);
+emit_32(1090125824);
+emit_32(1100185285);
+emit_32(1121120289);
+emit_32(1094418484);
+emit_32(1100187225);
+emit_32(1121120289);
+emit_32(1098514432);
+emit_32(1099887280);
+emit_32(1121120289);
+emit_32(1100759066);
+emit_32(1099826148);
+emit_32(1121120289);
+emit_32(1102807040);
+emit_32(1099732563);
+emit_32(1121120289);
+emit_32(1104855066);
+emit_32(1099085749);
+emit_32(1121120289);
+emit_32(1106903040);
+emit_32(1098762735);
+emit_32(1121120289);
+emit_32(1108123661);
+emit_32(1098970248);
+emit_32(1121120289);
+emit_32(1109147648);
+emit_32(1099373740);
+emit_32(1121120289);
+emit_32(1110171661);
+emit_32(1099054658);
+emit_32(1121120289);
+emit_32(1111195648);
+emit_32(1098747635);
+emit_32(1121120289);
+emit_32(1112219661);
+emit_32(1099059272);
+emit_32(1121120289);
+emit_32(1113243648);
+emit_32(1099057280);
+emit_32(1121120289);
+emit_32(1114267661);
+emit_32(1099293943);
+emit_32(1121120289);
+emit_32(1115291648);
+emit_32(1099644535);
+emit_32(1121120289);
+emit_32(1116000263);
+emit_32(1099369441);
+emit_32(1121120289);
+emit_32(1116512256);
+emit_32(1099598817);
+emit_32(1121120289);
+emit_32(1117024263);
+emit_32(1099807641);
+emit_32(1121120289);
+emit_32(1117536256);
+emit_32(1099466382);
+emit_32(1121120289);
+emit_32(1118048263);
+emit_32(1099290640);
+emit_32(1121120289);
+emit_32(1118560256);
+emit_32(1099113641);
+emit_32(1121120289);
+emit_32(1119072263);
+emit_32(1099247124);
+emit_32(1121120289);
+emit_32(1119584256);
+emit_32(1099832754);
+emit_32(1121120289);
+emit_32(1120096263);
+emit_32(1100177054);
+emit_32(1121120289);
+emit_32(1120608322);
+emit_32(1100171549);
+emit_32(1121120289);
+emit_32(1121120289);
+emit_32(1100677172);
+emit_32(1121120289);
+emit_32(1121632256);
+emit_32(1101971063);
+emit_32(1121120289);
+emit_32(1122144223);
+emit_32(1103633737);
+emit_32(1121120289);
+emit_32(1122656322);
+emit_32(1104631195);
+emit_32(1121120289);
+emit_32(1123168289);
+emit_32(1106163951);
+emit_32(1121120289);
+emit_32(1123680256);
+emit_32(1107425676);
+emit_32(1121120289);
+emit_32(1124132848);
+emit_32(1107927394);
+emit_32(1121120289);
+emit_32(1124388897);
+emit_32(1108148145);
+emit_32(1121120289);
+emit_32(1124644880);
+emit_32(1108470268);
+emit_32(1121120289);
+emit_32(1124900864);
+emit_32(1108816246);
+emit_32(1121120289);
+emit_32(1125156848);
+emit_32(1109543145);
+emit_32(1121120289);
+emit_32(1125412897);
+emit_32(1110276781);
+emit_32(1121120289);
+emit_32(1125668880);
+emit_32(1110909649);
+emit_32(1121120289);
+emit_32(1125924864);
+emit_32(1111224091);
+emit_32(1121120289);
+emit_32(1126180848);
+emit_32(1111301135);
+emit_32(1121120289);
+emit_32(1126436897);
+emit_32(1111167992);
+emit_32(1121120289);
+emit_32(1126692880);
+emit_32(1110709345);
+emit_32(1121120289);
+emit_32(1126948864);
+emit_32(1110071837);
+emit_32(1121120289);
+emit_32(1127204848);
+emit_32(1109390262);
+emit_32(1121120289);
+emit_32(1127460897);
+emit_32(1108886238);
+emit_32(1121120289);
+emit_32(1127716880);
+emit_32(1108757814);
+emit_32(1121120289);
+emit_32(1127972864);
+emit_32(1108248258);
+emit_32(1121120289);
+emit_32(1128228848);
+emit_32(1107404862);
+emit_32(1121120289);
+emit_32(1128484897);
+emit_32(1106003467);
+emit_32(1121120289);
+emit_32(1128740880);
+emit_32(1104821354);
+emit_32(1121120289);
+emit_32(1128996864);
+emit_32(1104184607);
+emit_32(1121120289);
+emit_32(1129252848);
+emit_32(1103554570);
+emit_32(1121120289);
+emit_32(1129508897);
+emit_32(1102588989);
+emit_32(1121120289);
+emit_32(1129764880);
+emit_32(1101617378);
+emit_32(1121120289);
+emit_32(1130020864);
+emit_32(1100444598);
+emit_32(1121120289);
+emit_32(1130276848);
+emit_32(1099799619);
+emit_32(1121120289);
+emit_32(1130532897);
+emit_32(1099403939);
+emit_32(1121120289);
+emit_32(1130788880);
+emit_32(1099507276);
+emit_32(1121120289);
+emit_32(1131044864);
+emit_32(1099782737);
+emit_32(1121120289);
+emit_32(1131300848);
+emit_32(1099916535);
+emit_32(1121120289);
+emit_32(1131556897);
+emit_32(1099956486);
+emit_32(1121120289);
+emit_32(1131812880);
+emit_32(1100280182);
+emit_32(1121120289);
+emit_32(1132068864);
+emit_32(1100594020);
+emit_32(1121120289);
+emit_32(1081737216);
+emit_32(1099802817);
+emit_32(1120608322);
+emit_32(1090125824);
+emit_32(1100171706);
+emit_32(1120608322);
+emit_32(1094418484);
+emit_32(1099951820);
+emit_32(1120608322);
+emit_32(1098514432);
+emit_32(1100236666);
+emit_32(1120608322);
+emit_32(1100759066);
+emit_32(1100302621);
+emit_32(1120608322);
+emit_32(1102807040);
+emit_32(1099644797);
+emit_32(1120608322);
+emit_32(1104855066);
+emit_32(1099555458);
+emit_32(1120608322);
+emit_32(1106903040);
+emit_32(1099452645);
+emit_32(1120608322);
+emit_32(1108123661);
+emit_32(1099951138);
+emit_32(1120608322);
+emit_32(1109147648);
+emit_32(1100092696);
+emit_32(1120608322);
+emit_32(1110171661);
+emit_32(1099905735);
+emit_32(1120608322);
+emit_32(1111195648);
+emit_32(1099555563);
+emit_32(1120608322);
+emit_32(1112219661);
+emit_32(1098964743);
+emit_32(1120608322);
+emit_32(1113243648);
+emit_32(1099224475);
+emit_32(1120608322);
+emit_32(1114267661);
+emit_32(1099204185);
+emit_32(1120608322);
+emit_32(1115291648);
+emit_32(1099361419);
+emit_32(1120608322);
+emit_32(1116000263);
+emit_32(1099438385);
+emit_32(1120608322);
+emit_32(1116512256);
+emit_32(1099693294);
+emit_32(1120608322);
+emit_32(1117024263);
+emit_32(1099966448);
+emit_32(1120608322);
+emit_32(1117536256);
+emit_32(1099611085);
+emit_32(1120608322);
+emit_32(1118048263);
+emit_32(1099352087);
+emit_32(1120608322);
+emit_32(1118560256);
+emit_32(1098341627);
+emit_32(1120608322);
+emit_32(1119072263);
+emit_32(1098488322);
+emit_32(1120608322);
+emit_32(1119584256);
+emit_32(1099373688);
+emit_32(1120608322);
+emit_32(1120096263);
+emit_32(1099586286);
+emit_32(1120608322);
+emit_32(1120608322);
+emit_32(1099611819);
+emit_32(1120608322);
+emit_32(1121120289);
+emit_32(1100077125);
+emit_32(1120608322);
+emit_32(1121632256);
+emit_32(1101296094);
+emit_32(1120608322);
+emit_32(1122144223);
+emit_32(1102346872);
+emit_32(1120608322);
+emit_32(1122656322);
+emit_32(1103678512);
+emit_32(1120608322);
+emit_32(1123168289);
+emit_32(1105306478);
+emit_32(1120608322);
+emit_32(1123680256);
+emit_32(1106488852);
+emit_32(1120608322);
+emit_32(1124132848);
+emit_32(1107446438);
+emit_32(1120608322);
+emit_32(1124388897);
+emit_32(1107966506);
+emit_32(1120608322);
+emit_32(1124644880);
+emit_32(1108466205);
+emit_32(1120608322);
+emit_32(1124900864);
+emit_32(1108823481);
+emit_32(1120608322);
+emit_32(1125156848);
+emit_32(1109507624);
+emit_32(1120608322);
+emit_32(1125412897);
+emit_32(1110351387);
+emit_32(1120608322);
+emit_32(1125668880);
+emit_32(1111019749);
+emit_32(1120608322);
+emit_32(1125924864);
+emit_32(1111329971);
+emit_32(1120608322);
+emit_32(1126180848);
+emit_32(1111365308);
+emit_32(1120608322);
+emit_32(1126436897);
+emit_32(1111184166);
+emit_32(1120608322);
+emit_32(1126692880);
+emit_32(1110574760);
+emit_32(1120608322);
+emit_32(1126948864);
+emit_32(1110380328);
+emit_32(1120608322);
+emit_32(1127204848);
+emit_32(1109912165);
+emit_32(1120608322);
+emit_32(1127460897);
+emit_32(1109599191);
+emit_32(1120608322);
+emit_32(1127716880);
+emit_32(1109069372);
+emit_32(1120608322);
+emit_32(1127972864);
+emit_32(1108386487);
+emit_32(1120608322);
+emit_32(1128228848);
+emit_32(1107668422);
+emit_32(1120608322);
+emit_32(1128484897);
+emit_32(1106120173);
+emit_32(1120608322);
+emit_32(1128740880);
+emit_32(1104797657);
+emit_32(1120608322);
+emit_32(1128996864);
+emit_32(1104352117);
+emit_32(1120608322);
+emit_32(1129252848);
+emit_32(1103791338);
+emit_32(1120608322);
+emit_32(1129508897);
+emit_32(1102834355);
+emit_32(1120608322);
+emit_32(1129764880);
+emit_32(1102173438);
+emit_32(1120608322);
+emit_32(1130020864);
+emit_32(1101005534);
+emit_32(1120608322);
+emit_32(1130276848);
+emit_32(1100530582);
+emit_32(1120608322);
+emit_32(1130532897);
+emit_32(1099941020);
+emit_32(1120608322);
+emit_32(1130788880);
+emit_32(1099395393);
+emit_32(1120608322);
+emit_32(1131044864);
+emit_32(1099621676);
+emit_32(1120608322);
+emit_32(1131300848);
+emit_32(1099449605);
+emit_32(1120608322);
+emit_32(1131556897);
+emit_32(1099506595);
+emit_32(1120608322);
+emit_32(1131812880);
+emit_32(1100131336);
+emit_32(1120608322);
+emit_32(1132068864);
+emit_32(1100624377);
+emit_32(1120608322);
+emit_32(1081737216);
+emit_32(1099965451);
+emit_32(1120096263);
+emit_32(1090125824);
+emit_32(1100056678);
+emit_32(1120096263);
+emit_32(1094418484);
+emit_32(1099809423);
+emit_32(1120096263);
+emit_32(1098514432);
+emit_32(1100136789);
+emit_32(1120096263);
+emit_32(1100759066);
+emit_32(1100328573);
+emit_32(1120096263);
+emit_32(1102807040);
+emit_32(1099649149);
+emit_32(1120096263);
+emit_32(1104855066);
+emit_32(1099960680);
+emit_32(1120096263);
+emit_32(1106903040);
+emit_32(1100214383);
+emit_32(1120096263);
+emit_32(1108123661);
+emit_32(1100707214);
+emit_32(1120096263);
+emit_32(1109147648);
+emit_32(1100899838);
+emit_32(1120096263);
+emit_32(1110171661);
+emit_32(1100765934);
+emit_32(1120096263);
+emit_32(1111195648);
+emit_32(1100769552);
+emit_32(1120096263);
+emit_32(1112219661);
+emit_32(1099924609);
+emit_32(1120096263);
+emit_32(1113243648);
+emit_32(1099242301);
+emit_32(1120096263);
+emit_32(1114267661);
+emit_32(1098940101);
+emit_32(1120096263);
+emit_32(1115291648);
+emit_32(1099295726);
+emit_32(1120096263);
+emit_32(1116000263);
+emit_32(1099408343);
+emit_32(1120096263);
+emit_32(1116512256);
+emit_32(1099741895);
+emit_32(1120096263);
+emit_32(1117024263);
+emit_32(1099493854);
+emit_32(1120096263);
+emit_32(1117536256);
+emit_32(1099382810);
+emit_32(1120096263);
+emit_32(1118048263);
+emit_32(1099116734);
+emit_32(1120096263);
+emit_32(1118560256);
+emit_32(1098839491);
+emit_32(1120096263);
+emit_32(1119072263);
+emit_32(1098942461);
+emit_32(1120096263);
+emit_32(1119584256);
+emit_32(1099008626);
+emit_32(1120096263);
+emit_32(1120096263);
+emit_32(1099170002);
+emit_32(1120096263);
+emit_32(1120608322);
+emit_32(1099494064);
+emit_32(1120096263);
+emit_32(1121120289);
+emit_32(1099581830);
+emit_32(1120096263);
+emit_32(1121632256);
+emit_32(1100481875);
+emit_32(1120096263);
+emit_32(1122144223);
+emit_32(1101530032);
+emit_32(1120096263);
+emit_32(1122656322);
+emit_32(1102909853);
+emit_32(1120096263);
+emit_32(1123168289);
+emit_32(1104403812);
+emit_32(1120096263);
+emit_32(1123680256);
+emit_32(1105884611);
+emit_32(1120096263);
+emit_32(1124132848);
+emit_32(1107445731);
+emit_32(1120096263);
+emit_32(1124388897);
+emit_32(1107970254);
+emit_32(1120096263);
+emit_32(1124644880);
+emit_32(1108388505);
+emit_32(1120096263);
+emit_32(1124900864);
+emit_32(1108761877);
+emit_32(1120096263);
+emit_32(1125156848);
+emit_32(1109478133);
+emit_32(1120096263);
+emit_32(1125412897);
+emit_32(1110090973);
+emit_32(1120096263);
+emit_32(1125668880);
+emit_32(1110851033);
+emit_32(1120096263);
+emit_32(1125924864);
+emit_32(1111411497);
+emit_32(1120096263);
+emit_32(1126180848);
+emit_32(1111336655);
+emit_32(1120096263);
+emit_32(1126436897);
+emit_32(1111269415);
+emit_32(1120096263);
+emit_32(1126692880);
+emit_32(1110784292);
+emit_32(1120096263);
+emit_32(1126948864);
+emit_32(1110653508);
+emit_32(1120096263);
+emit_32(1127204848);
+emit_32(1110359330);
+emit_32(1120096263);
+emit_32(1127460897);
+emit_32(1109834623);
+emit_32(1120096263);
+emit_32(1127716880);
+emit_32(1109238009);
+emit_32(1120096263);
+emit_32(1127972864);
+emit_32(1108505212);
+emit_32(1120096263);
+emit_32(1128228848);
+emit_32(1107662209);
+emit_32(1120096263);
+emit_32(1128484897);
+emit_32(1106214755);
+emit_32(1120096263);
+emit_32(1128740880);
+emit_32(1105231400);
+emit_32(1120096263);
+emit_32(1128996864);
+emit_32(1104882277);
+emit_32(1120096263);
+emit_32(1129252848);
+emit_32(1103989781);
+emit_32(1120096263);
+emit_32(1129508897);
+emit_32(1103333268);
+emit_32(1120096263);
+emit_32(1129764880);
+emit_32(1102701186);
+emit_32(1120096263);
+emit_32(1130020864);
+emit_32(1101762396);
+emit_32(1120096263);
+emit_32(1130276848);
+emit_32(1100764257);
+emit_32(1120096263);
+emit_32(1130532897);
+emit_32(1100213020);
+emit_32(1120096263);
+emit_32(1130788880);
+emit_32(1099813093);
+emit_32(1120096263);
+emit_32(1131044864);
+emit_32(1099177080);
+emit_32(1120096263);
+emit_32(1131300848);
+emit_32(1099042862);
+emit_32(1120096263);
+emit_32(1131556897);
+emit_32(1098988336);
+emit_32(1120096263);
+emit_32(1131812880);
+emit_32(1099476815);
+emit_32(1120096263);
+emit_32(1132068864);
+emit_32(1100226285);
+emit_32(1120096263);
+emit_32(1081737216);
+emit_32(1099519545);
+emit_32(1119584256);
+emit_32(1090125824);
+emit_32(1099335991);
+emit_32(1119584256);
+emit_32(1094418484);
+emit_32(1099709442);
+emit_32(1119584256);
+emit_32(1098514432);
+emit_32(1100359978);
+emit_32(1119584256);
+emit_32(1100759066);
+emit_32(1100132490);
+emit_32(1119584256);
+emit_32(1102807040);
+emit_32(1100526073);
+emit_32(1119584256);
+emit_32(1104855066);
+emit_32(1100876716);
+emit_32(1119584256);
+emit_32(1106903040);
+emit_32(1101010724);
+emit_32(1119584256);
+emit_32(1108123661);
+emit_32(1101185208);
+emit_32(1119584256);
+emit_32(1109147648);
+emit_32(1101761557);
+emit_32(1119584256);
+emit_32(1110171661);
+emit_32(1101844080);
+emit_32(1119584256);
+emit_32(1111195648);
+emit_32(1101813409);
+emit_32(1119584256);
+emit_32(1112219661);
+emit_32(1101402839);
+emit_32(1119584256);
+emit_32(1113243648);
+emit_32(1100438936);
+emit_32(1119584256);
+emit_32(1114267661);
+emit_32(1099786984);
+emit_32(1119584256);
+emit_32(1115291648);
+emit_32(1099715523);
+emit_32(1119584256);
+emit_32(1116000263);
+emit_32(1099745985);
+emit_32(1119584256);
+emit_32(1116512256);
+emit_32(1100093902);
+emit_32(1119584256);
+emit_32(1117024263);
+emit_32(1100168351);
+emit_32(1119584256);
+emit_32(1117536256);
+emit_32(1100068946);
+emit_32(1119584256);
+emit_32(1118048263);
+emit_32(1100204894);
+emit_32(1119584256);
+emit_32(1118560256);
+emit_32(1099776865);
+emit_32(1119584256);
+emit_32(1119072263);
+emit_32(1099815715);
+emit_32(1119584256);
+emit_32(1119584256);
+emit_32(1100174957);
+emit_32(1119584256);
+emit_32(1120096263);
+emit_32(1100503528);
+emit_32(1119584256);
+emit_32(1120608322);
+emit_32(1100870425);
+emit_32(1119584256);
+emit_32(1121120289);
+emit_32(1100930771);
+emit_32(1119584256);
+emit_32(1121632256);
+emit_32(1100869219);
+emit_32(1119584256);
+emit_32(1122144223);
+emit_32(1101778439);
+emit_32(1119584256);
+emit_32(1122656322);
+emit_32(1103199574);
+emit_32(1119584256);
+emit_32(1123168289);
+emit_32(1104588361);
+emit_32(1119584256);
+emit_32(1123680256);
+emit_32(1106227809);
+emit_32(1119584256);
+emit_32(1124132848);
+emit_32(1107512970);
+emit_32(1119584256);
+emit_32(1124388897);
+emit_32(1107998251);
+emit_32(1119584256);
+emit_32(1124644880);
+emit_32(1108347008);
+emit_32(1119584256);
+emit_32(1124900864);
+emit_32(1108602048);
+emit_32(1119584256);
+emit_32(1125156848);
+emit_32(1109290831);
+emit_32(1119584256);
+emit_32(1125412897);
+emit_32(1109977176);
+emit_32(1119584256);
+emit_32(1125668880);
+emit_32(1110570959);
+emit_32(1119584256);
+emit_32(1125924864);
+emit_32(1111274737);
+emit_32(1119584256);
+emit_32(1126180848);
+emit_32(1111376973);
+emit_32(1119584256);
+emit_32(1126436897);
+emit_32(1111218586);
+emit_32(1119584256);
+emit_32(1126692880);
+emit_32(1110884090);
+emit_32(1119584256);
+emit_32(1126948864);
+emit_32(1110905140);
+emit_32(1119584256);
+emit_32(1127204848);
+emit_32(1110659642);
+emit_32(1119584256);
+emit_32(1127460897);
+emit_32(1110072466);
+emit_32(1119584256);
+emit_32(1127716880);
+emit_32(1109486102);
+emit_32(1119584256);
+emit_32(1127972864);
+emit_32(1108855960);
+emit_32(1119584256);
+emit_32(1128228848);
+emit_32(1108119781);
+emit_32(1119584256);
+emit_32(1128484897);
+emit_32(1107034689);
+emit_32(1119584256);
+emit_32(1128740880);
+emit_32(1106087772);
+emit_32(1119584256);
+emit_32(1128996864);
+emit_32(1105093617);
+emit_32(1119584256);
+emit_32(1129252848);
+emit_32(1104335182);
+emit_32(1119584256);
+emit_32(1129508897);
+emit_32(1104074192);
+emit_32(1119584256);
+emit_32(1129764880);
+emit_32(1103483057);
+emit_32(1119584256);
+emit_32(1130020864);
+emit_32(1102981208);
+emit_32(1119584256);
+emit_32(1130276848);
+emit_32(1101489714);
+emit_32(1119584256);
+emit_32(1130532897);
+emit_32(1100552235);
+emit_32(1119584256);
+emit_32(1130788880);
+emit_32(1100255278);
+emit_32(1119584256);
+emit_32(1131044864);
+emit_32(1099722392);
+emit_32(1119584256);
+emit_32(1131300848);
+emit_32(1097754634);
+emit_32(1119584256);
+emit_32(1131556897);
+emit_32(1099078199);
+emit_32(1119584256);
+emit_32(1131812880);
+emit_32(1098909588);
+emit_32(1119584256);
+emit_32(1132068864);
+emit_32(1098899364);
+emit_32(1119584256);
+emit_32(1081737216);
+emit_32(1098532992);
+emit_32(1119072263);
+emit_32(1090125824);
+emit_32(1099050359);
+emit_32(1119072263);
+emit_32(1094418484);
+emit_32(1099771203);
+emit_32(1119072263);
+emit_32(1098514432);
+emit_32(1100405277);
+emit_32(1119072263);
+emit_32(1100759066);
+emit_32(1100821823);
+emit_32(1119072263);
+emit_32(1102807040);
+emit_32(1101489399);
+emit_32(1119072263);
+emit_32(1104855066);
+emit_32(1101426590);
+emit_32(1119072263);
+emit_32(1106903040);
+emit_32(1101124023);
+emit_32(1119072263);
+emit_32(1108123661);
+emit_32(1101831497);
+emit_32(1119072263);
+emit_32(1109147648);
+emit_32(1102350123);
+emit_32(1119072263);
+emit_32(1110171661);
+emit_32(1102793199);
+emit_32(1119072263);
+emit_32(1111195648);
+emit_32(1102843111);
+emit_32(1119072263);
+emit_32(1112219661);
+emit_32(1102558318);
+emit_32(1119072263);
+emit_32(1113243648);
+emit_32(1101824891);
+emit_32(1119072263);
+emit_32(1114267661);
+emit_32(1101196113);
+emit_32(1119072263);
+emit_32(1115291648);
+emit_32(1100804365);
+emit_32(1119072263);
+emit_32(1116000263);
+emit_32(1100310538);
+emit_32(1119072263);
+emit_32(1116512256);
+emit_32(1100314680);
+emit_32(1119072263);
+emit_32(1117024263);
+emit_32(1100878604);
+emit_32(1119072263);
+emit_32(1117536256);
+emit_32(1101233180);
+emit_32(1119072263);
+emit_32(1118048263);
+emit_32(1101099486);
+emit_32(1119072263);
+emit_32(1118560256);
+emit_32(1100717123);
+emit_32(1119072263);
+emit_32(1119072263);
+emit_32(1100634758);
+emit_32(1119072263);
+emit_32(1119584256);
+emit_32(1100997670);
+emit_32(1119072263);
+emit_32(1120096263);
+emit_32(1101349205);
+emit_32(1119072263);
+emit_32(1120608322);
+emit_32(1101475873);
+emit_32(1119072263);
+emit_32(1121120289);
+emit_32(1101425646);
+emit_32(1119072263);
+emit_32(1121632256);
+emit_32(1101796422);
+emit_32(1119072263);
+emit_32(1122144223);
+emit_32(1102446120);
+emit_32(1119072263);
+emit_32(1122656322);
+emit_32(1103203559);
+emit_32(1119072263);
+emit_32(1123168289);
+emit_32(1104856849);
+emit_32(1119072263);
+emit_32(1123680256);
+emit_32(1106223877);
+emit_32(1119072263);
+emit_32(1124132848);
+emit_32(1107396421);
+emit_32(1119072263);
+emit_32(1124388897);
+emit_32(1107875018);
+emit_32(1119072263);
+emit_32(1124644880);
+emit_32(1108277173);
+emit_32(1119072263);
+emit_32(1124900864);
+emit_32(1108512814);
+emit_32(1119072263);
+emit_32(1125156848);
+emit_32(1109177296);
+emit_32(1119072263);
+emit_32(1125412897);
+emit_32(1109962811);
+emit_32(1119072263);
+emit_32(1125668880);
+emit_32(1110386698);
+emit_32(1119072263);
+emit_32(1125924864);
+emit_32(1110954895);
+emit_32(1119072263);
+emit_32(1126180848);
+emit_32(1111373146);
+emit_32(1119072263);
+emit_32(1126436897);
+emit_32(1111232741);
+emit_32(1119072263);
+emit_32(1126692880);
+emit_32(1110968474);
+emit_32(1119072263);
+emit_32(1126948864);
+emit_32(1110976076);
+emit_32(1119072263);
+emit_32(1127204848);
+emit_32(1110947948);
+emit_32(1119072263);
+emit_32(1127460897);
+emit_32(1110319458);
+emit_32(1119072263);
+emit_32(1127716880);
+emit_32(1109529802);
+emit_32(1119072263);
+emit_32(1127972864);
+emit_32(1108903985);
+emit_32(1119072263);
+emit_32(1128228848);
+emit_32(1108310439);
+emit_32(1119072263);
+emit_32(1128484897);
+emit_32(1107575387);
+emit_32(1119072263);
+emit_32(1128740880);
+emit_32(1106795613);
+emit_32(1119072263);
+emit_32(1128996864);
+emit_32(1105037099);
+emit_32(1119072263);
+emit_32(1129252848);
+emit_32(1104566131);
+emit_32(1119072263);
+emit_32(1129508897);
+emit_32(1104325640);
+emit_32(1119072263);
+emit_32(1129764880);
+emit_32(1103661315);
+emit_32(1119072263);
+emit_32(1130020864);
+emit_32(1102795191);
+emit_32(1119072263);
+emit_32(1130276848);
+emit_32(1101517868);
+emit_32(1119072263);
+emit_32(1130532897);
+emit_32(1100461113);
+emit_32(1119072263);
+emit_32(1130788880);
+emit_32(1100370097);
+emit_32(1119072263);
+emit_32(1131044864);
+emit_32(1099572602);
+emit_32(1119072263);
+emit_32(1131300848);
+emit_32(1097838100);
+emit_32(1119072263);
+emit_32(1131556897);
+emit_32(1098295594);
+emit_32(1119072263);
+emit_32(1131812880);
+emit_32(1098303459);
+emit_32(1119072263);
+emit_32(1132068864);
+emit_32(1098824601);
+emit_32(1119072263);
+emit_32(1081737216);
+emit_32(1098479410);
+emit_32(1118560256);
+emit_32(1090125824);
+emit_32(1099112959);
+emit_32(1118560256);
+emit_32(1094418484);
+emit_32(1100063546);
+emit_32(1118560256);
+emit_32(1098514432);
+emit_32(1100578082);
+emit_32(1118560256);
+emit_32(1100759066);
+emit_32(1101399327);
+emit_32(1118560256);
+emit_32(1102807040);
+emit_32(1101862745);
+emit_32(1118560256);
+emit_32(1104855066);
+emit_32(1102014684);
+emit_32(1118560256);
+emit_32(1106903040);
+emit_32(1101855457);
+emit_32(1118560256);
+emit_32(1108123661);
+emit_32(1102305349);
+emit_32(1118560256);
+emit_32(1109147648);
+emit_32(1102995679);
+emit_32(1118560256);
+emit_32(1110171661);
+emit_32(1103423603);
+emit_32(1118560256);
+emit_32(1111195648);
+emit_32(1103543455);
+emit_32(1118560256);
+emit_32(1112219661);
+emit_32(1103387741);
+emit_32(1118560256);
+emit_32(1113243648);
+emit_32(1102938374);
+emit_32(1118560256);
+emit_32(1114267661);
+emit_32(1102169244);
+emit_32(1118560256);
+emit_32(1115291648);
+emit_32(1101791704);
+emit_32(1118560256);
+emit_32(1116000263);
+emit_32(1101646581);
+emit_32(1118560256);
+emit_32(1116512256);
+emit_32(1101112698);
+emit_32(1118560256);
+emit_32(1117024263);
+emit_32(1101184998);
+emit_32(1118560256);
+emit_32(1117536256);
+emit_32(1101989727);
+emit_32(1118560256);
+emit_32(1118048263);
+emit_32(1102023229);
+emit_32(1118560256);
+emit_32(1118560256);
+emit_32(1101345377);
+emit_32(1118560256);
+emit_32(1119072263);
+emit_32(1101364199);
+emit_32(1118560256);
+emit_32(1119584256);
+emit_32(1101345325);
+emit_32(1118560256);
+emit_32(1120096263);
+emit_32(1101567780);
+emit_32(1118560256);
+emit_32(1120608322);
+emit_32(1101948047);
+emit_32(1118560256);
+emit_32(1121120289);
+emit_32(1102252343);
+emit_32(1118560256);
+emit_32(1121632256);
+emit_32(1102278400);
+emit_32(1118560256);
+emit_32(1122144223);
+emit_32(1102915882);
+emit_32(1118560256);
+emit_32(1122656322);
+emit_32(1103545342);
+emit_32(1118560256);
+emit_32(1123168289);
+emit_32(1104523873);
+emit_32(1118560256);
+emit_32(1123680256);
+emit_32(1105840623);
+emit_32(1118560256);
+emit_32(1124132848);
+emit_32(1107083500);
+emit_32(1118560256);
+emit_32(1124388897);
+emit_32(1107781668);
+emit_32(1118560256);
+emit_32(1124644880);
+emit_32(1108269990);
+emit_32(1118560256);
+emit_32(1124900864);
+emit_32(1108523300);
+emit_32(1118560256);
+emit_32(1125156848);
+emit_32(1109103110);
+emit_32(1118560256);
+emit_32(1125412897);
+emit_32(1109825526);
+emit_32(1118560256);
+emit_32(1125668880);
+emit_32(1110495330);
+emit_32(1118560256);
+emit_32(1125924864);
+emit_32(1110756478);
+emit_32(1118560256);
+emit_32(1126180848);
+emit_32(1111016630);
+emit_32(1118560256);
+emit_32(1126436897);
+emit_32(1111283388);
+emit_32(1118560256);
+emit_32(1126692880);
+emit_32(1111246530);
+emit_32(1118560256);
+emit_32(1126948864);
+emit_32(1110841937);
+emit_32(1118560256);
+emit_32(1127204848);
+emit_32(1110618826);
+emit_32(1118560256);
+emit_32(1127460897);
+emit_32(1110342972);
+emit_32(1118560256);
+emit_32(1127716880);
+emit_32(1109456191);
+emit_32(1118560256);
+emit_32(1127972864);
+emit_32(1108985774);
+emit_32(1118560256);
+emit_32(1128228848);
+emit_32(1108475956);
+emit_32(1118560256);
+emit_32(1128484897);
+emit_32(1107767512);
+emit_32(1118560256);
+emit_32(1128740880);
+emit_32(1107083552);
+emit_32(1118560256);
+emit_32(1128996864);
+emit_32(1105634525);
+emit_32(1118560256);
+emit_32(1129252848);
+emit_32(1104932871);
+emit_32(1118560256);
+emit_32(1129508897);
+emit_32(1104170766);
+emit_32(1118560256);
+emit_32(1129764880);
+emit_32(1103195904);
+emit_32(1118560256);
+emit_32(1130020864);
+emit_32(1102135532);
+emit_32(1118560256);
+emit_32(1130276848);
+emit_32(1101066089);
+emit_32(1118560256);
+emit_32(1130532897);
+emit_32(1100669413);
+emit_32(1118560256);
+emit_32(1130788880);
+emit_32(1099835795);
+emit_32(1118560256);
+emit_32(1131044864);
+emit_32(1099072641);
+emit_32(1118560256);
+emit_32(1131300848);
+emit_32(1097951976);
+emit_32(1118560256);
+emit_32(1131556897);
+emit_32(1097998742);
+emit_32(1118560256);
+emit_32(1131812880);
+emit_32(1097628595);
+emit_32(1118560256);
+emit_32(1132068864);
+emit_32(1098095945);
+emit_32(1118560256);
+emit_32(1081737216);
+emit_32(1099413271);
+emit_32(1118048263);
+emit_32(1090125824);
+emit_32(1099851366);
+emit_32(1118048263);
+emit_32(1094418484);
+emit_32(1100634810);
+emit_32(1118048263);
+emit_32(1098514432);
+emit_32(1101543191);
+emit_32(1118048263);
+emit_32(1100759066);
+emit_32(1102227020);
+emit_32(1118048263);
+emit_32(1102807040);
+emit_32(1102623329);
+emit_32(1118048263);
+emit_32(1104855066);
+emit_32(1102636122);
+emit_32(1118048263);
+emit_32(1106903040);
+emit_32(1102855746);
+emit_32(1118048263);
+emit_32(1108123661);
+emit_32(1103180228);
+emit_32(1118048263);
+emit_32(1109147648);
+emit_32(1103670700);
+emit_32(1118048263);
+emit_32(1110171661);
+emit_32(1104191894);
+emit_32(1118048263);
+emit_32(1111195648);
+emit_32(1104328733);
+emit_32(1118048263);
+emit_32(1112219661);
+emit_32(1103856769);
+emit_32(1118048263);
+emit_32(1113243648);
+emit_32(1103570665);
+emit_32(1118048263);
+emit_32(1114267661);
+emit_32(1103155744);
+emit_32(1118048263);
+emit_32(1115291648);
+emit_32(1103141221);
+emit_32(1118048263);
+emit_32(1116000263);
+emit_32(1102853230);
+emit_32(1118048263);
+emit_32(1116512256);
+emit_32(1102033034);
+emit_32(1118048263);
+emit_32(1117024263);
+emit_32(1102017724);
+emit_32(1118048263);
+emit_32(1117536256);
+emit_32(1102380584);
+emit_32(1118048263);
+emit_32(1118048263);
+emit_32(1102405698);
+emit_32(1118048263);
+emit_32(1118560256);
+emit_32(1101754689);
+emit_32(1118048263);
+emit_32(1119072263);
+emit_32(1101894202);
+emit_32(1118048263);
+emit_32(1119584256);
+emit_32(1101906471);
+emit_32(1118048263);
+emit_32(1120096263);
+emit_32(1102313056);
+emit_32(1118048263);
+emit_32(1120608322);
+emit_32(1102601309);
+emit_32(1118048263);
+emit_32(1121120289);
+emit_32(1102592606);
+emit_32(1118048263);
+emit_32(1121632256);
+emit_32(1102703493);
+emit_32(1118048263);
+emit_32(1122144223);
+emit_32(1102937378);
+emit_32(1118048263);
+emit_32(1122656322);
+emit_32(1103504867);
+emit_32(1118048263);
+emit_32(1123168289);
+emit_32(1104384675);
+emit_32(1118048263);
+emit_32(1123680256);
+emit_32(1105635049);
+emit_32(1118048263);
+emit_32(1124132848);
+emit_32(1106752255);
+emit_32(1118048263);
+emit_32(1124388897);
+emit_32(1107767879);
+emit_32(1118048263);
+emit_32(1124644880);
+emit_32(1108294474);
+emit_32(1118048263);
+emit_32(1124900864);
+emit_32(1108613634);
+emit_32(1118048263);
+emit_32(1125156848);
+emit_32(1109065177);
+emit_32(1118048263);
+emit_32(1125412897);
+emit_32(1109930095);
+emit_32(1118048263);
+emit_32(1125668880);
+emit_32(1110386383);
+emit_32(1118048263);
+emit_32(1125924864);
+emit_32(1110751995);
+emit_32(1118048263);
+emit_32(1126180848);
+emit_32(1111030602);
+emit_32(1118048263);
+emit_32(1126436897);
+emit_32(1111233554);
+emit_32(1118048263);
+emit_32(1126692880);
+emit_32(1111303704);
+emit_32(1118048263);
+emit_32(1126948864);
+emit_32(1111031703);
+emit_32(1118048263);
+emit_32(1127204848);
+emit_32(1110529488);
+emit_32(1118048263);
+emit_32(1127460897);
+emit_32(1110208545);
+emit_32(1118048263);
+emit_32(1127716880);
+emit_32(1109599375);
+emit_32(1118048263);
+emit_32(1127972864);
+emit_32(1109300609);
+emit_32(1118048263);
+emit_32(1128228848);
+emit_32(1108749189);
+emit_32(1118048263);
+emit_32(1128484897);
+emit_32(1108160047);
+emit_32(1118048263);
+emit_32(1128740880);
+emit_32(1107724180);
+emit_32(1118048263);
+emit_32(1128996864);
+emit_32(1106714873);
+emit_32(1118048263);
+emit_32(1129252848);
+emit_32(1104821512);
+emit_32(1118048263);
+emit_32(1129508897);
+emit_32(1103852103);
+emit_32(1118048263);
+emit_32(1129764880);
+emit_32(1103039771);
+emit_32(1118048263);
+emit_32(1130020864);
+emit_32(1102286212);
+emit_32(1118048263);
+emit_32(1130276848);
+emit_32(1101202509);
+emit_32(1118048263);
+emit_32(1130532897);
+emit_32(1100589197);
+emit_32(1118048263);
+emit_32(1130788880);
+emit_32(1100484811);
+emit_32(1118048263);
+emit_32(1131044864);
+emit_32(1099835113);
+emit_32(1118048263);
+emit_32(1131300848);
+emit_32(1098729600);
+emit_32(1118048263);
+emit_32(1131556897);
+emit_32(1097121608);
+emit_32(1118048263);
+emit_32(1131812880);
+emit_32(1098002203);
+emit_32(1118048263);
+emit_32(1132068864);
+emit_32(1097770887);
+emit_32(1118048263);
+emit_32(1081737216);
+emit_32(1100388447);
+emit_32(1117536256);
+emit_32(1090125824);
+emit_32(1100757493);
+emit_32(1117536256);
+emit_32(1094418484);
+emit_32(1101501091);
+emit_32(1117536256);
+emit_32(1098514432);
+emit_32(1102103236);
+emit_32(1117536256);
+emit_32(1100759066);
+emit_32(1102707845);
+emit_32(1117536256);
+emit_32(1102807040);
+emit_32(1103009572);
+emit_32(1117536256);
+emit_32(1104855066);
+emit_32(1103428898);
+emit_32(1117536256);
+emit_32(1106903040);
+emit_32(1103146831);
+emit_32(1117536256);
+emit_32(1108123661);
+emit_32(1103947576);
+emit_32(1117536256);
+emit_32(1109147648);
+emit_32(1104597484);
+emit_32(1117536256);
+emit_32(1110171661);
+emit_32(1104667424);
+emit_32(1117536256);
+emit_32(1111195648);
+emit_32(1104486230);
+emit_32(1117536256);
+emit_32(1112219661);
+emit_32(1104487068);
+emit_32(1117536256);
+emit_32(1113243648);
+emit_32(1104896904);
+emit_32(1117536256);
+emit_32(1114267661);
+emit_32(1104464524);
+emit_32(1117536256);
+emit_32(1115291648);
+emit_32(1104222355);
+emit_32(1117536256);
+emit_32(1116000263);
+emit_32(1103558974);
+emit_32(1117536256);
+emit_32(1116512256);
+emit_32(1103033480);
+emit_32(1117536256);
+emit_32(1117024263);
+emit_32(1102717544);
+emit_32(1117536256);
+emit_32(1117536256);
+emit_32(1102634340);
+emit_32(1117536256);
+emit_32(1118048263);
+emit_32(1102741976);
+emit_32(1117536256);
+emit_32(1118560256);
+emit_32(1102625007);
+emit_32(1117536256);
+emit_32(1119072263);
+emit_32(1102725618);
+emit_32(1117536256);
+emit_32(1119584256);
+emit_32(1103254520);
+emit_32(1117536256);
+emit_32(1120096263);
+emit_32(1103392722);
+emit_32(1117536256);
+emit_32(1120608322);
+emit_32(1103322992);
+emit_32(1117536256);
+emit_32(1121120289);
+emit_32(1103436395);
+emit_32(1117536256);
+emit_32(1121632256);
+emit_32(1103376417);
+emit_32(1117536256);
+emit_32(1122144223);
+emit_32(1103563325);
+emit_32(1117536256);
+emit_32(1122656322);
+emit_32(1103992612);
+emit_32(1117536256);
+emit_32(1123168289);
+emit_32(1104630514);
+emit_32(1117536256);
+emit_32(1123680256);
+emit_32(1106116556);
+emit_32(1117536256);
+emit_32(1124132848);
+emit_32(1106961236);
+emit_32(1117536256);
+emit_32(1124388897);
+emit_32(1107803950);
+emit_32(1117536256);
+emit_32(1124644880);
+emit_32(1108189276);
+emit_32(1117536256);
+emit_32(1124900864);
+emit_32(1108506129);
+emit_32(1117536256);
+emit_32(1125156848);
+emit_32(1109028792);
+emit_32(1117536256);
+emit_32(1125412897);
+emit_32(1109715216);
+emit_32(1117536256);
+emit_32(1125668880);
+emit_32(1110237171);
+emit_32(1117536256);
+emit_32(1125924864);
+emit_32(1110769507);
+emit_32(1117536256);
+emit_32(1126180848);
+emit_32(1111106100);
+emit_32(1117536256);
+emit_32(1126436897);
+emit_32(1111271906);
+emit_32(1117536256);
+emit_32(1126692880);
+emit_32(1111370210);
+emit_32(1117536256);
+emit_32(1126948864);
+emit_32(1111065310);
+emit_32(1117536256);
+emit_32(1127204848);
+emit_32(1110676210);
+emit_32(1117536256);
+emit_32(1127460897);
+emit_32(1110374587);
+emit_32(1117536256);
+emit_32(1127716880);
+emit_32(1110042162);
+emit_32(1117536256);
+emit_32(1127972864);
+emit_32(1109530614);
+emit_32(1117536256);
+emit_32(1128228848);
+emit_32(1108942678);
+emit_32(1117536256);
+emit_32(1128484897);
+emit_32(1108422689);
+emit_32(1117536256);
+emit_32(1128740880);
+emit_32(1108099491);
+emit_32(1117536256);
+emit_32(1128996864);
+emit_32(1107404915);
+emit_32(1117536256);
+emit_32(1129252848);
+emit_32(1105961366);
+emit_32(1117536256);
+emit_32(1129508897);
+emit_32(1104014161);
+emit_32(1117536256);
+emit_32(1129764880);
+emit_32(1102659977);
+emit_32(1117536256);
+emit_32(1130020864);
+emit_32(1101498941);
+emit_32(1117536256);
+emit_32(1130276848);
+emit_32(1100603667);
+emit_32(1117536256);
+emit_32(1130532897);
+emit_32(1100248567);
+emit_32(1117536256);
+emit_32(1130788880);
+emit_32(1100396993);
+emit_32(1117536256);
+emit_32(1131044864);
+emit_32(1099775974);
+emit_32(1117536256);
+emit_32(1131300848);
+emit_32(1098614781);
+emit_32(1117536256);
+emit_32(1131556897);
+emit_32(1097165439);
+emit_32(1117536256);
+emit_32(1131812880);
+emit_32(1096806092);
+emit_32(1117536256);
+emit_32(1132068864);
+emit_32(1097532755);
+emit_32(1117536256);
+emit_32(1081737216);
+emit_32(1101362836);
+emit_32(1117024263);
+emit_32(1090125824);
+emit_32(1102440982);
+emit_32(1117024263);
+emit_32(1094418484);
+emit_32(1102525602);
+emit_32(1117024263);
+emit_32(1098514432);
+emit_32(1102772542);
+emit_32(1117024263);
+emit_32(1100759066);
+emit_32(1102996623);
+emit_32(1117024263);
+emit_32(1102807040);
+emit_32(1103394295);
+emit_32(1117024263);
+emit_32(1104855066);
+emit_32(1103807853);
+emit_32(1117024263);
+emit_32(1106903040);
+emit_32(1104063968);
+emit_32(1117024263);
+emit_32(1108123661);
+emit_32(1104272477);
+emit_32(1117024263);
+emit_32(1109147648);
+emit_32(1105094404);
+emit_32(1117024263);
+emit_32(1110171661);
+emit_32(1105462297);
+emit_32(1117024263);
+emit_32(1111195648);
+emit_32(1105615756);
+emit_32(1117024263);
+emit_32(1112219661);
+emit_32(1105780539);
+emit_32(1117024263);
+emit_32(1113243648);
+emit_32(1105949622);
+emit_32(1117024263);
+emit_32(1114267661);
+emit_32(1105825523);
+emit_32(1117024263);
+emit_32(1115291648);
+emit_32(1105325457);
+emit_32(1117024263);
+emit_32(1116000263);
+emit_32(1104503217);
+emit_32(1117024263);
+emit_32(1116512256);
+emit_32(1103914389);
+emit_32(1117024263);
+emit_32(1117024263);
+emit_32(1103220703);
+emit_32(1117024263);
+emit_32(1117536256);
+emit_32(1103554989);
+emit_32(1117024263);
+emit_32(1118048263);
+emit_32(1103557663);
+emit_32(1117024263);
+emit_32(1118560256);
+emit_32(1103000555);
+emit_32(1117024263);
+emit_32(1119072263);
+emit_32(1103407455);
+emit_32(1117024263);
+emit_32(1119584256);
+emit_32(1103934783);
+emit_32(1117024263);
+emit_32(1120096263);
+emit_32(1103628861);
+emit_32(1117024263);
+emit_32(1120608322);
+emit_32(1103876221);
+emit_32(1117024263);
+emit_32(1121120289);
+emit_32(1104062762);
+emit_32(1117024263);
+emit_32(1121632256);
+emit_32(1104076446);
+emit_32(1117024263);
+emit_32(1122144223);
+emit_32(1104571479);
+emit_32(1117024263);
+emit_32(1122656322);
+emit_32(1105134302);
+emit_32(1117024263);
+emit_32(1123168289);
+emit_32(1105662312);
+emit_32(1117024263);
+emit_32(1123680256);
+emit_32(1106251717);
+emit_32(1117024263);
+emit_32(1124132848);
+emit_32(1107284512);
+emit_32(1117024263);
+emit_32(1124388897);
+emit_32(1107873183);
+emit_32(1117024263);
+emit_32(1124644880);
+emit_32(1108188149);
+emit_32(1117024263);
+emit_32(1124900864);
+emit_32(1108443241);
+emit_32(1117024263);
+emit_32(1125156848);
+emit_32(1109131028);
+emit_32(1117024263);
+emit_32(1125412897);
+emit_32(1109732884);
+emit_32(1117024263);
+emit_32(1125668880);
+emit_32(1110471632);
+emit_32(1117024263);
+emit_32(1125924864);
+emit_32(1111024494);
+emit_32(1117024263);
+emit_32(1126180848);
+emit_32(1111170666);
+emit_32(1117024263);
+emit_32(1126436897);
+emit_32(1111345332);
+emit_32(1117024263);
+emit_32(1126692880);
+emit_32(1111265011);
+emit_32(1117024263);
+emit_32(1126948864);
+emit_32(1110964620);
+emit_32(1117024263);
+emit_32(1127204848);
+emit_32(1110816430);
+emit_32(1117024263);
+emit_32(1127460897);
+emit_32(1110708847);
+emit_32(1117024263);
+emit_32(1127716880);
+emit_32(1110212162);
+emit_32(1117024263);
+emit_32(1127972864);
+emit_32(1109715111);
+emit_32(1117024263);
+emit_32(1128228848);
+emit_32(1108818579);
+emit_32(1117024263);
+emit_32(1128484897);
+emit_32(1108483873);
+emit_32(1117024263);
+emit_32(1128740880);
+emit_32(1108125627);
+emit_32(1117024263);
+emit_32(1128996864);
+emit_32(1107598718);
+emit_32(1117024263);
+emit_32(1129252848);
+emit_32(1106363390);
+emit_32(1117024263);
+emit_32(1129508897);
+emit_32(1104237822);
+emit_32(1117024263);
+emit_32(1129764880);
+emit_32(1102138258);
+emit_32(1117024263);
+emit_32(1130020864);
+emit_32(1100193202);
+emit_32(1117024263);
+emit_32(1130276848);
+emit_32(1099480433);
+emit_32(1117024263);
+emit_32(1130532897);
+emit_32(1099613759);
+emit_32(1117024263);
+emit_32(1130788880);
+emit_32(1099142005);
+emit_32(1117024263);
+emit_32(1131044864);
+emit_32(1098613732);
+emit_32(1117024263);
+emit_32(1131300848);
+emit_32(1097637718);
+emit_32(1117024263);
+emit_32(1131556897);
+emit_32(1096434057);
+emit_32(1117024263);
+emit_32(1131812880);
+emit_32(1095523684);
+emit_32(1117024263);
+emit_32(1132068864);
+emit_32(1096168243);
+emit_32(1117024263);
+emit_32(1081737216);
+emit_32(1102550401);
+emit_32(1116512256);
+emit_32(1090125824);
+emit_32(1103281835);
+emit_32(1116512256);
+emit_32(1094418484);
+emit_32(1103432620);
+emit_32(1116512256);
+emit_32(1098514432);
+emit_32(1103624300);
+emit_32(1116512256);
+emit_32(1100759066);
+emit_32(1103732880);
+emit_32(1116512256);
+emit_32(1102807040);
+emit_32(1103772569);
+emit_32(1116512256);
+emit_32(1104855066);
+emit_32(1104059145);
+emit_32(1116512256);
+emit_32(1106903040);
+emit_32(1104733694);
+emit_32(1116512256);
+emit_32(1108123661);
+emit_32(1105135927);
+emit_32(1116512256);
+emit_32(1109147648);
+emit_32(1105641446);
+emit_32(1116512256);
+emit_32(1110171661);
+emit_32(1106189117);
+emit_32(1116512256);
+emit_32(1111195648);
+emit_32(1106590984);
+emit_32(1116512256);
+emit_32(1112219661);
+emit_32(1106792730);
+emit_32(1116512256);
+emit_32(1113243648);
+emit_32(1107103528);
+emit_32(1116512256);
+emit_32(1114267661);
+emit_32(1107045751);
+emit_32(1116512256);
+emit_32(1115291648);
+emit_32(1106493886);
+emit_32(1116512256);
+emit_32(1116000263);
+emit_32(1105577011);
+emit_32(1116512256);
+emit_32(1116512256);
+emit_32(1104601992);
+emit_32(1116512256);
+emit_32(1117024263);
+emit_32(1103981498);
+emit_32(1116512256);
+emit_32(1117536256);
+emit_32(1104213076);
+emit_32(1116512256);
+emit_32(1118048263);
+emit_32(1103729577);
+emit_32(1116512256);
+emit_32(1118560256);
+emit_32(1103354344);
+emit_32(1116512256);
+emit_32(1119072263);
+emit_32(1103689836);
+emit_32(1116512256);
+emit_32(1119584256);
+emit_32(1104224505);
+emit_32(1116512256);
+emit_32(1120096263);
+emit_32(1104374714);
+emit_32(1116512256);
+emit_32(1120608322);
+emit_32(1104188696);
+emit_32(1116512256);
+emit_32(1121120289);
+emit_32(1104209773);
+emit_32(1116512256);
+emit_32(1121632256);
+emit_32(1104973765);
+emit_32(1116512256);
+emit_32(1122144223);
+emit_32(1105524110);
+emit_32(1116512256);
+emit_32(1122656322);
+emit_32(1106275992);
+emit_32(1116512256);
+emit_32(1123168289);
+emit_32(1106381373);
+emit_32(1116512256);
+emit_32(1123680256);
+emit_32(1106763527);
+emit_32(1116512256);
+emit_32(1124132848);
+emit_32(1107402293);
+emit_32(1116512256);
+emit_32(1124388897);
+emit_32(1107816822);
+emit_32(1116512256);
+emit_32(1124644880);
+emit_32(1108307293);
+emit_32(1116512256);
+emit_32(1124900864);
+emit_32(1108759098);
+emit_32(1116512256);
+emit_32(1125156848);
+emit_32(1109471632);
+emit_32(1116512256);
+emit_32(1125412897);
+emit_32(1109900027);
+emit_32(1116512256);
+emit_32(1125668880);
+emit_32(1110484111);
+emit_32(1116512256);
+emit_32(1125924864);
+emit_32(1110873316);
+emit_32(1116512256);
+emit_32(1126180848);
+emit_32(1111321923);
+emit_32(1116512256);
+emit_32(1126436897);
+emit_32(1111520628);
+emit_32(1116512256);
+emit_32(1126692880);
+emit_32(1111429507);
+emit_32(1116512256);
+emit_32(1126948864);
+emit_32(1110992722);
+emit_32(1116512256);
+emit_32(1127204848);
+emit_32(1110804503);
+emit_32(1116512256);
+emit_32(1127460897);
+emit_32(1110532633);
+emit_32(1116512256);
+emit_32(1127716880);
+emit_32(1110132130);
+emit_32(1116512256);
+emit_32(1127972864);
+emit_32(1109531112);
+emit_32(1116512256);
+emit_32(1128228848);
+emit_32(1108783425);
+emit_32(1116512256);
+emit_32(1128484897);
+emit_32(1108534467);
+emit_32(1116512256);
+emit_32(1128740880);
+emit_32(1108104918);
+emit_32(1116512256);
+emit_32(1128996864);
+emit_32(1107580866);
+emit_32(1116512256);
+emit_32(1129252848);
+emit_32(1106274314);
+emit_32(1116512256);
+emit_32(1129508897);
+emit_32(1104539025);
+emit_32(1116512256);
+emit_32(1129764880);
+emit_32(1102452516);
+emit_32(1116512256);
+emit_32(1130020864);
+emit_32(1100238029);
+emit_32(1116512256);
+emit_32(1130276848);
+emit_32(1098493670);
+emit_32(1116512256);
+emit_32(1130532897);
+emit_32(1097538732);
+emit_32(1116512256);
+emit_32(1130788880);
+emit_32(1097860435);
+emit_32(1116512256);
+emit_32(1131044864);
+emit_32(1096806826);
+emit_32(1116512256);
+emit_32(1131300848);
+emit_32(1095175137);
+emit_32(1116512256);
+emit_32(1131556897);
+emit_32(1095179751);
+emit_32(1116512256);
+emit_32(1131812880);
+emit_32(1094445538);
+emit_32(1116512256);
+emit_32(1132068864);
+emit_32(1094491675);
+emit_32(1116512256);
+emit_32(1081737216);
+emit_32(1103917954);
+emit_32(1116000263);
+emit_32(1090125824);
+emit_32(1104214281);
+emit_32(1116000263);
+emit_32(1094418484);
+emit_32(1104273211);
+emit_32(1116000263);
+emit_32(1098514432);
+emit_32(1104389236);
+emit_32(1116000263);
+emit_32(1100759066);
+emit_32(1104665746);
+emit_32(1116000263);
+emit_32(1102807040);
+emit_32(1104683886);
+emit_32(1116000263);
+emit_32(1104855066);
+emit_32(1104862354);
+emit_32(1116000263);
+emit_32(1106903040);
+emit_32(1105668342);
+emit_32(1116000263);
+emit_32(1108123661);
+emit_32(1106303097);
+emit_32(1116000263);
+emit_32(1109147648);
+emit_32(1106378228);
+emit_32(1116000263);
+emit_32(1110171661);
+emit_32(1106845054);
+emit_32(1116000263);
+emit_32(1111195648);
+emit_32(1107149298);
+emit_32(1116000263);
+emit_32(1112219661);
+emit_32(1107634553);
+emit_32(1116000263);
+emit_32(1113243648);
+emit_32(1107721139);
+emit_32(1116000263);
+emit_32(1114267661);
+emit_32(1107693457);
+emit_32(1116000263);
+emit_32(1115291648);
+emit_32(1107040823);
+emit_32(1116000263);
+emit_32(1116000263);
+emit_32(1106302678);
+emit_32(1116000263);
+emit_32(1116512256);
+emit_32(1105678251);
+emit_32(1116000263);
+emit_32(1117024263);
+emit_32(1104723575);
+emit_32(1116000263);
+emit_32(1117536256);
+emit_32(1104584219);
+emit_32(1116000263);
+emit_32(1118048263);
+emit_32(1104086408);
+emit_32(1116000263);
+emit_32(1118560256);
+emit_32(1103762398);
+emit_32(1116000263);
+emit_32(1119072263);
+emit_32(1104084573);
+emit_32(1116000263);
+emit_32(1119584256);
+emit_32(1104925583);
+emit_32(1116000263);
+emit_32(1120096263);
+emit_32(1104774273);
+emit_32(1116000263);
+emit_32(1120608322);
+emit_32(1104591244);
+emit_32(1116000263);
+emit_32(1121120289);
+emit_32(1104826283);
+emit_32(1116000263);
+emit_32(1121632256);
+emit_32(1105545973);
+emit_32(1116000263);
+emit_32(1122144223);
+emit_32(1105872919);
+emit_32(1116000263);
+emit_32(1122656322);
+emit_32(1106423946);
+emit_32(1116000263);
+emit_32(1123168289);
+emit_32(1107313243);
+emit_32(1116000263);
+emit_32(1123680256);
+emit_32(1107471709);
+emit_32(1116000263);
+emit_32(1124132848);
+emit_32(1107748166);
+emit_32(1116000263);
+emit_32(1124388897);
+emit_32(1108035319);
+emit_32(1116000263);
+emit_32(1124644880);
+emit_32(1108525135);
+emit_32(1116000263);
+emit_32(1124900864);
+emit_32(1109011254);
+emit_32(1116000263);
+emit_32(1125156848);
+emit_32(1109529539);
+emit_32(1116000263);
+emit_32(1125412897);
+emit_32(1109929073);
+emit_32(1116000263);
+emit_32(1125668880);
+emit_32(1110361244);
+emit_32(1116000263);
+emit_32(1125924864);
+emit_32(1111018701);
+emit_32(1116000263);
+emit_32(1126180848);
+emit_32(1111418392);
+emit_32(1116000263);
+emit_32(1126436897);
+emit_32(1111581943);
+emit_32(1116000263);
+emit_32(1126692880);
+emit_32(1111596912);
+emit_32(1116000263);
+emit_32(1126948864);
+emit_32(1111336970);
+emit_32(1116000263);
+emit_32(1127204848);
+emit_32(1110946611);
+emit_32(1116000263);
+emit_32(1127460897);
+emit_32(1110462222);
+emit_32(1116000263);
+emit_32(1127716880);
+emit_32(1109940398);
+emit_32(1116000263);
+emit_32(1127972864);
+emit_32(1109463846);
+emit_32(1116000263);
+emit_32(1128228848);
+emit_32(1108875307);
+emit_32(1116000263);
+emit_32(1128484897);
+emit_32(1108586607);
+emit_32(1116000263);
+emit_32(1128740880);
+emit_32(1108248442);
+emit_32(1116000263);
+emit_32(1128996864);
+emit_32(1107558426);
+emit_32(1116000263);
+emit_32(1129252848);
+emit_32(1106322391);
+emit_32(1116000263);
+emit_32(1129508897);
+emit_32(1104389131);
+emit_32(1116000263);
+emit_32(1129764880);
+emit_32(1102274835);
+emit_32(1116000263);
+emit_32(1130020864);
+emit_32(1100247571);
+emit_32(1116000263);
+emit_32(1130276848);
+emit_32(1098982516);
+emit_32(1116000263);
+emit_32(1130532897);
+emit_32(1097852990);
+emit_32(1116000263);
+emit_32(1130788880);
+emit_32(1097777388);
+emit_32(1116000263);
+emit_32(1131044864);
+emit_32(1096162057);
+emit_32(1116000263);
+emit_32(1131300848);
+emit_32(1093655750);
+emit_32(1116000263);
+emit_32(1131556897);
+emit_32(1093255194);
+emit_32(1116000263);
+emit_32(1131812880);
+emit_32(1092384509);
+emit_32(1116000263);
+emit_32(1132068864);
+emit_32(1092614651);
+emit_32(1116000263);
+emit_32(1081737216);
+emit_32(1104775951);
+emit_32(1115291648);
+emit_32(1090125824);
+emit_32(1105273081);
+emit_32(1115291648);
+emit_32(1094418484);
+emit_32(1105163033);
+emit_32(1115291648);
+emit_32(1098514432);
+emit_32(1105037623);
+emit_32(1115291648);
+emit_32(1100759066);
+emit_32(1105121038);
+emit_32(1115291648);
+emit_32(1102807040);
+emit_32(1105312455);
+emit_32(1115291648);
+emit_32(1104855066);
+emit_32(1106012694);
+emit_32(1115291648);
+emit_32(1106903040);
+emit_32(1106371779);
+emit_32(1115291648);
+emit_32(1108123661);
+emit_32(1106828329);
+emit_32(1115291648);
+emit_32(1109147648);
+emit_32(1107099071);
+emit_32(1115291648);
+emit_32(1110171661);
+emit_32(1107519026);
+emit_32(1115291648);
+emit_32(1111195648);
+emit_32(1107598272);
+emit_32(1115291648);
+emit_32(1112219661);
+emit_32(1107988605);
+emit_32(1115291648);
+emit_32(1113243648);
+emit_32(1108084340);
+emit_32(1115291648);
+emit_32(1114267661);
+emit_32(1107768272);
+emit_32(1115291648);
+emit_32(1115291648);
+emit_32(1107585375);
+emit_32(1115291648);
+emit_32(1116000263);
+emit_32(1107334686);
+emit_32(1115291648);
+emit_32(1116512256);
+emit_32(1106384729);
+emit_32(1115291648);
+emit_32(1117024263);
+emit_32(1105355237);
+emit_32(1115291648);
+emit_32(1117536256);
+emit_32(1105239160);
+emit_32(1115291648);
+emit_32(1118048263);
+emit_32(1104804472);
+emit_32(1115291648);
+emit_32(1118560256);
+emit_32(1104295703);
+emit_32(1115291648);
+emit_32(1119072263);
+emit_32(1104303725);
+emit_32(1115291648);
+emit_32(1119584256);
+emit_32(1104739566);
+emit_32(1115291648);
+emit_32(1120096263);
+emit_32(1104935911);
+emit_32(1115291648);
+emit_32(1120608322);
+emit_32(1104793148);
+emit_32(1115291648);
+emit_32(1121120289);
+emit_32(1105350990);
+emit_32(1115291648);
+emit_32(1121632256);
+emit_32(1105666821);
+emit_32(1115291648);
+emit_32(1122144223);
+emit_32(1106542854);
+emit_32(1115291648);
+emit_32(1122656322);
+emit_32(1107330282);
+emit_32(1115291648);
+emit_32(1123168289);
+emit_32(1107522722);
+emit_32(1115291648);
+emit_32(1123680256);
+emit_32(1107991908);
+emit_32(1115291648);
+emit_32(1124132848);
+emit_32(1108210273);
+emit_32(1115291648);
+emit_32(1124388897);
+emit_32(1108506863);
+emit_32(1115291648);
+emit_32(1124644880);
+emit_32(1108775220);
+emit_32(1115291648);
+emit_32(1124900864);
+emit_32(1109189670);
+emit_32(1115291648);
+emit_32(1125156848);
+emit_32(1109527233);
+emit_32(1115291648);
+emit_32(1125412897);
+emit_32(1109974057);
+emit_32(1115291648);
+emit_32(1125668880);
+emit_32(1110321240);
+emit_32(1115291648);
+emit_32(1125924864);
+emit_32(1110734825);
+emit_32(1115291648);
+emit_32(1126180848);
+emit_32(1111142197);
+emit_32(1115291648);
+emit_32(1126436897);
+emit_32(1111340456);
+emit_32(1115291648);
+emit_32(1126692880);
+emit_32(1111407224);
+emit_32(1115291648);
+emit_32(1126948864);
+emit_32(1111510535);
+emit_32(1115291648);
+emit_32(1127204848);
+emit_32(1111087042);
+emit_32(1115291648);
+emit_32(1127460897);
+emit_32(1110641816);
+emit_32(1115291648);
+emit_32(1127716880);
+emit_32(1110084734);
+emit_32(1115291648);
+emit_32(1127972864);
+emit_32(1109478107);
+emit_32(1115291648);
+emit_32(1128228848);
+emit_32(1108983703);
+emit_32(1115291648);
+emit_32(1128484897);
+emit_32(1108396684);
+emit_32(1115291648);
+emit_32(1128740880);
+emit_32(1108182303);
+emit_32(1115291648);
+emit_32(1128996864);
+emit_32(1107304776);
+emit_32(1115291648);
+emit_32(1129252848);
+emit_32(1105830714);
+emit_32(1115291648);
+emit_32(1129508897);
+emit_32(1104926999);
+emit_32(1115291648);
+emit_32(1129764880);
+emit_32(1103134825);
+emit_32(1115291648);
+emit_32(1130020864);
+emit_32(1101331694);
+emit_32(1115291648);
+emit_32(1130276848);
+emit_32(1100242905);
+emit_32(1115291648);
+emit_32(1130532897);
+emit_32(1099575381);
+emit_32(1115291648);
+emit_32(1130788880);
+emit_32(1098291610);
+emit_32(1115291648);
+emit_32(1131044864);
+emit_32(1096472330);
+emit_32(1115291648);
+emit_32(1131300848);
+emit_32(1094126875);
+emit_32(1115291648);
+emit_32(1131556897);
+emit_32(1092334691);
+emit_32(1115291648);
+emit_32(1131812880);
+emit_32(1091097822);
+emit_32(1115291648);
+emit_32(1132068864);
+emit_32(1090977194);
+emit_32(1115291648);
+emit_32(1081737216);
+emit_32(1105382343);
+emit_32(1114267661);
+emit_32(1090125824);
+emit_32(1105662155);
+emit_32(1114267661);
+emit_32(1094418484);
+emit_32(1105488092);
+emit_32(1114267661);
+emit_32(1098514432);
+emit_32(1105646479);
+emit_32(1114267661);
+emit_32(1100759066);
+emit_32(1105753591);
+emit_32(1114267661);
+emit_32(1102807040);
+emit_32(1106409108);
+emit_32(1114267661);
+emit_32(1104855066);
+emit_32(1106974396);
+emit_32(1114267661);
+emit_32(1106903040);
+emit_32(1107565006);
+emit_32(1114267661);
+emit_32(1108123661);
+emit_32(1107665538);
+emit_32(1114267661);
+emit_32(1109147648);
+emit_32(1107918481);
+emit_32(1114267661);
+emit_32(1110171661);
+emit_32(1108002577);
+emit_32(1114267661);
+emit_32(1111195648);
+emit_32(1107850848);
+emit_32(1114267661);
+emit_32(1112219661);
+emit_32(1108010494);
+emit_32(1114267661);
+emit_32(1113243648);
+emit_32(1108185815);
+emit_32(1114267661);
+emit_32(1114267661);
+emit_32(1108069791);
+emit_32(1114267661);
+emit_32(1115291648);
+emit_32(1107943490);
+emit_32(1114267661);
+emit_32(1116000263);
+emit_32(1107599924);
+emit_32(1114267661);
+emit_32(1116512256);
+emit_32(1106557691);
+emit_32(1114267661);
+emit_32(1117024263);
+emit_32(1106465102);
+emit_32(1114267661);
+emit_32(1117536256);
+emit_32(1106678120);
+emit_32(1114267661);
+emit_32(1118048263);
+emit_32(1106208044);
+emit_32(1114267661);
+emit_32(1118560256);
+emit_32(1105390469);
+emit_32(1114267661);
+emit_32(1119072263);
+emit_32(1105130632);
+emit_32(1114267661);
+emit_32(1119584256);
+emit_32(1105068923);
+emit_32(1114267661);
+emit_32(1120096263);
+emit_32(1105156532);
+emit_32(1114267661);
+emit_32(1120608322);
+emit_32(1105073537);
+emit_32(1114267661);
+emit_32(1121120289);
+emit_32(1105331225);
+emit_32(1114267661);
+emit_32(1121632256);
+emit_32(1105964145);
+emit_32(1114267661);
+emit_32(1122144223);
+emit_32(1106908702);
+emit_32(1114267661);
+emit_32(1122656322);
+emit_32(1107699250);
+emit_32(1114267661);
+emit_32(1123168289);
+emit_32(1107951485);
+emit_32(1114267661);
+emit_32(1123680256);
+emit_32(1108124448);
+emit_32(1114267661);
+emit_32(1124132848);
+emit_32(1108505998);
+emit_32(1114267661);
+emit_32(1124388897);
+emit_32(1108644332);
+emit_32(1114267661);
+emit_32(1124644880);
+emit_32(1108925429);
+emit_32(1114267661);
+emit_32(1124900864);
+emit_32(1109130320);
+emit_32(1114267661);
+emit_32(1125156848);
+emit_32(1109477189);
+emit_32(1114267661);
+emit_32(1125412897);
+emit_32(1110047693);
+emit_32(1114267661);
+emit_32(1125668880);
+emit_32(1110276833);
+emit_32(1114267661);
+emit_32(1125924864);
+emit_32(1110533420);
+emit_32(1114267661);
+emit_32(1126180848);
+emit_32(1110872975);
+emit_32(1114267635);
+emit_32(1126436897);
+emit_32(1110877064);
+emit_32(1114267635);
+emit_32(1126692880);
+emit_32(1111218743);
+emit_32(1114267661);
+emit_32(1126948864);
+emit_32(1111252874);
+emit_32(1114267661);
+emit_32(1127204848);
+emit_32(1110924067);
+emit_32(1114267635);
+emit_32(1127460897);
+emit_32(1110454855);
+emit_32(1114267635);
+emit_32(1127716880);
+emit_32(1109824949);
+emit_32(1114267661);
+emit_32(1127972864);
+emit_32(1109367508);
+emit_32(1114267661);
+emit_32(1128228848);
+emit_32(1108826469);
+emit_32(1114267661);
+emit_32(1128484897);
+emit_32(1108105521);
+emit_32(1114267661);
+emit_32(1128740880);
+emit_32(1107979010);
+emit_32(1114267661);
+emit_32(1128996864);
+emit_32(1107413408);
+emit_32(1114267661);
+emit_32(1129252848);
+emit_32(1106515224);
+emit_32(1114267661);
+emit_32(1129508897);
+emit_32(1105576277);
+emit_32(1114267661);
+emit_32(1129764880);
+emit_32(1104326584);
+emit_32(1114267661);
+emit_32(1130020864);
+emit_32(1103294261);
+emit_32(1114267661);
+emit_32(1130276848);
+emit_32(1102143501);
+emit_32(1114267661);
+emit_32(1130532897);
+emit_32(1101094348);
+emit_32(1114267661);
+emit_32(1130788880);
+emit_32(1100028785);
+emit_32(1114267661);
+emit_32(1131044864);
+emit_32(1098592446);
+emit_32(1114267661);
+emit_32(1131300848);
+emit_32(1095355492);
+emit_32(1114267661);
+emit_32(1131556897);
+emit_32(1093903738);
+emit_32(1114267661);
+emit_32(1131812880);
+emit_32(1093133979);
+emit_32(1114267661);
+emit_32(1132068864);
+emit_32(1092040083);
+emit_32(1114267661);
+emit_32(1081737216);
+emit_32(1105831238);
+emit_32(1113243648);
+emit_32(1090125824);
+emit_32(1105941548);
+emit_32(1113243648);
+emit_32(1094418484);
+emit_32(1106052330);
+emit_32(1113243648);
+emit_32(1098514432);
+emit_32(1106181987);
+emit_32(1113243648);
+emit_32(1100759066);
+emit_32(1106947762);
+emit_32(1113243648);
+emit_32(1102807040);
+emit_32(1107434170);
+emit_32(1113243648);
+emit_32(1104855066);
+emit_32(1107922597);
+emit_32(1113243648);
+emit_32(1106903040);
+emit_32(1108070236);
+emit_32(1113243648);
+emit_32(1108123661);
+emit_32(1108318408);
+emit_32(1113243648);
+emit_32(1109147648);
+emit_32(1108398991);
+emit_32(1113243648);
+emit_32(1110171661);
+emit_32(1108455247);
+emit_32(1113243648);
+emit_32(1111195648);
+emit_32(1108380929);
+emit_32(1113243648);
+emit_32(1112219661);
+emit_32(1108193129);
+emit_32(1113243648);
+emit_32(1113243648);
+emit_32(1108214940);
+emit_32(1113243648);
+emit_32(1114267661);
+emit_32(1108368189);
+emit_32(1113243648);
+emit_32(1115291648);
+emit_32(1108351228);
+emit_32(1113243648);
+emit_32(1116000263);
+emit_32(1108058728);
+emit_32(1113243648);
+emit_32(1116512256);
+emit_32(1107523561);
+emit_32(1113243648);
+emit_32(1117024263);
+emit_32(1107704624);
+emit_32(1113243648);
+emit_32(1117536256);
+emit_32(1107780384);
+emit_32(1113243648);
+emit_32(1118048263);
+emit_32(1107523797);
+emit_32(1113243648);
+emit_32(1118560256);
+emit_32(1106889671);
+emit_32(1113243648);
+emit_32(1119072263);
+emit_32(1105955127);
+emit_32(1113243648);
+emit_32(1119584256);
+emit_32(1105678513);
+emit_32(1113243648);
+emit_32(1120096263);
+emit_32(1105031175);
+emit_32(1113243648);
+emit_32(1120608322);
+emit_32(1105177346);
+emit_32(1113243648);
+emit_32(1121120289);
+emit_32(1105487043);
+emit_32(1113243648);
+emit_32(1121632256);
+emit_32(1105785782);
+emit_32(1113243648);
+emit_32(1122144223);
+emit_32(1106626950);
+emit_32(1113243648);
+emit_32(1122656322);
+emit_32(1107401638);
+emit_32(1113243648);
+emit_32(1123168289);
+emit_32(1107915047);
+emit_32(1113243648);
+emit_32(1123680256);
+emit_32(1108256070);
+emit_32(1113243648);
+emit_32(1124132848);
+emit_32(1108654529);
+emit_32(1113243648);
+emit_32(1124388897);
+emit_32(1108830034);
+emit_32(1113243648);
+emit_32(1124644880);
+emit_32(1108955156);
+emit_32(1113243648);
+emit_32(1124900864);
+emit_32(1109136769);
+emit_32(1113243648);
+emit_32(1125156848);
+emit_32(1109352907);
+emit_32(1113243648);
+emit_32(1125412897);
+emit_32(1109748534);
+emit_32(1113243648);
+emit_32(1125668880);
+emit_32(1109939926);
+emit_32(1113243648);
+emit_32(1125924864);
+emit_32(1110036867);
+emit_32(1113243648);
+emit_32(1126180848);
+emit_32(1110259401);
+emit_32(1113243648);
+emit_32(1126436897);
+emit_32(1110514257);
+emit_32(1113243648);
+emit_32(1126692880);
+emit_32(1110728167);
+emit_32(1113243648);
+emit_32(1126948864);
+emit_32(1110690470);
+emit_32(1113243648);
+emit_32(1127204848);
+emit_32(1110543172);
+emit_32(1113243648);
+emit_32(1127460897);
+emit_32(1110206867);
+emit_32(1113243648);
+emit_32(1127716880);
+emit_32(1109792994);
+emit_32(1113243648);
+emit_32(1127972864);
+emit_32(1109392779);
+emit_32(1113243648);
+emit_32(1128228848);
+emit_32(1108657596);
+emit_32(1113243648);
+emit_32(1128484897);
+emit_32(1108142902);
+emit_32(1113243648);
+emit_32(1128740880);
+emit_32(1107935625);
+emit_32(1113243648);
+emit_32(1128996864);
+emit_32(1107490216);
+emit_32(1113243648);
+emit_32(1129252848);
+emit_32(1107021844);
+emit_32(1113243648);
+emit_32(1129508897);
+emit_32(1106216328);
+emit_32(1113243648);
+emit_32(1129764880);
+emit_32(1105553103);
+emit_32(1113243648);
+emit_32(1130020864);
+emit_32(1104695106);
+emit_32(1113243648);
+emit_32(1130276848);
+emit_32(1103352404);
+emit_32(1113243648);
+emit_32(1130532897);
+emit_32(1101904950);
+emit_32(1113243648);
+emit_32(1130788880);
+emit_32(1101020476);
+emit_32(1113243648);
+emit_32(1131044864);
+emit_32(1099594623);
+emit_32(1113243648);
+emit_32(1131300848);
+emit_32(1097008782);
+emit_32(1113243648);
+emit_32(1131556897);
+emit_32(1094881640);
+emit_32(1113243648);
+emit_32(1131812880);
+emit_32(1093566726);
+emit_32(1113243648);
+emit_32(1132068864);
+emit_32(1093310244);
+emit_32(1113243648);
+emit_32(1081737216);
+emit_32(1106473438);
+emit_32(1112219661);
+emit_32(1090125824);
+emit_32(1106755138);
+emit_32(1112219661);
+emit_32(1094418484);
+emit_32(1106932662);
+emit_32(1112219661);
+emit_32(1098514432);
+emit_32(1107310071);
+emit_32(1112219661);
+emit_32(1100759066);
+emit_32(1107799179);
+emit_32(1112219661);
+emit_32(1102807040);
+emit_32(1107999693);
+emit_32(1112219661);
+emit_32(1104855066);
+emit_32(1108293059);
+emit_32(1112219661);
+emit_32(1106903040);
+emit_32(1108560839);
+emit_32(1112219661);
+emit_32(1108123661);
+emit_32(1108867783);
+emit_32(1112219661);
+emit_32(1109147648);
+emit_32(1108932769);
+emit_32(1112219661);
+emit_32(1110171661);
+emit_32(1108709527);
+emit_32(1112219661);
+emit_32(1111195648);
+emit_32(1108681661);
+emit_32(1112219661);
+emit_32(1112219661);
+emit_32(1108461250);
+emit_32(1112219661);
+emit_32(1113243648);
+emit_32(1108501751);
+emit_32(1112219661);
+emit_32(1114267661);
+emit_32(1108538058);
+emit_32(1112219661);
+emit_32(1115291648);
+emit_32(1108506155);
+emit_32(1112219661);
+emit_32(1116000263);
+emit_32(1108331069);
+emit_32(1112219661);
+emit_32(1116512256);
+emit_32(1108130713);
+emit_32(1112219661);
+emit_32(1117024263);
+emit_32(1108289153);
+emit_32(1112219661);
+emit_32(1117536256);
+emit_32(1108320872);
+emit_32(1112219661);
+emit_32(1118048263);
+emit_32(1108083946);
+emit_32(1112219661);
+emit_32(1118560256);
+emit_32(1107747196);
+emit_32(1112219661);
+emit_32(1119072263);
+emit_32(1107465942);
+emit_32(1112219661);
+emit_32(1119584256);
+emit_32(1106748480);
+emit_32(1112219661);
+emit_32(1120096263);
+emit_32(1105589856);
+emit_32(1112219661);
+emit_32(1120608322);
+emit_32(1105803398);
+emit_32(1112219661);
+emit_32(1121120289);
+emit_32(1106245426);
+emit_32(1112219661);
+emit_32(1121632256);
+emit_32(1106538345);
+emit_32(1112219661);
+emit_32(1122144223);
+emit_32(1107136191);
+emit_32(1112219661);
+emit_32(1122656322);
+emit_32(1107495066);
+emit_32(1112219661);
+emit_32(1123168289);
+emit_32(1107886552);
+emit_32(1112219661);
+emit_32(1123680256);
+emit_32(1108441668);
+emit_32(1112219661);
+emit_32(1124132848);
+emit_32(1108593266);
+emit_32(1112219661);
+emit_32(1124388897);
+emit_32(1108683470);
+emit_32(1112219661);
+emit_32(1124644880);
+emit_32(1108825211);
+emit_32(1112219661);
+emit_32(1124900864);
+emit_32(1108891271);
+emit_32(1112219661);
+emit_32(1125156848);
+emit_32(1109395715);
+emit_32(1112219661);
+emit_32(1125412897);
+emit_32(1109608864);
+emit_32(1112219661);
+emit_32(1125668880);
+emit_32(1110023576);
+emit_32(1112219661);
+emit_32(1125924864);
+emit_32(1110077237);
+emit_32(1112219661);
+emit_32(1126180848);
+emit_32(1110323678);
+emit_32(1112219661);
+emit_32(1126436897);
+emit_32(1110319510);
+emit_32(1112219661);
+emit_32(1126692880);
+emit_32(1110497559);
+emit_32(1112219635);
+emit_32(1126948864);
+emit_32(1110356630);
+emit_32(1112219661);
+emit_32(1127204848);
+emit_32(1110231745);
+emit_32(1112219661);
+emit_32(1127460897);
+emit_32(1110168568);
+emit_32(1112219661);
+emit_32(1127716880);
+emit_32(1109786440);
+emit_32(1112219661);
+emit_32(1127972864);
+emit_32(1109264984);
+emit_32(1112219661);
+emit_32(1128228848);
+emit_32(1108914445);
+emit_32(1112219661);
+emit_32(1128484897);
+emit_32(1108210640);
+emit_32(1112219661);
+emit_32(1128740880);
+emit_32(1107987897);
+emit_32(1112219661);
+emit_32(1128996864);
+emit_32(1107869644);
+emit_32(1112219661);
+emit_32(1129252848);
+emit_32(1107326534);
+emit_32(1112219661);
+emit_32(1129508897);
+emit_32(1106725831);
+emit_32(1112219661);
+emit_32(1129764880);
+emit_32(1106425466);
+emit_32(1112219661);
+emit_32(1130020864);
+emit_32(1105264955);
+emit_32(1112219661);
+emit_32(1130276848);
+emit_32(1103574860);
+emit_32(1112219661);
+emit_32(1130532897);
+emit_32(1102181460);
+emit_32(1112219661);
+emit_32(1130788880);
+emit_32(1101485677);
+emit_32(1112219661);
+emit_32(1131044864);
+emit_32(1100402288);
+emit_32(1112219661);
+emit_32(1131300848);
+emit_32(1098898421);
+emit_32(1112219661);
+emit_32(1131556897);
+emit_32(1095522425);
+emit_32(1112219661);
+emit_32(1131812880);
+emit_32(1094313732);
+emit_32(1112219661);
+emit_32(1132068864);
+emit_32(1094995201);
+emit_32(1112219661);
+emit_32(1081737216);
+emit_32(1106707585);
+emit_32(1111195648);
+emit_32(1090125824);
+emit_32(1107420879);
+emit_32(1111195648);
+emit_32(1094418484);
+emit_32(1107741455);
+emit_32(1111195648);
+emit_32(1098514432);
+emit_32(1108119388);
+emit_32(1111195648);
+emit_32(1100759066);
+emit_32(1108616649);
+emit_32(1111195648);
+emit_32(1102807040);
+emit_32(1108965851);
+emit_32(1111195648);
+emit_32(1104855066);
+emit_32(1109029919);
+emit_32(1111195648);
+emit_32(1106903040);
+emit_32(1109125602);
+emit_32(1111195648);
+emit_32(1108123661);
+emit_32(1109390551);
+emit_32(1111195648);
+emit_32(1109147648);
+emit_32(1109477215);
+emit_32(1111195648);
+emit_32(1110171661);
+emit_32(1109385334);
+emit_32(1111195648);
+emit_32(1111195648);
+emit_32(1109314608);
+emit_32(1111195648);
+emit_32(1112219661);
+emit_32(1109240919);
+emit_32(1111195648);
+emit_32(1113243648);
+emit_32(1108946400);
+emit_32(1111195648);
+emit_32(1114267661);
+emit_32(1108953006);
+emit_32(1111195648);
+emit_32(1115291648);
+emit_32(1109031911);
+emit_32(1111195648);
+emit_32(1116000263);
+emit_32(1108925062);
+emit_32(1111195648);
+emit_32(1116512256);
+emit_32(1108595887);
+emit_32(1111195648);
+emit_32(1117024263);
+emit_32(1108683941);
+emit_32(1111195648);
+emit_32(1117536256);
+emit_32(1108833809);
+emit_32(1111195648);
+emit_32(1118048263);
+emit_32(1108582282);
+emit_32(1111195648);
+emit_32(1118560256);
+emit_32(1108393093);
+emit_32(1111195648);
+emit_32(1119072263);
+emit_32(1108034008);
+emit_32(1111195648);
+emit_32(1119584256);
+emit_32(1107578926);
+emit_32(1111195648);
+emit_32(1120096263);
+emit_32(1106764313);
+emit_32(1111195648);
+emit_32(1120608322);
+emit_32(1106737365);
+emit_32(1111195648);
+emit_32(1121120289);
+emit_32(1107324568);
+emit_32(1111195648);
+emit_32(1121632256);
+emit_32(1107570511);
+emit_32(1111195648);
+emit_32(1122144223);
+emit_32(1107538818);
+emit_32(1111195648);
+emit_32(1122656322);
+emit_32(1107646926);
+emit_32(1111195648);
+emit_32(1123168289);
+emit_32(1107876984);
+emit_32(1111195648);
+emit_32(1123680256);
+emit_32(1108102060);
+emit_32(1111195648);
+emit_32(1124132848);
+emit_32(1108560812);
+emit_32(1111195648);
+emit_32(1124388897);
+emit_32(1108645328);
+emit_32(1111195648);
+emit_32(1124644880);
+emit_32(1108748770);
+emit_32(1111195648);
+emit_32(1124900864);
+emit_32(1109085782);
+emit_32(1111195648);
+emit_32(1125156848);
+emit_32(1109583226);
+emit_32(1111195648);
+emit_32(1125412897);
+emit_32(1109638486);
+emit_32(1111195648);
+emit_32(1125668880);
+emit_32(1110035425);
+emit_32(1111195648);
+emit_32(1125924864);
+emit_32(1110433989);
+emit_32(1111195648);
+emit_32(1126180848);
+emit_32(1110499420);
+emit_32(1111195648);
+emit_32(1126436897);
+emit_32(1110684860);
+emit_32(1111195648);
+emit_32(1126692880);
+emit_32(1110426858);
+emit_32(1111195648);
+emit_32(1126948864);
+emit_32(1110251405);
+emit_32(1111195648);
+emit_32(1127204848);
+emit_32(1110246503);
+emit_32(1111195648);
+emit_32(1127460897);
+emit_32(1110057366);
+emit_32(1111195648);
+emit_32(1127716880);
+emit_32(1109702135);
+emit_32(1111195648);
+emit_32(1127972864);
+emit_32(1109224404);
+emit_32(1111195648);
+emit_32(1128228848);
+emit_32(1108823035);
+emit_32(1111195648);
+emit_32(1128484897);
+emit_32(1108466703);
+emit_32(1111195648);
+emit_32(1128740880);
+emit_32(1108265009);
+emit_32(1111195648);
+emit_32(1128996864);
+emit_32(1108131919);
+emit_32(1111195648);
+emit_32(1129252848);
+emit_32(1107543668);
+emit_32(1111195648);
+emit_32(1129508897);
+emit_32(1106964749);
+emit_32(1111195648);
+emit_32(1129764880);
+emit_32(1106629467);
+emit_32(1111195648);
+emit_32(1130020864);
+emit_32(1105373587);
+emit_32(1111195648);
+emit_32(1130276848);
+emit_32(1103657645);
+emit_32(1111195648);
+emit_32(1130532897);
+emit_32(1103203244);
+emit_32(1111195648);
+emit_32(1130788880);
+emit_32(1102255384);
+emit_32(1111195648);
+emit_32(1131044864);
+emit_32(1100737203);
+emit_32(1111195648);
+emit_32(1131300848);
+emit_32(1099366557);
+emit_32(1111195648);
+emit_32(1131556897);
+emit_32(1096754817);
+emit_32(1111195648);
+emit_32(1131812880);
+emit_32(1096073871);
+emit_32(1111195648);
+emit_32(1132068864);
+emit_32(1096026581);
+emit_32(1111195648);
+emit_32(1081737216);
+emit_32(1107240944);
+emit_32(1110171661);
+emit_32(1090125824);
+emit_32(1107823611);
+emit_32(1110171661);
+emit_32(1094418484);
+emit_32(1108408821);
+emit_32(1110171661);
+emit_32(1098514432);
+emit_32(1108701925);
+emit_32(1110171661);
+emit_32(1100759066);
+emit_32(1109285326);
+emit_32(1110171661);
+emit_32(1102807040);
+emit_32(1109681609);
+emit_32(1110171661);
+emit_32(1104855066);
+emit_32(1109940345);
+emit_32(1110171661);
+emit_32(1106903040);
+emit_32(1109939952);
+emit_32(1110171661);
+emit_32(1108123661);
+emit_32(1109971121);
+emit_32(1110171661);
+emit_32(1109147648);
+emit_32(1110303834);
+emit_32(1110171661);
+emit_32(1110171661);
+emit_32(1110120962);
+emit_32(1110171661);
+emit_32(1111195648);
+emit_32(1110000979);
+emit_32(1110171661);
+emit_32(1112219661);
+emit_32(1109972484);
+emit_32(1110171661);
+emit_32(1113243648);
+emit_32(1109736686);
+emit_32(1110171661);
+emit_32(1114267661);
+emit_32(1109619612);
+emit_32(1110171661);
+emit_32(1115291648);
+emit_32(1109518608);
+emit_32(1110171661);
+emit_32(1116000263);
+emit_32(1109430003);
+emit_32(1110171661);
+emit_32(1116512256);
+emit_32(1109161909);
+emit_32(1110171661);
+emit_32(1117024263);
+emit_32(1109167492);
+emit_32(1110171661);
+emit_32(1117536256);
+emit_32(1109168515);
+emit_32(1110171661);
+emit_32(1118048263);
+emit_32(1109105626);
+emit_32(1110171661);
+emit_32(1118560256);
+emit_32(1108756686);
+emit_32(1110171661);
+emit_32(1119072263);
+emit_32(1108552555);
+emit_32(1110171661);
+emit_32(1119584256);
+emit_32(1108023286);
+emit_32(1110171661);
+emit_32(1120096263);
+emit_32(1107602178);
+emit_32(1110171661);
+emit_32(1120608322);
+emit_32(1107405649);
+emit_32(1110171661);
+emit_32(1121120289);
+emit_32(1107570616);
+emit_32(1110171661);
+emit_32(1121632256);
+emit_32(1107660164);
+emit_32(1110171661);
+emit_32(1122144223);
+emit_32(1107756004);
+emit_32(1110171661);
+emit_32(1122656322);
+emit_32(1107706800);
+emit_32(1110171661);
+emit_32(1123168289);
+emit_32(1107795667);
+emit_32(1110171661);
+emit_32(1123680256);
+emit_32(1108061218);
+emit_32(1110171661);
+emit_32(1124132848);
+emit_32(1108159365);
+emit_32(1110171661);
+emit_32(1124388897);
+emit_32(1108652615);
+emit_32(1110171661);
+emit_32(1124644880);
+emit_32(1108895151);
+emit_32(1110171661);
+emit_32(1124900864);
+emit_32(1109068900);
+emit_32(1110171661);
+emit_32(1125156848);
+emit_32(1109317911);
+emit_32(1110171661);
+emit_32(1125412897);
+emit_32(1109583646);
+emit_32(1110171661);
+emit_32(1125668880);
+emit_32(1109982314);
+emit_32(1110171661);
+emit_32(1125924864);
+emit_32(1110319589);
+emit_32(1110171661);
+emit_32(1126180848);
+emit_32(1110618800);
+emit_32(1110171635);
+emit_32(1126436897);
+emit_32(1110589833);
+emit_32(1110171661);
+emit_32(1126692880);
+emit_32(1110601236);
+emit_32(1110171661);
+emit_32(1126948864);
+emit_32(1110238219);
+emit_32(1110171661);
+emit_32(1127204848);
+emit_32(1110066804);
+emit_32(1110171661);
+emit_32(1127460897);
+emit_32(1109910933);
+emit_32(1110171661);
+emit_32(1127716880);
+emit_32(1109484739);
+emit_32(1110171661);
+emit_32(1127972864);
+emit_32(1109107907);
+emit_32(1110171661);
+emit_32(1128228848);
+emit_32(1108797633);
+emit_32(1110171661);
+emit_32(1128484897);
+emit_32(1108483428);
+emit_32(1110171661);
+emit_32(1128740880);
+emit_32(1108328081);
+emit_32(1110171661);
+emit_32(1128996864);
+emit_32(1108125627);
+emit_32(1110171661);
+emit_32(1129252848);
+emit_32(1107731808);
+emit_32(1110171661);
+emit_32(1129508897);
+emit_32(1106917982);
+emit_32(1110171661);
+emit_32(1129764880);
+emit_32(1106313688);
+emit_32(1110171661);
+emit_32(1130020864);
+emit_32(1105521174);
+emit_32(1110171661);
+emit_32(1130276848);
+emit_32(1104211450);
+emit_32(1110171661);
+emit_32(1130532897);
+emit_32(1103253052);
+emit_32(1110171661);
+emit_32(1130788880);
+emit_32(1102325744);
+emit_32(1110171661);
+emit_32(1131044864);
+emit_32(1101081451);
+emit_32(1110171661);
+emit_32(1131300848);
+emit_32(1099684171);
+emit_32(1110171661);
+emit_32(1131556897);
+emit_32(1098145962);
+emit_32(1110171661);
+emit_32(1131812880);
+emit_32(1096588198);
+emit_32(1110171661);
+emit_32(1132068864);
+emit_32(1095942590);
+emit_32(1110171661);
+emit_32(1081737216);
+emit_32(1108060956);
+emit_32(1109147648);
+emit_32(1090125824);
+emit_32(1108546971);
+emit_32(1109147648);
+emit_32(1094418484);
+emit_32(1109017939);
+emit_32(1109147648);
+emit_32(1098514432);
+emit_32(1109407144);
+emit_32(1109147648);
+emit_32(1100759066);
+emit_32(1109980401);
+emit_32(1109147648);
+emit_32(1102807040);
+emit_32(1110240972);
+emit_32(1109147648);
+emit_32(1104855066);
+emit_32(1110658358);
+emit_32(1109147648);
+emit_32(1106903040);
+emit_32(1110751524);
+emit_32(1109147648);
+emit_32(1108123661);
+emit_32(1110695844);
+emit_32(1109147648);
+emit_32(1109147648);
+emit_32(1110721089);
+emit_32(1109147648);
+emit_32(1110171661);
+emit_32(1110727406);
+emit_32(1109147648);
+emit_32(1111195648);
+emit_32(1110842173);
+emit_32(1109147648);
+emit_32(1112219661);
+emit_32(1110770765);
+emit_32(1109147648);
+emit_32(1113243648);
+emit_32(1110489091);
+emit_32(1109147648);
+emit_32(1114267661);
+emit_32(1110249518);
+emit_32(1109147648);
+emit_32(1115291648);
+emit_32(1110116087);
+emit_32(1109147648);
+emit_32(1116000263);
+emit_32(1110026722);
+emit_32(1109147648);
+emit_32(1116512256);
+emit_32(1109757343);
+emit_32(1109147648);
+emit_32(1117024263);
+emit_32(1109707325);
+emit_32(1109147648);
+emit_32(1117536256);
+emit_32(1109736109);
+emit_32(1109147648);
+emit_32(1118048263);
+emit_32(1109670940);
+emit_32(1109147648);
+emit_32(1118560256);
+emit_32(1109409425);
+emit_32(1109147648);
+emit_32(1119072263);
+emit_32(1109060459);
+emit_32(1109147648);
+emit_32(1119584256);
+emit_32(1108683601);
+emit_32(1109147648);
+emit_32(1120096263);
+emit_32(1108291643);
+emit_32(1109147648);
+emit_32(1120608322);
+emit_32(1108134645);
+emit_32(1109147648);
+emit_32(1121120289);
+emit_32(1107726382);
+emit_32(1109147648);
+emit_32(1121632256);
+emit_32(1107627056);
+emit_32(1109147648);
+emit_32(1122144223);
+emit_32(1107778260);
+emit_32(1109147648);
+emit_32(1122656322);
+emit_32(1108018568);
+emit_32(1109147648);
+emit_32(1123168289);
+emit_32(1107783031);
+emit_32(1109147648);
+emit_32(1123680256);
+emit_32(1108023470);
+emit_32(1109147648);
+emit_32(1124132848);
+emit_32(1108274551);
+emit_32(1109147648);
+emit_32(1124388897);
+emit_32(1108502721);
+emit_32(1109147648);
+emit_32(1124644880);
+emit_32(1108792679);
+emit_32(1109147648);
+emit_32(1124900864);
+emit_32(1108934997);
+emit_32(1109147648);
+emit_32(1125156848);
+emit_32(1109183483);
+emit_32(1109147648);
+emit_32(1125412897);
+emit_32(1109454645);
+emit_32(1109147648);
+emit_32(1125668880);
+emit_32(1109678699);
+emit_32(1109147648);
+emit_32(1125924864);
+emit_32(1110022658);
+emit_32(1109147648);
+emit_32(1126180848);
+emit_32(1110147151);
+emit_32(1109147648);
+emit_32(1126436897);
+emit_32(1110222596);
+emit_32(1109147648);
+emit_32(1126692880);
+emit_32(1110347035);
+emit_32(1109147648);
+emit_32(1126948864);
+emit_32(1110235231);
+emit_32(1109147648);
+emit_32(1127204848);
+emit_32(1110061194);
+emit_32(1109147648);
+emit_32(1127460897);
+emit_32(1109745022);
+emit_32(1109147648);
+emit_32(1127716880);
+emit_32(1109246162);
+emit_32(1109147648);
+emit_32(1127972864);
+emit_32(1109124003);
+emit_32(1109147648);
+emit_32(1128228848);
+emit_32(1108700011);
+emit_32(1109147648);
+emit_32(1128484897);
+emit_32(1108308525);
+emit_32(1109147648);
+emit_32(1128740880);
+emit_32(1108062844);
+emit_32(1109147648);
+emit_32(1128996864);
+emit_32(1107977306);
+emit_32(1109147648);
+emit_32(1129252848);
+emit_32(1107731205);
+emit_32(1109147648);
+emit_32(1129508897);
+emit_32(1107357781);
+emit_32(1109147648);
+emit_32(1129764880);
+emit_32(1106463529);
+emit_32(1109147648);
+emit_32(1130020864);
+emit_32(1105450081);
+emit_32(1109147648);
+emit_32(1130276848);
+emit_32(1104493307);
+emit_32(1109147648);
+emit_32(1130532897);
+emit_32(1103358434);
+emit_32(1109147648);
+emit_32(1130788880);
+emit_32(1102558632);
+emit_32(1109147648);
+emit_32(1131044864);
+emit_32(1101338404);
+emit_32(1109147648);
+emit_32(1131300848);
+emit_32(1100196558);
+emit_32(1109147648);
+emit_32(1131556897);
+emit_32(1099061264);
+emit_32(1109147648);
+emit_32(1131812880);
+emit_32(1096545521);
+emit_32(1109147648);
+emit_32(1132068864);
+emit_32(1096018716);
+emit_32(1109147648);
+emit_32(1081737216);
+emit_32(1109011386);
+emit_32(1108123661);
+emit_32(1090125824);
+emit_32(1109203904);
+emit_32(1108123661);
+emit_32(1094418484);
+emit_32(1109519263);
+emit_32(1108123661);
+emit_32(1098514432);
+emit_32(1109988842);
+emit_32(1108123661);
+emit_32(1100759066);
+emit_32(1110461461);
+emit_32(1108123635);
+emit_32(1102807040);
+emit_32(1110941919);
+emit_32(1108123635);
+emit_32(1104855066);
+emit_32(1111344415);
+emit_32(1108123661);
+emit_32(1106903040);
+emit_32(1111428956);
+emit_32(1108123661);
+emit_32(1108123661);
+emit_32(1111187862);
+emit_32(1108123635);
+emit_32(1109147648);
+emit_32(1111258851);
+emit_32(1108123635);
+emit_32(1110171661);
+emit_32(1111121199);
+emit_32(1108123661);
+emit_32(1111195648);
+emit_32(1111334951);
+emit_32(1108123661);
+emit_32(1112219661);
+emit_32(1111280871);
+emit_32(1108123635);
+emit_32(1113243648);
+emit_32(1111290597);
+emit_32(1108123635);
+emit_32(1114267661);
+emit_32(1111219660);
+emit_32(1108123661);
+emit_32(1115291648);
+emit_32(1110791212);
+emit_32(1108123661);
+emit_32(1116000263);
+emit_32(1110556043);
+emit_32(1108123635);
+emit_32(1116512256);
+emit_32(1110407643);
+emit_32(1108123635);
+emit_32(1117024263);
+emit_32(1110379174);
+emit_32(1108123661);
+emit_32(1117536256);
+emit_32(1110347979);
+emit_32(1108123661);
+emit_32(1118048263);
+emit_32(1110338280);
+emit_32(1108123661);
+emit_32(1118560256);
+emit_32(1109911536);
+emit_32(1108123661);
+emit_32(1119072263);
+emit_32(1109549908);
+emit_32(1108123661);
+emit_32(1119584256);
+emit_32(1109081142);
+emit_32(1108123661);
+emit_32(1120096263);
+emit_32(1108718492);
+emit_32(1108123661);
+emit_32(1120608322);
+emit_32(1108472470);
+emit_32(1108123661);
+emit_32(1121120289);
+emit_32(1108029604);
+emit_32(1108123661);
+emit_32(1121632256);
+emit_32(1107454879);
+emit_32(1108123661);
+emit_32(1122144223);
+emit_32(1107399252);
+emit_32(1108123661);
+emit_32(1122656322);
+emit_32(1107660793);
+emit_32(1108123661);
+emit_32(1123168289);
+emit_32(1107749241);
+emit_32(1108123661);
+emit_32(1123680256);
+emit_32(1107770448);
+emit_32(1108123661);
+emit_32(1124132848);
+emit_32(1108146730);
+emit_32(1108123661);
+emit_32(1124388897);
+emit_32(1108341608);
+emit_32(1108123661);
+emit_32(1124644880);
+emit_32(1108443057);
+emit_32(1108123661);
+emit_32(1124900864);
+emit_32(1108765442);
+emit_32(1108123661);
+emit_32(1125156848);
+emit_32(1108966061);
+emit_32(1108123661);
+emit_32(1125412897);
+emit_32(1109234287);
+emit_32(1108123661);
+emit_32(1125668880);
+emit_32(1109396423);
+emit_32(1108123661);
+emit_32(1125924864);
+emit_32(1109622050);
+emit_32(1108123661);
+emit_32(1126180848);
+emit_32(1109584826);
+emit_32(1108123661);
+emit_32(1126436897);
+emit_32(1109832945);
+emit_32(1108123661);
+emit_32(1126692880);
+emit_32(1109962759);
+emit_32(1108123661);
+emit_32(1126948864);
+emit_32(1109897773);
+emit_32(1108123661);
+emit_32(1127204848);
+emit_32(1109645800);
+emit_32(1108123661);
+emit_32(1127460897);
+emit_32(1109215386);
+emit_32(1108123661);
+emit_32(1127716880);
+emit_32(1108859027);
+emit_32(1108123661);
+emit_32(1127972864);
+emit_32(1108683050);
+emit_32(1108123661);
+emit_32(1128228848);
+emit_32(1108384704);
+emit_32(1108123661);
+emit_32(1128484897);
+emit_32(1108232031);
+emit_32(1108123661);
+emit_32(1128740880);
+emit_32(1108097027);
+emit_32(1108123661);
+emit_32(1128996864);
+emit_32(1107779178);
+emit_32(1108123661);
+emit_32(1129252848);
+emit_32(1107602938);
+emit_32(1108123661);
+emit_32(1129508897);
+emit_32(1107406278);
+emit_32(1108123661);
+emit_32(1129764880);
+emit_32(1106809874);
+emit_32(1108123661);
+emit_32(1130020864);
+emit_32(1105779438);
+emit_32(1108123661);
+emit_32(1130276848);
+emit_32(1104361030);
+emit_32(1108123661);
+emit_32(1130532897);
+emit_32(1102937430);
+emit_32(1108123661);
+emit_32(1130788880);
+emit_32(1102218107);
+emit_32(1108123661);
+emit_32(1131044864);
+emit_32(1101488456);
+emit_32(1108123661);
+emit_32(1131300848);
+emit_32(1100298741);
+emit_32(1108123661);
+emit_32(1131556897);
+emit_32(1099192756);
+emit_32(1108123661);
+emit_32(1131812880);
+emit_32(1097382704);
+emit_32(1108123661);
+emit_32(1132068864);
+emit_32(1096297952);
+emit_32(1108123661);
+emit_32(1081737216);
+emit_32(1109770397);
+emit_32(1106903040);
+emit_32(1090125824);
+emit_32(1109777737);
+emit_32(1106903040);
+emit_32(1094418484);
+emit_32(1110054299);
+emit_32(1106903040);
+emit_32(1098514432);
+emit_32(1110481751);
+emit_32(1106903040);
+emit_32(1100759066);
+emit_32(1110921734);
+emit_32(1106903040);
+emit_32(1102807040);
+emit_32(1111312643);
+emit_32(1106903040);
+emit_32(1104855066);
+emit_32(1111792130);
+emit_32(1106903040);
+emit_32(1106903040);
+emit_32(1111787124);
+emit_32(1106903040);
+emit_32(1108123661);
+emit_32(1111611697);
+emit_32(1106903040);
+emit_32(1109147648);
+emit_32(1111513262);
+emit_32(1106903040);
+emit_32(1110171661);
+emit_32(1111366278);
+emit_32(1106903040);
+emit_32(1111195648);
+emit_32(1111544090);
+emit_32(1106903040);
+emit_32(1112219661);
+emit_32(1111560762);
+emit_32(1106903040);
+emit_32(1113243648);
+emit_32(1111668713);
+emit_32(1106903040);
+emit_32(1114267661);
+emit_32(1111792235);
+emit_32(1106903040);
+emit_32(1115291648);
+emit_32(1111628474);
+emit_32(1106903040);
+emit_32(1116000263);
+emit_32(1111299169);
+emit_32(1106903040);
+emit_32(1116512256);
+emit_32(1111051180);
+emit_32(1106903040);
+emit_32(1117024263);
+emit_32(1110941447);
+emit_32(1106903040);
+emit_32(1117536256);
+emit_32(1110781408);
+emit_32(1106903040);
+emit_32(1118048263);
+emit_32(1110736162);
+emit_32(1106903040);
+emit_32(1118560256);
+emit_32(1110488462);
+emit_32(1106903040);
+emit_32(1119072263);
+emit_32(1109937383);
+emit_32(1106903040);
+emit_32(1119584256);
+emit_32(1109345724);
+emit_32(1106903040);
+emit_32(1120096263);
+emit_32(1108919032);
+emit_32(1106903040);
+emit_32(1120608322);
+emit_32(1108581522);
+emit_32(1106903040);
+emit_32(1121120289);
+emit_32(1108342132);
+emit_32(1106903040);
+emit_32(1121632256);
+emit_32(1107848908);
+emit_32(1106903040);
+emit_32(1122144223);
+emit_32(1107817451);
+emit_32(1106903040);
+emit_32(1122656322);
+emit_32(1107677518);
+emit_32(1106903040);
+emit_32(1123168289);
+emit_32(1107491160);
+emit_32(1106903040);
+emit_32(1123680256);
+emit_32(1107374427);
+emit_32(1106903040);
+emit_32(1124132848);
+emit_32(1107634238);
+emit_32(1106903040);
+emit_32(1124388897);
+emit_32(1107933318);
+emit_32(1106903040);
+emit_32(1124644880);
+emit_32(1108214022);
+emit_32(1106903040);
+emit_32(1124900864);
+emit_32(1108453936);
+emit_32(1106903040);
+emit_32(1125156848);
+emit_32(1108889960);
+emit_32(1106903040);
+emit_32(1125412897);
+emit_32(1108978801);
+emit_32(1106903040);
+emit_32(1125668880);
+emit_32(1108913553);
+emit_32(1106903040);
+emit_32(1125924864);
+emit_32(1109166234);
+emit_32(1106903040);
+emit_32(1126180848);
+emit_32(1109341451);
+emit_32(1106903040);
+emit_32(1126436897);
+emit_32(1109498502);
+emit_32(1106903040);
+emit_32(1126692880);
+emit_32(1109568048);
+emit_32(1106903040);
+emit_32(1126948864);
+emit_32(1109560892);
+emit_32(1106903040);
+emit_32(1127204848);
+emit_32(1109393539);
+emit_32(1106903040);
+emit_32(1127460897);
+emit_32(1108906790);
+emit_32(1106903040);
+emit_32(1127716880);
+emit_32(1108388794);
+emit_32(1106903040);
+emit_32(1127972864);
+emit_32(1108280685);
+emit_32(1106903040);
+emit_32(1128228848);
+emit_32(1108149246);
+emit_32(1106903040);
+emit_32(1128484897);
+emit_32(1107958379);
+emit_32(1106903040);
+emit_32(1128740880);
+emit_32(1107807725);
+emit_32(1106903040);
+emit_32(1128996864);
+emit_32(1107773594);
+emit_32(1106903040);
+emit_32(1129252848);
+emit_32(1107432414);
+emit_32(1106903040);
+emit_32(1129508897);
+emit_32(1107128327);
+emit_32(1106903040);
+emit_32(1129764880);
+emit_32(1106506678);
+emit_32(1106903040);
+emit_32(1130020864);
+emit_32(1105675629);
+emit_32(1106903040);
+emit_32(1130276848);
+emit_32(1104725148);
+emit_32(1106903040);
+emit_32(1130532897);
+emit_32(1102879234);
+emit_32(1106903040);
+emit_32(1130788880);
+emit_32(1102337697);
+emit_32(1106903040);
+emit_32(1131044864);
+emit_32(1101447194);
+emit_32(1106903040);
+emit_32(1131300848);
+emit_32(1100372404);
+emit_32(1106903040);
+emit_32(1131556897);
+emit_32(1099275803);
+emit_32(1106903040);
+emit_32(1131812880);
+emit_32(1097451700);
+emit_32(1106903040);
+emit_32(1132068864);
+emit_32(1095526829);
+emit_32(1106903040);
+emit_32(1081737216);
+emit_32(1110109952);
+emit_32(1104855014);
+emit_32(1090125824);
+emit_32(1110275732);
+emit_32(1104855066);
+emit_32(1094418484);
+emit_32(1110685778);
+emit_32(1104855014);
+emit_32(1098514432);
+emit_32(1111152735);
+emit_32(1104855066);
+emit_32(1100759066);
+emit_32(1111517587);
+emit_32(1104855014);
+emit_32(1102807040);
+emit_32(1111678596);
+emit_32(1104855066);
+emit_32(1104855066);
+emit_32(1111775642);
+emit_32(1104855014);
+emit_32(1106903040);
+emit_32(1112048193);
+emit_32(1104855066);
+emit_32(1108123661);
+emit_32(1111799470);
+emit_32(1104855014);
+emit_32(1109147648);
+emit_32(1112134622);
+emit_32(1104855066);
+emit_32(1110171661);
+emit_32(1111941867);
+emit_32(1104855014);
+emit_32(1111195648);
+emit_32(1111767463);
+emit_32(1104855066);
+emit_32(1112219661);
+emit_32(1111687011);
+emit_32(1104855014);
+emit_32(1113243648);
+emit_32(1111766309);
+emit_32(1104855066);
+emit_32(1114267661);
+emit_32(1111969340);
+emit_32(1104855014);
+emit_32(1115291648);
+emit_32(1111967505);
+emit_32(1104855066);
+emit_32(1116000263);
+emit_32(1111727355);
+emit_32(1104855014);
+emit_32(1116512256);
+emit_32(1111359540);
+emit_32(1104855066);
+emit_32(1117024263);
+emit_32(1111157847);
+emit_32(1104855014);
+emit_32(1117536256);
+emit_32(1110917304);
+emit_32(1104855066);
+emit_32(1118048263);
+emit_32(1110816929);
+emit_32(1104855014);
+emit_32(1118560256);
+emit_32(1110568783);
+emit_32(1104855066);
+emit_32(1119072263);
+emit_32(1110093490);
+emit_32(1104855014);
+emit_32(1119584256);
+emit_32(1109527311);
+emit_32(1104855066);
+emit_32(1120096263);
+emit_32(1108993586);
+emit_32(1104855014);
+emit_32(1120608322);
+emit_32(1108933555);
+emit_32(1104855066);
+emit_32(1121120289);
+emit_32(1108821698);
+emit_32(1104855014);
+emit_32(1121632256);
+emit_32(1108751234);
+emit_32(1104855066);
+emit_32(1122144223);
+emit_32(1108472837);
+emit_32(1104855014);
+emit_32(1122656322);
+emit_32(1108266844);
+emit_32(1104855066);
+emit_32(1123168289);
+emit_32(1107914103);
+emit_32(1104855014);
+emit_32(1123680256);
+emit_32(1107834175);
+emit_32(1104855066);
+emit_32(1124132848);
+emit_32(1107903539);
+emit_32(1104855014);
+emit_32(1124388897);
+emit_32(1107817215);
+emit_32(1104855066);
+emit_32(1124644880);
+emit_32(1107776661);
+emit_32(1104855014);
+emit_32(1124900864);
+emit_32(1108217378);
+emit_32(1104855066);
+emit_32(1125156848);
+emit_32(1108340821);
+emit_32(1104855014);
+emit_32(1125412897);
+emit_32(1108427643);
+emit_32(1104855066);
+emit_32(1125668880);
+emit_32(1108896016);
+emit_32(1104855014);
+emit_32(1125924864);
+emit_32(1109136271);
+emit_32(1104855066);
+emit_32(1126180848);
+emit_32(1109149745);
+emit_32(1104855014);
+emit_32(1126436897);
+emit_32(1109121932);
+emit_32(1104855066);
+emit_32(1126692880);
+emit_32(1108894600);
+emit_32(1104855014);
+emit_32(1126948864);
+emit_32(1108941734);
+emit_32(1104855066);
+emit_32(1127204848);
+emit_32(1108756031);
+emit_32(1104855014);
+emit_32(1127460897);
+emit_32(1108342132);
+emit_32(1104855066);
+emit_32(1127716880);
+emit_32(1107861281);
+emit_32(1104855014);
+emit_32(1127972864);
+emit_32(1107811264);
+emit_32(1104855066);
+emit_32(1128228848);
+emit_32(1107808905);
+emit_32(1104855014);
+emit_32(1128484897);
+emit_32(1107751705);
+emit_32(1104855066);
+emit_32(1128740880);
+emit_32(1107656337);
+emit_32(1104855014);
+emit_32(1128996864);
+emit_32(1107347820);
+emit_32(1104855066);
+emit_32(1129252848);
+emit_32(1107352119);
+emit_32(1104855014);
+emit_32(1129508897);
+emit_32(1106497084);
+emit_32(1104855066);
+emit_32(1129764880);
+emit_32(1105749344);
+emit_32(1104855014);
+emit_32(1130020864);
+emit_32(1104957407);
+emit_32(1104855066);
+emit_32(1130276848);
+emit_32(1104016048);
+emit_32(1104855014);
+emit_32(1130532897);
+emit_32(1102858578);
+emit_32(1104855066);
+emit_32(1130788880);
+emit_32(1102331511);
+emit_32(1104855014);
+emit_32(1131044864);
+emit_32(1101186518);
+emit_32(1104855066);
+emit_32(1131300848);
+emit_32(1100268490);
+emit_32(1104855066);
+emit_32(1131556897);
+emit_32(1099251266);
+emit_32(1104855066);
+emit_32(1131812880);
+emit_32(1097610874);
+emit_32(1104855066);
+emit_32(1132068864);
+emit_32(1095739900);
+emit_32(1104855066);
+emit_32(1081737216);
+emit_32(1110619796);
+emit_32(1102807040);
+emit_32(1090125824);
+emit_32(1110999800);
+emit_32(1102807040);
+emit_32(1094418484);
+emit_32(1111488489);
+emit_32(1102807040);
+emit_32(1098514432);
+emit_32(1111646011);
+emit_32(1102807040);
+emit_32(1100759066);
+emit_32(1111969235);
+emit_32(1102807040);
+emit_32(1102807040);
+emit_32(1112017758);
+emit_32(1102807040);
+emit_32(1104855066);
+emit_32(1111955341);
+emit_32(1102807040);
+emit_32(1106903040);
+emit_32(1112183747);
+emit_32(1102807040);
+emit_32(1108123661);
+emit_32(1112078287);
+emit_32(1102807040);
+emit_32(1109147648);
+emit_32(1112415640);
+emit_32(1102807040);
+emit_32(1110171661);
+emit_32(1112379359);
+emit_32(1102807040);
+emit_32(1111195648);
+emit_32(1112160154);
+emit_32(1102807040);
+emit_32(1112219661);
+emit_32(1112004362);
+emit_32(1102807040);
+emit_32(1113243648);
+emit_32(1112284594);
+emit_32(1102807040);
+emit_32(1114267661);
+emit_32(1112145815);
+emit_32(1102807040);
+emit_32(1115291648);
+emit_32(1112028165);
+emit_32(1102807040);
+emit_32(1116000263);
+emit_32(1111869699);
+emit_32(1102807040);
+emit_32(1116512256);
+emit_32(1111690130);
+emit_32(1102807040);
+emit_32(1117024263);
+emit_32(1111495488);
+emit_32(1102807040);
+emit_32(1117536256);
+emit_32(1111516565);
+emit_32(1102807040);
+emit_32(1118048263);
+emit_32(1111279455);
+emit_32(1102807040);
+emit_32(1118560256);
+emit_32(1110753647);
+emit_32(1102807040);
+emit_32(1119072263);
+emit_32(1110422245);
+emit_32(1102807040);
+emit_32(1119584256);
+emit_32(1109864350);
+emit_32(1102807040);
+emit_32(1120096263);
+emit_32(1109488566);
+emit_32(1102807040);
+emit_32(1120608322);
+emit_32(1109477320);
+emit_32(1102807040);
+emit_32(1121120289);
+emit_32(1109194755);
+emit_32(1102807040);
+emit_32(1121632256);
+emit_32(1109034743);
+emit_32(1102807040);
+emit_32(1122144223);
+emit_32(1108849800);
+emit_32(1102807040);
+emit_32(1122656322);
+emit_32(1108636598);
+emit_32(1102807040);
+emit_32(1123168289);
+emit_32(1108210719);
+emit_32(1102807040);
+emit_32(1123680256);
+emit_32(1108302496);
+emit_32(1102807040);
+emit_32(1124132848);
+emit_32(1108212213);
+emit_32(1102807040);
+emit_32(1124388897);
+emit_32(1107870640);
+emit_32(1102807040);
+emit_32(1124644880);
+emit_32(1107736422);
+emit_32(1102807040);
+emit_32(1124900864);
+emit_32(1107676522);
+emit_32(1102807040);
+emit_32(1125156848);
+emit_32(1108209094);
+emit_32(1102807040);
+emit_32(1125412897);
+emit_32(1108349734);
+emit_32(1102807040);
+emit_32(1125668880);
+emit_32(1108929675);
+emit_32(1102807040);
+emit_32(1125924864);
+emit_32(1109162643);
+emit_32(1102807040);
+emit_32(1126180848);
+emit_32(1109107540);
+emit_32(1102807040);
+emit_32(1126436897);
+emit_32(1108914654);
+emit_32(1102807040);
+emit_32(1126692880);
+emit_32(1108541388);
+emit_32(1102807040);
+emit_32(1126948864);
+emit_32(1108505081);
+emit_32(1102807040);
+emit_32(1127204848);
+emit_32(1108237222);
+emit_32(1102807040);
+emit_32(1127460897);
+emit_32(1108014924);
+emit_32(1102807040);
+emit_32(1127716880);
+emit_32(1107468589);
+emit_32(1102807040);
+emit_32(1127972864);
+emit_32(1107449269);
+emit_32(1102807040);
+emit_32(1128228848);
+emit_32(1107434458);
+emit_32(1102807040);
+emit_32(1128484897);
+emit_32(1107390916);
+emit_32(1102807040);
+emit_32(1128740880);
+emit_32(1107022787);
+emit_32(1102807040);
+emit_32(1128996864);
+emit_32(1106671200);
+emit_32(1102807040);
+emit_32(1129252848);
+emit_32(1106222724);
+emit_32(1102807040);
+emit_32(1129508897);
+emit_32(1106247575);
+emit_32(1102807040);
+emit_32(1129764880);
+emit_32(1105452230);
+emit_32(1102807040);
+emit_32(1130020864);
+emit_32(1104502273);
+emit_32(1102807040);
+emit_32(1130276848);
+emit_32(1103619634);
+emit_32(1102807040);
+emit_32(1130532897);
+emit_32(1102588831);
+emit_32(1102807040);
+emit_32(1130788880);
+emit_32(1101717150);
+emit_32(1102807040);
+emit_32(1131044864);
+emit_32(1100508142);
+emit_32(1102807040);
+emit_32(1131300848);
+emit_32(1100011589);
+emit_32(1102807040);
+emit_32(1131556897);
+emit_32(1099322674);
+emit_32(1102807040);
+emit_32(1131812880);
+emit_32(1097813040);
+emit_32(1102807040);
+emit_32(1132068864);
+emit_32(1095768526);
+emit_32(1102807040);
+emit_32(1081737216);
+emit_32(1111203643);
+emit_32(1100759014);
+emit_32(1090125824);
+emit_32(1111589362);
+emit_32(1100759014);
+emit_32(1094418484);
+emit_32(1112030917);
+emit_32(1100759014);
+emit_32(1098514432);
+emit_32(1112275996);
+emit_32(1100759014);
+emit_32(1100759066);
+emit_32(1112319197);
+emit_32(1100759014);
+emit_32(1102807040);
+emit_32(1112479393);
+emit_32(1100759014);
+emit_32(1104855066);
+emit_32(1112429638);
+emit_32(1100759014);
+emit_32(1106903040);
+emit_32(1112415247);
+emit_32(1100759014);
+emit_32(1108123661);
+emit_32(1112431998);
+emit_32(1100759014);
+emit_32(1109147648);
+emit_32(1112654453);
+emit_32(1100759014);
+emit_32(1110171661);
+emit_32(1112696396);
+emit_32(1100759014);
+emit_32(1111195648);
+emit_32(1112521022);
+emit_32(1100759014);
+emit_32(1112219661);
+emit_32(1112435904);
+emit_32(1100759014);
+emit_32(1113243648);
+emit_32(1112240292);
+emit_32(1100759014);
+emit_32(1114267661);
+emit_32(1112316209);
+emit_32(1100759014);
+emit_32(1115291648);
+emit_32(1112066150);
+emit_32(1100759014);
+emit_32(1116000263);
+emit_32(1111963651);
+emit_32(1100759014);
+emit_32(1116512256);
+emit_32(1111800886);
+emit_32(1100759014);
+emit_32(1117024263);
+emit_32(1111681296);
+emit_32(1100759014);
+emit_32(1117536256);
+emit_32(1111620767);
+emit_32(1100759014);
+emit_32(1118048263);
+emit_32(1111346774);
+emit_32(1100759014);
+emit_32(1118560256);
+emit_32(1111034272);
+emit_32(1100759014);
+emit_32(1119072263);
+emit_32(1110619088);
+emit_32(1100759014);
+emit_32(1119584256);
+emit_32(1110189723);
+emit_32(1100759014);
+emit_32(1120096263);
+emit_32(1109747512);
+emit_32(1100759014);
+emit_32(1120608322);
+emit_32(1109609965);
+emit_32(1100759014);
+emit_32(1121120289);
+emit_32(1109538216);
+emit_32(1100759014);
+emit_32(1121632256);
+emit_32(1109322341);
+emit_32(1100759014);
+emit_32(1122144223);
+emit_32(1109116505);
+emit_32(1100759014);
+emit_32(1122656322);
+emit_32(1108968237);
+emit_32(1100759014);
+emit_32(1123168289);
+emit_32(1108596962);
+emit_32(1100759014);
+emit_32(1123680256);
+emit_32(1108337885);
+emit_32(1100759014);
+emit_32(1124132848);
+emit_32(1108184583);
+emit_32(1100759014);
+emit_32(1124388897);
+emit_32(1107955103);
+emit_32(1100759014);
+emit_32(1124644880);
+emit_32(1108010677);
+emit_32(1100759014);
+emit_32(1124900864);
+emit_32(1107800306);
+emit_32(1100759014);
+emit_32(1125156848);
+emit_32(1107894626);
+emit_32(1100759014);
+emit_32(1125412897);
+emit_32(1108230616);
+emit_32(1100759014);
+emit_32(1125668880);
+emit_32(1108803374);
+emit_32(1100759014);
+emit_32(1125924864);
+emit_32(1109075454);
+emit_32(1100759014);
+emit_32(1126180848);
+emit_32(1109027350);
+emit_32(1100759014);
+emit_32(1126436897);
+emit_32(1108939951);
+emit_32(1100759014);
+emit_32(1126692880);
+emit_32(1108326744);
+emit_32(1100759014);
+emit_32(1126948864);
+emit_32(1108036865);
+emit_32(1100759014);
+emit_32(1127204848);
+emit_32(1107817923);
+emit_32(1100759014);
+emit_32(1127460897);
+emit_32(1107732464);
+emit_32(1100759014);
+emit_32(1127716880);
+emit_32(1107137554);
+emit_32(1100759014);
+emit_32(1127972864);
+emit_32(1106958562);
+emit_32(1100759014);
+emit_32(1128228848);
+emit_32(1106960135);
+emit_32(1100759014);
+emit_32(1128484897);
+emit_32(1106646873);
+emit_32(1100759014);
+emit_32(1128740880);
+emit_32(1105859497);
+emit_32(1100759014);
+emit_32(1128996864);
+emit_32(1105603382);
+emit_32(1100759014);
+emit_32(1129252848);
+emit_32(1105170530);
+emit_32(1100759014);
+emit_32(1129508897);
+emit_32(1105374164);
+emit_32(1100759014);
+emit_32(1129764880);
+emit_32(1105401636);
+emit_32(1100759014);
+emit_32(1130020864);
+emit_32(1104911427);
+emit_32(1100759014);
+emit_32(1130276848);
+emit_32(1103660424);
+emit_32(1100759014);
+emit_32(1130532897);
+emit_32(1102697778);
+emit_32(1100759014);
+emit_32(1130788880);
+emit_32(1101449239);
+emit_32(1100759066);
+emit_32(1131044864);
+emit_32(1100702810);
+emit_32(1100759066);
+emit_32(1131300848);
+emit_32(1099801611);
+emit_32(1100759066);
+emit_32(1131556897);
+emit_32(1099221015);
+emit_32(1100759066);
+emit_32(1131812880);
+emit_32(1097633733);
+emit_32(1100759066);
+emit_32(1132068864);
+emit_32(1095588276);
+emit_32(1100759066);
+emit_32(1081737216);
+emit_32(1111812866);
+emit_32(1098514432);
+emit_32(1090125824);
+emit_32(1112034614);
+emit_32(1098514432);
+emit_32(1094418484);
+emit_32(1112430949);
+emit_32(1098514432);
+emit_32(1098514432);
+emit_32(1112552899);
+emit_32(1098514432);
+emit_32(1100759066);
+emit_32(1112388901);
+emit_32(1098514432);
+emit_32(1102807040);
+emit_32(1112497324);
+emit_32(1098514432);
+emit_32(1104855066);
+emit_32(1112626351);
+emit_32(1098514432);
+emit_32(1106903040);
+emit_32(1112804164);
+emit_32(1098514432);
+emit_32(1108123661);
+emit_32(1112732048);
+emit_32(1098514432);
+emit_32(1109147648);
+emit_32(1112876043);
+emit_32(1098514432);
+emit_32(1110171661);
+emit_32(1112974741);
+emit_32(1098514432);
+emit_32(1111195648);
+emit_32(1112667141);
+emit_32(1098514432);
+emit_32(1112219661);
+emit_32(1112522411);
+emit_32(1098514432);
+emit_32(1113243648);
+emit_32(1112234315);
+emit_32(1098514432);
+emit_32(1114267661);
+emit_32(1112061562);
+emit_32(1098514432);
+emit_32(1115291648);
+emit_32(1111763216);
+emit_32(1098514432);
+emit_32(1116000263);
+emit_32(1111779207);
+emit_32(1098514432);
+emit_32(1116512256);
+emit_32(1111697732);
+emit_32(1098514432);
+emit_32(1117024263);
+emit_32(1111651097);
+emit_32(1098514432);
+emit_32(1117536256);
+emit_32(1111523564);
+emit_32(1098514432);
+emit_32(1118048263);
+emit_32(1111418916);
+emit_32(1098514432);
+emit_32(1118560256);
+emit_32(1111207811);
+emit_32(1098514432);
+emit_32(1119072263);
+emit_32(1110728743);
+emit_32(1098514432);
+emit_32(1119584256);
+emit_32(1110351885);
+emit_32(1098514432);
+emit_32(1120096263);
+emit_32(1110067354);
+emit_32(1098514432);
+emit_32(1120608322);
+emit_32(1109906476);
+emit_32(1098514432);
+emit_32(1121120289);
+emit_32(1109648474);
+emit_32(1098514432);
+emit_32(1121632256);
+emit_32(1109594787);
+emit_32(1098514432);
+emit_32(1122144223);
+emit_32(1109226711);
+emit_32(1098514432);
+emit_32(1122656322);
+emit_32(1109203825);
+emit_32(1098514432);
+emit_32(1123168289);
+emit_32(1108763659);
+emit_32(1098514432);
+emit_32(1123680256);
+emit_32(1108360770);
+emit_32(1098514432);
+emit_32(1124132848);
+emit_32(1108356628);
+emit_32(1098514432);
+emit_32(1124388897);
+emit_32(1108118838);
+emit_32(1098514432);
+emit_32(1124644880);
+emit_32(1108079411);
+emit_32(1098514432);
+emit_32(1124900864);
+emit_32(1107833179);
+emit_32(1098514432);
+emit_32(1125156848);
+emit_32(1107770841);
+emit_32(1098514432);
+emit_32(1125412897);
+emit_32(1108082531);
+emit_32(1098514432);
+emit_32(1125668880);
+emit_32(1108414667);
+emit_32(1098514432);
+emit_32(1125924864);
+emit_32(1108808670);
+emit_32(1098514432);
+emit_32(1126180848);
+emit_32(1108779572);
+emit_32(1098514432);
+emit_32(1126436897);
+emit_32(1108586686);
+emit_32(1098514432);
+emit_32(1126692880);
+emit_32(1108017650);
+emit_32(1098514432);
+emit_32(1126948864);
+emit_32(1107632508);
+emit_32(1098514432);
+emit_32(1127204848);
+emit_32(1107530849);
+emit_32(1098514432);
+emit_32(1127460897);
+emit_32(1107331357);
+emit_32(1098514432);
+emit_32(1127716880);
+emit_32(1106461065);
+emit_32(1098514432);
+emit_32(1127972864);
+emit_32(1105721295);
+emit_32(1098514432);
+emit_32(1128228848);
+emit_32(1105899395);
+emit_32(1098514432);
+emit_32(1128484897);
+emit_32(1105780959);
+emit_32(1098514432);
+emit_32(1128740880);
+emit_32(1105112806);
+emit_32(1098514432);
+emit_32(1128996864);
+emit_32(1104398988);
+emit_32(1098514432);
+emit_32(1129252848);
+emit_32(1104246420);
+emit_32(1098514432);
+emit_32(1129508897);
+emit_32(1104877715);
+emit_32(1098514432);
+emit_32(1129764880);
+emit_32(1104934024);
+emit_32(1098514432);
+emit_32(1130020864);
+emit_32(1104407062);
+emit_32(1098514432);
+emit_32(1130276848);
+emit_32(1103509009);
+emit_32(1098514432);
+emit_32(1130532897);
+emit_32(1102561359);
+emit_32(1098514432);
+emit_32(1130788880);
+emit_32(1101226941);
+emit_32(1098514432);
+emit_32(1131044864);
+emit_32(1100378223);
+emit_32(1098514432);
+emit_32(1131300848);
+emit_32(1099670330);
+emit_32(1098514432);
+emit_32(1131556897);
+emit_32(1099052247);
+emit_32(1098514432);
+emit_32(1131812880);
+emit_32(1097040344);
+emit_32(1098514432);
+emit_32(1132068864);
+emit_32(1094514429);
+emit_32(1098514432);
+emit_32(1081737216);
+emit_32(1112309314);
+emit_32(1094418380);
+emit_32(1090125824);
+emit_32(1112490036);
+emit_32(1094418380);
+emit_32(1094418484);
+emit_32(1112564590);
+emit_32(1094418380);
+emit_32(1098514432);
+emit_32(1112495017);
+emit_32(1094418380);
+emit_32(1100759066);
+emit_32(1112570934);
+emit_32(1094418380);
+emit_32(1102807040);
+emit_32(1112483797);
+emit_32(1094418380);
+emit_32(1104855066);
+emit_32(1112593269);
+emit_32(1094418380);
+emit_32(1106903040);
+emit_32(1112653955);
+emit_32(1094418380);
+emit_32(1108123661);
+emit_32(1112696973);
+emit_32(1094418380);
+emit_32(1109147648);
+emit_32(1112876358);
+emit_32(1094418380);
+emit_32(1110171661);
+emit_32(1112771972);
+emit_32(1094418380);
+emit_32(1111195648);
+emit_32(1112696658);
+emit_32(1094418380);
+emit_32(1112219661);
+emit_32(1112760438);
+emit_32(1094418380);
+emit_32(1113243648);
+emit_32(1112709844);
+emit_32(1094418380);
+emit_32(1114267661);
+emit_32(1112445708);
+emit_32(1094418380);
+emit_32(1115291648);
+emit_32(1112126810);
+emit_32(1094418380);
+emit_32(1116000263);
+emit_32(1111838268);
+emit_32(1094418380);
+emit_32(1116512256);
+emit_32(1111661530);
+emit_32(1094418380);
+emit_32(1117024263);
+emit_32(1111906163);
+emit_32(1094418380);
+emit_32(1117536256);
+emit_32(1112106389);
+emit_32(1094418380);
+emit_32(1118048263);
+emit_32(1111761879);
+emit_32(1094418380);
+emit_32(1118560256);
+emit_32(1111398128);
+emit_32(1094418380);
+emit_32(1119072263);
+emit_32(1110978645);
+emit_32(1094418380);
+emit_32(1119584256);
+emit_32(1110634319);
+emit_32(1094418380);
+emit_32(1120096263);
+emit_32(1110529776);
+emit_32(1094418380);
+emit_32(1120608322);
+emit_32(1110304358);
+emit_32(1094418380);
+emit_32(1121120289);
+emit_32(1110165710);
+emit_32(1094418380);
+emit_32(1121632256);
+emit_32(1109858216);
+emit_32(1094418380);
+emit_32(1122144223);
+emit_32(1109581365);
+emit_32(1094418380);
+emit_32(1122656322);
+emit_32(1109235859);
+emit_32(1094418380);
+emit_32(1123168289);
+emit_32(1108903907);
+emit_32(1094418380);
+emit_32(1123680256);
+emit_32(1108430973);
+emit_32(1094418380);
+emit_32(1124132848);
+emit_32(1108410683);
+emit_32(1094418380);
+emit_32(1124388897);
+emit_32(1108135038);
+emit_32(1094418380);
+emit_32(1124644880);
+emit_32(1107804973);
+emit_32(1094418380);
+emit_32(1124900864);
+emit_32(1107639901);
+emit_32(1094418380);
+emit_32(1125156848);
+emit_32(1107772126);
+emit_32(1094418380);
+emit_32(1125412897);
+emit_32(1107737261);
+emit_32(1094418380);
+emit_32(1125668880);
+emit_32(1108006063);
+emit_32(1094418380);
+emit_32(1125924864);
+emit_32(1108199919);
+emit_32(1094418380);
+emit_32(1126180848);
+emit_32(1108248678);
+emit_32(1094418380);
+emit_32(1126436897);
+emit_32(1107916253);
+emit_32(1094418380);
+emit_32(1126692880);
+emit_32(1107555149);
+emit_32(1094418380);
+emit_32(1126948864);
+emit_32(1107371177);
+emit_32(1094418380);
+emit_32(1127204848);
+emit_32(1107332275);
+emit_32(1094418380);
+emit_32(1127460897);
+emit_32(1106749686);
+emit_32(1094418380);
+emit_32(1127716880);
+emit_32(1105781640);
+emit_32(1094418380);
+emit_32(1127972864);
+emit_32(1105277223);
+emit_32(1094418380);
+emit_32(1128228848);
+emit_32(1104907757);
+emit_32(1094418380);
+emit_32(1128484897);
+emit_32(1104873049);
+emit_32(1094418380);
+emit_32(1128740880);
+emit_32(1104381896);
+emit_32(1094418380);
+emit_32(1128996864);
+emit_32(1103612294);
+emit_32(1094418380);
+emit_32(1129252848);
+emit_32(1103676519);
+emit_32(1094418380);
+emit_32(1129508897);
+emit_32(1104280132);
+emit_32(1094418380);
+emit_32(1129764880);
+emit_32(1104232789);
+emit_32(1094418380);
+emit_32(1130020864);
+emit_32(1103550533);
+emit_32(1094418380);
+emit_32(1130276848);
+emit_32(1102514592);
+emit_32(1094418380);
+emit_32(1130532897);
+emit_32(1101953866);
+emit_32(1094418380);
+emit_32(1130788880);
+emit_32(1100634653);
+emit_32(1094418380);
+emit_32(1131044864);
+emit_32(1099709337);
+emit_32(1094418380);
+emit_32(1131300848);
+emit_32(1099034526);
+emit_32(1094418380);
+emit_32(1131556897);
+emit_32(1098146172);
+emit_32(1094418380);
+emit_32(1131812880);
+emit_32(1096675754);
+emit_32(1094418380);
+emit_32(1132068864);
+emit_32(1095032426);
+emit_32(1094418380);
+emit_32(1081737216);
+emit_32(1112605380);
+emit_32(1090125824);
+emit_32(1090125824);
+emit_32(1112742534);
+emit_32(1090125824);
+emit_32(1094418484);
+emit_32(1112581997);
+emit_32(1090125824);
+emit_32(1098514432);
+emit_32(1112591984);
+emit_32(1090125824);
+emit_32(1100759066);
+emit_32(1112534732);
+emit_32(1090125824);
+emit_32(1102807040);
+emit_32(1112399387);
+emit_32(1090125824);
+emit_32(1104855066);
+emit_32(1112277857);
+emit_32(1090125824);
+emit_32(1106903040);
+emit_32(1112201599);
+emit_32(1090125824);
+emit_32(1108123661);
+emit_32(1112445472);
+emit_32(1090125824);
+emit_32(1109147648);
+emit_32(1112670418);
+emit_32(1090125824);
+emit_32(1110171661);
+emit_32(1112875572);
+emit_32(1090125824);
+emit_32(1111195648);
+emit_32(1112679095);
+emit_32(1090125824);
+emit_32(1112219661);
+emit_32(1112703500);
+emit_32(1090125824);
+emit_32(1113243648);
+emit_32(1112775511);
+emit_32(1090125824);
+emit_32(1114267661);
+emit_32(1112764999);
+emit_32(1090125824);
+emit_32(1115291648);
+emit_32(1112475330);
+emit_32(1090125824);
+emit_32(1116000263);
+emit_32(1112362661);
+emit_32(1090125824);
+emit_32(1116512256);
+emit_32(1112174966);
+emit_32(1090125824);
+emit_32(1117024263);
+emit_32(1112258039);
+emit_32(1090125824);
+emit_32(1117536256);
+emit_32(1112460755);
+emit_32(1090125824);
+emit_32(1118048263);
+emit_32(1112160312);
+emit_32(1090125824);
+emit_32(1118560256);
+emit_32(1111604462);
+emit_32(1090125824);
+emit_32(1119072263);
+emit_32(1111322578);
+emit_32(1090125824);
+emit_32(1119584256);
+emit_32(1110893291);
+emit_32(1090125824);
+emit_32(1120096263);
+emit_32(1110900736);
+emit_32(1090125824);
+emit_32(1120608322);
+emit_32(1110553369);
+emit_32(1090125824);
+emit_32(1121120289);
+emit_32(1110630518);
+emit_32(1090125824);
+emit_32(1121632256);
+emit_32(1110571431);
+emit_32(1090125824);
+emit_32(1122144223);
+emit_32(1110245900);
+emit_32(1090125824);
+emit_32(1122656322);
+emit_32(1109753463);
+emit_32(1090125824);
+emit_32(1123168289);
+emit_32(1109358386);
+emit_32(1090125824);
+emit_32(1123680256);
+emit_32(1108613530);
+emit_32(1090125824);
+emit_32(1124132848);
+emit_32(1108478368);
+emit_32(1090125824);
+emit_32(1124388897);
+emit_32(1108175854);
+emit_32(1090125824);
+emit_32(1124644880);
+emit_32(1107804527);
+emit_32(1090125824);
+emit_32(1124900864);
+emit_32(1107498500);
+emit_32(1090125824);
+emit_32(1125156848);
+emit_32(1107513704);
+emit_32(1090125824);
+emit_32(1125412897);
+emit_32(1107414562);
+emit_32(1090125824);
+emit_32(1125668880);
+emit_32(1107678934);
+emit_32(1090125824);
+emit_32(1125924864);
+emit_32(1107910564);
+emit_32(1090125824);
+emit_32(1126180848);
+emit_32(1108046853);
+emit_32(1090125824);
+emit_32(1126436897);
+emit_32(1107743028);
+emit_32(1090125824);
+emit_32(1126692880);
+emit_32(1107443817);
+emit_32(1090125824);
+emit_32(1126948864);
+emit_32(1107040246);
+emit_32(1090125824);
+emit_32(1127204848);
+emit_32(1106762321);
+emit_32(1090125824);
+emit_32(1127460897);
+emit_32(1106354582);
+emit_32(1090125824);
+emit_32(1127716880);
+emit_32(1105464079);
+emit_32(1090125824);
+emit_32(1127972864);
+emit_32(1104597169);
+emit_32(1090125824);
+emit_32(1128228848);
+emit_32(1103944902);
+emit_32(1090125824);
+emit_32(1128484897);
+emit_32(1104198028);
+emit_32(1090125824);
+emit_32(1128740880);
+emit_32(1103790342);
+emit_32(1090125824);
+emit_32(1128996864);
+emit_32(1103102686);
+emit_32(1090125824);
+emit_32(1129252848);
+emit_32(1103136555);
+emit_32(1090125824);
+emit_32(1129508897);
+emit_32(1103360688);
+emit_32(1090125824);
+emit_32(1129764880);
+emit_32(1103301339);
+emit_32(1090125824);
+emit_32(1130020864);
+emit_32(1102581596);
+emit_32(1090125824);
+emit_32(1130276848);
+emit_32(1101582723);
+emit_32(1090125824);
+emit_32(1130532897);
+emit_32(1100502427);
+emit_32(1090125824);
+emit_32(1130788880);
+emit_32(1099934623);
+emit_32(1090125824);
+emit_32(1131044864);
+emit_32(1099180854);
+emit_32(1090125824);
+emit_32(1131300848);
+emit_32(1098378012);
+emit_32(1090125824);
+emit_32(1131556897);
+emit_32(1096908852);
+emit_32(1090125824);
+emit_32(1131812880);
+emit_32(1096091278);
+emit_32(1090125824);
+emit_32(1132068864);
+emit_32(1095719453);
+emit_32(1090125824);
+emit_32(1081737216);
+emit_32(1112701298);
+emit_32(1081737216);
+emit_32(1090125824);
+emit_32(1112503694);
+emit_32(1081737216);
+emit_32(1094418484);
+emit_32(1112328084);
+emit_32(1081737216);
+emit_32(1098514432);
+emit_32(1112069951);
+emit_32(1081737216);
+emit_32(1100759066);
+emit_32(1112173655);
+emit_32(1081737216);
+emit_32(1102807040);
+emit_32(1112198559);
+emit_32(1081737216);
+emit_32(1104855066);
+emit_32(1112333694);
+emit_32(1081737216);
+emit_32(1106903040);
+emit_32(1112388744);
+emit_32(1081737216);
+emit_32(1108123661);
+emit_32(1112590726);
+emit_32(1081737216);
+emit_32(1109147648);
+emit_32(1113057735);
+emit_32(1081737216);
+emit_32(1110171661);
+emit_32(1113035296);
+emit_32(1081737216);
+emit_32(1111195648);
+emit_32(1112886896);
+emit_32(1081737216);
+emit_32(1112219661);
+emit_32(1112955971);
+emit_32(1081737216);
+emit_32(1113243648);
+emit_32(1113474440);
+emit_32(1081737216);
+emit_32(1114267661);
+emit_32(1113373252);
+emit_32(1081737216);
+emit_32(1115291648);
+emit_32(1112981923);
+emit_32(1081737216);
+emit_32(1116000263);
+emit_32(1112815462);
+emit_32(1081737216);
+emit_32(1116512256);
+emit_32(1112451711);
+emit_32(1081737216);
+emit_32(1117024263);
+emit_32(1112394144);
+emit_32(1081737216);
+emit_32(1117536256);
+emit_32(1112528414);
+emit_32(1081737216);
+emit_32(1118048263);
+emit_32(1112287950);
+emit_32(1081737216);
+emit_32(1118560256);
+emit_32(1111949653);
+emit_32(1081737216);
+emit_32(1119072263);
+emit_32(1111682685);
+emit_32(1081737216);
+emit_32(1119584256);
+emit_32(1111194678);
+emit_32(1081737216);
+emit_32(1120096263);
+emit_32(1111068639);
+emit_32(1081737216);
+emit_32(1120608322);
+emit_32(1110815303);
+emit_32(1081737216);
+emit_32(1121120289);
+emit_32(1110882674);
+emit_32(1081737216);
+emit_32(1121632256);
+emit_32(1110789010);
+emit_32(1081737216);
+emit_32(1122144223);
+emit_32(1110340062);
+emit_32(1081737216);
+emit_32(1122656322);
+emit_32(1109951539);
+emit_32(1081737216);
+emit_32(1123168289);
+emit_32(1109517848);
+emit_32(1081737216);
+emit_32(1123680256);
+emit_32(1109219108);
+emit_32(1081737216);
+emit_32(1124132848);
+emit_32(1108888571);
+emit_32(1081737216);
+emit_32(1124388897);
+emit_32(1108548203);
+emit_32(1081737216);
+emit_32(1124644880);
+emit_32(1108062057);
+emit_32(1081737216);
+emit_32(1124900864);
+emit_32(1107391755);
+emit_32(1081737216);
+emit_32(1125156848);
+emit_32(1107147201);
+emit_32(1081737216);
+emit_32(1125412897);
+emit_32(1106562515);
+emit_32(1081737216);
+emit_32(1125668880);
+emit_32(1107088323);
+emit_32(1081737216);
+emit_32(1125924864);
+emit_32(1107466728);
+emit_32(1081737216);
+emit_32(1126180848);
+emit_32(1107640477);
+emit_32(1081737216);
+emit_32(1126436897);
+emit_32(1107446858);
+emit_32(1081737216);
+emit_32(1126692880);
+emit_32(1107035003);
+emit_32(1081737216);
+emit_32(1126948864);
+emit_32(1106606398);
+emit_32(1081737216);
+emit_32(1127204848);
+emit_32(1106181305);
+emit_32(1081737216);
+emit_32(1127460897);
+emit_32(1105541831);
+emit_32(1081737216);
+emit_32(1127716880);
+emit_32(1104783501);
+emit_32(1081737216);
+emit_32(1127972864);
+emit_32(1103855197);
+emit_32(1081737216);
+emit_32(1128228848);
+emit_32(1103186310);
+emit_32(1081737216);
+emit_32(1128484897);
+emit_32(1103087482);
+emit_32(1081737216);
+emit_32(1128740880);
+emit_32(1102981471);
+emit_32(1081737216);
+emit_32(1128996864);
+emit_32(1102264716);
+emit_32(1081737216);
+emit_32(1129252848);
+emit_32(1102136581);
+emit_32(1081737216);
+emit_32(1129508897);
+emit_32(1101851735);
+emit_32(1081737216);
+emit_32(1129764880);
+emit_32(1101959109);
+emit_32(1081737216);
+emit_32(1130020864);
+emit_32(1101538001);
+emit_32(1081737216);
+emit_32(1130276848);
+emit_32(1100676386);
+emit_32(1081737216);
+emit_32(1130532897);
+emit_32(1100067740);
+emit_32(1081737216);
+emit_32(1130788880);
+emit_32(1099550582);
+emit_32(1081737216);
+emit_32(1131044864);
+emit_32(1099061684);
+emit_32(1081737216);
+emit_32(1131300848);
+emit_32(1097284243);
+emit_32(1081737216);
+emit_32(1131556897);
+emit_32(1096432799);
+emit_32(1081737216);
+emit_32(1131812880);
+emit_32(1096013998);
+emit_32(1081737216);
+emit_32(1132068864);
+emit_32(1095458043);
+emit_32(1081737216);
+emit_start(Landscape05Vtx)
+emit_32(3279552512);
+emit_32(3212673672);
+emit_32(0);
+emit_32(3279552512);
+emit_32(1041185636);
+emit_32(1081737216);
+emit_32(3279296528);
+emit_32(1059833579);
+emit_32(0);
+emit_32(3279296528);
+emit_32(1071476480);
+emit_32(1081737216);
+emit_32(3279040545);
+emit_32(1072407784);
+emit_32(0);
+emit_32(3279040545);
+emit_32(1076263523);
+emit_32(1081737216);
+emit_32(3278784496);
+emit_32(1080759692);
+emit_32(3022808678);
+emit_32(3278784496);
+emit_32(1082158660);
+emit_32(1081737216);
+emit_32(3278528512);
+emit_32(1084161503);
+emit_32(3026792956);
+emit_32(3278528512);
+emit_32(1084513929);
+emit_32(1081737216);
+emit_32(3278272528);
+emit_32(1087503650);
+emit_32(3029991200);
+emit_32(3278272528);
+emit_32(1087785717);
+emit_32(1081737216);
+emit_32(3278016545);
+emit_32(1090834682);
+emit_32(3032665494);
+emit_32(3278016545);
+emit_32(1090972056);
+emit_32(1081737216);
+emit_32(3277760496);
+emit_32(1092557314);
+emit_32(3035192119);
+emit_32(3277760496);
+emit_32(1092442569);
+emit_32(1081737216);
+emit_32(3277504512);
+emit_32(1094292446);
+emit_32(3037206586);
+emit_32(3277504512);
+emit_32(1094046974);
+emit_32(1081737216);
+emit_32(3277248528);
+emit_32(1097139854);
+emit_32(3039294743);
+emit_32(3277248528);
+emit_32(1097043280);
+emit_32(1081737216);
+emit_32(3276992545);
+emit_32(1099197999);
+emit_32(3041017018);
+emit_32(3276992545);
+emit_32(1098999818);
+emit_32(1081737216);
+emit_32(3276736496);
+emit_32(1100402917);
+emit_32(3042784259);
+emit_32(3276736496);
+emit_32(1100434742);
+emit_32(1081737216);
+emit_32(3276480512);
+emit_32(1101809268);
+emit_32(3044847030);
+emit_32(3276480512);
+emit_32(1101659007);
+emit_32(1081737216);
+emit_32(3276224528);
+emit_32(1102438046);
+emit_32(3045416976);
+emit_32(3276224528);
+emit_32(1102608545);
+emit_32(1081737216);
+emit_32(3275968545);
+emit_32(1103348997);
+emit_32(3046085013);
+emit_32(3275968545);
+emit_32(1103417836);
+emit_32(1081737216);
+emit_32(3275712496);
+emit_32(1104211817);
+emit_32(3046717804);
+emit_32(3275712496);
+emit_32(1104053168);
+emit_32(1081737216);
+emit_32(3275456512);
+emit_32(1104674187);
+emit_32(3047056805);
+emit_32(3275456512);
+emit_32(1104973450);
+emit_32(1081737216);
+emit_32(3275200528);
+emit_32(1105401165);
+emit_32(3047590024);
+emit_32(3275200528);
+emit_32(1105837477);
+emit_32(1081737216);
+emit_32(3274944545);
+emit_32(1105747352);
+emit_32(3047843880);
+emit_32(3274944545);
+emit_32(1106081743);
+emit_32(1081737216);
+emit_32(3274688496);
+emit_32(1106143871);
+emit_32(3048134678);
+emit_32(3274688496);
+emit_32(1106636492);
+emit_32(1081737216);
+emit_32(3274432512);
+emit_32(1106329416);
+emit_32(3048270754);
+emit_32(3274432512);
+emit_32(1107002917);
+emit_32(1081737216);
+emit_32(3274176528);
+emit_32(1107393459);
+emit_32(3049122304);
+emit_32(3274176528);
+emit_32(1107580184);
+emit_32(1081737216);
+emit_32(3273920545);
+emit_32(1108074955);
+emit_32(3050121892);
+emit_32(3273920545);
+emit_32(1107983729);
+emit_32(1081737216);
+emit_32(3273664496);
+emit_32(1108448641);
+emit_32(3050669976);
+emit_32(3273664496);
+emit_32(1108213550);
+emit_32(1081737216);
+emit_32(3273408512);
+emit_32(1108684230);
+emit_32(3051015487);
+emit_32(3273408512);
+emit_32(1108715137);
+emit_32(1081737216);
+emit_32(3273152528);
+emit_32(1108934132);
+emit_32(3051382020);
+emit_32(3273152528);
+emit_32(1108987871);
+emit_32(1081737216);
+emit_32(3272896545);
+emit_32(1108952377);
+emit_32(3051408760);
+emit_32(3272896545);
+emit_32(1109130582);
+emit_32(1081737216);
+emit_32(3272640496);
+emit_32(1108910775);
+emit_32(3051347803);
+emit_32(3272640496);
+emit_32(1109075454);
+emit_32(1081737216);
+emit_32(3272384512);
+emit_32(1108499366);
+emit_32(3050744391);
+emit_32(3272384512);
+emit_32(1108764813);
+emit_32(1081737216);
+emit_32(3272128528);
+emit_32(1108270907);
+emit_32(3050409260);
+emit_32(3272128528);
+emit_32(1108391939);
+emit_32(1081737216);
+emit_32(3271872545);
+emit_32(1107755506);
+emit_32(3049653324);
+emit_32(3271872545);
+emit_32(1108080224);
+emit_32(1081737216);
+emit_32(3271616496);
+emit_32(1107633190);
+emit_32(3049473972);
+emit_32(3271616496);
+emit_32(1107854728);
+emit_32(1081737216);
+emit_32(3271163904);
+emit_32(1107663336);
+emit_32(3049518128);
+emit_32(3271163904);
+emit_32(1107912740);
+emit_32(1081737216);
+emit_32(3270651937);
+emit_32(1107588075);
+emit_32(3049407737);
+emit_32(3270651937);
+emit_32(1107731730);
+emit_32(1081737216);
+emit_32(3270139970);
+emit_32(1107502327);
+emit_32(3049282041);
+emit_32(3270139970);
+emit_32(1107480989);
+emit_32(1081737216);
+emit_32(3269627871);
+emit_32(1107559370);
+emit_32(3049365692);
+emit_32(3269627871);
+emit_32(1107400013);
+emit_32(1081737216);
+emit_32(3269115904);
+emit_32(1107429425);
+emit_32(3049175080);
+emit_32(3269115904);
+emit_32(1106814855);
+emit_32(1081737216);
+emit_32(3268603937);
+emit_32(1107211531);
+emit_32(3048917619);
+emit_32(3268603937);
+emit_32(1106747641);
+emit_32(1081737216);
+emit_32(3268091970);
+emit_32(1106869381);
+emit_32(3048666666);
+emit_32(3268091970);
+emit_32(1106153570);
+emit_32(1081737216);
+emit_32(3267579911);
+emit_32(1106076710);
+emit_32(3048085420);
+emit_32(3267579911);
+emit_32(1105450553);
+emit_32(1081737216);
+emit_32(3267067904);
+emit_32(1105107773);
+emit_32(3047374784);
+emit_32(3267067904);
+emit_32(1105015289);
+emit_32(1081737216);
+emit_32(3266555911);
+emit_32(1104100511);
+emit_32(3046636088);
+emit_32(3266555911);
+emit_32(1103926185);
+emit_32(1081737216);
+emit_32(3266043904);
+emit_32(1102799385);
+emit_32(3045681976);
+emit_32(3266043904);
+emit_32(1103220965);
+emit_32(1081737216);
+emit_32(3265531911);
+emit_32(1102770130);
+emit_32(3045660513);
+emit_32(3265531911);
+emit_32(1102714556);
+emit_32(1081737216);
+emit_32(3265019904);
+emit_32(1102608335);
+emit_32(3045541854);
+emit_32(3265019904);
+emit_32(1102293972);
+emit_32(1081737216);
+emit_32(3264507911);
+emit_32(1103061372);
+emit_32(3045874083);
+emit_32(3264507911);
+emit_32(1102696206);
+emit_32(1081737216);
+emit_32(3263995904);
+emit_32(1102915777);
+emit_32(3045767298);
+emit_32(3263995904);
+emit_32(1102841119);
+emit_32(1081737216);
+emit_32(3263483911);
+emit_32(1102723888);
+emit_32(3045626560);
+emit_32(3263483911);
+emit_32(1102940104);
+emit_32(1081737216);
+emit_32(3262775296);
+emit_32(1103408189);
+emit_32(3046128466);
+emit_32(3262775296);
+emit_32(1103457681);
+emit_32(1081737216);
+emit_32(3261751309);
+emit_32(1103998484);
+emit_32(3046561321);
+emit_32(3261751309);
+emit_32(1103885553);
+emit_32(1081737216);
+emit_32(3260727296);
+emit_32(1104668105);
+emit_32(3047052407);
+emit_32(3260727296);
+emit_32(1104135953);
+emit_32(1081737216);
+emit_32(3259703309);
+emit_32(1105127381);
+emit_32(3047389210);
+emit_32(3259703309);
+emit_32(1104254180);
+emit_32(1081737216);
+emit_32(3258679296);
+emit_32(1105216196);
+emit_32(3047454301);
+emit_32(3258679296);
+emit_32(1104598218);
+emit_32(1081737216);
+emit_32(3257655309);
+emit_32(1105244507);
+emit_32(3047475059);
+emit_32(3257655309);
+emit_32(1105055869);
+emit_32(1081737216);
+emit_32(3256631296);
+emit_32(1106325379);
+emit_32(3048267763);
+emit_32(3256631296);
+emit_32(1105830661);
+emit_32(1081737216);
+emit_32(3255607309);
+emit_32(1107402398);
+emit_32(3049135410);
+emit_32(3255607309);
+emit_32(1107186156);
+emit_32(1081737216);
+emit_32(3254386688);
+emit_32(1107944119);
+emit_32(3049929961);
+emit_32(3254386688);
+emit_32(1107890222);
+emit_32(1081737216);
+emit_32(3252338714);
+emit_32(1108676916);
+emit_32(3051004756);
+emit_32(3252338714);
+emit_32(1108342578);
+emit_32(1081737216);
+emit_32(3250290688);
+emit_32(1109077105);
+emit_32(3051591719);
+emit_32(3250290688);
+emit_32(1108968106);
+emit_32(1081737216);
+emit_32(3248242714);
+emit_32(1109498895);
+emit_32(3052210436);
+emit_32(3248242714);
+emit_32(1109363314);
+emit_32(1081737216);
+emit_32(3245998080);
+emit_32(1110132051);
+emit_32(3053139040);
+emit_32(3245998080);
+emit_32(1110217982);
+emit_32(1081737216);
+emit_32(3241902132);
+emit_32(1110709318);
+emit_32(3053719532);
+emit_32(3241902132);
+emit_32(1110836747);
+emit_32(1081737216);
+emit_32(3237609472);
+emit_32(1111158922);
+emit_32(3054049253);
+emit_32(3237609472);
+emit_32(1111340011);
+emit_32(1081737216);
+emit_32(3229220864);
+emit_32(1111589126);
+emit_32(3054364725);
+emit_32(3229220864);
+emit_32(1111989472);
+emit_32(1081737216);
+emit_32(0);
+emit_32(1111989053);
+emit_32(3054658031);
+emit_32(0);
+emit_32(1112547577);
+emit_32(1081737216);
+emit_32(1081737216);
+emit_32(1112116167);
+emit_32(3054751226);
+emit_32(1081737216);
+emit_32(1112701298);
+emit_32(1081737216);
+emit_32(3279552512);
+emit_32(3209799987);
+emit_32(3229220864);
+emit_32(3279296528);
+emit_32(1059840776);
+emit_32(3229220864);
+emit_32(3279040545);
+emit_32(1077240503);
+emit_32(3229220864);
+emit_32(3278784496);
+emit_32(1082549401);
+emit_32(3229220864);
+emit_32(3278528512);
+emit_32(1085468217);
+emit_32(3229220864);
+emit_32(3278272528);
+emit_32(1088296919);
+emit_32(3229220864);
+emit_32(3278016545);
+emit_32(1090881837);
+emit_32(3229220864);
+emit_32(3277760496);
+emit_32(1092463268);
+emit_32(3229220864);
+emit_32(3277504512);
+emit_32(1093558757);
+emit_32(3229220864);
+emit_32(3277248528);
+emit_32(1096426612);
+emit_32(3229220864);
+emit_32(3276992545);
+emit_32(1099175874);
+emit_32(3229220864);
+emit_32(3276736496);
+emit_32(1099804757);
+emit_32(3229220864);
+emit_32(3276480512);
+emit_32(1101394975);
+emit_32(3229220864);
+emit_32(3276224528);
+emit_32(1102334185);
+emit_32(3229220864);
+emit_32(3275968545);
+emit_32(1103311038);
+emit_32(3229220864);
+emit_32(3275712496);
+emit_32(1104048921);
+emit_32(3229220864);
+emit_32(3275456512);
+emit_32(1104659821);
+emit_32(3229220864);
+emit_32(3275200528);
+emit_32(1105062632);
+emit_32(3229220864);
+emit_32(3274944545);
+emit_32(1105651669);
+emit_32(3229220864);
+emit_32(3274688496);
+emit_32(1106231322);
+emit_32(3229220864);
+emit_32(3274432512);
+emit_32(1107336626);
+emit_32(3229220864);
+emit_32(3274176528);
+emit_32(1107657989);
+emit_32(3229220864);
+emit_32(3273920545);
+emit_32(1108184452);
+emit_32(3229220864);
+emit_32(3273664496);
+emit_32(1108338672);
+emit_32(3229220864);
+emit_32(3273408512);
+emit_32(1108483926);
+emit_32(3229220864);
+emit_32(3273152528);
+emit_32(1108691229);
+emit_32(3229220864);
+emit_32(3272896545);
+emit_32(1108557850);
+emit_32(3229220864);
+emit_32(3272640496);
+emit_32(1108486573);
+emit_32(3229220864);
+emit_32(3272384512);
+emit_32(1108265140);
+emit_32(3229220864);
+emit_32(3272128528);
+emit_32(1108112887);
+emit_32(3229220864);
+emit_32(3271872545);
+emit_32(1107872003);
+emit_32(3229220864);
+emit_32(3271616496);
+emit_32(1107841411);
+emit_32(3229220864);
+emit_32(3271163904);
+emit_32(1107883406);
+emit_32(3229220864);
+emit_32(3270651937);
+emit_32(1107859944);
+emit_32(3229220864);
+emit_32(3270139970);
+emit_32(1107767014);
+emit_32(3229220864);
+emit_32(3269627871);
+emit_32(1107782795);
+emit_32(3229220864);
+emit_32(3269115904);
+emit_32(1107629310);
+emit_32(3229220864);
+emit_32(3268603937);
+emit_32(1107448404);
+emit_32(3229220864);
+emit_32(3268091970);
+emit_32(1107249594);
+emit_32(3229220864);
+emit_32(3267579911);
+emit_32(1106441929);
+emit_32(3229220864);
+emit_32(3267067904);
+emit_32(1105756265);
+emit_32(3229220864);
+emit_32(3266555911);
+emit_32(1104508197);
+emit_32(3229220864);
+emit_32(3266043904);
+emit_32(1103537583);
+emit_32(3229220864);
+emit_32(3265531911);
+emit_32(1103027556);
+emit_32(3229220864);
+emit_32(3265019904);
+emit_32(1102775006);
+emit_32(3229220864);
+emit_32(3264507911);
+emit_32(1103080037);
+emit_32(3229220864);
+emit_32(3263995904);
+emit_32(1103170109);
+emit_32(3229220864);
+emit_32(3263483911);
+emit_32(1103334002);
+emit_32(3229220864);
+emit_32(3262775296);
+emit_32(1103932372);
+emit_32(3229220864);
+emit_32(3261751309);
+emit_32(1104512234);
+emit_32(3229220864);
+emit_32(3260727296);
+emit_32(1105151184);
+emit_32(3229220864);
+emit_32(3259703309);
+emit_32(1105468116);
+emit_32(3229220864);
+emit_32(3258679296);
+emit_32(1105860336);
+emit_32(3229220864);
+emit_32(3257655309);
+emit_32(1105963568);
+emit_32(3229220864);
+emit_32(3256631296);
+emit_32(1106718071);
+emit_32(3229220864);
+emit_32(3255607309);
+emit_32(1107534414);
+emit_32(3229220864);
+emit_32(3254386688);
+emit_32(1108061821);
+emit_32(3229220864);
+emit_32(3252338714);
+emit_32(1108796323);
+emit_32(3229220864);
+emit_32(3250290688);
+emit_32(1109110555);
+emit_32(3229220864);
+emit_32(3248242714);
+emit_32(1109471606);
+emit_32(3229220864);
+emit_32(3245998080);
+emit_32(1109857115);
+emit_32(3229220864);
+emit_32(3241902132);
+emit_32(1110399726);
+emit_32(3229220864);
+emit_32(3237609472);
+emit_32(1110641187);
+emit_32(3229220864);
+emit_32(3229220864);
+emit_32(1111105208);
+emit_32(3229220864);
+emit_32(0);
+emit_32(1111556044);
+emit_32(3229220864);
+emit_32(1081737216);
+emit_32(1111714929);
+emit_32(3229220864);
+emit_32(3279552512);
+emit_32(1054711998);
+emit_32(3237609472);
+emit_32(3279296528);
+emit_32(1073162675);
+emit_32(3237609472);
+emit_32(3279040545);
+emit_32(1079142997);
+emit_32(3237609472);
+emit_32(3278784496);
+emit_32(1083244271);
+emit_32(3237609472);
+emit_32(3278528512);
+emit_32(1085647335);
+emit_32(3237609472);
+emit_32(3278272528);
+emit_32(1089136346);
+emit_32(3237609472);
+emit_32(3278016545);
+emit_32(1091028155);
+emit_32(3237609472);
+emit_32(3277760496);
+emit_32(1092749361);
+emit_32(3237609472);
+emit_32(3277504512);
+emit_32(1094007338);
+emit_32(3237609472);
+emit_32(3277248528);
+emit_32(1096172333);
+emit_32(3237609472);
+emit_32(3276992545);
+emit_32(1098404017);
+emit_32(3237609472);
+emit_32(3276736496);
+emit_32(1099924924);
+emit_32(3237609472);
+emit_32(3276480512);
+emit_32(1101300708);
+emit_32(3237609472);
+emit_32(3276224528);
+emit_32(1102514540);
+emit_32(3237609472);
+emit_32(3275968545);
+emit_32(1102952530);
+emit_32(3237609472);
+emit_32(3275712496);
+emit_32(1104219315);
+emit_32(3237609472);
+emit_32(3275456512);
+emit_32(1105238635);
+emit_32(3237609472);
+emit_32(3275200528);
+emit_32(1105786254);
+emit_32(3237609472);
+emit_32(3274944545);
+emit_32(1106026116);
+emit_32(3237609472);
+emit_32(3274688496);
+emit_32(1106387979);
+emit_32(3237609472);
+emit_32(3274432512);
+emit_32(1107205816);
+emit_32(3237609472);
+emit_32(3274176528);
+emit_32(1107688659);
+emit_32(3237609472);
+emit_32(3273920545);
+emit_32(1107937067);
+emit_32(3237609472);
+emit_32(3273664496);
+emit_32(1108184426);
+emit_32(3237609472);
+emit_32(3273408512);
+emit_32(1108351831);
+emit_32(3237609472);
+emit_32(3273152528);
+emit_32(1108376840);
+emit_32(3237609472);
+emit_32(3272896545);
+emit_32(1108546866);
+emit_32(3237609472);
+emit_32(3272640496);
+emit_32(1108425232);
+emit_32(3237609472);
+emit_32(3272384512);
+emit_32(1108404994);
+emit_32(3237609472);
+emit_32(3272128528);
+emit_32(1108262466);
+emit_32(3237609472);
+emit_32(3271872545);
+emit_32(1107983912);
+emit_32(3237609472);
+emit_32(3271616496);
+emit_32(1107864453);
+emit_32(3237609472);
+emit_32(3271163904);
+emit_32(1107866576);
+emit_32(3237609472);
+emit_32(3270651937);
+emit_32(1107727562);
+emit_32(3237609472);
+emit_32(3270139970);
+emit_32(1107886499);
+emit_32(3237609472);
+emit_32(3269627871);
+emit_32(1107880313);
+emit_32(3237609472);
+emit_32(3269115904);
+emit_32(1107886866);
+emit_32(3237609472);
+emit_32(3268603937);
+emit_32(1107605533);
+emit_32(3237609472);
+emit_32(3268091970);
+emit_32(1107358646);
+emit_32(3237609472);
+emit_32(3267579911);
+emit_32(1106791734);
+emit_32(3237609472);
+emit_32(3267067904);
+emit_32(1106079646);
+emit_32(3237609472);
+emit_32(3266555911);
+emit_32(1104985928);
+emit_32(3237609472);
+emit_32(3266043904);
+emit_32(1104015576);
+emit_32(3237609472);
+emit_32(3265531911);
+emit_32(1103311720);
+emit_32(3237609472);
+emit_32(3265019904);
+emit_32(1103316648);
+emit_32(3237609472);
+emit_32(3264507911);
+emit_32(1103704569);
+emit_32(3237609472);
+emit_32(3263995904);
+emit_32(1103636359);
+emit_32(3237609472);
+emit_32(3263483911);
+emit_32(1103830817);
+emit_32(3237609472);
+emit_32(3262775296);
+emit_32(1104077757);
+emit_32(3237609472);
+emit_32(3261751309);
+emit_32(1104578819);
+emit_32(3237609472);
+emit_32(3260727296);
+emit_32(1105235699);
+emit_32(3237609472);
+emit_32(3259703309);
+emit_32(1105711858);
+emit_32(3237609472);
+emit_32(3258679296);
+emit_32(1105779124);
+emit_32(3237609472);
+emit_32(3257655309);
+emit_32(1106565975);
+emit_32(3237609472);
+emit_32(3256631296);
+emit_32(1107139756);
+emit_32(3237609472);
+emit_32(3255607309);
+emit_32(1107456478);
+emit_32(3237609472);
+emit_32(3254386688);
+emit_32(1107977988);
+emit_32(3237609472);
+emit_32(3252338714);
+emit_32(1108423606);
+emit_32(3237609472);
+emit_32(3250290688);
+emit_32(1108993822);
+emit_32(3237609472);
+emit_32(3248242714);
+emit_32(1109315132);
+emit_32(3237609472);
+emit_32(3245998080);
+emit_32(1109596884);
+emit_32(3237609472);
+emit_32(3241902132);
+emit_32(1110086989);
+emit_32(3237609472);
+emit_32(3237609472);
+emit_32(1110712176);
+emit_32(3237609472);
+emit_32(3229220864);
+emit_32(1111303415);
+emit_32(3237609472);
+emit_32(0);
+emit_32(1111637125);
+emit_32(3237609472);
+emit_32(1081737216);
+emit_32(1111679959);
+emit_32(3237609472);
+emit_32(3279552512);
+emit_32(1058110391);
+emit_32(3241902132);
+emit_32(3279296528);
+emit_32(1072323898);
+emit_32(3241902132);
+emit_32(3279040545);
+emit_32(1079279857);
+emit_32(3241902132);
+emit_32(3278784496);
+emit_32(1082742465);
+emit_32(3241902132);
+emit_32(3278528512);
+emit_32(1086410992);
+emit_32(3241902132);
+emit_32(3278272528);
+emit_32(1088461147);
+emit_32(3241902132);
+emit_32(3278016545);
+emit_32(1091533338);
+emit_32(3241902132);
+emit_32(3277760496);
+emit_32(1093009303);
+emit_32(3241902132);
+emit_32(3277504512);
+emit_32(1094260359);
+emit_32(3241902132);
+emit_32(3277248528);
+emit_32(1096715285);
+emit_32(3241902132);
+emit_32(3276992545);
+emit_32(1098545575);
+emit_32(3241902132);
+emit_32(3276736496);
+emit_32(1100069260);
+emit_32(3241902132);
+emit_32(3276480512);
+emit_32(1101010882);
+emit_32(3241902132);
+emit_32(3276224528);
+emit_32(1101814458);
+emit_32(3241902132);
+emit_32(3275968545);
+emit_32(1102816372);
+emit_32(3241902132);
+emit_32(3275712496);
+emit_32(1104296175);
+emit_32(3241902132);
+emit_32(3275456512);
+emit_32(1105227573);
+emit_32(3241902132);
+emit_32(3275200528);
+emit_32(1105862695);
+emit_32(3241902132);
+emit_32(3274944545);
+emit_32(1106061767);
+emit_32(3241902132);
+emit_32(3274688496);
+emit_32(1106614157);
+emit_32(3241902132);
+emit_32(3274432512);
+emit_32(1106679117);
+emit_32(3241902132);
+emit_32(3274176528);
+emit_32(1107555097);
+emit_32(3241902132);
+emit_32(3273920545);
+emit_32(1107710706);
+emit_32(3241902132);
+emit_32(3273664496);
+emit_32(1107987399);
+emit_32(3241902132);
+emit_32(3273408512);
+emit_32(1108243985);
+emit_32(3241902132);
+emit_32(3273152528);
+emit_32(1108410132);
+emit_32(3241902132);
+emit_32(3272896545);
+emit_32(1108423370);
+emit_32(3241902132);
+emit_32(3272640496);
+emit_32(1108487858);
+emit_32(3241902132);
+emit_32(3272384512);
+emit_32(1108444525);
+emit_32(3241902132);
+emit_32(3272128528);
+emit_32(1108145681);
+emit_32(3241902132);
+emit_32(3271872545);
+emit_32(1107836142);
+emit_32(3241902132);
+emit_32(3271616496);
+emit_32(1107856825);
+emit_32(3241902132);
+emit_32(3271163904);
+emit_32(1107713065);
+emit_32(3241902132);
+emit_32(3270651937);
+emit_32(1107761431);
+emit_32(3241902132);
+emit_32(3270139970);
+emit_32(1107749346);
+emit_32(3241902132);
+emit_32(3269627871);
+emit_32(1107742242);
+emit_32(3241902132);
+emit_32(3269115904);
+emit_32(1107724468);
+emit_32(3241902132);
+emit_32(3268603937);
+emit_32(1107622651);
+emit_32(3241902132);
+emit_32(3268091970);
+emit_32(1107524085);
+emit_32(3241902132);
+emit_32(3267579911);
+emit_32(1106842380);
+emit_32(3241902132);
+emit_32(3267067904);
+emit_32(1106029733);
+emit_32(3241902132);
+emit_32(3266555911);
+emit_32(1104983674);
+emit_32(3241902132);
+emit_32(3266043904);
+emit_32(1104019456);
+emit_32(3241902132);
+emit_32(3265531911);
+emit_32(1103853571);
+emit_32(3241902132);
+emit_32(3265019904);
+emit_32(1103951666);
+emit_32(3241902132);
+emit_32(3264507911);
+emit_32(1103711542);
+emit_32(3241902132);
+emit_32(3263995904);
+emit_32(1103910404);
+emit_32(3241902132);
+emit_32(3263483911);
+emit_32(1103908517);
+emit_32(3241902132);
+emit_32(3262775296);
+emit_32(1104110577);
+emit_32(3241902132);
+emit_32(3261751309);
+emit_32(1104188172);
+emit_32(3241902132);
+emit_32(3260727296);
+emit_32(1104905241);
+emit_32(3241902132);
+emit_32(3259703309);
+emit_32(1105620212);
+emit_32(3241902132);
+emit_32(3258679296);
+emit_32(1106230221);
+emit_32(3241902132);
+emit_32(3257655309);
+emit_32(1107170322);
+emit_32(3241902132);
+emit_32(3256631296);
+emit_32(1107365357);
+emit_32(3241902132);
+emit_32(3255607309);
+emit_32(1107446569);
+emit_32(3241902132);
+emit_32(3254386688);
+emit_32(1107700744);
+emit_32(3241902132);
+emit_32(3252338714);
+emit_32(1108112651);
+emit_32(3241902132);
+emit_32(3250290688);
+emit_32(1108689473);
+emit_32(3241902132);
+emit_32(3248242714);
+emit_32(1109194519);
+emit_32(3241902132);
+emit_32(3245998080);
+emit_32(1109874285);
+emit_32(3241902132);
+emit_32(3241902132);
+emit_32(1110441774);
+emit_32(3241902132);
+emit_32(3237609472);
+emit_32(1111191218);
+emit_32(3241902132);
+emit_32(3229220864);
+emit_32(1111647243);
+emit_32(3241902132);
+emit_32(0);
+emit_32(1111674821);
+emit_32(3241902132);
+emit_32(1081737216);
+emit_32(1111917802);
+emit_32(3241902132);
+emit_32(3279552512);
+emit_32(1069567233);
+emit_32(3245998080);
+emit_32(3279296528);
+emit_32(1071989863);
+emit_32(3245998080);
+emit_32(3279040545);
+emit_32(1075944798);
+emit_32(3245998080);
+emit_32(3278784496);
+emit_32(1082325006);
+emit_32(3245998080);
+emit_32(3278528512);
+emit_32(1086766564);
+emit_32(3245998080);
+emit_32(3278272528);
+emit_32(1089466668);
+emit_32(3245998080);
+emit_32(3278016545);
+emit_32(1091111989);
+emit_32(3245998080);
+emit_32(3277760496);
+emit_32(1092605224);
+emit_32(3245998080);
+emit_32(3277504512);
+emit_32(1095055494);
+emit_32(3245998080);
+emit_32(3277248528);
+emit_32(1097329541);
+emit_32(3245998080);
+emit_32(3276992545);
+emit_32(1098231421);
+emit_32(3245998080);
+emit_32(3276736496);
+emit_32(1099798361);
+emit_32(3245998080);
+emit_32(3276480512);
+emit_32(1100629777);
+emit_32(3245998080);
+emit_32(3276224528);
+emit_32(1101582932);
+emit_32(3245998080);
+emit_32(3275968545);
+emit_32(1102756341);
+emit_32(3245998080);
+emit_32(3275712496);
+emit_32(1103822271);
+emit_32(3245998080);
+emit_32(3275456512);
+emit_32(1104867754);
+emit_32(3245998080);
+emit_32(3275200528);
+emit_32(1105394716);
+emit_32(3245998080);
+emit_32(3274944545);
+emit_32(1106013428);
+emit_32(3245998080);
+emit_32(3274688496);
+emit_32(1106248257);
+emit_32(3245998080);
+emit_32(3274432512);
+emit_32(1106783293);
+emit_32(3245998080);
+emit_32(3274176528);
+emit_32(1107441641);
+emit_32(3245998080);
+emit_32(3273920545);
+emit_32(1107472338);
+emit_32(3245998080);
+emit_32(3273664496);
+emit_32(1107780305);
+emit_32(3245998080);
+emit_32(3273408512);
+emit_32(1108116033);
+emit_32(3245998080);
+emit_32(3273152528);
+emit_32(1108228755);
+emit_32(3245998080);
+emit_32(3272896545);
+emit_32(1108513391);
+emit_32(3245998080);
+emit_32(3272640496);
+emit_32(1108457108);
+emit_32(3245998080);
+emit_32(3272384512);
+emit_32(1108243173);
+emit_32(3245998080);
+emit_32(3272128528);
+emit_32(1108176536);
+emit_32(3245998080);
+emit_32(3271872545);
+emit_32(1107871348);
+emit_32(3245998080);
+emit_32(3271616496);
+emit_32(1107923121);
+emit_32(3245998080);
+emit_32(3271163904);
+emit_32(1107614682);
+emit_32(3245998080);
+emit_32(3270651937);
+emit_32(1107505709);
+emit_32(3245998080);
+emit_32(3270139970);
+emit_32(1107594707);
+emit_32(3245998080);
+emit_32(3269627871);
+emit_32(1107597381);
+emit_32(3245998080);
+emit_32(3269115904);
+emit_32(1107730471);
+emit_32(3245998080);
+emit_32(3268603937);
+emit_32(1107619086);
+emit_32(3245998080);
+emit_32(3268091970);
+emit_32(1107455273);
+emit_32(3245998080);
+emit_32(3267579911);
+emit_32(1106610802);
+emit_32(3245998080);
+emit_32(3267067904);
+emit_32(1105479074);
+emit_32(3245998080);
+emit_32(3266555911);
+emit_32(1105028081);
+emit_32(3245998080);
+emit_32(3266043904);
+emit_32(1104895856);
+emit_32(3245998080);
+emit_32(3265531911);
+emit_32(1104167515);
+emit_32(3245998080);
+emit_32(3265019904);
+emit_32(1104032563);
+emit_32(3245998080);
+emit_32(3264507911);
+emit_32(1104102818);
+emit_32(3245998080);
+emit_32(3263995904);
+emit_32(1103636621);
+emit_32(3245998080);
+emit_32(3263483911);
+emit_32(1104117812);
+emit_32(3245998080);
+emit_32(3262775296);
+emit_32(1104170556);
+emit_32(3245998080);
+emit_32(3261751309);
+emit_32(1104075031);
+emit_32(3245998080);
+emit_32(3260727296);
+emit_32(1104866076);
+emit_32(3245998080);
+emit_32(3259703309);
+emit_32(1105674056);
+emit_32(3245998080);
+emit_32(3258679296);
+emit_32(1106593763);
+emit_32(3245998080);
+emit_32(3257655309);
+emit_32(1107479652);
+emit_32(3245998080);
+emit_32(3256631296);
+emit_32(1107477371);
+emit_32(3245998080);
+emit_32(3255607309);
+emit_32(1107602886);
+emit_32(3245998080);
+emit_32(3254386688);
+emit_32(1108002655);
+emit_32(3245998080);
+emit_32(3252338714);
+emit_32(1108265717);
+emit_32(3245998080);
+emit_32(3250290688);
+emit_32(1108946348);
+emit_32(3245998080);
+emit_32(3248242714);
+emit_32(1109570748);
+emit_32(3245998080);
+emit_32(3245998080);
+emit_32(1110334348);
+emit_32(3245998080);
+emit_32(3241902132);
+emit_32(1111046776);
+emit_32(3245998080);
+emit_32(3237609472);
+emit_32(1111662998);
+emit_32(3245998080);
+emit_32(3229220864);
+emit_32(1111752783);
+emit_32(3245998080);
+emit_32(0);
+emit_32(1112149144);
+emit_32(3245998080);
+emit_32(1081737216);
+emit_32(1112196121);
+emit_32(3245998080);
+emit_32(3279552512);
+emit_32(1069069537);
+emit_32(3248242714);
+emit_32(3279296528);
+emit_32(1070813613);
+emit_32(3248242714);
+emit_32(3279040545);
+emit_32(1077694242);
+emit_32(3248242714);
+emit_32(3278784496);
+emit_32(1083641745);
+emit_32(3248242714);
+emit_32(3278528512);
+emit_32(1087538169);
+emit_32(3248242714);
+emit_32(3278272528);
+emit_32(1089089810);
+emit_32(3248242714);
+emit_32(3278016545);
+emit_32(1090321216);
+emit_32(3248242714);
+emit_32(3277760496);
+emit_32(1092452761);
+emit_32(3248242714);
+emit_32(3277504512);
+emit_32(1094878390);
+emit_32(3248242714);
+emit_32(3277248528);
+emit_32(1096058143);
+emit_32(3248242714);
+emit_32(3276992545);
+emit_32(1098098567);
+emit_32(3248242714);
+emit_32(3276736496);
+emit_32(1099576902);
+emit_32(3248242714);
+emit_32(3276480512);
+emit_32(1100562563);
+emit_32(3248242714);
+emit_32(3276224528);
+emit_32(1101167224);
+emit_32(3248242714);
+emit_32(3275968545);
+emit_32(1102019088);
+emit_32(3248242714);
+emit_32(3275712496);
+emit_32(1103025878);
+emit_32(3248242714);
+emit_32(3275456512);
+emit_32(1104220258);
+emit_32(3248242714);
+emit_32(3275200528);
+emit_32(1104981944);
+emit_32(3248242714);
+emit_32(3274944545);
+emit_32(1105491132);
+emit_32(3248242714);
+emit_32(3274688496);
+emit_32(1105710495);
+emit_32(3248242714);
+emit_32(3274432512);
+emit_32(1106232423);
+emit_32(3248242714);
+emit_32(3274176528);
+emit_32(1106909961);
+emit_32(3248242714);
+emit_32(3273920545);
+emit_32(1107031858);
+emit_32(3248242714);
+emit_32(3273664496);
+emit_32(1107735426);
+emit_32(3248242714);
+emit_32(3273408512);
+emit_32(1108117868);
+emit_32(3248242714);
+emit_32(3273152528);
+emit_32(1108098862);
+emit_32(3248242714);
+emit_32(3272896545);
+emit_32(1108068716);
+emit_32(3248242714);
+emit_32(3272640496);
+emit_32(1108110003);
+emit_32(3248242714);
+emit_32(3272384512);
+emit_32(1108104761);
+emit_32(3248242714);
+emit_32(3272128528);
+emit_32(1108024125);
+emit_32(3248242714);
+emit_32(3271872545);
+emit_32(1107776111);
+emit_32(3248242714);
+emit_32(3271616496);
+emit_32(1107637384);
+emit_32(3248242714);
+emit_32(3271163904);
+emit_32(1107446360);
+emit_32(3248242714);
+emit_32(3270651937);
+emit_32(1107041400);
+emit_32(3248242714);
+emit_32(3270139970);
+emit_32(1107011882);
+emit_32(3248242714);
+emit_32(3269627871);
+emit_32(1107115167);
+emit_32(3248242714);
+emit_32(3269115904);
+emit_32(1107418494);
+emit_32(3248242714);
+emit_32(3268603937);
+emit_32(1107457422);
+emit_32(3248242714);
+emit_32(3268091970);
+emit_32(1106904613);
+emit_32(3248242714);
+emit_32(3267579911);
+emit_32(1106031411);
+emit_32(3248242714);
+emit_32(3267067904);
+emit_32(1105454223);
+emit_32(3248242714);
+emit_32(3266555911);
+emit_32(1105778967);
+emit_32(3248242714);
+emit_32(3266043904);
+emit_32(1105570929);
+emit_32(3248242714);
+emit_32(3265531911);
+emit_32(1104914258);
+emit_32(3248242714);
+emit_32(3265019904);
+emit_32(1104424468);
+emit_32(3248242714);
+emit_32(3264507911);
+emit_32(1104545527);
+emit_32(3248242714);
+emit_32(3263995904);
+emit_32(1104296280);
+emit_32(3248242714);
+emit_32(3263483911);
+emit_32(1103990568);
+emit_32(3248242714);
+emit_32(3262775296);
+emit_32(1104013427);
+emit_32(3248242714);
+emit_32(3261751309);
+emit_32(1104087142);
+emit_32(3248242714);
+emit_32(3260727296);
+emit_32(1104895017);
+emit_32(3248242714);
+emit_32(3259703309);
+emit_32(1105764129);
+emit_32(3248242714);
+emit_32(3258679296);
+emit_32(1106780357);
+emit_32(3248242714);
+emit_32(3257655309);
+emit_32(1107436005);
+emit_32(3248242714);
+emit_32(3256631296);
+emit_32(1107614237);
+emit_32(3248242714);
+emit_32(3255607309);
+emit_32(1107805785);
+emit_32(3248242714);
+emit_32(3254386688);
+emit_32(1108259294);
+emit_32(3248242714);
+emit_32(3252338714);
+emit_32(1108838738);
+emit_32(3248242714);
+emit_32(3250290688);
+emit_32(1109532056);
+emit_32(3248242714);
+emit_32(3248242714);
+emit_32(1110357731);
+emit_32(3248242714);
+emit_32(3245998080);
+emit_32(1111305617);
+emit_32(3248242714);
+emit_32(3241902132);
+emit_32(1111938354);
+emit_32(3248242714);
+emit_32(3237609472);
+emit_32(1112310678);
+emit_32(3248242714);
+emit_32(3229220864);
+emit_32(1112422010);
+emit_32(3248242714);
+emit_32(0);
+emit_32(1112626745);
+emit_32(3248242714);
+emit_32(1081737216);
+emit_32(1112566084);
+emit_32(3248242714);
+emit_32(3279552512);
+emit_32(1065800916);
+emit_32(3250290688);
+emit_32(3279296528);
+emit_32(1067728450);
+emit_32(3250290688);
+emit_32(3279040545);
+emit_32(1079534242);
+emit_32(3250290688);
+emit_32(3278784496);
+emit_32(1083207466);
+emit_32(3250290688);
+emit_32(3278528512);
+emit_32(1085554830);
+emit_32(3250290688);
+emit_32(3278272528);
+emit_32(1087362784);
+emit_32(3250290688);
+emit_32(3278016545);
+emit_32(1089916067);
+emit_32(3250290688);
+emit_32(3277760496);
+emit_32(1091396866);
+emit_32(3250290688);
+emit_32(3277504512);
+emit_32(1093035832);
+emit_32(3250290688);
+emit_32(3277248528);
+emit_32(1094508767);
+emit_32(3250290688);
+emit_32(3276992545);
+emit_32(1096595328);
+emit_32(3250290688);
+emit_32(3276736496);
+emit_32(1099173252);
+emit_32(3250290688);
+emit_32(3276480512);
+emit_32(1100269748);
+emit_32(3250290688);
+emit_32(3276224528);
+emit_32(1101165704);
+emit_32(3250290688);
+emit_32(3275968545);
+emit_32(1101889169);
+emit_32(3250290688);
+emit_32(3275712496);
+emit_32(1102356467);
+emit_32(3250290688);
+emit_32(3275456512);
+emit_32(1103641549);
+emit_32(3250290688);
+emit_32(3275200528);
+emit_32(1104432910);
+emit_32(3250290688);
+emit_32(3274944545);
+emit_32(1104777157);
+emit_32(3250290688);
+emit_32(3274688496);
+emit_32(1105410025);
+emit_32(3250290688);
+emit_32(3274432512);
+emit_32(1105737233);
+emit_32(3250290688);
+emit_32(3274176528);
+emit_32(1106211085);
+emit_32(3250290688);
+emit_32(3273920545);
+emit_32(1107190979);
+emit_32(3250290688);
+emit_32(3273664496);
+emit_32(1107686903);
+emit_32(3250290688);
+emit_32(3273408512);
+emit_32(1107933449);
+emit_32(3250290688);
+emit_32(3273152528);
+emit_32(1107858896);
+emit_32(3250290688);
+emit_32(3272896545);
+emit_32(1107712567);
+emit_32(3250290688);
+emit_32(3272640496);
+emit_32(1107834044);
+emit_32(3250290688);
+emit_32(3272384512);
+emit_32(1107745256);
+emit_32(3250290688);
+emit_32(3272128528);
+emit_32(1107612821);
+emit_32(3250290688);
+emit_32(3271872545);
+emit_32(1107307240);
+emit_32(3250290688);
+emit_32(3271616496);
+emit_32(1106953581);
+emit_32(3250290688);
+emit_32(3271163904);
+emit_32(1106958195);
+emit_32(3250290688);
+emit_32(3270651937);
+emit_32(1106599635);
+emit_32(3250290688);
+emit_32(3270139970);
+emit_32(1106321238);
+emit_32(3250290688);
+emit_32(3269627871);
+emit_32(1106339588);
+emit_32(3250290688);
+emit_32(3269115904);
+emit_32(1106571795);
+emit_32(3250290688);
+emit_32(3268603937);
+emit_32(1106917982);
+emit_32(3250290688);
+emit_32(3268091970);
+emit_32(1106501383);
+emit_32(3250290688);
+emit_32(3267579911);
+emit_32(1105718516);
+emit_32(3250290688);
+emit_32(3267067904);
+emit_32(1105903065);
+emit_32(3250290688);
+emit_32(3266555911);
+emit_32(1106013795);
+emit_32(3250290688);
+emit_32(3266043904);
+emit_32(1105949517);
+emit_32(3250290688);
+emit_32(3265531911);
+emit_32(1105206863);
+emit_32(3250290688);
+emit_32(3265019904);
+emit_32(1104861934);
+emit_32(3250290688);
+emit_32(3264507911);
+emit_32(1104599790);
+emit_32(3250290688);
+emit_32(3263995904);
+emit_32(1103950932);
+emit_32(3250290688);
+emit_32(3263483911);
+emit_32(1104055527);
+emit_32(3250290688);
+emit_32(3262775296);
+emit_32(1103866364);
+emit_32(3250290688);
+emit_32(3261751309);
+emit_32(1104419383);
+emit_32(3250290688);
+emit_32(3260727296);
+emit_32(1104811026);
+emit_32(3250290688);
+emit_32(3259703309);
+emit_32(1105456634);
+emit_32(3250290688);
+emit_32(3258679296);
+emit_32(1106791681);
+emit_32(3250290688);
+emit_32(3257655309);
+emit_32(1107583068);
+emit_32(3250290688);
+emit_32(3256631296);
+emit_32(1107949860);
+emit_32(3250290688);
+emit_32(3255607309);
+emit_32(1108658278);
+emit_32(3250290688);
+emit_32(3254386688);
+emit_32(1109252165);
+emit_32(3250290688);
+emit_32(3252338714);
+emit_32(1109776086);
+emit_32(3250290688);
+emit_32(3250290688);
+emit_32(1110334321);
+emit_32(3250290688);
+emit_32(3248242714);
+emit_32(1111177403);
+emit_32(3250290688);
+emit_32(3245998080);
+emit_32(1111862202);
+emit_32(3250290688);
+emit_32(3241902132);
+emit_32(1112485580);
+emit_32(3250290688);
+emit_32(3237609472);
+emit_32(1112835516);
+emit_32(3250290688);
+emit_32(3229220864);
+emit_32(1112928997);
+emit_32(3250290688);
+emit_32(0);
+emit_32(1112967689);
+emit_32(3250290688);
+emit_32(1081737216);
+emit_32(1113150456);
+emit_32(3250290688);
+emit_32(3279552512);
+emit_32(1065811150);
+emit_32(3252338714);
+emit_32(3279296528);
+emit_32(1074401378);
+emit_32(3252338714);
+emit_32(3279040545);
+emit_32(1078638548);
+emit_32(3252338714);
+emit_32(3278784496);
+emit_32(1082498734);
+emit_32(3252338714);
+emit_32(3278528512);
+emit_32(1084586134);
+emit_32(3252338714);
+emit_32(3278272528);
+emit_32(1087624907);
+emit_32(3252338714);
+emit_32(3278016545);
+emit_32(1088961422);
+emit_32(3252338714);
+emit_32(3277760496);
+emit_32(1091843412);
+emit_32(3252338714);
+emit_32(3277504512);
+emit_32(1093413739);
+emit_32(3252338714);
+emit_32(3277248528);
+emit_32(1094395206);
+emit_32(3252338714);
+emit_32(3276992545);
+emit_32(1095806484);
+emit_32(3252338714);
+emit_32(3276736496);
+emit_32(1097929536);
+emit_32(3252338714);
+emit_32(3276480512);
+emit_32(1099744988);
+emit_32(3252338714);
+emit_32(3276224528);
+emit_32(1100647340);
+emit_32(3252338714);
+emit_32(3275968545);
+emit_32(1101240992);
+emit_32(3252338714);
+emit_32(3275712496);
+emit_32(1101372693);
+emit_32(3252338714);
+emit_32(3275456512);
+emit_32(1102475638);
+emit_32(3252338714);
+emit_32(3275200528);
+emit_32(1103490240);
+emit_32(3252338714);
+emit_32(3274944545);
+emit_32(1104043416);
+emit_32(3252338714);
+emit_32(3274688496);
+emit_32(1105440696);
+emit_32(3252338714);
+emit_32(3274432512);
+emit_32(1105987161);
+emit_32(3252338714);
+emit_32(3274176528);
+emit_32(1106185395);
+emit_32(3252338714);
+emit_32(3273920545);
+emit_32(1107031700);
+emit_32(3252338714);
+emit_32(3273664496);
+emit_32(1107454932);
+emit_32(3252338714);
+emit_32(3273408512);
+emit_32(1107539368);
+emit_32(3252338714);
+emit_32(3273152528);
+emit_32(1107466152);
+emit_32(3252338714);
+emit_32(3272896545);
+emit_32(1107413067);
+emit_32(3252338714);
+emit_32(3272640496);
+emit_32(1107297960);
+emit_32(3252338714);
+emit_32(3272384512);
+emit_32(1107173310);
+emit_32(3252338714);
+emit_32(3272128528);
+emit_32(1107130371);
+emit_32(3252338714);
+emit_32(3271872545);
+emit_32(1106771653);
+emit_32(3252338714);
+emit_32(3271616496);
+emit_32(1106460803);
+emit_32(3252338714);
+emit_32(3271163904);
+emit_32(1106115455);
+emit_32(3252338714);
+emit_32(3270651937);
+emit_32(1105926344);
+emit_32(3252338714);
+emit_32(3270139970);
+emit_32(1105546602);
+emit_32(3252338714);
+emit_32(3269627871);
+emit_32(1105660477);
+emit_32(3252338714);
+emit_32(3269115904);
+emit_32(1105920367);
+emit_32(3252338714);
+emit_32(3268603937);
+emit_32(1106109897);
+emit_32(3252338714);
+emit_32(3268091970);
+emit_32(1105672798);
+emit_32(3252338714);
+emit_32(3267579911);
+emit_32(1105767537);
+emit_32(3252338714);
+emit_32(3267067904);
+emit_32(1105707139);
+emit_32(3252338714);
+emit_32(3266555911);
+emit_32(1105871241);
+emit_32(3252338714);
+emit_32(3266043904);
+emit_32(1105955599);
+emit_32(3252338714);
+emit_32(3265531911);
+emit_32(1105848435);
+emit_32(3252338714);
+emit_32(3265019904);
+emit_32(1105348264);
+emit_32(3252338714);
+emit_32(3264507911);
+emit_32(1104644040);
+emit_32(3252338714);
+emit_32(3263995904);
+emit_32(1104354371);
+emit_32(3252338714);
+emit_32(3263483911);
+emit_32(1104366902);
+emit_32(3252338714);
+emit_32(3262775296);
+emit_32(1104900103);
+emit_32(3252338714);
+emit_32(3261751309);
+emit_32(1105214885);
+emit_32(3252338714);
+emit_32(3260727296);
+emit_32(1105392147);
+emit_32(3252338714);
+emit_32(3259703309);
+emit_32(1106490111);
+emit_32(3252338714);
+emit_32(3258679296);
+emit_32(1107465837);
+emit_32(3252338714);
+emit_32(3257655309);
+emit_32(1108021897);
+emit_32(3252338714);
+emit_32(3256631296);
+emit_32(1108703366);
+emit_32(3252338714);
+emit_32(3255607309);
+emit_32(1109418128);
+emit_32(3252338714);
+emit_32(3254386688);
+emit_32(1110033669);
+emit_32(3252338714);
+emit_32(3252338714);
+emit_32(1110598065);
+emit_32(3252338714);
+emit_32(3250290688);
+emit_32(1111530878);
+emit_32(3252338714);
+emit_32(3248242714);
+emit_32(1112167127);
+emit_32(3252338714);
+emit_32(3245998080);
+emit_32(1112747776);
+emit_32(3252338714);
+emit_32(3241902132);
+emit_32(1113057631);
+emit_32(3252338714);
+emit_32(3237609472);
+emit_32(1113395220);
+emit_32(3252338714);
+emit_32(3229220864);
+emit_32(1113520262);
+emit_32(3252338714);
+emit_32(0);
+emit_32(1113746230);
+emit_32(3252338714);
+emit_32(1081737216);
+emit_32(1113988085);
+emit_32(3252338714);
+emit_32(3279552512);
+emit_32(1073007234);
+emit_32(3254386688);
+emit_32(3279296528);
+emit_32(1071855058);
+emit_32(3254386688);
+emit_32(3279040545);
+emit_32(1077504995);
+emit_32(3254386688);
+emit_32(3278784496);
+emit_32(1083853809);
+emit_32(3254386688);
+emit_32(3278528512);
+emit_32(1085433090);
+emit_32(3254386688);
+emit_32(3278272528);
+emit_32(1086653926);
+emit_32(3254386688);
+emit_32(3278016545);
+emit_32(1089328256);
+emit_32(3254386688);
+emit_32(3277760496);
+emit_32(1091680359);
+emit_32(3254386688);
+emit_32(3277504512);
+emit_32(1093386371);
+emit_32(3254386688);
+emit_32(3277248528);
+emit_32(1094430019);
+emit_32(3254386688);
+emit_32(3276992545);
+emit_32(1095762759);
+emit_32(3254386688);
+emit_32(3276736496);
+emit_32(1097278685);
+emit_32(3254386688);
+emit_32(3276480512);
+emit_32(1099307942);
+emit_32(3254386688);
+emit_32(3276224528);
+emit_32(1100328206);
+emit_32(3254386688);
+emit_32(3275968545);
+emit_32(1100510396);
+emit_32(3254386688);
+emit_32(3275712496);
+emit_32(1100754190);
+emit_32(3254386688);
+emit_32(3275456512);
+emit_32(1101542300);
+emit_32(3254386688);
+emit_32(3275200528);
+emit_32(1102303461);
+emit_32(3254386688);
+emit_32(3274944545);
+emit_32(1103597719);
+emit_32(3254386688);
+emit_32(3274688496);
+emit_32(1104967316);
+emit_32(3254386688);
+emit_32(3274432512);
+emit_32(1105690205);
+emit_32(3254386688);
+emit_32(3274176528);
+emit_32(1106034714);
+emit_32(3254386688);
+emit_32(3273920545);
+emit_32(1106220994);
+emit_32(3254386688);
+emit_32(3273664496);
+emit_32(1106826651);
+emit_32(3254386688);
+emit_32(3273408512);
+emit_32(1107242779);
+emit_32(3254386688);
+emit_32(3273152528);
+emit_32(1107302810);
+emit_32(3254386688);
+emit_32(3272896545);
+emit_32(1107370915);
+emit_32(3254386688);
+emit_32(3272640496);
+emit_32(1107004385);
+emit_32(3254386688);
+emit_32(3272384512);
+emit_32(1106217429);
+emit_32(3254386688);
+emit_32(3272128528);
+emit_32(1106380587);
+emit_32(3254386688);
+emit_32(3271872545);
+emit_32(1106492418);
+emit_32(3254386688);
+emit_32(3271616496);
+emit_32(1106313793);
+emit_32(3254386688);
+emit_32(3271163904);
+emit_32(1105860336);
+emit_32(3254386688);
+emit_32(3270651937);
+emit_32(1104962965);
+emit_32(3254386688);
+emit_32(3270139970);
+emit_32(1104709367);
+emit_32(3254386688);
+emit_32(3269627871);
+emit_32(1104850924);
+emit_32(3254386688);
+emit_32(3269115904);
+emit_32(1105116162);
+emit_32(3254386688);
+emit_32(3268603937);
+emit_32(1105713640);
+emit_32(3254386688);
+emit_32(3268091970);
+emit_32(1105431311);
+emit_32(3254386688);
+emit_32(3267579911);
+emit_32(1105504921);
+emit_32(3254386688);
+emit_32(3267067904);
+emit_32(1105722658);
+emit_32(3254386688);
+emit_32(3266555911);
+emit_32(1106419279);
+emit_32(3254386688);
+emit_32(3266043904);
+emit_32(1106556905);
+emit_32(3254386688);
+emit_32(3265531911);
+emit_32(1106183088);
+emit_32(3254386688);
+emit_32(3265019904);
+emit_32(1105580681);
+emit_32(3254386688);
+emit_32(3264507911);
+emit_32(1105335366);
+emit_32(3254386688);
+emit_32(3263995904);
+emit_32(1104986348);
+emit_32(3254386688);
+emit_32(3263483911);
+emit_32(1105341763);
+emit_32(3254386688);
+emit_32(3262775296);
+emit_32(1105698541);
+emit_32(3254386688);
+emit_32(3261751309);
+emit_32(1105960737);
+emit_32(3254386688);
+emit_32(3260727296);
+emit_32(1106331828);
+emit_32(3254386688);
+emit_32(3259703309);
+emit_32(1107459886);
+emit_32(3254386688);
+emit_32(3258679296);
+emit_32(1108153677);
+emit_32(3254386688);
+emit_32(3257655309);
+emit_32(1108782508);
+emit_32(3254386688);
+emit_32(3256631296);
+emit_32(1109432127);
+emit_32(3254386688);
+emit_32(3255607309);
+emit_32(1110052097);
+emit_32(3254386688);
+emit_32(3254386688);
+emit_32(1110875832);
+emit_32(3254386688);
+emit_32(3252338714);
+emit_32(1111641214);
+emit_32(3254386688);
+emit_32(3250290688);
+emit_32(1112331230);
+emit_32(3254386688);
+emit_32(3248242714);
+emit_32(1112948054);
+emit_32(3254386688);
+emit_32(3245998080);
+emit_32(1113423243);
+emit_32(3254386688);
+emit_32(3241902132);
+emit_32(1113710579);
+emit_32(3254386688);
+emit_32(3237609472);
+emit_32(1113669763);
+emit_32(3254386688);
+emit_32(3229220864);
+emit_32(1114121516);
+emit_32(3254386688);
+emit_32(0);
+emit_32(1114484769);
+emit_32(3254386688);
+emit_32(1081737216);
+emit_32(1114484349);
+emit_32(3254386688);
+emit_32(3279552512);
+emit_32(1072117538);
+emit_32(3255607309);
+emit_32(3279296528);
+emit_32(1066548005);
+emit_32(3255607309);
+emit_32(3279040545);
+emit_32(1074090329);
+emit_32(3255607309);
+emit_32(3278784496);
+emit_32(1080727353);
+emit_32(3255607309);
+emit_32(3278528512);
+emit_32(1083163300);
+emit_32(3255607309);
+emit_32(3278272528);
+emit_32(1085569447);
+emit_32(3255607309);
+emit_32(3278016545);
+emit_32(1089130264);
+emit_32(3255607309);
+emit_32(3277760496);
+emit_32(1091726821);
+emit_32(3255607309);
+emit_32(3277504512);
+emit_32(1092664741);
+emit_32(3255607309);
+emit_32(3277248528);
+emit_32(1094453402);
+emit_32(3255607309);
+emit_32(3276992545);
+emit_32(1095438854);
+emit_32(3255607309);
+emit_32(3276736496);
+emit_32(1096833145);
+emit_32(3255607309);
+emit_32(3276480512);
+emit_32(1097840722);
+emit_32(3255607309);
+emit_32(3276224528);
+emit_32(1099027500);
+emit_32(3255607309);
+emit_32(3275968545);
+emit_32(1099544815);
+emit_32(3255607309);
+emit_32(3275712496);
+emit_32(1099992505);
+emit_32(3255607309);
+emit_32(3275456512);
+emit_32(1100930351);
+emit_32(3255607309);
+emit_32(3275200528);
+emit_32(1102195720);
+emit_32(3255607309);
+emit_32(3274944545);
+emit_32(1103964773);
+emit_32(3255607309);
+emit_32(3274688496);
+emit_32(1105022262);
+emit_32(3255607309);
+emit_32(3274432512);
+emit_32(1105539419);
+emit_32(3255607309);
+emit_32(3274176528);
+emit_32(1106031097);
+emit_32(3255607309);
+emit_32(3273920545);
+emit_32(1106016050);
+emit_32(3255607309);
+emit_32(3273664496);
+emit_32(1106647135);
+emit_32(3255607309);
+emit_32(3273408512);
+emit_32(1106967003);
+emit_32(3255607309);
+emit_32(3273152528);
+emit_32(1107003861);
+emit_32(3255607309);
+emit_32(3272896545);
+emit_32(1107169273);
+emit_32(3255607309);
+emit_32(3272640496);
+emit_32(1106842170);
+emit_32(3255607309);
+emit_32(3272384512);
+emit_32(1105904481);
+emit_32(3255607309);
+emit_32(3272128528);
+emit_32(1105234493);
+emit_32(3255607309);
+emit_32(3271872545);
+emit_32(1105294944);
+emit_32(3255607309);
+emit_32(3271616496);
+emit_32(1105337988);
+emit_32(3255607309);
+emit_32(3271163904);
+emit_32(1104796765);
+emit_32(3255607309);
+emit_32(3270651937);
+emit_32(1104285113);
+emit_32(3255607309);
+emit_32(3270139970);
+emit_32(1103883875);
+emit_32(3255607309);
+emit_32(3269627871);
+emit_32(1103911662);
+emit_32(3255607309);
+emit_32(3269115904);
+emit_32(1104082528);
+emit_32(3255607309);
+emit_32(3268603937);
+emit_32(1105166231);
+emit_32(3255607309);
+emit_32(3268091970);
+emit_32(1105162718);
+emit_32(3255607309);
+emit_32(3267579911);
+emit_32(1105161460);
+emit_32(3255607309);
+emit_32(3267067904);
+emit_32(1105681397);
+emit_32(3255607309);
+emit_32(3266555911);
+emit_32(1106322129);
+emit_32(3255607309);
+emit_32(3266043904);
+emit_32(1106430080);
+emit_32(3255607309);
+emit_32(3265531911);
+emit_32(1106116084);
+emit_32(3255607309);
+emit_32(3265019904);
+emit_32(1105862643);
+emit_32(3255607309);
+emit_32(3264507911);
+emit_32(1105647947);
+emit_32(3255607309);
+emit_32(3263995904);
+emit_32(1105573655);
+emit_32(3255607309);
+emit_32(3263483911);
+emit_32(1105891374);
+emit_32(3255607309);
+emit_32(3262775296);
+emit_32(1106077339);
+emit_32(3255607309);
+emit_32(3261751309);
+emit_32(1106805889);
+emit_32(3255607309);
+emit_32(3260727296);
+emit_32(1107381269);
+emit_32(3255607309);
+emit_32(3259703309);
+emit_32(1107945325);
+emit_32(3255607309);
+emit_32(3258679296);
+emit_32(1108632771);
+emit_32(3255607309);
+emit_32(3257655309);
+emit_32(1109426989);
+emit_32(3255607309);
+emit_32(3256631296);
+emit_32(1110034927);
+emit_32(3255607309);
+emit_32(3255607309);
+emit_32(1110881652);
+emit_32(3255607309);
+emit_32(3254386688);
+emit_32(1111900946);
+emit_32(3255607309);
+emit_32(3252338714);
+emit_32(1112428590);
+emit_32(3255607309);
+emit_32(3250290688);
+emit_32(1112879923);
+emit_32(3255607309);
+emit_32(3248242714);
+emit_32(1113433755);
+emit_32(3255607309);
+emit_32(3245998080);
+emit_32(1113801412);
+emit_32(3255607309);
+emit_32(3241902132);
+emit_32(1113823248);
+emit_32(3255607309);
+emit_32(3237609472);
+emit_32(1114004154);
+emit_32(3255607309);
+emit_32(3229220864);
+emit_32(1114356344);
+emit_32(3255607309);
+emit_32(0);
+emit_32(1114696502);
+emit_32(3255607309);
+emit_32(1081737216);
+emit_32(1114694274);
+emit_32(3255607309);
+emit_32(3279552512);
+emit_32(1076255680);
+emit_32(3256631296);
+emit_32(3279296528);
+emit_32(1069990271);
+emit_32(3256631296);
+emit_32(3279040545);
+emit_32(1068896816);
+emit_32(3256631296);
+emit_32(3278784496);
+emit_32(1077023364);
+emit_32(3256631296);
+emit_32(3278528512);
+emit_32(1081539790);
+emit_32(3256631296);
+emit_32(3278272528);
+emit_32(1084255287);
+emit_32(3256631296);
+emit_32(3278016545);
+emit_32(1087513968);
+emit_32(3256631296);
+emit_32(3277760496);
+emit_32(1090514049);
+emit_32(3256631296);
+emit_32(3277504512);
+emit_32(1092329323);
+emit_32(3256631296);
+emit_32(3277248528);
+emit_32(1094687130);
+emit_32(3256631296);
+emit_32(3276992545);
+emit_32(1095553044);
+emit_32(3256631296);
+emit_32(3276736496);
+emit_32(1096485647);
+emit_32(3256631296);
+emit_32(3276480512);
+emit_32(1097021994);
+emit_32(3256631296);
+emit_32(3276224528);
+emit_32(1097731565);
+emit_32(3256631296);
+emit_32(3275968545);
+emit_32(1099236114);
+emit_32(3256631296);
+emit_32(3275712496);
+emit_32(1099466539);
+emit_32(3256631296);
+emit_32(3275456512);
+emit_32(1100645820);
+emit_32(3256631296);
+emit_32(3275200528);
+emit_32(1102788270);
+emit_32(3256631296);
+emit_32(3274944545);
+emit_32(1104259213);
+emit_32(3256631296);
+emit_32(3274688496);
+emit_32(1105157161);
+emit_32(3256631296);
+emit_32(3274432512);
+emit_32(1105746199);
+emit_32(3256631296);
+emit_32(3274176528);
+emit_32(1105646689);
+emit_32(3256631296);
+emit_32(3273920545);
+emit_32(1106061296);
+emit_32(3256631296);
+emit_32(3273664496);
+emit_32(1106358777);
+emit_32(3256631296);
+emit_32(3273408512);
+emit_32(1106493728);
+emit_32(3256631296);
+emit_32(3273152528);
+emit_32(1106565556);
+emit_32(3256631296);
+emit_32(3272896545);
+emit_32(1106704649);
+emit_32(3256631296);
+emit_32(3272640496);
+emit_32(1106418231);
+emit_32(3256631296);
+emit_32(3272384512);
+emit_32(1105930014);
+emit_32(3256631296);
+emit_32(3272128528);
+emit_32(1105073589);
+emit_32(3256631296);
+emit_32(3271872545);
+emit_32(1104573104);
+emit_32(3256631296);
+emit_32(3271616496);
+emit_32(1104491368);
+emit_32(3256631296);
+emit_32(3271163904);
+emit_32(1103992822);
+emit_32(3256631296);
+emit_32(3270651937);
+emit_32(1103347004);
+emit_32(3256631296);
+emit_32(3270139970);
+emit_32(1103160882);
+emit_32(3256631296);
+emit_32(3269627871);
+emit_32(1103581256);
+emit_32(3256631296);
+emit_32(3269115904);
+emit_32(1103924874);
+emit_32(3256631296);
+emit_32(3268603937);
+emit_32(1103872184);
+emit_32(3256631296);
+emit_32(3268091970);
+emit_32(1104525237);
+emit_32(3256631296);
+emit_32(3267579911);
+emit_32(1104546785);
+emit_32(3256631296);
+emit_32(3267067904);
+emit_32(1105161250);
+emit_32(3256631296);
+emit_32(3266555911);
+emit_32(1105731204);
+emit_32(3256631296);
+emit_32(3266043904);
+emit_32(1105909881);
+emit_32(3256631296);
+emit_32(3265531911);
+emit_32(1106044990);
+emit_32(3256631296);
+emit_32(3265019904);
+emit_32(1105972009);
+emit_32(3256631296);
+emit_32(3264507911);
+emit_32(1105900444);
+emit_32(3256631296);
+emit_32(3263995904);
+emit_32(1106042264);
+emit_32(3256631296);
+emit_32(3263483911);
+emit_32(1105966347);
+emit_32(3256631296);
+emit_32(3262775296);
+emit_32(1106865029);
+emit_32(3256631296);
+emit_32(3261751309);
+emit_32(1107485707);
+emit_32(3256631296);
+emit_32(3260727296);
+emit_32(1107879081);
+emit_32(3256631296);
+emit_32(3259703309);
+emit_32(1108393643);
+emit_32(3256631296);
+emit_32(3258679296);
+emit_32(1109055845);
+emit_32(3256631296);
+emit_32(3257655309);
+emit_32(1109718362);
+emit_32(3256631296);
+emit_32(3256631296);
+emit_32(1110595522);
+emit_32(3256631296);
+emit_32(3255607309);
+emit_32(1111233213);
+emit_32(3256631296);
+emit_32(3254386688);
+emit_32(1112275236);
+emit_32(3256631296);
+emit_32(3252338714);
+emit_32(1112879058);
+emit_32(3256631296);
+emit_32(3250290688);
+emit_32(1113378678);
+emit_32(3256631296);
+emit_32(3248242714);
+emit_32(1113688847);
+emit_32(3256631296);
+emit_32(3245998080);
+emit_32(1114075693);
+emit_32(3256631296);
+emit_32(3241902132);
+emit_32(1114046857);
+emit_32(3256631296);
+emit_32(3237609472);
+emit_32(1114323576);
+emit_32(3256631296);
+emit_32(3229220864);
+emit_32(1114565509);
+emit_32(3256631296);
+emit_32(0);
+emit_32(1114610047);
+emit_32(3256631296);
+emit_32(1081737216);
+emit_32(1114612538);
+emit_32(3256631296);
+emit_32(3279552512);
+emit_32(1076804295);
+emit_32(3257655309);
+emit_32(3279296528);
+emit_32(1073151266);
+emit_32(3257655309);
+emit_32(3279040545);
+emit_32(1073776846);
+emit_32(3257655309);
+emit_32(3278784496);
+emit_32(1078617493);
+emit_32(3257655309);
+emit_32(3278528512);
+emit_32(1079412439);
+emit_32(3257655309);
+emit_32(3278272528);
+emit_32(1083194359);
+emit_32(3257655309);
+emit_32(3278016545);
+emit_32(1086932302);
+emit_32(3257655309);
+emit_32(3277760496);
+emit_32(1090303516);
+emit_32(3257655309);
+emit_32(3277504512);
+emit_32(1091865904);
+emit_32(3257655309);
+emit_32(3277248528);
+emit_32(1094115865);
+emit_32(3257655309);
+emit_32(3276992545);
+emit_32(1095463705);
+emit_32(3257655309);
+emit_32(3276736496);
+emit_32(1096420531);
+emit_32(3257655309);
+emit_32(3276480512);
+emit_32(1097432511);
+emit_32(3257655309);
+emit_32(3276224528);
+emit_32(1097662883);
+emit_32(3257655309);
+emit_32(3275968545);
+emit_32(1098694263);
+emit_32(3257655309);
+emit_32(3275712496);
+emit_32(1099094871);
+emit_32(3257655309);
+emit_32(3275456512);
+emit_32(1101139542);
+emit_32(3257655309);
+emit_32(3275200528);
+emit_32(1102734583);
+emit_32(3257655309);
+emit_32(3274944545);
+emit_32(1103866521);
+emit_32(3257655309);
+emit_32(3274688496);
+emit_32(1104826178);
+emit_32(3257655309);
+emit_32(3274432512);
+emit_32(1105191869);
+emit_32(3257655309);
+emit_32(3274176528);
+emit_32(1105342759);
+emit_32(3257655309);
+emit_32(3273920545);
+emit_32(1105684804);
+emit_32(3257655309);
+emit_32(3273664496);
+emit_32(1105820647);
+emit_32(3257655309);
+emit_32(3273408512);
+emit_32(1106189903);
+emit_32(3257655309);
+emit_32(3273152528);
+emit_32(1105981447);
+emit_32(3257655309);
+emit_32(3272896545);
+emit_32(1105858134);
+emit_32(3257655309);
+emit_32(3272640496);
+emit_32(1105678146);
+emit_32(3257655309);
+emit_32(3272384512);
+emit_32(1104998826);
+emit_32(3257655309);
+emit_32(3272128528);
+emit_32(1104598218);
+emit_32(3257655309);
+emit_32(3271872545);
+emit_32(1104297643);
+emit_32(3257655309);
+emit_32(3271616496);
+emit_32(1103698487);
+emit_32(3257655309);
+emit_32(3271163904);
+emit_32(1103368290);
+emit_32(3257655309);
+emit_32(3270651937);
+emit_32(1103021107);
+emit_32(3257655309);
+emit_32(3270139970);
+emit_32(1102840332);
+emit_32(3257655309);
+emit_32(3269627871);
+emit_32(1103133042);
+emit_32(3257655309);
+emit_32(3269115904);
+emit_32(1103173570);
+emit_32(3257655309);
+emit_32(3268603937);
+emit_32(1103141274);
+emit_32(3257655309);
+emit_32(3268091970);
+emit_32(1103365407);
+emit_32(3257655309);
+emit_32(3267579911);
+emit_32(1103545342);
+emit_32(3257655309);
+emit_32(3267067904);
+emit_32(1104414140);
+emit_32(3257655309);
+emit_32(3266555911);
+emit_32(1104666532);
+emit_32(3257655309);
+emit_32(3266043904);
+emit_32(1105496480);
+emit_32(3257655309);
+emit_32(3265531911);
+emit_32(1105715423);
+emit_32(3257655309);
+emit_32(3265019904);
+emit_32(1105801196);
+emit_32(3257655309);
+emit_32(3264507911);
+emit_32(1105657070);
+emit_32(3257655309);
+emit_32(3263995904);
+emit_32(1106199708);
+emit_32(3257655309);
+emit_32(3263483911);
+emit_32(1107111182);
+emit_32(3257655309);
+emit_32(3262775296);
+emit_32(1107520468);
+emit_32(3257655309);
+emit_32(3261751309);
+emit_32(1107938194);
+emit_32(3257655309);
+emit_32(3260727296);
+emit_32(1108285168);
+emit_32(3257655309);
+emit_32(3259703309);
+emit_32(1109004937);
+emit_32(3257655309);
+emit_32(3258679296);
+emit_32(1109555675);
+emit_32(3257655309);
+emit_32(3257655309);
+emit_32(1110079124);
+emit_32(3257655309);
+emit_32(3256631296);
+emit_32(1110954659);
+emit_32(3257655309);
+emit_32(3255607309);
+emit_32(1111702136);
+emit_32(3257655309);
+emit_32(3254386688);
+emit_32(1112419205);
+emit_32(3257655309);
+emit_32(3252338714);
+emit_32(1113101723);
+emit_32(3257655309);
+emit_32(3250290688);
+emit_32(1113769509);
+emit_32(3257655309);
+emit_32(3248242714);
+emit_32(1113942393);
+emit_32(3257655309);
+emit_32(3245998080);
+emit_32(1114187760);
+emit_32(3257655309);
+emit_32(3241902132);
+emit_32(1114233451);
+emit_32(3257655309);
+emit_32(3237609472);
+emit_32(1114375009);
+emit_32(3257655309);
+emit_32(3229220864);
+emit_32(1114534052);
+emit_32(3257655309);
+emit_32(0);
+emit_32(1114534445);
+emit_32(3257655309);
+emit_32(1081737216);
+emit_32(1114510642);
+emit_32(3257655309);
+emit_32(3279552512);
+emit_32(1073972469);
+emit_32(3258679296);
+emit_32(3279296528);
+emit_32(1069063330);
+emit_32(3258679296);
+emit_32(3279040545);
+emit_32(1073401750);
+emit_32(3258679296);
+emit_32(3278784496);
+emit_32(1075865903);
+emit_32(3258679296);
+emit_32(3278528512);
+emit_32(1078931520);
+emit_32(3258679296);
+emit_32(3278272528);
+emit_32(1083096191);
+emit_32(3258679296);
+emit_32(3278016545);
+emit_32(1086698344);
+emit_32(3258679296);
+emit_32(3277760496);
+emit_32(1089640354);
+emit_32(3258679296);
+emit_32(3277504512);
+emit_32(1091993652);
+emit_32(3258679296);
+emit_32(3277248528);
+emit_32(1094077907);
+emit_32(3258679296);
+emit_32(3276992545);
+emit_32(1095184469);
+emit_32(3258679296);
+emit_32(3276736496);
+emit_32(1095896243);
+emit_32(3258679296);
+emit_32(3276480512);
+emit_32(1096633916);
+emit_32(3258679296);
+emit_32(3276224528);
+emit_32(1096975542);
+emit_32(3258679296);
+emit_32(3275968545);
+emit_32(1097889376);
+emit_32(3258679296);
+emit_32(3275712496);
+emit_32(1099541774);
+emit_32(3258679296);
+emit_32(3275456512);
+emit_32(1101179178);
+emit_32(3258679296);
+emit_32(3275200528);
+emit_32(1102317932);
+emit_32(3258679296);
+emit_32(3274944545);
+emit_32(1103521278);
+emit_32(3258679296);
+emit_32(3274688496);
+emit_32(1104345983);
+emit_32(3258679296);
+emit_32(3274432512);
+emit_32(1104852759);
+emit_32(3258679296);
+emit_32(3274176528);
+emit_32(1104831526);
+emit_32(3258679296);
+emit_32(3273920545);
+emit_32(1104946974);
+emit_32(3258679296);
+emit_32(3273664496);
+emit_32(1105281994);
+emit_32(3258679296);
+emit_32(3273408512);
+emit_32(1105386275);
+emit_32(3258679296);
+emit_32(3273152528);
+emit_32(1104804053);
+emit_32(3258679296);
+emit_32(3272896545);
+emit_32(1105020374);
+emit_32(3258679296);
+emit_32(3272640496);
+emit_32(1104527806);
+emit_32(3258679296);
+emit_32(3272384512);
+emit_32(1103824211);
+emit_32(3258679296);
+emit_32(3272128528);
+emit_32(1103687791);
+emit_32(3258679296);
+emit_32(3271872545);
+emit_32(1103464392);
+emit_32(3258679296);
+emit_32(3271616496);
+emit_32(1103011774);
+emit_32(3258679296);
+emit_32(3271163904);
+emit_32(1102466777);
+emit_32(3258679296);
+emit_32(3270651937);
+emit_32(1102908804);
+emit_32(3258679296);
+emit_32(3270139970);
+emit_32(1102728659);
+emit_32(3258679296);
+emit_32(3269627871);
+emit_32(1102517318);
+emit_32(3258679296);
+emit_32(3269115904);
+emit_32(1102387190);
+emit_32(3258679296);
+emit_32(3268603937);
+emit_32(1102173019);
+emit_32(3258679296);
+emit_32(3268091970);
+emit_32(1102448637);
+emit_32(3258679296);
+emit_32(3267579911);
+emit_32(1102804104);
+emit_32(3258679296);
+emit_32(3267067904);
+emit_32(1103652140);
+emit_32(3258679296);
+emit_32(3266555911);
+emit_32(1104033035);
+emit_32(3258679296);
+emit_32(3266043904);
+emit_32(1104794721);
+emit_32(3258679296);
+emit_32(3265531911);
+emit_32(1105280578);
+emit_32(3258679296);
+emit_32(3265019904);
+emit_32(1105555305);
+emit_32(3258679296);
+emit_32(3264507911);
+emit_32(1106497398);
+emit_32(3258679296);
+emit_32(3263995904);
+emit_32(1107356549);
+emit_32(3258679296);
+emit_32(3263483911);
+emit_32(1107738440);
+emit_32(3258679296);
+emit_32(3262775296);
+emit_32(1108026091);
+emit_32(3258679296);
+emit_32(3261751309);
+emit_32(1108412596);
+emit_32(3258679296);
+emit_32(3260727296);
+emit_32(1108935547);
+emit_32(3258679296);
+emit_32(3259703309);
+emit_32(1109269178);
+emit_32(3258679296);
+emit_32(3258679296);
+emit_32(1109856774);
+emit_32(3258679296);
+emit_32(3257655309);
+emit_32(1110673955);
+emit_32(3258679296);
+emit_32(3256631296);
+emit_32(1111396031);
+emit_32(3258679296);
+emit_32(3255607309);
+emit_32(1111904302);
+emit_32(3258679296);
+emit_32(3254386688);
+emit_32(1112640612);
+emit_32(3258679296);
+emit_32(3252338714);
+emit_32(1113308083);
+emit_32(3258679296);
+emit_32(3250290688);
+emit_32(1113763480);
+emit_32(3258679296);
+emit_32(3248242714);
+emit_32(1113823117);
+emit_32(3258679296);
+emit_32(3245998080);
+emit_32(1114289734);
+emit_32(3258679296);
+emit_32(3241902132);
+emit_32(1114547028);
+emit_32(3258679296);
+emit_32(3237609472);
+emit_32(1114378417);
+emit_32(3258679296);
+emit_32(3229220864);
+emit_32(1114468175);
+emit_32(3258679296);
+emit_32(0);
+emit_32(1114253689);
+emit_32(3258679296);
+emit_32(1081737216);
+emit_32(1114350184);
+emit_32(3258679296);
+emit_32(3279552512);
+emit_32(1076163699);
+emit_32(3259703309);
+emit_32(3279296528);
+emit_32(1074005017);
+emit_32(3259703309);
+emit_32(3279040545);
+emit_32(1074851343);
+emit_32(3259703309);
+emit_32(3278784496);
+emit_32(1075567479);
+emit_32(3259703309);
+emit_32(3278528512);
+emit_32(1076420223);
+emit_32(3259703309);
+emit_32(3278272528);
+emit_32(1083073395);
+emit_32(3259703309);
+emit_32(3278016545);
+emit_32(1087377339);
+emit_32(3259703309);
+emit_32(3277760496);
+emit_32(1090634446);
+emit_32(3259703309);
+emit_32(3277504512);
+emit_32(1092723461);
+emit_32(3259703309);
+emit_32(3277248528);
+emit_32(1094053580);
+emit_32(3259703309);
+emit_32(3276992545);
+emit_32(1095488766);
+emit_32(3259703309);
+emit_32(3276736496);
+emit_32(1096447794);
+emit_32(3259703309);
+emit_32(3276480512);
+emit_32(1096424305);
+emit_32(3259703309);
+emit_32(3276224528);
+emit_32(1096267648);
+emit_32(3259703309);
+emit_32(3275968545);
+emit_32(1098177000);
+emit_32(3259703309);
+emit_32(3275712496);
+emit_32(1099698536);
+emit_32(3259703309);
+emit_32(3275456512);
+emit_32(1100780981);
+emit_32(3259703309);
+emit_32(3275200528);
+emit_32(1102100247);
+emit_32(3259703309);
+emit_32(3274944545);
+emit_32(1103045696);
+emit_32(3259703309);
+emit_32(3274688496);
+emit_32(1103591375);
+emit_32(3259703309);
+emit_32(3274432512);
+emit_32(1104209510);
+emit_32(3259703309);
+emit_32(3274176528);
+emit_32(1104099882);
+emit_32(3259703309);
+emit_32(3273920545);
+emit_32(1104651171);
+emit_32(3259703309);
+emit_32(3273664496);
+emit_32(1104566760);
+emit_32(3259703309);
+emit_32(3273408512);
+emit_32(1104331250);
+emit_32(3259703309);
+emit_32(3273152528);
+emit_32(1103945269);
+emit_32(3259703309);
+emit_32(3272896545);
+emit_32(1103774247);
+emit_32(3259703309);
+emit_32(3272640496);
+emit_32(1103880729);
+emit_32(3259703309);
+emit_32(3272384512);
+emit_32(1103052669);
+emit_32(3259703309);
+emit_32(3272128528);
+emit_32(1102949594);
+emit_32(3259703309);
+emit_32(3271872545);
+emit_32(1102556640);
+emit_32(3259703309);
+emit_32(3271616496);
+emit_32(1102215329);
+emit_32(3259703309);
+emit_32(3271163904);
+emit_32(1102211711);
+emit_32(3259703309);
+emit_32(3270651937);
+emit_32(1102750102);
+emit_32(3259703309);
+emit_32(3270139970);
+emit_32(1102672246);
+emit_32(3259703309);
+emit_32(3269627871);
+emit_32(1102404282);
+emit_32(3259703309);
+emit_32(3269115904);
+emit_32(1101664721);
+emit_32(3259703309);
+emit_32(3268603937);
+emit_32(1101247965);
+emit_32(3259703309);
+emit_32(3268091970);
+emit_32(1101781742);
+emit_32(3259703309);
+emit_32(3267579911);
+emit_32(1102060559);
+emit_32(3259703309);
+emit_32(3267067904);
+emit_32(1102827382);
+emit_32(3259703309);
+emit_32(3266555911);
+emit_32(1103737651);
+emit_32(3259703309);
+emit_32(3266043904);
+emit_32(1104384360);
+emit_32(3259703309);
+emit_32(3265531911);
+emit_32(1104969151);
+emit_32(3259703309);
+emit_32(3265019904);
+emit_32(1106019143);
+emit_32(3259703309);
+emit_32(3264507911);
+emit_32(1106853337);
+emit_32(3259703309);
+emit_32(3263995904);
+emit_32(1107698306);
+emit_32(3259703309);
+emit_32(3263483911);
+emit_32(1108253868);
+emit_32(3259703309);
+emit_32(3262775296);
+emit_32(1108408245);
+emit_32(3259703309);
+emit_32(3261751309);
+emit_32(1108719619);
+emit_32(3259703309);
+emit_32(3260727296);
+emit_32(1109327662);
+emit_32(3259703309);
+emit_32(3259703309);
+emit_32(1109785051);
+emit_32(3259703309);
+emit_32(3258679296);
+emit_32(1110584826);
+emit_32(3259703309);
+emit_32(3257655309);
+emit_32(1111298907);
+emit_32(3259703309);
+emit_32(3256631296);
+emit_32(1111928472);
+emit_32(3259703309);
+emit_32(3255607309);
+emit_32(1112511401);
+emit_32(3259703309);
+emit_32(3254386688);
+emit_32(1113049871);
+emit_32(3259703309);
+emit_32(3252338714);
+emit_32(1113389636);
+emit_32(3259703309);
+emit_32(3250290688);
+emit_32(1113731419);
+emit_32(3259703309);
+emit_32(3248242714);
+emit_32(1114257359);
+emit_32(3259703309);
+emit_32(3245998080);
+emit_32(1114519870);
+emit_32(3259703309);
+emit_32(3241902132);
+emit_32(1114340039);
+emit_32(3259703309);
+emit_32(3237609472);
+emit_32(1114383922);
+emit_32(3259703309);
+emit_32(3229220864);
+emit_32(1114528390);
+emit_32(3259703309);
+emit_32(0);
+emit_32(1114544302);
+emit_32(3259703309);
+emit_32(1081737216);
+emit_32(1114597202);
+emit_32(3259703309);
+emit_32(3279552512);
+emit_32(1073915300);
+emit_32(3260727296);
+emit_32(3279296528);
+emit_32(1076045336);
+emit_32(3260727296);
+emit_32(3279040545);
+emit_32(1076717767);
+emit_32(3260727296);
+emit_32(3278784496);
+emit_32(1077967921);
+emit_32(3260727296);
+emit_32(3278528512);
+emit_32(1080230706);
+emit_32(3260727296);
+emit_32(3278272528);
+emit_32(1084434174);
+emit_32(3260727296);
+emit_32(3278016545);
+emit_32(1088619209);
+emit_32(3260727296);
+emit_32(3277760496);
+emit_32(1090948694);
+emit_32(3260727296);
+emit_32(3277504512);
+emit_32(1092674388);
+emit_32(3260727296);
+emit_32(3277248528);
+emit_32(1094185071);
+emit_32(3260727296);
+emit_32(3276992545);
+emit_32(1094902717);
+emit_32(3260727296);
+emit_32(3276736496);
+emit_32(1095470101);
+emit_32(3260727296);
+emit_32(3276480512);
+emit_32(1095440531);
+emit_32(3260727296);
+emit_32(3276224528);
+emit_32(1096837654);
+emit_32(3260727296);
+emit_32(3275968545);
+emit_32(1098967784);
+emit_32(3260727296);
+emit_32(3275712496);
+emit_32(1100160067);
+emit_32(3260727296);
+emit_32(3275456512);
+emit_32(1100666582);
+emit_32(3260727296);
+emit_32(3275200528);
+emit_32(1101873178);
+emit_32(3260727296);
+emit_32(3274944545);
+emit_32(1102572736);
+emit_32(3260727296);
+emit_32(3274688496);
+emit_32(1102982834);
+emit_32(3260727296);
+emit_32(3274432512);
+emit_32(1103746092);
+emit_32(3260727296);
+emit_32(3274176528);
+emit_32(1104190584);
+emit_32(3260727296);
+emit_32(3273920545);
+emit_32(1104541647);
+emit_32(3260727296);
+emit_32(3273664496);
+emit_32(1104309335);
+emit_32(3260727296);
+emit_32(3273408512);
+emit_32(1103949831);
+emit_32(3260727296);
+emit_32(3273152528);
+emit_32(1103383495);
+emit_32(3260727296);
+emit_32(3272896545);
+emit_32(1103021107);
+emit_32(3260727296);
+emit_32(3272640496);
+emit_32(1102773014);
+emit_32(3260727296);
+emit_32(3272384512);
+emit_32(1102509192);
+emit_32(3260727296);
+emit_32(3272128528);
+emit_32(1102328470);
+emit_32(3260727296);
+emit_32(3271872545);
+emit_32(1101757678);
+emit_32(3260727296);
+emit_32(3271616496);
+emit_32(1101776133);
+emit_32(3260727296);
+emit_32(3271163904);
+emit_32(1102138363);
+emit_32(3260727296);
+emit_32(3270651937);
+emit_32(1102294496);
+emit_32(3260727296);
+emit_32(3270139970);
+emit_32(1101746563);
+emit_32(3260727296);
+emit_32(3269627871);
+emit_32(1101436656);
+emit_32(3260727296);
+emit_32(3269115904);
+emit_32(1100808559);
+emit_32(3260727296);
+emit_32(3268603937);
+emit_32(1101081451);
+emit_32(3260727296);
+emit_32(3268091970);
+emit_32(1101838156);
+emit_32(3260727296);
+emit_32(3267579911);
+emit_32(1102177947);
+emit_32(3260727296);
+emit_32(3267067904);
+emit_32(1102933656);
+emit_32(3260727296);
+emit_32(3266555911);
+emit_32(1103594940);
+emit_32(3260727296);
+emit_32(3266043904);
+emit_32(1104370991);
+emit_32(3260727296);
+emit_32(3265531911);
+emit_32(1105153229);
+emit_32(3260727296);
+emit_32(3265019904);
+emit_32(1106283803);
+emit_32(3260727296);
+emit_32(3264507911);
+emit_32(1107489928);
+emit_32(3260727296);
+emit_32(3263995904);
+emit_32(1107912347);
+emit_32(3260727296);
+emit_32(3263483911);
+emit_32(1108259976);
+emit_32(3260727296);
+emit_32(3262775296);
+emit_32(1108728218);
+emit_32(3260727296);
+emit_32(3261751309);
+emit_32(1108959507);
+emit_32(3260727296);
+emit_32(3260727296);
+emit_32(1109551402);
+emit_32(3260727296);
+emit_32(3259703309);
+emit_32(1110560788);
+emit_32(3260727296);
+emit_32(3258679296);
+emit_32(1111390473);
+emit_32(3260727296);
+emit_32(3257655309);
+emit_32(1111954109);
+emit_32(3260727296);
+emit_32(3256631296);
+emit_32(1112588288);
+emit_32(3260727296);
+emit_32(3255607309);
+emit_32(1113193211);
+emit_32(3260727296);
+emit_32(3254386688);
+emit_32(1113572953);
+emit_32(3260727296);
+emit_32(3252338714);
+emit_32(1113885324);
+emit_32(3260727296);
+emit_32(3250290688);
+emit_32(1114116194);
+emit_32(3260727296);
+emit_32(3248242714);
+emit_32(1114531771);
+emit_32(3260727296);
+emit_32(3245998080);
+emit_32(1114632933);
+emit_32(3260727296);
+emit_32(3241902132);
+emit_32(1114591697);
+emit_32(3260727296);
+emit_32(3237609472);
+emit_32(1114663420);
+emit_32(3260727296);
+emit_32(3229220864);
+emit_32(1114860631);
+emit_32(3260727296);
+emit_32(0);
+emit_32(1114783587);
+emit_32(3260727296);
+emit_32(1081737216);
+emit_32(1114739258);
+emit_32(3260727296);
+emit_32(3279552512);
+emit_32(1082154906);
+emit_32(3261751309);
+emit_32(3279296528);
+emit_32(1078227213);
+emit_32(3261751309);
+emit_32(3279040545);
+emit_32(1079515745);
+emit_32(3261751309);
+emit_32(3278784496);
+emit_32(1080953133);
+emit_32(3261751309);
+emit_32(3278528512);
+emit_32(1082315317);
+emit_32(3261751309);
+emit_32(3278272528);
+emit_32(1085410084);
+emit_32(3261751309);
+emit_32(3278016545);
+emit_32(1089116884);
+emit_32(3261751309);
+emit_32(3277760496);
+emit_32(1091162058);
+emit_32(3261751309);
+emit_32(3277504512);
+emit_32(1092383922);
+emit_32(3261751309);
+emit_32(3277248528);
+emit_32(1094686500);
+emit_32(3261751309);
+emit_32(3276992545);
+emit_32(1095695440);
+emit_32(3261751309);
+emit_32(3276736496);
+emit_32(1096304558);
+emit_32(3261751309);
+emit_32(3276480512);
+emit_32(1096755970);
+emit_32(3261751309);
+emit_32(3276224528);
+emit_32(1097235484);
+emit_32(3261751309);
+emit_32(3275968545);
+emit_32(1098986081);
+emit_32(3261751309);
+emit_32(3275712496);
+emit_32(1099885602);
+emit_32(3261751309);
+emit_32(3275456512);
+emit_32(1100472805);
+emit_32(3261751309);
+emit_32(3275200528);
+emit_32(1101685588);
+emit_32(3261751309);
+emit_32(3274944545);
+emit_32(1102836243);
+emit_32(3261751309);
+emit_32(3274688496);
+emit_32(1103812048);
+emit_32(3261751309);
+emit_32(3274432512);
+emit_32(1104207518);
+emit_32(3261751309);
+emit_32(3274176528);
+emit_32(1104457970);
+emit_32(3261751309);
+emit_32(3273920545);
+emit_32(1104083891);
+emit_32(3261751309);
+emit_32(3273664496);
+emit_32(1103629805);
+emit_32(3261751309);
+emit_32(3273408512);
+emit_32(1103776553);
+emit_32(3261751309);
+emit_32(3273152528);
+emit_32(1103074794);
+emit_32(3261751309);
+emit_32(3272896545);
+emit_32(1102698250);
+emit_32(3261751309);
+emit_32(3272640496);
+emit_32(1102376914);
+emit_32(3261751309);
+emit_32(3272384512);
+emit_32(1101790760);
+emit_32(3261751309);
+emit_32(3272128528);
+emit_32(1101572184);
+emit_32(3261751309);
+emit_32(3271872545);
+emit_32(1101531028);
+emit_32(3261751309);
+emit_32(3271616496);
+emit_32(1101967498);
+emit_32(3261751309);
+emit_32(3271163904);
+emit_32(1101842874);
+emit_32(3261751309);
+emit_32(3270651937);
+emit_32(1101503398);
+emit_32(3261751309);
+emit_32(3270139970);
+emit_32(1101637406);
+emit_32(3261751309);
+emit_32(3269627871);
+emit_32(1100872627);
+emit_32(3261751309);
+emit_32(3269115904);
+emit_32(1100259629);
+emit_32(3261751309);
+emit_32(3268603937);
+emit_32(1101213676);
+emit_32(3261751309);
+emit_32(3268091970);
+emit_32(1102188118);
+emit_32(3261751309);
+emit_32(3267579911);
+emit_32(1102756499);
+emit_32(3261751309);
+emit_32(3267067904);
+emit_32(1103291744);
+emit_32(3261751309);
+emit_32(3266555911);
+emit_32(1104021763);
+emit_32(3261751309);
+emit_32(3266043904);
+emit_32(1105069185);
+emit_32(3261751309);
+emit_32(3265531911);
+emit_32(1105681659);
+emit_32(3261751309);
+emit_32(3265019904);
+emit_32(1106673612);
+emit_32(3261751309);
+emit_32(3264507911);
+emit_32(1107534728);
+emit_32(3261751309);
+emit_32(3263995904);
+emit_32(1108049579);
+emit_32(3261751309);
+emit_32(3263483911);
+emit_32(1108358411);
+emit_32(3261751309);
+emit_32(3262775296);
+emit_32(1109001765);
+emit_32(3261751309);
+emit_32(3261751309);
+emit_32(1109732911);
+emit_32(3261751309);
+emit_32(3260727296);
+emit_32(1110268628);
+emit_32(3261751309);
+emit_32(3259703309);
+emit_32(1111109324);
+emit_32(3261751309);
+emit_32(3258679296);
+emit_32(1111815854);
+emit_32(3261751309);
+emit_32(3257655309);
+emit_32(1112380434);
+emit_32(3261751309);
+emit_32(3256631296);
+emit_32(1113088511);
+emit_32(3261751309);
+emit_32(3255607309);
+emit_32(1113540657);
+emit_32(3261751309);
+emit_32(3254386688);
+emit_32(1113874498);
+emit_32(3261751309);
+emit_32(3252338714);
+emit_32(1114128672);
+emit_32(3261751309);
+emit_32(3250290688);
+emit_32(1114325883);
+emit_32(3261751309);
+emit_32(3248242714);
+emit_32(1114630023);
+emit_32(3261751309);
+emit_32(3245998080);
+emit_32(1114691181);
+emit_32(3261751309);
+emit_32(3241902132);
+emit_32(1114643497);
+emit_32(3261751309);
+emit_32(3237609472);
+emit_32(1114924410);
+emit_32(3261751309);
+emit_32(3229220864);
+emit_32(1115023894);
+emit_32(3261751309);
+emit_32(0);
+emit_32(1115026751);
+emit_32(3261751309);
+emit_32(1081737216);
+emit_32(1115049086);
+emit_32(3261751309);
+emit_32(3279552512);
+emit_32(1085379717);
+emit_32(3262775296);
+emit_32(3279296528);
+emit_32(1082515763);
+emit_32(3262775296);
+emit_32(3279040545);
+emit_32(1081713392);
+emit_32(3262775296);
+emit_32(3278784496);
+emit_32(1082674664);
+emit_32(3262775296);
+emit_32(3278528512);
+emit_32(1083857751);
+emit_32(3262775296);
+emit_32(3278272528);
+emit_32(1086391782);
+emit_32(3262775296);
+emit_32(3278016545);
+emit_32(1089887986);
+emit_32(3262775296);
+emit_32(3277760496);
+emit_32(1091366562);
+emit_32(3262775296);
+emit_32(3277504512);
+emit_32(1093480323);
+emit_32(3262775296);
+emit_32(3277248528);
+emit_32(1096367053);
+emit_32(3262775296);
+emit_32(3276992545);
+emit_32(1097288647);
+emit_32(3262775296);
+emit_32(3276736496);
+emit_32(1097900491);
+emit_32(3262775296);
+emit_32(3276480512);
+emit_32(1097387737);
+emit_32(3262775296);
+emit_32(3276224528);
+emit_32(1098997092);
+emit_32(3262775296);
+emit_32(3275968545);
+emit_32(1099406141);
+emit_32(3262775296);
+emit_32(3275712496);
+emit_32(1100061920);
+emit_32(3262775296);
+emit_32(3275456512);
+emit_32(1100936328);
+emit_32(3262775296);
+emit_32(3275200528);
+emit_32(1102376704);
+emit_32(3262775296);
+emit_32(3274944545);
+emit_32(1103402212);
+emit_32(3262775296);
+emit_32(3274688496);
+emit_32(1104153831);
+emit_32(3262775296);
+emit_32(3274432512);
+emit_32(1104171447);
+emit_32(3262775296);
+emit_32(3274176528);
+emit_32(1104486911);
+emit_32(3262775296);
+emit_32(3273920545);
+emit_32(1103965769);
+emit_32(3262775296);
+emit_32(3273664496);
+emit_32(1103343911);
+emit_32(3262775296);
+emit_32(3273408512);
+emit_32(1102855274);
+emit_32(3262775296);
+emit_32(3273152528);
+emit_32(1102990751);
+emit_32(3262775296);
+emit_32(3272896545);
+emit_32(1102516113);
+emit_32(3262775296);
+emit_32(3272640496);
+emit_32(1101872916);
+emit_32(3262775296);
+emit_32(3272384512);
+emit_32(1101340606);
+emit_32(3262775296);
+emit_32(3272128528);
+emit_32(1101093667);
+emit_32(3262775296);
+emit_32(3271872545);
+emit_32(1101409288);
+emit_32(3262775296);
+emit_32(3271616496);
+emit_32(1101315074);
+emit_32(3262775296);
+emit_32(3271163904);
+emit_32(1101239471);
+emit_32(3262775296);
+emit_32(3270651937);
+emit_32(1100955936);
+emit_32(3262775296);
+emit_32(3270139970);
+emit_32(1100734163);
+emit_32(3262775296);
+emit_32(3269627871);
+emit_32(1099873911);
+emit_32(3262775296);
+emit_32(3269115904);
+emit_32(1100253023);
+emit_32(3262775296);
+emit_32(3268603937);
+emit_32(1101062786);
+emit_32(3262775296);
+emit_32(3268091970);
+emit_32(1101695916);
+emit_32(3262775296);
+emit_32(3267579911);
+emit_32(1102727139);
+emit_32(3262775296);
+emit_32(3267067904);
+emit_32(1103290748);
+emit_32(3262775296);
+emit_32(3266555911);
+emit_32(1104346717);
+emit_32(3262775296);
+emit_32(3266043904);
+emit_32(1105063261);
+emit_32(3262775296);
+emit_32(3265531911);
+emit_32(1106002838);
+emit_32(3262775296);
+emit_32(3265019904);
+emit_32(1107066723);
+emit_32(3262775296);
+emit_32(3264507911);
+emit_32(1107631093);
+emit_32(3262775296);
+emit_32(3263995904);
+emit_32(1108240630);
+emit_32(3262775296);
+emit_32(3263483911);
+emit_32(1108980662);
+emit_32(3262775296);
+emit_32(3262775296);
+emit_32(1109633532);
+emit_32(3262775296);
+emit_32(3261751309);
+emit_32(1110425679);
+emit_32(3262775296);
+emit_32(3260727296);
+emit_32(1110943098);
+emit_32(3262775296);
+emit_32(3259703309);
+emit_32(1111573843);
+emit_32(3262775296);
+emit_32(3258679296);
+emit_32(1112066674);
+emit_32(3262775296);
+emit_32(3257655309);
+emit_32(1112658464);
+emit_32(3262775296);
+emit_32(3256631296);
+emit_32(1113241131);
+emit_32(3262775296);
+emit_32(3255607309);
+emit_32(1113628711);
+emit_32(3262775296);
+emit_32(3254386688);
+emit_32(1113998361);
+emit_32(3262775296);
+emit_32(3252338714);
+emit_32(1114315476);
+emit_32(3262775296);
+emit_32(3250290688);
+emit_32(1114404291);
+emit_32(3262775296);
+emit_32(3248242714);
+emit_32(1114257097);
+emit_32(3262775296);
+emit_32(3245998080);
+emit_32(1114167496);
+emit_32(3262775296);
+emit_32(3241902132);
+emit_32(1114396767);
+emit_32(3262775296);
+emit_32(3237609472);
+emit_32(1114735247);
+emit_32(3262775296);
+emit_32(3229220864);
+emit_32(1114903465);
+emit_32(3262775296);
+emit_32(0);
+emit_32(1115124924);
+emit_32(3262775296);
+emit_32(1081737216);
+emit_32(1115189700);
+emit_32(3262775296);
+emit_32(3279552512);
+emit_32(1086492571);
+emit_32(3263483911);
+emit_32(3279296528);
+emit_32(1084509819);
+emit_32(3263483911);
+emit_32(3279040545);
+emit_32(1084430379);
+emit_32(3263483911);
+emit_32(3278784496);
+emit_32(1085001978);
+emit_32(3263483911);
+emit_32(3278528512);
+emit_32(1084687406);
+emit_32(3263483911);
+emit_32(3278272528);
+emit_32(1087121591);
+emit_32(3263483911);
+emit_32(3278016545);
+emit_32(1090205138);
+emit_32(3263483911);
+emit_32(3277760496);
+emit_32(1091946330);
+emit_32(3263483911);
+emit_32(3277504512);
+emit_32(1094604292);
+emit_32(3263483911);
+emit_32(3277248528);
+emit_32(1096763205);
+emit_32(3263483911);
+emit_32(3276992545);
+emit_32(1098349072);
+emit_32(3263483911);
+emit_32(3276736496);
+emit_32(1098895589);
+emit_32(3263483911);
+emit_32(3276480512);
+emit_32(1099139645);
+emit_32(3263483911);
+emit_32(3276224528);
+emit_32(1099654916);
+emit_32(3263483911);
+emit_32(3275968545);
+emit_32(1100028838);
+emit_32(3263483911);
+emit_32(3275712496);
+emit_32(1100411096);
+emit_32(3263483911);
+emit_32(3275456512);
+emit_32(1101073796);
+emit_32(3263483911);
+emit_32(3275200528);
+emit_32(1102500803);
+emit_32(3263483911);
+emit_32(3274944545);
+emit_32(1103383180);
+emit_32(3263483911);
+emit_32(3274688496);
+emit_32(1103953081);
+emit_32(3263483911);
+emit_32(3274432512);
+emit_32(1104117078);
+emit_32(3263483911);
+emit_32(3274176528);
+emit_32(1104031777);
+emit_32(3263483911);
+emit_32(3273920545);
+emit_32(1103706141);
+emit_32(3263483911);
+emit_32(3273664496);
+emit_32(1103324512);
+emit_32(3263483911);
+emit_32(3273408512);
+emit_32(1102513124);
+emit_32(3263483911);
+emit_32(3273152528);
+emit_32(1102512757);
+emit_32(3263483911);
+emit_32(3272896545);
+emit_32(1102001367);
+emit_32(3263483911);
+emit_32(3272640496);
+emit_32(1101489347);
+emit_32(3263483911);
+emit_32(3272384512);
+emit_32(1101058382);
+emit_32(3263483911);
+emit_32(3272128528);
+emit_32(1100785805);
+emit_32(3263483911);
+emit_32(3271872545);
+emit_32(1100711985);
+emit_32(3263483911);
+emit_32(3271616496);
+emit_32(1100454979);
+emit_32(3263483911);
+emit_32(3271163904);
+emit_32(1100441924);
+emit_32(3263483911);
+emit_32(3270651937);
+emit_32(1100316829);
+emit_32(3263483911);
+emit_32(3270139970);
+emit_32(1099903690);
+emit_32(3263483911);
+emit_32(3269627871);
+emit_32(1099946525);
+emit_32(3263483911);
+emit_32(3269115904);
+emit_32(1100095265);
+emit_32(3263483911);
+emit_32(3268603937);
+emit_32(1100759958);
+emit_32(3263483911);
+emit_32(3268091970);
+emit_32(1101531447);
+emit_32(3263483911);
+emit_32(3267579911);
+emit_32(1102182403);
+emit_32(3263483911);
+emit_32(3267067904);
+emit_32(1102954575);
+emit_32(3263483911);
+emit_32(3266555911);
+emit_32(1103927181);
+emit_32(3263483911);
+emit_32(3266043904);
+emit_32(1104963174);
+emit_32(3263483911);
+emit_32(3265531911);
+emit_32(1106107695);
+emit_32(3263483911);
+emit_32(3265019904);
+emit_32(1106811971);
+emit_32(3263483911);
+emit_32(3264507911);
+emit_32(1107810242);
+emit_32(3263483911);
+emit_32(3263995904);
+emit_32(1108701217);
+emit_32(3263483911);
+emit_32(3263483911);
+emit_32(1109660533);
+emit_32(3263483911);
+emit_32(3262775296);
+emit_32(1110370838);
+emit_32(3263483911);
+emit_32(3261751309);
+emit_32(1111099363);
+emit_32(3263483911);
+emit_32(3260727296);
+emit_32(1111486628);
+emit_32(3263483911);
+emit_32(3259703309);
+emit_32(1111821464);
+emit_32(3263483911);
+emit_32(3258679296);
+emit_32(1112262967);
+emit_32(3263483911);
+emit_32(3257655309);
+emit_32(1112778211);
+emit_32(3263483911);
+emit_32(3256631296);
+emit_32(1113334717);
+emit_32(3263483911);
+emit_32(3255607309);
+emit_32(1113699910);
+emit_32(3263483911);
+emit_32(3254386688);
+emit_32(1113953429);
+emit_32(3263483911);
+emit_32(3252338714);
+emit_32(1114251775);
+emit_32(3263483911);
+emit_32(3250290688);
+emit_32(1114199242);
+emit_32(3263483911);
+emit_32(3248242714);
+emit_32(1113838033);
+emit_32(3263483911);
+emit_32(3245998080);
+emit_32(1113833787);
+emit_32(3263483911);
+emit_32(3241902132);
+emit_32(1114207840);
+emit_32(3263483911);
+emit_32(3237609472);
+emit_32(1114546556);
+emit_32(3263483911);
+emit_32(3229220864);
+emit_32(1114598697);
+emit_32(3263483911);
+emit_32(0);
+emit_32(1114817954);
+emit_32(3263483911);
+emit_32(1081737216);
+emit_32(1114860919);
+emit_32(3263483911);
+emit_32(3279552512);
+emit_32(1087139710);
+emit_32(3263995904);
+emit_32(3279296528);
+emit_32(1087121150);
+emit_32(3263995904);
+emit_32(3279040545);
+emit_32(1087424797);
+emit_32(3263995904);
+emit_32(3278784496);
+emit_32(1088288866);
+emit_32(3263995904);
+emit_32(3278528512);
+emit_32(1087946275);
+emit_32(3263995904);
+emit_32(3278272528);
+emit_32(1088967861);
+emit_32(3263995904);
+emit_32(3278016545);
+emit_32(1091560444);
+emit_32(3263995904);
+emit_32(3277760496);
+emit_32(1093142053);
+emit_32(3263995904);
+emit_32(3277504512);
+emit_32(1094326419);
+emit_32(3263995904);
+emit_32(3277248528);
+emit_32(1096867958);
+emit_32(3263995904);
+emit_32(3276992545);
+emit_32(1098819882);
+emit_32(3263995904);
+emit_32(3276736496);
+emit_32(1099265422);
+emit_32(3263995904);
+emit_32(3276480512);
+emit_32(1099487668);
+emit_32(3263995904);
+emit_32(3276224528);
+emit_32(1099990827);
+emit_32(3263995904);
+emit_32(3275968545);
+emit_32(1100246627);
+emit_32(3263995904);
+emit_32(3275712496);
+emit_32(1100397937);
+emit_32(3263995904);
+emit_32(3275456512);
+emit_32(1101410127);
+emit_32(3263995904);
+emit_32(3275200528);
+emit_32(1102521513);
+emit_32(3263995904);
+emit_32(3274944545);
+emit_32(1103207386);
+emit_32(3263995904);
+emit_32(3274688496);
+emit_32(1103390940);
+emit_32(3263995904);
+emit_32(3274432512);
+emit_32(1103443263);
+emit_32(3263995904);
+emit_32(3274176528);
+emit_32(1103097024);
+emit_32(3263995904);
+emit_32(3273920545);
+emit_32(1102906864);
+emit_32(3263995904);
+emit_32(3273664496);
+emit_32(1102900730);
+emit_32(3263995904);
+emit_32(3273408512);
+emit_32(1102220938);
+emit_32(3263995904);
+emit_32(3273152528);
+emit_32(1102144078);
+emit_32(3263995904);
+emit_32(3272896545);
+emit_32(1101363046);
+emit_32(3263995904);
+emit_32(3272640496);
+emit_32(1100839544);
+emit_32(3263995904);
+emit_32(3272384512);
+emit_32(1100199127);
+emit_32(3263995904);
+emit_32(3272128528);
+emit_32(1100097362);
+emit_32(3263995904);
+emit_32(3271872545);
+emit_32(1099987419);
+emit_32(3263995904);
+emit_32(3271616496);
+emit_32(1099540044);
+emit_32(3263995904);
+emit_32(3271163904);
+emit_32(1099437336);
+emit_32(3263995904);
+emit_32(3270651937);
+emit_32(1099514983);
+emit_32(3263995904);
+emit_32(3270139970);
+emit_32(1099717201);
+emit_32(3263995904);
+emit_32(3269627871);
+emit_32(1099729155);
+emit_32(3263995904);
+emit_32(3269115904);
+emit_32(1099827039);
+emit_32(3263995904);
+emit_32(3268603937);
+emit_32(1100161378);
+emit_32(3263995904);
+emit_32(3268091970);
+emit_32(1100861355);
+emit_32(3263995904);
+emit_32(3267579911);
+emit_32(1101473671);
+emit_32(3263995904);
+emit_32(3267067904);
+emit_32(1102447483);
+emit_32(3263995904);
+emit_32(3266555911);
+emit_32(1103703782);
+emit_32(3263995904);
+emit_32(3266043904);
+emit_32(1104882067);
+emit_32(3263995904);
+emit_32(3265531911);
+emit_32(1105992194);
+emit_32(3263995904);
+emit_32(3265019904);
+emit_32(1106919608);
+emit_32(3263995904);
+emit_32(3264507911);
+emit_32(1107993271);
+emit_32(3263995904);
+emit_32(3263995904);
+emit_32(1108925769);
+emit_32(3263995904);
+emit_32(3263483911);
+emit_32(1110019198);
+emit_32(3263995904);
+emit_32(3262775296);
+emit_32(1110818501);
+emit_32(3263995904);
+emit_32(3261751309);
+emit_32(1111233161);
+emit_32(3263995904);
+emit_32(3260727296);
+emit_32(1111683183);
+emit_32(3263995904);
+emit_32(3259703309);
+emit_32(1111981792);
+emit_32(3263995904);
+emit_32(3258679296);
+emit_32(1112340798);
+emit_32(3263995904);
+emit_32(3257655309);
+emit_32(1112786705);
+emit_32(3263995904);
+emit_32(3256631296);
+emit_32(1113283966);
+emit_32(3263995904);
+emit_32(3255607309);
+emit_32(1113555626);
+emit_32(3263995904);
+emit_32(3254386688);
+emit_32(1113825948);
+emit_32(3263995904);
+emit_32(3252338714);
+emit_32(1113819107);
+emit_32(3263995904);
+emit_32(3250290688);
+emit_32(1113630940);
+emit_32(3263995904);
+emit_32(3248242714);
+emit_32(1113321059);
+emit_32(3263995904);
+emit_32(3245998080);
+emit_32(1113733018);
+emit_32(3263995904);
+emit_32(3241902132);
+emit_32(1114113861);
+emit_32(3263995904);
+emit_32(3237609472);
+emit_32(1114143562);
+emit_32(3263995904);
+emit_32(3229220864);
+emit_32(1114322213);
+emit_32(3263995904);
+emit_32(0);
+emit_32(1114472841);
+emit_32(3263995904);
+emit_32(1081737216);
+emit_32(1114412994);
+emit_32(3263995904);
+emit_32(3279552512);
+emit_32(1089045854);
+emit_32(3264507911);
+emit_32(3279296528);
+emit_32(1088278862);
+emit_32(3264507911);
+emit_32(3279040545);
+emit_32(1090412714);
+emit_32(3264507911);
+emit_32(3278784496);
+emit_32(1089711259);
+emit_32(3264507911);
+emit_32(3278528512);
+emit_32(1090927439);
+emit_32(3264507911);
+emit_32(3278272528);
+emit_32(1091410686);
+emit_32(3264507911);
+emit_32(3278016545);
+emit_32(1093437227);
+emit_32(3264507911);
+emit_32(3277760496);
+emit_32(1094926205);
+emit_32(3264507911);
+emit_32(3277504512);
+emit_32(1095460140);
+emit_32(3264507911);
+emit_32(3277248528);
+emit_32(1097105460);
+emit_32(3264507911);
+emit_32(3276992545);
+emit_32(1098968413);
+emit_32(3264507911);
+emit_32(3276736496);
+emit_32(1099353345);
+emit_32(3264507911);
+emit_32(3276480512);
+emit_32(1099813618);
+emit_32(3264507911);
+emit_32(3276224528);
+emit_32(1100320499);
+emit_32(3264507911);
+emit_32(3275968545);
+emit_32(1100493829);
+emit_32(3264507911);
+emit_32(3275712496);
+emit_32(1100473906);
+emit_32(3264507911);
+emit_32(3275456512);
+emit_32(1101401948);
+emit_32(3264507911);
+emit_32(3275200528);
+emit_32(1102298848);
+emit_32(3264507911);
+emit_32(3274944545);
+emit_32(1102989230);
+emit_32(3264507911);
+emit_32(3274688496);
+emit_32(1102648967);
+emit_32(3264507911);
+emit_32(3274432512);
+emit_32(1102203952);
+emit_32(3264507911);
+emit_32(3274176528);
+emit_32(1102020923);
+emit_32(3264507911);
+emit_32(3273920545);
+emit_32(1102482244);
+emit_32(3264507911);
+emit_32(3273664496);
+emit_32(1101949515);
+emit_32(3264507911);
+emit_32(3273408512);
+emit_32(1101712379);
+emit_32(3264507911);
+emit_32(3273152528);
+emit_32(1100957195);
+emit_32(3264507911);
+emit_32(3272896545);
+emit_32(1100760377);
+emit_32(3264507911);
+emit_32(3272640496);
+emit_32(1100597271);
+emit_32(3264507911);
+emit_32(3272384512);
+emit_32(1099567360);
+emit_32(3264507911);
+emit_32(3272128528);
+emit_32(1098669307);
+emit_32(3264507911);
+emit_32(3271872545);
+emit_32(1098076022);
+emit_32(3264507911);
+emit_32(3271616496);
+emit_32(1097956485);
+emit_32(3264507911);
+emit_32(3271163904);
+emit_32(1098180565);
+emit_32(3264507911);
+emit_32(3270651937);
+emit_32(1097980812);
+emit_32(3264507911);
+emit_32(3270139970);
+emit_32(1098969042);
+emit_32(3264507911);
+emit_32(3269627871);
+emit_32(1099581411);
+emit_32(3264507911);
+emit_32(3269115904);
+emit_32(1099345900);
+emit_32(3264507911);
+emit_32(3268603937);
+emit_32(1099778595);
+emit_32(3264507911);
+emit_32(3268091970);
+emit_32(1100042784);
+emit_32(3264507911);
+emit_32(3267579911);
+emit_32(1100446643);
+emit_32(3264507911);
+emit_32(3267067904);
+emit_32(1101589486);
+emit_32(3264507911);
+emit_32(3266555911);
+emit_32(1103063522);
+emit_32(3264507911);
+emit_32(3266043904);
+emit_32(1104431599);
+emit_32(3264507911);
+emit_32(3265531911);
+emit_32(1106038332);
+emit_32(3264507911);
+emit_32(3265019904);
+emit_32(1107210011);
+emit_32(3264507911);
+emit_32(3264507911);
+emit_32(1107970254);
+emit_32(3264507911);
+emit_32(3263995904);
+emit_32(1108769794);
+emit_32(3264507911);
+emit_32(3263483911);
+emit_32(1109911929);
+emit_32(3264507911);
+emit_32(3262775296);
+emit_32(1110640427);
+emit_32(3264507911);
+emit_32(3261751309);
+emit_32(1111295551);
+emit_32(3264507911);
+emit_32(3260727296);
+emit_32(1111699227);
+emit_32(3264507911);
+emit_32(3259703309);
+emit_32(1112037130);
+emit_32(3264507911);
+emit_32(3258679296);
+emit_32(1112388927);
+emit_32(3264507911);
+emit_32(3257655309);
+emit_32(1112777766);
+emit_32(3264507911);
+emit_32(3256631296);
+emit_32(1112967610);
+emit_32(3264507911);
+emit_32(3255607309);
+emit_32(1113472080);
+emit_32(3264507911);
+emit_32(3254386688);
+emit_32(1113707171);
+emit_32(3264507911);
+emit_32(3252338714);
+emit_32(1113542073);
+emit_32(3264507911);
+emit_32(3250290688);
+emit_32(1113390370);
+emit_32(3264507911);
+emit_32(3248242714);
+emit_32(1113303574);
+emit_32(3264507911);
+emit_32(3245998080);
+emit_32(1113650705);
+emit_32(3264507911);
+emit_32(3241902132);
+emit_32(1114040330);
+emit_32(3264507911);
+emit_32(3237609472);
+emit_32(1114029556);
+emit_32(3264507911);
+emit_32(3229220864);
+emit_32(1113975580);
+emit_32(3264507911);
+emit_32(0);
+emit_32(1113691390);
+emit_32(3264507911);
+emit_32(1081737216);
+emit_32(1113723162);
+emit_32(3264507911);
+emit_32(3279552512);
+emit_32(1091448267);
+emit_32(3265019904);
+emit_32(3279296528);
+emit_32(1090852236);
+emit_32(3265019904);
+emit_32(3279040545);
+emit_32(1091224616);
+emit_32(3265019904);
+emit_32(3278784496);
+emit_32(1092115172);
+emit_32(3265019904);
+emit_32(3278528512);
+emit_32(1092387560);
+emit_32(3265019904);
+emit_32(3278272528);
+emit_32(1093982696);
+emit_32(3265019904);
+emit_32(3278016545);
+emit_32(1095925288);
+emit_32(3265019904);
+emit_32(3277760496);
+emit_32(1097267780);
+emit_32(3265019904);
+emit_32(3277504512);
+emit_32(1098458962);
+emit_32(3265019904);
+emit_32(3277248528);
+emit_32(1097176554);
+emit_32(3265019904);
+emit_32(3276992545);
+emit_32(1098529427);
+emit_32(3265019904);
+emit_32(3276736496);
+emit_32(1099386480);
+emit_32(3265019904);
+emit_32(3276480512);
+emit_32(1100029729);
+emit_32(3265019904);
+emit_32(3276224528);
+emit_32(1100574360);
+emit_32(3265019904);
+emit_32(3275968545);
+emit_32(1100451571);
+emit_32(3265019904);
+emit_32(3275712496);
+emit_32(1100757808);
+emit_32(3265019904);
+emit_32(3275456512);
+emit_32(1101452909);
+emit_32(3265019904);
+emit_32(3275200528);
+emit_32(1102452412);
+emit_32(3265019904);
+emit_32(3274944545);
+emit_32(1102489269);
+emit_32(3265019904);
+emit_32(3274688496);
+emit_32(1101956383);
+emit_32(3265019904);
+emit_32(3274432512);
+emit_32(1102164106);
+emit_32(3265019904);
+emit_32(3274176528);
+emit_32(1102017829);
+emit_32(3265019904);
+emit_32(3273920545);
+emit_32(1101687633);
+emit_32(3265019904);
+emit_32(3273664496);
+emit_32(1101190398);
+emit_32(3265019904);
+emit_32(3273408512);
+emit_32(1100930771);
+emit_32(3265019904);
+emit_32(3273152528);
+emit_32(1099875379);
+emit_32(3265019904);
+emit_32(3272896545);
+emit_32(1099988363);
+emit_32(3265019904);
+emit_32(3272640496);
+emit_32(1099466749);
+emit_32(3265019904);
+emit_32(3272384512);
+emit_32(1099025927);
+emit_32(3265019904);
+emit_32(3272128528);
+emit_32(1097133667);
+emit_32(3265019904);
+emit_32(3271872545);
+emit_32(1096125042);
+emit_32(3265019904);
+emit_32(3271616496);
+emit_32(1097217448);
+emit_32(3265019904);
+emit_32(3271163904);
+emit_32(1097530343);
+emit_32(3265019904);
+emit_32(3270651937);
+emit_32(1097021365);
+emit_32(3265019904);
+emit_32(3270139970);
+emit_32(1098337432);
+emit_32(3265019904);
+emit_32(3269627871);
+emit_32(1099231186);
+emit_32(3265019904);
+emit_32(3269115904);
+emit_32(1099058066);
+emit_32(3265019904);
+emit_32(3268603937);
+emit_32(1098845363);
+emit_32(3265019904);
+emit_32(3268091970);
+emit_32(1099724436);
+emit_32(3265019904);
+emit_32(3267579911);
+emit_32(1100562825);
+emit_32(3265019904);
+emit_32(3267067904);
+emit_32(1101564635);
+emit_32(3265019904);
+emit_32(3266555911);
+emit_32(1102663280);
+emit_32(3265019904);
+emit_32(3266043904);
+emit_32(1103783055);
+emit_32(3265019904);
+emit_32(3265531911);
+emit_32(1105695185);
+emit_32(3265019904);
+emit_32(3265019904);
+emit_32(1107222541);
+emit_32(3265019904);
+emit_32(3264507911);
+emit_32(1108142824);
+emit_32(3265019904);
+emit_32(3263995904);
+emit_32(1108595363);
+emit_32(3265019904);
+emit_32(3263483911);
+emit_32(1109574812);
+emit_32(3265019904);
+emit_32(3262775296);
+emit_32(1110596754);
+emit_32(3265019904);
+emit_32(3261751309);
+emit_32(1111223304);
+emit_32(3265019904);
+emit_32(3260727296);
+emit_32(1111571117);
+emit_32(3265019904);
+emit_32(3259703309);
+emit_32(1111962445);
+emit_32(3265019904);
+emit_32(3258679296);
+emit_32(1112404944);
+emit_32(3265019904);
+emit_32(3257655309);
+emit_32(1112735429);
+emit_32(3265019904);
+emit_32(3256631296);
+emit_32(1112827337);
+emit_32(3265019904);
+emit_32(3255607309);
+emit_32(1113233949);
+emit_32(3265019904);
+emit_32(3254386688);
+emit_32(1113414513);
+emit_32(3265019904);
+emit_32(3252338714);
+emit_32(1113420150);
+emit_32(3265019904);
+emit_32(3250290688);
+emit_32(1113163904);
+emit_32(3265019904);
+emit_32(3248242714);
+emit_32(1113052807);
+emit_32(3265019904);
+emit_32(3245998080);
+emit_32(1113343787);
+emit_32(3265019904);
+emit_32(3241902132);
+emit_32(1113698599);
+emit_32(3265019904);
+emit_32(3237609472);
+emit_32(1113628816);
+emit_32(3265019904);
+emit_32(3229220864);
+emit_32(1113662187);
+emit_32(3265019904);
+emit_32(0);
+emit_32(1113260242);
+emit_32(3265019904);
+emit_32(1081737216);
+emit_32(1113178820);
+emit_32(3265019904);
+emit_32(3279552512);
+emit_32(1093438171);
+emit_32(3265531911);
+emit_32(3279296528);
+emit_32(1092747788);
+emit_32(3265531911);
+emit_32(3279040545);
+emit_32(1093310454);
+emit_32(3265531911);
+emit_32(3278784496);
+emit_32(1094102234);
+emit_32(3265531911);
+emit_32(3278528512);
+emit_32(1095034523);
+emit_32(3265531911);
+emit_32(3278272528);
+emit_32(1096277295);
+emit_32(3265531911);
+emit_32(3278016545);
+emit_32(1097766063);
+emit_32(3265531911);
+emit_32(3277760496);
+emit_32(1099194067);
+emit_32(3265531911);
+emit_32(3277504512);
+emit_32(1099628649);
+emit_32(3265531911);
+emit_32(3277248528);
+emit_32(1099258973);
+emit_32(3265531911);
+emit_32(3276992545);
+emit_32(1098472174);
+emit_32(3265531911);
+emit_32(3276736496);
+emit_32(1099274020);
+emit_32(3265531911);
+emit_32(3276480512);
+emit_32(1099770049);
+emit_32(3265531911);
+emit_32(3276224528);
+emit_32(1100217110);
+emit_32(3265531911);
+emit_32(3275968545);
+emit_32(1099973526);
+emit_32(3265531911);
+emit_32(3275712496);
+emit_32(1100572682);
+emit_32(3265531911);
+emit_32(3275456512);
+emit_32(1101377883);
+emit_32(3265531911);
+emit_32(3275200528);
+emit_32(1101817027);
+emit_32(3265531911);
+emit_32(3274944545);
+emit_32(1101419407);
+emit_32(3265531911);
+emit_32(3274688496);
+emit_32(1101366087);
+emit_32(3265531911);
+emit_32(3274432512);
+emit_32(1101862955);
+emit_32(3265531911);
+emit_32(3274176528);
+emit_32(1101888854);
+emit_32(3265531911);
+emit_32(3273920545);
+emit_32(1101226888);
+emit_32(3265531911);
+emit_32(3273664496);
+emit_32(1100713768);
+emit_32(3265531911);
+emit_32(3273408512);
+emit_32(1099889010);
+emit_32(3265531911);
+emit_32(3273152528);
+emit_32(1098959238);
+emit_32(3265531911);
+emit_32(3272896545);
+emit_32(1098971873);
+emit_32(3265531911);
+emit_32(3272640496);
+emit_32(1098173750);
+emit_32(3265531911);
+emit_32(3272384512);
+emit_32(1096822345);
+emit_32(3265531911);
+emit_32(3272128528);
+emit_32(1095460769);
+emit_32(3265531911);
+emit_32(3271872545);
+emit_32(1095939654);
+emit_32(3265531911);
+emit_32(3271616496);
+emit_32(1096979107);
+emit_32(3265531911);
+emit_32(3271163904);
+emit_32(1096816787);
+emit_32(3265531911);
+emit_32(3270651937);
+emit_32(1096356567);
+emit_32(3265531911);
+emit_32(3270139970);
+emit_32(1097648308);
+emit_32(3265531911);
+emit_32(3269627871);
+emit_32(1098574096);
+emit_32(3265531911);
+emit_32(3269115904);
+emit_32(1097968858);
+emit_32(3265531911);
+emit_32(3268603937);
+emit_32(1098365115);
+emit_32(3265531911);
+emit_32(3268091970);
+emit_32(1099546126);
+emit_32(3265531911);
+emit_32(3267579911);
+emit_32(1100574569);
+emit_32(3265531911);
+emit_32(3267067904);
+emit_32(1101687475);
+emit_32(3265531911);
+emit_32(3266555911);
+emit_32(1102052380);
+emit_32(3265531911);
+emit_32(3266043904);
+emit_32(1103313292);
+emit_32(3265531911);
+emit_32(3265531911);
+emit_32(1105621785);
+emit_32(3265531911);
+emit_32(3265019904);
+emit_32(1107169169);
+emit_32(3265531911);
+emit_32(3264507911);
+emit_32(1107983021);
+emit_32(3265531911);
+emit_32(3263995904);
+emit_32(1108610777);
+emit_32(3265531911);
+emit_32(3263483911);
+emit_32(1109287292);
+emit_32(3265531911);
+emit_32(3262775296);
+emit_32(1110292405);
+emit_32(3265531911);
+emit_32(3261751309);
+emit_32(1110956075);
+emit_32(3265531911);
+emit_32(3260727296);
+emit_32(1111332749);
+emit_32(3265531911);
+emit_32(3259703309);
+emit_32(1111901392);
+emit_32(3265531911);
+emit_32(3258679296);
+emit_32(1112404473);
+emit_32(3265531911);
+emit_32(3257655309);
+emit_32(1112625041);
+emit_32(3265531911);
+emit_32(3256631296);
+emit_32(1112715716);
+emit_32(3265531911);
+emit_32(3255607309);
+emit_32(1112946875);
+emit_32(3265531911);
+emit_32(3254386688);
+emit_32(1113184299);
+emit_32(3265531911);
+emit_32(3252338714);
+emit_32(1112883882);
+emit_32(3265531911);
+emit_32(3250290688);
+emit_32(1112791607);
+emit_32(3265531911);
+emit_32(3248242714);
+emit_32(1112621633);
+emit_32(3265531911);
+emit_32(3245998080);
+emit_32(1113008138);
+emit_32(3265531911);
+emit_32(3241902132);
+emit_32(1113167285);
+emit_32(3265531911);
+emit_32(3237609472);
+emit_32(1113124399);
+emit_32(3265531911);
+emit_32(3229220864);
+emit_32(1112977362);
+emit_32(3265531911);
+emit_32(0);
+emit_32(1112766703);
+emit_32(3265531911);
+emit_32(1081737216);
+emit_32(1112525767);
+emit_32(3265531911);
+emit_32(3279552512);
+emit_32(1095002332);
+emit_32(3266043904);
+emit_32(3279296528);
+emit_32(1094609640);
+emit_32(3266043904);
+emit_32(3279040545);
+emit_32(1096233255);
+emit_32(3266043904);
+emit_32(3278784496);
+emit_32(1097215037);
+emit_32(3266043904);
+emit_32(3278528512);
+emit_32(1097707028);
+emit_32(3266043904);
+emit_32(3278272528);
+emit_32(1098213910);
+emit_32(3266043904);
+emit_32(3278016545);
+emit_32(1099607939);
+emit_32(3266043904);
+emit_32(3277760496);
+emit_32(1100328888);
+emit_32(3266043904);
+emit_32(3277504512);
+emit_32(1099961205);
+emit_32(3266043904);
+emit_32(3277248528);
+emit_32(1099657799);
+emit_32(3266043904);
+emit_32(3276992545);
+emit_32(1099461558);
+emit_32(3266043904);
+emit_32(3276736496);
+emit_32(1099119408);
+emit_32(3266043904);
+emit_32(3276480512);
+emit_32(1099612763);
+emit_32(3266043904);
+emit_32(3276224528);
+emit_32(1099736862);
+emit_32(3266043904);
+emit_32(3275968545);
+emit_32(1099825729);
+emit_32(3266043904);
+emit_32(3275712496);
+emit_32(1100371460);
+emit_32(3266043904);
+emit_32(3275456512);
+emit_32(1100899051);
+emit_32(3266043904);
+emit_32(3275200528);
+emit_32(1100798702);
+emit_32(3266043904);
+emit_32(3274944545);
+emit_32(1100553703);
+emit_32(3266043904);
+emit_32(3274688496);
+emit_32(1100490159);
+emit_32(3266043904);
+emit_32(3274432512);
+emit_32(1100873309);
+emit_32(3266043904);
+emit_32(3274176528);
+emit_32(1100817524);
+emit_32(3266043904);
+emit_32(3273920545);
+emit_32(1100275568);
+emit_32(3266043904);
+emit_32(3273664496);
+emit_32(1100060977);
+emit_32(3266043904);
+emit_32(3273408512);
+emit_32(1099264636);
+emit_32(3266043904);
+emit_32(3273152528);
+emit_32(1097887279);
+emit_32(3266043904);
+emit_32(3272896545);
+emit_32(1096157548);
+emit_32(3266043904);
+emit_32(3272640496);
+emit_32(1095486249);
+emit_32(3266043904);
+emit_32(3272384512);
+emit_32(1094979368);
+emit_32(3266043904);
+emit_32(3272128528);
+emit_32(1095398693);
+emit_32(3266043904);
+emit_32(3271872545);
+emit_32(1095531024);
+emit_32(3266043904);
+emit_32(3271616496);
+emit_32(1095980968);
+emit_32(3266043904);
+emit_32(3271163904);
+emit_32(1095589534);
+emit_32(3266043904);
+emit_32(3270651937);
+emit_32(1095288383);
+emit_32(3266043904);
+emit_32(3270139970);
+emit_32(1096315044);
+emit_32(3266043904);
+emit_32(3269627871);
+emit_32(1096326788);
+emit_32(3266043904);
+emit_32(3269115904);
+emit_32(1096402705);
+emit_32(3266043904);
+emit_32(3268603937);
+emit_32(1097546911);
+emit_32(3266043904);
+emit_32(3268091970);
+emit_32(1099249798);
+emit_32(3266043904);
+emit_32(3267579911);
+emit_32(1099942016);
+emit_32(3266043904);
+emit_32(3267067904);
+emit_32(1100913469);
+emit_32(3266043904);
+emit_32(3266555911);
+emit_32(1101943433);
+emit_32(3266043904);
+emit_32(3266043904);
+emit_32(1102787536);
+emit_32(3266043904);
+emit_32(3265531911);
+emit_32(1104904507);
+emit_32(3266043904);
+emit_32(3265019904);
+emit_32(1106333873);
+emit_32(3266043904);
+emit_32(3264507911);
+emit_32(1107759779);
+emit_32(3266043904);
+emit_32(3263995904);
+emit_32(1108391467);
+emit_32(3266043904);
+emit_32(3263483911);
+emit_32(1108904981);
+emit_32(3266043904);
+emit_32(3262775296);
+emit_32(1109806757);
+emit_32(3266043904);
+emit_32(3261751309);
+emit_32(1110385151);
+emit_32(3266043904);
+emit_32(3260727296);
+emit_32(1110931145);
+emit_32(3266043904);
+emit_32(3259703309);
+emit_32(1111641319);
+emit_32(3266043904);
+emit_32(3258679296);
+emit_32(1112124634);
+emit_32(3266043904);
+emit_32(3257655309);
+emit_32(1112283257);
+emit_32(3266043904);
+emit_32(3256631296);
+emit_32(1112339618);
+emit_32(3266043904);
+emit_32(3255607309);
+emit_32(1112509383);
+emit_32(3266043904);
+emit_32(3254386688);
+emit_32(1112776009);
+emit_32(3266043904);
+emit_32(3252338714);
+emit_32(1112680825);
+emit_32(3266043904);
+emit_32(3250290688);
+emit_32(1112625539);
+emit_32(3266043904);
+emit_32(3248242714);
+emit_32(1112693513);
+emit_32(3266043904);
+emit_32(3245998080);
+emit_32(1112618644);
+emit_32(3266043904);
+emit_32(3241902132);
+emit_32(1112571616);
+emit_32(3266043904);
+emit_32(3237609472);
+emit_32(1112555074);
+emit_32(3266043904);
+emit_32(3229220864);
+emit_32(1112282576);
+emit_32(3266043904);
+emit_32(0);
+emit_32(1112161675);
+emit_32(3266043904);
+emit_32(1081737216);
+emit_32(1112016683);
+emit_32(3266043904);
+emit_32(3279552512);
+emit_32(1096435525);
+emit_32(3266555911);
+emit_32(3279296528);
+emit_32(1097116575);
+emit_32(3266555911);
+emit_32(3279040545);
+emit_32(1098870633);
+emit_32(3266555911);
+emit_32(3278784496);
+emit_32(1099498730);
+emit_32(3266555911);
+emit_32(3278528512);
+emit_32(1099914596);
+emit_32(3266555911);
+emit_32(3278272528);
+emit_32(1099951872);
+emit_32(3266555911);
+emit_32(3278016545);
+emit_32(1100659976);
+emit_32(3266555911);
+emit_32(3277760496);
+emit_32(1101078253);
+emit_32(3266555911);
+emit_32(3277504512);
+emit_32(1100635177);
+emit_32(3266555911);
+emit_32(3277248528);
+emit_32(1100013948);
+emit_32(3266555911);
+emit_32(3276992545);
+emit_32(1099614650);
+emit_32(3266555911);
+emit_32(3276736496);
+emit_32(1099488402);
+emit_32(3266555911);
+emit_32(3276480512);
+emit_32(1099820591);
+emit_32(3266555911);
+emit_32(3276224528);
+emit_32(1099553833);
+emit_32(3266555911);
+emit_32(3275968545);
+emit_32(1099782999);
+emit_32(3266555911);
+emit_32(3275712496);
+emit_32(1100398566);
+emit_32(3266555911);
+emit_32(3275456512);
+emit_32(1100575303);
+emit_32(3266555911);
+emit_32(3275200528);
+emit_32(1100289986);
+emit_32(3266555911);
+emit_32(3274944545);
+emit_32(1099602382);
+emit_32(3266555911);
+emit_32(3274688496);
+emit_32(1099733506);
+emit_32(3266555911);
+emit_32(3274432512);
+emit_32(1100008915);
+emit_32(3266555911);
+emit_32(3274176528);
+emit_32(1100003777);
+emit_32(3266555911);
+emit_32(3273920545);
+emit_32(1099179753);
+emit_32(3266555911);
+emit_32(3273664496);
+emit_32(1098406953);
+emit_32(3266555911);
+emit_32(3273408512);
+emit_32(1097223320);
+emit_32(3266555911);
+emit_32(3273152528);
+emit_32(1096202217);
+emit_32(3266555911);
+emit_32(3272896545);
+emit_32(1095613442);
+emit_32(3266555911);
+emit_32(3272640496);
+emit_32(1095615539);
+emit_32(3266555911);
+emit_32(3272384512);
+emit_32(1095008728);
+emit_32(3266555911);
+emit_32(3272128528);
+emit_32(1095144623);
+emit_32(3266555911);
+emit_32(3271872545);
+emit_32(1095756572);
+emit_32(3266555911);
+emit_32(3271616496);
+emit_32(1094683564);
+emit_32(3266555911);
+emit_32(3271163904);
+emit_32(1094540119);
+emit_32(3266555911);
+emit_32(3270651937);
+emit_32(1094978843);
+emit_32(3266555911);
+emit_32(3270139970);
+emit_32(1095340707);
+emit_32(3266555911);
+emit_32(3269627871);
+emit_32(1095981597);
+emit_32(3266555911);
+emit_32(3269115904);
+emit_32(1096517838);
+emit_32(3266555911);
+emit_32(3268603937);
+emit_32(1096669463);
+emit_32(3266555911);
+emit_32(3268091970);
+emit_32(1097720555);
+emit_32(3266555911);
+emit_32(3267579911);
+emit_32(1098962122);
+emit_32(3266555911);
+emit_32(3267067904);
+emit_32(1099956067);
+emit_32(3266555911);
+emit_32(3266555911);
+emit_32(1101017750);
+emit_32(3266555911);
+emit_32(3266043904);
+emit_32(1102473436);
+emit_32(3266555911);
+emit_32(3265531911);
+emit_32(1104059040);
+emit_32(3266555911);
+emit_32(3265019904);
+emit_32(1105738491);
+emit_32(3266555911);
+emit_32(3264507911);
+emit_32(1107208438);
+emit_32(3266555911);
+emit_32(3263995904);
+emit_32(1107891008);
+emit_32(3266555911);
+emit_32(3263483911);
+emit_32(1108674504);
+emit_32(3266555911);
+emit_32(3262775296);
+emit_32(1109604067);
+emit_32(3266555911);
+emit_32(3261751309);
+emit_32(1110189120);
+emit_32(3266555911);
+emit_32(3260727296);
+emit_32(1110577670);
+emit_32(3266555911);
+emit_32(3259703309);
+emit_32(1111354953);
+emit_32(3266555911);
+emit_32(3258679296);
+emit_32(1111734537);
+emit_32(3266555911);
+emit_32(3257655309);
+emit_32(1111705518);
+emit_32(3266555911);
+emit_32(3256631296);
+emit_32(1111723527);
+emit_32(3266555911);
+emit_32(3255607309);
+emit_32(1112027955);
+emit_32(3266555911);
+emit_32(3254386688);
+emit_32(1112257410);
+emit_32(3266555911);
+emit_32(3252338714);
+emit_32(1112640297);
+emit_32(3266555911);
+emit_32(3250290688);
+emit_32(1112609967);
+emit_32(3266555911);
+emit_32(3248242714);
+emit_32(1112557696);
+emit_32(3266555911);
+emit_32(3245998080);
+emit_32(1112351231);
+emit_32(3266555911);
+emit_32(3241902132);
+emit_32(1112040774);
+emit_32(3266555911);
+emit_32(3237609472);
+emit_32(1111912900);
+emit_32(3266555911);
+emit_32(3229220864);
+emit_32(1111694639);
+emit_32(3266555911);
+emit_32(0);
+emit_32(1111678858);
+emit_32(3266555911);
+emit_32(1081737216);
+emit_32(1111401326);
+emit_32(3266555911);
+emit_32(3279552512);
+emit_32(1098118070);
+emit_32(3267067904);
+emit_32(3279296528);
+emit_32(1099747453);
+emit_32(3267067904);
+emit_32(3279040545);
+emit_32(1100611269);
+emit_32(3267067904);
+emit_32(3278784496);
+emit_32(1101443210);
+emit_32(3267067904);
+emit_32(3278528512);
+emit_32(1101232603);
+emit_32(3267067904);
+emit_32(3278272528);
+emit_32(1101611506);
+emit_32(3267067904);
+emit_32(3278016545);
+emit_32(1101693243);
+emit_32(3267067904);
+emit_32(3277760496);
+emit_32(1101466016);
+emit_32(3267067904);
+emit_32(3277504512);
+emit_32(1101285137);
+emit_32(3267067904);
+emit_32(3277248528);
+emit_32(1100667106);
+emit_32(3267067904);
+emit_32(3276992545);
+emit_32(1100084308);
+emit_32(3267067904);
+emit_32(3276736496);
+emit_32(1099746194);
+emit_32(3267067904);
+emit_32(3276480512);
+emit_32(1099973840);
+emit_32(3267067904);
+emit_32(3276224528);
+emit_32(1099985637);
+emit_32(3267067904);
+emit_32(3275968545);
+emit_32(1099784782);
+emit_32(3267067904);
+emit_32(3275712496);
+emit_32(1100330146);
+emit_32(3267067904);
+emit_32(3275456512);
+emit_32(1100180200);
+emit_32(3267067904);
+emit_32(3275200528);
+emit_32(1099997118);
+emit_32(3267067904);
+emit_32(3274944545);
+emit_32(1099326240);
+emit_32(3267067904);
+emit_32(3274688496);
+emit_32(1099003435);
+emit_32(3267067904);
+emit_32(3274432512);
+emit_32(1099218918);
+emit_32(3267067904);
+emit_32(3274176528);
+emit_32(1098944243);
+emit_32(3267067904);
+emit_32(3273920545);
+emit_32(1097839464);
+emit_32(3267067904);
+emit_32(3273664496);
+emit_32(1095942065);
+emit_32(3267067904);
+emit_32(3273408512);
+emit_32(1094895587);
+emit_32(3267067904);
+emit_32(3273152528);
+emit_32(1094953468);
+emit_32(3267067904);
+emit_32(3272896545);
+emit_32(1095007260);
+emit_32(3267067904);
+emit_32(3272640496);
+emit_32(1095264895);
+emit_32(3267067904);
+emit_32(3272384512);
+emit_32(1094611422);
+emit_32(3267067904);
+emit_32(3272128528);
+emit_32(1095079402);
+emit_32(3267067904);
+emit_32(3271872545);
+emit_32(1094441973);
+emit_32(3267067904);
+emit_32(3271616496);
+emit_32(1094236766);
+emit_32(3267067904);
+emit_32(3271163904);
+emit_32(1094323798);
+emit_32(3267067904);
+emit_32(3270651937);
+emit_32(1094165987);
+emit_32(3267067904);
+emit_32(3270139970);
+emit_32(1094226805);
+emit_32(3267067904);
+emit_32(3269627871);
+emit_32(1094579336);
+emit_32(3267067904);
+emit_32(3269115904);
+emit_32(1095352975);
+emit_32(3267067904);
+emit_32(3268603937);
+emit_32(1095436757);
+emit_32(3267067904);
+emit_32(3268091970);
+emit_32(1095935879);
+emit_32(3267067904);
+emit_32(3267579911);
+emit_32(1097439012);
+emit_32(3267067904);
+emit_32(3267067904);
+emit_32(1099223007);
+emit_32(3267067904);
+emit_32(3266555911);
+emit_32(1100974863);
+emit_32(3267067904);
+emit_32(3266043904);
+emit_32(1102518734);
+emit_32(3267067904);
+emit_32(3265531911);
+emit_32(1104318772);
+emit_32(3267067904);
+emit_32(3265019904);
+emit_32(1105646112);
+emit_32(3267067904);
+emit_32(3264507911);
+emit_32(1106403341);
+emit_32(3267067904);
+emit_32(3263995904);
+emit_32(1107600264);
+emit_32(3267067904);
+emit_32(3263483911);
+emit_32(1108414248);
+emit_32(3267067904);
+emit_32(3262775296);
+emit_32(1109181543);
+emit_32(3267067904);
+emit_32(3261751309);
+emit_32(1109764892);
+emit_32(3267067904);
+emit_32(3260727296);
+emit_32(1110292536);
+emit_32(3267067904);
+emit_32(3259703309);
+emit_32(1110846682);
+emit_32(3267067904);
+emit_32(3258679296);
+emit_32(1111130925);
+emit_32(3267067904);
+emit_32(3257655309);
+emit_32(1111171793);
+emit_32(3267067904);
+emit_32(3256631296);
+emit_32(1111317938);
+emit_32(3267067904);
+emit_32(3255607309);
+emit_32(1111635762);
+emit_32(3267067904);
+emit_32(3254386688);
+emit_32(1112164637);
+emit_32(3267067904);
+emit_32(3252338714);
+emit_32(1112290938);
+emit_32(3267067904);
+emit_32(3250290688);
+emit_32(1112478450);
+emit_32(3267067904);
+emit_32(3248242714);
+emit_32(1112372360);
+emit_32(3267067904);
+emit_32(3245998080);
+emit_32(1111917566);
+emit_32(3267067904);
+emit_32(3241902132);
+emit_32(1112023289);
+emit_32(3267067904);
+emit_32(3237609472);
+emit_32(1111655422);
+emit_32(3267067904);
+emit_32(3229220864);
+emit_32(1111168988);
+emit_32(3267067904);
+emit_32(0);
+emit_32(1110861231);
+emit_32(3267067904);
+emit_32(1081737216);
+emit_32(1110813757);
+emit_32(3267067904);
+emit_32(3279552512);
+emit_32(1100220360);
+emit_32(3267579911);
+emit_32(3279296528);
+emit_32(1101067662);
+emit_32(3267579911);
+emit_32(3279040545);
+emit_32(1102439514);
+emit_32(3267579911);
+emit_32(3278784496);
+emit_32(1103265006);
+emit_32(3267579911);
+emit_32(3278528512);
+emit_32(1103236799);
+emit_32(3267579911);
+emit_32(3278272528);
+emit_32(1103276120);
+emit_32(3267579911);
+emit_32(3278016545);
+emit_32(1103285505);
+emit_32(3267579911);
+emit_32(3277760496);
+emit_32(1102760850);
+emit_32(3267579911);
+emit_32(3277504512);
+emit_32(1101931584);
+emit_32(3267579911);
+emit_32(3277248528);
+emit_32(1101349415);
+emit_32(3267579911);
+emit_32(3276992545);
+emit_32(1100402341);
+emit_32(3267579911);
+emit_32(3276736496);
+emit_32(1100027265);
+emit_32(3267579911);
+emit_32(3276480512);
+emit_32(1100259525);
+emit_32(3267579911);
+emit_32(3276224528);
+emit_32(1100063651);
+emit_32(3267579911);
+emit_32(3275968545);
+emit_32(1099648782);
+emit_32(3267579911);
+emit_32(3275712496);
+emit_32(1100276302);
+emit_32(3267579911);
+emit_32(3275456512);
+emit_32(1100001260);
+emit_32(3267579911);
+emit_32(3275200528);
+emit_32(1099604217);
+emit_32(3267579911);
+emit_32(3274944545);
+emit_32(1099253678);
+emit_32(3267579911);
+emit_32(3274688496);
+emit_32(1098028836);
+emit_32(3267579911);
+emit_32(3274432512);
+emit_32(1097094660);
+emit_32(3267579911);
+emit_32(3274176528);
+emit_32(1096265341);
+emit_32(3267579911);
+emit_32(3273920545);
+emit_32(1095381601);
+emit_32(3267579911);
+emit_32(3273664496);
+emit_32(1094132852);
+emit_32(3267579911);
+emit_32(3273408512);
+emit_32(1094233411);
+emit_32(3267579911);
+emit_32(3273152528);
+emit_32(1094498386);
+emit_32(3267579911);
+emit_32(3272896545);
+emit_32(1093571235);
+emit_32(3267579911);
+emit_32(3272640496);
+emit_32(1093897237);
+emit_32(3267579911);
+emit_32(3272384512);
+emit_32(1093720657);
+emit_32(3267579911);
+emit_32(3272128528);
+emit_32(1094242743);
+emit_32(3267579911);
+emit_32(3271872545);
+emit_32(1094359764);
+emit_32(3267579911);
+emit_32(3271616496);
+emit_32(1093621672);
+emit_32(3267579911);
+emit_32(3271163904);
+emit_32(1093012449);
+emit_32(3267579911);
+emit_32(3270651937);
+emit_32(1092577332);
+emit_32(3267579911);
+emit_32(3270139970);
+emit_32(1093321674);
+emit_32(3267579911);
+emit_32(3269627871);
+emit_32(1093936035);
+emit_32(3267579911);
+emit_32(3269115904);
+emit_32(1093928170);
+emit_32(3267579911);
+emit_32(3268603937);
+emit_32(1094840746);
+emit_32(3267579911);
+emit_32(3268091970);
+emit_32(1094808555);
+emit_32(3267579911);
+emit_32(3267579911);
+emit_32(1096373764);
+emit_32(3267579911);
+emit_32(3267067904);
+emit_32(1099250323);
+emit_32(3267579911);
+emit_32(3266555911);
+emit_32(1100852966);
+emit_32(3267579911);
+emit_32(3266043904);
+emit_32(1102489846);
+emit_32(3267579911);
+emit_32(3265531911);
+emit_32(1104539655);
+emit_32(3267579911);
+emit_32(3265019904);
+emit_32(1105973058);
+emit_32(3267579911);
+emit_32(3264507911);
+emit_32(1106325275);
+emit_32(3267579911);
+emit_32(3263995904);
+emit_32(1107714664);
+emit_32(3267579911);
+emit_32(3263483911);
+emit_32(1108389003);
+emit_32(3267579911);
+emit_32(3262775296);
+emit_32(1108702606);
+emit_32(3267579911);
+emit_32(3261751309);
+emit_32(1109247787);
+emit_32(3267579911);
+emit_32(3260727296);
+emit_32(1109490349);
+emit_32(3267579911);
+emit_32(3259703309);
+emit_32(1110247866);
+emit_32(3267579911);
+emit_32(3258679296);
+emit_32(1110389712);
+emit_32(3267579911);
+emit_32(3257655309);
+emit_32(1110661425);
+emit_32(3267579911);
+emit_32(3256631296);
+emit_32(1111202018);
+emit_32(3267579911);
+emit_32(3255607309);
+emit_32(1111704260);
+emit_32(3267579911);
+emit_32(3254386688);
+emit_32(1112088275);
+emit_32(3267579911);
+emit_32(3252338714);
+emit_32(1111942549);
+emit_32(3267579911);
+emit_32(3250290688);
+emit_32(1111975579);
+emit_32(3267579911);
+emit_32(3248242714);
+emit_32(1111977309);
+emit_32(3267579911);
+emit_32(3245998080);
+emit_32(1111576202);
+emit_32(3267579911);
+emit_32(3241902132);
+emit_32(1111451789);
+emit_32(3267579911);
+emit_32(3237609472);
+emit_32(1111316601);
+emit_32(3267579911);
+emit_32(3229220864);
+emit_32(1111007166);
+emit_32(3267579911);
+emit_32(0);
+emit_32(1110677022);
+emit_32(3267579911);
+emit_32(1081737216);
+emit_32(1110694612);
+emit_32(3267579911);
+emit_32(3279552512);
+emit_32(1101546599);
+emit_32(3268091970);
+emit_32(3279296528);
+emit_32(1102626423);
+emit_32(3268091970);
+emit_32(3279040545);
+emit_32(1103845864);
+emit_32(3268091970);
+emit_32(3278784496);
+emit_32(1104837345);
+emit_32(3268091970);
+emit_32(3278528512);
+emit_32(1104581650);
+emit_32(3268091970);
+emit_32(3278272528);
+emit_32(1104347136);
+emit_32(3268091970);
+emit_32(3278016545);
+emit_32(1104555173);
+emit_32(3268091970);
+emit_32(3277760496);
+emit_32(1103817186);
+emit_32(3268091970);
+emit_32(3277504512);
+emit_32(1102977119);
+emit_32(3268091970);
+emit_32(3277248528);
+emit_32(1101762816);
+emit_32(3268091970);
+emit_32(3276992545);
+emit_32(1100889928);
+emit_32(3268091970);
+emit_32(3276736496);
+emit_32(1100508824);
+emit_32(3268091970);
+emit_32(3276480512);
+emit_32(1100799646);
+emit_32(3268091970);
+emit_32(3276224528);
+emit_32(1100611741);
+emit_32(3268091970);
+emit_32(3275968545);
+emit_32(1099998639);
+emit_32(3268091970);
+emit_32(3275712496);
+emit_32(1099825152);
+emit_32(3268091970);
+emit_32(3275456512);
+emit_32(1099499674);
+emit_32(3268091970);
+emit_32(3275200528);
+emit_32(1099020422);
+emit_32(3268091970);
+emit_32(3274944545);
+emit_32(1098795241);
+emit_32(3268091970);
+emit_32(3274688496);
+emit_32(1097320733);
+emit_32(3268091970);
+emit_32(3274432512);
+emit_32(1096709728);
+emit_32(3268091970);
+emit_32(3274176528);
+emit_32(1095004848);
+emit_32(3268091970);
+emit_32(3273920545);
+emit_32(1094273362);
+emit_32(3268091970);
+emit_32(3273664496);
+emit_32(1094729282);
+emit_32(3268091970);
+emit_32(3273408512);
+emit_32(1094410620);
+emit_32(3268091970);
+emit_32(3273152528);
+emit_32(1093402205);
+emit_32(3268091970);
+emit_32(3272896545);
+emit_32(1092271431);
+emit_32(3268091970);
+emit_32(3272640496);
+emit_32(1092329176);
+emit_32(3268091970);
+emit_32(3272384512);
+emit_32(1092614609);
+emit_32(3268091970);
+emit_32(3272128528);
+emit_32(1093144674);
+emit_32(3268091970);
+emit_32(3271872545);
+emit_32(1093760922);
+emit_32(3268091970);
+emit_32(3271616496);
+emit_32(1093140165);
+emit_32(3268091970);
+emit_32(3271163904);
+emit_32(1091696654);
+emit_32(3268091970);
+emit_32(3270651937);
+emit_32(1090884374);
+emit_32(3268091970);
+emit_32(3270139970);
+emit_32(1091484506);
+emit_32(3268091970);
+emit_32(3269627871);
+emit_32(1092037976);
+emit_32(3268091970);
+emit_32(3269115904);
+emit_32(1093188295);
+emit_32(3268091970);
+emit_32(3268603937);
+emit_32(1093395808);
+emit_32(3268091970);
+emit_32(3268091970);
+emit_32(1094337220);
+emit_32(3268091970);
+emit_32(3267579911);
+emit_32(1097044643);
+emit_32(3268091970);
+emit_32(3267067904);
+emit_32(1099465543);
+emit_32(3268091970);
+emit_32(3266555911);
+emit_32(1101317433);
+emit_32(3268091970);
+emit_32(3266043904);
+emit_32(1102556745);
+emit_32(3268091970);
+emit_32(3265531911);
+emit_32(1104196718);
+emit_32(3268091970);
+emit_32(3265019904);
+emit_32(1105380036);
+emit_32(3268091970);
+emit_32(3264507911);
+emit_32(1106482194);
+emit_32(3268091970);
+emit_32(3263995904);
+emit_32(1107758783);
+emit_32(3268091970);
+emit_32(3263483911);
+emit_32(1108425415);
+emit_32(3268091970);
+emit_32(3262775296);
+emit_32(1108887024);
+emit_32(3268091970);
+emit_32(3261751309);
+emit_32(1109173128);
+emit_32(3268091970);
+emit_32(3260727296);
+emit_32(1109482432);
+emit_32(3268091970);
+emit_32(3259703309);
+emit_32(1109785208);
+emit_32(3268091970);
+emit_32(3258679296);
+emit_32(1110180600);
+emit_32(3268091970);
+emit_32(3257655309);
+emit_32(1110663076);
+emit_32(3268091970);
+emit_32(3256631296);
+emit_32(1111283309);
+emit_32(3268091970);
+emit_32(3255607309);
+emit_32(1111318829);
+emit_32(3268091970);
+emit_32(3254386688);
+emit_32(1111804844);
+emit_32(3268091970);
+emit_32(3252338714);
+emit_32(1111712072);
+emit_32(3268091970);
+emit_32(3250290688);
+emit_32(1111394877);
+emit_32(3268091970);
+emit_32(3248242714);
+emit_32(1111473652);
+emit_32(3268091970);
+emit_32(3245998080);
+emit_32(1111266139);
+emit_32(3268091970);
+emit_32(3241902132);
+emit_32(1110947660);
+emit_32(3268091970);
+emit_32(3237609472);
+emit_32(1111203722);
+emit_32(3268091970);
+emit_32(3229220864);
+emit_32(1110998647);
+emit_32(3268091970);
+emit_32(0);
+emit_32(1110773727);
+emit_32(3268091970);
+emit_32(1081737216);
+emit_32(1110581209);
+emit_32(3268091970);
+emit_32(3279552512);
+emit_32(1103102267);
+emit_32(3268603937);
+emit_32(3279296528);
+emit_32(1104534831);
+emit_32(3268603937);
+emit_32(3279040545);
+emit_32(1105424810);
+emit_32(3268603937);
+emit_32(3278784496);
+emit_32(1105745989);
+emit_32(3268603937);
+emit_32(3278528512);
+emit_32(1105282046);
+emit_32(3268603937);
+emit_32(3278272528);
+emit_32(1105208436);
+emit_32(3268603937);
+emit_32(3278016545);
+emit_32(1104906394);
+emit_32(3268603937);
+emit_32(3277760496);
+emit_32(1104679063);
+emit_32(3268603937);
+emit_32(3277504512);
+emit_32(1103607680);
+emit_32(3268603937);
+emit_32(3277248528);
+emit_32(1102510188);
+emit_32(3268603937);
+emit_32(3276992545);
+emit_32(1101765385);
+emit_32(3268603937);
+emit_32(3276736496);
+emit_32(1101636986);
+emit_32(3268603937);
+emit_32(3276480512);
+emit_32(1101430207);
+emit_32(3268603937);
+emit_32(3276224528);
+emit_32(1101386534);
+emit_32(3268603937);
+emit_32(3275968545);
+emit_32(1100866283);
+emit_32(3268603937);
+emit_32(3275712496);
+emit_32(1100204370);
+emit_32(3268603937);
+emit_32(3275456512);
+emit_32(1099530240);
+emit_32(3268603937);
+emit_32(3275200528);
+emit_32(1098318663);
+emit_32(3268603937);
+emit_32(3274944545);
+emit_32(1096968831);
+emit_32(3268603937);
+emit_32(3274688496);
+emit_32(1096686764);
+emit_32(3268603937);
+emit_32(3274432512);
+emit_32(1095657901);
+emit_32(3268603937);
+emit_32(3274176528);
+emit_32(1093922718);
+emit_32(3268603937);
+emit_32(3273920545);
+emit_32(1093799720);
+emit_32(3268603937);
+emit_32(3273664496);
+emit_32(1093400527);
+emit_32(3268603937);
+emit_32(3273408512);
+emit_32(1094189371);
+emit_32(3268603937);
+emit_32(3273152528);
+emit_32(1093002383);
+emit_32(3268603937);
+emit_32(3272896545);
+emit_32(1092483505);
+emit_32(3268603937);
+emit_32(3272640496);
+emit_32(1092251707);
+emit_32(3268603937);
+emit_32(3272384512);
+emit_32(1090906562);
+emit_32(3268603937);
+emit_32(3272128528);
+emit_32(1091695983);
+emit_32(3268603937);
+emit_32(3271872545);
+emit_32(1092003666);
+emit_32(3268603937);
+emit_32(3271616496);
+emit_32(1091543866);
+emit_32(3268603937);
+emit_32(3271163904);
+emit_32(1090300789);
+emit_32(3268603937);
+emit_32(3270651937);
+emit_32(1088844569);
+emit_32(3268603937);
+emit_32(3270139970);
+emit_32(1087660223);
+emit_32(3268603937);
+emit_32(3269627871);
+emit_32(1090808153);
+emit_32(3268603937);
+emit_32(3269115904);
+emit_32(1090929306);
+emit_32(3268603937);
+emit_32(3268603937);
+emit_32(1092294940);
+emit_32(3268603937);
+emit_32(3268091970);
+emit_32(1094951266);
+emit_32(3268603937);
+emit_32(3267579911);
+emit_32(1098255958);
+emit_32(3268603937);
+emit_32(3267067904);
+emit_32(1100042365);
+emit_32(3268603937);
+emit_32(3266555911);
+emit_32(1101461717);
+emit_32(3268603937);
+emit_32(3266043904);
+emit_32(1102844841);
+emit_32(3268603937);
+emit_32(3265531911);
+emit_32(1103734872);
+emit_32(3268603937);
+emit_32(3265019904);
+emit_32(1105122348);
+emit_32(3268603937);
+emit_32(3264507911);
+emit_32(1106689969);
+emit_32(3268603937);
+emit_32(3263995904);
+emit_32(1107793438);
+emit_32(3268603937);
+emit_32(3263483911);
+emit_32(1108426280);
+emit_32(3268603937);
+emit_32(3262775296);
+emit_32(1108850534);
+emit_32(3268603937);
+emit_32(3261751309);
+emit_32(1109340009);
+emit_32(3268603937);
+emit_32(3260727296);
+emit_32(1109539003);
+emit_32(3268603937);
+emit_32(3259703309);
+emit_32(1109953715);
+emit_32(3268603937);
+emit_32(3258679296);
+emit_32(1110117502);
+emit_32(3268603937);
+emit_32(3257655309);
+emit_32(1110591485);
+emit_32(3268603937);
+emit_32(3256631296);
+emit_32(1111088562);
+emit_32(3268603937);
+emit_32(3255607309);
+emit_32(1111126206);
+emit_32(3268603937);
+emit_32(3254386688);
+emit_32(1111259559);
+emit_32(3268603937);
+emit_32(3252338714);
+emit_32(1111504191);
+emit_32(3268603937);
+emit_32(3250290688);
+emit_32(1111434068);
+emit_32(3268603937);
+emit_32(3248242714);
+emit_32(1111442299);
+emit_32(3268603937);
+emit_32(3245998080);
+emit_32(1111170010);
+emit_32(3268603937);
+emit_32(3241902132);
+emit_32(1110967137);
+emit_32(3268603937);
+emit_32(3237609472);
+emit_32(1111303415);
+emit_32(3268603937);
+emit_32(3229220864);
+emit_32(1111224012);
+emit_32(3268603937);
+emit_32(0);
+emit_32(1110873788);
+emit_32(3268603937);
+emit_32(1081737216);
+emit_32(1110663915);
+emit_32(3268603937);
+emit_32(3279552512);
+emit_32(1104677595);
+emit_32(3269115904);
+emit_32(3279296528);
+emit_32(1105454590);
+emit_32(3269115904);
+emit_32(3279040545);
+emit_32(1106154304);
+emit_32(3269115904);
+emit_32(3278784496);
+emit_32(1106277093);
+emit_32(3269115904);
+emit_32(3278528512);
+emit_32(1105875016);
+emit_32(3269115904);
+emit_32(3278272528);
+emit_32(1106034452);
+emit_32(3269115904);
+emit_32(3278016545);
+emit_32(1105655077);
+emit_32(3269115904);
+emit_32(3277760496);
+emit_32(1104930721);
+emit_32(3269115904);
+emit_32(3277504512);
+emit_32(1104001892);
+emit_32(3269115904);
+emit_32(3277248528);
+emit_32(1103101166);
+emit_32(3269115904);
+emit_32(3276992545);
+emit_32(1102785177);
+emit_32(3269115904);
+emit_32(3276736496);
+emit_32(1102764678);
+emit_32(3269115904);
+emit_32(3276480512);
+emit_32(1102751256);
+emit_32(3269115904);
+emit_32(3276224528);
+emit_32(1102164210);
+emit_32(3269115904);
+emit_32(3275968545);
+emit_32(1101552786);
+emit_32(3269115904);
+emit_32(3275712496);
+emit_32(1101117679);
+emit_32(3269115904);
+emit_32(3275456512);
+emit_32(1100386245);
+emit_32(3269115904);
+emit_32(3275200528);
+emit_32(1099326974);
+emit_32(3269115904);
+emit_32(3274944545);
+emit_32(1098796709);
+emit_32(3269115904);
+emit_32(3274688496);
+emit_32(1097716256);
+emit_32(3269115904);
+emit_32(3274432512);
+emit_32(1095916585);
+emit_32(3269115904);
+emit_32(3274176528);
+emit_32(1095486669);
+emit_32(3269115904);
+emit_32(3273920545);
+emit_32(1093398010);
+emit_32(3269115904);
+emit_32(3273664496);
+emit_32(1092921118);
+emit_32(3269115904);
+emit_32(3273408512);
+emit_32(1092252829);
+emit_32(3269115904);
+emit_32(3273152528);
+emit_32(1092749676);
+emit_32(3269115904);
+emit_32(3272896545);
+emit_32(1092530481);
+emit_32(3269115904);
+emit_32(3272640496);
+emit_32(1091486131);
+emit_32(3269115904);
+emit_32(3272384512);
+emit_32(1090876730);
+emit_32(3269115904);
+emit_32(3272128528);
+emit_32(1090142454);
+emit_32(3269115904);
+emit_32(3271872545);
+emit_32(1088793147);
+emit_32(3269115904);
+emit_32(3271616496);
+emit_32(1089015130);
+emit_32(3269115904);
+emit_32(3271163904);
+emit_32(1088303693);
+emit_32(3269115904);
+emit_32(3270651937);
+emit_32(1087535674);
+emit_32(3269115904);
+emit_32(3270139970);
+emit_32(1085670299);
+emit_32(3269115904);
+emit_32(3269627871);
+emit_32(1085625420);
+emit_32(3269115904);
+emit_32(3269115904);
+emit_32(1088308013);
+emit_32(3269115904);
+emit_32(3268603937);
+emit_32(1092417340);
+emit_32(3269115904);
+emit_32(3268091970);
+emit_32(1095410752);
+emit_32(3269115904);
+emit_32(3267579911);
+emit_32(1098094582);
+emit_32(3269115904);
+emit_32(3267067904);
+emit_32(1100161430);
+emit_32(3269115904);
+emit_32(3266555911);
+emit_32(1101552891);
+emit_32(3269115904);
+emit_32(3266043904);
+emit_32(1102765307);
+emit_32(3269115904);
+emit_32(3265531911);
+emit_32(1103641549);
+emit_32(3269115904);
+emit_32(3265019904);
+emit_32(1105704360);
+emit_32(3269115904);
+emit_32(3264507911);
+emit_32(1107288811);
+emit_32(3269115904);
+emit_32(3263995904);
+emit_32(1107972981);
+emit_32(3269115904);
+emit_32(3263483911);
+emit_32(1108646167);
+emit_32(3269115904);
+emit_32(3262775296);
+emit_32(1109009918);
+emit_32(3269115904);
+emit_32(3261751309);
+emit_32(1109314581);
+emit_32(3269115904);
+emit_32(3260727296);
+emit_32(1109742427);
+emit_32(3269115904);
+emit_32(3259703309);
+emit_32(1110003653);
+emit_32(3269115904);
+emit_32(3258679296);
+emit_32(1110284435);
+emit_32(3269115904);
+emit_32(3257655309);
+emit_32(1110677153);
+emit_32(3269115904);
+emit_32(3256631296);
+emit_32(1111084630);
+emit_32(3269115904);
+emit_32(3255607309);
+emit_32(1111141489);
+emit_32(3269115904);
+emit_32(3254386688);
+emit_32(1111299090);
+emit_32(3269115904);
+emit_32(3252338714);
+emit_32(1111545138);
+emit_32(3269115904);
+emit_32(3250290688);
+emit_32(1111299378);
+emit_32(3269115904);
+emit_32(3248242714);
+emit_32(1111477977);
+emit_32(3269115904);
+emit_32(3245998080);
+emit_32(1111335580);
+emit_32(3269115904);
+emit_32(3241902132);
+emit_32(1111332776);
+emit_32(3269115904);
+emit_32(3237609472);
+emit_32(1111510640);
+emit_32(3269115904);
+emit_32(3229220864);
+emit_32(1111358806);
+emit_32(3269115904);
+emit_32(0);
+emit_32(1111013904);
+emit_32(3269115904);
+emit_32(1081737216);
+emit_32(1110808645);
+emit_32(3269115904);
+emit_32(3279552512);
+emit_32(1105473988);
+emit_32(3269627871);
+emit_32(3279296528);
+emit_32(1106406644);
+emit_32(3269627871);
+emit_32(3279040545);
+emit_32(1106900052);
+emit_32(3269627871);
+emit_32(3278784496);
+emit_32(1106631983);
+emit_32(3269627871);
+emit_32(3278528512);
+emit_32(1106899527);
+emit_32(3269627871);
+emit_32(3278272528);
+emit_32(1107077575);
+emit_32(3269627871);
+emit_32(3278016545);
+emit_32(1106405386);
+emit_32(3269627871);
+emit_32(3277760496);
+emit_32(1105322207);
+emit_32(3269627871);
+emit_32(3277504512);
+emit_32(1104051752);
+emit_32(3269627871);
+emit_32(3277248528);
+emit_32(1103820331);
+emit_32(3269627871);
+emit_32(3276992545);
+emit_32(1103544189);
+emit_32(3269627871);
+emit_32(3276736496);
+emit_32(1104020714);
+emit_32(3269627871);
+emit_32(3276480512);
+emit_32(1104151629);
+emit_32(3269627871);
+emit_32(3276224528);
+emit_32(1103575069);
+emit_32(3269627871);
+emit_32(3275968545);
+emit_32(1102962911);
+emit_32(3269627871);
+emit_32(3275712496);
+emit_32(1102032824);
+emit_32(3269627871);
+emit_32(3275456512);
+emit_32(1101115320);
+emit_32(3269627871);
+emit_32(3275200528);
+emit_32(1100461113);
+emit_32(3269627871);
+emit_32(3274944545);
+emit_32(1099847644);
+emit_32(3269627871);
+emit_32(3274688496);
+emit_32(1099097702);
+emit_32(3269627871);
+emit_32(3274432512);
+emit_32(1097494692);
+emit_32(3269627871);
+emit_32(3274176528);
+emit_32(1096228851);
+emit_32(3269627871);
+emit_32(3273920545);
+emit_32(1094225966);
+emit_32(3269627871);
+emit_32(3273664496);
+emit_32(1093095391);
+emit_32(3269627871);
+emit_32(3273408512);
+emit_32(1092478294);
+emit_32(3269627871);
+emit_32(3273152528);
+emit_32(1092368508);
+emit_32(3269627871);
+emit_32(3272896545);
+emit_32(1091995425);
+emit_32(3269627871);
+emit_32(3272640496);
+emit_32(1090918526);
+emit_32(3269627871);
+emit_32(3272384512);
+emit_32(1090551315);
+emit_32(3269627871);
+emit_32(3272128528);
+emit_32(1089373156);
+emit_32(3269627871);
+emit_32(3271872545);
+emit_32(1087003689);
+emit_32(3269627871);
+emit_32(3271616496);
+emit_32(1086132763);
+emit_32(3269627871);
+emit_32(3271163904);
+emit_32(1085152973);
+emit_32(3269627871);
+emit_32(3270651937);
+emit_32(1085347149);
+emit_32(3269627871);
+emit_32(3270139970);
+emit_32(1084963286);
+emit_32(3269627871);
+emit_32(3269627871);
+emit_32(1086623454);
+emit_32(3269627871);
+emit_32(3269115904);
+emit_32(1089942512);
+emit_32(3269627871);
+emit_32(3268603937);
+emit_32(1092605381);
+emit_32(3269627871);
+emit_32(3268091970);
+emit_32(1095649093);
+emit_32(3269627871);
+emit_32(3267579911);
+emit_32(1098551656);
+emit_32(3269627871);
+emit_32(3267067904);
+emit_32(1100188326);
+emit_32(3269627871);
+emit_32(3266555911);
+emit_32(1101247703);
+emit_32(3269627871);
+emit_32(3266043904);
+emit_32(1102236038);
+emit_32(3269627871);
+emit_32(3265531911);
+emit_32(1104015996);
+emit_32(3269627871);
+emit_32(3265019904);
+emit_32(1106019562);
+emit_32(3269627871);
+emit_32(3264507911);
+emit_32(1107489640);
+emit_32(3269627871);
+emit_32(3263995904);
+emit_32(1107939269);
+emit_32(3269627871);
+emit_32(3263483911);
+emit_32(1108609493);
+emit_32(3269627871);
+emit_32(3262775296);
+emit_32(1108936360);
+emit_32(3269627871);
+emit_32(3261751309);
+emit_32(1109365909);
+emit_32(3269627871);
+emit_32(3260727296);
+emit_32(1109731836);
+emit_32(3269627871);
+emit_32(3259703309);
+emit_32(1110075454);
+emit_32(3269627871);
+emit_32(3258679296);
+emit_32(1110274841);
+emit_32(3269627871);
+emit_32(3257655309);
+emit_32(1110532397);
+emit_32(3269627871);
+emit_32(3256631296);
+emit_32(1110820677);
+emit_32(3269627871);
+emit_32(3255607309);
+emit_32(1110970388);
+emit_32(3269627871);
+emit_32(3254386688);
+emit_32(1111402270);
+emit_32(3269627871);
+emit_32(3252338714);
+emit_32(1111410187);
+emit_32(3269627871);
+emit_32(3250290688);
+emit_32(1111092730);
+emit_32(3269627871);
+emit_32(3248242714);
+emit_32(1111561549);
+emit_32(3269627871);
+emit_32(3245998080);
+emit_32(1111622576);
+emit_32(3269627871);
+emit_32(3241902132);
+emit_32(1111406543);
+emit_32(3269627871);
+emit_32(3237609472);
+emit_32(1111614869);
+emit_32(3269627871);
+emit_32(3229220864);
+emit_32(1111623991);
+emit_32(3269627871);
+emit_32(0);
+emit_32(1111334244);
+emit_32(3269627871);
+emit_32(1081737216);
+emit_32(1111356054);
+emit_32(3269627871);
+emit_32(3279552512);
+emit_32(1106615049);
+emit_32(3270139970);
+emit_32(3279296528);
+emit_32(1107119309);
+emit_32(3270139970);
+emit_32(3279040545);
+emit_32(1107204296);
+emit_32(3270139970);
+emit_32(3278784496);
+emit_32(1107426043);
+emit_32(3270139970);
+emit_32(3278528512);
+emit_32(1107651514);
+emit_32(3270139970);
+emit_32(3278272528);
+emit_32(1107492104);
+emit_32(3270139970);
+emit_32(3278016545);
+emit_32(1106671934);
+emit_32(3270139970);
+emit_32(3277760496);
+emit_32(1105363468);
+emit_32(3270139970);
+emit_32(3277504512);
+emit_32(1104722631);
+emit_32(3270139970);
+emit_32(3277248528);
+emit_32(1104684463);
+emit_32(3270139970);
+emit_32(3276992545);
+emit_32(1104973765);
+emit_32(3270139970);
+emit_32(3276736496);
+emit_32(1105162981);
+emit_32(3270139970);
+emit_32(3276480512);
+emit_32(1105246762);
+emit_32(3270139970);
+emit_32(3276224528);
+emit_32(1104513126);
+emit_32(3270139970);
+emit_32(3275968545);
+emit_32(1103992350);
+emit_32(3270139970);
+emit_32(3275712496);
+emit_32(1103134301);
+emit_32(3270139970);
+emit_32(3275456512);
+emit_32(1102130761);
+emit_32(3270139970);
+emit_32(3275200528);
+emit_32(1101510214);
+emit_32(3270139970);
+emit_32(3274944545);
+emit_32(1100554804);
+emit_32(3270139970);
+emit_32(3274688496);
+emit_32(1100005560);
+emit_32(3270139970);
+emit_32(3274432512);
+emit_32(1099090258);
+emit_32(3270139970);
+emit_32(3274176528);
+emit_32(1096702388);
+emit_32(3270139970);
+emit_32(3273920545);
+emit_32(1094929875);
+emit_32(3270139970);
+emit_32(3273664496);
+emit_32(1093071903);
+emit_32(3270139970);
+emit_32(3273408512);
+emit_32(1091864185);
+emit_32(3270139970);
+emit_32(3273152528);
+emit_32(1090738538);
+emit_32(3270139970);
+emit_32(3272896545);
+emit_32(1089872215);
+emit_32(3270139970);
+emit_32(3272640496);
+emit_32(1088532009);
+emit_32(3270139970);
+emit_32(3272384512);
+emit_32(1087136019);
+emit_32(3270139970);
+emit_32(3272128528);
+emit_32(1086091155);
+emit_32(3270139970);
+emit_32(3271872545);
+emit_32(1083137212);
+emit_32(3270139970);
+emit_32(3271616496);
+emit_32(1082194374);
+emit_32(3270139970);
+emit_32(3271163904);
+emit_32(1084156344);
+emit_32(3270139970);
+emit_32(3270651937);
+emit_32(1086494710);
+emit_32(3270139970);
+emit_32(3270139970);
+emit_32(1087925178);
+emit_32(3270139970);
+emit_32(3269627871);
+emit_32(1089283545);
+emit_32(3270139970);
+emit_32(3269115904);
+emit_32(1089544493);
+emit_32(3270139970);
+emit_32(3268603937);
+emit_32(1092490552);
+emit_32(3270139970);
+emit_32(3268091970);
+emit_32(1094596637);
+emit_32(3270139970);
+emit_32(3267579911);
+emit_32(1097303536);
+emit_32(3270139970);
+emit_32(3267067904);
+emit_32(1099546598);
+emit_32(3270139970);
+emit_32(3266555911);
+emit_32(1101122293);
+emit_32(3270139970);
+emit_32(3266043904);
+emit_32(1102198394);
+emit_32(3270139970);
+emit_32(3265531911);
+emit_32(1104133751);
+emit_32(3270139970);
+emit_32(3265019904);
+emit_32(1105876641);
+emit_32(3270139970);
+emit_32(3264507911);
+emit_32(1107287081);
+emit_32(3270139970);
+emit_32(3263995904);
+emit_32(1107840362);
+emit_32(3270139970);
+emit_32(3263483911);
+emit_32(1108323913);
+emit_32(3270139970);
+emit_32(3262775296);
+emit_32(1108846340);
+emit_32(3270139970);
+emit_32(3261751309);
+emit_32(1109191243);
+emit_32(3270139970);
+emit_32(3260727296);
+emit_32(1109548335);
+emit_32(3270139970);
+emit_32(3259703309);
+emit_32(1110053775);
+emit_32(3270139970);
+emit_32(3258679296);
+emit_32(1110107410);
+emit_32(3270139970);
+emit_32(3257655309);
+emit_32(1110399726);
+emit_32(3270139970);
+emit_32(3256631296);
+emit_32(1110760515);
+emit_32(3270139970);
+emit_32(3255607309);
+emit_32(1110729294);
+emit_32(3270139970);
+emit_32(3254386688);
+emit_32(1110963755);
+emit_32(3270139970);
+emit_32(3252338714);
+emit_32(1110772128);
+emit_32(3270139970);
+emit_32(3250290688);
+emit_32(1110896358);
+emit_32(3270139970);
+emit_32(3248242714);
+emit_32(1111339775);
+emit_32(3270139970);
+emit_32(3245998080);
+emit_32(1111522542);
+emit_32(3270139970);
+emit_32(3241902132);
+emit_32(1111498739);
+emit_32(3270139970);
+emit_32(3237609472);
+emit_32(1111764002);
+emit_32(3270139970);
+emit_32(3229220864);
+emit_32(1111826209);
+emit_32(3270139970);
+emit_32(0);
+emit_32(1111701062);
+emit_32(3270139970);
+emit_32(1081737216);
+emit_32(1111592455);
+emit_32(3270139970);
+emit_32(3279552512);
+emit_32(1107165027);
+emit_32(3270651937);
+emit_32(3279296528);
+emit_32(1106980268);
+emit_32(3270651937);
+emit_32(3279040545);
+emit_32(1107315707);
+emit_32(3270651937);
+emit_32(3278784496);
+emit_32(1107598272);
+emit_32(3270651937);
+emit_32(3278528512);
+emit_32(1107717469);
+emit_32(3270651937);
+emit_32(3278272528);
+emit_32(1107286557);
+emit_32(3270651937);
+emit_32(3278016545);
+emit_32(1106402712);
+emit_32(3270651937);
+emit_32(3277760496);
+emit_32(1105497896);
+emit_32(3270651937);
+emit_32(3277504512);
+emit_32(1105374898);
+emit_32(3270651937);
+emit_32(3277248528);
+emit_32(1105640659);
+emit_32(3270651937);
+emit_32(3276992545);
+emit_32(1105948416);
+emit_32(3270651937);
+emit_32(3276736496);
+emit_32(1105871923);
+emit_32(3270651937);
+emit_32(3276480512);
+emit_32(1105415268);
+emit_32(3270651937);
+emit_32(3276224528);
+emit_32(1104908386);
+emit_32(3270651937);
+emit_32(3275968545);
+emit_32(1104625166);
+emit_32(3270651937);
+emit_32(3275712496);
+emit_32(1103529981);
+emit_32(3270651937);
+emit_32(3275456512);
+emit_32(1102284535);
+emit_32(3270651937);
+emit_32(3275200528);
+emit_32(1101814668);
+emit_32(3270651937);
+emit_32(3274944545);
+emit_32(1101354395);
+emit_32(3270651937);
+emit_32(3274688496);
+emit_32(1100467772);
+emit_32(3270651937);
+emit_32(3274432512);
+emit_32(1099331902);
+emit_32(3270651937);
+emit_32(3274176528);
+emit_32(1097334469);
+emit_32(3270651937);
+emit_32(3273920545);
+emit_32(1095774713);
+emit_32(3270651937);
+emit_32(3273664496);
+emit_32(1093969274);
+emit_32(3270651937);
+emit_32(3273408512);
+emit_32(1092236870);
+emit_32(3270651937);
+emit_32(3273152528);
+emit_32(1091177242);
+emit_32(3270651937);
+emit_32(3272896545);
+emit_32(1089194521);
+emit_32(3270651937);
+emit_32(3272640496);
+emit_32(1087253250);
+emit_32(3270651937);
+emit_32(3272384512);
+emit_32(1085293042);
+emit_32(3270651937);
+emit_32(3272128528);
+emit_32(1086332055);
+emit_32(3270651937);
+emit_32(3271872545);
+emit_32(1083552217);
+emit_32(3270651937);
+emit_32(3271616496);
+emit_32(1081840228);
+emit_32(3270651937);
+emit_32(3271163904);
+emit_32(1085052373);
+emit_32(3270651937);
+emit_32(3270651937);
+emit_32(1088324601);
+emit_32(3270651937);
+emit_32(3270139970);
+emit_32(1090526128);
+emit_32(3270651937);
+emit_32(3269627871);
+emit_32(1090035353);
+emit_32(3270651937);
+emit_32(3269115904);
+emit_32(1091146088);
+emit_32(3270651937);
+emit_32(3268603937);
+emit_32(1092321972);
+emit_32(3270651937);
+emit_32(3268091970);
+emit_32(1094166931);
+emit_32(3270651937);
+emit_32(3267579911);
+emit_32(1096361705);
+emit_32(3270651937);
+emit_32(3267067904);
+emit_32(1098923167);
+emit_32(3270651937);
+emit_32(3266555911);
+emit_32(1100222510);
+emit_32(3270651937);
+emit_32(3266043904);
+emit_32(1102327683);
+emit_32(3270651937);
+emit_32(3265531911);
+emit_32(1104008865);
+emit_32(3270651937);
+emit_32(3265019904);
+emit_32(1105745465);
+emit_32(3270651937);
+emit_32(3264507911);
+emit_32(1107240472);
+emit_32(3270651937);
+emit_32(3263995904);
+emit_32(1107738152);
+emit_32(3270651937);
+emit_32(3263483911);
+emit_32(1108317333);
+emit_32(3270651937);
+emit_32(3262775296);
+emit_32(1108718230);
+emit_32(3270651937);
+emit_32(3261751309);
+emit_32(1109166313);
+emit_32(3270651937);
+emit_32(3260727296);
+emit_32(1109572767);
+emit_32(3270651937);
+emit_32(3259703309);
+emit_32(1109886999);
+emit_32(3270651937);
+emit_32(3258679296);
+emit_32(1110175934);
+emit_32(3270651937);
+emit_32(3257655309);
+emit_32(1110012409);
+emit_32(3270651937);
+emit_32(3256631296);
+emit_32(1110458420);
+emit_32(3270651937);
+emit_32(3255607309);
+emit_32(1110277908);
+emit_32(3270651937);
+emit_32(3254386688);
+emit_32(1110242571);
+emit_32(3270651937);
+emit_32(3252338714);
+emit_32(1110493941);
+emit_32(3270651937);
+emit_32(3250290688);
+emit_32(1110776139);
+emit_32(3270651937);
+emit_32(3248242714);
+emit_32(1111135643);
+emit_32(3270651937);
+emit_32(3245998080);
+emit_32(1111317021);
+emit_32(3270651937);
+emit_32(3241902132);
+emit_32(1111525111);
+emit_32(3270651937);
+emit_32(3237609472);
+emit_32(1111847102);
+emit_32(3270651937);
+emit_32(3229220864);
+emit_32(1111929704);
+emit_32(3270651937);
+emit_32(0);
+emit_32(1111847364);
+emit_32(3270651937);
+emit_32(1081737216);
+emit_32(1111930149);
+emit_32(3270651937);
+emit_32(3279552512);
+emit_32(1106982994);
+emit_32(3271163904);
+emit_32(3279296528);
+emit_32(1106990334);
+emit_32(3271163904);
+emit_32(3279040545);
+emit_32(1107378569);
+emit_32(3271163904);
+emit_32(3278784496);
+emit_32(1107553734);
+emit_32(3271163904);
+emit_32(3278528512);
+emit_32(1107478761);
+emit_32(3271163904);
+emit_32(3278272528);
+emit_32(1106962389);
+emit_32(3271163904);
+emit_32(3278016545);
+emit_32(1105953607);
+emit_32(3271163904);
+emit_32(3277760496);
+emit_32(1105995497);
+emit_32(3271163904);
+emit_32(3277504512);
+emit_32(1105958325);
+emit_32(3271163904);
+emit_32(3277248528);
+emit_32(1106168041);
+emit_32(3271163904);
+emit_32(3276992545);
+emit_32(1106461590);
+emit_32(3271163904);
+emit_32(3276736496);
+emit_32(1106400248);
+emit_32(3271163904);
+emit_32(3276480512);
+emit_32(1105590904);
+emit_32(3271163904);
+emit_32(3276224528);
+emit_32(1105294315);
+emit_32(3271163904);
+emit_32(3275968545);
+emit_32(1104823661);
+emit_32(3271163904);
+emit_32(3275712496);
+emit_32(1103994185);
+emit_32(3271163904);
+emit_32(3275456512);
+emit_32(1102728764);
+emit_32(3271163904);
+emit_32(3275200528);
+emit_32(1102137996);
+emit_32(3271163904);
+emit_32(3274944545);
+emit_32(1101349782);
+emit_32(3271163904);
+emit_32(3274688496);
+emit_32(1100398356);
+emit_32(3271163904);
+emit_32(3274432512);
+emit_32(1099098489);
+emit_32(3271163904);
+emit_32(3274176528);
+emit_32(1097575747);
+emit_32(3271163904);
+emit_32(3273920545);
+emit_32(1095747135);
+emit_32(3271163904);
+emit_32(3273664496);
+emit_32(1094011427);
+emit_32(3271163904);
+emit_32(3273408512);
+emit_32(1092817099);
+emit_32(3271163904);
+emit_32(3273152528);
+emit_32(1090935010);
+emit_32(3271163904);
+emit_32(3272896545);
+emit_32(1086813205);
+emit_32(3271163904);
+emit_32(3272640496);
+emit_32(1085254874);
+emit_32(3271163904);
+emit_32(3272384512);
+emit_32(1084610859);
+emit_32(3271163904);
+emit_32(3272128528);
+emit_32(1085403226);
+emit_32(3271163904);
+emit_32(3271872545);
+emit_32(1085803741);
+emit_32(3271163904);
+emit_32(3271616496);
+emit_32(1084901902);
+emit_32(3271163904);
+emit_32(3271163904);
+emit_32(1086653402);
+emit_32(3271163904);
+emit_32(3270651937);
+emit_32(1089541201);
+emit_32(3271163904);
+emit_32(3270139970);
+emit_32(1090924587);
+emit_32(3271163904);
+emit_32(3269627871);
+emit_32(1091193002);
+emit_32(3271163904);
+emit_32(3269115904);
+emit_32(1091042709);
+emit_32(3271163904);
+emit_32(3268603937);
+emit_32(1091824318);
+emit_32(3271163904);
+emit_32(3268091970);
+emit_32(1094207721);
+emit_32(3271163904);
+emit_32(3267579911);
+emit_32(1096193199);
+emit_32(3271163904);
+emit_32(3267067904);
+emit_32(1098383045);
+emit_32(3271163904);
+emit_32(3266555911);
+emit_32(1099615542);
+emit_32(3271163904);
+emit_32(3266043904);
+emit_32(1101433038);
+emit_32(3271163904);
+emit_32(3265531911);
+emit_32(1103595045);
+emit_32(3271163904);
+emit_32(3265019904);
+emit_32(1105129950);
+emit_32(3271163904);
+emit_32(3264507911);
+emit_32(1106326061);
+emit_32(3271163904);
+emit_32(3263995904);
+emit_32(1107411652);
+emit_32(3271163904);
+emit_32(3263483911);
+emit_32(1107887050);
+emit_32(3271163904);
+emit_32(3262775296);
+emit_32(1108492236);
+emit_32(3271163904);
+emit_32(3261751309);
+emit_32(1109105757);
+emit_32(3271163904);
+emit_32(3260727296);
+emit_32(1109424656);
+emit_32(3271163904);
+emit_32(3259703309);
+emit_32(1109901784);
+emit_32(3271163904);
+emit_32(3258679296);
+emit_32(1109885321);
+emit_32(3271163904);
+emit_32(3257655309);
+emit_32(1109822564);
+emit_32(3271163904);
+emit_32(3256631296);
+emit_32(1109824163);
+emit_32(3271163904);
+emit_32(3255607309);
+emit_32(1109730315);
+emit_32(3271163904);
+emit_32(3254386688);
+emit_32(1109803113);
+emit_32(3271163904);
+emit_32(3252338714);
+emit_32(1109995186);
+emit_32(3271163904);
+emit_32(3250290688);
+emit_32(1110434618);
+emit_32(3271163904);
+emit_32(3248242714);
+emit_32(1111024783);
+emit_32(3271163904);
+emit_32(3245998080);
+emit_32(1111309785);
+emit_32(3271163904);
+emit_32(3241902132);
+emit_32(1111384208);
+emit_32(3271163904);
+emit_32(3237609472);
+emit_32(1111783952);
+emit_32(3271163904);
+emit_32(3229220864);
+emit_32(1111918930);
+emit_32(3271163904);
+emit_32(0);
+emit_32(1112106100);
+emit_32(3271163904);
+emit_32(1081737216);
+emit_32(1112094042);
+emit_32(3271163904);
+emit_start(Landscape06Vtx)
+emit_32(3279552512);
+emit_32(1085562023);
+emit_32(1131812880);
+emit_32(3279552512);
+emit_32(1090639836);
+emit_32(1132068864);
+emit_32(3279296528);
+emit_32(1088557385);
+emit_32(1131812880);
+emit_32(3279296528);
+emit_32(1092330749);
+emit_32(1132068864);
+emit_32(3279040545);
+emit_32(1092455865);
+emit_32(1131812880);
+emit_32(3279040545);
+emit_32(1094355780);
+emit_32(1132068864);
+emit_32(3278784496);
+emit_32(1095594567);
+emit_32(1131812880);
+emit_32(3278784496);
+emit_32(1095302539);
+emit_32(1132068864);
+emit_32(3278528512);
+emit_32(1096797808);
+emit_32(1131812880);
+emit_32(3278528512);
+emit_32(1095711379);
+emit_32(1132068864);
+emit_32(3278272528);
+emit_32(1098618136);
+emit_32(1131812880);
+emit_32(3278272528);
+emit_32(1098003041);
+emit_32(1132068864);
+emit_32(3278016545);
+emit_32(1099699061);
+emit_32(1131812880);
+emit_32(3278016545);
+emit_32(1099454009);
+emit_32(1132068864);
+emit_32(3277760496);
+emit_32(1100182821);
+emit_32(1131812880);
+emit_32(3277760496);
+emit_32(1099951977);
+emit_32(1132068864);
+emit_32(3277504512);
+emit_32(1100520096);
+emit_32(1131812880);
+emit_32(3277504512);
+emit_32(1100371355);
+emit_32(1132068864);
+emit_32(3277248528);
+emit_32(1100966579);
+emit_32(1131812880);
+emit_32(3277248528);
+emit_32(1100780352);
+emit_32(1132068864);
+emit_32(3276992545);
+emit_32(1100860306);
+emit_32(1131812880);
+emit_32(3276992545);
+emit_32(1101050203);
+emit_32(1132068864);
+emit_32(3276736496);
+emit_32(1100465622);
+emit_32(1131812880);
+emit_32(3276736496);
+emit_32(1100893074);
+emit_32(1132068864);
+emit_32(3276480512);
+emit_32(1100581280);
+emit_32(1131812880);
+emit_32(3276480512);
+emit_32(1101018641);
+emit_32(1132068864);
+emit_32(3276224528);
+emit_32(1099877895);
+emit_32(1131812880);
+emit_32(3276224528);
+emit_32(1100648651);
+emit_32(1132068864);
+emit_32(3275968545);
+emit_32(1098108633);
+emit_32(1131812880);
+emit_32(3275968545);
+emit_32(1099969017);
+emit_32(1132068864);
+emit_32(3275712496);
+emit_32(1097534433);
+emit_32(1131812880);
+emit_32(3275712496);
+emit_32(1099061736);
+emit_32(1132068864);
+emit_32(3275456512);
+emit_32(1095741263);
+emit_32(1131812880);
+emit_32(3275456512);
+emit_32(1097819121);
+emit_32(1132068864);
+emit_32(3275200528);
+emit_32(1094351061);
+emit_32(1131812880);
+emit_32(3275200528);
+emit_32(1095413373);
+emit_32(1132068864);
+emit_32(3274944545);
+emit_32(1095198940);
+emit_32(1131812880);
+emit_32(3274944545);
+emit_32(1096465724);
+emit_32(1132068864);
+emit_32(3274688496);
+emit_32(1095888378);
+emit_32(1131812880);
+emit_32(3274688496);
+emit_32(1097378510);
+emit_32(1132068864);
+emit_32(3274432512);
+emit_32(1096087503);
+emit_32(1131812880);
+emit_32(3274432512);
+emit_32(1098800064);
+emit_32(1132068864);
+emit_32(3274176528);
+emit_32(1096238288);
+emit_32(1131812880);
+emit_32(3274176528);
+emit_32(1098870004);
+emit_32(1132068864);
+emit_32(3273920545);
+emit_32(1096234303);
+emit_32(1131812880);
+emit_32(3273920545);
+emit_32(1098365115);
+emit_32(1132068864);
+emit_32(3273664496);
+emit_32(1097531182);
+emit_32(1131812880);
+emit_32(3273664496);
+emit_32(1097973681);
+emit_32(1132068864);
+emit_32(3273408512);
+emit_32(1096980680);
+emit_32(1131812880);
+emit_32(3273408512);
+emit_32(1097661835);
+emit_32(1132068864);
+emit_32(3273152528);
+emit_32(1096822135);
+emit_32(1131812880);
+emit_32(3273152528);
+emit_32(1097231709);
+emit_32(1132068864);
+emit_32(3272896545);
+emit_32(1095973103);
+emit_32(1131812880);
+emit_32(3272896545);
+emit_32(1097116261);
+emit_32(1132068864);
+emit_32(3272640496);
+emit_32(1095621621);
+emit_32(1131812880);
+emit_32(3272640496);
+emit_32(1096358035);
+emit_32(1132068864);
+emit_32(3272384512);
+emit_32(1095942380);
+emit_32(1131812880);
+emit_32(3272384512);
+emit_32(1097122133);
+emit_32(1132068864);
+emit_32(3272128528);
+emit_32(1095707289);
+emit_32(1131812880);
+emit_32(3272128528);
+emit_32(1097935303);
+emit_32(1132068864);
+emit_32(3271872545);
+emit_32(1096204524);
+emit_32(1131812880);
+emit_32(3271872545);
+emit_32(1097370855);
+emit_32(1132068864);
+emit_32(3271616496);
+emit_32(1096900883);
+emit_32(1131812880);
+emit_32(3271616496);
+emit_32(1098608280);
+emit_32(1132068864);
+emit_32(3271163904);
+emit_32(1096266285);
+emit_32(1131812880);
+emit_32(3271163904);
+emit_32(1098342256);
+emit_32(1132068864);
+emit_32(3270651937);
+emit_32(1095366397);
+emit_32(1131812880);
+emit_32(3270651937);
+emit_32(1098053793);
+emit_32(1132068864);
+emit_32(3270139970);
+emit_32(1094774581);
+emit_32(1131812880);
+emit_32(3270139970);
+emit_32(1098324640);
+emit_32(1132068864);
+emit_32(3269627871);
+emit_32(1095465488);
+emit_32(1131812880);
+emit_32(3269627871);
+emit_32(1098790417);
+emit_32(1132068864);
+emit_32(3269115904);
+emit_32(1095080136);
+emit_32(1131812880);
+emit_32(3269115904);
+emit_32(1098071199);
+emit_32(1132068864);
+emit_32(3268603937);
+emit_32(1095775027);
+emit_32(1131812880);
+emit_32(3268603937);
+emit_32(1098042258);
+emit_32(1132068864);
+emit_32(3268091970);
+emit_32(1096498335);
+emit_32(1131812880);
+emit_32(3268091970);
+emit_32(1097596823);
+emit_32(1132068864);
+emit_32(3267579911);
+emit_32(1096881170);
+emit_32(1131812880);
+emit_32(3267579911);
+emit_32(1097962986);
+emit_32(1132068864);
+emit_32(3267067904);
+emit_32(1096646604);
+emit_32(1131812880);
+emit_32(3267067904);
+emit_32(1097510525);
+emit_32(1132068864);
+emit_32(3266555911);
+emit_32(1097473930);
+emit_32(1131812880);
+emit_32(3266555911);
+emit_32(1096970614);
+emit_32(1132068864);
+emit_32(3266043904);
+emit_32(1096072928);
+emit_32(1131812880);
+emit_32(3266043904);
+emit_32(1096851181);
+emit_32(1132068864);
+emit_32(3265531911);
+emit_32(1095562061);
+emit_32(1131812880);
+emit_32(3265531911);
+emit_32(1096578341);
+emit_32(1132068864);
+emit_32(3265019904);
+emit_32(1094504258);
+emit_32(1131812880);
+emit_32(3265019904);
+emit_32(1095833747);
+emit_32(1132068864);
+emit_32(3264507911);
+emit_32(1094381679);
+emit_32(1131812880);
+emit_32(3264507911);
+emit_32(1095590058);
+emit_32(1132068864);
+emit_32(3263995904);
+emit_32(1093698952);
+emit_32(1131812880);
+emit_32(3263995904);
+emit_32(1095093872);
+emit_32(1132068864);
+emit_32(3263483911);
+emit_32(1094601146);
+emit_32(1131812880);
+emit_32(3263483911);
+emit_32(1093864941);
+emit_32(1132068864);
+emit_32(3262775296);
+emit_32(1093294516);
+emit_32(1131812880);
+emit_32(3262775296);
+emit_32(1092542435);
+emit_32(1132068864);
+emit_32(3261751309);
+emit_32(1091098766);
+emit_32(1131812880);
+emit_32(3261751309);
+emit_32(1091449232);
+emit_32(1132068864);
+emit_32(3260727296);
+emit_32(1088637685);
+emit_32(1131812880);
+emit_32(3260727296);
+emit_32(1089462705);
+emit_32(1132068864);
+emit_32(3259703309);
+emit_32(1088371137);
+emit_32(1131812880);
+emit_32(3259703309);
+emit_32(1086825892);
+emit_32(1132068864);
+emit_32(3258679296);
+emit_32(1090482591);
+emit_32(1131812880);
+emit_32(3258679296);
+emit_32(1088189482);
+emit_32(1132068864);
+emit_32(3257655309);
+emit_32(1091688768);
+emit_32(1131812880);
+emit_32(3257655309);
+emit_32(1089036752);
+emit_32(1132068864);
+emit_32(3256631296);
+emit_32(1091298897);
+emit_32(1131812880);
+emit_32(3256631296);
+emit_32(1088194704);
+emit_32(1132068864);
+emit_32(3255607309);
+emit_32(1089392345);
+emit_32(1131812880);
+emit_32(3255607309);
+emit_32(1087706759);
+emit_32(1132068864);
+emit_32(3254386688);
+emit_32(1089840108);
+emit_32(1131812880);
+emit_32(3254386688);
+emit_32(1087906072);
+emit_32(1132068864);
+emit_32(3252338714);
+emit_32(1088432604);
+emit_32(1131812880);
+emit_32(3252338714);
+emit_32(1086651325);
+emit_32(1132068864);
+emit_32(3250290688);
+emit_32(1085565840);
+emit_32(1131812880);
+emit_32(3250290688);
+emit_32(1085752989);
+emit_32(1132068864);
+emit_32(3248242714);
+emit_32(1084476831);
+emit_32(1131812880);
+emit_32(3248242714);
+emit_32(1082147671);
+emit_32(1132068864);
+emit_32(3245998080);
+emit_32(1080454304);
+emit_32(1131812880);
+emit_32(3245998080);
+emit_32(1080053035);
+emit_32(1132068864);
+emit_32(3241902132);
+emit_32(1078160817);
+emit_32(1131812880);
+emit_32(3241902132);
+emit_32(1078352203);
+emit_32(1132068864);
+emit_32(3237609472);
+emit_32(1075763269);
+emit_32(1131812880);
+emit_32(3237609472);
+emit_32(1075673385);
+emit_32(1132068864);
+emit_32(3229220864);
+emit_32(1071152764);
+emit_32(1131812880);
+emit_32(3229220864);
+emit_32(1076050788);
+emit_32(1132068864);
+emit_32(0);
+emit_32(1066573591);
+emit_32(1131812880);
+emit_32(0);
+emit_32(1074500112);
+emit_32(1132068864);
+emit_32(1081737216);
+emit_32(1055384530);
+emit_32(1131812880);
+emit_32(1081737216);
+emit_32(1069740626);
+emit_32(1132068864);
+emit_32(3279552512);
+emit_32(1084680359);
+emit_32(1131556897);
+emit_32(3279296528);
+emit_32(1089160463);
+emit_32(1131556897);
+emit_32(3279040545);
+emit_32(1092855687);
+emit_32(1131556897);
+emit_32(3278784496);
+emit_32(1095505229);
+emit_32(1131556897);
+emit_32(3278528512);
+emit_32(1097158309);
+emit_32(1131556897);
+emit_32(3278272528);
+emit_32(1099096077);
+emit_32(1131556897);
+emit_32(3278016545);
+emit_32(1099862691);
+emit_32(1131556897);
+emit_32(3277760496);
+emit_32(1100235198);
+emit_32(1131556897);
+emit_32(3277504512);
+emit_32(1100353529);
+emit_32(1131556897);
+emit_32(3277248528);
+emit_32(1100744753);
+emit_32(1131556897);
+emit_32(3276992545);
+emit_32(1100450208);
+emit_32(1131556897);
+emit_32(3276736496);
+emit_32(1099944218);
+emit_32(1131556897);
+emit_32(3276480512);
+emit_32(1099578632);
+emit_32(1131556897);
+emit_32(3276224528);
+emit_32(1098095211);
+emit_32(1131556897);
+emit_32(3275968545);
+emit_32(1096681416);
+emit_32(1131556897);
+emit_32(3275712496);
+emit_32(1095628436);
+emit_32(1131556897);
+emit_32(3275456512);
+emit_32(1094488739);
+emit_32(1131556897);
+emit_32(3275200528);
+emit_32(1095225678);
+emit_32(1131556897);
+emit_32(3274944545);
+emit_32(1095742416);
+emit_32(1131556897);
+emit_32(3274688496);
+emit_32(1096313995);
+emit_32(1131556897);
+emit_32(3274432512);
+emit_32(1096609379);
+emit_32(1131556897);
+emit_32(3274176528);
+emit_32(1096643458);
+emit_32(1131556897);
+emit_32(3273920545);
+emit_32(1096377644);
+emit_32(1131556897);
+emit_32(3273664496);
+emit_32(1096630875);
+emit_32(1131556897);
+emit_32(3273408512);
+emit_32(1096367787);
+emit_32(1131556897);
+emit_32(3273152528);
+emit_32(1095764646);
+emit_32(1131556897);
+emit_32(3272896545);
+emit_32(1095369648);
+emit_32(1131556897);
+emit_32(3272640496);
+emit_32(1095202610);
+emit_32(1131556897);
+emit_32(3272384512);
+emit_32(1095378141);
+emit_32(1131556897);
+emit_32(3272128528);
+emit_32(1094896425);
+emit_32(1131556897);
+emit_32(3271872545);
+emit_32(1094491570);
+emit_32(1131556897);
+emit_32(3271616496);
+emit_32(1094140717);
+emit_32(1131556897);
+emit_32(3271163904);
+emit_32(1093673576);
+emit_32(1131556897);
+emit_32(3270651937);
+emit_32(1092775680);
+emit_32(1131556897);
+emit_32(3270139970);
+emit_32(1093246176);
+emit_32(1131556897);
+emit_32(3269627871);
+emit_32(1092835135);
+emit_32(1131556897);
+emit_32(3269115904);
+emit_32(1093700839);
+emit_32(1131556897);
+emit_32(3268603937);
+emit_32(1093815868);
+emit_32(1131556897);
+emit_32(3268091970);
+emit_32(1095128475);
+emit_32(1131556897);
+emit_32(3267579911);
+emit_32(1096138044);
+emit_32(1131556897);
+emit_32(3267067904);
+emit_32(1097063727);
+emit_32(1131556897);
+emit_32(3266555911);
+emit_32(1096790468);
+emit_32(1131556897);
+emit_32(3266043904);
+emit_32(1096105433);
+emit_32(1131556897);
+emit_32(3265531911);
+emit_32(1094675490);
+emit_32(1131556897);
+emit_32(3265019904);
+emit_32(1094279548);
+emit_32(1131556897);
+emit_32(3264507911);
+emit_32(1094433060);
+emit_32(1131556897);
+emit_32(3263995904);
+emit_32(1094244316);
+emit_32(1131556897);
+emit_32(3263483911);
+emit_32(1095101212);
+emit_32(1131556897);
+emit_32(3262775296);
+emit_32(1093870184);
+emit_32(1131556897);
+emit_32(3261751309);
+emit_32(1092196416);
+emit_32(1131556897);
+emit_32(3260727296);
+emit_32(1090926800);
+emit_32(1131556897);
+emit_32(3259703309);
+emit_32(1089315547);
+emit_32(1131556897);
+emit_32(3258679296);
+emit_32(1090882864);
+emit_32(1131556897);
+emit_32(3257655309);
+emit_32(1092302982);
+emit_32(1131556897);
+emit_32(3256631296);
+emit_32(1091679478);
+emit_32(1131556897);
+emit_32(3255607309);
+emit_32(1090777587);
+emit_32(1131556897);
+emit_32(3254386688);
+emit_32(1090588833);
+emit_32(1131556897);
+emit_32(3252338714);
+emit_32(1088391584);
+emit_32(1131556897);
+emit_32(3250290688);
+emit_32(1088187762);
+emit_32(1131556897);
+emit_32(3248242714);
+emit_32(1086074735);
+emit_32(1131556897);
+emit_32(3245998080);
+emit_32(1083035311);
+emit_32(1131556897);
+emit_32(3241902132);
+emit_32(1080697784);
+emit_32(1131556897);
+emit_32(3237609472);
+emit_32(1077335797);
+emit_32(1131556897);
+emit_32(3229220864);
+emit_32(1072342604);
+emit_32(1131556897);
+emit_32(0);
+emit_32(1073908380);
+emit_32(1131556897);
+emit_32(1081737216);
+emit_32(1074643096);
+emit_32(1131556897);
+emit_32(3279552512);
+emit_32(1085160041);
+emit_32(1131300848);
+emit_32(3279296528);
+emit_32(1090327885);
+emit_32(1131300848);
+emit_32(3279040545);
+emit_32(1093025976);
+emit_32(1131300848);
+emit_32(3278784496);
+emit_32(1095630848);
+emit_32(1131300848);
+emit_32(3278528512);
+emit_32(1097676095);
+emit_32(1131300848);
+emit_32(3278272528);
+emit_32(1099190973);
+emit_32(1131300848);
+emit_32(3278016545);
+emit_32(1099857081);
+emit_32(1131300848);
+emit_32(3277760496);
+emit_32(1100491260);
+emit_32(1131300848);
+emit_32(3277504512);
+emit_32(1100352848);
+emit_32(1131300848);
+emit_32(3277248528);
+emit_32(1100472753);
+emit_32(1131300848);
+emit_32(3276992545);
+emit_32(1100152989);
+emit_32(1131300848);
+emit_32(3276736496);
+emit_32(1099265684);
+emit_32(1131300848);
+emit_32(3276480512);
+emit_32(1098708314);
+emit_32(1131300848);
+emit_32(3276224528);
+emit_32(1096067580);
+emit_32(1131300848);
+emit_32(3275968545);
+emit_32(1096230633);
+emit_32(1131300848);
+emit_32(3275712496);
+emit_32(1096388025);
+emit_32(1131300848);
+emit_32(3275456512);
+emit_32(1094867799);
+emit_32(1131300848);
+emit_32(3275200528);
+emit_32(1096132172);
+emit_32(1131300848);
+emit_32(3274944545);
+emit_32(1097306682);
+emit_32(1131300848);
+emit_32(3274688496);
+emit_32(1097887069);
+emit_32(1131300848);
+emit_32(3274432512);
+emit_32(1097633838);
+emit_32(1131300848);
+emit_32(3274176528);
+emit_32(1098457389);
+emit_32(1131300848);
+emit_32(3273920545);
+emit_32(1097090466);
+emit_32(1131300848);
+emit_32(3273664496);
+emit_32(1096891446);
+emit_32(1131300848);
+emit_32(3273408512);
+emit_32(1095233962);
+emit_32(1131300848);
+emit_32(3273152528);
+emit_32(1094867799);
+emit_32(1131300848);
+emit_32(3272896545);
+emit_32(1094576295);
+emit_32(1131300848);
+emit_32(3272640496);
+emit_32(1093957845);
+emit_32(1131300848);
+emit_32(3272384512);
+emit_32(1093473193);
+emit_32(1131300848);
+emit_32(3272128528);
+emit_32(1093446664);
+emit_32(1131300848);
+emit_32(3271872545);
+emit_32(1093505489);
+emit_32(1131300848);
+emit_32(3271616496);
+emit_32(1092573494);
+emit_32(1131300848);
+emit_32(3271163904);
+emit_32(1092718533);
+emit_32(1131300848);
+emit_32(3270651937);
+emit_32(1091299642);
+emit_32(1131300848);
+emit_32(3270139970);
+emit_32(1091752270);
+emit_32(1131300848);
+emit_32(3269627871);
+emit_32(1092863027);
+emit_32(1131300848);
+emit_32(3269115904);
+emit_32(1093352607);
+emit_32(1131300848);
+emit_32(3268603937);
+emit_32(1094334389);
+emit_32(1131300848);
+emit_32(3268091970);
+emit_32(1095530080);
+emit_32(1131300848);
+emit_32(3267579911);
+emit_32(1096764359);
+emit_32(1131300848);
+emit_32(3267067904);
+emit_32(1096925944);
+emit_32(1131300848);
+emit_32(3266555911);
+emit_32(1096040107);
+emit_32(1131300848);
+emit_32(3266043904);
+emit_32(1094881536);
+emit_32(1131300848);
+emit_32(3265531911);
+emit_32(1094389753);
+emit_32(1131300848);
+emit_32(3265019904);
+emit_32(1094053370);
+emit_32(1131300848);
+emit_32(3264507911);
+emit_32(1094865283);
+emit_32(1131300848);
+emit_32(3263995904);
+emit_32(1095186461);
+emit_32(1131300848);
+emit_32(3263483911);
+emit_32(1095388208);
+emit_32(1131300848);
+emit_32(3262775296);
+emit_32(1094366475);
+emit_32(1131300848);
+emit_32(3261751309);
+emit_32(1093486930);
+emit_32(1131300848);
+emit_32(3260727296);
+emit_32(1091443444);
+emit_32(1131300848);
+emit_32(3259703309);
+emit_32(1090412169);
+emit_32(1131300848);
+emit_32(3258679296);
+emit_32(1091017376);
+emit_32(1131300848);
+emit_32(3257655309);
+emit_32(1091659503);
+emit_32(1131300848);
+emit_32(3256631296);
+emit_32(1091788813);
+emit_32(1131300848);
+emit_32(3255607309);
+emit_32(1091703155);
+emit_32(1131300848);
+emit_32(3254386688);
+emit_32(1091097539);
+emit_32(1131300848);
+emit_32(3252338714);
+emit_32(1090228501);
+emit_32(1131300848);
+emit_32(3250290688);
+emit_32(1089127831);
+emit_32(1131300848);
+emit_32(3248242714);
+emit_32(1087112238);
+emit_32(1131300848);
+emit_32(3245998080);
+emit_32(1085471698);
+emit_32(1131300848);
+emit_32(3241902132);
+emit_32(1083846552);
+emit_32(1131300848);
+emit_32(3237609472);
+emit_32(1082879010);
+emit_32(1131300848);
+emit_32(3229220864);
+emit_32(1080627152);
+emit_32(1131300848);
+emit_32(0);
+emit_32(1080885311);
+emit_32(1131300848);
+emit_32(1081737216);
+emit_32(1078120510);
+emit_32(1131300848);
+emit_32(3279552512);
+emit_32(1086174748);
+emit_32(1131044864);
+emit_32(3279296528);
+emit_32(1090628574);
+emit_32(1131044864);
+emit_32(3279040545);
+emit_32(1092984871);
+emit_32(1131044864);
+emit_32(3278784496);
+emit_32(1095235954);
+emit_32(1131044864);
+emit_32(3278528512);
+emit_32(1097962986);
+emit_32(1131044864);
+emit_32(3278272528);
+emit_32(1098907753);
+emit_32(1131044864);
+emit_32(3278016545);
+emit_32(1099567464);
+emit_32(1131044864);
+emit_32(3277760496);
+emit_32(1100053322);
+emit_32(1131044864);
+emit_32(3277504512);
+emit_32(1100365745);
+emit_32(1131044864);
+emit_32(3277248528);
+emit_32(1100199389);
+emit_32(1131044864);
+emit_32(3276992545);
+emit_32(1100122476);
+emit_32(1131044864);
+emit_32(3276736496);
+emit_32(1098964533);
+emit_32(1131044864);
+emit_32(3276480512);
+emit_32(1098061028);
+emit_32(1131044864);
+emit_32(3276224528);
+emit_32(1096998401);
+emit_32(1131044864);
+emit_32(3275968545);
+emit_32(1096347969);
+emit_32(1131044864);
+emit_32(3275712496);
+emit_32(1096743597);
+emit_32(1131044864);
+emit_32(3275456512);
+emit_32(1096079639);
+emit_32(1131044864);
+emit_32(3275200528);
+emit_32(1096454190);
+emit_32(1131044864);
+emit_32(3274944545);
+emit_32(1097972947);
+emit_32(1131044864);
+emit_32(3274688496);
+emit_32(1098482241);
+emit_32(1131044864);
+emit_32(3274432512);
+emit_32(1098243165);
+emit_32(1131044864);
+emit_32(3274176528);
+emit_32(1097818073);
+emit_32(1131044864);
+emit_32(3273920545);
+emit_32(1097259811);
+emit_32(1131044864);
+emit_32(3273664496);
+emit_32(1096971138);
+emit_32(1131044864);
+emit_32(3273408512);
+emit_32(1095776495);
+emit_32(1131044864);
+emit_32(3273152528);
+emit_32(1094346657);
+emit_32(1131044864);
+emit_32(3272896545);
+emit_32(1094305658);
+emit_32(1131044864);
+emit_32(3272640496);
+emit_32(1093779797);
+emit_32(1131044864);
+emit_32(3272384512);
+emit_32(1093535059);
+emit_32(1131044864);
+emit_32(3272128528);
+emit_32(1092859566);
+emit_32(1131044864);
+emit_32(3271872545);
+emit_32(1092315471);
+emit_32(1131044864);
+emit_32(3271616496);
+emit_32(1091613628);
+emit_32(1131044864);
+emit_32(3271163904);
+emit_32(1092129045);
+emit_32(1131044864);
+emit_32(3270651937);
+emit_32(1090623961);
+emit_32(1131044864);
+emit_32(3270139970);
+emit_32(1091745329);
+emit_32(1131044864);
+emit_32(3269627871);
+emit_32(1092278802);
+emit_32(1131044864);
+emit_32(3269115904);
+emit_32(1092897106);
+emit_32(1131044864);
+emit_32(3268603937);
+emit_32(1093630060);
+emit_32(1131044864);
+emit_32(3268091970);
+emit_32(1095021835);
+emit_32(1131044864);
+emit_32(3267579911);
+emit_32(1096071460);
+emit_32(1131044864);
+emit_32(3267067904);
+emit_32(1095859647);
+emit_32(1131044864);
+emit_32(3266555911);
+emit_32(1095186671);
+emit_32(1131044864);
+emit_32(3266043904);
+emit_32(1094964478);
+emit_32(1131044864);
+emit_32(3265531911);
+emit_32(1094463993);
+emit_32(1131044864);
+emit_32(3265019904);
+emit_32(1094678322);
+emit_32(1131044864);
+emit_32(3264507911);
+emit_32(1094959340);
+emit_32(1131044864);
+emit_32(3263995904);
+emit_32(1095934725);
+emit_32(1131044864);
+emit_32(3263483911);
+emit_32(1096292499);
+emit_32(1131044864);
+emit_32(3262775296);
+emit_32(1095947833);
+emit_32(1131044864);
+emit_32(3261751309);
+emit_32(1094626102);
+emit_32(1131044864);
+emit_32(3260727296);
+emit_32(1092638002);
+emit_32(1131044864);
+emit_32(3259703309);
+emit_32(1091654302);
+emit_32(1131044864);
+emit_32(3258679296);
+emit_32(1090981043);
+emit_32(1131044864);
+emit_32(3257655309);
+emit_32(1091856132);
+emit_32(1131044864);
+emit_32(3256631296);
+emit_32(1092849815);
+emit_32(1131044864);
+emit_32(3255607309);
+emit_32(1092381563);
+emit_32(1131044864);
+emit_32(3254386688);
+emit_32(1091755762);
+emit_32(1131044864);
+emit_32(3252338714);
+emit_32(1091392210);
+emit_32(1131044864);
+emit_32(3250290688);
+emit_32(1090522762);
+emit_32(1131044864);
+emit_32(3248242714);
+emit_32(1089201336);
+emit_32(1131044864);
+emit_32(3245998080);
+emit_32(1088158150);
+emit_32(1131044864);
+emit_32(3241902132);
+emit_32(1086827927);
+emit_32(1131044864);
+emit_32(3237609472);
+emit_32(1085289603);
+emit_32(1131044864);
+emit_32(3229220864);
+emit_32(1084371008);
+emit_32(1131044864);
+emit_32(0);
+emit_32(1084371155);
+emit_32(1131044864);
+emit_32(1081737216);
+emit_32(1084629524);
+emit_32(1131044864);
+emit_32(3279552512);
+emit_32(1084191198);
+emit_32(1130788880);
+emit_32(3279296528);
+emit_32(1090263187);
+emit_32(1130788880);
+emit_32(3279040545);
+emit_32(1093579624);
+emit_32(1130788880);
+emit_32(3278784496);
+emit_32(1095609772);
+emit_32(1130788880);
+emit_32(3278528512);
+emit_32(1097395392);
+emit_32(1130788880);
+emit_32(3278272528);
+emit_32(1098942775);
+emit_32(1130788880);
+emit_32(3278016545);
+emit_32(1099952973);
+emit_32(1130788880);
+emit_32(3277760496);
+emit_32(1100137051);
+emit_32(1130788880);
+emit_32(3277504512);
+emit_32(1100188117);
+emit_32(1130788880);
+emit_32(3277248528);
+emit_32(1100449631);
+emit_32(1130788880);
+emit_32(3276992545);
+emit_32(1099596091);
+emit_32(1130788880);
+emit_32(3276736496);
+emit_32(1098204263);
+emit_32(1130788880);
+emit_32(3276480512);
+emit_32(1098412510);
+emit_32(1130788880);
+emit_32(3276224528);
+emit_32(1097801505);
+emit_32(1130788880);
+emit_32(3275968545);
+emit_32(1096603507);
+emit_32(1130788880);
+emit_32(3275712496);
+emit_32(1095928224);
+emit_32(1130788880);
+emit_32(3275456512);
+emit_32(1096222035);
+emit_32(1130788880);
+emit_32(3275200528);
+emit_32(1097042546);
+emit_32(1130788880);
+emit_32(3274944545);
+emit_32(1097761554);
+emit_32(1130788880);
+emit_32(3274688496);
+emit_32(1098099720);
+emit_32(1130788880);
+emit_32(3274432512);
+emit_32(1097722862);
+emit_32(1130788880);
+emit_32(3274176528);
+emit_32(1096956563);
+emit_32(1130788880);
+emit_32(3273920545);
+emit_32(1096582850);
+emit_32(1130788880);
+emit_32(3273664496);
+emit_32(1095826303);
+emit_32(1130788880);
+emit_32(3273408512);
+emit_32(1095071538);
+emit_32(1130788880);
+emit_32(3273152528);
+emit_32(1094227434);
+emit_32(1130788880);
+emit_32(3272896545);
+emit_32(1094210132);
+emit_32(1130788880);
+emit_32(3272640496);
+emit_32(1093761027);
+emit_32(1130788880);
+emit_32(3272384512);
+emit_32(1093810520);
+emit_32(1130788880);
+emit_32(3272128528);
+emit_32(1092656772);
+emit_32(1130788880);
+emit_32(3271872545);
+emit_32(1091138738);
+emit_32(1130788880);
+emit_32(3271616496);
+emit_32(1089927035);
+emit_32(1130788880);
+emit_32(3271163904);
+emit_32(1089350360);
+emit_32(1130788880);
+emit_32(3270651937);
+emit_32(1090698210);
+emit_32(1130788880);
+emit_32(3270139970);
+emit_32(1090875577);
+emit_32(1130788880);
+emit_32(3269627871);
+emit_32(1091800075);
+emit_32(1130788880);
+emit_32(3269115904);
+emit_32(1092846354);
+emit_32(1130788880);
+emit_32(3268603937);
+emit_32(1094213173);
+emit_32(1130788880);
+emit_32(3268091970);
+emit_32(1095490444);
+emit_32(1130788880);
+emit_32(3267579911);
+emit_32(1095492331);
+emit_32(1130788880);
+emit_32(3267067904);
+emit_32(1095128475);
+emit_32(1130788880);
+emit_32(3266555911);
+emit_32(1094457387);
+emit_32(1130788880);
+emit_32(3266043904);
+emit_32(1093000915);
+emit_32(1130788880);
+emit_32(3265531911);
+emit_32(1092702700);
+emit_32(1130788880);
+emit_32(3265019904);
+emit_32(1094131489);
+emit_32(1130788880);
+emit_32(3264507911);
+emit_32(1094959759);
+emit_32(1130788880);
+emit_32(3263995904);
+emit_32(1096392743);
+emit_32(1130788880);
+emit_32(3263483911);
+emit_32(1097205809);
+emit_32(1130788880);
+emit_32(3262775296);
+emit_32(1096775893);
+emit_32(1130788880);
+emit_32(3261751309);
+emit_32(1095617217);
+emit_32(1130788880);
+emit_32(3260727296);
+emit_32(1094159591);
+emit_32(1130788880);
+emit_32(3259703309);
+emit_32(1092609701);
+emit_32(1130788880);
+emit_32(3258679296);
+emit_32(1091241058);
+emit_32(1130788880);
+emit_32(3257655309);
+emit_32(1092023201);
+emit_32(1130788880);
+emit_32(3256631296);
+emit_32(1093109862);
+emit_32(1130788880);
+emit_32(3255607309);
+emit_32(1093719399);
+emit_32(1130788880);
+emit_32(3254386688);
+emit_32(1093231077);
+emit_32(1130788880);
+emit_32(3252338714);
+emit_32(1093489761);
+emit_32(1130788880);
+emit_32(3250290688);
+emit_32(1092575423);
+emit_32(1130788880);
+emit_32(3248242714);
+emit_32(1091158975);
+emit_32(1130788880);
+emit_32(3245998080);
+emit_32(1089311227);
+emit_32(1130788880);
+emit_32(3241902132);
+emit_32(1087230748);
+emit_32(1130788880);
+emit_32(3237609472);
+emit_32(1087094936);
+emit_32(1130788880);
+emit_32(3229220864);
+emit_32(1087427439);
+emit_32(1130788880);
+emit_32(0);
+emit_32(1086716610);
+emit_32(1130788880);
+emit_32(1081737216);
+emit_32(1086083564);
+emit_32(1130788880);
+emit_32(3279552512);
+emit_32(1084064572);
+emit_32(1130532897);
+emit_32(3279296528);
+emit_32(1091219604);
+emit_32(1130532897);
+emit_32(3279040545);
+emit_32(1094461581);
+emit_32(1130532897);
+emit_32(3278784496);
+emit_32(1096451988);
+emit_32(1130532897);
+emit_32(3278528512);
+emit_32(1098531104);
+emit_32(1130532897);
+emit_32(3278272528);
+emit_32(1099322203);
+emit_32(1130532897);
+emit_32(3278016545);
+emit_32(1099673423);
+emit_32(1130532897);
+emit_32(3277760496);
+emit_32(1100210032);
+emit_32(1130532897);
+emit_32(3277504512);
+emit_32(1100192468);
+emit_32(1130532897);
+emit_32(3277248528);
+emit_32(1099743153);
+emit_32(1130532897);
+emit_32(3276992545);
+emit_32(1099219128);
+emit_32(1130532897);
+emit_32(3276736496);
+emit_32(1097733767);
+emit_32(1130532897);
+emit_32(3276480512);
+emit_32(1098251554);
+emit_32(1130532897);
+emit_32(3276224528);
+emit_32(1098330197);
+emit_32(1130532897);
+emit_32(3275968545);
+emit_32(1097354078);
+emit_32(1130532897);
+emit_32(3275712496);
+emit_32(1095686947);
+emit_32(1130532897);
+emit_32(3275456512);
+emit_32(1096170655);
+emit_32(1130532897);
+emit_32(3275200528);
+emit_32(1096848035);
+emit_32(1130532897);
+emit_32(3274944545);
+emit_32(1098161481);
+emit_32(1130532897);
+emit_32(3274688496);
+emit_32(1097829712);
+emit_32(1130532897);
+emit_32(3274432512);
+emit_32(1097057436);
+emit_32(1130532897);
+emit_32(3274176528);
+emit_32(1096473484);
+emit_32(1130532897);
+emit_32(3273920545);
+emit_32(1095842765);
+emit_32(1130532897);
+emit_32(3273664496);
+emit_32(1095539517);
+emit_32(1130532897);
+emit_32(3273408512);
+emit_32(1095213200);
+emit_32(1130532897);
+emit_32(3273152528);
+emit_32(1094205414);
+emit_32(1130532897);
+emit_32(3272896545);
+emit_32(1093845647);
+emit_32(1130532897);
+emit_32(3272640496);
+emit_32(1093546174);
+emit_32(1130532897);
+emit_32(3272384512);
+emit_32(1092377452);
+emit_32(1130532897);
+emit_32(3272128528);
+emit_32(1091313106);
+emit_32(1130532897);
+emit_32(3271872545);
+emit_32(1087954328);
+emit_32(1130532897);
+emit_32(3271616496);
+emit_32(1087060480);
+emit_32(1130532897);
+emit_32(3271163904);
+emit_32(1087580678);
+emit_32(1130532897);
+emit_32(3270651937);
+emit_32(1090126768);
+emit_32(1130532897);
+emit_32(3270139970);
+emit_32(1090624715);
+emit_32(1130532897);
+emit_32(3269627871);
+emit_32(1091647664);
+emit_32(1130532897);
+emit_32(3269115904);
+emit_32(1092856211);
+emit_32(1130532897);
+emit_32(3268603937);
+emit_32(1094224917);
+emit_32(1130532897);
+emit_32(3268091970);
+emit_32(1095671952);
+emit_32(1130532897);
+emit_32(3267579911);
+emit_32(1095628646);
+emit_32(1130532897);
+emit_32(3267067904);
+emit_32(1095567829);
+emit_32(1130532897);
+emit_32(3266555911);
+emit_32(1093630270);
+emit_32(1130532897);
+emit_32(3266043904);
+emit_32(1092684245);
+emit_32(1130532897);
+emit_32(3265531911);
+emit_32(1091861343);
+emit_32(1130532897);
+emit_32(3265019904);
+emit_32(1092755023);
+emit_32(1130532897);
+emit_32(3264507911);
+emit_32(1094570528);
+emit_32(1130532897);
+emit_32(3263995904);
+emit_32(1095357275);
+emit_32(1130532897);
+emit_32(3263483911);
+emit_32(1096480299);
+emit_32(1130532897);
+emit_32(3262775296);
+emit_32(1096746428);
+emit_32(1130532897);
+emit_32(3261751309);
+emit_32(1096329514);
+emit_32(1130532897);
+emit_32(3260727296);
+emit_32(1095223896);
+emit_32(1130532897);
+emit_32(3259703309);
+emit_32(1093955643);
+emit_32(1130532897);
+emit_32(3258679296);
+emit_32(1093246281);
+emit_32(1130532897);
+emit_32(3257655309);
+emit_32(1094172174);
+emit_32(1130532897);
+emit_32(3256631296);
+emit_32(1095280414);
+emit_32(1130532897);
+emit_32(3255607309);
+emit_32(1095624976);
+emit_32(1130532897);
+emit_32(3254386688);
+emit_32(1095264161);
+emit_32(1130532897);
+emit_32(3252338714);
+emit_32(1094911210);
+emit_32(1130532897);
+emit_32(3250290688);
+emit_32(1094226385);
+emit_32(1130532897);
+emit_32(3248242714);
+emit_32(1092124945);
+emit_32(1130532897);
+emit_32(3245998080);
+emit_32(1090831631);
+emit_32(1130532897);
+emit_32(3241902132);
+emit_32(1089226670);
+emit_32(1130532897);
+emit_32(3237609472);
+emit_32(1089629994);
+emit_32(1130532897);
+emit_32(3229220864);
+emit_32(1089284992);
+emit_32(1130532897);
+emit_32(0);
+emit_32(1088387495);
+emit_32(1130532897);
+emit_32(1081737216);
+emit_32(1088205504);
+emit_32(1130532897);
+emit_32(3279552512);
+emit_32(1083530931);
+emit_32(1130276848);
+emit_32(3279296528);
+emit_32(1090306850);
+emit_32(1130276848);
+emit_32(3279040545);
+emit_32(1093521008);
+emit_32(1130276848);
+emit_32(3278784496);
+emit_32(1096939995);
+emit_32(1130276848);
+emit_32(3278528512);
+emit_32(1098488322);
+emit_32(1130276848);
+emit_32(3278272528);
+emit_32(1099450129);
+emit_32(1130276848);
+emit_32(3278016545);
+emit_32(1099687369);
+emit_32(1130276848);
+emit_32(3277760496);
+emit_32(1099754740);
+emit_32(1130276848);
+emit_32(3277504512);
+emit_32(1099338246);
+emit_32(1130276848);
+emit_32(3277248528);
+emit_32(1099121348);
+emit_32(1130276848);
+emit_32(3276992545);
+emit_32(1097937191);
+emit_32(1130276848);
+emit_32(3276736496);
+emit_32(1097116051);
+emit_32(1130276848);
+emit_32(3276480512);
+emit_32(1097449498);
+emit_32(1130276848);
+emit_32(3276224528);
+emit_32(1097296721);
+emit_32(1130276848);
+emit_32(3275968545);
+emit_32(1096895116);
+emit_32(1130276848);
+emit_32(3275712496);
+emit_32(1095191390);
+emit_32(1130276848);
+emit_32(3275456512);
+emit_32(1095800403);
+emit_32(1130276848);
+emit_32(3275200528);
+emit_32(1096784282);
+emit_32(1130276848);
+emit_32(3274944545);
+emit_32(1097651454);
+emit_32(1130276848);
+emit_32(3274688496);
+emit_32(1097454846);
+emit_32(1130276848);
+emit_32(3274432512);
+emit_32(1096258211);
+emit_32(1130276848);
+emit_32(3274176528);
+emit_32(1096116863);
+emit_32(1130276848);
+emit_32(3273920545);
+emit_32(1096517943);
+emit_32(1130276848);
+emit_32(3273664496);
+emit_32(1095318897);
+emit_32(1130276848);
+emit_32(3273408512);
+emit_32(1094673498);
+emit_32(1130276848);
+emit_32(3273152528);
+emit_32(1093918733);
+emit_32(1130276848);
+emit_32(3272896545);
+emit_32(1093483364);
+emit_32(1130276848);
+emit_32(3272640496);
+emit_32(1092914826);
+emit_32(1130276848);
+emit_32(3272384512);
+emit_32(1091000567);
+emit_32(1130276848);
+emit_32(3272128528);
+emit_32(1089935654);
+emit_32(1130276848);
+emit_32(3271872545);
+emit_32(1086818510);
+emit_32(1130276848);
+emit_32(3271616496);
+emit_32(1085690389);
+emit_32(1130276848);
+emit_32(3271163904);
+emit_32(1086952309);
+emit_32(1130276848);
+emit_32(3270651937);
+emit_32(1088839431);
+emit_32(1130276848);
+emit_32(3270139970);
+emit_32(1089612819);
+emit_32(1130276848);
+emit_32(3269627871);
+emit_32(1091440686);
+emit_32(1130276848);
+emit_32(3269115904);
+emit_32(1092535473);
+emit_32(1130276848);
+emit_32(3268603937);
+emit_32(1092891758);
+emit_32(1130276848);
+emit_32(3268091970);
+emit_32(1094112510);
+emit_32(1130276848);
+emit_32(3267579911);
+emit_32(1095020472);
+emit_32(1130276848);
+emit_32(3267067904);
+emit_32(1094302617);
+emit_32(1130276848);
+emit_32(3266555911);
+emit_32(1094287622);
+emit_32(1130276848);
+emit_32(3266043904);
+emit_32(1092792667);
+emit_32(1130276848);
+emit_32(3265531911);
+emit_32(1093051561);
+emit_32(1130276848);
+emit_32(3265019904);
+emit_32(1093418353);
+emit_32(1130276848);
+emit_32(3264507911);
+emit_32(1094221667);
+emit_32(1130276848);
+emit_32(3263995904);
+emit_32(1095632001);
+emit_32(1130276848);
+emit_32(3263483911);
+emit_32(1097732614);
+emit_32(1130276848);
+emit_32(3262775296);
+emit_32(1098628832);
+emit_32(1130276848);
+emit_32(3261751309);
+emit_32(1097948306);
+emit_32(1130276848);
+emit_32(3260727296);
+emit_32(1097305319);
+emit_32(1130276848);
+emit_32(3259703309);
+emit_32(1096485333);
+emit_32(1130276848);
+emit_32(3258679296);
+emit_32(1095850210);
+emit_32(1130276848);
+emit_32(3257655309);
+emit_32(1095872964);
+emit_32(1130276848);
+emit_32(3256631296);
+emit_32(1096804414);
+emit_32(1130276848);
+emit_32(3255607309);
+emit_32(1096692741);
+emit_32(1130276848);
+emit_32(3254386688);
+emit_32(1096946077);
+emit_32(1130276848);
+emit_32(3252338714);
+emit_32(1096420006);
+emit_32(1130276848);
+emit_32(3250290688);
+emit_32(1094944660);
+emit_32(1130276848);
+emit_32(3248242714);
+emit_32(1093505489);
+emit_32(1130276848);
+emit_32(3245998080);
+emit_32(1092313867);
+emit_32(1130276848);
+emit_32(3241902132);
+emit_32(1091062559);
+emit_32(1130276848);
+emit_32(3237609472);
+emit_32(1091612432);
+emit_32(1130276848);
+emit_32(3229220864);
+emit_32(1091011671);
+emit_32(1130276848);
+emit_32(0);
+emit_32(1090792142);
+emit_32(1130276848);
+emit_32(1081737216);
+emit_32(1088030748);
+emit_32(1130276848);
+emit_32(3279552512);
+emit_32(1084583764);
+emit_32(1130020864);
+emit_32(3279296528);
+emit_32(1087682243);
+emit_32(1130020864);
+emit_32(3279040545);
+emit_32(1092094075);
+emit_32(1130020864);
+emit_32(3278784496);
+emit_32(1095249691);
+emit_32(1130020864);
+emit_32(3278528512);
+emit_32(1098698877);
+emit_32(1130020864);
+emit_32(3278272528);
+emit_32(1099753796);
+emit_32(1130020864);
+emit_32(3278016545);
+emit_32(1100023333);
+emit_32(1130020864);
+emit_32(3277760496);
+emit_32(1099595042);
+emit_32(1130020864);
+emit_32(3277504512);
+emit_32(1099115371);
+emit_32(1130020864);
+emit_32(3277248528);
+emit_32(1098920493);
+emit_32(1130020864);
+emit_32(3276992545);
+emit_32(1097370855);
+emit_32(1130020864);
+emit_32(3276736496);
+emit_32(1096229480);
+emit_32(1130020864);
+emit_32(3276480512);
+emit_32(1096179987);
+emit_32(1130020864);
+emit_32(3276224528);
+emit_32(1096332765);
+emit_32(1130020864);
+emit_32(3275968545);
+emit_32(1094920228);
+emit_32(1130020864);
+emit_32(3275712496);
+emit_32(1094538966);
+emit_32(1130020864);
+emit_32(3275456512);
+emit_32(1096079324);
+emit_32(1130020864);
+emit_32(3275200528);
+emit_32(1096062022);
+emit_32(1130020864);
+emit_32(3274944545);
+emit_32(1097415524);
+emit_32(1130020864);
+emit_32(3274688496);
+emit_32(1097262642);
+emit_32(1130020864);
+emit_32(3274432512);
+emit_32(1096083309);
+emit_32(1130020864);
+emit_32(3274176528);
+emit_32(1097096338);
+emit_32(1130020864);
+emit_32(3273920545);
+emit_32(1097389520);
+emit_32(1130020864);
+emit_32(3273664496);
+emit_32(1096628987);
+emit_32(1130020864);
+emit_32(3273408512);
+emit_32(1095157311);
+emit_32(1130020864);
+emit_32(3273152528);
+emit_32(1093144150);
+emit_32(1130020864);
+emit_32(3272896545);
+emit_32(1092252305);
+emit_32(1130020864);
+emit_32(3272640496);
+emit_32(1090906174);
+emit_32(1130020864);
+emit_32(3272384512);
+emit_32(1089256785);
+emit_32(1130020864);
+emit_32(3272128528);
+emit_32(1086933413);
+emit_32(1130020864);
+emit_32(3271872545);
+emit_32(1085005690);
+emit_32(1130020864);
+emit_32(3271616496);
+emit_32(1084837205);
+emit_32(1130020864);
+emit_32(3271163904);
+emit_32(1085479500);
+emit_32(1130020864);
+emit_32(3270651937);
+emit_32(1086647781);
+emit_32(1130020864);
+emit_32(3270139970);
+emit_32(1088754391);
+emit_32(1130020864);
+emit_32(3269627871);
+emit_32(1090605474);
+emit_32(1130020864);
+emit_32(3269115904);
+emit_32(1091545984);
+emit_32(1130020864);
+emit_32(3268603937);
+emit_32(1092272018);
+emit_32(1130020864);
+emit_32(3268091970);
+emit_32(1093427580);
+emit_32(1130020864);
+emit_32(3267579911);
+emit_32(1094111042);
+emit_32(1130020864);
+emit_32(3267067904);
+emit_32(1094388915);
+emit_32(1130020864);
+emit_32(3266555911);
+emit_32(1094139458);
+emit_32(1130020864);
+emit_32(3266043904);
+emit_32(1094235718);
+emit_32(1130020864);
+emit_32(3265531911);
+emit_32(1094648752);
+emit_32(1130020864);
+emit_32(3265019904);
+emit_32(1095187300);
+emit_32(1130020864);
+emit_32(3264507911);
+emit_32(1096097674);
+emit_32(1130020864);
+emit_32(3263995904);
+emit_32(1097057016);
+emit_32(1130020864);
+emit_32(3263483911);
+emit_32(1097881092);
+emit_32(1130020864);
+emit_32(3262775296);
+emit_32(1098962856);
+emit_32(1130020864);
+emit_32(3261751309);
+emit_32(1098940835);
+emit_32(1130020864);
+emit_32(3260727296);
+emit_32(1098504366);
+emit_32(1130020864);
+emit_32(3259703309);
+emit_32(1098210030);
+emit_32(1130020864);
+emit_32(3258679296);
+emit_32(1097752537);
+emit_32(1130020864);
+emit_32(3257655309);
+emit_32(1096972082);
+emit_32(1130020864);
+emit_32(3256631296);
+emit_32(1097685323);
+emit_32(1130020864);
+emit_32(3255607309);
+emit_32(1097690566);
+emit_32(1130020864);
+emit_32(3254386688);
+emit_32(1097717514);
+emit_32(1130020864);
+emit_32(3252338714);
+emit_32(1096801373);
+emit_32(1130020864);
+emit_32(3250290688);
+emit_32(1096574462);
+emit_32(1130020864);
+emit_32(3248242714);
+emit_32(1095368389);
+emit_32(1130020864);
+emit_32(3245998080);
+emit_32(1094028204);
+emit_32(1130020864);
+emit_32(3241902132);
+emit_32(1093145513);
+emit_32(1130020864);
+emit_32(3237609472);
+emit_32(1092561058);
+emit_32(1130020864);
+emit_32(3229220864);
+emit_32(1091353465);
+emit_32(1130020864);
+emit_32(0);
+emit_32(1090850872);
+emit_32(1130020864);
+emit_32(1081737216);
+emit_32(1090545737);
+emit_32(1130020864);
+emit_32(3279552512);
+emit_32(1083020778);
+emit_32(1129764880);
+emit_32(3279296528);
+emit_32(1086653695);
+emit_32(1129764880);
+emit_32(3279040545);
+emit_32(1091034835);
+emit_32(1129764880);
+emit_32(3278784496);
+emit_32(1094988805);
+emit_32(1129764880);
+emit_32(3278528512);
+emit_32(1098825335);
+emit_32(1129764880);
+emit_32(3278272528);
+emit_32(1099793485);
+emit_32(1129764880);
+emit_32(3278016545);
+emit_32(1100052431);
+emit_32(1129764880);
+emit_32(3277760496);
+emit_32(1099921673);
+emit_32(1129764880);
+emit_32(3277504512);
+emit_32(1099421608);
+emit_32(1129764880);
+emit_32(3277248528);
+emit_32(1098552915);
+emit_32(1129764880);
+emit_32(3276992545);
+emit_32(1097228773);
+emit_32(1129764880);
+emit_32(3276736496);
+emit_32(1095528822);
+emit_32(1129764880);
+emit_32(3276480512);
+emit_32(1095513932);
+emit_32(1129764880);
+emit_32(3276224528);
+emit_32(1095608094);
+emit_32(1129764880);
+emit_32(3275968545);
+emit_32(1094888666);
+emit_32(1129764880);
+emit_32(3275712496);
+emit_32(1094960493);
+emit_32(1129764880);
+emit_32(3275456512);
+emit_32(1095322147);
+emit_32(1129764880);
+emit_32(3275200528);
+emit_32(1095300232);
+emit_32(1129764880);
+emit_32(3274944545);
+emit_32(1096422103);
+emit_32(1129764880);
+emit_32(3274688496);
+emit_32(1096640836);
+emit_32(1129764880);
+emit_32(3274432512);
+emit_32(1097230031);
+emit_32(1129764880);
+emit_32(3274176528);
+emit_32(1097125279);
+emit_32(1129764880);
+emit_32(3273920545);
+emit_32(1097162084);
+emit_32(1129764880);
+emit_32(3273664496);
+emit_32(1096846777);
+emit_32(1129764880);
+emit_32(3273408512);
+emit_32(1095743360);
+emit_32(1129764880);
+emit_32(3273152528);
+emit_32(1093469838);
+emit_32(1129764880);
+emit_32(3272896545);
+emit_32(1092165598);
+emit_32(1129764880);
+emit_32(3272640496);
+emit_32(1090712261);
+emit_32(1129764880);
+emit_32(3272384512);
+emit_32(1088210873);
+emit_32(1129764880);
+emit_32(3272128528);
+emit_32(1085889095);
+emit_32(1129764880);
+emit_32(3271872545);
+emit_32(1083392330);
+emit_32(1129764880);
+emit_32(3271616496);
+emit_32(1083388073);
+emit_32(1129764880);
+emit_32(3271163904);
+emit_32(1084653180);
+emit_32(1129764880);
+emit_32(3270651937);
+emit_32(1086692618);
+emit_32(1129764880);
+emit_32(3270139970);
+emit_32(1088701795);
+emit_32(1129764880);
+emit_32(3269627871);
+emit_32(1090628616);
+emit_32(1129764880);
+emit_32(3269115904);
+emit_32(1091284553);
+emit_32(1129764880);
+emit_32(3268603937);
+emit_32(1092579376);
+emit_32(1129764880);
+emit_32(3268091970);
+emit_32(1093773715);
+emit_32(1129764880);
+emit_32(3267579911);
+emit_32(1094376856);
+emit_32(1129764880);
+emit_32(3267067904);
+emit_32(1094634281);
+emit_32(1129764880);
+emit_32(3266555911);
+emit_32(1094720789);
+emit_32(1129764880);
+emit_32(3266043904);
+emit_32(1095562586);
+emit_32(1129764880);
+emit_32(3265531911);
+emit_32(1096146957);
+emit_32(1129764880);
+emit_32(3265019904);
+emit_32(1096371248);
+emit_32(1129764880);
+emit_32(3264507911);
+emit_32(1097603115);
+emit_32(1129764880);
+emit_32(3263995904);
+emit_32(1098307233);
+emit_32(1129764880);
+emit_32(3263483911);
+emit_32(1098369729);
+emit_32(1129764880);
+emit_32(3262775296);
+emit_32(1099083075);
+emit_32(1129764880);
+emit_32(3261751309);
+emit_32(1099129946);
+emit_32(1129764880);
+emit_32(3260727296);
+emit_32(1099485099);
+emit_32(1129764880);
+emit_32(3259703309);
+emit_32(1099764335);
+emit_32(1129764880);
+emit_32(3258679296);
+emit_32(1099176713);
+emit_32(1129764880);
+emit_32(3257655309);
+emit_32(1098040266);
+emit_32(1129764880);
+emit_32(3256631296);
+emit_32(1098351798);
+emit_32(1129764880);
+emit_32(3255607309);
+emit_32(1098988388);
+emit_32(1129764880);
+emit_32(3254386688);
+emit_32(1098753193);
+emit_32(1129764880);
+emit_32(3252338714);
+emit_32(1098284479);
+emit_32(1129764880);
+emit_32(3250290688);
+emit_32(1097489554);
+emit_32(1129764880);
+emit_32(3248242714);
+emit_32(1095940702);
+emit_32(1129764880);
+emit_32(3245998080);
+emit_32(1094687549);
+emit_32(1129764880);
+emit_32(3241902132);
+emit_32(1094446272);
+emit_32(1129764880);
+emit_32(3237609472);
+emit_32(1093495318);
+emit_32(1129764880);
+emit_32(3229220864);
+emit_32(1092748208);
+emit_32(1129764880);
+emit_32(0);
+emit_32(1092091118);
+emit_32(1129764880);
+emit_32(1081737216);
+emit_32(1091835139);
+emit_32(1129764880);
+emit_32(3279552512);
+emit_32(1080463993);
+emit_32(1129508897);
+emit_32(3279296528);
+emit_32(1085016910);
+emit_32(1129508897);
+emit_32(3279040545);
+emit_32(1089825176);
+emit_32(1129508897);
+emit_32(3278784496);
+emit_32(1094698979);
+emit_32(1129508897);
+emit_32(3278528512);
+emit_32(1097809265);
+emit_32(1129508897);
+emit_32(3278272528);
+emit_32(1099171575);
+emit_32(1129508897);
+emit_32(3278016545);
+emit_32(1099886127);
+emit_32(1129508897);
+emit_32(3277760496);
+emit_32(1099484470);
+emit_32(1129508897);
+emit_32(3277504512);
+emit_32(1098929301);
+emit_32(1129508897);
+emit_32(3277248528);
+emit_32(1097703463);
+emit_32(1129508897);
+emit_32(3276992545);
+emit_32(1096695572);
+emit_32(1129508897);
+emit_32(3276736496);
+emit_32(1094705899);
+emit_32(1129508897);
+emit_32(3276480512);
+emit_32(1094521559);
+emit_32(1129508897);
+emit_32(3276224528);
+emit_32(1094382938);
+emit_32(1129508897);
+emit_32(3275968545);
+emit_32(1093723488);
+emit_32(1129508897);
+emit_32(3275712496);
+emit_32(1094327258);
+emit_32(1129508897);
+emit_32(3275456512);
+emit_32(1094643404);
+emit_32(1129508897);
+emit_32(3275200528);
+emit_32(1095341441);
+emit_32(1129508897);
+emit_32(3274944545);
+emit_32(1096856319);
+emit_32(1129508897);
+emit_32(3274688496);
+emit_32(1097642751);
+emit_32(1129508897);
+emit_32(3274432512);
+emit_32(1097737857);
+emit_32(1129508897);
+emit_32(3274176528);
+emit_32(1097157784);
+emit_32(1129508897);
+emit_32(3273920545);
+emit_32(1096063805);
+emit_32(1129508897);
+emit_32(3273664496);
+emit_32(1095072272);
+emit_32(1129508897);
+emit_32(3273408512);
+emit_32(1094164729);
+emit_32(1129508897);
+emit_32(3273152528);
+emit_32(1092558321);
+emit_32(1129508897);
+emit_32(3272896545);
+emit_32(1090029460);
+emit_32(1129508897);
+emit_32(3272640496);
+emit_32(1087566627);
+emit_32(1129508897);
+emit_32(3272384512);
+emit_32(1087370124);
+emit_32(1129508897);
+emit_32(3272128528);
+emit_32(1084743064);
+emit_32(1129508897);
+emit_32(3271872545);
+emit_32(1082700102);
+emit_32(1129508897);
+emit_32(3271616496);
+emit_32(1083566646);
+emit_32(1129508897);
+emit_32(3271163904);
+emit_32(1084803462);
+emit_32(1129508897);
+emit_32(3270651937);
+emit_32(1086593633);
+emit_32(1129508897);
+emit_32(3270139970);
+emit_32(1090542266);
+emit_32(1129508897);
+emit_32(3269627871);
+emit_32(1091515565);
+emit_32(1129508897);
+emit_32(3269115904);
+emit_32(1092537947);
+emit_32(1129508897);
+emit_32(3268603937);
+emit_32(1093041704);
+emit_32(1129508897);
+emit_32(3268091970);
+emit_32(1093964870);
+emit_32(1129508897);
+emit_32(3267579911);
+emit_32(1094427502);
+emit_32(1129508897);
+emit_32(3267067904);
+emit_32(1095046267);
+emit_32(1129508897);
+emit_32(3266555911);
+emit_32(1095386844);
+emit_32(1129508897);
+emit_32(3266043904);
+emit_32(1095993865);
+emit_32(1129508897);
+emit_32(3265531911);
+emit_32(1096745379);
+emit_32(1129508897);
+emit_32(3265019904);
+emit_32(1098208458);
+emit_32(1129508897);
+emit_32(3264507911);
+emit_32(1099059325);
+emit_32(1129508897);
+emit_32(3263995904);
+emit_32(1098961755);
+emit_32(1129508897);
+emit_32(3263483911);
+emit_32(1099315859);
+emit_32(1129508897);
+emit_32(3262775296);
+emit_32(1099329071);
+emit_32(1129508897);
+emit_32(3261751309);
+emit_32(1098988231);
+emit_32(1129508897);
+emit_32(3260727296);
+emit_32(1099657694);
+emit_32(1129508897);
+emit_32(3259703309);
+emit_32(1099596038);
+emit_32(1129508897);
+emit_32(3258679296);
+emit_32(1099042285);
+emit_32(1129508897);
+emit_32(3257655309);
+emit_32(1098921594);
+emit_32(1129508897);
+emit_32(3256631296);
+emit_32(1099409339);
+emit_32(1129508897);
+emit_32(3255607309);
+emit_32(1099994654);
+emit_32(1129508897);
+emit_32(3254386688);
+emit_32(1099682493);
+emit_32(1129508897);
+emit_32(3252338714);
+emit_32(1099586024);
+emit_32(1129508897);
+emit_32(3250290688);
+emit_32(1098985085);
+emit_32(1129508897);
+emit_32(3248242714);
+emit_32(1098287940);
+emit_32(1129508897);
+emit_32(3245998080);
+emit_32(1096812488);
+emit_32(1129508897);
+emit_32(3241902132);
+emit_32(1096132172);
+emit_32(1129508897);
+emit_32(3237609472);
+emit_32(1095219072);
+emit_32(1129508897);
+emit_32(3229220864);
+emit_32(1094487061);
+emit_32(1129508897);
+emit_32(0);
+emit_32(1093746137);
+emit_32(1129508897);
+emit_32(1081737216);
+emit_32(1093216816);
+emit_32(1129508897);
+emit_32(3279552512);
+emit_32(1080029128);
+emit_32(1129252848);
+emit_32(3279296528);
+emit_32(1082132361);
+emit_32(1129252848);
+emit_32(3279040545);
+emit_32(1088551786);
+emit_32(1129252848);
+emit_32(3278784496);
+emit_32(1092773688);
+emit_32(1129252848);
+emit_32(3278528512);
+emit_32(1095789393);
+emit_32(1129252848);
+emit_32(3278272528);
+emit_32(1098426352);
+emit_32(1129252848);
+emit_32(3278016545);
+emit_32(1099118884);
+emit_32(1129252848);
+emit_32(3277760496);
+emit_32(1098946498);
+emit_32(1129252848);
+emit_32(3277504512);
+emit_32(1098247674);
+emit_32(1129252848);
+emit_32(3277248528);
+emit_32(1097180538);
+emit_32(1129252848);
+emit_32(3276992545);
+emit_32(1095903583);
+emit_32(1129252848);
+emit_32(3276736496);
+emit_32(1093972944);
+emit_32(1129252848);
+emit_32(3276480512);
+emit_32(1094119535);
+emit_32(1129252848);
+emit_32(3276224528);
+emit_32(1094115656);
+emit_32(1129252848);
+emit_32(3275968545);
+emit_32(1093250371);
+emit_32(1129252848);
+emit_32(3275712496);
+emit_32(1093516919);
+emit_32(1129252848);
+emit_32(3275456512);
+emit_32(1094550500);
+emit_32(1129252848);
+emit_32(3275200528);
+emit_32(1095584186);
+emit_32(1129252848);
+emit_32(3274944545);
+emit_32(1097766378);
+emit_32(1129252848);
+emit_32(3274688496);
+emit_32(1097882665);
+emit_32(1129252848);
+emit_32(3274432512);
+emit_32(1097698640);
+emit_32(1129252848);
+emit_32(3274176528);
+emit_32(1096544577);
+emit_32(1129252848);
+emit_32(3273920545);
+emit_32(1095417568);
+emit_32(1129252848);
+emit_32(3273664496);
+emit_32(1093038558);
+emit_32(1129252848);
+emit_32(3273408512);
+emit_32(1092208883);
+emit_32(1129252848);
+emit_32(3273152528);
+emit_32(1091657217);
+emit_32(1129252848);
+emit_32(3272896545);
+emit_32(1088339847);
+emit_32(1129252848);
+emit_32(3272640496);
+emit_32(1087749541);
+emit_32(1129252848);
+emit_32(3272384512);
+emit_32(1086492760);
+emit_32(1129252848);
+emit_32(3272128528);
+emit_32(1084289744);
+emit_32(1129252848);
+emit_32(3271872545);
+emit_32(1084101671);
+emit_32(1129252848);
+emit_32(3271616496);
+emit_32(1084133212);
+emit_32(1129252848);
+emit_32(3271163904);
+emit_32(1084719282);
+emit_32(1129252848);
+emit_32(3270651937);
+emit_32(1088718929);
+emit_32(1129252848);
+emit_32(3270139970);
+emit_32(1091794685);
+emit_32(1129252848);
+emit_32(3269627871);
+emit_32(1093539149);
+emit_32(1129252848);
+emit_32(3269115904);
+emit_32(1093719084);
+emit_32(1129252848);
+emit_32(3268603937);
+emit_32(1094263190);
+emit_32(1129252848);
+emit_32(3268091970);
+emit_32(1095010510);
+emit_32(1129252848);
+emit_32(3267579911);
+emit_32(1095499566);
+emit_32(1129252848);
+emit_32(3267067904);
+emit_32(1095406243);
+emit_32(1129252848);
+emit_32(3266555911);
+emit_32(1095095969);
+emit_32(1129252848);
+emit_32(3266043904);
+emit_32(1095937871);
+emit_32(1129252848);
+emit_32(3265531911);
+emit_32(1096329200);
+emit_32(1129252848);
+emit_32(3265019904);
+emit_32(1097172045);
+emit_32(1129252848);
+emit_32(3264507911);
+emit_32(1098488847);
+emit_32(1129252848);
+emit_32(3263995904);
+emit_32(1099439328);
+emit_32(1129252848);
+emit_32(3263483911);
+emit_32(1099647261);
+emit_32(1129252848);
+emit_32(3262775296);
+emit_32(1099958583);
+emit_32(1129252848);
+emit_32(3261751309);
+emit_32(1099777022);
+emit_32(1129252848);
+emit_32(3260727296);
+emit_32(1099447507);
+emit_32(1129252848);
+emit_32(3259703309);
+emit_32(1099254674);
+emit_32(1129252848);
+emit_32(3258679296);
+emit_32(1099498363);
+emit_32(1129252848);
+emit_32(3257655309);
+emit_32(1099988625);
+emit_32(1129252848);
+emit_32(3256631296);
+emit_32(1100359821);
+emit_32(1129252848);
+emit_32(3255607309);
+emit_32(1100639581);
+emit_32(1129252848);
+emit_32(3254386688);
+emit_32(1100562616);
+emit_32(1129252848);
+emit_32(3252338714);
+emit_32(1100538551);
+emit_32(1129252848);
+emit_32(3250290688);
+emit_32(1099604846);
+emit_32(1129252848);
+emit_32(3248242714);
+emit_32(1098614466);
+emit_32(1129252848);
+emit_32(3245998080);
+emit_32(1097631216);
+emit_32(1129252848);
+emit_32(3241902132);
+emit_32(1097023042);
+emit_32(1129252848);
+emit_32(3237609472);
+emit_32(1096365690);
+emit_32(1129252848);
+emit_32(3229220864);
+emit_32(1095964819);
+emit_32(1129252848);
+emit_32(0);
+emit_32(1094558784);
+emit_32(1129252848);
+emit_32(1081737216);
+emit_32(1093092141);
+emit_32(1129252848);
+emit_32(3279552512);
+emit_32(1081540755);
+emit_32(1128996864);
+emit_32(3279296528);
+emit_32(1081307971);
+emit_32(1128996864);
+emit_32(3279040545);
+emit_32(1088074180);
+emit_32(1128996864);
+emit_32(3278784496);
+emit_32(1092649012);
+emit_32(1128996864);
+emit_32(3278528512);
+emit_32(1095750805);
+emit_32(1128996864);
+emit_32(3278272528);
+emit_32(1098025586);
+emit_32(1128996864);
+emit_32(3278016545);
+emit_32(1098512754);
+emit_32(1128996864);
+emit_32(3277760496);
+emit_32(1097976513);
+emit_32(1128996864);
+emit_32(3277504512);
+emit_32(1097395287);
+emit_32(1128996864);
+emit_32(3277248528);
+emit_32(1096884211);
+emit_32(1128996864);
+emit_32(3276992545);
+emit_32(1096131333);
+emit_32(1128996864);
+emit_32(3276736496);
+emit_32(1094845884);
+emit_32(1128996864);
+emit_32(3276480512);
+emit_32(1093703565);
+emit_32(1128996864);
+emit_32(3276224528);
+emit_32(1092970506);
+emit_32(1128996864);
+emit_32(3275968545);
+emit_32(1093979341);
+emit_32(1128996864);
+emit_32(3275712496);
+emit_32(1093333942);
+emit_32(1128996864);
+emit_32(3275456512);
+emit_32(1094401183);
+emit_32(1128996864);
+emit_32(3275200528);
+emit_32(1095977612);
+emit_32(1128996864);
+emit_32(3274944545);
+emit_32(1096785330);
+emit_32(1128996864);
+emit_32(3274688496);
+emit_32(1097852781);
+emit_32(1128996864);
+emit_32(3274432512);
+emit_32(1097488400);
+emit_32(1128996864);
+emit_32(3274176528);
+emit_32(1096273520);
+emit_32(1128996864);
+emit_32(3273920545);
+emit_32(1094778041);
+emit_32(1128996864);
+emit_32(3273664496);
+emit_32(1093292943);
+emit_32(1128996864);
+emit_32(3273408512);
+emit_32(1092898574);
+emit_32(1128996864);
+emit_32(3273152528);
+emit_32(1090867996);
+emit_32(1128996864);
+emit_32(3272896545);
+emit_32(1089691860);
+emit_32(1128996864);
+emit_32(3272640496);
+emit_32(1086739427);
+emit_32(1128996864);
+emit_32(3272384512);
+emit_32(1085853087);
+emit_32(1128996864);
+emit_32(3272128528);
+emit_32(1084833724);
+emit_32(1128996864);
+emit_32(3271872545);
+emit_32(1084451895);
+emit_32(1128996864);
+emit_32(3271616496);
+emit_32(1085526644);
+emit_32(1128996864);
+emit_32(3271163904);
+emit_32(1089112459);
+emit_32(1128996864);
+emit_32(3270651937);
+emit_32(1091663645);
+emit_32(1128996864);
+emit_32(3270139970);
+emit_32(1093345162);
+emit_32(1128996864);
+emit_32(3269627871);
+emit_32(1094246728);
+emit_32(1128996864);
+emit_32(3269115904);
+emit_32(1095325398);
+emit_32(1128996864);
+emit_32(3268603937);
+emit_32(1096227907);
+emit_32(1128996864);
+emit_32(3268091970);
+emit_32(1097145097);
+emit_32(1128996864);
+emit_32(3267579911);
+emit_32(1097392036);
+emit_32(1128996864);
+emit_32(3267067904);
+emit_32(1096728288);
+emit_32(1128996864);
+emit_32(3266555911);
+emit_32(1095835320);
+emit_32(1128996864);
+emit_32(3266043904);
+emit_32(1095814034);
+emit_32(1128996864);
+emit_32(3265531911);
+emit_32(1096693475);
+emit_32(1128996864);
+emit_32(3265019904);
+emit_32(1097025244);
+emit_32(1128996864);
+emit_32(3264507911);
+emit_32(1099054920);
+emit_32(1128996864);
+emit_32(3263995904);
+emit_32(1099511523);
+emit_32(1128996864);
+emit_32(3263483911);
+emit_32(1100212234);
+emit_32(1128996864);
+emit_32(3262775296);
+emit_32(1100597481);
+emit_32(1128996864);
+emit_32(3261751309);
+emit_32(1100490945);
+emit_32(1128996864);
+emit_32(3260727296);
+emit_32(1100197711);
+emit_32(1128996864);
+emit_32(3259703309);
+emit_32(1099593207);
+emit_32(1128996864);
+emit_32(3258679296);
+emit_32(1099432565);
+emit_32(1128996864);
+emit_32(3257655309);
+emit_32(1100182245);
+emit_32(1128996864);
+emit_32(3256631296);
+emit_32(1100992112);
+emit_32(1128996864);
+emit_32(3255607309);
+emit_32(1101070441);
+emit_32(1128996864);
+emit_32(3254386688);
+emit_32(1101070860);
+emit_32(1128996864);
+emit_32(3252338714);
+emit_32(1100442554);
+emit_32(1128996864);
+emit_32(3250290688);
+emit_32(1100162689);
+emit_32(1128996864);
+emit_32(3248242714);
+emit_32(1099264741);
+emit_32(1128996864);
+emit_32(3245998080);
+emit_32(1098634809);
+emit_32(1128996864);
+emit_32(3241902132);
+emit_32(1097542192);
+emit_32(1128996864);
+emit_32(3237609472);
+emit_32(1097603953);
+emit_32(1128996864);
+emit_32(3229220864);
+emit_32(1097205809);
+emit_32(1128996864);
+emit_32(0);
+emit_32(1095764961);
+emit_32(1128996864);
+emit_32(1081737216);
+emit_32(1094158228);
+emit_32(1128996864);
+emit_32(3279552512);
+emit_32(1083563940);
+emit_32(1128740880);
+emit_32(3279296528);
+emit_32(1083505514);
+emit_32(1128740880);
+emit_32(3279040545);
+emit_32(1087057166);
+emit_32(1128740880);
+emit_32(3278784496);
+emit_32(1091606046);
+emit_32(1128740880);
+emit_32(3278528512);
+emit_32(1094145750);
+emit_32(1128740880);
+emit_32(3278272528);
+emit_32(1096803366);
+emit_32(1128740880);
+emit_32(3278016545);
+emit_32(1097677459);
+emit_32(1128740880);
+emit_32(3277760496);
+emit_32(1096868377);
+emit_32(1128740880);
+emit_32(3277504512);
+emit_32(1097277637);
+emit_32(1128740880);
+emit_32(3277248528);
+emit_32(1097130626);
+emit_32(1128740880);
+emit_32(3276992545);
+emit_32(1095319526);
+emit_32(1128740880);
+emit_32(3276736496);
+emit_32(1094270635);
+emit_32(1128740880);
+emit_32(3276480512);
+emit_32(1092528657);
+emit_32(1128740880);
+emit_32(3276224528);
+emit_32(1091786055);
+emit_32(1128740880);
+emit_32(3275968545);
+emit_32(1092729228);
+emit_32(1128740880);
+emit_32(3275712496);
+emit_32(1093207379);
+emit_32(1128740880);
+emit_32(3275456512);
+emit_32(1094361966);
+emit_32(1128740880);
+emit_32(3275200528);
+emit_32(1096155975);
+emit_32(1128740880);
+emit_32(3274944545);
+emit_32(1098072457);
+emit_32(1128740880);
+emit_32(3274688496);
+emit_32(1097534957);
+emit_32(1128740880);
+emit_32(3274432512);
+emit_32(1096843212);
+emit_32(1128740880);
+emit_32(3274176528);
+emit_32(1095427215);
+emit_32(1128740880);
+emit_32(3273920545);
+emit_32(1095393870);
+emit_32(1128740880);
+emit_32(3273664496);
+emit_32(1094328831);
+emit_32(1128740880);
+emit_32(3273408512);
+emit_32(1093549005);
+emit_32(1128740880);
+emit_32(3273152528);
+emit_32(1091282907);
+emit_32(1128740880);
+emit_32(3272896545);
+emit_32(1089591113);
+emit_32(1128740880);
+emit_32(3272640496);
+emit_32(1087793476);
+emit_32(1128740880);
+emit_32(3272384512);
+emit_32(1084819170);
+emit_32(1128740880);
+emit_32(3272128528);
+emit_32(1085220523);
+emit_32(1128740880);
+emit_32(3271872545);
+emit_32(1088960395);
+emit_32(1128740880);
+emit_32(3271616496);
+emit_32(1091632869);
+emit_32(1128740880);
+emit_32(3271163904);
+emit_32(1092528154);
+emit_32(1128740880);
+emit_32(3270651937);
+emit_32(1093541036);
+emit_32(1128740880);
+emit_32(3270139970);
+emit_32(1094536554);
+emit_32(1128740880);
+emit_32(3269627871);
+emit_32(1095733504);
+emit_32(1128740880);
+emit_32(3269115904);
+emit_32(1096930453);
+emit_32(1128740880);
+emit_32(3268603937);
+emit_32(1097898289);
+emit_32(1128740880);
+emit_32(3268091970);
+emit_32(1098312162);
+emit_32(1128740880);
+emit_32(3267579911);
+emit_32(1098889088);
+emit_32(1128740880);
+emit_32(3267067904);
+emit_32(1098348023);
+emit_32(1128740880);
+emit_32(3266555911);
+emit_32(1097239783);
+emit_32(1128740880);
+emit_32(3266043904);
+emit_32(1096978163);
+emit_32(1128740880);
+emit_32(3265531911);
+emit_32(1097254987);
+emit_32(1128740880);
+emit_32(3265019904);
+emit_32(1097619682);
+emit_32(1128740880);
+emit_32(3264507911);
+emit_32(1098276300);
+emit_32(1128740880);
+emit_32(3263995904);
+emit_32(1099118097);
+emit_32(1128740880);
+emit_32(3263483911);
+emit_32(1099929276);
+emit_32(1128740880);
+emit_32(3262775296);
+emit_32(1100678011);
+emit_32(1128740880);
+emit_32(3261751309);
+emit_32(1100864396);
+emit_32(1128740880);
+emit_32(3260727296);
+emit_32(1100514486);
+emit_32(1128740880);
+emit_32(3259703309);
+emit_32(1100086300);
+emit_32(1128740880);
+emit_32(3258679296);
+emit_32(1099510946);
+emit_32(1128740880);
+emit_32(3257655309);
+emit_32(1100286840);
+emit_32(1128740880);
+emit_32(3256631296);
+emit_32(1100610850);
+emit_32(1128740880);
+emit_32(3255607309);
+emit_32(1101170370);
+emit_32(1128740880);
+emit_32(3254386688);
+emit_32(1100818206);
+emit_32(1128740880);
+emit_32(3252338714);
+emit_32(1100338640);
+emit_32(1128740880);
+emit_32(3250290688);
+emit_32(1099906469);
+emit_32(1128740880);
+emit_32(3248242714);
+emit_32(1099577688);
+emit_32(1128740880);
+emit_32(3245998080);
+emit_32(1099007892);
+emit_32(1128740880);
+emit_32(3241902132);
+emit_32(1098245472);
+emit_32(1128740880);
+emit_32(3237609472);
+emit_32(1097688783);
+emit_32(1128740880);
+emit_32(3229220864);
+emit_32(1096704380);
+emit_32(1128740880);
+emit_32(0);
+emit_32(1095305265);
+emit_32(1128740880);
+emit_32(1081737216);
+emit_32(1094837495);
+emit_32(1128740880);
+emit_32(3279552512);
+emit_32(1085717569);
+emit_32(1128484897);
+emit_32(3279296528);
+emit_32(1083562745);
+emit_32(1128484897);
+emit_32(3279040545);
+emit_32(1084856981);
+emit_32(1128484897);
+emit_32(3278784496);
+emit_32(1089938108);
+emit_32(1128484897);
+emit_32(3278528512);
+emit_32(1093643482);
+emit_32(1128484897);
+emit_32(3278272528);
+emit_32(1095378456);
+emit_32(1128484897);
+emit_32(3278016545);
+emit_32(1096701654);
+emit_32(1128484897);
+emit_32(3277760496);
+emit_32(1095991453);
+emit_32(1128484897);
+emit_32(3277504512);
+emit_32(1096837130);
+emit_32(1128484897);
+emit_32(3277248528);
+emit_32(1097429470);
+emit_32(1128484897);
+emit_32(3276992545);
+emit_32(1095425747);
+emit_32(1128484897);
+emit_32(3276736496);
+emit_32(1092456704);
+emit_32(1128484897);
+emit_32(3276480512);
+emit_32(1090579469);
+emit_32(1128484897);
+emit_32(3276224528);
+emit_32(1089853278);
+emit_32(1128484897);
+emit_32(3275968545);
+emit_32(1091601590);
+emit_32(1128484897);
+emit_32(3275712496);
+emit_32(1093452222);
+emit_32(1128484897);
+emit_32(3275456512);
+emit_32(1094872308);
+emit_32(1128484897);
+emit_32(3275200528);
+emit_32(1095959891);
+emit_32(1128484897);
+emit_32(3274944545);
+emit_32(1097078827);
+emit_32(1128484897);
+emit_32(3274688496);
+emit_32(1096858206);
+emit_32(1128484897);
+emit_32(3274432512);
+emit_32(1096053948);
+emit_32(1128484897);
+emit_32(3274176528);
+emit_32(1095523264);
+emit_32(1128484897);
+emit_32(3273920545);
+emit_32(1095300547);
+emit_32(1128484897);
+emit_32(3273664496);
+emit_32(1094152041);
+emit_32(1128484897);
+emit_32(3273408512);
+emit_32(1093293887);
+emit_32(1128484897);
+emit_32(3273152528);
+emit_32(1091954824);
+emit_32(1128484897);
+emit_32(3272896545);
+emit_32(1090264488);
+emit_32(1128484897);
+emit_32(3272640496);
+emit_32(1087964038);
+emit_32(1128484897);
+emit_32(3272384512);
+emit_32(1084913101);
+emit_32(1128484897);
+emit_32(3272128528);
+emit_32(1087644432);
+emit_32(1128484897);
+emit_32(3271872545);
+emit_32(1091545292);
+emit_32(1128484897);
+emit_32(3271616496);
+emit_32(1092949010);
+emit_32(1128484897);
+emit_32(3271163904);
+emit_32(1093888744);
+emit_32(1128484897);
+emit_32(3270651937);
+emit_32(1095009252);
+emit_32(1128484897);
+emit_32(3270139970);
+emit_32(1096532728);
+emit_32(1128484897);
+emit_32(3269627871);
+emit_32(1096831048);
+emit_32(1128484897);
+emit_32(3269115904);
+emit_32(1098431280);
+emit_32(1128484897);
+emit_32(3268603937);
+emit_32(1098981153);
+emit_32(1128484897);
+emit_32(3268091970);
+emit_32(1099259917);
+emit_32(1128484897);
+emit_32(3267579911);
+emit_32(1099047004);
+emit_32(1128484897);
+emit_32(3267067904);
+emit_32(1099189663);
+emit_32(1128484897);
+emit_32(3266555911);
+emit_32(1097994233);
+emit_32(1128484897);
+emit_32(3266043904);
+emit_32(1097616536);
+emit_32(1128484897);
+emit_32(3265531911);
+emit_32(1098345402);
+emit_32(1128484897);
+emit_32(3265019904);
+emit_32(1098214644);
+emit_32(1128484897);
+emit_32(3264507911);
+emit_32(1097712481);
+emit_32(1128484897);
+emit_32(3263995904);
+emit_32(1099049258);
+emit_32(1128484897);
+emit_32(3263483911);
+emit_32(1099930586);
+emit_32(1128484897);
+emit_32(3262775296);
+emit_32(1100537135);
+emit_32(1128484897);
+emit_32(3261751309);
+emit_32(1100755920);
+emit_32(1128484897);
+emit_32(3260727296);
+emit_32(1100566915);
+emit_32(1128484897);
+emit_32(3259703309);
+emit_32(1099988940);
+emit_32(1128484897);
+emit_32(3258679296);
+emit_32(1099547332);
+emit_32(1128484897);
+emit_32(3257655309);
+emit_32(1100698878);
+emit_32(1128484897);
+emit_32(3256631296);
+emit_32(1101203033);
+emit_32(1128484897);
+emit_32(3255607309);
+emit_32(1100897845);
+emit_32(1128484897);
+emit_32(3254386688);
+emit_32(1100472176);
+emit_32(1128484897);
+emit_32(3252338714);
+emit_32(1100121008);
+emit_32(1128484897);
+emit_32(3250290688);
+emit_32(1100059666);
+emit_32(1128484897);
+emit_32(3248242714);
+emit_32(1099700424);
+emit_32(1128484897);
+emit_32(3245998080);
+emit_32(1099220596);
+emit_32(1128484897);
+emit_32(3241902132);
+emit_32(1098230163);
+emit_32(1128484897);
+emit_32(3237609472);
+emit_32(1097298503);
+emit_32(1128484897);
+emit_32(3229220864);
+emit_32(1096617663);
+emit_32(1128484897);
+emit_32(0);
+emit_32(1095209006);
+emit_32(1128484897);
+emit_32(1081737216);
+emit_32(1096602144);
+emit_32(1128484897);
+emit_32(3279552512);
+emit_32(1086488964);
+emit_32(1128228848);
+emit_32(3279296528);
+emit_32(1085207394);
+emit_32(1128228848);
+emit_32(3279040545);
+emit_32(1083144426);
+emit_32(1128228848);
+emit_32(3278784496);
+emit_32(1087877279);
+emit_32(1128228848);
+emit_32(3278528512);
+emit_32(1092360979);
+emit_32(1128228848);
+emit_32(3278272528);
+emit_32(1094229112);
+emit_32(1128228848);
+emit_32(3278016545);
+emit_32(1095715678);
+emit_32(1128228848);
+emit_32(3277760496);
+emit_32(1095363042);
+emit_32(1128228848);
+emit_32(3277504512);
+emit_32(1095186881);
+emit_32(1128228848);
+emit_32(3277248528);
+emit_32(1096363593);
+emit_32(1128228848);
+emit_32(3276992545);
+emit_32(1094958082);
+emit_32(1128228848);
+emit_32(3276736496);
+emit_32(1091948081);
+emit_32(1128228848);
+emit_32(3276480512);
+emit_32(1089598789);
+emit_32(1128228848);
+emit_32(3276224528);
+emit_32(1090830991);
+emit_32(1128228848);
+emit_32(3275968545);
+emit_32(1092661490);
+emit_32(1128228848);
+emit_32(3275712496);
+emit_32(1094218416);
+emit_32(1128228848);
+emit_32(3275456512);
+emit_32(1095692504);
+emit_32(1128228848);
+emit_32(3275200528);
+emit_32(1096747267);
+emit_32(1128228848);
+emit_32(3274944545);
+emit_32(1096959708);
+emit_32(1128228848);
+emit_32(3274688496);
+emit_32(1096562717);
+emit_32(1128228848);
+emit_32(3274432512);
+emit_32(1095550422);
+emit_32(1128228848);
+emit_32(3274176528);
+emit_32(1095356331);
+emit_32(1128228848);
+emit_32(3273920545);
+emit_32(1094786744);
+emit_32(1128228848);
+emit_32(3273664496);
+emit_32(1094402651);
+emit_32(1128228848);
+emit_32(3273408512);
+emit_32(1093003326);
+emit_32(1128228848);
+emit_32(3273152528);
+emit_32(1091879924);
+emit_32(1128228848);
+emit_32(3272896545);
+emit_32(1090340950);
+emit_32(1128228848);
+emit_32(3272640496);
+emit_32(1088120653);
+emit_32(1128228848);
+emit_32(3272384512);
+emit_32(1090582175);
+emit_32(1128228848);
+emit_32(3272128528);
+emit_32(1091421633);
+emit_32(1128228848);
+emit_32(3271872545);
+emit_32(1093724013);
+emit_32(1128228848);
+emit_32(3271616496);
+emit_32(1095136025);
+emit_32(1128228848);
+emit_32(3271163904);
+emit_32(1096213647);
+emit_32(1128228848);
+emit_32(3270651937);
+emit_32(1096677537);
+emit_32(1128228848);
+emit_32(3270139970);
+emit_32(1097917268);
+emit_32(1128228848);
+emit_32(3269627871);
+emit_32(1098919130);
+emit_32(1128228848);
+emit_32(3269115904);
+emit_32(1099360947);
+emit_32(1128228848);
+emit_32(3268603937);
+emit_32(1099387686);
+emit_32(1128228848);
+emit_32(3268091970);
+emit_32(1099422027);
+emit_32(1128228848);
+emit_32(3267579911);
+emit_32(1099524892);
+emit_32(1128228848);
+emit_32(3267067904);
+emit_32(1099391723);
+emit_32(1128228848);
+emit_32(3266555911);
+emit_32(1098232680);
+emit_32(1128228848);
+emit_32(3266043904);
+emit_32(1097328073);
+emit_32(1128228848);
+emit_32(3265531911);
+emit_32(1098499542);
+emit_32(1128228848);
+emit_32(3265019904);
+emit_32(1098867278);
+emit_32(1128228848);
+emit_32(3264507911);
+emit_32(1097477915);
+emit_32(1128228848);
+emit_32(3263995904);
+emit_32(1098419431);
+emit_32(1128228848);
+emit_32(3263483911);
+emit_32(1099657118);
+emit_32(1128228848);
+emit_32(3262775296);
+emit_32(1100094951);
+emit_32(1128228848);
+emit_32(3261751309);
+emit_32(1100491260);
+emit_32(1128228848);
+emit_32(3260727296);
+emit_32(1100506884);
+emit_32(1128228848);
+emit_32(3259703309);
+emit_32(1099794324);
+emit_32(1128228848);
+emit_32(3258679296);
+emit_32(1099789291);
+emit_32(1128228848);
+emit_32(3257655309);
+emit_32(1100379115);
+emit_32(1128228848);
+emit_32(3256631296);
+emit_32(1100923221);
+emit_32(1128228848);
+emit_32(3255607309);
+emit_32(1100371932);
+emit_32(1128228848);
+emit_32(3254386688);
+emit_32(1100316148);
+emit_32(1128228848);
+emit_32(3252338714);
+emit_32(1100515692);
+emit_32(1128228848);
+emit_32(3250290688);
+emit_32(1100307916);
+emit_32(1128228848);
+emit_32(3248242714);
+emit_32(1099810210);
+emit_32(1128228848);
+emit_32(3245998080);
+emit_32(1099154640);
+emit_32(1128228848);
+emit_32(3241902132);
+emit_32(1098355573);
+emit_32(1128228848);
+emit_32(3237609472);
+emit_32(1097472777);
+emit_32(1128228848);
+emit_32(3229220864);
+emit_32(1096682465);
+emit_32(1128228848);
+emit_32(0);
+emit_32(1096577398);
+emit_32(1128228848);
+emit_32(1081737216);
+emit_32(1097223216);
+emit_32(1128228848);
+emit_32(3279552512);
+emit_32(1086853617);
+emit_32(1127972864);
+emit_32(3279296528);
+emit_32(1086298564);
+emit_32(1127972864);
+emit_32(3279040545);
+emit_32(1085278425);
+emit_32(1127972864);
+emit_32(3278784496);
+emit_32(1085319131);
+emit_32(1127972864);
+emit_32(3278528512);
+emit_32(1090251360);
+emit_32(1127972864);
+emit_32(3278272528);
+emit_32(1092641777);
+emit_32(1127972864);
+emit_32(3278016545);
+emit_32(1093620623);
+emit_32(1127972864);
+emit_32(3277760496);
+emit_32(1094102653);
+emit_32(1127972864);
+emit_32(3277504512);
+emit_32(1093830758);
+emit_32(1127972864);
+emit_32(3277248528);
+emit_32(1094796916);
+emit_32(1127972864);
+emit_32(3276992545);
+emit_32(1093478751);
+emit_32(1127972864);
+emit_32(3276736496);
+emit_32(1091477050);
+emit_32(1127972864);
+emit_32(3276480512);
+emit_32(1089930831);
+emit_32(1127972864);
+emit_32(3276224528);
+emit_32(1091537375);
+emit_32(1127972864);
+emit_32(3275968545);
+emit_32(1093540302);
+emit_32(1127972864);
+emit_32(3275712496);
+emit_32(1095329278);
+emit_32(1127972864);
+emit_32(3275456512);
+emit_32(1096120323);
+emit_32(1127972864);
+emit_32(3275200528);
+emit_32(1096433743);
+emit_32(1127972864);
+emit_32(3274944545);
+emit_32(1096683304);
+emit_32(1127972864);
+emit_32(3274688496);
+emit_32(1096592182);
+emit_32(1127972864);
+emit_32(3274432512);
+emit_32(1095725220);
+emit_32(1127972864);
+emit_32(3274176528);
+emit_32(1094999815);
+emit_32(1127972864);
+emit_32(3273920545);
+emit_32(1094300520);
+emit_32(1127972864);
+emit_32(3273664496);
+emit_32(1093576583);
+emit_32(1127972864);
+emit_32(3273408512);
+emit_32(1092872779);
+emit_32(1127972864);
+emit_32(3273152528);
+emit_32(1091911098);
+emit_32(1127972864);
+emit_32(3272896545);
+emit_32(1091753434);
+emit_32(1127972864);
+emit_32(3272640496);
+emit_32(1092133438);
+emit_32(1127972864);
+emit_32(3272384512);
+emit_32(1093071169);
+emit_32(1127972864);
+emit_32(3272128528);
+emit_32(1094518728);
+emit_32(1127972864);
+emit_32(3271872545);
+emit_32(1096084986);
+emit_32(1127972864);
+emit_32(3271616496);
+emit_32(1096360657);
+emit_32(1127972864);
+emit_32(3271163904);
+emit_32(1096731014);
+emit_32(1127972864);
+emit_32(3270651937);
+emit_32(1098285738);
+emit_32(1127972864);
+emit_32(3270139970);
+emit_32(1099415631);
+emit_32(1127972864);
+emit_32(3269627871);
+emit_32(1099949408);
+emit_32(1127972864);
+emit_32(3269115904);
+emit_32(1100367161);
+emit_32(1127972864);
+emit_32(3268603937);
+emit_32(1100361866);
+emit_32(1127972864);
+emit_32(3268091970);
+emit_32(1100305714);
+emit_32(1127972864);
+emit_32(3267579911);
+emit_32(1100208354);
+emit_32(1127972864);
+emit_32(3267067904);
+emit_32(1100142975);
+emit_32(1127972864);
+emit_32(3266555911);
+emit_32(1099102421);
+emit_32(1127972864);
+emit_32(3266043904);
+emit_32(1097385430);
+emit_32(1127972864);
+emit_32(3265531911);
+emit_32(1097822162);
+emit_32(1127972864);
+emit_32(3265019904);
+emit_32(1098963275);
+emit_32(1127972864);
+emit_32(3264507911);
+emit_32(1097304900);
+emit_32(1127972864);
+emit_32(3263995904);
+emit_32(1097683121);
+emit_32(1127972864);
+emit_32(3263483911);
+emit_32(1099069810);
+emit_32(1127972864);
+emit_32(3262775296);
+emit_32(1099605213);
+emit_32(1127972864);
+emit_32(3261751309);
+emit_32(1100129868);
+emit_32(1127972864);
+emit_32(3260727296);
+emit_32(1100106433);
+emit_32(1127972864);
+emit_32(3259703309);
+emit_32(1099661207);
+emit_32(1127972864);
+emit_32(3258679296);
+emit_32(1099945896);
+emit_32(1127972864);
+emit_32(3257655309);
+emit_32(1100312216);
+emit_32(1127972864);
+emit_32(3256631296);
+emit_32(1100604401);
+emit_32(1127972864);
+emit_32(3255607309);
+emit_32(1101000920);
+emit_32(1127972864);
+emit_32(3254386688);
+emit_32(1100943301);
+emit_32(1127972864);
+emit_32(3252338714);
+emit_32(1100628886);
+emit_32(1127972864);
+emit_32(3250290688);
+emit_32(1100484759);
+emit_32(1127972864);
+emit_32(3248242714);
+emit_32(1099700843);
+emit_32(1127972864);
+emit_32(3245998080);
+emit_32(1099261752);
+emit_32(1127972864);
+emit_32(3241902132);
+emit_32(1098560045);
+emit_32(1127972864);
+emit_32(3237609472);
+emit_32(1097453588);
+emit_32(1127972864);
+emit_32(3229220864);
+emit_32(1096754712);
+emit_32(1127972864);
+emit_32(0);
+emit_32(1097041812);
+emit_32(1127972864);
+emit_32(1081737216);
+emit_32(1096992739);
+emit_32(1127972864);
+emit_32(3279552512);
+emit_32(1088632086);
+emit_32(1127716880);
+emit_32(3279296528);
+emit_32(1087150511);
+emit_32(1127716880);
+emit_32(3279040545);
+emit_32(1085863719);
+emit_32(1127716880);
+emit_32(3278784496);
+emit_32(1084379313);
+emit_32(1127716880);
+emit_32(3278528512);
+emit_32(1086294621);
+emit_32(1127716880);
+emit_32(3278272528);
+emit_32(1089793845);
+emit_32(1127716880);
+emit_32(3278016545);
+emit_32(1091311124);
+emit_32(1127716880);
+emit_32(3277760496);
+emit_32(1092520195);
+emit_32(1127716880);
+emit_32(3277504512);
+emit_32(1092832933);
+emit_32(1127716880);
+emit_32(3277248528);
+emit_32(1092827899);
+emit_32(1127716880);
+emit_32(3276992545);
+emit_32(1091811620);
+emit_32(1127716880);
+emit_32(3276736496);
+emit_32(1089828825);
+emit_32(1127716880);
+emit_32(3276480512);
+emit_32(1090682052);
+emit_32(1127716880);
+emit_32(3276224528);
+emit_32(1092010839);
+emit_32(1127716880);
+emit_32(3275968545);
+emit_32(1093459876);
+emit_32(1127716880);
+emit_32(3275712496);
+emit_32(1096080897);
+emit_32(1127716880);
+emit_32(3275456512);
+emit_32(1096807455);
+emit_32(1127716880);
+emit_32(3275200528);
+emit_32(1096413086);
+emit_32(1127716880);
+emit_32(3274944545);
+emit_32(1096350381);
+emit_32(1127716880);
+emit_32(3274688496);
+emit_32(1096323642);
+emit_32(1127716880);
+emit_32(3274432512);
+emit_32(1095633784);
+emit_32(1127716880);
+emit_32(3274176528);
+emit_32(1094753714);
+emit_32(1127716880);
+emit_32(3273920545);
+emit_32(1094125198);
+emit_32(1127716880);
+emit_32(3273664496);
+emit_32(1093062361);
+emit_32(1127716880);
+emit_32(3273408512);
+emit_32(1093213041);
+emit_32(1127716880);
+emit_32(3273152528);
+emit_32(1093187876);
+emit_32(1127716880);
+emit_32(3272896545);
+emit_32(1094195347);
+emit_32(1127716880);
+emit_32(3272640496);
+emit_32(1094880172);
+emit_32(1127716880);
+emit_32(3272384512);
+emit_32(1095364719);
+emit_32(1127716880);
+emit_32(3272128528);
+emit_32(1096288829);
+emit_32(1127716880);
+emit_32(3271872545);
+emit_32(1097163132);
+emit_32(1127716880);
+emit_32(3271616496);
+emit_32(1097356385);
+emit_32(1127716880);
+emit_32(3271163904);
+emit_32(1098373084);
+emit_32(1127716880);
+emit_32(3270651937);
+emit_32(1099643172);
+emit_32(1127716880);
+emit_32(3270139970);
+emit_32(1099931949);
+emit_32(1127716880);
+emit_32(3269627871);
+emit_32(1100246260);
+emit_32(1127716880);
+emit_32(3269115904);
+emit_32(1100634600);
+emit_32(1127716880);
+emit_32(3268603937);
+emit_32(1100611741);
+emit_32(1127716880);
+emit_32(3268091970);
+emit_32(1100940417);
+emit_32(1127716880);
+emit_32(3267579911);
+emit_32(1100834564);
+emit_32(1127716880);
+emit_32(3267067904);
+emit_32(1100309804);
+emit_32(1127716880);
+emit_32(3266555911);
+emit_32(1099846386);
+emit_32(1127716880);
+emit_32(3266043904);
+emit_32(1098992216);
+emit_32(1127716880);
+emit_32(3265531911);
+emit_32(1098681051);
+emit_32(1127716880);
+emit_32(3265019904);
+emit_32(1098547986);
+emit_32(1127716880);
+emit_32(3264507911);
+emit_32(1097247857);
+emit_32(1127716880);
+emit_32(3263995904);
+emit_32(1097448345);
+emit_32(1127716880);
+emit_32(3263483911);
+emit_32(1098445645);
+emit_32(1127716880);
+emit_32(3262775296);
+emit_32(1098977798);
+emit_32(1127716880);
+emit_32(3261751309);
+emit_32(1099491390);
+emit_32(1127716880);
+emit_32(3260727296);
+emit_32(1099337145);
+emit_32(1127716880);
+emit_32(3259703309);
+emit_32(1099792908);
+emit_32(1127716880);
+emit_32(3258679296);
+emit_32(1100235722);
+emit_32(1127716880);
+emit_32(3257655309);
+emit_32(1100866336);
+emit_32(1127716880);
+emit_32(3256631296);
+emit_32(1101422448);
+emit_32(1127716880);
+emit_32(3255607309);
+emit_32(1101221855);
+emit_32(1127716880);
+emit_32(3254386688);
+emit_32(1101088005);
+emit_32(1127716880);
+emit_32(3252338714);
+emit_32(1100972556);
+emit_32(1127716880);
+emit_32(3250290688);
+emit_32(1100202325);
+emit_32(1127716880);
+emit_32(3248242714);
+emit_32(1099418409);
+emit_32(1127716880);
+emit_32(3245998080);
+emit_32(1098944243);
+emit_32(1127716880);
+emit_32(3241902132);
+emit_32(1098327366);
+emit_32(1127716880);
+emit_32(3237609472);
+emit_32(1097923455);
+emit_32(1127716880);
+emit_32(3229220864);
+emit_32(1098086089);
+emit_32(1127716880);
+emit_32(0);
+emit_32(1097086481);
+emit_32(1127716880);
+emit_32(1081737216);
+emit_32(1096797703);
+emit_32(1127716880);
+emit_32(3279552512);
+emit_32(1090697067);
+emit_32(1127460897);
+emit_32(3279296528);
+emit_32(1088464754);
+emit_32(1127460897);
+emit_32(3279040545);
+emit_32(1087359387);
+emit_32(1127460897);
+emit_32(3278784496);
+emit_32(1086695387);
+emit_32(1127460897);
+emit_32(3278528512);
+emit_32(1083514070);
+emit_32(1127460897);
+emit_32(3278272528);
+emit_32(1084835276);
+emit_32(1127460897);
+emit_32(3278016545);
+emit_32(1088646514);
+emit_32(1127460897);
+emit_32(3277760496);
+emit_32(1090551147);
+emit_32(1127460897);
+emit_32(3277504512);
+emit_32(1091910700);
+emit_32(1127460897);
+emit_32(3277248528);
+emit_32(1091808013);
+emit_32(1127460897);
+emit_32(3276992545);
+emit_32(1091196294);
+emit_32(1127460897);
+emit_32(3276736496);
+emit_32(1090026922);
+emit_32(1127460897);
+emit_32(3276480512);
+emit_32(1090912801);
+emit_32(1127460897);
+emit_32(3276224528);
+emit_32(1091162887);
+emit_32(1127460897);
+emit_32(3275968545);
+emit_32(1093409649);
+emit_32(1127460897);
+emit_32(3275712496);
+emit_32(1094918970);
+emit_32(1127460897);
+emit_32(3275456512);
+emit_32(1096294177);
+emit_32(1127460897);
+emit_32(3275200528);
+emit_32(1096363698);
+emit_32(1127460897);
+emit_32(3274944545);
+emit_32(1096394421);
+emit_32(1127460897);
+emit_32(3274688496);
+emit_32(1096326893);
+emit_32(1127460897);
+emit_32(3274432512);
+emit_32(1095806484);
+emit_32(1127460897);
+emit_32(3274176528);
+emit_32(1096379007);
+emit_32(1127460897);
+emit_32(3273920545);
+emit_32(1096041470);
+emit_32(1127460897);
+emit_32(3273664496);
+emit_32(1094485488);
+emit_32(1127460897);
+emit_32(3273408512);
+emit_32(1095082128);
+emit_32(1127460897);
+emit_32(3273152528);
+emit_32(1095898969);
+emit_32(1127460897);
+emit_32(3272896545);
+emit_32(1096463208);
+emit_32(1127460897);
+emit_32(3272640496);
+emit_32(1096556741);
+emit_32(1127460897);
+emit_32(3272384512);
+emit_32(1096834613);
+emit_32(1127460897);
+emit_32(3272128528);
+emit_32(1098017826);
+emit_32(1127460897);
+emit_32(3271872545);
+emit_32(1098909745);
+emit_32(1127460897);
+emit_32(3271616496);
+emit_32(1099379035);
+emit_32(1127460897);
+emit_32(3271163904);
+emit_32(1099621519);
+emit_32(1127460897);
+emit_32(3270651937);
+emit_32(1100273890);
+emit_32(1127460897);
+emit_32(3270139970);
+emit_32(1100651587);
+emit_32(1127460897);
+emit_32(3269627871);
+emit_32(1100583063);
+emit_32(1127460897);
+emit_32(3269115904);
+emit_32(1100899471);
+emit_32(1127460897);
+emit_32(3268603937);
+emit_32(1101366926);
+emit_32(1127460897);
+emit_32(3268091970);
+emit_32(1101899183);
+emit_32(1127460897);
+emit_32(3267579911);
+emit_32(1101822427);
+emit_32(1127460897);
+emit_32(3267067904);
+emit_32(1101218290);
+emit_32(1127460897);
+emit_32(3266555911);
+emit_32(1100574150);
+emit_32(1127460897);
+emit_32(3266043904);
+emit_32(1100108005);
+emit_32(1127460897);
+emit_32(3265531911);
+emit_32(1099514144);
+emit_32(1127460897);
+emit_32(3265019904);
+emit_32(1098172701);
+emit_32(1127460897);
+emit_32(3264507911);
+emit_32(1096910216);
+emit_32(1127460897);
+emit_32(3263995904);
+emit_32(1097118253);
+emit_32(1127460897);
+emit_32(3263483911);
+emit_32(1097919785);
+emit_32(1127460897);
+emit_32(3262775296);
+emit_32(1098225759);
+emit_32(1127460897);
+emit_32(3261751309);
+emit_32(1098294021);
+emit_32(1127460897);
+emit_32(3260727296);
+emit_32(1099564476);
+emit_32(1127460897);
+emit_32(3259703309);
+emit_32(1100155453);
+emit_32(1127460897);
+emit_32(3258679296);
+emit_32(1100660343);
+emit_32(1127460897);
+emit_32(3257655309);
+emit_32(1101117574);
+emit_32(1127460897);
+emit_32(3256631296);
+emit_32(1101606787);
+emit_32(1127460897);
+emit_32(3255607309);
+emit_32(1101430155);
+emit_32(1127460897);
+emit_32(3254386688);
+emit_32(1100673712);
+emit_32(1127460897);
+emit_32(3252338714);
+emit_32(1100216585);
+emit_32(1127460897);
+emit_32(3250290688);
+emit_32(1099492858);
+emit_32(1127460897);
+emit_32(3248242714);
+emit_32(1098998822);
+emit_32(1127460897);
+emit_32(3245998080);
+emit_32(1097972423);
+emit_32(1127460897);
+emit_32(3241902132);
+emit_32(1098463681);
+emit_32(1127460897);
+emit_32(3237609472);
+emit_32(1099098961);
+emit_32(1127460897);
+emit_32(3229220864);
+emit_32(1099075315);
+emit_32(1127460897);
+emit_32(0);
+emit_32(1098576717);
+emit_32(1127460897);
+emit_32(1081737216);
+emit_32(1097521955);
+emit_32(1127460897);
+emit_32(3279552512);
+emit_32(1091907942);
+emit_32(1127204848);
+emit_32(3279296528);
+emit_32(1090913000);
+emit_32(1127204848);
+emit_32(3279040545);
+emit_32(1089627792);
+emit_32(1127204848);
+emit_32(3278784496);
+emit_32(1088453282);
+emit_32(1127204848);
+emit_32(3278528512);
+emit_32(1085638149);
+emit_32(1127204848);
+emit_32(3278272528);
+emit_32(1082820290);
+emit_32(1127204848);
+emit_32(3278016545);
+emit_32(1084647581);
+emit_32(1127204848);
+emit_32(3277760496);
+emit_32(1086976132);
+emit_32(1127204848);
+emit_32(3277504512);
+emit_32(1089606024);
+emit_32(1127204848);
+emit_32(3277248528);
+emit_32(1090895206);
+emit_32(1127204848);
+emit_32(3276992545);
+emit_32(1090776528);
+emit_32(1127204848);
+emit_32(3276736496);
+emit_32(1089657215);
+emit_32(1127204848);
+emit_32(3276480512);
+emit_32(1090767154);
+emit_32(1127204848);
+emit_32(3276224528);
+emit_32(1091192603);
+emit_32(1127204848);
+emit_32(3275968545);
+emit_32(1093123912);
+emit_32(1127204848);
+emit_32(3275712496);
+emit_32(1094534667);
+emit_32(1127204848);
+emit_32(3275456512);
+emit_32(1096318399);
+emit_32(1127204848);
+emit_32(3275200528);
+emit_32(1097169319);
+emit_32(1127204848);
+emit_32(3274944545);
+emit_32(1096886518);
+emit_32(1127204848);
+emit_32(3274688496);
+emit_32(1097439642);
+emit_32(1127204848);
+emit_32(3274432512);
+emit_32(1096797599);
+emit_32(1127204848);
+emit_32(3274176528);
+emit_32(1096554224);
+emit_32(1127204848);
+emit_32(3273920545);
+emit_32(1096240490);
+emit_32(1127204848);
+emit_32(3273664496);
+emit_32(1096477363);
+emit_32(1127204848);
+emit_32(3273408512);
+emit_32(1097087635);
+emit_32(1127204848);
+emit_32(3273152528);
+emit_32(1097338349);
+emit_32(1127204848);
+emit_32(3272896545);
+emit_32(1097759457);
+emit_32(1127204848);
+emit_32(3272640496);
+emit_32(1097880778);
+emit_32(1127204848);
+emit_32(3272384512);
+emit_32(1098146906);
+emit_32(1127204848);
+emit_32(3272128528);
+emit_32(1099303643);
+emit_32(1127204848);
+emit_32(3271872545);
+emit_32(1099944532);
+emit_32(1127204848);
+emit_32(3271616496);
+emit_32(1100242905);
+emit_32(1127204848);
+emit_32(3271163904);
+emit_32(1100588882);
+emit_32(1127204848);
+emit_32(3270651937);
+emit_32(1100605502);
+emit_32(1127204848);
+emit_32(3270139970);
+emit_32(1100742289);
+emit_32(1127204848);
+emit_32(3269627871);
+emit_32(1101124128);
+emit_32(1127204848);
+emit_32(3269115904);
+emit_32(1101735972);
+emit_32(1127204848);
+emit_32(3268603937);
+emit_32(1102084728);
+emit_32(1127204848);
+emit_32(3268091970);
+emit_32(1102719903);
+emit_32(1127204848);
+emit_32(3267579911);
+emit_32(1102404177);
+emit_32(1127204848);
+emit_32(3267067904);
+emit_32(1101692613);
+emit_32(1127204848);
+emit_32(3266555911);
+emit_32(1101323724);
+emit_32(1127204848);
+emit_32(3266043904);
+emit_32(1100739353);
+emit_32(1127204848);
+emit_32(3265531911);
+emit_32(1100060977);
+emit_32(1127204848);
+emit_32(3265019904);
+emit_32(1098668153);
+emit_32(1127204848);
+emit_32(3264507911);
+emit_32(1097066139);
+emit_32(1127204848);
+emit_32(3263995904);
+emit_32(1097240936);
+emit_32(1127204848);
+emit_32(3263483911);
+emit_32(1098056099);
+emit_32(1127204848);
+emit_32(3262775296);
+emit_32(1098692270);
+emit_32(1127204848);
+emit_32(3261751309);
+emit_32(1099028339);
+emit_32(1127204848);
+emit_32(3260727296);
+emit_32(1099487406);
+emit_32(1127204848);
+emit_32(3259703309);
+emit_32(1100464154);
+emit_32(1127204848);
+emit_32(3258679296);
+emit_32(1100643146);
+emit_32(1127204848);
+emit_32(3257655309);
+emit_32(1100685089);
+emit_32(1127204848);
+emit_32(3256631296);
+emit_32(1100823658);
+emit_32(1127204848);
+emit_32(3255607309);
+emit_32(1100633027);
+emit_32(1127204848);
+emit_32(3254386688);
+emit_32(1100238553);
+emit_32(1127204848);
+emit_32(3252338714);
+emit_32(1099137706);
+emit_32(1127204848);
+emit_32(3250290688);
+emit_32(1098443758);
+emit_32(1127204848);
+emit_32(3248242714);
+emit_32(1098669202);
+emit_32(1127204848);
+emit_32(3245998080);
+emit_32(1099104571);
+emit_32(1127204848);
+emit_32(3241902132);
+emit_32(1099412328);
+emit_32(1127204848);
+emit_32(3237609472);
+emit_32(1099546755);
+emit_32(1127204848);
+emit_32(3229220864);
+emit_32(1099464966);
+emit_32(1127204848);
+emit_32(0);
+emit_32(1099096864);
+emit_32(1127204848);
+emit_32(1081737216);
+emit_32(1098169765);
+emit_32(1127204848);
+emit_32(3279552512);
+emit_32(1092650690);
+emit_32(1126948864);
+emit_32(3279296528);
+emit_32(1091119434);
+emit_32(1126948864);
+emit_32(3279040545);
+emit_32(1090136415);
+emit_32(1126948864);
+emit_32(3278784496);
+emit_32(1088411612);
+emit_32(1126948864);
+emit_32(3278528512);
+emit_32(1085469077);
+emit_32(1126948864);
+emit_32(3278272528);
+emit_32(1083833424);
+emit_32(1126948864);
+emit_32(3278016545);
+emit_32(1083689035);
+emit_32(1126948864);
+emit_32(3277760496);
+emit_32(1085122711);
+emit_32(1126948864);
+emit_32(3277504512);
+emit_32(1086667243);
+emit_32(1126948864);
+emit_32(3277248528);
+emit_32(1087657958);
+emit_32(1126948864);
+emit_32(3276992545);
+emit_32(1088371095);
+emit_32(1126948864);
+emit_32(3276736496);
+emit_32(1089466354);
+emit_32(1126948864);
+emit_32(3276480512);
+emit_32(1091055439);
+emit_32(1126948864);
+emit_32(3276224528);
+emit_32(1090400677);
+emit_32(1126948864);
+emit_32(3275968545);
+emit_32(1092101142);
+emit_32(1126948864);
+emit_32(3275712496);
+emit_32(1093636037);
+emit_32(1126948864);
+emit_32(3275456512);
+emit_32(1095931999);
+emit_32(1126948864);
+emit_32(3275200528);
+emit_32(1096626890);
+emit_32(1126948864);
+emit_32(3274944545);
+emit_32(1098060923);
+emit_32(1126948864);
+emit_32(3274688496);
+emit_32(1097783994);
+emit_32(1126948864);
+emit_32(3274432512);
+emit_32(1096721367);
+emit_32(1126948864);
+emit_32(3274176528);
+emit_32(1097047264);
+emit_32(1126948864);
+emit_32(3273920545);
+emit_32(1096218051);
+emit_32(1126948864);
+emit_32(3273664496);
+emit_32(1096743282);
+emit_32(1126948864);
+emit_32(3273408512);
+emit_32(1097750335);
+emit_32(1126948864);
+emit_32(3273152528);
+emit_32(1098166619);
+emit_32(1126948864);
+emit_32(3272896545);
+emit_32(1097872074);
+emit_32(1126948864);
+emit_32(3272640496);
+emit_32(1097941595);
+emit_32(1126948864);
+emit_32(3272384512);
+emit_32(1098064383);
+emit_32(1126948864);
+emit_32(3272128528);
+emit_32(1099511103);
+emit_32(1126948864);
+emit_32(3271872545);
+emit_32(1100417545);
+emit_32(1126948864);
+emit_32(3271616496);
+emit_32(1100756969);
+emit_32(1126948864);
+emit_32(3271163904);
+emit_32(1100841956);
+emit_32(1126948864);
+emit_32(3270651937);
+emit_32(1100819517);
+emit_32(1126948864);
+emit_32(3270139970);
+emit_32(1101316280);
+emit_32(1126948864);
+emit_32(3269627871);
+emit_32(1101803658);
+emit_32(1126948864);
+emit_32(3269115904);
+emit_32(1102338327);
+emit_32(1126948864);
+emit_32(3268603937);
+emit_32(1102614679);
+emit_32(1126948864);
+emit_32(3268091970);
+emit_32(1102899577);
+emit_32(1126948864);
+emit_32(3267579911);
+emit_32(1102273472);
+emit_32(1126948864);
+emit_32(3267067904);
+emit_32(1102032300);
+emit_32(1126948864);
+emit_32(3266555911);
+emit_32(1102213336);
+emit_32(1126948864);
+emit_32(3266043904);
+emit_32(1101920154);
+emit_32(1126948864);
+emit_32(3265531911);
+emit_32(1101073377);
+emit_32(1126948864);
+emit_32(3265019904);
+emit_32(1099747453);
+emit_32(1126948864);
+emit_32(3264507911);
+emit_32(1097970221);
+emit_32(1126948864);
+emit_32(3263995904);
+emit_32(1098951583);
+emit_32(1126948864);
+emit_32(3263483911);
+emit_32(1099125385);
+emit_32(1126948864);
+emit_32(3262775296);
+emit_32(1099384383);
+emit_32(1126948864);
+emit_32(3261751309);
+emit_32(1099297666);
+emit_32(1126948864);
+emit_32(3260727296);
+emit_32(1099151914);
+emit_32(1126948864);
+emit_32(3259703309);
+emit_32(1100003043);
+emit_32(1126948864);
+emit_32(3258679296);
+emit_32(1100391278);
+emit_32(1126948864);
+emit_32(3257655309);
+emit_32(1100196872);
+emit_32(1126948864);
+emit_32(3256631296);
+emit_32(1100006189);
+emit_32(1126948864);
+emit_32(3255607309);
+emit_32(1100085251);
+emit_32(1126948864);
+emit_32(3254386688);
+emit_32(1099464704);
+emit_32(1126948864);
+emit_32(3252338714);
+emit_32(1098192624);
+emit_32(1126948864);
+emit_32(3250290688);
+emit_32(1098051695);
+emit_32(1126948864);
+emit_32(3248242714);
+emit_32(1099538104);
+emit_32(1126948864);
+emit_32(3245998080);
+emit_32(1100121060);
+emit_32(1126948864);
+emit_32(3241902132);
+emit_32(1100174380);
+emit_32(1126948864);
+emit_32(3237609472);
+emit_32(1100128138);
+emit_32(1126948864);
+emit_32(3229220864);
+emit_32(1099728526);
+emit_32(1126948864);
+emit_32(0);
+emit_32(1099015494);
+emit_32(1126948864);
+emit_32(1081737216);
+emit_32(1098949119);
+emit_32(1126948864);
+emit_32(3279552512);
+emit_32(1092053820);
+emit_32(1126692880);
+emit_32(3279296528);
+emit_32(1091482168);
+emit_32(1126692880);
+emit_32(3279040545);
+emit_32(1090170556);
+emit_32(1126692880);
+emit_32(3278784496);
+emit_32(1089291577);
+emit_32(1126692880);
+emit_32(3278528512);
+emit_32(1087031308);
+emit_32(1126692880);
+emit_32(3278272528);
+emit_32(1085157335);
+emit_32(1126692880);
+emit_32(3278016545);
+emit_32(1082956060);
+emit_32(1126692880);
+emit_32(3277760496);
+emit_32(1079787745);
+emit_32(1126692880);
+emit_32(3277504512);
+emit_32(1083066831);
+emit_32(1126692880);
+emit_32(3277248528);
+emit_32(1084997260);
+emit_32(1126692880);
+emit_32(3276992545);
+emit_32(1086936056);
+emit_32(1126692880);
+emit_32(3276736496);
+emit_32(1087077194);
+emit_32(1126692880);
+emit_32(3276480512);
+emit_32(1089181120);
+emit_32(1126692880);
+emit_32(3276224528);
+emit_32(1090090592);
+emit_32(1126692880);
+emit_32(3275968545);
+emit_32(1091979287);
+emit_32(1126692880);
+emit_32(3275712496);
+emit_32(1093947779);
+emit_32(1126692880);
+emit_32(3275456512);
+emit_32(1095104148);
+emit_32(1126692880);
+emit_32(3275200528);
+emit_32(1097546806);
+emit_32(1126692880);
+emit_32(3274944545);
+emit_32(1098312476);
+emit_32(1126692880);
+emit_32(3274688496);
+emit_32(1098096050);
+emit_32(1126692880);
+emit_32(3274432512);
+emit_32(1096460062);
+emit_32(1126692880);
+emit_32(3274176528);
+emit_32(1096848350);
+emit_32(1126692880);
+emit_32(3273920545);
+emit_32(1096377539);
+emit_32(1126692880);
+emit_32(3273664496);
+emit_32(1097570714);
+emit_32(1126692880);
+emit_32(3273408512);
+emit_32(1098430756);
+emit_32(1126692880);
+emit_32(3273152528);
+emit_32(1099100848);
+emit_32(1126692880);
+emit_32(3272896545);
+emit_32(1099443103);
+emit_32(1126692880);
+emit_32(3272640496);
+emit_32(1099024459);
+emit_32(1126692880);
+emit_32(3272384512);
+emit_32(1097976827);
+emit_32(1126692880);
+emit_32(3272128528);
+emit_32(1099397281);
+emit_32(1126692880);
+emit_32(3271872545);
+emit_32(1100167250);
+emit_32(1126692880);
+emit_32(3271616496);
+emit_32(1101001916);
+emit_32(1126692880);
+emit_32(3271163904);
+emit_32(1101218133);
+emit_32(1126692880);
+emit_32(3270651937);
+emit_32(1101763445);
+emit_32(1126692880);
+emit_32(3270139970);
+emit_32(1102254703);
+emit_32(1126692880);
+emit_32(3269627871);
+emit_32(1102306188);
+emit_32(1126692880);
+emit_32(3269115904);
+emit_32(1102526179);
+emit_32(1126692880);
+emit_32(3268603937);
+emit_32(1102836453);
+emit_32(1126692880);
+emit_32(3268091970);
+emit_32(1102582120);
+emit_32(1126692880);
+emit_32(3267579911);
+emit_32(1102493673);
+emit_32(1126692880);
+emit_32(3267067904);
+emit_32(1102731752);
+emit_32(1126692880);
+emit_32(3266555911);
+emit_32(1102752566);
+emit_32(1126692880);
+emit_32(3266043904);
+emit_32(1102414243);
+emit_32(1126692880);
+emit_32(3265531911);
+emit_32(1101987945);
+emit_32(1126692880);
+emit_32(3265019904);
+emit_32(1100347133);
+emit_32(1126692880);
+emit_32(3264507911);
+emit_32(1099205706);
+emit_32(1126692880);
+emit_32(3263995904);
+emit_32(1099525784);
+emit_32(1126692880);
+emit_32(3263483911);
+emit_32(1100012533);
+emit_32(1126692880);
+emit_32(3262775296);
+emit_32(1100473434);
+emit_32(1126692880);
+emit_32(3261751309);
+emit_32(1099686268);
+emit_32(1126692880);
+emit_32(3260727296);
+emit_32(1099578474);
+emit_32(1126692880);
+emit_32(3259703309);
+emit_32(1099386952);
+emit_32(1126692880);
+emit_32(3258679296);
+emit_32(1099512257);
+emit_32(1126692880);
+emit_32(3257655309);
+emit_32(1099849269);
+emit_32(1126692880);
+emit_32(3256631296);
+emit_32(1099792017);
+emit_32(1126692880);
+emit_32(3255607309);
+emit_32(1099326974);
+emit_32(1126692880);
+emit_32(3254386688);
+emit_32(1098936798);
+emit_32(1126692880);
+emit_32(3252338714);
+emit_32(1097635096);
+emit_32(1126692880);
+emit_32(3250290688);
+emit_32(1099347316);
+emit_32(1126692880);
+emit_32(3248242714);
+emit_32(1099939237);
+emit_32(1126692880);
+emit_32(3245998080);
+emit_32(1100173489);
+emit_32(1126692880);
+emit_32(3241902132);
+emit_32(1100441086);
+emit_32(1126692880);
+emit_32(3237609472);
+emit_32(1100198130);
+emit_32(1126692880);
+emit_32(3229220864);
+emit_32(1099547122);
+emit_32(1126692880);
+emit_32(0);
+emit_32(1099279735);
+emit_32(1126692880);
+emit_32(1081737216);
+emit_32(1099508220);
+emit_32(1126692880);
+emit_32(3279552512);
+emit_32(1091859760);
+emit_32(1126436897);
+emit_32(3279296528);
+emit_32(1091230761);
+emit_32(1126436897);
+emit_32(3279040545);
+emit_32(1090930805);
+emit_32(1126436897);
+emit_32(3278784496);
+emit_32(1089555210);
+emit_32(1126436897);
+emit_32(3278528512);
+emit_32(1087108253);
+emit_32(1126436897);
+emit_32(3278272528);
+emit_32(1084241425);
+emit_32(1126436897);
+emit_32(3278016545);
+emit_32(1080584495);
+emit_32(1126436897);
+emit_32(3277760496);
+emit_32(1077009103);
+emit_32(1126436897);
+emit_32(3277504512);
+emit_32(1077476097);
+emit_32(1126436897);
+emit_32(3277248528);
+emit_32(1082163798);
+emit_32(1126436897);
+emit_32(3276992545);
+emit_32(1083224118);
+emit_32(1126436897);
+emit_32(3276736496);
+emit_32(1083925510);
+emit_32(1126436897);
+emit_32(3276480512);
+emit_32(1086781055);
+emit_32(1126436897);
+emit_32(3276224528);
+emit_32(1090787203);
+emit_32(1126436897);
+emit_32(3275968545);
+emit_32(1093020523);
+emit_32(1126436897);
+emit_32(3275712496);
+emit_32(1094356094);
+emit_32(1126436897);
+emit_32(3275456512);
+emit_32(1095272654);
+emit_32(1126436897);
+emit_32(3275200528);
+emit_32(1096919967);
+emit_32(1126436897);
+emit_32(3274944545);
+emit_32(1097664981);
+emit_32(1126436897);
+emit_32(3274688496);
+emit_32(1097850264);
+emit_32(1126436897);
+emit_32(3274432512);
+emit_32(1097462501);
+emit_32(1126436897);
+emit_32(3274176528);
+emit_32(1097374001);
+emit_32(1126436897);
+emit_32(3273920545);
+emit_32(1096574357);
+emit_32(1126436897);
+emit_32(3273664496);
+emit_32(1097971165);
+emit_32(1126436897);
+emit_32(3273408512);
+emit_32(1099181588);
+emit_32(1126436897);
+emit_32(3273152528);
+emit_32(1099865208);
+emit_32(1126436897);
+emit_32(3272896545);
+emit_32(1100222353);
+emit_32(1126436897);
+emit_32(3272640496);
+emit_32(1099751699);
+emit_32(1126436897);
+emit_32(3272384512);
+emit_32(1099151756);
+emit_32(1126436897);
+emit_32(3272128528);
+emit_32(1099314548);
+emit_32(1126436897);
+emit_32(3271872545);
+emit_32(1100567124);
+emit_32(1126436897);
+emit_32(3271616496);
+emit_32(1101301023);
+emit_32(1126436897);
+emit_32(3271163904);
+emit_32(1101937036);
+emit_32(1126436897);
+emit_32(3270651937);
+emit_32(1102452516);
+emit_32(1126436897);
+emit_32(3270139970);
+emit_32(1102878763);
+emit_32(1126436897);
+emit_32(3269627871);
+emit_32(1102764678);
+emit_32(1126436897);
+emit_32(3269115904);
+emit_32(1103315599);
+emit_32(1126436897);
+emit_32(3268603937);
+emit_32(1103337986);
+emit_32(1126436897);
+emit_32(3268091970);
+emit_32(1103125021);
+emit_32(1126436897);
+emit_32(3267579911);
+emit_32(1103452701);
+emit_32(1126436897);
+emit_32(3267067904);
+emit_32(1103518551);
+emit_32(1126436897);
+emit_32(3266555911);
+emit_32(1103087377);
+emit_32(1126436897);
+emit_32(3266043904);
+emit_32(1102707740);
+emit_32(1126436897);
+emit_32(3265531911);
+emit_32(1102273682);
+emit_32(1126436897);
+emit_32(3265019904);
+emit_32(1100733009);
+emit_32(1126436897);
+emit_32(3264507911);
+emit_32(1100143447);
+emit_32(1126436897);
+emit_32(3263995904);
+emit_32(1100648022);
+emit_32(1126436897);
+emit_32(3263483911);
+emit_32(1100809555);
+emit_32(1126436897);
+emit_32(3262775296);
+emit_32(1100886835);
+emit_32(1126436897);
+emit_32(3261751309);
+emit_32(1100168508);
+emit_32(1126436897);
+emit_32(3260727296);
+emit_32(1099798833);
+emit_32(1126436897);
+emit_32(3259703309);
+emit_32(1099326502);
+emit_32(1126436897);
+emit_32(3258679296);
+emit_32(1099188195);
+emit_32(1126436897);
+emit_32(3257655309);
+emit_32(1098951478);
+emit_32(1126436897);
+emit_32(3256631296);
+emit_32(1099140746);
+emit_32(1126436897);
+emit_32(3255607309);
+emit_32(1097892836);
+emit_32(1126436897);
+emit_32(3254386688);
+emit_32(1096986552);
+emit_32(1126436897);
+emit_32(3252338714);
+emit_32(1098931818);
+emit_32(1126436897);
+emit_32(3250290688);
+emit_32(1099424072);
+emit_32(1126436897);
+emit_32(3248242714);
+emit_32(1099604217);
+emit_32(1126436897);
+emit_32(3245998080);
+emit_32(1100206309);
+emit_32(1126436897);
+emit_32(3241902132);
+emit_32(1099889954);
+emit_32(1126436897);
+emit_32(3237609472);
+emit_32(1099854460);
+emit_32(1126436897);
+emit_32(3229220864);
+emit_32(1099540935);
+emit_32(1126436897);
+emit_32(0);
+emit_32(1099312713);
+emit_32(1126436897);
+emit_32(1081737216);
+emit_32(1099149921);
+emit_32(1126436897);
+emit_32(3279552512);
+emit_32(1091110007);
+emit_32(1126180848);
+emit_32(3279296528);
+emit_32(1090566603);
+emit_32(1126180848);
+emit_32(3279040545);
+emit_32(1089927538);
+emit_32(1126180848);
+emit_32(3278784496);
+emit_32(1088849057);
+emit_32(1126180848);
+emit_32(3278528512);
+emit_32(1085306191);
+emit_32(1126180848);
+emit_32(3278272528);
+emit_32(1084238930);
+emit_32(1126180848);
+emit_32(3278016545);
+emit_32(1082904260);
+emit_32(1126180848);
+emit_32(3277760496);
+emit_32(1078098238);
+emit_32(1126180848);
+emit_32(3277504512);
+emit_32(1077638962);
+emit_32(1126180848);
+emit_32(3277248528);
+emit_32(1076413302);
+emit_32(1126180848);
+emit_32(3276992545);
+emit_32(1076646547);
+emit_32(1126180848);
+emit_32(3276736496);
+emit_32(1080275711);
+emit_32(1126180848);
+emit_32(3276480512);
+emit_32(1085520143);
+emit_32(1126180848);
+emit_32(3276224528);
+emit_32(1089702514);
+emit_32(1126180848);
+emit_32(3275968545);
+emit_32(1092246705);
+emit_32(1126180848);
+emit_32(3275712496);
+emit_32(1093963402);
+emit_32(1126180848);
+emit_32(3275456512);
+emit_32(1095512778);
+emit_32(1126180848);
+emit_32(3275200528);
+emit_32(1096063386);
+emit_32(1126180848);
+emit_32(3274944545);
+emit_32(1098150157);
+emit_32(1126180848);
+emit_32(3274688496);
+emit_32(1098201747);
+emit_32(1126180848);
+emit_32(3274432512);
+emit_32(1098080322);
+emit_32(1126180848);
+emit_32(3274176528);
+emit_32(1097170158);
+emit_32(1126180848);
+emit_32(3273920545);
+emit_32(1097720975);
+emit_32(1126180848);
+emit_32(3273664496);
+emit_32(1098994627);
+emit_32(1126180848);
+emit_32(3273408512);
+emit_32(1099145570);
+emit_32(1126180848);
+emit_32(3273152528);
+emit_32(1100249878);
+emit_32(1126180848);
+emit_32(3272896545);
+emit_32(1100617613);
+emit_32(1126180848);
+emit_32(3272640496);
+emit_32(1100383781);
+emit_32(1126180848);
+emit_32(3272384512);
+emit_32(1099661417);
+emit_32(1126180848);
+emit_32(3272128528);
+emit_32(1099771570);
+emit_32(1126180848);
+emit_32(3271872545);
+emit_32(1100856322);
+emit_32(1126180848);
+emit_32(3271616496);
+emit_32(1101777863);
+emit_32(1126180848);
+emit_32(3271163904);
+emit_32(1102608912);
+emit_32(1126180848);
+emit_32(3270651937);
+emit_32(1103420142);
+emit_32(1126180848);
+emit_32(3270139970);
+emit_32(1104133541);
+emit_32(1126180848);
+emit_32(3269627871);
+emit_32(1104300737);
+emit_32(1126180848);
+emit_32(3269115904);
+emit_32(1104750366);
+emit_32(1126180848);
+emit_32(3268603937);
+emit_32(1104692327);
+emit_32(1126180848);
+emit_32(3268091970);
+emit_32(1104180255);
+emit_32(1126180848);
+emit_32(3267579911);
+emit_32(1104286004);
+emit_32(1126180848);
+emit_32(3267067904);
+emit_32(1104294760);
+emit_32(1126180848);
+emit_32(3266555911);
+emit_32(1103989519);
+emit_32(1126180848);
+emit_32(3266043904);
+emit_32(1103116370);
+emit_32(1126180848);
+emit_32(3265531911);
+emit_32(1102176374);
+emit_32(1126180848);
+emit_32(3265019904);
+emit_32(1101252683);
+emit_32(1126180848);
+emit_32(3264507911);
+emit_32(1100807091);
+emit_32(1126180848);
+emit_32(3263995904);
+emit_32(1101057072);
+emit_32(1126180848);
+emit_32(3263483911);
+emit_32(1101590954);
+emit_32(1126180848);
+emit_32(3262775296);
+emit_32(1101241516);
+emit_32(1126180848);
+emit_32(3261751309);
+emit_32(1100721632);
+emit_32(1126180848);
+emit_32(3260727296);
+emit_32(1100065328);
+emit_32(1126180848);
+emit_32(3259703309);
+emit_32(1099340867);
+emit_32(1126180848);
+emit_32(3258679296);
+emit_32(1099102631);
+emit_32(1126180848);
+emit_32(3257655309);
+emit_32(1098007550);
+emit_32(1126180848);
+emit_32(3256631296);
+emit_32(1097436391);
+emit_32(1126180848);
+emit_32(3255607309);
+emit_32(1097548589);
+emit_32(1126180848);
+emit_32(3254386688);
+emit_32(1097682282);
+emit_32(1126180848);
+emit_32(3252338714);
+emit_32(1099124127);
+emit_32(1126180848);
+emit_32(3250290688);
+emit_32(1098983145);
+emit_32(1126180848);
+emit_32(3248242714);
+emit_32(1099734136);
+emit_32(1126180848);
+emit_32(3245998080);
+emit_32(1099916745);
+emit_32(1126180848);
+emit_32(3241902132);
+emit_32(1099462450);
+emit_32(1126180848);
+emit_32(3237609472);
+emit_32(1099513410);
+emit_32(1126180848);
+emit_32(3229220864);
+emit_32(1099346425);
+emit_32(1126180848);
+emit_32(0);
+emit_32(1099133931);
+emit_32(1126180848);
+emit_32(1081737216);
+emit_32(1099236901);
+emit_32(1126180848);
+emit_32(3279552512);
+emit_32(1089511002);
+emit_32(1125924864);
+emit_32(3279296528);
+emit_32(1089751084);
+emit_32(1125924864);
+emit_32(3279040545);
+emit_32(1089625192);
+emit_32(1125924864);
+emit_32(3278784496);
+emit_32(1088308768);
+emit_32(1125924864);
+emit_32(3278528512);
+emit_32(1083791334);
+emit_32(1125924864);
+emit_32(3278272528);
+emit_32(1083037702);
+emit_32(1125924864);
+emit_32(3278016545);
+emit_32(1082409647);
+emit_32(1125924864);
+emit_32(3277760496);
+emit_32(1076909237);
+emit_32(1125924864);
+emit_32(3277504512);
+emit_32(1076578474);
+emit_32(1125924864);
+emit_32(3277248528);
+emit_32(1079282500);
+emit_32(1125924864);
+emit_32(3276992545);
+emit_32(1079322891);
+emit_32(1125924864);
+emit_32(3276736496);
+emit_32(1080482867);
+emit_32(1125924864);
+emit_32(3276480512);
+emit_32(1083066517);
+emit_32(1125924864);
+emit_32(3276224528);
+emit_32(1086368944);
+emit_32(1125924864);
+emit_32(3275968545);
+emit_32(1090788545);
+emit_32(1125924864);
+emit_32(3275712496);
+emit_32(1093220381);
+emit_32(1125924864);
+emit_32(3275456512);
+emit_32(1094138095);
+emit_32(1125924864);
+emit_32(3275200528);
+emit_32(1095485201);
+emit_32(1125924864);
+emit_32(3274944545);
+emit_32(1098300103);
+emit_32(1125924864);
+emit_32(3274688496);
+emit_32(1099012348);
+emit_32(1125924864);
+emit_32(3274432512);
+emit_32(1097753795);
+emit_32(1125924864);
+emit_32(3274176528);
+emit_32(1096927727);
+emit_32(1125924864);
+emit_32(3273920545);
+emit_32(1098937847);
+emit_32(1125924864);
+emit_32(3273664496);
+emit_32(1099750598);
+emit_32(1125924864);
+emit_32(3273408512);
+emit_32(1099826096);
+emit_32(1125924864);
+emit_32(3273152528);
+emit_32(1100180514);
+emit_32(1125924864);
+emit_32(3272896545);
+emit_32(1100786015);
+emit_32(1125924864);
+emit_32(3272640496);
+emit_32(1100625006);
+emit_32(1125924864);
+emit_32(3272384512);
+emit_32(1100107638);
+emit_32(1125924864);
+emit_32(3272128528);
+emit_32(1100331457);
+emit_32(1125924864);
+emit_32(3271872545);
+emit_32(1101249590);
+emit_32(1125924864);
+emit_32(3271616496);
+emit_32(1102354737);
+emit_32(1125924864);
+emit_32(3271163904);
+emit_32(1103441691);
+emit_32(1125924864);
+emit_32(3270651937);
+emit_32(1104738936);
+emit_32(1125924864);
+emit_32(3270139970);
+emit_32(1105236276);
+emit_32(1125924864);
+emit_32(3269627871);
+emit_32(1105460304);
+emit_32(1125924864);
+emit_32(3269115904);
+emit_32(1105771993);
+emit_32(1125924864);
+emit_32(3268603937);
+emit_32(1105867833);
+emit_32(1125924864);
+emit_32(3268091970);
+emit_32(1105681868);
+emit_32(1125924864);
+emit_32(3267579911);
+emit_32(1105399854);
+emit_32(1125924864);
+emit_32(3267067904);
+emit_32(1104596592);
+emit_32(1125924864);
+emit_32(3266555911);
+emit_32(1104130657);
+emit_32(1125924864);
+emit_32(3266043904);
+emit_32(1103243877);
+emit_32(1125924864);
+emit_32(3265531911);
+emit_32(1102380270);
+emit_32(1125924864);
+emit_32(3265019904);
+emit_32(1102020241);
+emit_32(1125924864);
+emit_32(3264507911);
+emit_32(1101572656);
+emit_32(1125924864);
+emit_32(3263995904);
+emit_32(1101722026);
+emit_32(1125924864);
+emit_32(3263483911);
+emit_32(1101703833);
+emit_32(1125924864);
+emit_32(3262775296);
+emit_32(1101282463);
+emit_32(1125924864);
+emit_32(3261751309);
+emit_32(1100994314);
+emit_32(1125924864);
+emit_32(3260727296);
+emit_32(1100261255);
+emit_32(1125924864);
+emit_32(3259703309);
+emit_32(1099538104);
+emit_32(1125924864);
+emit_32(3258679296);
+emit_32(1099005113);
+emit_32(1125924864);
+emit_32(3257655309);
+emit_32(1097288542);
+emit_32(1125924864);
+emit_32(3256631296);
+emit_32(1096558523);
+emit_32(1125924864);
+emit_32(3255607309);
+emit_32(1097476761);
+emit_32(1125924864);
+emit_32(3254386688);
+emit_32(1098510552);
+emit_32(1125924864);
+emit_32(3252338714);
+emit_32(1098575249);
+emit_32(1125924864);
+emit_32(3250290688);
+emit_32(1099187146);
+emit_32(1125924864);
+emit_32(3248242714);
+emit_32(1099341339);
+emit_32(1125924864);
+emit_32(3245998080);
+emit_32(1099196531);
+emit_32(1125924864);
+emit_32(3241902132);
+emit_32(1099085906);
+emit_32(1125924864);
+emit_32(3237609472);
+emit_32(1099120876);
+emit_32(1125924864);
+emit_32(3229220864);
+emit_32(1098773955);
+emit_32(1125924864);
+emit_32(0);
+emit_32(1099088580);
+emit_32(1125924864);
+emit_32(1081737216);
+emit_32(1099397648);
+emit_32(1125924864);
+emit_32(3279552512);
+emit_32(1087350222);
+emit_32(1125668880);
+emit_32(3279296528);
+emit_32(1087173453);
+emit_32(1125668880);
+emit_32(3279040545);
+emit_32(1087524370);
+emit_32(1125668880);
+emit_32(3278784496);
+emit_32(1085198146);
+emit_32(1125668880);
+emit_32(3278528512);
+emit_32(1082565654);
+emit_32(1125668880);
+emit_32(3278272528);
+emit_32(1077145753);
+emit_32(1125668880);
+emit_32(3278016545);
+emit_32(1072746264);
+emit_32(1125668880);
+emit_32(3277760496);
+emit_32(1070147557);
+emit_32(1125668880);
+emit_32(3277504512);
+emit_32(1075759536);
+emit_32(1125668880);
+emit_32(3277248528);
+emit_32(1077469889);
+emit_32(1125668880);
+emit_32(3276992545);
+emit_32(1076408479);
+emit_32(1125668880);
+emit_32(3276736496);
+emit_32(1077817429);
+emit_32(1125668880);
+emit_32(3276480512);
+emit_32(1080487943);
+emit_32(1125668880);
+emit_32(3276224528);
+emit_32(1082089831);
+emit_32(1125668880);
+emit_32(3275968545);
+emit_32(1089194856);
+emit_32(1125668880);
+emit_32(3275712496);
+emit_32(1092143819);
+emit_32(1125668880);
+emit_32(3275456512);
+emit_32(1093271971);
+emit_32(1125668880);
+emit_32(3275200528);
+emit_32(1095061157);
+emit_32(1125668880);
+emit_32(3274944545);
+emit_32(1096826225);
+emit_32(1125668880);
+emit_32(3274688496);
+emit_32(1097739220);
+emit_32(1125668880);
+emit_32(3274432512);
+emit_32(1097853200);
+emit_32(1125668880);
+emit_32(3274176528);
+emit_32(1097601856);
+emit_32(1125668880);
+emit_32(3273920545);
+emit_32(1099313866);
+emit_32(1125668880);
+emit_32(3273664496);
+emit_32(1100242538);
+emit_32(1125668880);
+emit_32(3273408512);
+emit_32(1100791520);
+emit_32(1125668880);
+emit_32(3273152528);
+emit_32(1100534671);
+emit_32(1125668880);
+emit_32(3272896545);
+emit_32(1100486803);
+emit_32(1125668880);
+emit_32(3272640496);
+emit_32(1100712667);
+emit_32(1125668880);
+emit_32(3272384512);
+emit_32(1100661549);
+emit_32(1125668880);
+emit_32(3272128528);
+emit_32(1101351407);
+emit_32(1125668880);
+emit_32(3271872545);
+emit_32(1102206154);
+emit_32(1125668880);
+emit_32(3271616496);
+emit_32(1103301286);
+emit_32(1125668880);
+emit_32(3271163904);
+emit_32(1104362760);
+emit_32(1125668880);
+emit_32(3270651937);
+emit_32(1105383916);
+emit_32(1125668880);
+emit_32(3270139970);
+emit_32(1106277093);
+emit_32(1125668880);
+emit_32(3269627871);
+emit_32(1106308235);
+emit_32(1125668880);
+emit_32(3269115904);
+emit_32(1106719801);
+emit_32(1125668880);
+emit_32(3268603937);
+emit_32(1106707323);
+emit_32(1125668880);
+emit_32(3268091970);
+emit_32(1106722475);
+emit_32(1125668880);
+emit_32(3267579911);
+emit_32(1106438259);
+emit_32(1125668880);
+emit_32(3267067904);
+emit_32(1105408609);
+emit_32(1125668880);
+emit_32(3266555911);
+emit_32(1104049917);
+emit_32(1125668880);
+emit_32(3266043904);
+emit_32(1103297564);
+emit_32(1125668880);
+emit_32(3265531911);
+emit_32(1102461429);
+emit_32(1125668880);
+emit_32(3265019904);
+emit_32(1102366533);
+emit_32(1125668880);
+emit_32(3264507911);
+emit_32(1101967340);
+emit_32(1125668880);
+emit_32(3263995904);
+emit_32(1101786146);
+emit_32(1125668880);
+emit_32(3263483911);
+emit_32(1101553258);
+emit_32(1125668880);
+emit_32(3262775296);
+emit_32(1101001340);
+emit_32(1125668880);
+emit_32(3261751309);
+emit_32(1100728448);
+emit_32(1125668880);
+emit_32(3260727296);
+emit_32(1100022546);
+emit_32(1125668880);
+emit_32(3259703309);
+emit_32(1099153224);
+emit_32(1125668880);
+emit_32(3258679296);
+emit_32(1097869977);
+emit_32(1125668880);
+emit_32(3257655309);
+emit_32(1096668099);
+emit_32(1125668880);
+emit_32(3256631296);
+emit_32(1097741107);
+emit_32(1125668880);
+emit_32(3255607309);
+emit_32(1097981755);
+emit_32(1125668880);
+emit_32(3254386688);
+emit_32(1097933206);
+emit_32(1125668880);
+emit_32(3252338714);
+emit_32(1098260572);
+emit_32(1125668880);
+emit_32(3250290688);
+emit_32(1098406219);
+emit_32(1125668880);
+emit_32(3248242714);
+emit_32(1098084516);
+emit_32(1125668880);
+emit_32(3245998080);
+emit_32(1098079168);
+emit_32(1125668880);
+emit_32(3241902132);
+emit_32(1098423520);
+emit_32(1125668880);
+emit_32(3237609472);
+emit_32(1098536662);
+emit_32(1125668880);
+emit_32(3229220864);
+emit_32(1098183711);
+emit_32(1125668880);
+emit_32(0);
+emit_32(1099109709);
+emit_32(1125668880);
+emit_32(1081737216);
+emit_32(1099796421);
+emit_32(1125668880);
+emit_32(3279552512);
+emit_32(1084599032);
+emit_32(1125412897);
+emit_32(3279296528);
+emit_32(1083540012);
+emit_32(1125412897);
+emit_32(3279040545);
+emit_32(1082794369);
+emit_32(1125412897);
+emit_32(3278784496);
+emit_32(1078855100);
+emit_32(1125412897);
+emit_32(3278528512);
+emit_32(1074302393);
+emit_32(1125412897);
+emit_32(3278272528);
+emit_32(1066993608);
+emit_32(1125412897);
+emit_32(3278016545);
+emit_32(1038259757);
+emit_32(1125412897);
+emit_32(3277760496);
+emit_32(1064430889);
+emit_32(1125412897);
+emit_32(3277504512);
+emit_32(1068992026);
+emit_32(1125412897);
+emit_32(3277248528);
+emit_32(1074031860);
+emit_32(1125412897);
+emit_32(3276992545);
+emit_32(1074904275);
+emit_32(1125412897);
+emit_32(3276736496);
+emit_32(1074708653);
+emit_32(1125412897);
+emit_32(3276480512);
+emit_32(1076428066);
+emit_32(1125412897);
+emit_32(3276224528);
+emit_32(1077918302);
+emit_32(1125412897);
+emit_32(3275968545);
+emit_32(1085074875);
+emit_32(1125412897);
+emit_32(3275712496);
+emit_32(1090557240);
+emit_32(1125412897);
+emit_32(3275456512);
+emit_32(1092638422);
+emit_32(1125412897);
+emit_32(3275200528);
+emit_32(1094944555);
+emit_32(1125412897);
+emit_32(3274944545);
+emit_32(1097008048);
+emit_32(1125412897);
+emit_32(3274688496);
+emit_32(1097387737);
+emit_32(1125412897);
+emit_32(3274432512);
+emit_32(1098056204);
+emit_32(1125412897);
+emit_32(3274176528);
+emit_32(1098092066);
+emit_32(1125412897);
+emit_32(3273920545);
+emit_32(1099683122);
+emit_32(1125412897);
+emit_32(3273664496);
+emit_32(1100803369);
+emit_32(1125412897);
+emit_32(3273408512);
+emit_32(1101115267);
+emit_32(1125412897);
+emit_32(3273152528);
+emit_32(1101294207);
+emit_32(1125412897);
+emit_32(3272896545);
+emit_32(1101133932);
+emit_32(1125412897);
+emit_32(3272640496);
+emit_32(1101242093);
+emit_32(1125412897);
+emit_32(3272384512);
+emit_32(1101498994);
+emit_32(1125412897);
+emit_32(3272128528);
+emit_32(1102385303);
+emit_32(1125412897);
+emit_32(3271872545);
+emit_32(1103696757);
+emit_32(1125412897);
+emit_32(3271616496);
+emit_32(1104690492);
+emit_32(1125412897);
+emit_32(3271163904);
+emit_32(1105923146);
+emit_32(1125412897);
+emit_32(3270651937);
+emit_32(1106797868);
+emit_32(1125412897);
+emit_32(3270139970);
+emit_32(1107151867);
+emit_32(1125412897);
+emit_32(3269627871);
+emit_32(1107261181);
+emit_32(1125412897);
+emit_32(3269115904);
+emit_32(1107270933);
+emit_32(1125412897);
+emit_32(3268603937);
+emit_32(1107353141);
+emit_32(1125412897);
+emit_32(3268091970);
+emit_32(1107243880);
+emit_32(1125412897);
+emit_32(3267579911);
+emit_32(1106494620);
+emit_32(1125412897);
+emit_32(3267067904);
+emit_32(1105521174);
+emit_32(1125412897);
+emit_32(3266555911);
+emit_32(1104449162);
+emit_32(1125412897);
+emit_32(3266043904);
+emit_32(1103510110);
+emit_32(1125412897);
+emit_32(3265531911);
+emit_32(1102747953);
+emit_32(1125412897);
+emit_32(3265019904);
+emit_32(1102196874);
+emit_32(1125412897);
+emit_32(3264507911);
+emit_32(1102074085);
+emit_32(1125412897);
+emit_32(3263995904);
+emit_32(1101784888);
+emit_32(1125412897);
+emit_32(3263483911);
+emit_32(1101295203);
+emit_32(1125412897);
+emit_32(3262775296);
+emit_32(1100689231);
+emit_32(1125412897);
+emit_32(3261751309);
+emit_32(1100003515);
+emit_32(1125412897);
+emit_32(3260727296);
+emit_32(1099230295);
+emit_32(1125412897);
+emit_32(3259703309);
+emit_32(1098733375);
+emit_32(1125412897);
+emit_32(3258679296);
+emit_32(1096895326);
+emit_32(1125412897);
+emit_32(3257655309);
+emit_32(1095571918);
+emit_32(1125412897);
+emit_32(3256631296);
+emit_32(1096896374);
+emit_32(1125412897);
+emit_32(3255607309);
+emit_32(1097195638);
+emit_32(1125412897);
+emit_32(3254386688);
+emit_32(1097122238);
+emit_32(1125412897);
+emit_32(3252338714);
+emit_32(1098028522);
+emit_32(1125412897);
+emit_32(3250290688);
+emit_32(1096753663);
+emit_32(1125412897);
+emit_32(3248242714);
+emit_32(1097797416);
+emit_32(1125412897);
+emit_32(3245998080);
+emit_32(1098329673);
+emit_32(1125412897);
+emit_32(3241902132);
+emit_32(1098215273);
+emit_32(1125412897);
+emit_32(3237609472);
+emit_32(1097896401);
+emit_32(1125412897);
+emit_32(3229220864);
+emit_32(1098533411);
+emit_32(1125412897);
+emit_32(0);
+emit_32(1099233650);
+emit_32(1125412897);
+emit_32(1081737216);
+emit_32(1100171654);
+emit_32(1125412897);
+emit_32(3279552512);
+emit_32(1085043754);
+emit_32(1125156848);
+emit_32(3279296528);
+emit_32(1082745359);
+emit_32(1125156848);
+emit_32(3279040545);
+emit_32(1077929543);
+emit_32(1125156848);
+emit_32(3278784496);
+emit_32(1077120797);
+emit_32(1125156848);
+emit_32(3278528512);
+emit_32(1070829467);
+emit_32(1125156848);
+emit_32(3278272528);
+emit_32(3196693122);
+emit_32(1125156848);
+emit_32(3278016545);
+emit_32(3203591578);
+emit_32(1125156848);
+emit_32(3277760496);
+emit_32(3178809932);
+emit_32(1125156848);
+emit_32(3277504512);
+emit_32(1062996554);
+emit_32(1125156848);
+emit_32(3277248528);
+emit_32(1067740194);
+emit_32(1125156848);
+emit_32(3276992545);
+emit_32(1071204690);
+emit_32(1125156848);
+emit_32(3276736496);
+emit_32(1074277437);
+emit_32(1125156848);
+emit_32(3276480512);
+emit_32(1077601171);
+emit_32(1125156848);
+emit_32(3276224528);
+emit_32(1081521125);
+emit_32(1125156848);
+emit_32(3275968545);
+emit_32(1082948300);
+emit_32(1125156848);
+emit_32(3275712496);
+emit_32(1087836804);
+emit_32(1125156848);
+emit_32(3275456512);
+emit_32(1091823815);
+emit_32(1125156848);
+emit_32(3275200528);
+emit_32(1094296745);
+emit_32(1125156848);
+emit_32(3274944545);
+emit_32(1095976039);
+emit_32(1125156848);
+emit_32(3274688496);
+emit_32(1097507484);
+emit_32(1125156848);
+emit_32(3274432512);
+emit_32(1097570923);
+emit_32(1125156848);
+emit_32(3274176528);
+emit_32(1098982359);
+emit_32(1125156848);
+emit_32(3273920545);
+emit_32(1100051802);
+emit_32(1125156848);
+emit_32(3273664496);
+emit_32(1100994419);
+emit_32(1125156848);
+emit_32(3273408512);
+emit_32(1102158705);
+emit_32(1125156848);
+emit_32(3273152528);
+emit_32(1102017357);
+emit_32(1125156848);
+emit_32(3272896545);
+emit_32(1102232735);
+emit_32(1125156848);
+emit_32(3272640496);
+emit_32(1101864265);
+emit_32(1125156848);
+emit_32(3272384512);
+emit_32(1102610222);
+emit_32(1125156848);
+emit_32(3272128528);
+emit_32(1103466332);
+emit_32(1125156848);
+emit_32(3271872545);
+emit_32(1104473437);
+emit_32(1125156848);
+emit_32(3271616496);
+emit_32(1106243066);
+emit_32(1125156848);
+emit_32(3271163904);
+emit_32(1107111235);
+emit_32(1125156848);
+emit_32(3270651937);
+emit_32(1107425205);
+emit_32(1125156848);
+emit_32(3270139970);
+emit_32(1107552502);
+emit_32(1125156848);
+emit_32(3269627871);
+emit_32(1107600002);
+emit_32(1125156848);
+emit_32(3269115904);
+emit_32(1107564875);
+emit_32(1125156848);
+emit_32(3268603937);
+emit_32(1107418258);
+emit_32(1125156848);
+emit_32(3268091970);
+emit_32(1107034584);
+emit_32(1125156848);
+emit_32(3267579911);
+emit_32(1106363600);
+emit_32(1125156848);
+emit_32(3267067904);
+emit_32(1105390731);
+emit_32(1125156848);
+emit_32(3266555911);
+emit_32(1104501591);
+emit_32(1125156848);
+emit_32(3266043904);
+emit_32(1103946108);
+emit_32(1125156848);
+emit_32(3265531911);
+emit_32(1102869325);
+emit_32(1125156848);
+emit_32(3265019904);
+emit_32(1101989360);
+emit_32(1125156848);
+emit_32(3264507911);
+emit_32(1101780170);
+emit_32(1125156848);
+emit_32(3263995904);
+emit_32(1101640971);
+emit_32(1125156848);
+emit_32(3263483911);
+emit_32(1101030700);
+emit_32(1125156848);
+emit_32(3262775296);
+emit_32(1100725564);
+emit_32(1125156848);
+emit_32(3261751309);
+emit_32(1099604322);
+emit_32(1125156848);
+emit_32(3260727296);
+emit_32(1099292318);
+emit_32(1125156848);
+emit_32(3259703309);
+emit_32(1098829949);
+emit_32(1125156848);
+emit_32(3258679296);
+emit_32(1097125803);
+emit_32(1125156848);
+emit_32(3257655309);
+emit_32(1096142658);
+emit_32(1125156848);
+emit_32(3256631296);
+emit_32(1095542138);
+emit_32(1125156848);
+emit_32(3255607309);
+emit_32(1096456811);
+emit_32(1125156848);
+emit_32(3254386688);
+emit_32(1096482501);
+emit_32(1125156848);
+emit_32(3252338714);
+emit_32(1096896270);
+emit_32(1125156848);
+emit_32(3250290688);
+emit_32(1096761213);
+emit_32(1125156848);
+emit_32(3248242714);
+emit_32(1096850971);
+emit_32(1125156848);
+emit_32(3245998080);
+emit_32(1096941463);
+emit_32(1125156848);
+emit_32(3241902132);
+emit_32(1096922589);
+emit_32(1125156848);
+emit_32(3237609472);
+emit_32(1097331429);
+emit_32(1125156848);
+emit_32(3229220864);
+emit_32(1098308177);
+emit_32(1125156848);
+emit_32(0);
+emit_32(1099200882);
+emit_32(1125156848);
+emit_32(1081737216);
+emit_32(1099891107);
+emit_32(1125156848);
+emit_32(3279552512);
+emit_32(1084907963);
+emit_32(1124900864);
+emit_32(3279296528);
+emit_32(1083246159);
+emit_32(1124900864);
+emit_32(3279040545);
+emit_32(1077321704);
+emit_32(1124900864);
+emit_32(3278784496);
+emit_32(1069416909);
+emit_32(1124900864);
+emit_32(3278528512);
+emit_32(1044789651);
+emit_32(1124900864);
+emit_32(3278272528);
+emit_32(3167012033);
+emit_32(1124900864);
+emit_32(3278016545);
+emit_32(3192403624);
+emit_32(1124900864);
+emit_32(3277760496);
+emit_32(3204872485);
+emit_32(1124900864);
+emit_32(3277504512);
+emit_32(1048751859);
+emit_32(1124900864);
+emit_32(3277248528);
+emit_32(1057065154);
+emit_32(1124900864);
+emit_32(3276992545);
+emit_32(1067451207);
+emit_32(1124900864);
+emit_32(3276736496);
+emit_32(1076983266);
+emit_32(1124900864);
+emit_32(3276480512);
+emit_32(1078929255);
+emit_32(1124900864);
+emit_32(3276224528);
+emit_32(1081361406);
+emit_32(1124900864);
+emit_32(3275968545);
+emit_32(1083089858);
+emit_32(1124900864);
+emit_32(3275712496);
+emit_32(1087525083);
+emit_32(1124900864);
+emit_32(3275456512);
+emit_32(1091337443);
+emit_32(1124900864);
+emit_32(3275200528);
+emit_32(1093300912);
+emit_32(1124900864);
+emit_32(3274944545);
+emit_32(1094898103);
+emit_32(1124900864);
+emit_32(3274688496);
+emit_32(1096638530);
+emit_32(1124900864);
+emit_32(3274432512);
+emit_32(1097274071);
+emit_32(1124900864);
+emit_32(3274176528);
+emit_32(1099026766);
+emit_32(1124900864);
+emit_32(3273920545);
+emit_32(1099861538);
+emit_32(1124900864);
+emit_32(3273664496);
+emit_32(1101176137);
+emit_32(1124900864);
+emit_32(3273408512);
+emit_32(1101893049);
+emit_32(1124900864);
+emit_32(3273152528);
+emit_32(1101975047);
+emit_32(1124900864);
+emit_32(3272896545);
+emit_32(1102502691);
+emit_32(1124900864);
+emit_32(3272640496);
+emit_32(1102587573);
+emit_32(1124900864);
+emit_32(3272384512);
+emit_32(1103471103);
+emit_32(1124900864);
+emit_32(3272128528);
+emit_32(1104395895);
+emit_32(1124900864);
+emit_32(3271872545);
+emit_32(1105537742);
+emit_32(1124900864);
+emit_32(3271616496);
+emit_32(1106756659);
+emit_32(1124900864);
+emit_32(3271163904);
+emit_32(1107634867);
+emit_32(1124900864);
+emit_32(3270651937);
+emit_32(1108079516);
+emit_32(1124900864);
+emit_32(3270139970);
+emit_32(1107976153);
+emit_32(1124900864);
+emit_32(3269627871);
+emit_32(1107884271);
+emit_32(1124900864);
+emit_32(3269115904);
+emit_32(1107747642);
+emit_32(1124900864);
+emit_32(3268603937);
+emit_32(1107549985);
+emit_32(1124900864);
+emit_32(3268091970);
+emit_32(1106944773);
+emit_32(1124900864);
+emit_32(3267579911);
+emit_32(1106247732);
+emit_32(1124900864);
+emit_32(3267067904);
+emit_32(1105208646);
+emit_32(1124900864);
+emit_32(3266555911);
+emit_32(1104283802);
+emit_32(1124900864);
+emit_32(3266043904);
+emit_32(1103606946);
+emit_32(1124900864);
+emit_32(3265531911);
+emit_32(1102871160);
+emit_32(1124900864);
+emit_32(3265019904);
+emit_32(1101718513);
+emit_32(1124900864);
+emit_32(3264507911);
+emit_32(1101446513);
+emit_32(1124900864);
+emit_32(3263995904);
+emit_32(1101370543);
+emit_32(1124900864);
+emit_32(3263483911);
+emit_32(1100714292);
+emit_32(1124900864);
+emit_32(3262775296);
+emit_32(1099954599);
+emit_32(1124900864);
+emit_32(3261751309);
+emit_32(1099576325);
+emit_32(1124900864);
+emit_32(3260727296);
+emit_32(1099307680);
+emit_32(1124900864);
+emit_32(3259703309);
+emit_32(1098767978);
+emit_32(1124900864);
+emit_32(3258679296);
+emit_32(1098097938);
+emit_32(1124900864);
+emit_32(3257655309);
+emit_32(1096914095);
+emit_32(1124900864);
+emit_32(3256631296);
+emit_32(1096195192);
+emit_32(1124900864);
+emit_32(3255607309);
+emit_32(1095657482);
+emit_32(1124900864);
+emit_32(3254386688);
+emit_32(1095370487);
+emit_32(1124900864);
+emit_32(3252338714);
+emit_32(1095450703);
+emit_32(1124900864);
+emit_32(3250290688);
+emit_32(1094766612);
+emit_32(1124900864);
+emit_32(3248242714);
+emit_32(1095587018);
+emit_32(1124900864);
+emit_32(3245998080);
+emit_32(1094951266);
+emit_32(1124900864);
+emit_32(3241902132);
+emit_32(1094949903);
+emit_32(1124900864);
+emit_32(3237609472);
+emit_32(1096714656);
+emit_32(1124900864);
+emit_32(3229220864);
+emit_32(1098445226);
+emit_32(1124900864);
+emit_32(0);
+emit_32(1099331587);
+emit_32(1124900864);
+emit_32(1081737216);
+emit_32(1100260206);
+emit_32(1124900864);
+emit_32(3279552512);
+emit_32(1083591665);
+emit_32(1124644880);
+emit_32(3279296528);
+emit_32(1079852212);
+emit_32(1124644880);
+emit_32(3279040545);
+emit_32(1072228855);
+emit_32(1124644880);
+emit_32(3278784496);
+emit_32(1066448684);
+emit_32(1124644880);
+emit_32(3278528512);
+emit_32(1057555518);
+emit_32(1124644880);
+emit_32(3278272528);
+emit_32(1063153790);
+emit_32(1124644880);
+emit_32(3278016545);
+emit_32(1058210333);
+emit_32(1124644880);
+emit_32(3277760496);
+emit_32(1049561427);
+emit_32(1124644880);
+emit_32(3277504512);
+emit_32(3214410567);
+emit_32(1124644880);
+emit_32(3277248528);
+emit_32(3207614251);
+emit_32(1124644880);
+emit_32(3276992545);
+emit_32(1055980993);
+emit_32(1124644880);
+emit_32(3276736496);
+emit_32(1073762292);
+emit_32(1124644880);
+emit_32(3276480512);
+emit_32(1079724747);
+emit_32(1124644880);
+emit_32(3276224528);
+emit_32(1082560411);
+emit_32(1124644880);
+emit_32(3275968545);
+emit_32(1084722260);
+emit_32(1124644880);
+emit_32(3275712496);
+emit_32(1086375571);
+emit_32(1124644880);
+emit_32(3275456512);
+emit_32(1090446500);
+emit_32(1124644880);
+emit_32(3275200528);
+emit_32(1093171832);
+emit_32(1124644880);
+emit_32(3274944545);
+emit_32(1094812015);
+emit_32(1124644880);
+emit_32(3274688496);
+emit_32(1096292290);
+emit_32(1124644880);
+emit_32(3274432512);
+emit_32(1097734921);
+emit_32(1124644880);
+emit_32(3274176528);
+emit_32(1099196531);
+emit_32(1124644880);
+emit_32(3273920545);
+emit_32(1099805229);
+emit_32(1124644880);
+emit_32(3273664496);
+emit_32(1100823187);
+emit_32(1124644880);
+emit_32(3273408512);
+emit_32(1101755685);
+emit_32(1124644880);
+emit_32(3273152528);
+emit_32(1102405698);
+emit_32(1124644880);
+emit_32(3272896545);
+emit_32(1102759225);
+emit_32(1124644880);
+emit_32(3272640496);
+emit_32(1103381607);
+emit_32(1124644880);
+emit_32(3272384512);
+emit_32(1104182510);
+emit_32(1124644880);
+emit_32(3272128528);
+emit_32(1105063995);
+emit_32(1124644880);
+emit_32(3271872545);
+emit_32(1106336390);
+emit_32(1124644880);
+emit_32(3271616496);
+emit_32(1107656416);
+emit_32(1124644880);
+emit_32(3271163904);
+emit_32(1108075925);
+emit_32(1124644880);
+emit_32(3270651937);
+emit_32(1108328763);
+emit_32(1124644880);
+emit_32(3270139970);
+emit_32(1108369080);
+emit_32(1124644880);
+emit_32(3269627871);
+emit_32(1108254366);
+emit_32(1124644880);
+emit_32(3269115904);
+emit_32(1107968551);
+emit_32(1124644880);
+emit_32(3268603937);
+emit_32(1107979456);
+emit_32(1124644880);
+emit_32(3268091970);
+emit_32(1107515802);
+emit_32(1124644880);
+emit_32(3267579911);
+emit_32(1106388084);
+emit_32(1124644880);
+emit_32(3267067904);
+emit_32(1104790841);
+emit_32(1124644880);
+emit_32(3266555911);
+emit_32(1104209563);
+emit_32(1124644880);
+emit_32(3266043904);
+emit_32(1103624405);
+emit_32(1124644880);
+emit_32(3265531911);
+emit_32(1102359613);
+emit_32(1124644880);
+emit_32(3265019904);
+emit_32(1101907257);
+emit_32(1124644880);
+emit_32(3264507911);
+emit_32(1101809058);
+emit_32(1124644880);
+emit_32(3263995904);
+emit_32(1101301128);
+emit_32(1124644880);
+emit_32(3263483911);
+emit_32(1100497289);
+emit_32(1124644880);
+emit_32(3262775296);
+emit_32(1099654863);
+emit_32(1124644880);
+emit_32(3261751309);
+emit_32(1099315701);
+emit_32(1124644880);
+emit_32(3260727296);
+emit_32(1098867697);
+emit_32(1124644880);
+emit_32(3259703309);
+emit_32(1097723491);
+emit_32(1124644880);
+emit_32(3258679296);
+emit_32(1097140063);
+emit_32(1124644880);
+emit_32(3257655309);
+emit_32(1096683933);
+emit_32(1124644880);
+emit_32(3256631296);
+emit_32(1095379399);
+emit_32(1124644880);
+emit_32(3255607309);
+emit_32(1094758747);
+emit_32(1124644880);
+emit_32(3254386688);
+emit_32(1094561405);
+emit_32(1124644880);
+emit_32(3252338714);
+emit_32(1094733582);
+emit_32(1124644880);
+emit_32(3250290688);
+emit_32(1093957845);
+emit_32(1124644880);
+emit_32(3248242714);
+emit_32(1094294123);
+emit_32(1124644880);
+emit_32(3245998080);
+emit_32(1093574905);
+emit_32(1124644880);
+emit_32(3241902132);
+emit_32(1094867799);
+emit_32(1124644880);
+emit_32(3237609472);
+emit_32(1097134821);
+emit_32(1124644880);
+emit_32(3229220864);
+emit_32(1099036099);
+emit_32(1124644880);
+emit_32(0);
+emit_32(1099596615);
+emit_32(1124644880);
+emit_32(1081737216);
+emit_32(1100859258);
+emit_32(1124644880);
+emit_32(3279552512);
+emit_32(1081904485);
+emit_32(1124388897);
+emit_32(3279296528);
+emit_32(1075136304);
+emit_32(1124388897);
+emit_32(3279040545);
+emit_32(1073454011);
+emit_32(1124388897);
+emit_32(3278784496);
+emit_32(1066813673);
+emit_32(1124388897);
+emit_32(3278528512);
+emit_32(1058745375);
+emit_32(1124388897);
+emit_32(3278272528);
+emit_32(1007923565);
+emit_32(1124388897);
+emit_32(3278016545);
+emit_32(1041418101);
+emit_32(1124388897);
+emit_32(3277760496);
+emit_32(3199617458);
+emit_32(1124388897);
+emit_32(3277504512);
+emit_32(3217487424);
+emit_32(1124388897);
+emit_32(3277248528);
+emit_32(3214749551);
+emit_32(1124388897);
+emit_32(3276992545);
+emit_32(3200772133);
+emit_32(1124388897);
+emit_32(3276736496);
+emit_32(1066640783);
+emit_32(1124388897);
+emit_32(3276480512);
+emit_32(1076373750);
+emit_32(1124388897);
+emit_32(3276224528);
+emit_32(1080280534);
+emit_32(1124388897);
+emit_32(3275968545);
+emit_32(1084212505);
+emit_32(1124388897);
+emit_32(3275712496);
+emit_32(1084220726);
+emit_32(1124388897);
+emit_32(3275456512);
+emit_32(1088347817);
+emit_32(1124388897);
+emit_32(3275200528);
+emit_32(1092688649);
+emit_32(1124388897);
+emit_32(3274944545);
+emit_32(1095110020);
+emit_32(1124388897);
+emit_32(3274688496);
+emit_32(1096019765);
+emit_32(1124388897);
+emit_32(3274432512);
+emit_32(1097191863);
+emit_32(1124388897);
+emit_32(3274176528);
+emit_32(1099076574);
+emit_32(1124388897);
+emit_32(3273920545);
+emit_32(1099798099);
+emit_32(1124388897);
+emit_32(3273664496);
+emit_32(1100653265);
+emit_32(1124388897);
+emit_32(3273408512);
+emit_32(1101516925);
+emit_32(1124388897);
+emit_32(3273152528);
+emit_32(1102653791);
+emit_32(1124388897);
+emit_32(3272896545);
+emit_32(1103041659);
+emit_32(1124388897);
+emit_32(3272640496);
+emit_32(1103477814);
+emit_32(1124388897);
+emit_32(3272384512);
+emit_32(1104761586);
+emit_32(1124388897);
+emit_32(3272128528);
+emit_32(1105735555);
+emit_32(1124388897);
+emit_32(3271872545);
+emit_32(1106382579);
+emit_32(1124388897);
+emit_32(3271616496);
+emit_32(1107704231);
+emit_32(1124388897);
+emit_32(3271163904);
+emit_32(1108131394);
+emit_32(1124388897);
+emit_32(3270651937);
+emit_32(1108458393);
+emit_32(1124388897);
+emit_32(3270139970);
+emit_32(1108511529);
+emit_32(1124388897);
+emit_32(3269627871);
+emit_32(1108351464);
+emit_32(1124388897);
+emit_32(3269115904);
+emit_32(1108007374);
+emit_32(1124388897);
+emit_32(3268603937);
+emit_32(1107999667);
+emit_32(1124388897);
+emit_32(3268091970);
+emit_32(1107747353);
+emit_32(1124388897);
+emit_32(3267579911);
+emit_32(1106761954);
+emit_32(1124388897);
+emit_32(3267067904);
+emit_32(1105151446);
+emit_32(1124388897);
+emit_32(3266555911);
+emit_32(1103997960);
+emit_32(1124388897);
+emit_32(3266043904);
+emit_32(1103338930);
+emit_32(1124388897);
+emit_32(3265531911);
+emit_32(1102310120);
+emit_32(1124388897);
+emit_32(3265019904);
+emit_32(1102078804);
+emit_32(1124388897);
+emit_32(3264507911);
+emit_32(1102132910);
+emit_32(1124388897);
+emit_32(3263995904);
+emit_32(1101260338);
+emit_32(1124388897);
+emit_32(3263483911);
+emit_32(1100505783);
+emit_32(1124388897);
+emit_32(3262775296);
+emit_32(1099485361);
+emit_32(1124388897);
+emit_32(3261751309);
+emit_32(1099317379);
+emit_32(1124388897);
+emit_32(3260727296);
+emit_32(1097990459);
+emit_32(1124388897);
+emit_32(3259703309);
+emit_32(1097342543);
+emit_32(1124388897);
+emit_32(3258679296);
+emit_32(1095513512);
+emit_32(1124388897);
+emit_32(3257655309);
+emit_32(1095404880);
+emit_32(1124388897);
+emit_32(3256631296);
+emit_32(1094651059);
+emit_32(1124388897);
+emit_32(3255607309);
+emit_32(1094446901);
+emit_32(1124388897);
+emit_32(3254386688);
+emit_32(1093497625);
+emit_32(1124388897);
+emit_32(3252338714);
+emit_32(1093705977);
+emit_32(1124388897);
+emit_32(3250290688);
+emit_32(1093119299);
+emit_32(1124388897);
+emit_32(3248242714);
+emit_32(1093472354);
+emit_32(1124388897);
+emit_32(3245998080);
+emit_32(1095171362);
+emit_32(1124388897);
+emit_32(3241902132);
+emit_32(1096014103);
+emit_32(1124388897);
+emit_32(3237609472);
+emit_32(1097783784);
+emit_32(1124388897);
+emit_32(3229220864);
+emit_32(1099140904);
+emit_32(1124388897);
+emit_32(0);
+emit_32(1099863844);
+emit_32(1124388897);
+emit_32(1081737216);
+emit_32(1100982465);
+emit_32(1124388897);
+emit_32(3279552512);
+emit_32(1076151032);
+emit_32(1124132848);
+emit_32(3279296528);
+emit_32(1074265021);
+emit_32(1124132848);
+emit_32(3279040545);
+emit_32(1059897651);
+emit_32(1124132848);
+emit_32(3278784496);
+emit_32(3197909672);
+emit_32(1124132848);
+emit_32(3278528512);
+emit_32(3211975304);
+emit_32(1124132848);
+emit_32(3278272528);
+emit_32(3212548900);
+emit_32(1124132848);
+emit_32(3278016545);
+emit_32(3214293881);
+emit_32(1124132848);
+emit_32(3277760496);
+emit_32(3216921864);
+emit_32(1124132848);
+emit_32(3277504512);
+emit_32(3222195908);
+emit_32(1124132848);
+emit_32(3277248528);
+emit_32(3221805335);
+emit_32(1124132848);
+emit_32(3276992545);
+emit_32(3213409470);
+emit_32(1124132848);
+emit_32(3276736496);
+emit_32(1032354486);
+emit_32(1124132848);
+emit_32(3276480512);
+emit_32(1066671654);
+emit_32(1124132848);
+emit_32(3276224528);
+emit_32(1078555291);
+emit_32(1124132848);
+emit_32(3275968545);
+emit_32(1082316198);
+emit_32(1124132848);
+emit_32(3275712496);
+emit_32(1084389652);
+emit_32(1124132848);
+emit_32(3275456512);
+emit_32(1090589284);
+emit_32(1124132848);
+emit_32(3275200528);
+emit_32(1093399793);
+emit_32(1124132848);
+emit_32(3274944545);
+emit_32(1094797335);
+emit_32(1124132848);
+emit_32(3274688496);
+emit_32(1095931475);
+emit_32(1124132848);
+emit_32(3274432512);
+emit_32(1097364459);
+emit_32(1124132848);
+emit_32(3274176528);
+emit_32(1098713452);
+emit_32(1124132848);
+emit_32(3273920545);
+emit_32(1099383020);
+emit_32(1124132848);
+emit_32(3273664496);
+emit_32(1100286158);
+emit_32(1124132848);
+emit_32(3273408512);
+emit_32(1101469791);
+emit_32(1124132848);
+emit_32(3273152528);
+emit_32(1102376757);
+emit_32(1124132848);
+emit_32(3272896545);
+emit_32(1103068345);
+emit_32(1124132848);
+emit_32(3272640496);
+emit_32(1104423682);
+emit_32(1124132848);
+emit_32(3272384512);
+emit_32(1104904507);
+emit_32(1124132848);
+emit_32(3272128528);
+emit_32(1106022131);
+emit_32(1124132848);
+emit_32(3271872545);
+emit_32(1106604720);
+emit_32(1124132848);
+emit_32(3271616496);
+emit_32(1107631800);
+emit_32(1124132848);
+emit_32(3271163904);
+emit_32(1108172682);
+emit_32(1124132848);
+emit_32(3270651937);
+emit_32(1108436818);
+emit_32(1124132848);
+emit_32(3270139970);
+emit_32(1108399830);
+emit_32(1124132848);
+emit_32(3269627871);
+emit_32(1108123845);
+emit_32(1124132848);
+emit_32(3269115904);
+emit_32(1108184505);
+emit_32(1124132848);
+emit_32(3268603937);
+emit_32(1108270331);
+emit_32(1124132848);
+emit_32(3268091970);
+emit_32(1107910957);
+emit_32(1124132848);
+emit_32(3267579911);
+emit_32(1107432518);
+emit_32(1124132848);
+emit_32(3267067904);
+emit_32(1105755426);
+emit_32(1124132848);
+emit_32(3266555911);
+emit_32(1104147644);
+emit_32(1124132848);
+emit_32(3266043904);
+emit_32(1103239525);
+emit_32(1124132848);
+emit_32(3265531911);
+emit_32(1102590666);
+emit_32(1124132848);
+emit_32(3265019904);
+emit_32(1101844290);
+emit_32(1124132848);
+emit_32(3264507911);
+emit_32(1101550007);
+emit_32(1124132848);
+emit_32(3263995904);
+emit_32(1101094925);
+emit_32(1124132848);
+emit_32(3263483911);
+emit_32(1100315990);
+emit_32(1124132848);
+emit_32(3262775296);
+emit_32(1099604269);
+emit_32(1124132848);
+emit_32(3261751309);
+emit_32(1098955673);
+emit_32(1124132848);
+emit_32(3260727296);
+emit_32(1096931397);
+emit_32(1124132848);
+emit_32(3259703309);
+emit_32(1095373108);
+emit_32(1124132848);
+emit_32(3258679296);
+emit_32(1094758538);
+emit_32(1124132848);
+emit_32(3257655309);
+emit_32(1094166512);
+emit_32(1124132848);
+emit_32(3256631296);
+emit_32(1094620021);
+emit_32(1124132848);
+emit_32(3255607309);
+emit_32(1094357772);
+emit_32(1124132848);
+emit_32(3254386688);
+emit_32(1093070435);
+emit_32(1124132848);
+emit_32(3252338714);
+emit_32(1092280920);
+emit_32(1124132848);
+emit_32(3250290688);
+emit_32(1092453726);
+emit_32(1124132848);
+emit_32(3248242714);
+emit_32(1094304085);
+emit_32(1124132848);
+emit_32(3245998080);
+emit_32(1096070621);
+emit_32(1124132848);
+emit_32(3241902132);
+emit_32(1096864812);
+emit_32(1124132848);
+emit_32(3237609472);
+emit_32(1098173435);
+emit_32(1124132848);
+emit_32(3229220864);
+emit_32(1099365404);
+emit_32(1124132848);
+emit_32(0);
+emit_32(1099987367);
+emit_32(1124132848);
+emit_32(1081737216);
+emit_32(1101050728);
+emit_32(1124132848);
+emit_32(3279552512);
+emit_32(1075745946);
+emit_32(1123680256);
+emit_32(3279296528);
+emit_32(1067640202);
+emit_32(1123680256);
+emit_32(3279040545);
+emit_32(3205049803);
+emit_32(1123680256);
+emit_32(3278784496);
+emit_32(3215612571);
+emit_32(1123680256);
+emit_32(3278528512);
+emit_32(3218144588);
+emit_32(1123680256);
+emit_32(3278272528);
+emit_32(3222509223);
+emit_32(1123680256);
+emit_32(3278016545);
+emit_32(3221797869);
+emit_32(1123680256);
+emit_32(3277760496);
+emit_32(3225243909);
+emit_32(1123680256);
+emit_32(3277504512);
+emit_32(3225089810);
+emit_32(1123680256);
+emit_32(3277248528);
+emit_32(3226837912);
+emit_32(1123680256);
+emit_32(3276992545);
+emit_32(3222475668);
+emit_32(1123680256);
+emit_32(3276736496);
+emit_32(3210500905);
+emit_32(1123680256);
+emit_32(3276480512);
+emit_32(1057082501);
+emit_32(1123680256);
+emit_32(3276224528);
+emit_32(1069886755);
+emit_32(1123680256);
+emit_32(3275968545);
+emit_32(1079284135);
+emit_32(1123680256);
+emit_32(3275712496);
+emit_32(1085833856);
+emit_32(1123680256);
+emit_32(3275456512);
+emit_32(1090703044);
+emit_32(1123680256);
+emit_32(3275200528);
+emit_32(1093163863);
+emit_32(1123680256);
+emit_32(3274944545);
+emit_32(1094161898);
+emit_32(1123680256);
+emit_32(3274688496);
+emit_32(1095085064);
+emit_32(1123680256);
+emit_32(3274432512);
+emit_32(1096343041);
+emit_32(1123680256);
+emit_32(3274176528);
+emit_32(1097267465);
+emit_32(1123680256);
+emit_32(3273920545);
+emit_32(1099232549);
+emit_32(1123680256);
+emit_32(3273664496);
+emit_32(1100352638);
+emit_32(1123680256);
+emit_32(3273408512);
+emit_32(1101666347);
+emit_32(1123680256);
+emit_32(3273152528);
+emit_32(1102553599);
+emit_32(1123680256);
+emit_32(3272896545);
+emit_32(1103499048);
+emit_32(1123680256);
+emit_32(3272640496);
+emit_32(1104589619);
+emit_32(1123680256);
+emit_32(3272384512);
+emit_32(1105372486);
+emit_32(1123680256);
+emit_32(3272128528);
+emit_32(1105859602);
+emit_32(1123680256);
+emit_32(3271872545);
+emit_32(1106894337);
+emit_32(1123680256);
+emit_32(3271616496);
+emit_32(1107538372);
+emit_32(1123680256);
+emit_32(3271163904);
+emit_32(1107947762);
+emit_32(1123680256);
+emit_32(3270651937);
+emit_32(1108124343);
+emit_32(1123680256);
+emit_32(3270139970);
+emit_32(1107942572);
+emit_32(1123680256);
+emit_32(3269627871);
+emit_32(1108284329);
+emit_32(1123680256);
+emit_32(3269115904);
+emit_32(1108344439);
+emit_32(1123680256);
+emit_32(3268603937);
+emit_32(1108291722);
+emit_32(1123680256);
+emit_32(3268091970);
+emit_32(1107980426);
+emit_32(1123680256);
+emit_32(3267579911);
+emit_32(1107402844);
+emit_32(1123680256);
+emit_32(3267067904);
+emit_32(1105639401);
+emit_32(1123680256);
+emit_32(3266555911);
+emit_32(1104157868);
+emit_32(1123680256);
+emit_32(3266043904);
+emit_32(1103642965);
+emit_32(1123680256);
+emit_32(3265531911);
+emit_32(1102980579);
+emit_32(1123680256);
+emit_32(3265019904);
+emit_32(1102268282);
+emit_32(1123680256);
+emit_32(3264507911);
+emit_32(1101485362);
+emit_32(1123680256);
+emit_32(3263995904);
+emit_32(1100559260);
+emit_32(1123680256);
+emit_32(3263483911);
+emit_32(1099869979);
+emit_32(1123680256);
+emit_32(3262775296);
+emit_32(1099177447);
+emit_32(1123680256);
+emit_32(3261751309);
+emit_32(1097774032);
+emit_32(1123680256);
+emit_32(3260727296);
+emit_32(1096015990);
+emit_32(1123680256);
+emit_32(3259703309);
+emit_32(1094982618);
+emit_32(1123680256);
+emit_32(3258679296);
+emit_32(1094173642);
+emit_32(1123680256);
+emit_32(3257655309);
+emit_32(1093433557);
+emit_32(1123680256);
+emit_32(3256631296);
+emit_32(1092957084);
+emit_32(1123680256);
+emit_32(3255607309);
+emit_32(1093043696);
+emit_32(1123680256);
+emit_32(3254386688);
+emit_32(1092576367);
+emit_32(1123680256);
+emit_32(3252338714);
+emit_32(1092381919);
+emit_32(1123680256);
+emit_32(3250290688);
+emit_32(1093319052);
+emit_32(1123680256);
+emit_32(3248242714);
+emit_32(1094929141);
+emit_32(1123680256);
+emit_32(3245998080);
+emit_32(1096641151);
+emit_32(1123680256);
+emit_32(3241902132);
+emit_32(1098022230);
+emit_32(1123680256);
+emit_32(3237609472);
+emit_32(1098658716);
+emit_32(1123680256);
+emit_32(3229220864);
+emit_32(1099385274);
+emit_32(1123680256);
+emit_32(0);
+emit_32(1099998324);
+emit_32(1123680256);
+emit_32(1081737216);
+emit_32(1100462372);
+emit_32(1123680256);
+emit_32(3279552512);
+emit_32(1073527831);
+emit_32(1123168289);
+emit_32(3279296528);
+emit_32(1067716203);
+emit_32(1123168289);
+emit_32(3279040545);
+emit_32(1032802545);
+emit_32(1123168289);
+emit_32(3278784496);
+emit_32(3215483554);
+emit_32(1123168289);
+emit_32(3278528512);
+emit_32(3222614416);
+emit_32(1123168289);
+emit_32(3278272528);
+emit_32(3226235358);
+emit_32(1123168289);
+emit_32(3278016545);
+emit_32(3229265659);
+emit_32(1123168289);
+emit_32(3277760496);
+emit_32(3229676575);
+emit_32(1123168289);
+emit_32(3277504512);
+emit_32(3230314529);
+emit_32(1123168289);
+emit_32(3277248528);
+emit_32(3227686797);
+emit_32(1123168289);
+emit_32(3276992545);
+emit_32(3224163288);
+emit_32(1123168289);
+emit_32(3276736496);
+emit_32(3224837816);
+emit_32(1123168289);
+emit_32(3276480512);
+emit_32(3214911115);
+emit_32(1123168289);
+emit_32(3276224528);
+emit_32(1045755414);
+emit_32(1123168289);
+emit_32(3275968545);
+emit_32(1075946895);
+emit_32(1123168289);
+emit_32(3275712496);
+emit_32(1083922239);
+emit_32(1123168289);
+emit_32(3275456512);
+emit_32(1089208404);
+emit_32(1123168289);
+emit_32(3275200528);
+emit_32(1091995729);
+emit_32(1123168289);
+emit_32(3274944545);
+emit_32(1093743097);
+emit_32(1123168289);
+emit_32(3274688496);
+emit_32(1094702019);
+emit_32(1123168289);
+emit_32(3274432512);
+emit_32(1095065456);
+emit_32(1123168289);
+emit_32(3274176528);
+emit_32(1095980443);
+emit_32(1123168289);
+emit_32(3273920545);
+emit_32(1098763574);
+emit_32(1123168289);
+emit_32(3273664496);
+emit_32(1100013791);
+emit_32(1123168289);
+emit_32(3273408512);
+emit_32(1101157106);
+emit_32(1123168289);
+emit_32(3273152528);
+emit_32(1102482401);
+emit_32(1123168289);
+emit_32(3272896545);
+emit_32(1103806543);
+emit_32(1123168289);
+emit_32(3272640496);
+emit_32(1104565135);
+emit_32(1123168289);
+emit_32(3272384512);
+emit_32(1105773671);
+emit_32(1123168289);
+emit_32(3272128528);
+emit_32(1106220312);
+emit_32(1123168289);
+emit_32(3271872545);
+emit_32(1106669942);
+emit_32(1123168289);
+emit_32(3271616496);
+emit_32(1107272401);
+emit_32(1123168289);
+emit_32(3271163904);
+emit_32(1107768771);
+emit_32(1123168289);
+emit_32(3270651937);
+emit_32(1108156770);
+emit_32(1123168289);
+emit_32(3270139970);
+emit_32(1108407039);
+emit_32(1123168289);
+emit_32(3269627871);
+emit_32(1108550903);
+emit_32(1123168289);
+emit_32(3269115904);
+emit_32(1108478263);
+emit_32(1123168289);
+emit_32(3268603937);
+emit_32(1108278274);
+emit_32(1123168289);
+emit_32(3268091970);
+emit_32(1107762925);
+emit_32(1123168289);
+emit_32(3267579911);
+emit_32(1106660819);
+emit_32(1123168289);
+emit_32(3267067904);
+emit_32(1105273658);
+emit_32(1123168289);
+emit_32(3266555911);
+emit_32(1104481668);
+emit_32(1123168289);
+emit_32(3266043904);
+emit_32(1104168826);
+emit_32(1123168289);
+emit_32(3265531911);
+emit_32(1103522536);
+emit_32(1123168289);
+emit_32(3265019904);
+emit_32(1102851185);
+emit_32(1123168289);
+emit_32(3264507911);
+emit_32(1101917061);
+emit_32(1123168289);
+emit_32(3263995904);
+emit_32(1101010095);
+emit_32(1123168289);
+emit_32(3263483911);
+emit_32(1099888329);
+emit_32(1123168289);
+emit_32(3262775296);
+emit_32(1098570531);
+emit_32(1123168289);
+emit_32(3261751309);
+emit_32(1096537866);
+emit_32(1123168289);
+emit_32(3260727296);
+emit_32(1095068497);
+emit_32(1123168289);
+emit_32(3259703309);
+emit_32(1094656406);
+emit_32(1123168289);
+emit_32(3258679296);
+emit_32(1094724039);
+emit_32(1123168289);
+emit_32(3257655309);
+emit_32(1093671584);
+emit_32(1123168289);
+emit_32(3256631296);
+emit_32(1092454407);
+emit_32(1123168289);
+emit_32(3255607309);
+emit_32(1092709935);
+emit_32(1123168289);
+emit_32(3254386688);
+emit_32(1093178858);
+emit_32(1123168289);
+emit_32(3252338714);
+emit_32(1092563312);
+emit_32(1123168289);
+emit_32(3250290688);
+emit_32(1093668753);
+emit_32(1123168289);
+emit_32(3248242714);
+emit_32(1095561013);
+emit_32(1123168289);
+emit_32(3245998080);
+emit_32(1096702388);
+emit_32(1123168289);
+emit_32(3241902132);
+emit_32(1097769524);
+emit_32(1123168289);
+emit_32(3237609472);
+emit_32(1098298111);
+emit_32(1123168289);
+emit_32(3229220864);
+emit_32(1098956931);
+emit_32(1123168289);
+emit_32(0);
+emit_32(1099464022);
+emit_32(1123168289);
+emit_32(1081737216);
+emit_32(1100235512);
+emit_32(1123168289);
+emit_32(3279552512);
+emit_32(1074513450);
+emit_32(1122656322);
+emit_32(3279296528);
+emit_32(1069684087);
+emit_32(1122656322);
+emit_32(3279040545);
+emit_32(1059117578);
+emit_32(1122656322);
+emit_32(3278784496);
+emit_32(3205587983);
+emit_32(1122656322);
+emit_32(3278528512);
+emit_32(3221291239);
+emit_32(1122656322);
+emit_32(3278272528);
+emit_32(3227143174);
+emit_32(1122656322);
+emit_32(3278016545);
+emit_32(3228890898);
+emit_32(1122656322);
+emit_32(3277760496);
+emit_32(3231744493);
+emit_32(1122656322);
+emit_32(3277504512);
+emit_32(3231183211);
+emit_32(1122656322);
+emit_32(3277248528);
+emit_32(3226713845);
+emit_32(1122656322);
+emit_32(3276992545);
+emit_32(3222588579);
+emit_32(1122656322);
+emit_32(3276736496);
+emit_32(3218835474);
+emit_32(1122656322);
+emit_32(3276480512);
+emit_32(3214447728);
+emit_32(1122656322);
+emit_32(3276224528);
+emit_32(1046529045);
+emit_32(1122656322);
+emit_32(3275968545);
+emit_32(1070915199);
+emit_32(1122656322);
+emit_32(3275712496);
+emit_32(1082866637);
+emit_32(1122656322);
+emit_32(3275456512);
+emit_32(1087021578);
+emit_32(1122656322);
+emit_32(3275200528);
+emit_32(1090529232);
+emit_32(1122656322);
+emit_32(3274944545);
+emit_32(1092317201);
+emit_32(1122656322);
+emit_32(3274688496);
+emit_32(1093426427);
+emit_32(1122656322);
+emit_32(3274432512);
+emit_32(1094040158);
+emit_32(1122656322);
+emit_32(3274176528);
+emit_32(1095262693);
+emit_32(1122656322);
+emit_32(3273920545);
+emit_32(1097468792);
+emit_32(1122656322);
+emit_32(3273664496);
+emit_32(1099540411);
+emit_32(1122656322);
+emit_32(3273408512);
+emit_32(1100993213);
+emit_32(1122656322);
+emit_32(3273152528);
+emit_32(1102819203);
+emit_32(1122656322);
+emit_32(3272896545);
+emit_32(1104470763);
+emit_32(1122656322);
+emit_32(3272640496);
+emit_32(1105442111);
+emit_32(1122656322);
+emit_32(3272384512);
+emit_32(1106127356);
+emit_32(1122656322);
+emit_32(3272128528);
+emit_32(1106807829);
+emit_32(1122656322);
+emit_32(3271872545);
+emit_32(1107212108);
+emit_32(1122656322);
+emit_32(3271616496);
+emit_32(1107339719);
+emit_32(1122656322);
+emit_32(3271163904);
+emit_32(1108016575);
+emit_32(1122656322);
+emit_32(3270651937);
+emit_32(1108361190);
+emit_32(1122656322);
+emit_32(3270139970);
+emit_32(1108677807);
+emit_32(1122656322);
+emit_32(3269627871);
+emit_32(1108698045);
+emit_32(1122656322);
+emit_32(3269115904);
+emit_32(1108670415);
+emit_32(1122656322);
+emit_32(3268603937);
+emit_32(1108385307);
+emit_32(1122656322);
+emit_32(3268091970);
+emit_32(1107664044);
+emit_32(1122656322);
+emit_32(3267579911);
+emit_32(1106926109);
+emit_32(1122656322);
+emit_32(3267067904);
+emit_32(1105983491);
+emit_32(1122656322);
+emit_32(3266555911);
+emit_32(1105752542);
+emit_32(1122656322);
+emit_32(3266043904);
+emit_32(1105343650);
+emit_32(1122656322);
+emit_32(3265531911);
+emit_32(1104481983);
+emit_32(1122656322);
+emit_32(3265019904);
+emit_32(1103536377);
+emit_32(1122656322);
+emit_32(3264507911);
+emit_32(1102421374);
+emit_32(1122656322);
+emit_32(3263995904);
+emit_32(1101252526);
+emit_32(1122656322);
+emit_32(3263483911);
+emit_32(1099947835);
+emit_32(1122656322);
+emit_32(3262775296);
+emit_32(1099066665);
+emit_32(1122656322);
+emit_32(3261751309);
+emit_32(1097029334);
+emit_32(1122656322);
+emit_32(3260727296);
+emit_32(1095561223);
+emit_32(1122656322);
+emit_32(3259703309);
+emit_32(1095286181);
+emit_32(1122656322);
+emit_32(3258679296);
+emit_32(1094900095);
+emit_32(1122656322);
+emit_32(3257655309);
+emit_32(1093810625);
+emit_32(1122656322);
+emit_32(3256631296);
+emit_32(1093100949);
+emit_32(1122656322);
+emit_32(3255607309);
+emit_32(1093720133);
+emit_32(1122656322);
+emit_32(3254386688);
+emit_32(1094140822);
+emit_32(1122656322);
+emit_32(3252338714);
+emit_32(1093200983);
+emit_32(1122656322);
+emit_32(3250290688);
+emit_32(1093279731);
+emit_32(1122656322);
+emit_32(3248242714);
+emit_32(1095297296);
+emit_32(1122656322);
+emit_32(3245998080);
+emit_32(1096326998);
+emit_32(1122656322);
+emit_32(3241902132);
+emit_32(1097208116);
+emit_32(1122656322);
+emit_32(3237609472);
+emit_32(1098363332);
+emit_32(1122656322);
+emit_32(3229220864);
+emit_32(1098960496);
+emit_32(1122656322);
+emit_32(0);
+emit_32(1099624612);
+emit_32(1122656322);
+emit_32(1081737216);
+emit_32(1100438045);
+emit_32(1122656322);
+emit_start(Landscape07Vtx)
+emit_32(1081737216);
+emit_32(1111930149);
+emit_32(3270651937);
+emit_32(1081737216);
+emit_32(1111592455);
+emit_32(3270139970);
+emit_32(1090125824);
+emit_32(1111718284);
+emit_32(3270651937);
+emit_32(1090125824);
+emit_32(1111491609);
+emit_32(3270139970);
+emit_32(1094418484);
+emit_32(1111318934);
+emit_32(3270651937);
+emit_32(1094418484);
+emit_32(1111194940);
+emit_32(3270139970);
+emit_32(1098514432);
+emit_32(1110681374);
+emit_32(3270651937);
+emit_32(1098514432);
+emit_32(1110835331);
+emit_32(3270139970);
+emit_32(1100759066);
+emit_32(1110219843);
+emit_32(3270651937);
+emit_32(1100759066);
+emit_32(1110275365);
+emit_32(3270139970);
+emit_32(1102807040);
+emit_32(1109758994);
+emit_32(3270651937);
+emit_32(1102807040);
+emit_32(1110005567);
+emit_32(3270139970);
+emit_32(1104855066);
+emit_32(1109428771);
+emit_32(3270651937);
+emit_32(1104855066);
+emit_32(1109696499);
+emit_32(3270139970);
+emit_32(1106903040);
+emit_32(1109202908);
+emit_32(3270651937);
+emit_32(1106903040);
+emit_32(1109176772);
+emit_32(3270139970);
+emit_32(1108123661);
+emit_32(1108966585);
+emit_32(3270651937);
+emit_32(1108123661);
+emit_32(1108885556);
+emit_32(3270139970);
+emit_32(1109147648);
+emit_32(1108648919);
+emit_32(3270651937);
+emit_32(1109147648);
+emit_32(1108468774);
+emit_32(3270139970);
+emit_32(1110171661);
+emit_32(1108152890);
+emit_32(3270651937);
+emit_32(1110171661);
+emit_32(1108030285);
+emit_32(3270139970);
+emit_32(1111195648);
+emit_32(1107519839);
+emit_32(3270651937);
+emit_32(1111195648);
+emit_32(1107430028);
+emit_32(3270139970);
+emit_32(1112219661);
+emit_32(1107320478);
+emit_32(3270651937);
+emit_32(1112219661);
+emit_32(1107103737);
+emit_32(3270139970);
+emit_32(1113243648);
+emit_32(1107611170);
+emit_32(3270651937);
+emit_32(1113243648);
+emit_32(1107092098);
+emit_32(3270139970);
+emit_32(1114267661);
+emit_32(1107859839);
+emit_32(3270651937);
+emit_32(1114267661);
+emit_32(1107375004);
+emit_32(3270139970);
+emit_32(1115291648);
+emit_32(1107759596);
+emit_32(3270651937);
+emit_32(1115291648);
+emit_32(1107478708);
+emit_32(3270139970);
+emit_32(1116000263);
+emit_32(1107948785);
+emit_32(3270651937);
+emit_32(1116000263);
+emit_32(1107657884);
+emit_32(3270139970);
+emit_32(1116512256);
+emit_32(1108015605);
+emit_32(3270651937);
+emit_32(1116512256);
+emit_32(1107812575);
+emit_32(3270139970);
+emit_32(1117024263);
+emit_32(1108198949);
+emit_32(3270651937);
+emit_32(1117024263);
+emit_32(1108062005);
+emit_32(3270139970);
+emit_32(1117536256);
+emit_32(1108525082);
+emit_32(3270651937);
+emit_32(1117536256);
+emit_32(1108546316);
+emit_32(3270139970);
+emit_32(1118048263);
+emit_32(1108838475);
+emit_32(3270651937);
+emit_32(1118048263);
+emit_32(1108808198);
+emit_32(3270139970);
+emit_32(1118560256);
+emit_32(1108830663);
+emit_32(3270651937);
+emit_32(1118560256);
+emit_32(1108821253);
+emit_32(3270139970);
+emit_32(1119072263);
+emit_32(1108933791);
+emit_32(3270651937);
+emit_32(1119072263);
+emit_32(1108944565);
+emit_32(3270139970);
+emit_32(1119584256);
+emit_32(1109285510);
+emit_32(3270651937);
+emit_32(1119584256);
+emit_32(1109292509);
+emit_32(3270139970);
+emit_32(1120096263);
+emit_32(1109319064);
+emit_32(3270651937);
+emit_32(1120096263);
+emit_32(1109325827);
+emit_32(3270139970);
+emit_32(1120608322);
+emit_32(1109471003);
+emit_32(3270651937);
+emit_32(1120608322);
+emit_32(1109645355);
+emit_32(3270139970);
+emit_32(1121120289);
+emit_32(1109582728);
+emit_32(3270651937);
+emit_32(1121120289);
+emit_32(1109627555);
+emit_32(3270139970);
+emit_32(1121632256);
+emit_32(1109427592);
+emit_32(3270651937);
+emit_32(1121632256);
+emit_32(1109566502);
+emit_32(3270139970);
+emit_32(1122144223);
+emit_32(1109250959);
+emit_32(3270651937);
+emit_32(1122144223);
+emit_32(1109470347);
+emit_32(3270139970);
+emit_32(1122656322);
+emit_32(1109132050);
+emit_32(3270651937);
+emit_32(1122656322);
+emit_32(1109358831);
+emit_32(3270139970);
+emit_32(1123168289);
+emit_32(1108892975);
+emit_32(3270651937);
+emit_32(1123168289);
+emit_32(1109156561);
+emit_32(3270139970);
+emit_32(1123680256);
+emit_32(1108663599);
+emit_32(3270651937);
+emit_32(1123680256);
+emit_32(1108641920);
+emit_32(3270139970);
+emit_32(1124132848);
+emit_32(1108204087);
+emit_32(3270651937);
+emit_32(1124132848);
+emit_32(1108219580);
+emit_32(3270139970);
+emit_32(1124388897);
+emit_32(1107681555);
+emit_32(3270651937);
+emit_32(1124388897);
+emit_32(1107796112);
+emit_32(3270139970);
+emit_32(1124644880);
+emit_32(1107061165);
+emit_32(3270651937);
+emit_32(1124644880);
+emit_32(1107364885);
+emit_32(3270139970);
+emit_32(1124900864);
+emit_32(1105549119);
+emit_32(3270651937);
+emit_32(1124900864);
+emit_32(1106177268);
+emit_32(3270139970);
+emit_32(1125156848);
+emit_32(1104447065);
+emit_32(3270651937);
+emit_32(1125156848);
+emit_32(1105288443);
+emit_32(3270139970);
+emit_32(1125412897);
+emit_32(1103204817);
+emit_32(3270651937);
+emit_32(1125412897);
+emit_32(1104753197);
+emit_32(3270139970);
+emit_32(1125668880);
+emit_32(1102168352);
+emit_32(3270651937);
+emit_32(1125668880);
+emit_32(1103375473);
+emit_32(3270139970);
+emit_32(1125924864);
+emit_32(1101100116);
+emit_32(3270651937);
+emit_32(1125924864);
+emit_32(1102075344);
+emit_32(3270139970);
+emit_32(1126180848);
+emit_32(1099752591);
+emit_32(3270651937);
+emit_32(1126180848);
+emit_32(1100964849);
+emit_32(3270139970);
+emit_32(1126436897);
+emit_32(1098425093);
+emit_32(3270651937);
+emit_32(1126436897);
+emit_32(1099792384);
+emit_32(3270139970);
+emit_32(1126692880);
+emit_32(1096597845);
+emit_32(3270651937);
+emit_32(1126692880);
+emit_32(1098450049);
+emit_32(3270139970);
+emit_32(1126948864);
+emit_32(1094429285);
+emit_32(3270651937);
+emit_32(1126948864);
+emit_32(1096338322);
+emit_32(3270139970);
+emit_32(1127204848);
+emit_32(1091900413);
+emit_32(3270651937);
+emit_32(1127204848);
+emit_32(1093954280);
+emit_32(3270139970);
+emit_32(1127460897);
+emit_32(1087591940);
+emit_32(3270651937);
+emit_32(1127460897);
+emit_32(1091524247);
+emit_32(3270139970);
+emit_32(1127716880);
+emit_32(1083181671);
+emit_32(3270651937);
+emit_32(1127716880);
+emit_32(1088518839);
+emit_32(3270139970);
+emit_32(1127972864);
+emit_32(1076995723);
+emit_32(3270651937);
+emit_32(1127972864);
+emit_32(1083884385);
+emit_32(3270139970);
+emit_32(1128228848);
+emit_32(1068649268);
+emit_32(3270651937);
+emit_32(1128228848);
+emit_32(1076931424);
+emit_32(3270139970);
+emit_32(1128484897);
+emit_32(3216283995);
+emit_32(3270651937);
+emit_32(1128484897);
+emit_32(1044557454);
+emit_32(3270139970);
+emit_32(1128740880);
+emit_32(3221805544);
+emit_32(3270651937);
+emit_32(1128740880);
+emit_32(3205427693);
+emit_32(3270139970);
+emit_32(1128996864);
+emit_32(3223037537);
+emit_32(3270651937);
+emit_32(1128996864);
+emit_32(3213113940);
+emit_32(3270139970);
+emit_32(1129252848);
+emit_32(3228540254);
+emit_32(3270651937);
+emit_32(1129252848);
+emit_32(3221962118);
+emit_32(3270139970);
+emit_32(1129508897);
+emit_32(3230275333);
+emit_32(3270651937);
+emit_32(1129508897);
+emit_32(3220483500);
+emit_32(3270139970);
+emit_32(1129764880);
+emit_32(3232612273);
+emit_32(3270651937);
+emit_32(1129764880);
+emit_32(3225420531);
+emit_32(3270139970);
+emit_32(1130020864);
+emit_32(3235277565);
+emit_32(3270651937);
+emit_32(1130020864);
+emit_32(3230173831);
+emit_32(3270139970);
+emit_32(1130276848);
+emit_32(3234218671);
+emit_32(3270651937);
+emit_32(1130276848);
+emit_32(3232043735);
+emit_32(3270139970);
+emit_32(1130532897);
+emit_32(3231045470);
+emit_32(3270651937);
+emit_32(1130532897);
+emit_32(3227363752);
+emit_32(3270139970);
+emit_32(1130788880);
+emit_32(3226755997);
+emit_32(3270651937);
+emit_32(1130788880);
+emit_32(3221899790);
+emit_32(3270139970);
+emit_32(1131044864);
+emit_32(3229128715);
+emit_32(3270651937);
+emit_32(1131044864);
+emit_32(3216845360);
+emit_32(3270139970);
+emit_32(1131300848);
+emit_32(3228788683);
+emit_32(3270651937);
+emit_32(1131300848);
+emit_32(3219415546);
+emit_32(3270139970);
+emit_32(1131556897);
+emit_32(3227247276);
+emit_32(3270651937);
+emit_32(1131556897);
+emit_32(3212863456);
+emit_32(3270139970);
+emit_32(1131812880);
+emit_32(3228672710);
+emit_32(3270651937);
+emit_32(1131812880);
+emit_32(3221056106);
+emit_32(3270139970);
+emit_32(1132068864);
+emit_32(3228908137);
+emit_32(3270651937);
+emit_32(1132068864);
+emit_32(3222457423);
+emit_32(3270139970);
+emit_32(1081737216);
+emit_32(1112094042);
+emit_32(3271163904);
+emit_32(1090125824);
+emit_32(1112019724);
+emit_32(3271163904);
+emit_32(1094418484);
+emit_32(1111438813);
+emit_32(3271163904);
+emit_32(1098514432);
+emit_32(1110812184);
+emit_32(3271163904);
+emit_32(1100759066);
+emit_32(1110106545);
+emit_32(3271163904);
+emit_32(1102807040);
+emit_32(1109946348);
+emit_32(3271163904);
+emit_32(1104855066);
+emit_32(1109673168);
+emit_32(3271163904);
+emit_32(1106903040);
+emit_32(1109472471);
+emit_32(3271163904);
+emit_32(1108123661);
+emit_32(1108974240);
+emit_32(3271163904);
+emit_32(1109147648);
+emit_32(1108497164);
+emit_32(3271163904);
+emit_32(1110171661);
+emit_32(1108102899);
+emit_32(3271163904);
+emit_32(1111195648);
+emit_32(1107538870);
+emit_32(3271163904);
+emit_32(1112219661);
+emit_32(1106915413);
+emit_32(3271163904);
+emit_32(1113243648);
+emit_32(1107679563);
+emit_32(3271163904);
+emit_32(1114267661);
+emit_32(1107902857);
+emit_32(3271163904);
+emit_32(1115291648);
+emit_32(1107930251);
+emit_32(3271163904);
+emit_32(1116000263);
+emit_32(1107983335);
+emit_32(3271163904);
+emit_32(1116512256);
+emit_32(1108070420);
+emit_32(3271163904);
+emit_32(1117024263);
+emit_32(1108274184);
+emit_32(3271163904);
+emit_32(1117536256);
+emit_32(1108723525);
+emit_32(3271163904);
+emit_32(1118048263);
+emit_32(1108785863);
+emit_32(3271163904);
+emit_32(1118560256);
+emit_32(1108864795);
+emit_32(3271163904);
+emit_32(1119072263);
+emit_32(1109018883);
+emit_32(3271163904);
+emit_32(1119584256);
+emit_32(1109278065);
+emit_32(3271163904);
+emit_32(1120096263);
+emit_32(1109410316);
+emit_32(3271163904);
+emit_32(1120608322);
+emit_32(1109373406);
+emit_32(3271163904);
+emit_32(1121120289);
+emit_32(1109364887);
+emit_32(3271163904);
+emit_32(1121632256);
+emit_32(1109384967);
+emit_32(3271163904);
+emit_32(1122144223);
+emit_32(1109332197);
+emit_32(3271163904);
+emit_32(1122656322);
+emit_32(1109067825);
+emit_32(3271163904);
+emit_32(1123168289);
+emit_32(1108783609);
+emit_32(3271163904);
+emit_32(1123680256);
+emit_32(1108563460);
+emit_32(3271163904);
+emit_32(1124132848);
+emit_32(1108020743);
+emit_32(3271163904);
+emit_32(1124388897);
+emit_32(1107280056);
+emit_32(3271163904);
+emit_32(1124644880);
+emit_32(1106630987);
+emit_32(3271163904);
+emit_32(1124900864);
+emit_32(1105186941);
+emit_32(3271163904);
+emit_32(1125156848);
+emit_32(1103741583);
+emit_32(3271163904);
+emit_32(1125412897);
+emit_32(1102190530);
+emit_32(3271163904);
+emit_32(1125668880);
+emit_32(1101340292);
+emit_32(3271163904);
+emit_32(1125924864);
+emit_32(1100447115);
+emit_32(3271163904);
+emit_32(1126180848);
+emit_32(1099367868);
+emit_32(3271163904);
+emit_32(1126436897);
+emit_32(1097589064);
+emit_32(3271163904);
+emit_32(1126692880);
+emit_32(1095164127);
+emit_32(3271163904);
+emit_32(1126948864);
+emit_32(1092722832);
+emit_32(3271163904);
+emit_32(1127204848);
+emit_32(1090145097);
+emit_32(3271163904);
+emit_32(1127460897);
+emit_32(1085202802);
+emit_32(3271163904);
+emit_32(1127716880);
+emit_32(1076722968);
+emit_32(3271163904);
+emit_32(1127972864);
+emit_32(1066002159);
+emit_32(3271163904);
+emit_32(1128228848);
+emit_32(3206002464);
+emit_32(3271163904);
+emit_32(1128484897);
+emit_32(3225385089);
+emit_32(3271163904);
+emit_32(1128740880);
+emit_32(3230254068);
+emit_32(3271163904);
+emit_32(1128996864);
+emit_32(3231283224);
+emit_32(3271163904);
+emit_32(1129252848);
+emit_32(3234493545);
+emit_32(3271163904);
+emit_32(1129508897);
+emit_32(3235258355);
+emit_32(3271163904);
+emit_32(1129764880);
+emit_32(3238361175);
+emit_32(3271163904);
+emit_32(1130020864);
+emit_32(3238992240);
+emit_32(3271163904);
+emit_32(1130276848);
+emit_32(3236249825);
+emit_32(3271163904);
+emit_32(1130532897);
+emit_32(3232841681);
+emit_32(3271163904);
+emit_32(1130788880);
+emit_32(3231925288);
+emit_32(3271163904);
+emit_32(1131044864);
+emit_32(3233336672);
+emit_32(3271163904);
+emit_32(1131300848);
+emit_32(3232958618);
+emit_32(3271163904);
+emit_32(1131556897);
+emit_32(3233414623);
+emit_32(3271163904);
+emit_32(1131812880);
+emit_32(3232723968);
+emit_32(3271163904);
+emit_32(1132068864);
+emit_32(3232386725);
+emit_32(3271163904);
+emit_32(1081737216);
+emit_32(1112138475);
+emit_32(3271616496);
+emit_32(1090125824);
+emit_32(1112117661);
+emit_32(3271616496);
+emit_32(1094418484);
+emit_32(1111516696);
+emit_32(3271616496);
+emit_32(1098514432);
+emit_32(1110701375);
+emit_32(3271616496);
+emit_32(1100759066);
+emit_32(1110259479);
+emit_32(3271616496);
+emit_32(1102807040);
+emit_32(1110148252);
+emit_32(3271616496);
+emit_32(1104855066);
+emit_32(1109941420);
+emit_32(3271616496);
+emit_32(1106903040);
+emit_32(1109408245);
+emit_32(3271616496);
+emit_32(1108123661);
+emit_32(1108791106);
+emit_32(3271616496);
+emit_32(1109147648);
+emit_32(1108280161);
+emit_32(3271616496);
+emit_32(1110171661);
+emit_32(1107557063);
+emit_32(3271616496);
+emit_32(1111195648);
+emit_32(1107163926);
+emit_32(3271616496);
+emit_32(1112219661);
+emit_32(1106741192);
+emit_32(3271616496);
+emit_32(1113243648);
+emit_32(1107262911);
+emit_32(3271616496);
+emit_32(1114267661);
+emit_32(1107611563);
+emit_32(3271616496);
+emit_32(1115291648);
+emit_32(1107823244);
+emit_32(3271616496);
+emit_32(1116000263);
+emit_32(1107902490);
+emit_32(3271616496);
+emit_32(1116512256);
+emit_32(1107980347);
+emit_32(3271616496);
+emit_32(1117024263);
+emit_32(1108314974);
+emit_32(3271616496);
+emit_32(1117536256);
+emit_32(1108495670);
+emit_32(3271616496);
+emit_32(1118048263);
+emit_32(1108580998);
+emit_32(3271616496);
+emit_32(1118560256);
+emit_32(1108703707);
+emit_32(3271616496);
+emit_32(1119072263);
+emit_32(1108940790);
+emit_32(3271616496);
+emit_32(1119584256);
+emit_32(1109066200);
+emit_32(3271616496);
+emit_32(1120096263);
+emit_32(1109329864);
+emit_32(3271616496);
+emit_32(1120608322);
+emit_32(1109220734);
+emit_32(3271616496);
+emit_32(1121120289);
+emit_32(1109504138);
+emit_32(3271616496);
+emit_32(1121632256);
+emit_32(1109526053);
+emit_32(3271616496);
+emit_32(1122144223);
+emit_32(1109328108);
+emit_32(3271616496);
+emit_32(1122656322);
+emit_32(1109031859);
+emit_32(3271616496);
+emit_32(1123168289);
+emit_32(1108646638);
+emit_32(3271616496);
+emit_32(1123680256);
+emit_32(1108345618);
+emit_32(3271616496);
+emit_32(1124132848);
+emit_32(1107854806);
+emit_32(3271616496);
+emit_32(1124388897);
+emit_32(1107061532);
+emit_32(3271616496);
+emit_32(1124644880);
+emit_32(1105828407);
+emit_32(3271616496);
+emit_32(1124900864);
+emit_32(1104345458);
+emit_32(3271616496);
+emit_32(1125156848);
+emit_32(1103146569);
+emit_32(3271616496);
+emit_32(1125412897);
+emit_32(1101554883);
+emit_32(3271616496);
+emit_32(1125668880);
+emit_32(1100465255);
+emit_32(3271616496);
+emit_32(1125924864);
+emit_32(1099197894);
+emit_32(3271616496);
+emit_32(1126180848);
+emit_32(1097396440);
+emit_32(3271616496);
+emit_32(1126436897);
+emit_32(1095592680);
+emit_32(3271616496);
+emit_32(1126692880);
+emit_32(1093988988);
+emit_32(3271616496);
+emit_32(1126948864);
+emit_32(1091770998);
+emit_32(3271616496);
+emit_32(1127204848);
+emit_32(1088099283);
+emit_32(3271616496);
+emit_32(1127460897);
+emit_32(1081294172);
+emit_32(3271616496);
+emit_32(1127716880);
+emit_32(1060903076);
+emit_32(3271616496);
+emit_32(1127972864);
+emit_32(1039720717);
+emit_32(3271616496);
+emit_32(1128228848);
+emit_32(3220556900);
+emit_32(3271616496);
+emit_32(1128484897);
+emit_32(3232451338);
+emit_32(3271616496);
+emit_32(1128740880);
+emit_32(3236043424);
+emit_32(3271616496);
+emit_32(1128996864);
+emit_32(3238289211);
+emit_32(3271616496);
+emit_32(1129252848);
+emit_32(3238868193);
+emit_32(3271616496);
+emit_32(1129508897);
+emit_32(3239430691);
+emit_32(3271616496);
+emit_32(1129764880);
+emit_32(3241001301);
+emit_32(3271616496);
+emit_32(1130020864);
+emit_32(3240828600);
+emit_32(3271616496);
+emit_32(1130276848);
+emit_32(3238957018);
+emit_32(3271616496);
+emit_32(1130532897);
+emit_32(3238262997);
+emit_32(3271616496);
+emit_32(1130788880);
+emit_32(3237575372);
+emit_32(3271616496);
+emit_32(1131044864);
+emit_32(3235372398);
+emit_32(3271616496);
+emit_32(1131300848);
+emit_32(3236771345);
+emit_32(3271616496);
+emit_32(1131556897);
+emit_32(3235935337);
+emit_32(3271616496);
+emit_32(1131812880);
+emit_32(3235730822);
+emit_32(3271616496);
+emit_32(1132068864);
+emit_32(3234015499);
+emit_32(3271616496);
+emit_32(1081737216);
+emit_32(1111780334);
+emit_32(3271872545);
+emit_32(1090125824);
+emit_32(1111692673);
+emit_32(3271872545);
+emit_32(1094418484);
+emit_32(1111222256);
+emit_32(3271872545);
+emit_32(1098514432);
+emit_32(1110566135);
+emit_32(3271872545);
+emit_32(1100759066);
+emit_32(1110232950);
+emit_32(3271872545);
+emit_32(1102807040);
+emit_32(1109993665);
+emit_32(3271872545);
+emit_32(1104855066);
+emit_32(1109851950);
+emit_32(3271872545);
+emit_32(1106903040);
+emit_32(1109283098);
+emit_32(3271872545);
+emit_32(1108123661);
+emit_32(1108493022);
+emit_32(3271872545);
+emit_32(1109147648);
+emit_32(1107705515);
+emit_32(3271872545);
+emit_32(1110171661);
+emit_32(1107275494);
+emit_32(3271872545);
+emit_32(1111195648);
+emit_32(1106747326);
+emit_32(3271872545);
+emit_32(1112219661);
+emit_32(1106557639);
+emit_32(3271872545);
+emit_32(1113243648);
+emit_32(1107170427);
+emit_32(3271872545);
+emit_32(1114267661);
+emit_32(1107580499);
+emit_32(3271872545);
+emit_32(1115291648);
+emit_32(1107671725);
+emit_32(3271872545);
+emit_32(1116000263);
+emit_32(1107801250);
+emit_32(3271872545);
+emit_32(1116512256);
+emit_32(1107801355);
+emit_32(3271872545);
+emit_32(1117024263);
+emit_32(1107771313);
+emit_32(3271872545);
+emit_32(1117536256);
+emit_32(1108068427);
+emit_32(3271872545);
+emit_32(1118048263);
+emit_32(1108248048);
+emit_32(3271872545);
+emit_32(1118560256);
+emit_32(1108300713);
+emit_32(3271872545);
+emit_32(1119072263);
+emit_32(1108561232);
+emit_32(3271872545);
+emit_32(1119584256);
+emit_32(1108758521);
+emit_32(3271872545);
+emit_32(1120096263);
+emit_32(1109143559);
+emit_32(3271872545);
+emit_32(1120608322);
+emit_32(1109106360);
+emit_32(3271872545);
+emit_32(1121120289);
+emit_32(1109227104);
+emit_32(3271872545);
+emit_32(1121632256);
+emit_32(1109385701);
+emit_32(3271872545);
+emit_32(1122144223);
+emit_32(1109080854);
+emit_32(3271872545);
+emit_32(1122656322);
+emit_32(1108826600);
+emit_32(3271872545);
+emit_32(1123168289);
+emit_32(1108564194);
+emit_32(3271872545);
+emit_32(1123680256);
+emit_32(1108304829);
+emit_32(3271872545);
+emit_32(1124132848);
+emit_32(1107781275);
+emit_32(3271872545);
+emit_32(1124388897);
+emit_32(1107099700);
+emit_32(3271872545);
+emit_32(1124644880);
+emit_32(1105344908);
+emit_32(3271872545);
+emit_32(1124900864);
+emit_32(1103617904);
+emit_32(3271872545);
+emit_32(1125156848);
+emit_32(1102172966);
+emit_32(3271872545);
+emit_32(1125412897);
+emit_32(1100636435);
+emit_32(3271872545);
+emit_32(1125668880);
+emit_32(1099511418);
+emit_32(3271872545);
+emit_32(1125924864);
+emit_32(1097613076);
+emit_32(3271872545);
+emit_32(1126180848);
+emit_32(1095954124);
+emit_32(3271872545);
+emit_32(1126436897);
+emit_32(1093684062);
+emit_32(3271872545);
+emit_32(1126692880);
+emit_32(1091734235);
+emit_32(3271872545);
+emit_32(1126948864);
+emit_32(1088057634);
+emit_32(3271872545);
+emit_32(1127204848);
+emit_32(1082772853);
+emit_32(3271872545);
+emit_32(1127460897);
+emit_32(1073941095);
+emit_32(3271872545);
+emit_32(1127716880);
+emit_32(3208567734);
+emit_32(3271872545);
+emit_32(1127972864);
+emit_32(3214907844);
+emit_32(3271872545);
+emit_32(1128228848);
+emit_32(3228392866);
+emit_32(3271872545);
+emit_32(1128484897);
+emit_32(3236333837);
+emit_32(3271872545);
+emit_32(1128740880);
+emit_32(3239712465);
+emit_32(3271872545);
+emit_32(1128996864);
+emit_32(3240772082);
+emit_32(3271872545);
+emit_32(1129252848);
+emit_32(3241312099);
+emit_32(3271872545);
+emit_32(1129508897);
+emit_32(3242196782);
+emit_32(3271872545);
+emit_32(1129764880);
+emit_32(3243389118);
+emit_32(3271872545);
+emit_32(1130020864);
+emit_32(3242673360);
+emit_32(3271872545);
+emit_32(1130276848);
+emit_32(3241675955);
+emit_32(3271872545);
+emit_32(1130532897);
+emit_32(3241634116);
+emit_32(3271872545);
+emit_32(1130788880);
+emit_32(3240687986);
+emit_32(3271872545);
+emit_32(1131044864);
+emit_32(3240058075);
+emit_32(3271872545);
+emit_32(1131300848);
+emit_32(3239722845);
+emit_32(3271872545);
+emit_32(1131556897);
+emit_32(3238832237);
+emit_32(3271872545);
+emit_32(1131812880);
+emit_32(3238354108);
+emit_32(3271872545);
+emit_32(1132068864);
+emit_32(3234493083);
+emit_32(3271872545);
+emit_32(1081737216);
+emit_32(1111464346);
+emit_32(3272128528);
+emit_32(1090125824);
+emit_32(1111239505);
+emit_32(3272128528);
+emit_32(1094418484);
+emit_32(1110994767);
+emit_32(3272128528);
+emit_32(1098514432);
+emit_32(1110132890);
+emit_32(3272128528);
+emit_32(1100759066);
+emit_32(1109887445);
+emit_32(3272128528);
+emit_32(1102807040);
+emit_32(1109762271);
+emit_32(3272128528);
+emit_32(1104855066);
+emit_32(1109309469);
+emit_32(3272128528);
+emit_32(1106903040);
+emit_32(1108918429);
+emit_32(3272128528);
+emit_32(1108123661);
+emit_32(1108186287);
+emit_32(3272128528);
+emit_32(1109147648);
+emit_32(1107206970);
+emit_32(3272128528);
+emit_32(1110171661);
+emit_32(1106779308);
+emit_32(3272128528);
+emit_32(1111195648);
+emit_32(1105875436);
+emit_32(3272128528);
+emit_32(1112219661);
+emit_32(1105956962);
+emit_32(3272128528);
+emit_32(1113243648);
+emit_32(1106440618);
+emit_32(3272128528);
+emit_32(1114267661);
+emit_32(1107100225);
+emit_32(3272128528);
+emit_32(1115291648);
+emit_32(1107233499);
+emit_32(3272128528);
+emit_32(1116000263);
+emit_32(1107508645);
+emit_32(3272128528);
+emit_32(1116512256);
+emit_32(1107671935);
+emit_32(3272128528);
+emit_32(1117024263);
+emit_32(1107608207);
+emit_32(3272128528);
+emit_32(1117536256);
+emit_32(1107752387);
+emit_32(3272128528);
+emit_32(1118048263);
+emit_32(1108110134);
+emit_32(3272128528);
+emit_32(1118560256);
+emit_32(1108408690);
+emit_32(3272128528);
+emit_32(1119072263);
+emit_32(1108474017);
+emit_32(3272128528);
+emit_32(1119584256);
+emit_32(1108395164);
+emit_32(3272128528);
+emit_32(1120096263);
+emit_32(1108750369);
+emit_32(3272128528);
+emit_32(1120608322);
+emit_32(1108885688);
+emit_32(3272128528);
+emit_32(1121120289);
+emit_32(1109040851);
+emit_32(3272128528);
+emit_32(1121632256);
+emit_32(1108986665);
+emit_32(3272128528);
+emit_32(1122144223);
+emit_32(1108827727);
+emit_32(3272128528);
+emit_32(1122656322);
+emit_32(1108753462);
+emit_32(3272128528);
+emit_32(1123168289);
+emit_32(1108679852);
+emit_32(3272128528);
+emit_32(1123680256);
+emit_32(1108175513);
+emit_32(3272128528);
+emit_32(1124132848);
+emit_32(1107583015);
+emit_32(3272128528);
+emit_32(1124388897);
+emit_32(1106521358);
+emit_32(3272128528);
+emit_32(1124644880);
+emit_32(1104987134);
+emit_32(3272128528);
+emit_32(1124900864);
+emit_32(1103342862);
+emit_32(3272128528);
+emit_32(1125156848);
+emit_32(1101546652);
+emit_32(3272128528);
+emit_32(1125412897);
+emit_32(1099964770);
+emit_32(3272128528);
+emit_32(1125668880);
+emit_32(1098242746);
+emit_32(3272128528);
+emit_32(1125924864);
+emit_32(1096185125);
+emit_32(3272128528);
+emit_32(1126180848);
+emit_32(1094379792);
+emit_32(3272128528);
+emit_32(1126436897);
+emit_32(1092287841);
+emit_32(3272128528);
+emit_32(1126692880);
+emit_32(1089612693);
+emit_32(3272128528);
+emit_32(1126948864);
+emit_32(1083167159);
+emit_32(3272128528);
+emit_32(1127204848);
+emit_32(1069990774);
+emit_32(3272128528);
+emit_32(1127460897);
+emit_32(1049416773);
+emit_32(3272128528);
+emit_32(1127716880);
+emit_32(3222071379);
+emit_32(3272128528);
+emit_32(1127972864);
+emit_32(3226126181);
+emit_32(3272128528);
+emit_32(1128228848);
+emit_32(3233267570);
+emit_32(3272128528);
+emit_32(1128484897);
+emit_32(3238358344);
+emit_32(3272128528);
+emit_32(1128740880);
+emit_32(3242189233);
+emit_32(3272128528);
+emit_32(1128996864);
+emit_32(3244019627);
+emit_32(3272128528);
+emit_32(1129252848);
+emit_32(3244520951);
+emit_32(3272128528);
+emit_32(1129508897);
+emit_32(3245091062);
+emit_32(3272128528);
+emit_32(1129764880);
+emit_32(3245124302);
+emit_32(3272128528);
+emit_32(1130020864);
+emit_32(3245824436);
+emit_32(3272128528);
+emit_32(1130276848);
+emit_32(3245103854);
+emit_32(3272128528);
+emit_32(1130532897);
+emit_32(3245100184);
+emit_32(3272128528);
+emit_32(1130788880);
+emit_32(3243298207);
+emit_32(3272128528);
+emit_32(1131044864);
+emit_32(3242985731);
+emit_32(3272128528);
+emit_32(1131300848);
+emit_32(3242330895);
+emit_32(3272128528);
+emit_32(1131556897);
+emit_32(3242176545);
+emit_32(3272128528);
+emit_32(1131812880);
+emit_32(3239330856);
+emit_32(3272128528);
+emit_32(1132068864);
+emit_32(3234703260);
+emit_32(3272128528);
+emit_32(1081737216);
+emit_32(1111298697);
+emit_32(3272384512);
+emit_32(1090125824);
+emit_32(1111058363);
+emit_32(3272384512);
+emit_32(1094418484);
+emit_32(1110735087);
+emit_32(3272384512);
+emit_32(1098514432);
+emit_32(1110169171);
+emit_32(3272384512);
+emit_32(1100759066);
+emit_32(1109403894);
+emit_32(3272384512);
+emit_32(1102807040);
+emit_32(1108912557);
+emit_32(3272384512);
+emit_32(1104855066);
+emit_32(1108673482);
+emit_32(3272384512);
+emit_32(1106903040);
+emit_32(1108260081);
+emit_32(3272384512);
+emit_32(1108123661);
+emit_32(1107647870);
+emit_32(3272384512);
+emit_32(1109147648);
+emit_32(1106643832);
+emit_32(3272384512);
+emit_32(1110171661);
+emit_32(1105736919);
+emit_32(3272384512);
+emit_32(1111195648);
+emit_32(1105100643);
+emit_32(3272384512);
+emit_32(1112219661);
+emit_32(1104911375);
+emit_32(3272384512);
+emit_32(1113243648);
+emit_32(1105299348);
+emit_32(3272384512);
+emit_32(1114267661);
+emit_32(1106150267);
+emit_32(3272384512);
+emit_32(1115291648);
+emit_32(1106320766);
+emit_32(3272384512);
+emit_32(1116000263);
+emit_32(1106620187);
+emit_32(3272384512);
+emit_32(1116512256);
+emit_32(1107259294);
+emit_32(3272384512);
+emit_32(1117024263);
+emit_32(1107471604);
+emit_32(3272384512);
+emit_32(1117536256);
+emit_32(1107538267);
+emit_32(3272384512);
+emit_32(1118048263);
+emit_32(1108219553);
+emit_32(3272384512);
+emit_32(1118560256);
+emit_32(1108391625);
+emit_32(3272384512);
+emit_32(1119072263);
+emit_32(1108309180);
+emit_32(3272384512);
+emit_32(1119584256);
+emit_32(1108147516);
+emit_32(3272384512);
+emit_32(1120096263);
+emit_32(1108248730);
+emit_32(3272384512);
+emit_32(1120608322);
+emit_32(1108495801);
+emit_32(3272384512);
+emit_32(1121120289);
+emit_32(1108672669);
+emit_32(3272384512);
+emit_32(1121632256);
+emit_32(1108534860);
+emit_32(3272384512);
+emit_32(1122144223);
+emit_32(1108457213);
+emit_32(3272384512);
+emit_32(1122656322);
+emit_32(1108523588);
+emit_32(3272384512);
+emit_32(1123168289);
+emit_32(1108457397);
+emit_32(3272384512);
+emit_32(1123680256);
+emit_32(1108144502);
+emit_32(3272384512);
+emit_32(1124132848);
+emit_32(1107554966);
+emit_32(3272384512);
+emit_32(1124388897);
+emit_32(1106329469);
+emit_32(3272384512);
+emit_32(1124644880);
+emit_32(1104699510);
+emit_32(3272384512);
+emit_32(1124900864);
+emit_32(1103026140);
+emit_32(3272384512);
+emit_32(1125156848);
+emit_32(1101214148);
+emit_32(3272384512);
+emit_32(1125412897);
+emit_32(1099233965);
+emit_32(3272384512);
+emit_32(1125668880);
+emit_32(1095822737);
+emit_32(3272384512);
+emit_32(1125924864);
+emit_32(1093805801);
+emit_32(3272384512);
+emit_32(1126180848);
+emit_32(1091936012);
+emit_32(3272384512);
+emit_32(1126436897);
+emit_32(1089180931);
+emit_32(3272384512);
+emit_32(1126692880);
+emit_32(1084894877);
+emit_32(3272384512);
+emit_32(1126948864);
+emit_32(1077040728);
+emit_32(3272384512);
+emit_32(1127204848);
+emit_32(1063155099);
+emit_32(3272384512);
+emit_32(1127460897);
+emit_32(3215476340);
+emit_32(3272384512);
+emit_32(1127716880);
+emit_32(3228112477);
+emit_32(3272384512);
+emit_32(1127972864);
+emit_32(3232515133);
+emit_32(3272384512);
+emit_32(1128228848);
+emit_32(3238089206);
+emit_32(3272384512);
+emit_32(1128484897);
+emit_32(3241062852);
+emit_32(3272384512);
+emit_32(1128740880);
+emit_32(3244581139);
+emit_32(3272384512);
+emit_32(1128996864);
+emit_32(3246469677);
+emit_32(3272384512);
+emit_32(1129252848);
+emit_32(3246870181);
+emit_32(3272384512);
+emit_32(1129508897);
+emit_32(3246893302);
+emit_32(3272384512);
+emit_32(1129764880);
+emit_32(3247231363);
+emit_32(3272384512);
+emit_32(1130020864);
+emit_32(3247263344);
+emit_32(3272384512);
+emit_32(1130276848);
+emit_32(3246998946);
+emit_32(3272384512);
+emit_32(1130532897);
+emit_32(3246499404);
+emit_32(3272384512);
+emit_32(1130788880);
+emit_32(3246148551);
+emit_32(3272384512);
+emit_32(1131044864);
+emit_32(3245400077);
+emit_32(3272384512);
+emit_32(1131300848);
+emit_32(3245118115);
+emit_32(3272384512);
+emit_32(1131556897);
+emit_32(3243091847);
+emit_32(3272384512);
+emit_32(1131812880);
+emit_32(3239267260);
+emit_32(3272384512);
+emit_32(1132068864);
+emit_32(3232983029);
+emit_32(3272384512);
+emit_32(1081737216);
+emit_32(1110766990);
+emit_32(3272640496);
+emit_32(1090125824);
+emit_32(1110715348);
+emit_32(3272640496);
+emit_32(1094418484);
+emit_32(1110472891);
+emit_32(3272640496);
+emit_32(1098514432);
+emit_32(1110034088);
+emit_32(3272640496);
+emit_32(1100759066);
+emit_32(1109323153);
+emit_32(3272640496);
+emit_32(1102807040);
+emit_32(1108619533);
+emit_32(3272640496);
+emit_32(1104855066);
+emit_32(1107915545);
+emit_32(3272640496);
+emit_32(1106903040);
+emit_32(1107624277);
+emit_32(3272640496);
+emit_32(1108123661);
+emit_32(1106832051);
+emit_32(3272640496);
+emit_32(1109147648);
+emit_32(1105866313);
+emit_32(3272640496);
+emit_32(1110171661);
+emit_32(1104840439);
+emit_32(3272640496);
+emit_32(1111195648);
+emit_32(1104739880);
+emit_32(3272640496);
+emit_32(1112219661);
+emit_32(1104492573);
+emit_32(3272640496);
+emit_32(1113243648);
+emit_32(1104325483);
+emit_32(3272640496);
+emit_32(1114267661);
+emit_32(1105104785);
+emit_32(3272640496);
+emit_32(1115291648);
+emit_32(1105118154);
+emit_32(3272640496);
+emit_32(1116000263);
+emit_32(1105110290);
+emit_32(3272640496);
+emit_32(1116512256);
+emit_32(1106190585);
+emit_32(3272640496);
+emit_32(1117024263);
+emit_32(1106806938);
+emit_32(3272640496);
+emit_32(1117536256);
+emit_32(1107447723);
+emit_32(3272640496);
+emit_32(1118048263);
+emit_32(1107960450);
+emit_32(3272640496);
+emit_32(1118560256);
+emit_32(1108120882);
+emit_32(3272640496);
+emit_32(1119072263);
+emit_32(1108021058);
+emit_32(3272640496);
+emit_32(1119584256);
+emit_32(1107844897);
+emit_32(3272640496);
+emit_32(1120096263);
+emit_32(1107897457);
+emit_32(3272640496);
+emit_32(1120608322);
+emit_32(1108031465);
+emit_32(3272640496);
+emit_32(1121120289);
+emit_32(1108410263);
+emit_32(3272640496);
+emit_32(1121632256);
+emit_32(1108301604);
+emit_32(3272640496);
+emit_32(1122144223);
+emit_32(1108298380);
+emit_32(3272640496);
+emit_32(1122656322);
+emit_32(1108279165);
+emit_32(3272640496);
+emit_32(1123168289);
+emit_32(1108038648);
+emit_32(3272640496);
+emit_32(1123680256);
+emit_32(1107908388);
+emit_32(3272640496);
+emit_32(1124132848);
+emit_32(1107420617);
+emit_32(3272640496);
+emit_32(1124388897);
+emit_32(1106088663);
+emit_32(3272640496);
+emit_32(1124644880);
+emit_32(1104288416);
+emit_32(3272640496);
+emit_32(1124900864);
+emit_32(1102764101);
+emit_32(3272640496);
+emit_32(1125156848);
+emit_32(1100664904);
+emit_32(3272640496);
+emit_32(1125412897);
+emit_32(1097290744);
+emit_32(3272640496);
+emit_32(1125668880);
+emit_32(1093918838);
+emit_32(3272640496);
+emit_32(1125924864);
+emit_32(1092359438);
+emit_32(3272640496);
+emit_32(1126180848);
+emit_32(1090438216);
+emit_32(3272640496);
+emit_32(1126436897);
+emit_32(1085633179);
+emit_32(3272640496);
+emit_32(1126692880);
+emit_32(1082298330);
+emit_32(3272640496);
+emit_32(1126948864);
+emit_32(1071317684);
+emit_32(3272640496);
+emit_32(1127204848);
+emit_32(3211416991);
+emit_32(3272640496);
+emit_32(1127460897);
+emit_32(3224008099);
+emit_32(3272640496);
+emit_32(1127716880);
+emit_32(3232930936);
+emit_32(3272640496);
+emit_32(1127972864);
+emit_32(3237569689);
+emit_32(3272640496);
+emit_32(1128228848);
+emit_32(3240285648);
+emit_32(3272640496);
+emit_32(1128484897);
+emit_32(3243818405);
+emit_32(3272640496);
+emit_32(1128740880);
+emit_32(3246427577);
+emit_32(3272640496);
+emit_32(1128996864);
+emit_32(3247046918);
+emit_32(3272640496);
+emit_32(1129252848);
+emit_32(3247819509);
+emit_32(3272640496);
+emit_32(1129508897);
+emit_32(3247822340);
+emit_32(3272640496);
+emit_32(1129764880);
+emit_32(3248121446);
+emit_32(3272640496);
+emit_32(1130020864);
+emit_32(3248655224);
+emit_32(3272640496);
+emit_32(1130276848);
+emit_32(3248219541);
+emit_32(3272640496);
+emit_32(1130532897);
+emit_32(3247726395);
+emit_32(3272640496);
+emit_32(1130788880);
+emit_32(3247190835);
+emit_32(3272640496);
+emit_32(1131044864);
+emit_32(3246657425);
+emit_32(3272640496);
+emit_32(1131300848);
+emit_32(3245446844);
+emit_32(3272640496);
+emit_32(1131556897);
+emit_32(3243320646);
+emit_32(3272640496);
+emit_32(1131812880);
+emit_32(3240090015);
+emit_32(3272640496);
+emit_32(1132068864);
+emit_32(3233059449);
+emit_32(3272640496);
+emit_32(1081737216);
+emit_32(1110289075);
+emit_32(3272896545);
+emit_32(1090125824);
+emit_32(1110184899);
+emit_32(3272896545);
+emit_32(1094418484);
+emit_32(1110081326);
+emit_32(3272896545);
+emit_32(1098514432);
+emit_32(1109624907);
+emit_32(3272896545);
+emit_32(1100759066);
+emit_32(1109048007);
+emit_32(3272896545);
+emit_32(1102807040);
+emit_32(1108349472);
+emit_32(3272896545);
+emit_32(1104855066);
+emit_32(1107549330);
+emit_32(3272896545);
+emit_32(1106903040);
+emit_32(1106981421);
+emit_32(3272896545);
+emit_32(1108123661);
+emit_32(1105990831);
+emit_32(3272896545);
+emit_32(1109147648);
+emit_32(1104915359);
+emit_32(3272896545);
+emit_32(1110171661);
+emit_32(1103693873);
+emit_32(3272896545);
+emit_32(1111195648);
+emit_32(1103863900);
+emit_32(3272896545);
+emit_32(1112219661);
+emit_32(1103998799);
+emit_32(3272896545);
+emit_32(1113243648);
+emit_32(1104012640);
+emit_32(3272896545);
+emit_32(1114267661);
+emit_32(1104234834);
+emit_32(3272896545);
+emit_32(1115291648);
+emit_32(1104799230);
+emit_32(3272896545);
+emit_32(1116000263);
+emit_32(1104865395);
+emit_32(3272896545);
+emit_32(1116512256);
+emit_32(1105083079);
+emit_32(3272896545);
+emit_32(1117024263);
+emit_32(1105770892);
+emit_32(3272896545);
+emit_32(1117536256);
+emit_32(1106981264);
+emit_32(3272896545);
+emit_32(1118048263);
+emit_32(1107541964);
+emit_32(3272896545);
+emit_32(1118560256);
+emit_32(1107753173);
+emit_32(3272896545);
+emit_32(1119072263);
+emit_32(1107932348);
+emit_32(3272896545);
+emit_32(1119584256);
+emit_32(1107696026);
+emit_32(3272896545);
+emit_32(1120096263);
+emit_32(1107774171);
+emit_32(3272896545);
+emit_32(1120608322);
+emit_32(1107999483);
+emit_32(3272896545);
+emit_32(1121120289);
+emit_32(1108089897);
+emit_32(3272896545);
+emit_32(1121632256);
+emit_32(1107942887);
+emit_32(3272896545);
+emit_32(1122144223);
+emit_32(1108011018);
+emit_32(3272896545);
+emit_32(1122656322);
+emit_32(1107841201);
+emit_32(3272896545);
+emit_32(1123168289);
+emit_32(1107624487);
+emit_32(3272896545);
+emit_32(1123680256);
+emit_32(1107346430);
+emit_32(3272896545);
+emit_32(1124132848);
+emit_32(1106655681);
+emit_32(3272896545);
+emit_32(1124388897);
+emit_32(1105650778);
+emit_32(3272896545);
+emit_32(1124644880);
+emit_32(1103819755);
+emit_32(3272896545);
+emit_32(1124900864);
+emit_32(1101832441);
+emit_32(3272896545);
+emit_32(1125156848);
+emit_32(1099587597);
+emit_32(3272896545);
+emit_32(1125412897);
+emit_32(1095963771);
+emit_32(3272896545);
+emit_32(1125668880);
+emit_32(1092682462);
+emit_32(3272896545);
+emit_32(1125924864);
+emit_32(1090858999);
+emit_32(3272896545);
+emit_32(1126180848);
+emit_32(1087538064);
+emit_32(3272896545);
+emit_32(1126436897);
+emit_32(1082518866);
+emit_32(3272896545);
+emit_32(1126692880);
+emit_32(1074794217);
+emit_32(3272896545);
+emit_32(1126948864);
+emit_32(1055151058);
+emit_32(3272896545);
+emit_32(1127204848);
+emit_32(3219019520);
+emit_32(3272896545);
+emit_32(1127460897);
+emit_32(3227302431);
+emit_32(3272896545);
+emit_32(1127716880);
+emit_32(3235425456);
+emit_32(3272896545);
+emit_32(1127972864);
+emit_32(3239324219);
+emit_32(3272896545);
+emit_32(1128228848);
+emit_32(3242595451);
+emit_32(3272896545);
+emit_32(1128484897);
+emit_32(3244970790);
+emit_32(3272896545);
+emit_32(1128740880);
+emit_32(3246227194);
+emit_32(3272896545);
+emit_32(1128996864);
+emit_32(3247085558);
+emit_32(3272896545);
+emit_32(1129252848);
+emit_32(3248170310);
+emit_32(3272896545);
+emit_32(1129508897);
+emit_32(3248369697);
+emit_32(3272896545);
+emit_32(1129764880);
+emit_32(3248556238);
+emit_32(3272896545);
+emit_32(1130020864);
+emit_32(3248791329);
+emit_32(3272896545);
+emit_32(1130276848);
+emit_32(3248863052);
+emit_32(3272896545);
+emit_32(1130532897);
+emit_32(3248823992);
+emit_32(3272896545);
+emit_32(1130788880);
+emit_32(3248329641);
+emit_32(3272896545);
+emit_32(1131044864);
+emit_32(3247178567);
+emit_32(3272896545);
+emit_32(1131300848);
+emit_32(3244969427);
+emit_32(3272896545);
+emit_32(1131556897);
+emit_32(3242521421);
+emit_32(3272896545);
+emit_32(1131812880);
+emit_32(3240271177);
+emit_32(3272896545);
+emit_32(1132068864);
+emit_32(3235475683);
+emit_32(3272896545);
+emit_32(1081737216);
+emit_32(1110106754);
+emit_32(3273152528);
+emit_32(1090125824);
+emit_32(1109851190);
+emit_32(3273152528);
+emit_32(1094418484);
+emit_32(1109531007);
+emit_32(3273152528);
+emit_32(1098514432);
+emit_32(1109268234);
+emit_32(3273152528);
+emit_32(1100759066);
+emit_32(1108527468);
+emit_32(3273152528);
+emit_32(1102807040);
+emit_32(1107822510);
+emit_32(3273152528);
+emit_32(1104855066);
+emit_32(1106879657);
+emit_32(3273152528);
+emit_32(1106903040);
+emit_32(1105644854);
+emit_32(3273152528);
+emit_32(1108123661);
+emit_32(1104812442);
+emit_32(3273152528);
+emit_32(1109147648);
+emit_32(1103599816);
+emit_32(3273152528);
+emit_32(1110171661);
+emit_32(1102886837);
+emit_32(3273152528);
+emit_32(1111195648);
+emit_32(1102824551);
+emit_32(3273152528);
+emit_32(1112219661);
+emit_32(1103195800);
+emit_32(3273152528);
+emit_32(1113243648);
+emit_32(1103637250);
+emit_32(3273152528);
+emit_32(1114267661);
+emit_32(1103975626);
+emit_32(3273152528);
+emit_32(1115291648);
+emit_32(1103996545);
+emit_32(3273152528);
+emit_32(1116000263);
+emit_32(1104513755);
+emit_32(3273152528);
+emit_32(1116512256);
+emit_32(1104583642);
+emit_32(3273152528);
+emit_32(1117024263);
+emit_32(1105332745);
+emit_32(3273152528);
+emit_32(1117536256);
+emit_32(1106424522);
+emit_32(3273152528);
+emit_32(1118048263);
+emit_32(1107096712);
+emit_32(3273152528);
+emit_32(1118560256);
+emit_32(1107537140);
+emit_32(3273152528);
+emit_32(1119072263);
+emit_32(1107484004);
+emit_32(3273152528);
+emit_32(1119584256);
+emit_32(1107558426);
+emit_32(3273152528);
+emit_32(1120096263);
+emit_32(1107936071);
+emit_32(3273152528);
+emit_32(1120608322);
+emit_32(1108104000);
+emit_32(3273152528);
+emit_32(1121120289);
+emit_32(1107929150);
+emit_32(3273152528);
+emit_32(1121632256);
+emit_32(1107694584);
+emit_32(3273152528);
+emit_32(1122144223);
+emit_32(1107539263);
+emit_32(3273152528);
+emit_32(1122656322);
+emit_32(1107466886);
+emit_32(3273152528);
+emit_32(1123168289);
+emit_32(1107473859);
+emit_32(3273152528);
+emit_32(1123680256);
+emit_32(1106712723);
+emit_32(3273152528);
+emit_32(1124132848);
+emit_32(1105424338);
+emit_32(3273152528);
+emit_32(1124388897);
+emit_32(1104440931);
+emit_32(3273152528);
+emit_32(1124644880);
+emit_32(1103144052);
+emit_32(3273152528);
+emit_32(1124900864);
+emit_32(1101107560);
+emit_32(3273152528);
+emit_32(1125156848);
+emit_32(1099132725);
+emit_32(3273152528);
+emit_32(1125412897);
+emit_32(1095577685);
+emit_32(3273152528);
+emit_32(1125668880);
+emit_32(1092369556);
+emit_32(3273152528);
+emit_32(1125924864);
+emit_32(1088719809);
+emit_32(3273152528);
+emit_32(1126180848);
+emit_32(1083696669);
+emit_32(3273152528);
+emit_32(1126436897);
+emit_32(1075000451);
+emit_32(3273152528);
+emit_32(1126692880);
+emit_32(1069530827);
+emit_32(3273152528);
+emit_32(1126948864);
+emit_32(3206582150);
+emit_32(3273152528);
+emit_32(1127204848);
+emit_32(3221141921);
+emit_32(3273152528);
+emit_32(1127460897);
+emit_32(3231308055);
+emit_32(3273152528);
+emit_32(1127716880);
+emit_32(3238013027);
+emit_32(3273152528);
+emit_32(1127972864);
+emit_32(3241648692);
+emit_32(3273152528);
+emit_32(1128228848);
+emit_32(3243113762);
+emit_32(3273152528);
+emit_32(1128484897);
+emit_32(3244161289);
+emit_32(3273152528);
+emit_32(1128740880);
+emit_32(3245421258);
+emit_32(3273152528);
+emit_32(1128996864);
+emit_32(3246875424);
+emit_32(3273152528);
+emit_32(1129252848);
+emit_32(3247610685);
+emit_32(3273152528);
+emit_32(1129508897);
+emit_32(3248309299);
+emit_32(3273152528);
+emit_32(1129764880);
+emit_32(3248981069);
+emit_32(3273152528);
+emit_32(1130020864);
+emit_32(3249435889);
+emit_32(3273152528);
+emit_32(1130276848);
+emit_32(3249270057);
+emit_32(3273152528);
+emit_32(1130532897);
+emit_32(3249259047);
+emit_32(3273152528);
+emit_32(1130788880);
+emit_32(3248161974);
+emit_32(3273152528);
+emit_32(1131044864);
+emit_32(3246939072);
+emit_32(3273152528);
+emit_32(1131300848);
+emit_32(3244307041);
+emit_32(3273152528);
+emit_32(1131556897);
+emit_32(3241397138);
+emit_32(3273152528);
+emit_32(1131812880);
+emit_32(3239169606);
+emit_32(3273152528);
+emit_32(1132068864);
+emit_32(3235418829);
+emit_32(3273152528);
+emit_32(1081737216);
+emit_32(1109848700);
+emit_32(3273408512);
+emit_32(1090125824);
+emit_32(1109616073);
+emit_32(3273408512);
+emit_32(1094418484);
+emit_32(1109191190);
+emit_32(3273408512);
+emit_32(1098514432);
+emit_32(1108732386);
+emit_32(3273408512);
+emit_32(1100759066);
+emit_32(1108353876);
+emit_32(3273408512);
+emit_32(1102807040);
+emit_32(1107813099);
+emit_32(3273408512);
+emit_32(1104855066);
+emit_32(1106931404);
+emit_32(3273408512);
+emit_32(1106903040);
+emit_32(1105711700);
+emit_32(3273408512);
+emit_32(1108123661);
+emit_32(1104199496);
+emit_32(3273408512);
+emit_32(1109147648);
+emit_32(1102966738);
+emit_32(3273408512);
+emit_32(1110171661);
+emit_32(1102284115);
+emit_32(3273408512);
+emit_32(1111195648);
+emit_32(1102118283);
+emit_32(3273408512);
+emit_32(1112219661);
+emit_32(1102403024);
+emit_32(3273408512);
+emit_32(1113243648);
+emit_32(1102981471);
+emit_32(3273408512);
+emit_32(1114267661);
+emit_32(1103432253);
+emit_32(3273408512);
+emit_32(1115291648);
+emit_32(1103738700);
+emit_32(3273408512);
+emit_32(1116000263);
+emit_32(1104470396);
+emit_32(3273408512);
+emit_32(1116512256);
+emit_32(1104866915);
+emit_32(3273408512);
+emit_32(1117024263);
+emit_32(1105262543);
+emit_32(3273408512);
+emit_32(1117536256);
+emit_32(1106001527);
+emit_32(3273408512);
+emit_32(1118048263);
+emit_32(1106476637);
+emit_32(3273408512);
+emit_32(1118560256);
+emit_32(1106576409);
+emit_32(3273408512);
+emit_32(1119072263);
+emit_32(1106461537);
+emit_32(3273408512);
+emit_32(1119584256);
+emit_32(1107353561);
+emit_32(3273408512);
+emit_32(1120096263);
+emit_32(1107634841);
+emit_32(3273408512);
+emit_32(1120608322);
+emit_32(1107769845);
+emit_32(3273408512);
+emit_32(1121120289);
+emit_32(1107434380);
+emit_32(3273408512);
+emit_32(1121632256);
+emit_32(1107315943);
+emit_32(3273408512);
+emit_32(1122144223);
+emit_32(1106787592);
+emit_32(3273408512);
+emit_32(1122656322);
+emit_32(1106765100);
+emit_32(3273408512);
+emit_32(1123168289);
+emit_32(1106762845);
+emit_32(3273408512);
+emit_32(1123680256);
+emit_32(1105758834);
+emit_32(3273408512);
+emit_32(1124132848);
+emit_32(1104621758);
+emit_32(3273408512);
+emit_32(1124388897);
+emit_32(1103142375);
+emit_32(3273408512);
+emit_32(1124644880);
+emit_32(1101953080);
+emit_32(3273408512);
+emit_32(1124900864);
+emit_32(1100385039);
+emit_32(3273408512);
+emit_32(1125156848);
+emit_32(1097070857);
+emit_32(3273408512);
+emit_32(1125412897);
+emit_32(1093584657);
+emit_32(3273408512);
+emit_32(1125668880);
+emit_32(1091629985);
+emit_32(3273408512);
+emit_32(1125924864);
+emit_32(1088130111);
+emit_32(3273408512);
+emit_32(1126180848);
+emit_32(1080062598);
+emit_32(3273408512);
+emit_32(1126436897);
+emit_32(1066603370);
+emit_32(3273408512);
+emit_32(1126692880);
+emit_32(3206794499);
+emit_32(3273408512);
+emit_32(1126948864);
+emit_32(3224322043);
+emit_32(3273408512);
+emit_32(1127204848);
+emit_32(3229663824);
+emit_32(3273408512);
+emit_32(1127460897);
+emit_32(3234125914);
+emit_32(3273408512);
+emit_32(1127716880);
+emit_32(3238854457);
+emit_32(3273408512);
+emit_32(1127972864);
+emit_32(3240458138);
+emit_32(3273408512);
+emit_32(1128228848);
+emit_32(3241347121);
+emit_32(3273408512);
+emit_32(1128484897);
+emit_32(3243399080);
+emit_32(3273408512);
+emit_32(1128740880);
+emit_32(3244860480);
+emit_32(3273408512);
+emit_32(1128996864);
+emit_32(3246331213);
+emit_32(3273408512);
+emit_32(1129252848);
+emit_32(3247173534);
+emit_32(3273408512);
+emit_32(1129508897);
+emit_32(3247995565);
+emit_32(3273408512);
+emit_32(1129764880);
+emit_32(3249070460);
+emit_32(3273408512);
+emit_32(1130020864);
+emit_32(3249215740);
+emit_32(3273408512);
+emit_32(1130276848);
+emit_32(3249090383);
+emit_32(3273408512);
+emit_32(1130532897);
+emit_32(3248637136);
+emit_32(3273408512);
+emit_32(1130788880);
+emit_32(3247527900);
+emit_32(3273408512);
+emit_32(1131044864);
+emit_32(3246097695);
+emit_32(3273408512);
+emit_32(1131300848);
+emit_32(3243725711);
+emit_32(3273408512);
+emit_32(1131556897);
+emit_32(3240252198);
+emit_32(3273408512);
+emit_32(1131812880);
+emit_32(3238101369);
+emit_32(3273408512);
+emit_32(1132068864);
+emit_32(3232685716);
+emit_32(3273408512);
+emit_32(1081737216);
+emit_32(1109518057);
+emit_32(3273664496);
+emit_32(1090125824);
+emit_32(1109209645);
+emit_32(3273664496);
+emit_32(1094418484);
+emit_32(1108711100);
+emit_32(3273664496);
+emit_32(1098514432);
+emit_32(1108394482);
+emit_32(3273664496);
+emit_32(1100759066);
+emit_32(1107902805);
+emit_32(3273664496);
+emit_32(1102807040);
+emit_32(1107530351);
+emit_32(3273664496);
+emit_32(1104855066);
+emit_32(1106484396);
+emit_32(3273664496);
+emit_32(1106903040);
+emit_32(1105503610);
+emit_32(3273664496);
+emit_32(1108123661);
+emit_32(1104089658);
+emit_32(3273664496);
+emit_32(1109147648);
+emit_32(1103023571);
+emit_32(3273664496);
+emit_32(1110171661);
+emit_32(1102213651);
+emit_32(3273664496);
+emit_32(1111195648);
+emit_32(1101760718);
+emit_32(3273664496);
+emit_32(1112219661);
+emit_32(1102038119);
+emit_32(3273664496);
+emit_32(1113243648);
+emit_32(1102582016);
+emit_32(3273664496);
+emit_32(1114267661);
+emit_32(1103573287);
+emit_32(3273664496);
+emit_32(1115291648);
+emit_32(1103737913);
+emit_32(3273664496);
+emit_32(1116000263);
+emit_32(1104225396);
+emit_32(3273664496);
+emit_32(1116512256);
+emit_32(1104815063);
+emit_32(3273664496);
+emit_32(1117024263);
+emit_32(1105243301);
+emit_32(3273664496);
+emit_32(1117536256);
+emit_32(1105695814);
+emit_32(3273664496);
+emit_32(1118048263);
+emit_32(1105989625);
+emit_32(3273664496);
+emit_32(1118560256);
+emit_32(1106114930);
+emit_32(3273664496);
+emit_32(1119072263);
+emit_32(1106699669);
+emit_32(3273664496);
+emit_32(1119584256);
+emit_32(1107034164);
+emit_32(3273664496);
+emit_32(1120096263);
+emit_32(1107327294);
+emit_32(3273664496);
+emit_32(1120608322);
+emit_32(1106913106);
+emit_32(3273664496);
+emit_32(1121120289);
+emit_32(1106509038);
+emit_32(3273664496);
+emit_32(1121632256);
+emit_32(1105952401);
+emit_32(3273664496);
+emit_32(1122144223);
+emit_32(1106608862);
+emit_32(3273664496);
+emit_32(1122656322);
+emit_32(1106050443);
+emit_32(3273664496);
+emit_32(1123168289);
+emit_32(1105539210);
+emit_32(3273664496);
+emit_32(1123680256);
+emit_32(1104316937);
+emit_32(3273664496);
+emit_32(1124132848);
+emit_32(1103423078);
+emit_32(3273664496);
+emit_32(1124388897);
+emit_32(1102157867);
+emit_32(3273664496);
+emit_32(1124644880);
+emit_32(1100686767);
+emit_32(3273664496);
+emit_32(1124900864);
+emit_32(1099193752);
+emit_32(3273664496);
+emit_32(1125156848);
+emit_32(1096183867);
+emit_32(3273664496);
+emit_32(1125412897);
+emit_32(1092300434);
+emit_32(3273664496);
+emit_32(1125668880);
+emit_32(1090658553);
+emit_32(3273664496);
+emit_32(1125924864);
+emit_32(1087350684);
+emit_32(3273664496);
+emit_32(1126180848);
+emit_32(1076097052);
+emit_32(3273664496);
+emit_32(1126436897);
+emit_32(1033250201);
+emit_32(3273664496);
+emit_32(1126692880);
+emit_32(3213794340);
+emit_32(3273664496);
+emit_32(1126948864);
+emit_32(3225617244);
+emit_32(3273664496);
+emit_32(1127204848);
+emit_32(3234199587);
+emit_32(3273664496);
+emit_32(1127460897);
+emit_32(3236783823);
+emit_32(3273664496);
+emit_32(1127716880);
+emit_32(3239231409);
+emit_32(3273664496);
+emit_32(1127972864);
+emit_32(3239869436);
+emit_32(3273664496);
+emit_32(1128228848);
+emit_32(3240676137);
+emit_32(3273664496);
+emit_32(1128484897);
+emit_32(3242958153);
+emit_32(3273664496);
+emit_32(1128740880);
+emit_32(3244196417);
+emit_32(3273664496);
+emit_32(1128996864);
+emit_32(3245843100);
+emit_32(3273664496);
+emit_32(1129252848);
+emit_32(3247245204);
+emit_32(3273664496);
+emit_32(1129508897);
+emit_32(3248095337);
+emit_32(3273664496);
+emit_32(1129764880);
+emit_32(3248269505);
+emit_32(3273664496);
+emit_32(1130020864);
+emit_32(3248127423);
+emit_32(3273664496);
+emit_32(1130276848);
+emit_32(3248240250);
+emit_32(3273664496);
+emit_32(1130532897);
+emit_32(3247358398);
+emit_32(3273664496);
+emit_32(1130788880);
+emit_32(3246549998);
+emit_32(3273664496);
+emit_32(1131044864);
+emit_32(3244820005);
+emit_32(3273664496);
+emit_32(1131300848);
+emit_32(3242185563);
+emit_32(3273664496);
+emit_32(1131556897);
+emit_32(3239470873);
+emit_32(3273664496);
+emit_32(1131812880);
+emit_32(3235146241);
+emit_32(3273664496);
+emit_32(1132068864);
+emit_32(3228421765);
+emit_32(3273664496);
+emit_32(1081737216);
+emit_32(1109095429);
+emit_32(3273920545);
+emit_32(1090125824);
+emit_32(1108721848);
+emit_32(3273920545);
+emit_32(1094418484);
+emit_32(1108271799);
+emit_32(3273920545);
+emit_32(1098514432);
+emit_32(1107836640);
+emit_32(3273920545);
+emit_32(1100759066);
+emit_32(1107583487);
+emit_32(3273920545);
+emit_32(1102807040);
+emit_32(1107305929);
+emit_32(3273920545);
+emit_32(1104855066);
+emit_32(1106095427);
+emit_32(3273920545);
+emit_32(1106903040);
+emit_32(1104843427);
+emit_32(3273920545);
+emit_32(1108123661);
+emit_32(1103754481);
+emit_32(3273920545);
+emit_32(1109147648);
+emit_32(1102895959);
+emit_32(3273920545);
+emit_32(1110171661);
+emit_32(1102181460);
+emit_32(3273920545);
+emit_32(1111195648);
+emit_32(1101676256);
+emit_32(3273920545);
+emit_32(1112219661);
+emit_32(1101547858);
+emit_32(3273920545);
+emit_32(1113243648);
+emit_32(1102482086);
+emit_32(3273920545);
+emit_32(1114267661);
+emit_32(1103334421);
+emit_32(3273920545);
+emit_32(1115291648);
+emit_32(1103698330);
+emit_32(3273920545);
+emit_32(1116000263);
+emit_32(1103797472);
+emit_32(3273920545);
+emit_32(1116512256);
+emit_32(1104470449);
+emit_32(3273920545);
+emit_32(1117024263);
+emit_32(1105019221);
+emit_32(3273920545);
+emit_32(1117536256);
+emit_32(1105107249);
+emit_32(3273920545);
+emit_32(1118048263);
+emit_32(1105221177);
+emit_32(3273920545);
+emit_32(1118560256);
+emit_32(1105813517);
+emit_32(3273920545);
+emit_32(1119072263);
+emit_32(1106222986);
+emit_32(3273920545);
+emit_32(1119584256);
+emit_32(1106744181);
+emit_32(3273920545);
+emit_32(1120096263);
+emit_32(1106572162);
+emit_32(3273920545);
+emit_32(1120608322);
+emit_32(1106138261);
+emit_32(3273920545);
+emit_32(1121120289);
+emit_32(1105034373);
+emit_32(3273920545);
+emit_32(1121632256);
+emit_32(1104844371);
+emit_32(3273920545);
+emit_32(1122144223);
+emit_32(1105102006);
+emit_32(3273920545);
+emit_32(1122656322);
+emit_32(1104862039);
+emit_32(3273920545);
+emit_32(1123168289);
+emit_32(1104232946);
+emit_32(3273920545);
+emit_32(1123680256);
+emit_32(1103026297);
+emit_32(3273920545);
+emit_32(1124132848);
+emit_32(1101863741);
+emit_32(3273920545);
+emit_32(1124388897);
+emit_32(1100516216);
+emit_32(3273920545);
+emit_32(1124644880);
+emit_32(1099293105);
+emit_32(3273920545);
+emit_32(1124900864);
+emit_32(1097230346);
+emit_32(3273920545);
+emit_32(1125156848);
+emit_32(1093750751);
+emit_32(3273920545);
+emit_32(1125412897);
+emit_32(1090925405);
+emit_32(3273920545);
+emit_32(1125668880);
+emit_32(1088433213);
+emit_32(3273920545);
+emit_32(1125924864);
+emit_32(1084125285);
+emit_32(3273920545);
+emit_32(1126180848);
+emit_32(1075725646);
+emit_32(3273920545);
+emit_32(1126436897);
+emit_32(1061623490);
+emit_32(3273920545);
+emit_32(1126692880);
+emit_32(3216532465);
+emit_32(3273920545);
+emit_32(1126948864);
+emit_32(3227819673);
+emit_32(3273920545);
+emit_32(1127204848);
+emit_32(3234520577);
+emit_32(3273920545);
+emit_32(1127460897);
+emit_32(3236952791);
+emit_32(3273920545);
+emit_32(1127716880);
+emit_32(3239234608);
+emit_32(3273920545);
+emit_32(1127972864);
+emit_32(3240023346);
+emit_32(3273920545);
+emit_32(1128228848);
+emit_32(3241225696);
+emit_32(3273920545);
+emit_32(1128484897);
+emit_32(3243063535);
+emit_32(3273920545);
+emit_32(1128740880);
+emit_32(3245269949);
+emit_32(3273920545);
+emit_32(1128996864);
+emit_32(3246344425);
+emit_32(3273920545);
+emit_32(1129252848);
+emit_32(3246962665);
+emit_32(3273920545);
+emit_32(1129508897);
+emit_32(3247716853);
+emit_32(3273920545);
+emit_32(1129764880);
+emit_32(3247725609);
+emit_32(3273920545);
+emit_32(1130020864);
+emit_32(3247729803);
+emit_32(3273920545);
+emit_32(1130276848);
+emit_32(3247215739);
+emit_32(3273920545);
+emit_32(1130532897);
+emit_32(3246018422);
+emit_32(3273920545);
+emit_32(1130788880);
+emit_32(3244886589);
+emit_32(3273920545);
+emit_32(1131044864);
+emit_32(3242781888);
+emit_32(3273920545);
+emit_32(1131300848);
+emit_32(3240781205);
+emit_32(3273920545);
+emit_32(1131556897);
+emit_32(3238299267);
+emit_32(3273920545);
+emit_32(1131812880);
+emit_32(3233550057);
+emit_32(3273920545);
+emit_32(1132068864);
+emit_32(3223464811);
+emit_32(3273920545);
+emit_32(1081737216);
+emit_32(1108664621);
+emit_32(3274176528);
+emit_32(1090125824);
+emit_32(1108522618);
+emit_32(3274176528);
+emit_32(1094418484);
+emit_32(1108407563);
+emit_32(3274176528);
+emit_32(1098514432);
+emit_32(1107682787);
+emit_32(3274176528);
+emit_32(1100759066);
+emit_32(1107320583);
+emit_32(3274176528);
+emit_32(1102807040);
+emit_32(1106544532);
+emit_32(3274176528);
+emit_32(1104855066);
+emit_32(1105511999);
+emit_32(3274176528);
+emit_32(1106903040);
+emit_32(1104375867);
+emit_32(3274176528);
+emit_32(1108123661);
+emit_32(1103074112);
+emit_32(3274176528);
+emit_32(1109147648);
+emit_32(1102337278);
+emit_32(3274176528);
+emit_32(1110171661);
+emit_32(1101962517);
+emit_32(3274176528);
+emit_32(1111195648);
+emit_32(1101639031);
+emit_32(3274176528);
+emit_32(1112219661);
+emit_32(1101573181);
+emit_32(3274176528);
+emit_32(1113243648);
+emit_32(1101942070);
+emit_32(3274176528);
+emit_32(1114267661);
+emit_32(1102543638);
+emit_32(3274176528);
+emit_32(1115291648);
+emit_32(1103135559);
+emit_32(3274176528);
+emit_32(1116000263);
+emit_32(1103322153);
+emit_32(3274176528);
+emit_32(1116512256);
+emit_32(1103539995);
+emit_32(3274176528);
+emit_32(1117024263);
+emit_32(1103767850);
+emit_32(3274176528);
+emit_32(1117536256);
+emit_32(1104163740);
+emit_32(3274176528);
+emit_32(1118048263);
+emit_32(1104602045);
+emit_32(3274176528);
+emit_32(1118560256);
+emit_32(1104897953);
+emit_32(3274176528);
+emit_32(1119072263);
+emit_32(1105720246);
+emit_32(3274176528);
+emit_32(1119584256);
+emit_32(1105815981);
+emit_32(3274176528);
+emit_32(1120096263);
+emit_32(1105144788);
+emit_32(3274176528);
+emit_32(1120608322);
+emit_32(1104485233);
+emit_32(3274176528);
+emit_32(1121120289);
+emit_32(1103618061);
+emit_32(3274176528);
+emit_32(1121632256);
+emit_32(1103661315);
+emit_32(3274176528);
+emit_32(1122144223);
+emit_32(1103401845);
+emit_32(3274176528);
+emit_32(1122656322);
+emit_32(1102987500);
+emit_32(3274176528);
+emit_32(1123168289);
+emit_32(1102162900);
+emit_32(3274176528);
+emit_32(1123680256);
+emit_32(1100880701);
+emit_32(3274176528);
+emit_32(1124132848);
+emit_32(1099831339);
+emit_32(3274176528);
+emit_32(1124388897);
+emit_32(1098628622);
+emit_32(3274176528);
+emit_32(1124644880);
+emit_32(1096283587);
+emit_32(3274176528);
+emit_32(1124900864);
+emit_32(1094436939);
+emit_32(3274176528);
+emit_32(1125156848);
+emit_32(1092462586);
+emit_32(3274176528);
+emit_32(1125412897);
+emit_32(1090574426);
+emit_32(3274176528);
+emit_32(1125668880);
+emit_32(1088368683);
+emit_32(3274176528);
+emit_32(1125924864);
+emit_32(1084468987);
+emit_32(3274176528);
+emit_32(1126180848);
+emit_32(1078479458);
+emit_32(3274176528);
+emit_32(1126436897);
+emit_32(1070097393);
+emit_32(3274176528);
+emit_32(1126692880);
+emit_32(3219330905);
+emit_32(3274176528);
+emit_32(1126948864);
+emit_32(3229956377);
+emit_32(3274176528);
+emit_32(1127204848);
+emit_32(3233498299);
+emit_32(3274176528);
+emit_32(1127460897);
+emit_32(3237958480);
+emit_32(3274176528);
+emit_32(1127716880);
+emit_32(3239973518);
+emit_32(3274176528);
+emit_32(1127972864);
+emit_32(3240389457);
+emit_32(3274176528);
+emit_32(1128228848);
+emit_32(3241706154);
+emit_32(3274176528);
+emit_32(1128484897);
+emit_32(3243624314);
+emit_32(3274176528);
+emit_32(1128740880);
+emit_32(3245731637);
+emit_32(3274176528);
+emit_32(1128996864);
+emit_32(3246688777);
+emit_32(3274176528);
+emit_32(1129252848);
+emit_32(3247277500);
+emit_32(3274176528);
+emit_32(1129508897);
+emit_32(3247268744);
+emit_32(3274176528);
+emit_32(1129764880);
+emit_32(3246821579);
+emit_32(3274176528);
+emit_32(1130020864);
+emit_32(3246928901);
+emit_32(3274176528);
+emit_32(1130276848);
+emit_32(3246584024);
+emit_32(3274176528);
+emit_32(1130532897);
+emit_32(3244589423);
+emit_32(3274176528);
+emit_32(1130788880);
+emit_32(3243611311);
+emit_32(3274176528);
+emit_32(1131044864);
+emit_32(3242211253);
+emit_32(3274176528);
+emit_32(1131300848);
+emit_32(3239996199);
+emit_32(3274176528);
+emit_32(1131556897);
+emit_32(3237841102);
+emit_32(3274176528);
+emit_32(1131812880);
+emit_32(3232583521);
+emit_32(3274176528);
+emit_32(1132068864);
+emit_32(3220160035);
+emit_32(3274176528);
+emit_32(1081737216);
+emit_32(1108184872);
+emit_32(3274432512);
+emit_32(1090125824);
+emit_32(1108148932);
+emit_32(3274432512);
+emit_32(1094418484);
+emit_32(1107903853);
+emit_32(3274432512);
+emit_32(1098514432);
+emit_32(1107577694);
+emit_32(3274432512);
+emit_32(1100759066);
+emit_32(1106982365);
+emit_32(3274432512);
+emit_32(1102807040);
+emit_32(1105680086);
+emit_32(3274432512);
+emit_32(1104855066);
+emit_32(1104468771);
+emit_32(3274432512);
+emit_32(1106903040);
+emit_32(1103509114);
+emit_32(3274432512);
+emit_32(1108123661);
+emit_32(1102687764);
+emit_32(3274432512);
+emit_32(1109147648);
+emit_32(1102002520);
+emit_32(3274432512);
+emit_32(1110171661);
+emit_32(1101411123);
+emit_32(3274432512);
+emit_32(1111195648);
+emit_32(1101064569);
+emit_32(3274432512);
+emit_32(1112219661);
+emit_32(1100846150);
+emit_32(3274432512);
+emit_32(1113243648);
+emit_32(1101357436);
+emit_32(3274432512);
+emit_32(1114267661);
+emit_32(1102179729);
+emit_32(3274432512);
+emit_32(1115291648);
+emit_32(1102092698);
+emit_32(3274432512);
+emit_32(1116000263);
+emit_32(1102408371);
+emit_32(3274432512);
+emit_32(1116512256);
+emit_32(1102286999);
+emit_32(3274432512);
+emit_32(1117024263);
+emit_32(1102506518);
+emit_32(3274432512);
+emit_32(1117536256);
+emit_32(1103483005);
+emit_32(3274432512);
+emit_32(1118048263);
+emit_32(1103994238);
+emit_32(3274432512);
+emit_32(1118560256);
+emit_32(1104213233);
+emit_32(3274432512);
+emit_32(1119072263);
+emit_32(1103948992);
+emit_32(3274432512);
+emit_32(1119584256);
+emit_32(1103515143);
+emit_32(3274432512);
+emit_32(1120096263);
+emit_32(1103105832);
+emit_32(3274432512);
+emit_32(1120608322);
+emit_32(1102826124);
+emit_32(3274432512);
+emit_32(1121120289);
+emit_32(1102767456);
+emit_32(3274432512);
+emit_32(1121632256);
+emit_32(1102189901);
+emit_32(3274432512);
+emit_32(1122144223);
+emit_32(1101674421);
+emit_32(3274432512);
+emit_32(1122656322);
+emit_32(1100890243);
+emit_32(3274432512);
+emit_32(1123168289);
+emit_32(1099939761);
+emit_32(3274432512);
+emit_32(1123680256);
+emit_32(1099075997);
+emit_32(3274432512);
+emit_32(1124132848);
+emit_32(1097086376);
+emit_32(3274432512);
+emit_32(1124388897);
+emit_32(1095228614);
+emit_32(3274432512);
+emit_32(1124644880);
+emit_32(1093029436);
+emit_32(3274432512);
+emit_32(1124900864);
+emit_32(1091479672);
+emit_32(3274432512);
+emit_32(1125156848);
+emit_32(1091750163);
+emit_32(3274432512);
+emit_32(1125412897);
+emit_32(1089138149);
+emit_32(3274432512);
+emit_32(1125668880);
+emit_32(1086598540);
+emit_32(3274432512);
+emit_32(1125924864);
+emit_32(1083352484);
+emit_32(3274432512);
+emit_32(1126180848);
+emit_32(1076974919);
+emit_32(3274432512);
+emit_32(1126436897);
+emit_32(1066291146);
+emit_32(3274432512);
+emit_32(1126692880);
+emit_32(3221226898);
+emit_32(3274432512);
+emit_32(1126948864);
+emit_32(3228126151);
+emit_32(3274432512);
+emit_32(1127204848);
+emit_32(3231975515);
+emit_32(3274432512);
+emit_32(1127460897);
+emit_32(3238351340);
+emit_32(3274432512);
+emit_32(1127716880);
+emit_32(3240184460);
+emit_32(3274432512);
+emit_32(1127972864);
+emit_32(3241040832);
+emit_32(3274432512);
+emit_32(1128228848);
+emit_32(3242157461);
+emit_32(3274432512);
+emit_32(1128484897);
+emit_32(3244822731);
+emit_32(3274432512);
+emit_32(1128740880);
+emit_32(3246247536);
+emit_32(3274432512);
+emit_32(1128996864);
+emit_32(3247038372);
+emit_32(3274432512);
+emit_32(1129252848);
+emit_32(3247585939);
+emit_32(3274432512);
+emit_32(1129508897);
+emit_32(3246884389);
+emit_32(3274432512);
+emit_32(1129764880);
+emit_32(3246474763);
+emit_32(3274432512);
+emit_32(1130020864);
+emit_32(3246383746);
+emit_32(3274432512);
+emit_32(1130276848);
+emit_32(3245256632);
+emit_32(3274432512);
+emit_32(1130532897);
+emit_32(3243907010);
+emit_32(3274432512);
+emit_32(1130788880);
+emit_32(3243058921);
+emit_32(3274432512);
+emit_32(1131044864);
+emit_32(3241166032);
+emit_32(3274432512);
+emit_32(1131300848);
+emit_32(3238570922);
+emit_32(3274432512);
+emit_32(1131556897);
+emit_32(3234153659);
+emit_32(3274432512);
+emit_32(1131812880);
+emit_32(3230360226);
+emit_32(3274432512);
+emit_32(1132068864);
+emit_32(3219833634);
+emit_32(3274432512);
+emit_32(1081737216);
+emit_32(1108036289);
+emit_32(3274688496);
+emit_32(1090125824);
+emit_32(1107810609);
+emit_32(3274688496);
+emit_32(1094418484);
+emit_32(1107747825);
+emit_32(3274688496);
+emit_32(1098514432);
+emit_32(1107286871);
+emit_32(3274688496);
+emit_32(1100759066);
+emit_32(1106086881);
+emit_32(3274688496);
+emit_32(1102807040);
+emit_32(1104804315);
+emit_32(3274688496);
+emit_32(1104855066);
+emit_32(1103699326);
+emit_32(3274688496);
+emit_32(1106903040);
+emit_32(1102741504);
+emit_32(3274688496);
+emit_32(1108123661);
+emit_32(1101680083);
+emit_32(3274688496);
+emit_32(1109147648);
+emit_32(1101656595);
+emit_32(3274688496);
+emit_32(1110171661);
+emit_32(1100849663);
+emit_32(3274688496);
+emit_32(1111195648);
+emit_32(1100640053);
+emit_32(3274688496);
+emit_32(1112219661);
+emit_32(1100253443);
+emit_32(3274688496);
+emit_32(1113243648);
+emit_32(1100764047);
+emit_32(3274688496);
+emit_32(1114267661);
+emit_32(1101163554);
+emit_32(3274688496);
+emit_32(1115291648);
+emit_32(1101305217);
+emit_32(3274688496);
+emit_32(1116000263);
+emit_32(1101417624);
+emit_32(3274688496);
+emit_32(1116512256);
+emit_32(1101765385);
+emit_32(3274688496);
+emit_32(1117024263);
+emit_32(1102533938);
+emit_32(3274688496);
+emit_32(1117536256);
+emit_32(1102938689);
+emit_32(3274688496);
+emit_32(1118048263);
+emit_32(1103318955);
+emit_32(3274688496);
+emit_32(1118560256);
+emit_32(1103683754);
+emit_32(3274688496);
+emit_32(1119072263);
+emit_32(1103175090);
+emit_32(3274688496);
+emit_32(1119584256);
+emit_32(1102854593);
+emit_32(3274688496);
+emit_32(1120096263);
+emit_32(1102466567);
+emit_32(3274688496);
+emit_32(1120608322);
+emit_32(1101638507);
+emit_32(3274688496);
+emit_32(1121120289);
+emit_32(1101343542);
+emit_32(3274688496);
+emit_32(1121632256);
+emit_32(1100858629);
+emit_32(3274688496);
+emit_32(1122144223);
+emit_32(1099916326);
+emit_32(3274688496);
+emit_32(1122656322);
+emit_32(1099386952);
+emit_32(3274688496);
+emit_32(1123168289);
+emit_32(1098990538);
+emit_32(3274688496);
+emit_32(1123680256);
+emit_32(1097981860);
+emit_32(3274688496);
+emit_32(1124132848);
+emit_32(1095898759);
+emit_32(3274688496);
+emit_32(1124388897);
+emit_32(1092934435);
+emit_32(3274688496);
+emit_32(1124644880);
+emit_32(1090423368);
+emit_32(3274688496);
+emit_32(1124900864);
+emit_32(1089465599);
+emit_32(3274688496);
+emit_32(1125156848);
+emit_32(1090025916);
+emit_32(3274688496);
+emit_32(1125412897);
+emit_32(1088093013);
+emit_32(3274688496);
+emit_32(1125668880);
+emit_32(1086367518);
+emit_32(3274688496);
+emit_32(1125924864);
+emit_32(1083889418);
+emit_32(3274688496);
+emit_32(1126180848);
+emit_32(1076254464);
+emit_32(3274688496);
+emit_32(1126436897);
+emit_32(1068370850);
+emit_32(3274688496);
+emit_32(1126692880);
+emit_32(3216221248);
+emit_32(3274688496);
+emit_32(1126948864);
+emit_32(3228349497);
+emit_32(3274688496);
+emit_32(1127204848);
+emit_32(3232983910);
+emit_32(3274688496);
+emit_32(1127460897);
+emit_32(3238169558);
+emit_32(3274688496);
+emit_32(1127716880);
+emit_32(3239092054);
+emit_32(3274688496);
+emit_32(1127972864);
+emit_32(3241438976);
+emit_32(3274688496);
+emit_32(1128228848);
+emit_32(3243388489);
+emit_32(3274688496);
+emit_32(1128484897);
+emit_32(3245180191);
+emit_32(3274688496);
+emit_32(1128740880);
+emit_32(3246270710);
+emit_32(3274688496);
+emit_32(1128996864);
+emit_32(3247252229);
+emit_32(3274688496);
+emit_32(1129252848);
+emit_32(3247543262);
+emit_32(3274688496);
+emit_32(1129508897);
+emit_32(3246603737);
+emit_32(3274688496);
+emit_32(1129764880);
+emit_32(3246628379);
+emit_32(3274688496);
+emit_32(1130020864);
+emit_32(3246208949);
+emit_32(3274688496);
+emit_32(1130276848);
+emit_32(3243960277);
+emit_32(3274688496);
+emit_32(1130532897);
+emit_32(3243077167);
+emit_32(3274688496);
+emit_32(1130788880);
+emit_32(3241817407);
+emit_32(3274688496);
+emit_32(1131044864);
+emit_32(3238920664);
+emit_32(3274688496);
+emit_32(1131300848);
+emit_32(3235529538);
+emit_32(3274688496);
+emit_32(1131556897);
+emit_32(3228900545);
+emit_32(3274688496);
+emit_32(1131812880);
+emit_32(3222674310);
+emit_32(3274688496);
+emit_32(1132068864);
+emit_32(3208271280);
+emit_32(3274688496);
+emit_32(1081737216);
+emit_32(1107544270);
+emit_32(3274944545);
+emit_32(1090125824);
+emit_32(1107321186);
+emit_32(3274944545);
+emit_32(1094418484);
+emit_32(1106832838);
+emit_32(3274944545);
+emit_32(1098514432);
+emit_32(1105933107);
+emit_32(3274944545);
+emit_32(1100759066);
+emit_32(1104947236);
+emit_32(3274944545);
+emit_32(1102807040);
+emit_32(1104326217);
+emit_32(3274944545);
+emit_32(1104855066);
+emit_32(1103138967);
+emit_32(3274944545);
+emit_32(1106903040);
+emit_32(1102036441);
+emit_32(3274944545);
+emit_32(1108123661);
+emit_32(1101087742);
+emit_32(3274944545);
+emit_32(1109147648);
+emit_32(1100669465);
+emit_32(3274944545);
+emit_32(1110171661);
+emit_32(1100266183);
+emit_32(3274944545);
+emit_32(1111195648);
+emit_32(1100000526);
+emit_32(3274944545);
+emit_32(1112219661);
+emit_32(1099972529);
+emit_32(3274944545);
+emit_32(1113243648);
+emit_32(1099715681);
+emit_32(3274944545);
+emit_32(1114267661);
+emit_32(1099811521);
+emit_32(3274944545);
+emit_32(1115291648);
+emit_32(1100048079);
+emit_32(3274944545);
+emit_32(1116000263);
+emit_32(1100398461);
+emit_32(3274944545);
+emit_32(1116512256);
+emit_32(1101470735);
+emit_32(3274944545);
+emit_32(1117024263);
+emit_32(1102010332);
+emit_32(3274944545);
+emit_32(1117536256);
+emit_32(1102212969);
+emit_32(3274944545);
+emit_32(1118048263);
+emit_32(1102131547);
+emit_32(3274944545);
+emit_32(1118560256);
+emit_32(1102714503);
+emit_32(3274944545);
+emit_32(1119072263);
+emit_32(1102278033);
+emit_32(3274944545);
+emit_32(1119584256);
+emit_32(1101809792);
+emit_32(3274944545);
+emit_32(1120096263);
+emit_32(1100816004);
+emit_32(3274944545);
+emit_32(1120608322);
+emit_32(1100025011);
+emit_32(3274944545);
+emit_32(1121120289);
+emit_32(1099466277);
+emit_32(3274944545);
+emit_32(1121632256);
+emit_32(1098984771);
+emit_32(3274944545);
+emit_32(1122144223);
+emit_32(1098724776);
+emit_32(3274944545);
+emit_32(1122656322);
+emit_32(1097818073);
+emit_32(3274944545);
+emit_32(1123168289);
+emit_32(1098331770);
+emit_32(3274944545);
+emit_32(1123680256);
+emit_32(1097767007);
+emit_32(3274944545);
+emit_32(1124132848);
+emit_32(1095061891);
+emit_32(3274944545);
+emit_32(1124388897);
+emit_32(1092565693);
+emit_32(3274944545);
+emit_32(1124644880);
+emit_32(1089087839);
+emit_32(3274944545);
+emit_32(1124900864);
+emit_32(1088235430);
+emit_32(3274944545);
+emit_32(1125156848);
+emit_32(1089040317);
+emit_32(3274944545);
+emit_32(1125412897);
+emit_32(1087875957);
+emit_32(3274944545);
+emit_32(1125668880);
+emit_32(1086441128);
+emit_32(3274944545);
+emit_32(1125924864);
+emit_32(1085113966);
+emit_32(3274944545);
+emit_32(1126180848);
+emit_32(1081486648);
+emit_32(3274944545);
+emit_32(1126436897);
+emit_32(1075610470);
+emit_32(3274944545);
+emit_32(1126692880);
+emit_32(3191896348);
+emit_32(3274944545);
+emit_32(1126948864);
+emit_32(3225446032);
+emit_32(3274944545);
+emit_32(1127204848);
+emit_32(3232519202);
+emit_32(3274944545);
+emit_32(1127460897);
+emit_32(3234831920);
+emit_32(3274944545);
+emit_32(1127716880);
+emit_32(3239305806);
+emit_32(3274944545);
+emit_32(1127972864);
+emit_32(3241685497);
+emit_32(3274944545);
+emit_32(1128228848);
+emit_32(3242903208);
+emit_32(3274944545);
+emit_32(1128484897);
+emit_32(3244487397);
+emit_32(3274944545);
+emit_32(1128740880);
+emit_32(3245844673);
+emit_32(3274944545);
+emit_32(1128996864);
+emit_32(3246709067);
+emit_32(3274944545);
+emit_32(1129252848);
+emit_32(3246977188);
+emit_32(3274944545);
+emit_32(1129508897);
+emit_32(3246402830);
+emit_32(3274944545);
+emit_32(1129764880);
+emit_32(3246323034);
+emit_32(3274944545);
+emit_32(1130020864);
+emit_32(3244941011);
+emit_32(3274944545);
+emit_32(1130276848);
+emit_32(3243260877);
+emit_32(3274944545);
+emit_32(1130532897);
+emit_32(3242406707);
+emit_32(3274944545);
+emit_32(1130788880);
+emit_32(3239902383);
+emit_32(3274944545);
+emit_32(1131044864);
+emit_32(3235323031);
+emit_32(3274944545);
+emit_32(1131300848);
+emit_32(3229858692);
+emit_32(3274944545);
+emit_32(1131556897);
+emit_32(3221983215);
+emit_32(3274944545);
+emit_32(1131812880);
+emit_32(3204619249);
+emit_32(3274944545);
+emit_32(1132068864);
+emit_32(1069430331);
+emit_32(3274944545);
+emit_32(1081737216);
+emit_32(1106249096);
+emit_32(3275200528);
+emit_32(1090125824);
+emit_32(1106043942);
+emit_32(3275200528);
+emit_32(1094418484);
+emit_32(1105378410);
+emit_32(3275200528);
+emit_32(1098514432);
+emit_32(1104642467);
+emit_32(3275200528);
+emit_32(1100759066);
+emit_32(1104162010);
+emit_32(3275200528);
+emit_32(1102807040);
+emit_32(1103635153);
+emit_32(3275200528);
+emit_32(1104855066);
+emit_32(1102464995);
+emit_32(3275200528);
+emit_32(1106903040);
+emit_32(1101344958);
+emit_32(3275200528);
+emit_32(1108123661);
+emit_32(1100328835);
+emit_32(3275200528);
+emit_32(1109147648);
+emit_32(1099478755);
+emit_32(3275200528);
+emit_32(1110171661);
+emit_32(1099658219);
+emit_32(3275200528);
+emit_32(1111195648);
+emit_32(1099600285);
+emit_32(3275200528);
+emit_32(1112219661);
+emit_32(1099186464);
+emit_32(3275200528);
+emit_32(1113243648);
+emit_32(1099013135);
+emit_32(3275200528);
+emit_32(1114267661);
+emit_32(1099476763);
+emit_32(3275200528);
+emit_32(1115291648);
+emit_32(1099561540);
+emit_32(3275200528);
+emit_32(1116000263);
+emit_32(1099962673);
+emit_32(3275200528);
+emit_32(1116512256);
+emit_32(1100314837);
+emit_32(3275200528);
+emit_32(1117024263);
+emit_32(1100808192);
+emit_32(3275200528);
+emit_32(1117536256);
+emit_32(1100975545);
+emit_32(3275200528);
+emit_32(1118048263);
+emit_32(1100964744);
+emit_32(3275200528);
+emit_32(1118560256);
+emit_32(1100600364);
+emit_32(3275200528);
+emit_32(1119072263);
+emit_32(1100761426);
+emit_32(3275200528);
+emit_32(1119584256);
+emit_32(1100181144);
+emit_32(3275200528);
+emit_32(1120096263);
+emit_32(1098976749);
+emit_32(3275200528);
+emit_32(1120608322);
+emit_32(1097199518);
+emit_32(3275200528);
+emit_32(1121120289);
+emit_32(1096699347);
+emit_32(3275200528);
+emit_32(1121632256);
+emit_32(1096334128);
+emit_32(3275200528);
+emit_32(1122144223);
+emit_32(1096532414);
+emit_32(3275200528);
+emit_32(1122656322);
+emit_32(1096818675);
+emit_32(3275200528);
+emit_32(1123168289);
+emit_32(1097088578);
+emit_32(3275200528);
+emit_32(1123680256);
+emit_32(1096387291);
+emit_32(3275200528);
+emit_32(1124132848);
+emit_32(1094034810);
+emit_32(3275200528);
+emit_32(1124388897);
+emit_32(1090976691);
+emit_32(3275200528);
+emit_32(1124644880);
+emit_32(1088321497);
+emit_32(3275200528);
+emit_32(1124900864);
+emit_32(1088758712);
+emit_32(3275200528);
+emit_32(1125156848);
+emit_32(1087833868);
+emit_32(3275200528);
+emit_32(1125412897);
+emit_32(1084974107);
+emit_32(3275200528);
+emit_32(1125668880);
+emit_32(1084703805);
+emit_32(3275200528);
+emit_32(1125924864);
+emit_32(1084375328);
+emit_32(3275200528);
+emit_32(1126180848);
+emit_32(1079810898);
+emit_32(3275200528);
+emit_32(1126436897);
+emit_32(1075134836);
+emit_32(3275200528);
+emit_32(1126692880);
+emit_32(1055694338);
+emit_32(3275200528);
+emit_32(1126948864);
+emit_32(3222544916);
+emit_32(3275200528);
+emit_32(1127204848);
+emit_32(3231495477);
+emit_32(3275200528);
+emit_32(1127460897);
+emit_32(3235209219);
+emit_32(3275200528);
+emit_32(1127716880);
+emit_32(3239322940);
+emit_32(3275200528);
+emit_32(1127972864);
+emit_32(3240031389);
+emit_32(3275200528);
+emit_32(1128228848);
+emit_32(3242234426);
+emit_32(3275200528);
+emit_32(1128484897);
+emit_32(3243694988);
+emit_32(3275200528);
+emit_32(1128740880);
+emit_32(3244783934);
+emit_32(3275200528);
+emit_32(1128996864);
+emit_32(3245353415);
+emit_32(3275200528);
+emit_32(1129252848);
+emit_32(3245143910);
+emit_32(3275200528);
+emit_32(1129508897);
+emit_32(3243741859);
+emit_32(3275200528);
+emit_32(1129764880);
+emit_32(3244369117);
+emit_32(3275200528);
+emit_32(1130020864);
+emit_32(3244547480);
+emit_32(3275200528);
+emit_32(1130276848);
+emit_32(3242487867);
+emit_32(3275200528);
+emit_32(1130532897);
+emit_32(3241258307);
+emit_32(3275200528);
+emit_32(1130788880);
+emit_32(3238763409);
+emit_32(3275200528);
+emit_32(1131044864);
+emit_32(3232771615);
+emit_32(3275200528);
+emit_32(1131300848);
+emit_32(3224658636);
+emit_32(3275200528);
+emit_32(1131556897);
+emit_32(3205375013);
+emit_32(3275200528);
+emit_32(1131812880);
+emit_32(1065955266);
+emit_32(3275200528);
+emit_32(1132068864);
+emit_32(1078364786);
+emit_32(3275200528);
+emit_32(1081737216);
+emit_32(1105010622);
+emit_32(3275456512);
+emit_32(1090125824);
+emit_32(1104741191);
+emit_32(3275456512);
+emit_32(1094418484);
+emit_32(1104199864);
+emit_32(3275456512);
+emit_32(1098514432);
+emit_32(1103701895);
+emit_32(3275456512);
+emit_32(1100759066);
+emit_32(1103428898);
+emit_32(3275456512);
+emit_32(1102807040);
+emit_32(1102959031);
+emit_32(3275456512);
+emit_32(1104855066);
+emit_32(1102357044);
+emit_32(3275456512);
+emit_32(1106903040);
+emit_32(1100872784);
+emit_32(3275456512);
+emit_32(1108123661);
+emit_32(1099789972);
+emit_32(3275456512);
+emit_32(1109147648);
+emit_32(1099200043);
+emit_32(3275456512);
+emit_32(1110171661);
+emit_32(1098764622);
+emit_32(3275456512);
+emit_32(1111195648);
+emit_32(1098958399);
+emit_32(3275456512);
+emit_32(1112219661);
+emit_32(1098447743);
+emit_32(3275456512);
+emit_32(1113243648);
+emit_32(1098347184);
+emit_32(3275456512);
+emit_32(1114267661);
+emit_32(1099067032);
+emit_32(3275456512);
+emit_32(1115291648);
+emit_32(1099311664);
+emit_32(3275456512);
+emit_32(1116000263);
+emit_32(1099114584);
+emit_32(3275456512);
+emit_32(1116512256);
+emit_32(1099262119);
+emit_32(3275456512);
+emit_32(1117024263);
+emit_32(1099307522);
+emit_32(3275456512);
+emit_32(1117536256);
+emit_32(1099567150);
+emit_32(3275456512);
+emit_32(1118048263);
+emit_32(1099285555);
+emit_32(3275456512);
+emit_32(1118560256);
+emit_32(1099184367);
+emit_32(3275456512);
+emit_32(1119072263);
+emit_32(1099025665);
+emit_32(3275456512);
+emit_32(1119584256);
+emit_32(1097936771);
+emit_32(3275456512);
+emit_32(1120096263);
+emit_32(1097086062);
+emit_32(3275456512);
+emit_32(1120608322);
+emit_32(1095166329);
+emit_32(3275456512);
+emit_32(1121120289);
+emit_32(1093547013);
+emit_32(3275456512);
+emit_32(1121632256);
+emit_32(1094611632);
+emit_32(3275456512);
+emit_32(1122144223);
+emit_32(1095301176);
+emit_32(3275456512);
+emit_32(1122656322);
+emit_32(1096040002);
+emit_32(3275456512);
+emit_32(1123168289);
+emit_32(1096486905);
+emit_32(3275456512);
+emit_32(1123680256);
+emit_32(1095536371);
+emit_32(3275456512);
+emit_32(1124132848);
+emit_32(1093119718);
+emit_32(3275456512);
+emit_32(1124388897);
+emit_32(1091308366);
+emit_32(3275456512);
+emit_32(1124644880);
+emit_32(1088220394);
+emit_32(3275456512);
+emit_32(1124900864);
+emit_32(1088246482);
+emit_32(3275456512);
+emit_32(1125156848);
+emit_32(1087966198);
+emit_32(3275456512);
+emit_32(1125412897);
+emit_32(1084761016);
+emit_32(3275456512);
+emit_32(1125668880);
+emit_32(1082433638);
+emit_32(3275456512);
+emit_32(1125924864);
+emit_32(1080387489);
+emit_32(3275456512);
+emit_32(1126180848);
+emit_32(1080768877);
+emit_32(3275456512);
+emit_32(1126436897);
+emit_32(1072749536);
+emit_32(3275456512);
+emit_32(1126692880);
+emit_32(1066725424);
+emit_32(3275456512);
+emit_32(1126948864);
+emit_32(3211315758);
+emit_32(3275456512);
+emit_32(1127204848);
+emit_32(3229615254);
+emit_32(3275456512);
+emit_32(1127460897);
+emit_32(3234924069);
+emit_32(3275456512);
+emit_32(1127716880);
+emit_32(3238308600);
+emit_32(3275456512);
+emit_32(1127972864);
+emit_32(3239071816);
+emit_32(3275456512);
+emit_32(1128228848);
+emit_32(3240224516);
+emit_32(3275456512);
+emit_32(1128484897);
+emit_32(3241289869);
+emit_32(3275456512);
+emit_32(1128740880);
+emit_32(3242705866);
+emit_32(3275456512);
+emit_32(1128996864);
+emit_32(3242964969);
+emit_32(3275456512);
+emit_32(1129252848);
+emit_32(3243192091);
+emit_32(3275456512);
+emit_32(1129508897);
+emit_32(3242061516);
+emit_32(3275456512);
+emit_32(1129764880);
+emit_32(3242460709);
+emit_32(3275456512);
+emit_32(1130020864);
+emit_32(3243083563);
+emit_32(3275456512);
+emit_32(1130276848);
+emit_32(3240930627);
+emit_32(3275456512);
+emit_32(1130532897);
+emit_32(3238871108);
+emit_32(3275456512);
+emit_32(1130788880);
+emit_32(3236675631);
+emit_32(3275456512);
+emit_32(1131044864);
+emit_32(3232208551);
+emit_32(3275456512);
+emit_32(1131300848);
+emit_32(3223881892);
+emit_32(3275456512);
+emit_32(1131556897);
+emit_32(1056471794);
+emit_32(3275456512);
+emit_32(1131812880);
+emit_32(1077025041);
+emit_32(3275456512);
+emit_32(1132068864);
+emit_32(1081975788);
+emit_32(3275456512);
+emit_32(1081737216);
+emit_32(1103817710);
+emit_32(3275712496);
+emit_32(1090125824);
+emit_32(1103479177);
+emit_32(3275712496);
+emit_32(1094418484);
+emit_32(1103628337);
+emit_32(3275712496);
+emit_32(1098514432);
+emit_32(1103194908);
+emit_32(3275712496);
+emit_32(1100759066);
+emit_32(1102441087);
+emit_32(3275712496);
+emit_32(1102807040);
+emit_32(1101777548);
+emit_32(3275712496);
+emit_32(1104855066);
+emit_32(1101550322);
+emit_32(3275712496);
+emit_32(1106903040);
+emit_32(1100130340);
+emit_32(3275712496);
+emit_32(1108123661);
+emit_32(1099405250);
+emit_32(3275712496);
+emit_32(1109147648);
+emit_32(1098058092);
+emit_32(3275712496);
+emit_32(1110171661);
+emit_32(1097423074);
+emit_32(3275712496);
+emit_32(1111195648);
+emit_32(1097055863);
+emit_32(3275712496);
+emit_32(1112219661);
+emit_32(1096882743);
+emit_32(3275712496);
+emit_32(1113243648);
+emit_32(1098289303);
+emit_32(3275712496);
+emit_32(1114267661);
+emit_32(1097937610);
+emit_32(3275712496);
+emit_32(1115291648);
+emit_32(1097533279);
+emit_32(3275712496);
+emit_32(1116000263);
+emit_32(1097752851);
+emit_32(3275712496);
+emit_32(1116512256);
+emit_32(1097273547);
+emit_32(3275712496);
+emit_32(1117024263);
+emit_32(1097170787);
+emit_32(3275712496);
+emit_32(1117536256);
+emit_32(1096374708);
+emit_32(3275712496);
+emit_32(1118048263);
+emit_32(1096180197);
+emit_32(3275712496);
+emit_32(1118560256);
+emit_32(1097218602);
+emit_32(3275712496);
+emit_32(1119072263);
+emit_32(1096138883);
+emit_32(3275712496);
+emit_32(1119584256);
+emit_32(1096076912);
+emit_32(3275712496);
+emit_32(1120096263);
+emit_32(1094562034);
+emit_32(3275712496);
+emit_32(1120608322);
+emit_32(1092095962);
+emit_32(3275712496);
+emit_32(1121120289);
+emit_32(1091662502);
+emit_32(3275712496);
+emit_32(1121632256);
+emit_32(1092889556);
+emit_32(3275712496);
+emit_32(1122144223);
+emit_32(1094008177);
+emit_32(3275712496);
+emit_32(1122656322);
+emit_32(1094597791);
+emit_32(3275712496);
+emit_32(1123168289);
+emit_32(1094669828);
+emit_32(3275712496);
+emit_32(1123680256);
+emit_32(1093668333);
+emit_32(3275712496);
+emit_32(1124132848);
+emit_32(1092690012);
+emit_32(3275712496);
+emit_32(1124388897);
+emit_32(1091404793);
+emit_32(3275712496);
+emit_32(1124644880);
+emit_32(1089616677);
+emit_32(3275712496);
+emit_32(1124900864);
+emit_32(1087718650);
+emit_32(3275712496);
+emit_32(1125156848);
+emit_32(1085433635);
+emit_32(3275712496);
+emit_32(1125412897);
+emit_32(1083051984);
+emit_32(3275712496);
+emit_32(1125668880);
+emit_32(1080094894);
+emit_32(3275712496);
+emit_32(1125924864);
+emit_32(1077582632);
+emit_32(3275712496);
+emit_32(1126180848);
+emit_32(1079746432);
+emit_32(3275712496);
+emit_32(1126436897);
+emit_32(1073545866);
+emit_32(3275712496);
+emit_32(1126692880);
+emit_32(1068480405);
+emit_32(3275712496);
+emit_32(1126948864);
+emit_32(3205219354);
+emit_32(3275712496);
+emit_32(1127204848);
+emit_32(3228713018);
+emit_32(3275712496);
+emit_32(1127460897);
+emit_32(3234007257);
+emit_32(3275712496);
+emit_32(1127716880);
+emit_32(3234765252);
+emit_32(3275712496);
+emit_32(1127972864);
+emit_32(3236479652);
+emit_32(3275712496);
+emit_32(1128228848);
+emit_32(3239043033);
+emit_32(3275712496);
+emit_32(1128484897);
+emit_32(3239994091);
+emit_32(3275712496);
+emit_32(1128740880);
+emit_32(3241107312);
+emit_32(3275712496);
+emit_32(1128996864);
+emit_32(3240979281);
+emit_32(3275712496);
+emit_32(1129252848);
+emit_32(3240651496);
+emit_32(3275712496);
+emit_32(1129508897);
+emit_32(3240242971);
+emit_32(3275712496);
+emit_32(1129764880);
+emit_32(3240761491);
+emit_32(3275712496);
+emit_32(1130020864);
+emit_32(3240982007);
+emit_32(3275712496);
+emit_32(1130276848);
+emit_32(3239091351);
+emit_32(3275712496);
+emit_32(1130532897);
+emit_32(3236735400);
+emit_32(3275712496);
+emit_32(1130788880);
+emit_32(3231377575);
+emit_32(3275712496);
+emit_32(1131044864);
+emit_32(3227422808);
+emit_32(3275712496);
+emit_32(1131300848);
+emit_32(3218146098);
+emit_32(3275712496);
+emit_32(1131556897);
+emit_32(1069112487);
+emit_32(3275712496);
+emit_32(1131812880);
+emit_32(1077648441);
+emit_32(3275712496);
+emit_32(1132068864);
+emit_32(1082214129);
+emit_32(3275712496);
+emit_32(1081737216);
+emit_32(1102629726);
+emit_32(3275968545);
+emit_32(1090125824);
+emit_32(1102698722);
+emit_32(3275968545);
+emit_32(1094418484);
+emit_32(1102802741);
+emit_32(3275968545);
+emit_32(1098514432);
+emit_32(1102285373);
+emit_32(3275968545);
+emit_32(1100759066);
+emit_32(1101786251);
+emit_32(3275968545);
+emit_32(1102807040);
+emit_32(1100824812);
+emit_32(3275968545);
+emit_32(1104855066);
+emit_32(1100025640);
+emit_32(3275968545);
+emit_32(1106903040);
+emit_32(1099634940);
+emit_32(3275968545);
+emit_32(1108123661);
+emit_32(1099046584);
+emit_32(3275968545);
+emit_32(1109147648);
+emit_32(1096636223);
+emit_32(3275968545);
+emit_32(1110171661);
+emit_32(1095513303);
+emit_32(3275968545);
+emit_32(1111195648);
+emit_32(1095867407);
+emit_32(3275968545);
+emit_32(1112219661);
+emit_32(1096126929);
+emit_32(3275968545);
+emit_32(1113243648);
+emit_32(1096604870);
+emit_32(3275968545);
+emit_32(1114267661);
+emit_32(1095827037);
+emit_32(3275968545);
+emit_32(1115291648);
+emit_32(1095170838);
+emit_32(3275968545);
+emit_32(1116000263);
+emit_32(1095497679);
+emit_32(3275968545);
+emit_32(1116512256);
+emit_32(1095025715);
+emit_32(3275968545);
+emit_32(1117024263);
+emit_32(1094083884);
+emit_32(3275968545);
+emit_32(1117536256);
+emit_32(1094884996);
+emit_32(3275968545);
+emit_32(1118048263);
+emit_32(1094938054);
+emit_32(3275968545);
+emit_32(1118560256);
+emit_32(1094814322);
+emit_32(3275968545);
+emit_32(1119072263);
+emit_32(1094028414);
+emit_32(3275968545);
+emit_32(1119584256);
+emit_32(1093868087);
+emit_32(3275968545);
+emit_32(1120096263);
+emit_32(1091898725);
+emit_32(3275968545);
+emit_32(1120608322);
+emit_32(1091588902);
+emit_32(3275968545);
+emit_32(1121120289);
+emit_32(1090929599);
+emit_32(3275968545);
+emit_32(1121632256);
+emit_32(1091279268);
+emit_32(3275968545);
+emit_32(1122144223);
+emit_32(1091962195);
+emit_32(3275968545);
+emit_32(1122656322);
+emit_32(1092164916);
+emit_32(3275968545);
+emit_32(1123168289);
+emit_32(1092135976);
+emit_32(3275968545);
+emit_32(1123680256);
+emit_32(1091891196);
+emit_32(3275968545);
+emit_32(1124132848);
+emit_32(1091591995);
+emit_32(3275968545);
+emit_32(1124388897);
+emit_32(1091090063);
+emit_32(3275968545);
+emit_32(1124644880);
+emit_32(1090340509);
+emit_32(3275968545);
+emit_32(1124900864);
+emit_32(1086101389);
+emit_32(3275968545);
+emit_32(1125156848);
+emit_32(1083757927);
+emit_32(3275968545);
+emit_32(1125412897);
+emit_32(1078075547);
+emit_32(3275968545);
+emit_32(1125668880);
+emit_32(1076426137);
+emit_32(3275968545);
+emit_32(1125924864);
+emit_32(1072504840);
+emit_32(3275968545);
+emit_32(1126180848);
+emit_32(1076195660);
+emit_32(3275968545);
+emit_32(1126436897);
+emit_32(1072621609);
+emit_32(3275968545);
+emit_32(1126692880);
+emit_32(1056034915);
+emit_32(3275968545);
+emit_32(1126948864);
+emit_32(3209808342);
+emit_32(3275968545);
+emit_32(1127204848);
+emit_32(3226594391);
+emit_32(3275968545);
+emit_32(1127460897);
+emit_32(3229765557);
+emit_32(3275968545);
+emit_32(1127716880);
+emit_32(3232195653);
+emit_32(3275968545);
+emit_32(1127972864);
+emit_32(3233670937);
+emit_32(3275968545);
+emit_32(1128228848);
+emit_32(3236746137);
+emit_32(3275968545);
+emit_32(1128484897);
+emit_32(3239602763);
+emit_32(3275968545);
+emit_32(1128740880);
+emit_32(3239120397);
+emit_32(3275968545);
+emit_32(1128996864);
+emit_32(3238680404);
+emit_32(3275968545);
+emit_32(1129252848);
+emit_32(3238748498);
+emit_32(3275968545);
+emit_32(1129508897);
+emit_32(3237309495);
+emit_32(3275968545);
+emit_32(1129764880);
+emit_32(3238233637);
+emit_32(3275968545);
+emit_32(1130020864);
+emit_32(3238814642);
+emit_32(3275968545);
+emit_32(1130276848);
+emit_32(3237583887);
+emit_32(3275968545);
+emit_32(1130532897);
+emit_32(3232326054);
+emit_32(3275968545);
+emit_32(1130788880);
+emit_32(3225982694);
+emit_32(3275968545);
+emit_32(1131044864);
+emit_32(3216861550);
+emit_32(3275968545);
+emit_32(1131300848);
+emit_32(1026734803);
+emit_32(3275968545);
+emit_32(1131556897);
+emit_32(1070114842);
+emit_32(3275968545);
+emit_32(1131812880);
+emit_32(1079071526);
+emit_32(3275968545);
+emit_32(1132068864);
+emit_32(1085031464);
+emit_32(3275968545);
+emit_32(1081737216);
+emit_32(1101834591);
+emit_32(3276224528);
+emit_32(1090125824);
+emit_32(1101837579);
+emit_32(3276224528);
+emit_32(1094418484);
+emit_32(1102082264);
+emit_32(3276224528);
+emit_32(1098514432);
+emit_32(1101628441);
+emit_32(3276224528);
+emit_32(1100759066);
+emit_32(1100985349);
+emit_32(3276224528);
+emit_32(1102807040);
+emit_32(1100055367);
+emit_32(3276224528);
+emit_32(1104855066);
+emit_32(1099637142);
+emit_32(3276224528);
+emit_32(1106903040);
+emit_32(1098680317);
+emit_32(3276224528);
+emit_32(1108123661);
+emit_32(1096761947);
+emit_32(3276224528);
+emit_32(1109147648);
+emit_32(1094480980);
+emit_32(3276224528);
+emit_32(1110171661);
+emit_32(1095392087);
+emit_32(3276224528);
+emit_32(1111195648);
+emit_32(1094890029);
+emit_32(3276224528);
+emit_32(1112219661);
+emit_32(1094984506);
+emit_32(3276224528);
+emit_32(1113243648);
+emit_32(1094746898);
+emit_32(3276224528);
+emit_32(1114267661);
+emit_32(1095240253);
+emit_32(3276224528);
+emit_32(1115291648);
+emit_32(1094944765);
+emit_32(3276224528);
+emit_32(1116000263);
+emit_32(1093070435);
+emit_32(3276224528);
+emit_32(1116512256);
+emit_32(1092835659);
+emit_32(3276224528);
+emit_32(1117024263);
+emit_32(1092160439);
+emit_32(3276224528);
+emit_32(1117536256);
+emit_32(1093144779);
+emit_32(3276224528);
+emit_32(1118048263);
+emit_32(1093574171);
+emit_32(3276224528);
+emit_32(1118560256);
+emit_32(1093277109);
+emit_32(3276224528);
+emit_32(1119072263);
+emit_32(1093819957);
+emit_32(3276224528);
+emit_32(1119584256);
+emit_32(1092843628);
+emit_32(3276224528);
+emit_32(1120096263);
+emit_32(1091116372);
+emit_32(3276224528);
+emit_32(1120608322);
+emit_32(1091376859);
+emit_32(3276224528);
+emit_32(1121120289);
+emit_32(1090364648);
+emit_32(3276224528);
+emit_32(1121632256);
+emit_32(1090493874);
+emit_32(3276224528);
+emit_32(1122144223);
+emit_32(1090596026);
+emit_32(3276224528);
+emit_32(1122656322);
+emit_32(1090953811);
+emit_32(3276224528);
+emit_32(1123168289);
+emit_32(1090983737);
+emit_32(3276224528);
+emit_32(1123680256);
+emit_32(1091497519);
+emit_32(3276224528);
+emit_32(1124132848);
+emit_32(1090542549);
+emit_32(3276224528);
+emit_32(1124388897);
+emit_32(1090078156);
+emit_32(3276224528);
+emit_32(1124644880);
+emit_32(1088934054);
+emit_32(3276224528);
+emit_32(1124900864);
+emit_32(1087697720);
+emit_32(3276224528);
+emit_32(1125156848);
+emit_32(1085563428);
+emit_32(3276224528);
+emit_32(1125412897);
+emit_32(1080952084);
+emit_32(3276224528);
+emit_32(1125668880);
+emit_32(1073321471);
+emit_32(3276224528);
+emit_32(1125924864);
+emit_32(1070202670);
+emit_32(3276224528);
+emit_32(1126180848);
+emit_32(1076022141);
+emit_32(3276224528);
+emit_32(1126436897);
+emit_32(1074767541);
+emit_32(3276224528);
+emit_32(1126692880);
+emit_32(1043406403);
+emit_32(3276224528);
+emit_32(1126948864);
+emit_32(3214856505);
+emit_32(3276224528);
+emit_32(1127204848);
+emit_32(3221624644);
+emit_32(3276224528);
+emit_32(1127460897);
+emit_32(3223744907);
+emit_32(3276224528);
+emit_32(1127716880);
+emit_32(3226922931);
+emit_32(3276224528);
+emit_32(1127972864);
+emit_32(3231769868);
+emit_32(3276224528);
+emit_32(1128228848);
+emit_32(3235400940);
+emit_32(3276224528);
+emit_32(1128484897);
+emit_32(3237712778);
+emit_32(3276224528);
+emit_32(1128740880);
+emit_32(3237178570);
+emit_32(3276224528);
+emit_32(1128996864);
+emit_32(3236152161);
+emit_32(3276224528);
+emit_32(1129252848);
+emit_32(3236365358);
+emit_32(3276224528);
+emit_32(1129508897);
+emit_32(3234550776);
+emit_32(3276224528);
+emit_32(1129764880);
+emit_32(3234356705);
+emit_32(3276224528);
+emit_32(1130020864);
+emit_32(3236727662);
+emit_32(3276224528);
+emit_32(1130276848);
+emit_32(3234020867);
+emit_32(3276224528);
+emit_32(1130532897);
+emit_32(3229942851);
+emit_32(3276224528);
+emit_32(1130788880);
+emit_32(3218905099);
+emit_32(3276224528);
+emit_32(1131044864);
+emit_32(1046590114);
+emit_32(3276224528);
+emit_32(1131300848);
+emit_32(1071351155);
+emit_32(3276224528);
+emit_32(1131556897);
+emit_32(1075089706);
+emit_32(3276224528);
+emit_32(1131812880);
+emit_32(1081837670);
+emit_32(3276224528);
+emit_32(1132068864);
+emit_32(1088418344);
+emit_32(3276224528);
+emit_32(1081737216);
+emit_32(1101171471);
+emit_32(3276480512);
+emit_32(1090125824);
+emit_32(1100482504);
+emit_32(3276480512);
+emit_32(1094418484);
+emit_32(1100941623);
+emit_32(3276480512);
+emit_32(1098514432);
+emit_32(1100408685);
+emit_32(3276480512);
+emit_32(1100759066);
+emit_32(1099563690);
+emit_32(3276480512);
+emit_32(1102807040);
+emit_32(1099315859);
+emit_32(3276480512);
+emit_32(1104855066);
+emit_32(1099149083);
+emit_32(3276480512);
+emit_32(1106903040);
+emit_32(1096909482);
+emit_32(3276480512);
+emit_32(1108123661);
+emit_32(1095417463);
+emit_32(3276480512);
+emit_32(1109147648);
+emit_32(1095014180);
+emit_32(3276480512);
+emit_32(1110171661);
+emit_32(1094740188);
+emit_32(3276480512);
+emit_32(1111195648);
+emit_32(1094116495);
+emit_32(3276480512);
+emit_32(1112219661);
+emit_32(1094245994);
+emit_32(3276480512);
+emit_32(1113243648);
+emit_32(1093480953);
+emit_32(3276480512);
+emit_32(1114267661);
+emit_32(1095278002);
+emit_32(3276480512);
+emit_32(1115291648);
+emit_32(1094897264);
+emit_32(3276480512);
+emit_32(1116000263);
+emit_32(1092706055);
+emit_32(3276480512);
+emit_32(1116512256);
+emit_32(1091291358);
+emit_32(3276480512);
+emit_32(1117024263);
+emit_32(1090889429);
+emit_32(3276480512);
+emit_32(1117536256);
+emit_32(1091305986);
+emit_32(3276480512);
+emit_32(1118048263);
+emit_32(1092298620);
+emit_32(3276480512);
+emit_32(1118560256);
+emit_32(1092551684);
+emit_32(3276480512);
+emit_32(1119072263);
+emit_32(1092611295);
+emit_32(3276480512);
+emit_32(1119584256);
+emit_32(1091871042);
+emit_32(3276480512);
+emit_32(1120096263);
+emit_32(1090718773);
+emit_32(3276480512);
+emit_32(1120608322);
+emit_32(1090155373);
+emit_32(3276480512);
+emit_32(1121120289);
+emit_32(1087795930);
+emit_32(3276480512);
+emit_32(1121632256);
+emit_32(1087063877);
+emit_32(3276480512);
+emit_32(1122144223);
+emit_32(1088019466);
+emit_32(3276480512);
+emit_32(1122656322);
+emit_32(1090277322);
+emit_32(3276480512);
+emit_32(1123168289);
+emit_32(1091326066);
+emit_32(3276480512);
+emit_32(1123680256);
+emit_32(1091923220);
+emit_32(3276480512);
+emit_32(1124132848);
+emit_32(1091702285);
+emit_32(3276480512);
+emit_32(1124388897);
+emit_32(1089725142);
+emit_32(3276480512);
+emit_32(1124644880);
+emit_32(1087013462);
+emit_32(3276480512);
+emit_32(1124900864);
+emit_32(1086960152);
+emit_32(3276480512);
+emit_32(1125156848);
+emit_32(1085873156);
+emit_32(3276480512);
+emit_32(1125412897);
+emit_32(1082634587);
+emit_32(3276480512);
+emit_32(1125668880);
+emit_32(1076934109);
+emit_32(3276480512);
+emit_32(1125924864);
+emit_32(1073398227);
+emit_32(3276480512);
+emit_32(1126180848);
+emit_32(1074881249);
+emit_32(3276480512);
+emit_32(1126436897);
+emit_32(1074681558);
+emit_32(3276480512);
+emit_32(1126692880);
+emit_32(1066383253);
+emit_32(3276480512);
+emit_32(1126948864);
+emit_32(3190627924);
+emit_32(3276480512);
+emit_32(1127204848);
+emit_32(3210951893);
+emit_32(3276480512);
+emit_32(1127460897);
+emit_32(3211101009);
+emit_32(3276480512);
+emit_32(1127716880);
+emit_32(3222970470);
+emit_32(3276480512);
+emit_32(1127972864);
+emit_32(3228079929);
+emit_32(3276480512);
+emit_32(1128228848);
+emit_32(3233825706);
+emit_32(3276480512);
+emit_32(1128484897);
+emit_32(3233542381);
+emit_32(3276480512);
+emit_32(1128740880);
+emit_32(3232104805);
+emit_32(3276480512);
+emit_32(1128996864);
+emit_32(3230112405);
+emit_32(3276480512);
+emit_32(1129252848);
+emit_32(3231152970);
+emit_32(3276480512);
+emit_32(1129508897);
+emit_32(3231464292);
+emit_32(3276480512);
+emit_32(1129764880);
+emit_32(3231339491);
+emit_32(3276480512);
+emit_32(1130020864);
+emit_32(3231844149);
+emit_32(3276480512);
+emit_32(1130276848);
+emit_32(3231999318);
+emit_32(3276480512);
+emit_32(1130532897);
+emit_32(3224338359);
+emit_32(3276480512);
+emit_32(1130788880);
+emit_32(1034571239);
+emit_32(3276480512);
+emit_32(1131044864);
+emit_32(1073783180);
+emit_32(3276480512);
+emit_32(1131300848);
+emit_32(1077514055);
+emit_32(3276480512);
+emit_32(1131556897);
+emit_32(1081268167);
+emit_32(3276480512);
+emit_32(1131812880);
+emit_32(1085146577);
+emit_32(3276480512);
+emit_32(1132068864);
+emit_32(1091014199);
+emit_32(3276480512);
+emit_32(1081737216);
+emit_32(1100121322);
+emit_32(3276736496);
+emit_32(1090125824);
+emit_32(1099396180);
+emit_32(3276736496);
+emit_32(1094418484);
+emit_32(1099281098);
+emit_32(3276736496);
+emit_32(1098514432);
+emit_32(1098942251);
+emit_32(3276736496);
+emit_32(1100759066);
+emit_32(1098739981);
+emit_32(3276736496);
+emit_32(1102807040);
+emit_32(1097837366);
+emit_32(3276736496);
+emit_32(1104855066);
+emit_32(1096300469);
+emit_32(3276736496);
+emit_32(1106903040);
+emit_32(1095044694);
+emit_32(3276736496);
+emit_32(1108123661);
+emit_32(1095162764);
+emit_32(3276736496);
+emit_32(1109147648);
+emit_32(1095334730);
+emit_32(3276736496);
+emit_32(1110171661);
+emit_32(1095152697);
+emit_32(3276736496);
+emit_32(1111195648);
+emit_32(1094407894);
+emit_32(3276736496);
+emit_32(1112219661);
+emit_32(1093563371);
+emit_32(3276736496);
+emit_32(1113243648);
+emit_32(1092844257);
+emit_32(3276736496);
+emit_32(1114267661);
+emit_32(1093382386);
+emit_32(3276736496);
+emit_32(1115291648);
+emit_32(1092541009);
+emit_32(3276736496);
+emit_32(1116000263);
+emit_32(1091687762);
+emit_32(3276736496);
+emit_32(1116512256);
+emit_32(1088040290);
+emit_32(3276736496);
+emit_32(1117024263);
+emit_32(1088119038);
+emit_32(3276736496);
+emit_32(1117536256);
+emit_32(1088383007);
+emit_32(3276736496);
+emit_32(1118048263);
+emit_32(1090949575);
+emit_32(3276736496);
+emit_32(1118560256);
+emit_32(1091368575);
+emit_32(3276736496);
+emit_32(1119072263);
+emit_32(1091839008);
+emit_32(3276736496);
+emit_32(1119584256);
+emit_32(1091040497);
+emit_32(3276736496);
+emit_32(1120096263);
+emit_32(1088659118);
+emit_32(3276736496);
+emit_32(1120608322);
+emit_32(1086563119);
+emit_32(3276736496);
+emit_32(1121120289);
+emit_32(1083266480);
+emit_32(3276736496);
+emit_32(1121632256);
+emit_32(1082063323);
+emit_32(3276736496);
+emit_32(1122144223);
+emit_32(1086818322);
+emit_32(3276736496);
+emit_32(1122656322);
+emit_32(1089302105);
+emit_32(3276736496);
+emit_32(1123168289);
+emit_32(1090938523);
+emit_32(3276736496);
+emit_32(1123680256);
+emit_32(1091787911);
+emit_32(3276736496);
+emit_32(1124132848);
+emit_32(1091673658);
+emit_32(3276736496);
+emit_32(1124388897);
+emit_32(1091250789);
+emit_32(3276736496);
+emit_32(1124644880);
+emit_32(1088596245);
+emit_32(3276736496);
+emit_32(1124900864);
+emit_32(1086620707);
+emit_32(3276736496);
+emit_32(1125156848);
+emit_32(1083915591);
+emit_32(3276736496);
+emit_32(1125412897);
+emit_32(1083242195);
+emit_32(3276736496);
+emit_32(1125668880);
+emit_32(1083662443);
+emit_32(3276736496);
+emit_32(1125924864);
+emit_32(1080051525);
+emit_32(3276736496);
+emit_32(1126180848);
+emit_32(1078023915);
+emit_32(3276736496);
+emit_32(1126436897);
+emit_32(1076481418);
+emit_32(3276736496);
+emit_32(1126692880);
+emit_32(1073065367);
+emit_32(3276736496);
+emit_32(1126948864);
+emit_32(1068007204);
+emit_32(3276736496);
+emit_32(1127204848);
+emit_32(1059175291);
+emit_32(3276736496);
+emit_32(1127460897);
+emit_32(3191698780);
+emit_32(3276736496);
+emit_32(1127716880);
+emit_32(3213224166);
+emit_32(3276736496);
+emit_32(1127972864);
+emit_32(3223725026);
+emit_32(3276736496);
+emit_32(1128228848);
+emit_32(3228029430);
+emit_32(3276736496);
+emit_32(1128484897);
+emit_32(3226148159);
+emit_32(3276736496);
+emit_32(1128740880);
+emit_32(3225760353);
+emit_32(3276736496);
+emit_32(1128996864);
+emit_32(3222121585);
+emit_32(3276736496);
+emit_32(1129252848);
+emit_32(3225539356);
+emit_32(3276736496);
+emit_32(1129508897);
+emit_32(3229882998);
+emit_32(3276736496);
+emit_32(1129764880);
+emit_32(3227190108);
+emit_32(3276736496);
+emit_32(1130020864);
+emit_32(3228912960);
+emit_32(3276736496);
+emit_32(1130276848);
+emit_32(3228921307);
+emit_32(3276736496);
+emit_32(1130532897);
+emit_32(3219664184);
+emit_32(3276736496);
+emit_32(1130788880);
+emit_32(1065871800);
+emit_32(3276736496);
+emit_32(1131044864);
+emit_32(1077962552);
+emit_32(3276736496);
+emit_32(1131300848);
+emit_32(1082028972);
+emit_32(3276736496);
+emit_32(1131556897);
+emit_32(1084764119);
+emit_32(3276736496);
+emit_32(1131812880);
+emit_32(1086553745);
+emit_32(3276736496);
+emit_32(1132068864);
+emit_32(1092505651);
+emit_32(3276736496);
+emit_32(1081737216);
+emit_32(1099020213);
+emit_32(3276992545);
+emit_32(1090125824);
+emit_32(1098714186);
+emit_32(3276992545);
+emit_32(1094418484);
+emit_32(1097828034);
+emit_32(3276992545);
+emit_32(1098514432);
+emit_32(1097529085);
+emit_32(3276992545);
+emit_32(1100759066);
+emit_32(1097159252);
+emit_32(3276992545);
+emit_32(1102807040);
+emit_32(1096861667);
+emit_32(3276992545);
+emit_32(1104855066);
+emit_32(1094929036);
+emit_32(3276992545);
+emit_32(1106903040);
+emit_32(1095502502);
+emit_32(3276992545);
+emit_32(1108123661);
+emit_32(1095915851);
+emit_32(3276992545);
+emit_32(1109147648);
+emit_32(1095718928);
+emit_32(3276992545);
+emit_32(1110171661);
+emit_32(1095125539);
+emit_32(3276992545);
+emit_32(1111195648);
+emit_32(1094669094);
+emit_32(3276992545);
+emit_32(1112219661);
+emit_32(1093180431);
+emit_32(3276992545);
+emit_32(1113243648);
+emit_32(1091863545);
+emit_32(3276992545);
+emit_32(1114267661);
+emit_32(1091778558);
+emit_32(3276992545);
+emit_32(1115291648);
+emit_32(1091298751);
+emit_32(3276992545);
+emit_32(1116000263);
+emit_32(1089644695);
+emit_32(3276992545);
+emit_32(1116512256);
+emit_32(1086301730);
+emit_32(3276992545);
+emit_32(1117024263);
+emit_32(1086163570);
+emit_32(3276992545);
+emit_32(1117536256);
+emit_32(1086958244);
+emit_32(3276992545);
+emit_32(1118048263);
+emit_32(1089172396);
+emit_32(3276992545);
+emit_32(1118560256);
+emit_32(1089779354);
+emit_32(3276992545);
+emit_32(1119072263);
+emit_32(1090296616);
+emit_32(3276992545);
+emit_32(1119584256);
+emit_32(1089775033);
+emit_32(3276992545);
+emit_32(1120096263);
+emit_32(1085622735);
+emit_32(3276992545);
+emit_32(1120608322);
+emit_32(1082413128);
+emit_32(3276992545);
+emit_32(1121120289);
+emit_32(1076491106);
+emit_32(3276992545);
+emit_32(1121632256);
+emit_32(1082562760);
+emit_32(3276992545);
+emit_32(1122144223);
+emit_32(1085964047);
+emit_32(3276992545);
+emit_32(1122656322);
+emit_32(1088268397);
+emit_32(3276992545);
+emit_32(1123168289);
+emit_32(1091065421);
+emit_32(3276992545);
+emit_32(1123680256);
+emit_32(1091881444);
+emit_32(3276992545);
+emit_32(1124132848);
+emit_32(1092768655);
+emit_32(3276992545);
+emit_32(1124388897);
+emit_32(1091984761);
+emit_32(3276992545);
+emit_32(1124644880);
+emit_32(1091281397);
+emit_32(3276992545);
+emit_32(1124900864);
+emit_32(1090331513);
+emit_32(3276992545);
+emit_32(1125156848);
+emit_32(1084916184);
+emit_32(3276992545);
+emit_32(1125412897);
+emit_32(1084859729);
+emit_32(3276992545);
+emit_32(1125668880);
+emit_32(1084191807);
+emit_32(3276992545);
+emit_32(1125924864);
+emit_32(1084800757);
+emit_32(3276992545);
+emit_32(1126180848);
+emit_32(1082243678);
+emit_32(3276992545);
+emit_32(1126436897);
+emit_32(1082662102);
+emit_32(3276992545);
+emit_32(1126692880);
+emit_32(1080485887);
+emit_32(3276992545);
+emit_32(1126948864);
+emit_32(1077722135);
+emit_32(3276992545);
+emit_32(1127204848);
+emit_32(1073495534);
+emit_32(3276992545);
+emit_32(1127460897);
+emit_32(1067137892);
+emit_32(3276992545);
+emit_32(1127716880);
+emit_32(3201755546);
+emit_32(3276992545);
+emit_32(1127972864);
+emit_32(3219314631);
+emit_32(3276992545);
+emit_32(1128228848);
+emit_32(3220786161);
+emit_32(3276992545);
+emit_32(1128484897);
+emit_32(3215535647);
+emit_32(3276992545);
+emit_32(1128740880);
+emit_32(3219082434);
+emit_32(3276992545);
+emit_32(1128996864);
+emit_32(3207719209);
+emit_32(3276992545);
+emit_32(1129252848);
+emit_32(3219319329);
+emit_32(3276992545);
+emit_32(1129508897);
+emit_32(3222885200);
+emit_32(3276992545);
+emit_32(1129764880);
+emit_32(3223784878);
+emit_32(3276992545);
+emit_32(1130020864);
+emit_32(3226090865);
+emit_32(3276992545);
+emit_32(1130276848);
+emit_32(3223180269);
+emit_32(3276992545);
+emit_32(1130532897);
+emit_32(3210523051);
+emit_32(3276992545);
+emit_32(1130788880);
+emit_32(1069117184);
+emit_32(3276992545);
+emit_32(1131044864);
+emit_32(1079791646);
+emit_32(3276992545);
+emit_32(1131300848);
+emit_32(1085107318);
+emit_32(3276992545);
+emit_32(1131556897);
+emit_32(1086920663);
+emit_32(3276992545);
+emit_32(1131812880);
+emit_32(1088946029);
+emit_32(3276992545);
+emit_32(1132068864);
+emit_32(1093373998);
+emit_32(3276992545);
+emit_32(1081737216);
+emit_32(1097108292);
+emit_32(3277248528);
+emit_32(1090125824);
+emit_32(1096843002);
+emit_32(3277248528);
+emit_32(1094418484);
+emit_32(1095568248);
+emit_32(3277248528);
+emit_32(1098514432);
+emit_32(1095018899);
+emit_32(3277248528);
+emit_32(1100759066);
+emit_32(1094782235);
+emit_32(3277248528);
+emit_32(1102807040);
+emit_32(1095180170);
+emit_32(3277248528);
+emit_32(1104855066);
+emit_32(1095450493);
+emit_32(3277248528);
+emit_32(1106903040);
+emit_32(1095069965);
+emit_32(3277248528);
+emit_32(1108123661);
+emit_32(1095994599);
+emit_32(3277248528);
+emit_32(1109147648);
+emit_32(1095664822);
+emit_32(3277248528);
+emit_32(1110171661);
+emit_32(1095335569);
+emit_32(3277248528);
+emit_32(1111195648);
+emit_32(1094159381);
+emit_32(3277248528);
+emit_32(1112219661);
+emit_32(1093190812);
+emit_32(3277248528);
+emit_32(1113243648);
+emit_32(1092024942);
+emit_32(3277248528);
+emit_32(1114267661);
+emit_32(1092719162);
+emit_32(3277248528);
+emit_32(1115291648);
+emit_32(1091950724);
+emit_32(3277248528);
+emit_32(1116000263);
+emit_32(1090594496);
+emit_32(3277248528);
+emit_32(1116512256);
+emit_32(1087264889);
+emit_32(3277248528);
+emit_32(1117024263);
+emit_32(1085915770);
+emit_32(3277248528);
+emit_32(1117536256);
+emit_32(1085498563);
+emit_32(3277248528);
+emit_32(1118048263);
+emit_32(1087685913);
+emit_32(3277248528);
+emit_32(1118560256);
+emit_32(1089772496);
+emit_32(3277248528);
+emit_32(1119072263);
+emit_32(1090845682);
+emit_32(3277248528);
+emit_32(1119584256);
+emit_32(1090463340);
+emit_32(3277248528);
+emit_32(1120096263);
+emit_32(1085056987);
+emit_32(3277248528);
+emit_32(1120608322);
+emit_32(1080738301);
+emit_32(3277248528);
+emit_32(1121120289);
+emit_32(1078775408);
+emit_32(3277248528);
+emit_32(1121632256);
+emit_32(1086143815);
+emit_32(3277248528);
+emit_32(1122144223);
+emit_32(1089267858);
+emit_32(3277248528);
+emit_32(1122656322);
+emit_32(1090842075);
+emit_32(3277248528);
+emit_32(1123168289);
+emit_32(1092362164);
+emit_32(3277248528);
+emit_32(1123680256);
+emit_32(1092866068);
+emit_32(3277248528);
+emit_32(1124132848);
+emit_32(1092973547);
+emit_32(3277248528);
+emit_32(1124388897);
+emit_32(1093272810);
+emit_32(3277248528);
+emit_32(1124644880);
+emit_32(1093540826);
+emit_32(3277248528);
+emit_32(1124900864);
+emit_32(1091662900);
+emit_32(3277248528);
+emit_32(1125156848);
+emit_32(1087337472);
+emit_32(3277248528);
+emit_32(1125412897);
+emit_32(1084271960);
+emit_32(3277248528);
+emit_32(1125668880);
+emit_32(1086273209);
+emit_32(3277248528);
+emit_32(1125924864);
+emit_32(1087017908);
+emit_32(3277248528);
+emit_32(1126180848);
+emit_32(1086137020);
+emit_32(3277248528);
+emit_32(1126436897);
+emit_32(1084291023);
+emit_32(3277248528);
+emit_32(1126692880);
+emit_32(1084252771);
+emit_32(3277248528);
+emit_32(1126948864);
+emit_32(1082890062);
+emit_32(3277248528);
+emit_32(1127204848);
+emit_32(1080838922);
+emit_32(3277248528);
+emit_32(1127460897);
+emit_32(1077790963);
+emit_32(3277248528);
+emit_32(1127716880);
+emit_32(1069026504);
+emit_32(3277248528);
+emit_32(1127972864);
+emit_32(3200230497);
+emit_32(3277248528);
+emit_32(1128228848);
+emit_32(3212093549);
+emit_32(3277248528);
+emit_32(1128484897);
+emit_32(3187505818);
+emit_32(3277248528);
+emit_32(1128740880);
+emit_32(3186118946);
+emit_32(3277248528);
+emit_32(1128996864);
+emit_32(3163350412);
+emit_32(3277248528);
+emit_32(1129252848);
+emit_32(3213662303);
+emit_32(3277248528);
+emit_32(1129508897);
+emit_32(3213755333);
+emit_32(3277248528);
+emit_32(1129764880);
+emit_32(3220593894);
+emit_32(3277248528);
+emit_32(1130020864);
+emit_32(3222323667);
+emit_32(3277248528);
+emit_32(1130276848);
+emit_32(3215526587);
+emit_32(3277248528);
+emit_32(1130532897);
+emit_32(1045835140);
+emit_32(3277248528);
+emit_32(1130788880);
+emit_32(1075469835);
+emit_32(3277248528);
+emit_32(1131044864);
+emit_32(1083532819);
+emit_32(3277248528);
+emit_32(1131300848);
+emit_32(1086949121);
+emit_32(3277248528);
+emit_32(1131556897);
+emit_32(1088845177);
+emit_32(3277248528);
+emit_32(1131812880);
+emit_32(1090603115);
+emit_32(3277248528);
+emit_32(1132068864);
+emit_32(1092936742);
+emit_32(3277248528);
+emit_32(1081737216);
+emit_32(1096047133);
+emit_32(3277504512);
+emit_32(1090125824);
+emit_32(1095575064);
+emit_32(3277504512);
+emit_32(1094418484);
+emit_32(1094514324);
+emit_32(3277504512);
+emit_32(1098514432);
+emit_32(1094409781);
+emit_32(3277504512);
+emit_32(1100759066);
+emit_32(1094209084);
+emit_32(3277504512);
+emit_32(1102807040);
+emit_32(1094844731);
+emit_32(3277504512);
+emit_32(1104855066);
+emit_32(1094741236);
+emit_32(3277504512);
+emit_32(1106903040);
+emit_32(1095085484);
+emit_32(3277504512);
+emit_32(1108123661);
+emit_32(1095114110);
+emit_32(3277504512);
+emit_32(1109147648);
+emit_32(1094994362);
+emit_32(3277504512);
+emit_32(1110171661);
+emit_32(1095239939);
+emit_32(3277504512);
+emit_32(1111195648);
+emit_32(1093966548);
+emit_32(3277504512);
+emit_32(1112219661);
+emit_32(1092807347);
+emit_32(3277504512);
+emit_32(1113243648);
+emit_32(1093061208);
+emit_32(3277504512);
+emit_32(1114267661);
+emit_32(1092621120);
+emit_32(3277504512);
+emit_32(1115291648);
+emit_32(1092574889);
+emit_32(3277504512);
+emit_32(1116000263);
+emit_32(1091199283);
+emit_32(3277504512);
+emit_32(1116512256);
+emit_32(1087281792);
+emit_32(3277504512);
+emit_32(1117024263);
+emit_32(1084862056);
+emit_32(3277504512);
+emit_32(1117536256);
+emit_32(1084838904);
+emit_32(3277504512);
+emit_32(1118048263);
+emit_32(1088961905);
+emit_32(3277504512);
+emit_32(1118560256);
+emit_32(1090683457);
+emit_32(3277504512);
+emit_32(1119072263);
+emit_32(1091541548);
+emit_32(3277504512);
+emit_32(1119584256);
+emit_32(1089950880);
+emit_32(3277504512);
+emit_32(1120096263);
+emit_32(1085097923);
+emit_32(3277504512);
+emit_32(1120608322);
+emit_32(1082634273);
+emit_32(3277504512);
+emit_32(1121120289);
+emit_32(1085048283);
+emit_32(3277504512);
+emit_32(1121632256);
+emit_32(1089879786);
+emit_32(3277504512);
+emit_32(1122144223);
+emit_32(1091437760);
+emit_32(3277504512);
+emit_32(1122656322);
+emit_32(1092036938);
+emit_32(3277504512);
+emit_32(1123168289);
+emit_32(1091792777);
+emit_32(3277504512);
+emit_32(1123680256);
+emit_32(1092759427);
+emit_32(3277504512);
+emit_32(1124132848);
+emit_32(1094303141);
+emit_32(3277504512);
+emit_32(1124388897);
+emit_32(1094722047);
+emit_32(3277504512);
+emit_32(1124644880);
+emit_32(1095047211);
+emit_32(3277504512);
+emit_32(1124900864);
+emit_32(1093500980);
+emit_32(3277504512);
+emit_32(1125156848);
+emit_32(1089802590);
+emit_32(3277504512);
+emit_32(1125412897);
+emit_32(1086478164);
+emit_32(3277504512);
+emit_32(1125668880);
+emit_32(1087292152);
+emit_32(3277504512);
+emit_32(1125924864);
+emit_32(1088463244);
+emit_32(3277504512);
+emit_32(1126180848);
+emit_32(1088955697);
+emit_32(3277504512);
+emit_32(1126436897);
+emit_32(1086983577);
+emit_32(3277504512);
+emit_32(1126692880);
+emit_32(1087333382);
+emit_32(3277504512);
+emit_32(1126948864);
+emit_32(1086099795);
+emit_32(3277504512);
+emit_32(1127204848);
+emit_32(1085722623);
+emit_32(3277504512);
+emit_32(1127460897);
+emit_32(1082769224);
+emit_32(3277504512);
+emit_32(1127716880);
+emit_32(1075827190);
+emit_32(3277504512);
+emit_32(1127972864);
+emit_32(1066775588);
+emit_32(3277504512);
+emit_32(1128228848);
+emit_32(1067171279);
+emit_32(3277504512);
+emit_32(1128484897);
+emit_32(1067001745);
+emit_32(3277504512);
+emit_32(1128740880);
+emit_32(1067686843);
+emit_32(3277504512);
+emit_32(1128996864);
+emit_32(1065883795);
+emit_32(3277504512);
+emit_32(1129252848);
+emit_32(1040732182);
+emit_32(3277504512);
+emit_32(1129508897);
+emit_32(3197189593);
+emit_32(3277504512);
+emit_32(1129764880);
+emit_32(3203486016);
+emit_32(3277504512);
+emit_32(1130020864);
+emit_32(3211855951);
+emit_32(3277504512);
+emit_32(1130276848);
+emit_32(3212062612);
+emit_32(3277504512);
+emit_32(1130532897);
+emit_32(1061179313);
+emit_32(3277504512);
+emit_32(1130788880);
+emit_32(1076017024);
+emit_32(3277504512);
+emit_32(1131044864);
+emit_32(1084602198);
+emit_32(3277504512);
+emit_32(1131300848);
+emit_32(1088897291);
+emit_32(3277504512);
+emit_32(1131556897);
+emit_32(1090987995);
+emit_32(3277504512);
+emit_32(1131812880);
+emit_32(1091140101);
+emit_32(3277504512);
+emit_32(1132068864);
+emit_32(1093070540);
+emit_32(3277504512);
+emit_32(1081737216);
+emit_32(1095782787);
+emit_32(3277760496);
+emit_32(1090125824);
+emit_32(1095949510);
+emit_32(3277760496);
+emit_32(1094418484);
+emit_32(1095197157);
+emit_32(3277760496);
+emit_32(1098514432);
+emit_32(1093509684);
+emit_32(3277760496);
+emit_32(1100759066);
+emit_32(1093932365);
+emit_32(3277760496);
+emit_32(1102807040);
+emit_32(1094883004);
+emit_32(3277760496);
+emit_32(1104855066);
+emit_32(1095364195);
+emit_32(3277760496);
+emit_32(1106903040);
+emit_32(1095467794);
+emit_32(3277760496);
+emit_32(1108123661);
+emit_32(1095382231);
+emit_32(3277760496);
+emit_32(1109147648);
+emit_32(1095263532);
+emit_32(3277760496);
+emit_32(1110171661);
+emit_32(1094240751);
+emit_32(3277760496);
+emit_32(1111195648);
+emit_32(1093792485);
+emit_32(3277760496);
+emit_32(1112219661);
+emit_32(1093773400);
+emit_32(3277760496);
+emit_32(1113243648);
+emit_32(1093969799);
+emit_32(3277760496);
+emit_32(1114267661);
+emit_32(1092613235);
+emit_32(3277760496);
+emit_32(1115291648);
+emit_32(1091641803);
+emit_32(3277760496);
+emit_32(1116000263);
+emit_32(1090223425);
+emit_32(3277760496);
+emit_32(1116512256);
+emit_32(1086325449);
+emit_32(3277760496);
+emit_32(1117024263);
+emit_32(1086748822);
+emit_32(3277760496);
+emit_32(1117536256);
+emit_32(1088214081);
+emit_32(3277760496);
+emit_32(1118048263);
+emit_32(1090683918);
+emit_32(3277760496);
+emit_32(1118560256);
+emit_32(1091490273);
+emit_32(3277760496);
+emit_32(1119072263);
+emit_32(1092135263);
+emit_32(3277760496);
+emit_32(1119584256);
+emit_32(1090576429);
+emit_32(3277760496);
+emit_32(1120096263);
+emit_32(1085919021);
+emit_32(3277760496);
+emit_32(1120608322);
+emit_32(1084273260);
+emit_32(3277760496);
+emit_32(1121120289);
+emit_32(1088748708);
+emit_32(3277760496);
+emit_32(1121632256);
+emit_32(1091512618);
+emit_32(3277760496);
+emit_32(1122144223);
+emit_32(1092476008);
+emit_32(3277760496);
+emit_32(1122656322);
+emit_32(1093289483);
+emit_32(3277760496);
+emit_32(1123168289);
+emit_32(1093443623);
+emit_32(3277760496);
+emit_32(1123680256);
+emit_32(1093739846);
+emit_32(3277760496);
+emit_32(1124132848);
+emit_32(1095381916);
+emit_32(3277760496);
+emit_32(1124388897);
+emit_32(1095171886);
+emit_32(3277760496);
+emit_32(1124644880);
+emit_32(1094833196);
+emit_32(3277760496);
+emit_32(1124900864);
+emit_32(1094087134);
+emit_32(3277760496);
+emit_32(1125156848);
+emit_32(1091517725);
+emit_32(3277760496);
+emit_32(1125412897);
+emit_32(1088065624);
+emit_32(3277760496);
+emit_32(1125668880);
+emit_32(1089789588);
+emit_32(3277760496);
+emit_32(1125924864);
+emit_32(1090797741);
+emit_32(3277760496);
+emit_32(1126180848);
+emit_32(1090448785);
+emit_32(3277760496);
+emit_32(1126436897);
+emit_32(1089515972);
+emit_32(3277760496);
+emit_32(1126692880);
+emit_32(1088794300);
+emit_32(3277760496);
+emit_32(1126948864);
+emit_32(1086317606);
+emit_32(3277760496);
+emit_32(1127204848);
+emit_32(1085853170);
+emit_32(3277760496);
+emit_32(1127460897);
+emit_32(1083759395);
+emit_32(3277760496);
+emit_32(1127716880);
+emit_32(1079594766);
+emit_32(3277760496);
+emit_32(1127972864);
+emit_32(1077764623);
+emit_32(3277760496);
+emit_32(1128228848);
+emit_32(1072514403);
+emit_32(3277760496);
+emit_32(1128484897);
+emit_32(1067984303);
+emit_32(3277760496);
+emit_32(1128740880);
+emit_32(1066412026);
+emit_32(3277760496);
+emit_32(1128996864);
+emit_32(1069352569);
+emit_32(3277760496);
+emit_32(1129252848);
+emit_32(1072856490);
+emit_32(3277760496);
+emit_32(1129508897);
+emit_32(1059155041);
+emit_32(3277760496);
+emit_32(1129764880);
+emit_32(1050172017);
+emit_32(3277760496);
+emit_32(1130020864);
+emit_32(3157538945);
+emit_32(3277760496);
+emit_32(1130276848);
+emit_32(3194387429);
+emit_32(3277760496);
+emit_32(1130532897);
+emit_32(1059188931);
+emit_32(3277760496);
+emit_32(1130788880);
+emit_32(1077509609);
+emit_32(3277760496);
+emit_32(1131044864);
+emit_32(1085587356);
+emit_32(3277760496);
+emit_32(1131300848);
+emit_32(1088891944);
+emit_32(3277760496);
+emit_32(1131556897);
+emit_32(1090308297);
+emit_32(3277760496);
+emit_32(1131812880);
+emit_32(1091359484);
+emit_32(3277760496);
+emit_32(1132068864);
+emit_32(1093623035);
+emit_32(3277760496);
+emit_32(1081737216);
+emit_32(1094685347);
+emit_32(3278016545);
+emit_32(1090125824);
+emit_32(1095642592);
+emit_32(3278016545);
+emit_32(1094418484);
+emit_32(1094847876);
+emit_32(3278016545);
+emit_32(1098514432);
+emit_32(1093374732);
+emit_32(3278016545);
+emit_32(1100759066);
+emit_32(1094384720);
+emit_32(3278016545);
+emit_32(1102807040);
+emit_32(1095400371);
+emit_32(3278016545);
+emit_32(1104855066);
+emit_32(1095484362);
+emit_32(3278016545);
+emit_32(1106903040);
+emit_32(1094502790);
+emit_32(3278016545);
+emit_32(1108123661);
+emit_32(1093875112);
+emit_32(3278016545);
+emit_32(1109147648);
+emit_32(1093633206);
+emit_32(3278016545);
+emit_32(1110171661);
+emit_32(1093418667);
+emit_32(3278016545);
+emit_32(1111195648);
+emit_32(1093659211);
+emit_32(3278016545);
+emit_32(1112219661);
+emit_32(1093957426);
+emit_32(3278016545);
+emit_32(1113243648);
+emit_32(1093739846);
+emit_32(3278016545);
+emit_32(1114267661);
+emit_32(1093359842);
+emit_32(3278016545);
+emit_32(1115291648);
+emit_32(1091739111);
+emit_32(3278016545);
+emit_32(1116000263);
+emit_32(1089668246);
+emit_32(3278016545);
+emit_32(1116512256);
+emit_32(1087761327);
+emit_32(3278016545);
+emit_32(1117024263);
+emit_32(1088382734);
+emit_32(3278016545);
+emit_32(1117536256);
+emit_32(1089936850);
+emit_32(3278016545);
+emit_32(1118048263);
+emit_32(1091570688);
+emit_32(3278016545);
+emit_32(1118560256);
+emit_32(1092069527);
+emit_32(3278016545);
+emit_32(1119072263);
+emit_32(1091509504);
+emit_32(3278016545);
+emit_32(1119584256);
+emit_32(1090092228);
+emit_32(3278016545);
+emit_32(1120096263);
+emit_32(1086488041);
+emit_32(3278016545);
+emit_32(1120608322);
+emit_32(1087594478);
+emit_32(3278016545);
+emit_32(1121120289);
+emit_32(1091111695);
+emit_32(3278016545);
+emit_32(1121632256);
+emit_32(1092917028);
+emit_32(3278016545);
+emit_32(1122144223);
+emit_32(1094162946);
+emit_32(3278016545);
+emit_32(1122656322);
+emit_32(1094317402);
+emit_32(3278016545);
+emit_32(1123168289);
+emit_32(1094797545);
+emit_32(3278016545);
+emit_32(1123680256);
+emit_32(1095272759);
+emit_32(3278016545);
+emit_32(1124132848);
+emit_32(1096382467);
+emit_32(3278016545);
+emit_32(1124388897);
+emit_32(1095677824);
+emit_32(3278016545);
+emit_32(1124644880);
+emit_32(1094211076);
+emit_32(3278016545);
+emit_32(1124900864);
+emit_32(1093289168);
+emit_32(3278016545);
+emit_32(1125156848);
+emit_32(1091399110);
+emit_32(3278016545);
+emit_32(1125412897);
+emit_32(1091357282);
+emit_32(3278016545);
+emit_32(1125668880);
+emit_32(1092084459);
+emit_32(3278016545);
+emit_32(1125924864);
+emit_32(1092576409);
+emit_32(3278016545);
+emit_32(1126180848);
+emit_32(1091310967);
+emit_32(3278016545);
+emit_32(1126436897);
+emit_32(1089767358);
+emit_32(3278016545);
+emit_32(1126692880);
+emit_32(1088833559);
+emit_32(3278016545);
+emit_32(1126948864);
+emit_32(1088084855);
+emit_32(3278016545);
+emit_32(1127204848);
+emit_32(1086548397);
+emit_32(3278016545);
+emit_32(1127460897);
+emit_32(1083608358);
+emit_32(3278016545);
+emit_32(1127716880);
+emit_32(1083278790);
+emit_32(3278016545);
+emit_32(1127972864);
+emit_32(1080394661);
+emit_32(3278016545);
+emit_32(1128228848);
+emit_32(1077852158);
+emit_32(3278016545);
+emit_32(1128484897);
+emit_32(1069478650);
+emit_32(3278016545);
+emit_32(1128740880);
+emit_32(1072553494);
+emit_32(3278016545);
+emit_32(1128996864);
+emit_32(1069471100);
+emit_32(3278016545);
+emit_32(1129252848);
+emit_32(1068704381);
+emit_32(3278016545);
+emit_32(1129508897);
+emit_32(1063054771);
+emit_32(3278016545);
+emit_32(1129764880);
+emit_32(1066657309);
+emit_32(3278016545);
+emit_32(1130020864);
+emit_32(1058799582);
+emit_32(3278016545);
+emit_32(1130276848);
+emit_32(1065716610);
+emit_32(3278016545);
+emit_32(1130532897);
+emit_32(1070221796);
+emit_32(3278016545);
+emit_32(1130788880);
+emit_32(1082372632);
+emit_32(3278016545);
+emit_32(1131044864);
+emit_32(1085584357);
+emit_32(3278016545);
+emit_32(1131300848);
+emit_32(1087618406);
+emit_32(3278016545);
+emit_32(1131556897);
+emit_32(1089074731);
+emit_32(3278016545);
+emit_32(1131812880);
+emit_32(1091116256);
+emit_32(3278016545);
+emit_32(1132068864);
+emit_32(1093443623);
+emit_32(3278016545);
+emit_32(1081737216);
+emit_32(1093100529);
+emit_32(3278272528);
+emit_32(1090125824);
+emit_32(1094102968);
+emit_32(3278272528);
+emit_32(1094418484);
+emit_32(1093438380);
+emit_32(3278272528);
+emit_32(1098514432);
+emit_32(1093242192);
+emit_32(3278272528);
+emit_32(1100759066);
+emit_32(1093664663);
+emit_32(3278272528);
+emit_32(1102807040);
+emit_32(1094290978);
+emit_32(3278272528);
+emit_32(1104855066);
+emit_32(1094142185);
+emit_32(3278272528);
+emit_32(1106903040);
+emit_32(1092722622);
+emit_32(3278272528);
+emit_32(1108123661);
+emit_32(1093048205);
+emit_32(3278272528);
+emit_32(1109147648);
+emit_32(1092329868);
+emit_32(3278272528);
+emit_32(1110171661);
+emit_32(1092322308);
+emit_32(3278272528);
+emit_32(1111195648);
+emit_32(1093430621);
+emit_32(3278272528);
+emit_32(1112219661);
+emit_32(1093536317);
+emit_32(3278272528);
+emit_32(1113243648);
+emit_32(1092950268);
+emit_32(3278272528);
+emit_32(1114267661);
+emit_32(1093055336);
+emit_32(3278272528);
+emit_32(1115291648);
+emit_32(1091513918);
+emit_32(3278272528);
+emit_32(1116000263);
+emit_32(1090353428);
+emit_32(3278272528);
+emit_32(1116512256);
+emit_32(1091025450);
+emit_32(3278272528);
+emit_32(1117024263);
+emit_32(1091303186);
+emit_32(3278272528);
+emit_32(1117536256);
+emit_32(1091441535);
+emit_32(3278272528);
+emit_32(1118048263);
+emit_32(1092287275);
+emit_32(3278272528);
+emit_32(1118560256);
+emit_32(1092144259);
+emit_32(3278272528);
+emit_32(1119072263);
+emit_32(1091616102);
+emit_32(3278272528);
+emit_32(1119584256);
+emit_32(1091037110);
+emit_32(3278272528);
+emit_32(1120096263);
+emit_32(1090309493);
+emit_32(3278272528);
+emit_32(1120608322);
+emit_32(1091784220);
+emit_32(3278272528);
+emit_32(1121120289);
+emit_32(1093152434);
+emit_32(3278272528);
+emit_32(1121632256);
+emit_32(1094218836);
+emit_32(3278272528);
+emit_32(1122144223);
+emit_32(1094752980);
+emit_32(3278272528);
+emit_32(1122656322);
+emit_32(1095698796);
+emit_32(3278272528);
+emit_32(1123168289);
+emit_32(1095918053);
+emit_32(3278272528);
+emit_32(1123680256);
+emit_32(1096702912);
+emit_32(3278272528);
+emit_32(1124132848);
+emit_32(1097339817);
+emit_32(3278272528);
+emit_32(1124388897);
+emit_32(1095953075);
+emit_32(3278272528);
+emit_32(1124644880);
+emit_32(1094317611);
+emit_32(3278272528);
+emit_32(1124900864);
+emit_32(1093780950);
+emit_32(3278272528);
+emit_32(1125156848);
+emit_32(1092660022);
+emit_32(3278272528);
+emit_32(1125412897);
+emit_32(1092828633);
+emit_32(3278272528);
+emit_32(1125668880);
+emit_32(1093621252);
+emit_32(3278272528);
+emit_32(1125924864);
+emit_32(1093691821);
+emit_32(3278272528);
+emit_32(1126180848);
+emit_32(1092496151);
+emit_32(3278272528);
+emit_32(1126436897);
+emit_32(1091489371);
+emit_32(3278272528);
+emit_32(1126692880);
+emit_32(1090315742);
+emit_32(3278272528);
+emit_32(1126948864);
+emit_32(1088919605);
+emit_32(3278272528);
+emit_32(1127204848);
+emit_32(1086524028);
+emit_32(3278272528);
+emit_32(1127460897);
+emit_32(1084543520);
+emit_32(3278272528);
+emit_32(1127716880);
+emit_32(1083661479);
+emit_32(3278272528);
+emit_32(1127972864);
+emit_32(1082237198);
+emit_32(3278272528);
+emit_32(1128228848);
+emit_32(1078013052);
+emit_32(3278272528);
+emit_32(1128484897);
+emit_32(1072342353);
+emit_32(3278272528);
+emit_32(1128740880);
+emit_32(1077011074);
+emit_32(3278272528);
+emit_32(1128996864);
+emit_32(1078172393);
+emit_32(3278272528);
+emit_32(1129252848);
+emit_32(1074035719);
+emit_32(3278272528);
+emit_32(1129508897);
+emit_32(1073825416);
+emit_32(3278272528);
+emit_32(1129764880);
+emit_32(1074307678);
+emit_32(3278272528);
+emit_32(1130020864);
+emit_32(1070873927);
+emit_32(3278272528);
+emit_32(1130276848);
+emit_32(1072403002);
+emit_32(3278272528);
+emit_32(1130532897);
+emit_32(1077025838);
+emit_32(3278272528);
+emit_32(1130788880);
+emit_32(1081902304);
+emit_32(3278272528);
+emit_32(1131044864);
+emit_32(1085968619);
+emit_32(3278272528);
+emit_32(1131300848);
+emit_32(1088231676);
+emit_32(3278272528);
+emit_32(1131556897);
+emit_32(1090439956);
+emit_32(3278272528);
+emit_32(1131812880);
+emit_32(1089744184);
+emit_32(3278272528);
+emit_32(1132068864);
+emit_32(1092872988);
+emit_32(3278272528);
+emit_32(1081737216);
+emit_32(1091412678);
+emit_32(3278528512);
+emit_32(1090125824);
+emit_32(1091988504);
+emit_32(3278528512);
+emit_32(1094418484);
+emit_32(1092226269);
+emit_32(3278528512);
+emit_32(1098514432);
+emit_32(1092585521);
+emit_32(3278528512);
+emit_32(1100759066);
+emit_32(1092575014);
+emit_32(3278528512);
+emit_32(1102807040);
+emit_32(1092307292);
+emit_32(3278528512);
+emit_32(1104855066);
+emit_32(1092661805);
+emit_32(3278528512);
+emit_32(1106903040);
+emit_32(1092468123);
+emit_32(3278528512);
+emit_32(1108123661);
+emit_32(1092120016);
+emit_32(3278528512);
+emit_32(1109147648);
+emit_32(1091309048);
+emit_32(3278528512);
+emit_32(1110171661);
+emit_32(1091564323);
+emit_32(3278528512);
+emit_32(1111195648);
+emit_32(1092158059);
+emit_32(3278528512);
+emit_32(1112219661);
+emit_32(1092138943);
+emit_32(3278528512);
+emit_32(1113243648);
+emit_32(1092639785);
+emit_32(3278528512);
+emit_32(1114267661);
+emit_32(1092158950);
+emit_32(3278528512);
+emit_32(1115291648);
+emit_32(1091761330);
+emit_32(3278528512);
+emit_32(1116000263);
+emit_32(1091873884);
+emit_32(3278528512);
+emit_32(1116512256);
+emit_32(1093128002);
+emit_32(3278528512);
+emit_32(1117024263);
+emit_32(1093545755);
+emit_32(3278528512);
+emit_32(1117536256);
+emit_32(1093685844);
+emit_32(3278528512);
+emit_32(1118048263);
+emit_32(1094474478);
+emit_32(3278528512);
+emit_32(1118560256);
+emit_32(1093835057);
+emit_32(3278528512);
+emit_32(1119072263);
+emit_32(1093247435);
+emit_32(3278528512);
+emit_32(1119584256);
+emit_32(1092545770);
+emit_32(3278528512);
+emit_32(1120096263);
+emit_32(1092881691);
+emit_32(3278528512);
+emit_32(1120608322);
+emit_32(1093753687);
+emit_32(3278528512);
+emit_32(1121120289);
+emit_32(1095402888);
+emit_32(3278528512);
+emit_32(1121632256);
+emit_32(1096263454);
+emit_32(3278528512);
+emit_32(1122144223);
+emit_32(1097648518);
+emit_32(3278528512);
+emit_32(1122656322);
+emit_32(1098257845);
+emit_32(3278528512);
+emit_32(1123168289);
+emit_32(1098906075);
+emit_32(3278528512);
+emit_32(1123680256);
+emit_32(1097757884);
+emit_32(3278528512);
+emit_32(1124132848);
+emit_32(1097095184);
+emit_32(3278528512);
+emit_32(1124388897);
+emit_32(1096820772);
+emit_32(3278528512);
+emit_32(1124644880);
+emit_32(1095881563);
+emit_32(3278528512);
+emit_32(1124900864);
+emit_32(1095322462);
+emit_32(3278528512);
+emit_32(1125156848);
+emit_32(1094560881);
+emit_32(3278528512);
+emit_32(1125412897);
+emit_32(1094212020);
+emit_32(3278528512);
+emit_32(1125668880);
+emit_32(1094591919);
+emit_32(3278528512);
+emit_32(1125924864);
+emit_32(1094354836);
+emit_32(3278528512);
+emit_32(1126180848);
+emit_32(1093487244);
+emit_32(3278528512);
+emit_32(1126436897);
+emit_32(1092900566);
+emit_32(3278528512);
+emit_32(1126692880);
+emit_32(1091131859);
+emit_32(3278528512);
+emit_32(1126948864);
+emit_32(1088434303);
+emit_32(3278528512);
+emit_32(1127204848);
+emit_32(1085602330);
+emit_32(3278528512);
+emit_32(1127460897);
+emit_32(1084383381);
+emit_32(3278528512);
+emit_32(1127716880);
+emit_32(1082990348);
+emit_32(3278528512);
+emit_32(1127972864);
+emit_32(1081942359);
+emit_32(3278528512);
+emit_32(1128228848);
+emit_32(1079707928);
+emit_32(3278528512);
+emit_32(1128484897);
+emit_32(1076020757);
+emit_32(3278528512);
+emit_32(1128740880);
+emit_32(1081959766);
+emit_32(3278528512);
+emit_32(1128996864);
+emit_32(1081769302);
+emit_32(3278528512);
+emit_32(1129252848);
+emit_32(1077543709);
+emit_32(3278528512);
+emit_32(1129508897);
+emit_32(1078419522);
+emit_32(3278528512);
+emit_32(1129764880);
+emit_32(1079325911);
+emit_32(3278528512);
+emit_32(1130020864);
+emit_32(1076435784);
+emit_32(3278528512);
+emit_32(1130276848);
+emit_32(1076442830);
+emit_32(3278528512);
+emit_32(1130532897);
+emit_32(1078716269);
+emit_32(3278528512);
+emit_32(1130788880);
+emit_32(1083099337);
+emit_32(3278528512);
+emit_32(1131044864);
+emit_32(1086173385);
+emit_32(3278528512);
+emit_32(1131300848);
+emit_32(1088001787);
+emit_32(3278528512);
+emit_32(1131556897);
+emit_32(1091260069);
+emit_32(3278528512);
+emit_32(1131812880);
+emit_32(1091015247);
+emit_32(3278528512);
+emit_32(1132068864);
+emit_32(1093018740);
+emit_32(3278528512);
+emit_32(1081737216);
+emit_32(1090509120);
+emit_32(3278784496);
+emit_32(1090125824);
+emit_32(1091171244);
+emit_32(3278784496);
+emit_32(1094418484);
+emit_32(1091637818);
+emit_32(3278784496);
+emit_32(1098514432);
+emit_32(1091699621);
+emit_32(3278784496);
+emit_32(1100759066);
+emit_32(1091545869);
+emit_32(3278784496);
+emit_32(1102807040);
+emit_32(1092355642);
+emit_32(3278784496);
+emit_32(1104855066);
+emit_32(1092176189);
+emit_32(3278784496);
+emit_32(1106903040);
+emit_32(1091883961);
+emit_32(3278784496);
+emit_32(1108123661);
+emit_32(1091185924);
+emit_32(3278784496);
+emit_32(1109147648);
+emit_32(1091284217);
+emit_32(3278784496);
+emit_32(1110171661);
+emit_32(1091038221);
+emit_32(3278784496);
+emit_32(1111195648);
+emit_32(1091340725);
+emit_32(3278784496);
+emit_32(1112219661);
+emit_32(1091305944);
+emit_32(3278784496);
+emit_32(1113243648);
+emit_32(1091527623);
+emit_32(3278784496);
+emit_32(1114267661);
+emit_32(1092680260);
+emit_32(3278784496);
+emit_32(1115291648);
+emit_32(1093798461);
+emit_32(3278784496);
+emit_32(1116000263);
+emit_32(1093476968);
+emit_32(3278784496);
+emit_32(1116512256);
+emit_32(1094724669);
+emit_32(3278784496);
+emit_32(1117024263);
+emit_32(1095984847);
+emit_32(3278784496);
+emit_32(1117536256);
+emit_32(1096949223);
+emit_32(3278784496);
+emit_32(1118048263);
+emit_32(1097185362);
+emit_32(3278784496);
+emit_32(1118560256);
+emit_32(1096053529);
+emit_32(3278784496);
+emit_32(1119072263);
+emit_32(1095554721);
+emit_32(3278784496);
+emit_32(1119584256);
+emit_32(1094764095);
+emit_32(3278784496);
+emit_32(1120096263);
+emit_32(1095516239);
+emit_32(3278784496);
+emit_32(1120608322);
+emit_32(1096842687);
+emit_32(3278784496);
+emit_32(1121120289);
+emit_32(1098862245);
+emit_32(3278784496);
+emit_32(1121632256);
+emit_32(1099841038);
+emit_32(3278784496);
+emit_32(1122144223);
+emit_32(1100521249);
+emit_32(3278784496);
+emit_32(1122656322);
+emit_32(1100352324);
+emit_32(3278784496);
+emit_32(1123168289);
+emit_32(1100382418);
+emit_32(3278784496);
+emit_32(1123680256);
+emit_32(1099683961);
+emit_32(3278784496);
+emit_32(1124132848);
+emit_32(1099118517);
+emit_32(3278784496);
+emit_32(1124388897);
+emit_32(1098912891);
+emit_32(3278784496);
+emit_32(1124644880);
+emit_32(1098053268);
+emit_32(3278784496);
+emit_32(1124900864);
+emit_32(1096737201);
+emit_32(3278784496);
+emit_32(1125156848);
+emit_32(1095640390);
+emit_32(3278784496);
+emit_32(1125412897);
+emit_32(1094410096);
+emit_32(3278784496);
+emit_32(1125668880);
+emit_32(1094098878);
+emit_32(3278784496);
+emit_32(1125924864);
+emit_32(1093723488);
+emit_32(3278784496);
+emit_32(1126180848);
+emit_32(1093527195);
+emit_32(3278784496);
+emit_32(1126436897);
+emit_32(1093210944);
+emit_32(3278784496);
+emit_32(1126692880);
+emit_32(1092714548);
+emit_32(3278784496);
+emit_32(1126948864);
+emit_32(1089965455);
+emit_32(3278784496);
+emit_32(1127204848);
+emit_32(1086218431);
+emit_32(3278784496);
+emit_32(1127460897);
+emit_32(1085307869);
+emit_32(3278784496);
+emit_32(1127716880);
+emit_32(1084803231);
+emit_32(3278784496);
+emit_32(1127972864);
+emit_32(1084117756);
+emit_32(3278784496);
+emit_32(1128228848);
+emit_32(1082406438);
+emit_32(3278784496);
+emit_32(1128484897);
+emit_32(1080428635);
+emit_32(3278784496);
+emit_32(1128740880);
+emit_32(1082196765);
+emit_32(3278784496);
+emit_32(1128996864);
+emit_32(1082931292);
+emit_32(3278784496);
+emit_32(1129252848);
+emit_32(1078353839);
+emit_32(3278784496);
+emit_32(1129508897);
+emit_32(1078676842);
+emit_32(3278784496);
+emit_32(1129764880);
+emit_32(1078175832);
+emit_32(3278784496);
+emit_32(1130020864);
+emit_32(1078788788);
+emit_32(3278784496);
+emit_32(1130276848);
+emit_32(1075988503);
+emit_32(3278784496);
+emit_32(1130532897);
+emit_32(1078470902);
+emit_32(3278784496);
+emit_32(1130788880);
+emit_32(1083278329);
+emit_32(3278784496);
+emit_32(1131044864);
+emit_32(1086190728);
+emit_32(3278784496);
+emit_32(1131300848);
+emit_32(1088421406);
+emit_32(3278784496);
+emit_32(1131556897);
+emit_32(1090737280);
+emit_32(3278784496);
+emit_32(1131812880);
+emit_32(1092161257);
+emit_32(3278784496);
+emit_32(1132068864);
+emit_32(1094162946);
+emit_32(3278784496);
+emit_32(1081737216);
+emit_32(1087170664);
+emit_32(3279040545);
+emit_32(1090125824);
+emit_32(1090282922);
+emit_32(3279040545);
+emit_32(1094418484);
+emit_32(1091155117);
+emit_32(3279040545);
+emit_32(1098514432);
+emit_32(1091115921);
+emit_32(3279040545);
+emit_32(1100759066);
+emit_32(1091154351);
+emit_32(3279040545);
+emit_32(1102807040);
+emit_32(1091182076);
+emit_32(3279040545);
+emit_32(1104855066);
+emit_32(1090880379);
+emit_32(3279040545);
+emit_32(1106903040);
+emit_32(1089488437);
+emit_32(3279040545);
+emit_32(1108123661);
+emit_32(1089764611);
+emit_32(3279040545);
+emit_32(1109147648);
+emit_32(1090012599);
+emit_32(3279040545);
+emit_32(1110171661);
+emit_32(1089610386);
+emit_32(3279040545);
+emit_32(1111195648);
+emit_32(1090497943);
+emit_32(3279040545);
+emit_32(1112219661);
+emit_32(1092221833);
+emit_32(3279040545);
+emit_32(1113243648);
+emit_32(1091868673);
+emit_32(3279040545);
+emit_32(1114267661);
+emit_32(1093013812);
+emit_32(3279040545);
+emit_32(1115291648);
+emit_32(1093957635);
+emit_32(3279040545);
+emit_32(1116000263);
+emit_32(1095032950);
+emit_32(3279040545);
+emit_32(1116512256);
+emit_32(1096314729);
+emit_32(3279040545);
+emit_32(1117024263);
+emit_32(1097345375);
+emit_32(3279040545);
+emit_32(1117536256);
+emit_32(1098078329);
+emit_32(3279040545);
+emit_32(1118048263);
+emit_32(1098803524);
+emit_32(3279040545);
+emit_32(1118560256);
+emit_32(1098341522);
+emit_32(3279040545);
+emit_32(1119072263);
+emit_32(1097352715);
+emit_32(3279040545);
+emit_32(1119584256);
+emit_32(1097048103);
+emit_32(3279040545);
+emit_32(1120096263);
+emit_32(1096764149);
+emit_32(3279040545);
+emit_32(1120608322);
+emit_32(1098722469);
+emit_32(3279040545);
+emit_32(1121120289);
+emit_32(1100309647);
+emit_32(3279040545);
+emit_32(1121632256);
+emit_32(1101387321);
+emit_32(3279040545);
+emit_32(1122144223);
+emit_32(1101809739);
+emit_32(3279040545);
+emit_32(1122656322);
+emit_32(1101519703);
+emit_32(3279040545);
+emit_32(1123168289);
+emit_32(1101121821);
+emit_32(3279040545);
+emit_32(1123680256);
+emit_32(1100240545);
+emit_32(3279040545);
+emit_32(1124132848);
+emit_32(1099882352);
+emit_32(3279040545);
+emit_32(1124388897);
+emit_32(1099784048);
+emit_32(3279040545);
+emit_32(1124644880);
+emit_32(1099378563);
+emit_32(3279040545);
+emit_32(1124900864);
+emit_32(1097709545);
+emit_32(3279040545);
+emit_32(1125156848);
+emit_32(1095839095);
+emit_32(3279040545);
+emit_32(1125412897);
+emit_32(1095221589);
+emit_32(3279040545);
+emit_32(1125668880);
+emit_32(1094514219);
+emit_32(3279040545);
+emit_32(1125924864);
+emit_32(1094489263);
+emit_32(3279040545);
+emit_32(1126180848);
+emit_32(1094114397);
+emit_32(3279040545);
+emit_32(1126436897);
+emit_32(1093523525);
+emit_32(3279040545);
+emit_32(1126692880);
+emit_32(1092364020);
+emit_32(3279040545);
+emit_32(1126948864);
+emit_32(1090657578);
+emit_32(3279040545);
+emit_32(1127204848);
+emit_32(1088250991);
+emit_32(3279040545);
+emit_32(1127460897);
+emit_32(1086186701);
+emit_32(3279040545);
+emit_32(1127716880);
+emit_32(1085899685);
+emit_32(3279040545);
+emit_32(1127972864);
+emit_32(1085922502);
+emit_32(3279040545);
+emit_32(1128228848);
+emit_32(1083915444);
+emit_32(3279040545);
+emit_32(1128484897);
+emit_32(1082705891);
+emit_32(3279040545);
+emit_32(1128740880);
+emit_32(1082612966);
+emit_32(3279040545);
+emit_32(1128996864);
+emit_32(1082123763);
+emit_32(3279040545);
+emit_32(1129252848);
+emit_32(1079957992);
+emit_32(3279040545);
+emit_32(1129508897);
+emit_32(1080918362);
+emit_32(3279040545);
+emit_32(1129764880);
+emit_32(1080150846);
+emit_32(3279040545);
+emit_32(1130020864);
+emit_32(1079666824);
+emit_32(3279040545);
+emit_32(1130276848);
+emit_32(1075451758);
+emit_32(3279040545);
+emit_32(1130532897);
+emit_32(1079618505);
+emit_32(3279040545);
+emit_32(1130788880);
+emit_32(1083212437);
+emit_32(3279040545);
+emit_32(1131044864);
+emit_32(1086243597);
+emit_32(3279040545);
+emit_32(1131300848);
+emit_32(1089861499);
+emit_32(3279040545);
+emit_32(1131556897);
+emit_32(1091090891);
+emit_32(3279040545);
+emit_32(1131812880);
+emit_32(1092085392);
+emit_32(3279040545);
+emit_32(1132068864);
+emit_32(1094769128);
+emit_32(3279040545);
+emit_32(1081737216);
+emit_32(1086522393);
+emit_32(3279296528);
+emit_32(1090125824);
+emit_32(1089733279);
+emit_32(3279296528);
+emit_32(1094418484);
+emit_32(1090866549);
+emit_32(3279296528);
+emit_32(1098514432);
+emit_32(1091166221);
+emit_32(3279296528);
+emit_32(1100759066);
+emit_32(1091316692);
+emit_32(3279296528);
+emit_32(1102807040);
+emit_32(1090303012);
+emit_32(3279296528);
+emit_32(1104855066);
+emit_32(1090054898);
+emit_32(3279296528);
+emit_32(1106903040);
+emit_32(1089282496);
+emit_32(3279296528);
+emit_32(1108123661);
+emit_32(1087524370);
+emit_32(3279296528);
+emit_32(1109147648);
+emit_32(1086986471);
+emit_32(3279296528);
+emit_32(1110171661);
+emit_32(1089941925);
+emit_32(3279296528);
+emit_32(1111195648);
+emit_32(1091445195);
+emit_32(3279296528);
+emit_32(1112219661);
+emit_32(1092661595);
+emit_32(3279296528);
+emit_32(1113243648);
+emit_32(1093449286);
+emit_32(3279296528);
+emit_32(1114267661);
+emit_32(1094451829);
+emit_32(3279296528);
+emit_32(1115291648);
+emit_32(1095908406);
+emit_32(3279296528);
+emit_32(1116000263);
+emit_32(1095897606);
+emit_32(3279296528);
+emit_32(1116512256);
+emit_32(1097742156);
+emit_32(3279296528);
+emit_32(1117024263);
+emit_32(1098429917);
+emit_32(3279296528);
+emit_32(1117536256);
+emit_32(1099162819);
+emit_32(3279296528);
+emit_32(1118048263);
+emit_32(1099463446);
+emit_32(3279296528);
+emit_32(1118560256);
+emit_32(1099555196);
+emit_32(3279296528);
+emit_32(1119072263);
+emit_32(1099132672);
+emit_32(3279296528);
+emit_32(1119584256);
+emit_32(1099075420);
+emit_32(3279296528);
+emit_32(1120096263);
+emit_32(1099448871);
+emit_32(3279296528);
+emit_32(1120608322);
+emit_32(1099721553);
+emit_32(3279296528);
+emit_32(1121120289);
+emit_32(1101033321);
+emit_32(3279296528);
+emit_32(1121632256);
+emit_32(1101927337);
+emit_32(3279296528);
+emit_32(1122144223);
+emit_32(1102231686);
+emit_32(3279296528);
+emit_32(1122656322);
+emit_32(1102467092);
+emit_32(3279296528);
+emit_32(1123168289);
+emit_32(1101898711);
+emit_32(3279296528);
+emit_32(1123680256);
+emit_32(1101260390);
+emit_32(3279296528);
+emit_32(1124132848);
+emit_32(1100638480);
+emit_32(3279296528);
+emit_32(1124388897);
+emit_32(1100231685);
+emit_32(3279296528);
+emit_32(1124644880);
+emit_32(1099651036);
+emit_32(3279296528);
+emit_32(1124900864);
+emit_32(1097614020);
+emit_32(3279296528);
+emit_32(1125156848);
+emit_32(1096696726);
+emit_32(3279296528);
+emit_32(1125412897);
+emit_32(1094775629);
+emit_32(3279296528);
+emit_32(1125668880);
+emit_32(1094539595);
+emit_32(3279296528);
+emit_32(1125924864);
+emit_32(1095046372);
+emit_32(3279296528);
+emit_32(1126180848);
+emit_32(1095477441);
+emit_32(3279296528);
+emit_32(1126436897);
+emit_32(1093641594);
+emit_32(3279296528);
+emit_32(1126692880);
+emit_32(1092818357);
+emit_32(3279296528);
+emit_32(1126948864);
+emit_32(1090737490);
+emit_32(3279296528);
+emit_32(1127204848);
+emit_32(1089918898);
+emit_32(3279296528);
+emit_32(1127460897);
+emit_32(1089673426);
+emit_32(3279296528);
+emit_32(1127716880);
+emit_32(1088381686);
+emit_32(3279296528);
+emit_32(1127972864);
+emit_32(1088024583);
+emit_32(3279296528);
+emit_32(1128228848);
+emit_32(1086615842);
+emit_32(3279296528);
+emit_32(1128484897);
+emit_32(1083021134);
+emit_32(3279296528);
+emit_32(1128740880);
+emit_32(1082006448);
+emit_32(3279296528);
+emit_32(1128996864);
+emit_32(1082259554);
+emit_32(3279296528);
+emit_32(1129252848);
+emit_32(1081019948);
+emit_32(3279296528);
+emit_32(1129508897);
+emit_32(1083076688);
+emit_32(3279296528);
+emit_32(1129764880);
+emit_32(1079712290);
+emit_32(3279296528);
+emit_32(1130020864);
+emit_32(1076696460);
+emit_32(3279296528);
+emit_32(1130276848);
+emit_32(1081628248);
+emit_32(3279296528);
+emit_32(1130532897);
+emit_32(1083251486);
+emit_32(3279296528);
+emit_32(1130788880);
+emit_32(1085680051);
+emit_32(3279296528);
+emit_32(1131044864);
+emit_32(1086814757);
+emit_32(3279296528);
+emit_32(1131300848);
+emit_32(1089239043);
+emit_32(3279296528);
+emit_32(1131556897);
+emit_32(1091530717);
+emit_32(3279296528);
+emit_32(1131812880);
+emit_32(1093644321);
+emit_32(3279296528);
+emit_32(1132068864);
+emit_32(1095779536);
+emit_32(3279296528);
+emit_32(1081737216);
+emit_32(1086994839);
+emit_32(3279552512);
+emit_32(1090125824);
+emit_32(1088197052);
+emit_32(3279552512);
+emit_32(1094418484);
+emit_32(1091183439);
+emit_32(3279552512);
+emit_32(1098514432);
+emit_32(1091864132);
+emit_32(3279552512);
+emit_32(1100759066);
+emit_32(1091623966);
+emit_32(3279552512);
+emit_32(1102807040);
+emit_32(1091056907);
+emit_32(3279552512);
+emit_32(1104855066);
+emit_32(1090799639);
+emit_32(3279552512);
+emit_32(1106903040);
+emit_32(1090240475);
+emit_32(3279552512);
+emit_32(1108123661);
+emit_32(1087500672);
+emit_32(3279552512);
+emit_32(1109147648);
+emit_32(1087952231);
+emit_32(3279552512);
+emit_32(1110171661);
+emit_32(1091227636);
+emit_32(3279552512);
+emit_32(1111195648);
+emit_32(1092866173);
+emit_32(3279552512);
+emit_32(1112219661);
+emit_32(1094198074);
+emit_32(3279552512);
+emit_32(1113243648);
+emit_32(1095474505);
+emit_32(3279552512);
+emit_32(1114267661);
+emit_32(1097295462);
+emit_32(3279552512);
+emit_32(1115291648);
+emit_32(1098629985);
+emit_32(3279552512);
+emit_32(1116000263);
+emit_32(1098063859);
+emit_32(3279552512);
+emit_32(1116512256);
+emit_32(1098990748);
+emit_32(3279552512);
+emit_32(1117024263);
+emit_32(1099487406);
+emit_32(3279552512);
+emit_32(1117536256);
+emit_32(1099589956);
+emit_32(3279552512);
+emit_32(1118048263);
+emit_32(1100319660);
+emit_32(3279552512);
+emit_32(1118560256);
+emit_32(1100278032);
+emit_32(3279552512);
+emit_32(1119072263);
+emit_32(1099978821);
+emit_32(3279552512);
+emit_32(1119584256);
+emit_32(1100109840);
+emit_32(3279552512);
+emit_32(1120096263);
+emit_32(1100236089);
+emit_32(3279552512);
+emit_32(1120608322);
+emit_32(1100377385);
+emit_32(3279552512);
+emit_32(1121120289);
+emit_32(1102160173);
+emit_32(3279552512);
+emit_32(1121632256);
+emit_32(1103122924);
+emit_32(3279552512);
+emit_32(1122144223);
+emit_32(1103474721);
+emit_32(3279552512);
+emit_32(1122656322);
+emit_32(1103248805);
+emit_32(3279552512);
+emit_32(1123168289);
+emit_32(1102632819);
+emit_32(3279552512);
+emit_32(1123680256);
+emit_32(1102047399);
+emit_32(3279552512);
+emit_32(1124132848);
+emit_32(1101668391);
+emit_32(3279552512);
+emit_32(1124388897);
+emit_32(1100761740);
+emit_32(3279552512);
+emit_32(1124644880);
+emit_32(1100232943);
+emit_32(3279552512);
+emit_32(1124900864);
+emit_32(1098887306);
+emit_32(3279552512);
+emit_32(1125156848);
+emit_32(1097709860);
+emit_32(3279552512);
+emit_32(1125412897);
+emit_32(1096144126);
+emit_32(3279552512);
+emit_32(1125668880);
+emit_32(1095560803);
+emit_32(3279552512);
+emit_32(1125924864);
+emit_32(1096148740);
+emit_32(3279552512);
+emit_32(1126180848);
+emit_32(1095494428);
+emit_32(3279552512);
+emit_32(1126436897);
+emit_32(1093780950);
+emit_32(3279552512);
+emit_32(1126692880);
+emit_32(1092196667);
+emit_32(3279552512);
+emit_32(1126948864);
+emit_32(1091446736);
+emit_32(3279552512);
+emit_32(1127204848);
+emit_32(1090928352);
+emit_32(3279552512);
+emit_32(1127460897);
+emit_32(1090343508);
+emit_32(3279552512);
+emit_32(1127716880);
+emit_32(1089285495);
+emit_32(3279552512);
+emit_32(1127972864);
+emit_32(1088381665);
+emit_32(3279552512);
+emit_32(1128228848);
+emit_32(1088857949);
+emit_32(3279552512);
+emit_32(1128484897);
+emit_32(1086741545);
+emit_32(3279552512);
+emit_32(1128740880);
+emit_32(1082250913);
+emit_32(3279552512);
+emit_32(1128996864);
+emit_32(1083512120);
+emit_32(3279552512);
+emit_32(1129252848);
+emit_32(1081116417);
+emit_32(3279552512);
+emit_32(1129508897);
+emit_32(1082497517);
+emit_32(3279552512);
+emit_32(1129764880);
+emit_32(1082917200);
+emit_32(3279552512);
+emit_32(1130020864);
+emit_32(1083584702);
+emit_32(3279552512);
+emit_32(1130276848);
+emit_32(1086066325);
+emit_32(3279552512);
+emit_32(1130532897);
+emit_32(1086918125);
+emit_32(3279552512);
+emit_32(1130788880);
+emit_32(1088867533);
+emit_32(3279552512);
+emit_32(1131044864);
+emit_32(1089594720);
+emit_32(3279552512);
+emit_32(1131300848);
+emit_32(1090391575);
+emit_32(3279552512);
+emit_32(1131556897);
+emit_32(1092483358);
+emit_32(3279552512);
+emit_32(1131812880);
+emit_32(1094289405);
+emit_32(3279552512);
+emit_32(1132068864);
+emit_32(1096120323);
+emit_32(3279552512);
+emit_start(Landscape08Vtx)
+emit_32(3279552512);
+emit_32(1106761482);
+emit_32(3271616496);
+emit_32(3279552512);
+emit_32(1106982994);
+emit_32(3271163904);
+emit_32(3279296528);
+emit_32(1107171947);
+emit_32(3271616496);
+emit_32(3279296528);
+emit_32(1106990334);
+emit_32(3271163904);
+emit_32(3279040545);
+emit_32(1107445390);
+emit_32(3271616496);
+emit_32(3279040545);
+emit_32(1107378569);
+emit_32(3271163904);
+emit_32(3278784496);
+emit_32(1107535462);
+emit_32(3271616496);
+emit_32(3278784496);
+emit_32(1107553734);
+emit_32(3271163904);
+emit_32(3278528512);
+emit_32(1107451314);
+emit_32(3271616496);
+emit_32(3278528512);
+emit_32(1107478761);
+emit_32(3271163904);
+emit_32(3278272528);
+emit_32(1106913945);
+emit_32(3271616496);
+emit_32(3278272528);
+emit_32(1106962389);
+emit_32(3271163904);
+emit_32(3278016545);
+emit_32(1106520939);
+emit_32(3271616496);
+emit_32(3278016545);
+emit_32(1105953607);
+emit_32(3271163904);
+emit_32(3277760496);
+emit_32(1106354163);
+emit_32(3271616496);
+emit_32(3277760496);
+emit_32(1105995497);
+emit_32(3271163904);
+emit_32(3277504512);
+emit_32(1106487909);
+emit_32(3271616496);
+emit_32(3277504512);
+emit_32(1105958325);
+emit_32(3271163904);
+emit_32(3277248528);
+emit_32(1106611588);
+emit_32(3271616496);
+emit_32(3277248528);
+emit_32(1106168041);
+emit_32(3271163904);
+emit_32(3276992545);
+emit_32(1106511659);
+emit_32(3271616496);
+emit_32(3276992545);
+emit_32(1106461590);
+emit_32(3271163904);
+emit_32(3276736496);
+emit_32(1106390601);
+emit_32(3271616496);
+emit_32(3276736496);
+emit_32(1106400248);
+emit_32(3271163904);
+emit_32(3276480512);
+emit_32(1105922621);
+emit_32(3271616496);
+emit_32(3276480512);
+emit_32(1105590904);
+emit_32(3271163904);
+emit_32(3276224528);
+emit_32(1105564690);
+emit_32(3271616496);
+emit_32(3276224528);
+emit_32(1105294315);
+emit_32(3271163904);
+emit_32(3275968545);
+emit_32(1105186941);
+emit_32(3271616496);
+emit_32(3275968545);
+emit_32(1104823661);
+emit_32(3271163904);
+emit_32(3275712496);
+emit_32(1104211817);
+emit_32(3271616496);
+emit_32(3275712496);
+emit_32(1103994185);
+emit_32(3271163904);
+emit_32(3275456512);
+emit_32(1103031068);
+emit_32(3271616496);
+emit_32(3275456512);
+emit_32(1102728764);
+emit_32(3271163904);
+emit_32(3275200528);
+emit_32(1102027162);
+emit_32(3271616496);
+emit_32(3275200528);
+emit_32(1102137996);
+emit_32(3271163904);
+emit_32(3274944545);
+emit_32(1100836923);
+emit_32(3271616496);
+emit_32(3274944545);
+emit_32(1101349782);
+emit_32(3271163904);
+emit_32(3274688496);
+emit_32(1099615804);
+emit_32(3271616496);
+emit_32(3274688496);
+emit_32(1100398356);
+emit_32(3271163904);
+emit_32(3274432512);
+emit_32(1098688915);
+emit_32(3271616496);
+emit_32(3274432512);
+emit_32(1099098489);
+emit_32(3271163904);
+emit_32(3274176528);
+emit_32(1097203188);
+emit_32(3271616496);
+emit_32(3274176528);
+emit_32(1097575747);
+emit_32(3271163904);
+emit_32(3273920545);
+emit_32(1095228300);
+emit_32(3271616496);
+emit_32(3273920545);
+emit_32(1095747135);
+emit_32(3271163904);
+emit_32(3273664496);
+emit_32(1093720657);
+emit_32(3271616496);
+emit_32(3273664496);
+emit_32(1094011427);
+emit_32(3271163904);
+emit_32(3273408512);
+emit_32(1091725553);
+emit_32(3271616496);
+emit_32(3273408512);
+emit_32(1092817099);
+emit_32(3271163904);
+emit_32(3273152528);
+emit_32(1087752037);
+emit_32(3271616496);
+emit_32(3273152528);
+emit_32(1090935010);
+emit_32(3271163904);
+emit_32(3272896545);
+emit_32(1085425309);
+emit_32(3271616496);
+emit_32(3272896545);
+emit_32(1086813205);
+emit_32(3271163904);
+emit_32(3272640496);
+emit_32(1084703847);
+emit_32(3271616496);
+emit_32(3272640496);
+emit_32(1085254874);
+emit_32(3271163904);
+emit_32(3272384512);
+emit_32(1086064186);
+emit_32(3271616496);
+emit_32(3272384512);
+emit_32(1084610859);
+emit_32(3271163904);
+emit_32(3272128528);
+emit_32(1088120192);
+emit_32(3271616496);
+emit_32(3272128528);
+emit_32(1085403226);
+emit_32(3271163904);
+emit_32(3271872545);
+emit_32(1088130111);
+emit_32(3271616496);
+emit_32(3271872545);
+emit_32(1085803741);
+emit_32(3271163904);
+emit_32(3271616496);
+emit_32(1088638754);
+emit_32(3271616496);
+emit_32(3271616496);
+emit_32(1084901902);
+emit_32(3271163904);
+emit_32(3271163904);
+emit_32(1089569596);
+emit_32(3271616496);
+emit_32(3271163904);
+emit_32(1086653402);
+emit_32(3271163904);
+emit_32(3270651937);
+emit_32(1090542371);
+emit_32(3271616496);
+emit_32(3270651937);
+emit_32(1089541201);
+emit_32(3271163904);
+emit_32(3270139970);
+emit_32(1091253725);
+emit_32(3271616496);
+emit_32(3270139970);
+emit_32(1090924587);
+emit_32(3271163904);
+emit_32(3269627871);
+emit_32(1091983785);
+emit_32(3271616496);
+emit_32(3269627871);
+emit_32(1091193002);
+emit_32(3271163904);
+emit_32(3269115904);
+emit_32(1091362609);
+emit_32(3271616496);
+emit_32(3269115904);
+emit_32(1091042709);
+emit_32(3271163904);
+emit_32(3268603937);
+emit_32(1092022341);
+emit_32(3271616496);
+emit_32(3268603937);
+emit_32(1091824318);
+emit_32(3271163904);
+emit_32(3268091970);
+emit_32(1093526356);
+emit_32(3271616496);
+emit_32(3268091970);
+emit_32(1094207721);
+emit_32(3271163904);
+emit_32(3267579911);
+emit_32(1095594567);
+emit_32(3271616496);
+emit_32(3267579911);
+emit_32(1096193199);
+emit_32(3271163904);
+emit_32(3267067904);
+emit_32(1097671796);
+emit_32(3271616496);
+emit_32(3267067904);
+emit_32(1098383045);
+emit_32(3271163904);
+emit_32(3266555911);
+emit_32(1099231658);
+emit_32(3271616496);
+emit_32(3266555911);
+emit_32(1099615542);
+emit_32(3271163904);
+emit_32(3266043904);
+emit_32(1101135662);
+emit_32(3271616496);
+emit_32(3266043904);
+emit_32(1101433038);
+emit_32(3271163904);
+emit_32(3265531911);
+emit_32(1102943093);
+emit_32(3271616496);
+emit_32(3265531911);
+emit_32(1103595045);
+emit_32(3271163904);
+emit_32(3265019904);
+emit_32(1104383889);
+emit_32(3271616496);
+emit_32(3265019904);
+emit_32(1105129950);
+emit_32(3271163904);
+emit_32(3264507911);
+emit_32(1105613344);
+emit_32(3271616496);
+emit_32(3264507911);
+emit_32(1106326061);
+emit_32(3271163904);
+emit_32(3263995904);
+emit_32(1106984409);
+emit_32(3271616496);
+emit_32(3263995904);
+emit_32(1107411652);
+emit_32(3271163904);
+emit_32(3263483911);
+emit_32(1107639822);
+emit_32(3271616496);
+emit_32(3263483911);
+emit_32(1107887050);
+emit_32(3271163904);
+emit_32(3262775296);
+emit_32(1108306507);
+emit_32(3271616496);
+emit_32(3262775296);
+emit_32(1108492236);
+emit_32(3271163904);
+emit_32(3261751309);
+emit_32(1108863825);
+emit_32(3271616496);
+emit_32(3261751309);
+emit_32(1109105757);
+emit_32(3271163904);
+emit_32(3260727296);
+emit_32(1109236279);
+emit_32(3271616496);
+emit_32(3260727296);
+emit_32(1109424656);
+emit_32(3271163904);
+emit_32(3259703309);
+emit_32(1109566004);
+emit_32(3271616496);
+emit_32(3259703309);
+emit_32(1109901784);
+emit_32(3271163904);
+emit_32(3258679296);
+emit_32(1109626611);
+emit_32(3271616496);
+emit_32(3258679296);
+emit_32(1109885321);
+emit_32(3271163904);
+emit_32(3257655309);
+emit_32(1109381454);
+emit_32(3271616496);
+emit_32(3257655309);
+emit_32(1109822564);
+emit_32(3271163904);
+emit_32(3256631296);
+emit_32(1109416817);
+emit_32(3271616496);
+emit_32(3256631296);
+emit_32(1109824163);
+emit_32(3271163904);
+emit_32(3255607309);
+emit_32(1109214704);
+emit_32(3271616496);
+emit_32(3255607309);
+emit_32(1109730315);
+emit_32(3271163904);
+emit_32(3254386688);
+emit_32(1109356052);
+emit_32(3271616496);
+emit_32(3254386688);
+emit_32(1109803113);
+emit_32(3271163904);
+emit_32(3252338714);
+emit_32(1109796533);
+emit_32(3271616496);
+emit_32(3252338714);
+emit_32(1109995186);
+emit_32(3271163904);
+emit_32(3250290688);
+emit_32(1110456690);
+emit_32(3271616496);
+emit_32(3250290688);
+emit_32(1110434618);
+emit_32(3271163904);
+emit_32(3248242714);
+emit_32(1110816797);
+emit_32(3271616496);
+emit_32(3248242714);
+emit_32(1111024783);
+emit_32(3271163904);
+emit_32(3245998080);
+emit_32(1111345699);
+emit_32(3271616496);
+emit_32(3245998080);
+emit_32(1111309785);
+emit_32(3271163904);
+emit_32(3241902132);
+emit_32(1111491032);
+emit_32(3271616496);
+emit_32(3241902132);
+emit_32(1111384208);
+emit_32(3271163904);
+emit_32(3237609472);
+emit_32(1111509356);
+emit_32(3271616496);
+emit_32(3237609472);
+emit_32(1111783952);
+emit_32(3271163904);
+emit_32(3229220864);
+emit_32(1111680693);
+emit_32(3271616496);
+emit_32(3229220864);
+emit_32(1111918930);
+emit_32(3271163904);
+emit_32(0);
+emit_32(1111962419);
+emit_32(3271616496);
+emit_32(0);
+emit_32(1112106100);
+emit_32(3271163904);
+emit_32(1081737216);
+emit_32(1112138475);
+emit_32(3271616496);
+emit_32(1081737216);
+emit_32(1112094042);
+emit_32(3271163904);
+emit_32(3279552512);
+emit_32(1106831999);
+emit_32(3271872545);
+emit_32(3279296528);
+emit_32(1107221283);
+emit_32(3271872545);
+emit_32(3279040545);
+emit_32(1107491448);
+emit_32(3271872545);
+emit_32(3278784496);
+emit_32(1107603856);
+emit_32(3271872545);
+emit_32(3278528512);
+emit_32(1107347427);
+emit_32(3271872545);
+emit_32(3278272528);
+emit_32(1107241678);
+emit_32(3271872545);
+emit_32(3278016545);
+emit_32(1107331016);
+emit_32(3271872545);
+emit_32(3277760496);
+emit_32(1107339012);
+emit_32(3271872545);
+emit_32(3277504512);
+emit_32(1106970935);
+emit_32(3271872545);
+emit_32(3277248528);
+emit_32(1106766096);
+emit_32(3271872545);
+emit_32(3276992545);
+emit_32(1106540075);
+emit_32(3271872545);
+emit_32(3276736496);
+emit_32(1106320661);
+emit_32(3271872545);
+emit_32(3276480512);
+emit_32(1106168093);
+emit_32(3271872545);
+emit_32(3276224528);
+emit_32(1105508591);
+emit_32(3271872545);
+emit_32(3275968545);
+emit_32(1104919711);
+emit_32(3271872545);
+emit_32(3275712496);
+emit_32(1103890062);
+emit_32(3271872545);
+emit_32(3275456512);
+emit_32(1102724412);
+emit_32(3271872545);
+emit_32(3275200528);
+emit_32(1101678300);
+emit_32(3271872545);
+emit_32(3274944545);
+emit_32(1100687815);
+emit_32(3271872545);
+emit_32(3274688496);
+emit_32(1100014525);
+emit_32(3271872545);
+emit_32(3274432512);
+emit_32(1099108503);
+emit_32(3271872545);
+emit_32(3274176528);
+emit_32(1097338769);
+emit_32(3271872545);
+emit_32(3273920545);
+emit_32(1095563634);
+emit_32(3271872545);
+emit_32(3273664496);
+emit_32(1093020942);
+emit_32(3271872545);
+emit_32(3273408512);
+emit_32(1090382432);
+emit_32(3271872545);
+emit_32(3273152528);
+emit_32(1088955592);
+emit_32(3271872545);
+emit_32(3272896545);
+emit_32(1086743621);
+emit_32(3271872545);
+emit_32(3272640496);
+emit_32(1086106171);
+emit_32(3271872545);
+emit_32(3272384512);
+emit_32(1087622538);
+emit_32(3271872545);
+emit_32(3272128528);
+emit_32(1089541390);
+emit_32(3271872545);
+emit_32(3271872545);
+emit_32(1090739493);
+emit_32(3271872545);
+emit_32(3271616496);
+emit_32(1091296192);
+emit_32(3271872545);
+emit_32(3271163904);
+emit_32(1091536652);
+emit_32(3271872545);
+emit_32(3270651937);
+emit_32(1092000751);
+emit_32(3271872545);
+emit_32(3270139970);
+emit_32(1092665265);
+emit_32(3271872545);
+emit_32(3269627871);
+emit_32(1092064683);
+emit_32(3271872545);
+emit_32(3269115904);
+emit_32(1092005921);
+emit_32(3271872545);
+emit_32(3268603937);
+emit_32(1092949220);
+emit_32(3271872545);
+emit_32(3268091970);
+emit_32(1093979446);
+emit_32(3271872545);
+emit_32(3267579911);
+emit_32(1095270977);
+emit_32(3271872545);
+emit_32(3267067904);
+emit_32(1097543031);
+emit_32(3271872545);
+emit_32(3266555911);
+emit_32(1099248173);
+emit_32(3271872545);
+emit_32(3266043904);
+emit_32(1100580441);
+emit_32(3271872545);
+emit_32(3265531911);
+emit_32(1102805677);
+emit_32(3271872545);
+emit_32(3265019904);
+emit_32(1104235935);
+emit_32(3271872545);
+emit_32(3264507911);
+emit_32(1105586553);
+emit_32(3271872545);
+emit_32(3263995904);
+emit_32(1106838605);
+emit_32(3271872545);
+emit_32(3263483911);
+emit_32(1107360534);
+emit_32(3271872545);
+emit_32(3262775296);
+emit_32(1107828487);
+emit_32(3271872545);
+emit_32(3261751309);
+emit_32(1108377181);
+emit_32(3271872545);
+emit_32(3260727296);
+emit_32(1108949179);
+emit_32(3271872545);
+emit_32(3259703309);
+emit_32(1109077157);
+emit_32(3271872545);
+emit_32(3258679296);
+emit_32(1109165841);
+emit_32(3271872545);
+emit_32(3257655309);
+emit_32(1109169589);
+emit_32(3271872545);
+emit_32(3256631296);
+emit_32(1108993167);
+emit_32(3271872545);
+emit_32(3255607309);
+emit_32(1108949362);
+emit_32(3271872545);
+emit_32(3254386688);
+emit_32(1109262310);
+emit_32(3271872545);
+emit_32(3252338714);
+emit_32(1109890250);
+emit_32(3271872545);
+emit_32(3250290688);
+emit_32(1110249177);
+emit_32(3271872545);
+emit_32(3248242714);
+emit_32(1110644779);
+emit_32(3271872545);
+emit_32(3245998080);
+emit_32(1111031572);
+emit_32(3271872545);
+emit_32(3241902132);
+emit_32(1111347089);
+emit_32(3271872545);
+emit_32(3237609472);
+emit_32(1111265300);
+emit_32(3271872545);
+emit_32(3229220864);
+emit_32(1111507023);
+emit_32(3271872545);
+emit_32(0);
+emit_32(1111638698);
+emit_32(3271872545);
+emit_32(1081737216);
+emit_32(1111780334);
+emit_32(3271872545);
+emit_32(3279552512);
+emit_32(1106638851);
+emit_32(3272128528);
+emit_32(3279296528);
+emit_32(1106692434);
+emit_32(3272128528);
+emit_32(3279040545);
+emit_32(1107345539);
+emit_32(3272128528);
+emit_32(3278784496);
+emit_32(1107597459);
+emit_32(3272128528);
+emit_32(3278528512);
+emit_32(1107379225);
+emit_32(3272128528);
+emit_32(3278272528);
+emit_32(1107456950);
+emit_32(3272128528);
+emit_32(3278016545);
+emit_32(1107643492);
+emit_32(3272128528);
+emit_32(3277760496);
+emit_32(1107464788);
+emit_32(3272128528);
+emit_32(3277504512);
+emit_32(1107237641);
+emit_32(3272128528);
+emit_32(3277248528);
+emit_32(1107040666);
+emit_32(3272128528);
+emit_32(3276992545);
+emit_32(1106355945);
+emit_32(3272128528);
+emit_32(3276736496);
+emit_32(1106248938);
+emit_32(3272128528);
+emit_32(3276480512);
+emit_32(1106022184);
+emit_32(3272128528);
+emit_32(3276224528);
+emit_32(1105264378);
+emit_32(3272128528);
+emit_32(3275968545);
+emit_32(1104551084);
+emit_32(3272128528);
+emit_32(3275712496);
+emit_32(1103522693);
+emit_32(3272128528);
+emit_32(3275456512);
+emit_32(1102465624);
+emit_32(3272128528);
+emit_32(3275200528);
+emit_32(1101580416);
+emit_32(3272128528);
+emit_32(3274944545);
+emit_32(1100781558);
+emit_32(3272128528);
+emit_32(3274688496);
+emit_32(1099917584);
+emit_32(3272128528);
+emit_32(3274432512);
+emit_32(1098955253);
+emit_32(3272128528);
+emit_32(3274176528);
+emit_32(1097496474);
+emit_32(3272128528);
+emit_32(3273920545);
+emit_32(1095188768);
+emit_32(3272128528);
+emit_32(3273664496);
+emit_32(1092550792);
+emit_32(3272128528);
+emit_32(3273408512);
+emit_32(1090256602);
+emit_32(3272128528);
+emit_32(3273152528);
+emit_32(1088560866);
+emit_32(3272128528);
+emit_32(3272896545);
+emit_32(1086795610);
+emit_32(3272128528);
+emit_32(3272640496);
+emit_32(1087160745);
+emit_32(3272128528);
+emit_32(3272384512);
+emit_32(1088465991);
+emit_32(3272128528);
+emit_32(3272128528);
+emit_32(1090214701);
+emit_32(3272128528);
+emit_32(3271872545);
+emit_32(1091916110);
+emit_32(3272128528);
+emit_32(3271616496);
+emit_32(1093188714);
+emit_32(3272128528);
+emit_32(3271163904);
+emit_32(1092821503);
+emit_32(3272128528);
+emit_32(3270651937);
+emit_32(1092462943);
+emit_32(3272128528);
+emit_32(3270139970);
+emit_32(1092871730);
+emit_32(3272128528);
+emit_32(3269627871);
+emit_32(1092567339);
+emit_32(3272128528);
+emit_32(3269115904);
+emit_32(1091624103);
+emit_32(3272128528);
+emit_32(3268603937);
+emit_32(1092971030);
+emit_32(3272128528);
+emit_32(3268091970);
+emit_32(1093964556);
+emit_32(3272128528);
+emit_32(3267579911);
+emit_32(1095084959);
+emit_32(3272128528);
+emit_32(3267067904);
+emit_32(1096871523);
+emit_32(3272128528);
+emit_32(3266555911);
+emit_32(1098883740);
+emit_32(3272128528);
+emit_32(3266043904);
+emit_32(1100410939);
+emit_32(3272128528);
+emit_32(3265531911);
+emit_32(1102172809);
+emit_32(3272128528);
+emit_32(3265019904);
+emit_32(1103650777);
+emit_32(3272128528);
+emit_32(3264507911);
+emit_32(1105013087);
+emit_32(3272128528);
+emit_32(3263995904);
+emit_32(1105804657);
+emit_32(3272128528);
+emit_32(3263483911);
+emit_32(1106638642);
+emit_32(3272128528);
+emit_32(3262775296);
+emit_32(1107472469);
+emit_32(3272128528);
+emit_32(3261751309);
+emit_32(1107957436);
+emit_32(3272128528);
+emit_32(3260727296);
+emit_32(1108447173);
+emit_32(3272128528);
+emit_32(3259703309);
+emit_32(1108395845);
+emit_32(3272128528);
+emit_32(3258679296);
+emit_32(1108480990);
+emit_32(3272128528);
+emit_32(3257655309);
+emit_32(1108416004);
+emit_32(3272128528);
+emit_32(3256631296);
+emit_32(1108454539);
+emit_32(3272128528);
+emit_32(3255607309);
+emit_32(1108650702);
+emit_32(3272128528);
+emit_32(3254386688);
+emit_32(1108972221);
+emit_32(3272128528);
+emit_32(3252338714);
+emit_32(1109614028);
+emit_32(3272128528);
+emit_32(3250290688);
+emit_32(1110107567);
+emit_32(3272128528);
+emit_32(3248242714);
+emit_32(1110378204);
+emit_32(3272128528);
+emit_32(3245998080);
+emit_32(1110643966);
+emit_32(3272128528);
+emit_32(3241902132);
+emit_32(1110789770);
+emit_32(3272128528);
+emit_32(3237609472);
+emit_32(1111079780);
+emit_32(3272128528);
+emit_32(3229220864);
+emit_32(1111310572);
+emit_32(3272128528);
+emit_32(0);
+emit_32(1111599245);
+emit_32(3272128528);
+emit_32(1081737216);
+emit_32(1111464346);
+emit_32(3272128528);
+emit_32(3279552512);
+emit_32(1105805967);
+emit_32(3272384512);
+emit_32(3279296528);
+emit_32(1106518894);
+emit_32(3272384512);
+emit_32(3279040545);
+emit_32(1107073958);
+emit_32(3272384512);
+emit_32(3278784496);
+emit_32(1107138550);
+emit_32(3272384512);
+emit_32(3278528512);
+emit_32(1107533837);
+emit_32(3272384512);
+emit_32(3278272528);
+emit_32(1107630542);
+emit_32(3272384512);
+emit_32(3278016545);
+emit_32(1107506050);
+emit_32(3272384512);
+emit_32(3277760496);
+emit_32(1107593265);
+emit_32(3272384512);
+emit_32(3277504512);
+emit_32(1107310490);
+emit_32(3272384512);
+emit_32(3277248528);
+emit_32(1106912058);
+emit_32(3272384512);
+emit_32(3276992545);
+emit_32(1106372356);
+emit_32(3272384512);
+emit_32(3276736496);
+emit_32(1106038489);
+emit_32(3272384512);
+emit_32(3276480512);
+emit_32(1105442531);
+emit_32(3272384512);
+emit_32(3276224528);
+emit_32(1104607235);
+emit_32(3272384512);
+emit_32(3275968545);
+emit_32(1103592686);
+emit_32(3272384512);
+emit_32(3275712496);
+emit_32(1102531265);
+emit_32(3272384512);
+emit_32(3275456512);
+emit_32(1101975100);
+emit_32(3272384512);
+emit_32(3275200528);
+emit_32(1101237322);
+emit_32(3272384512);
+emit_32(3274944545);
+emit_32(1100189794);
+emit_32(3272384512);
+emit_32(3274688496);
+emit_32(1099519335);
+emit_32(3272384512);
+emit_32(3274432512);
+emit_32(1098076861);
+emit_32(3272384512);
+emit_32(3274176528);
+emit_32(1096265132);
+emit_32(3272384512);
+emit_32(3273920545);
+emit_32(1094474583);
+emit_32(3272384512);
+emit_32(3273664496);
+emit_32(1091850260);
+emit_32(3272384512);
+emit_32(3273408512);
+emit_32(1089607366);
+emit_32(3272384512);
+emit_32(3273152528);
+emit_32(1087214767);
+emit_32(3272384512);
+emit_32(3272896545);
+emit_32(1087594331);
+emit_32(3272384512);
+emit_32(3272640496);
+emit_32(1087250901);
+emit_32(3272384512);
+emit_32(3272384512);
+emit_32(1087478526);
+emit_32(3272384512);
+emit_32(3272128528);
+emit_32(1089739004);
+emit_32(3272384512);
+emit_32(3271872545);
+emit_32(1091784944);
+emit_32(3272384512);
+emit_32(3271616496);
+emit_32(1093147086);
+emit_32(3272384512);
+emit_32(3271163904);
+emit_32(1093336249);
+emit_32(3272384512);
+emit_32(3270651937);
+emit_32(1091955799);
+emit_32(3272384512);
+emit_32(3270139970);
+emit_32(1092128436);
+emit_32(3272384512);
+emit_32(3269627871);
+emit_32(1091415572);
+emit_32(3272384512);
+emit_32(3269115904);
+emit_32(1091890787);
+emit_32(3272384512);
+emit_32(3268603937);
+emit_32(1092277691);
+emit_32(3272384512);
+emit_32(3268091970);
+emit_32(1093164912);
+emit_32(3272384512);
+emit_32(3267579911);
+emit_32(1094506355);
+emit_32(3272384512);
+emit_32(3267067904);
+emit_32(1095937556);
+emit_32(3272384512);
+emit_32(3266555911);
+emit_32(1098124362);
+emit_32(3272384512);
+emit_32(3266043904);
+emit_32(1100012533);
+emit_32(3272384512);
+emit_32(3265531911);
+emit_32(1101424440);
+emit_32(3272384512);
+emit_32(3265019904);
+emit_32(1102978797);
+emit_32(3272384512);
+emit_32(3264507911);
+emit_32(1103996754);
+emit_32(3272384512);
+emit_32(3263995904);
+emit_32(1104943566);
+emit_32(3272384512);
+emit_32(3263483911);
+emit_32(1106152836);
+emit_32(3272384512);
+emit_32(3262775296);
+emit_32(1107158211);
+emit_32(3272384512);
+emit_32(3261751309);
+emit_32(1107529328);
+emit_32(3272384512);
+emit_32(3260727296);
+emit_32(1107846470);
+emit_32(3272384512);
+emit_32(3259703309);
+emit_32(1107994739);
+emit_32(3272384512);
+emit_32(3258679296);
+emit_32(1107829064);
+emit_32(3272384512);
+emit_32(3257655309);
+emit_32(1107762165);
+emit_32(3272384512);
+emit_32(3256631296);
+emit_32(1107865711);
+emit_32(3272384512);
+emit_32(3255607309);
+emit_32(1108367403);
+emit_32(3272384512);
+emit_32(3254386688);
+emit_32(1109093568);
+emit_32(3272384512);
+emit_32(3252338714);
+emit_32(1109542411);
+emit_32(3272384512);
+emit_32(3250290688);
+emit_32(1110096793);
+emit_32(3272384512);
+emit_32(3248242714);
+emit_32(1110312223);
+emit_32(3272384512);
+emit_32(3245998080);
+emit_32(1110368505);
+emit_32(3272384512);
+emit_32(3241902132);
+emit_32(1110406752);
+emit_32(3272384512);
+emit_32(3237609472);
+emit_32(1110868545);
+emit_32(3272384512);
+emit_32(3229220864);
+emit_32(1111168464);
+emit_32(3272384512);
+emit_32(0);
+emit_32(1111261315);
+emit_32(3272384512);
+emit_32(1081737216);
+emit_32(1111298697);
+emit_32(3272384512);
+emit_32(3279552512);
+emit_32(1105376733);
+emit_32(3272640496);
+emit_32(3279296528);
+emit_32(1106021659);
+emit_32(3272640496);
+emit_32(3279040545);
+emit_32(1106269805);
+emit_32(3272640496);
+emit_32(3278784496);
+emit_32(1106578978);
+emit_32(3272640496);
+emit_32(3278528512);
+emit_32(1107451288);
+emit_32(3272640496);
+emit_32(3278272528);
+emit_32(1107638616);
+emit_32(3272640496);
+emit_32(3278016545);
+emit_32(1107539132);
+emit_32(3272640496);
+emit_32(3277760496);
+emit_32(1107436844);
+emit_32(3272640496);
+emit_32(3277504512);
+emit_32(1107235701);
+emit_32(3272640496);
+emit_32(3277248528);
+emit_32(1107161462);
+emit_32(3272640496);
+emit_32(3276992545);
+emit_32(1106065280);
+emit_32(3272640496);
+emit_32(3276736496);
+emit_32(1105372171);
+emit_32(3272640496);
+emit_32(3276480512);
+emit_32(1104578662);
+emit_32(3272640496);
+emit_32(3276224528);
+emit_32(1103665876);
+emit_32(3272640496);
+emit_32(3275968545);
+emit_32(1102629464);
+emit_32(3272640496);
+emit_32(3275712496);
+emit_32(1101635885);
+emit_32(3272640496);
+emit_32(3275456512);
+emit_32(1101146882);
+emit_32(3272640496);
+emit_32(3275200528);
+emit_32(1100175848);
+emit_32(3272640496);
+emit_32(3274944545);
+emit_32(1099030961);
+emit_32(3272640496);
+emit_32(3274688496);
+emit_32(1097580151);
+emit_32(3272640496);
+emit_32(3274432512);
+emit_32(1096760374);
+emit_32(3272640496);
+emit_32(3274176528);
+emit_32(1095282721);
+emit_32(3272640496);
+emit_32(3273920545);
+emit_32(1093280465);
+emit_32(3272640496);
+emit_32(3273664496);
+emit_32(1091084065);
+emit_32(3272640496);
+emit_32(3273408512);
+emit_32(1089099247);
+emit_32(3272640496);
+emit_32(3273152528);
+emit_32(1087789576);
+emit_32(3272640496);
+emit_32(3272896545);
+emit_32(1085020140);
+emit_32(3272640496);
+emit_32(3272640496);
+emit_32(1085329784);
+emit_32(3272640496);
+emit_32(3272384512);
+emit_32(1086214027);
+emit_32(3272640496);
+emit_32(3272128528);
+emit_32(1088756363);
+emit_32(3272640496);
+emit_32(3271872545);
+emit_32(1091099217);
+emit_32(3272640496);
+emit_32(3271616496);
+emit_32(1092281151);
+emit_32(3272640496);
+emit_32(3271163904);
+emit_32(1092410891);
+emit_32(3272640496);
+emit_32(3270651937);
+emit_32(1092270707);
+emit_32(3272640496);
+emit_32(3270139970);
+emit_32(1092436770);
+emit_32(3272640496);
+emit_32(3269627871);
+emit_32(1091996431);
+emit_32(3272640496);
+emit_32(3269115904);
+emit_32(1092130995);
+emit_32(3272640496);
+emit_32(3268603937);
+emit_32(1092506794);
+emit_32(3272640496);
+emit_32(3268091970);
+emit_32(1093085115);
+emit_32(3272640496);
+emit_32(3267579911);
+emit_32(1094064590);
+emit_32(3272640496);
+emit_32(3267067904);
+emit_32(1096463103);
+emit_32(3272640496);
+emit_32(3266555911);
+emit_32(1098582275);
+emit_32(3272640496);
+emit_32(3266043904);
+emit_32(1099782894);
+emit_32(3272640496);
+emit_32(3265531911);
+emit_32(1101033216);
+emit_32(3272640496);
+emit_32(3265019904);
+emit_32(1102204423);
+emit_32(3272640496);
+emit_32(3264507911);
+emit_32(1103112962);
+emit_32(3272640496);
+emit_32(3263995904);
+emit_32(1104476688);
+emit_32(3272640496);
+emit_32(3263483911);
+emit_32(1105600027);
+emit_32(3272640496);
+emit_32(3262775296);
+emit_32(1106773279);
+emit_32(3272640496);
+emit_32(3261751309);
+emit_32(1107254942);
+emit_32(3272640496);
+emit_32(3260727296);
+emit_32(1107325721);
+emit_32(3272640496);
+emit_32(3259703309);
+emit_32(1107680454);
+emit_32(3272640496);
+emit_32(3258679296);
+emit_32(1107700272);
+emit_32(3272640496);
+emit_32(3257655309);
+emit_32(1107704204);
+emit_32(3272640496);
+emit_32(3256631296);
+emit_32(1107913946);
+emit_32(3272640496);
+emit_32(3255607309);
+emit_32(1108409896);
+emit_32(3272640496);
+emit_32(3254386688);
+emit_32(1108866499);
+emit_32(3272640496);
+emit_32(3252338714);
+emit_32(1109485866);
+emit_32(3272640496);
+emit_32(3250290688);
+emit_32(1110027901);
+emit_32(3272640496);
+emit_32(3248242714);
+emit_32(1110441984);
+emit_32(3272640496);
+emit_32(3245998080);
+emit_32(1110489956);
+emit_32(3272640496);
+emit_32(3241902132);
+emit_32(1110446834);
+emit_32(3272640496);
+emit_32(3237609472);
+emit_32(1110725100);
+emit_32(3272640496);
+emit_32(3229220864);
+emit_32(1110855752);
+emit_32(3272640496);
+emit_32(0);
+emit_32(1110654897);
+emit_32(3272640496);
+emit_32(1081737216);
+emit_32(1110766990);
+emit_32(3272640496);
+emit_32(3279552512);
+emit_32(1104945611);
+emit_32(3272896545);
+emit_32(3279296528);
+emit_32(1105445886);
+emit_32(3272896545);
+emit_32(3279040545);
+emit_32(1105654868);
+emit_32(3272896545);
+emit_32(3278784496);
+emit_32(1106191896);
+emit_32(3272896545);
+emit_32(3278528512);
+emit_32(1106771024);
+emit_32(3272896545);
+emit_32(3278272528);
+emit_32(1107252111);
+emit_32(3272896545);
+emit_32(3278016545);
+emit_32(1107581652);
+emit_32(3272896545);
+emit_32(3277760496);
+emit_32(1107333218);
+emit_32(3272896545);
+emit_32(3277504512);
+emit_32(1106792310);
+emit_32(3272896545);
+emit_32(3277248528);
+emit_32(1106541229);
+emit_32(3272896545);
+emit_32(3276992545);
+emit_32(1105789924);
+emit_32(3272896545);
+emit_32(3276736496);
+emit_32(1104474486);
+emit_32(3272896545);
+emit_32(3276480512);
+emit_32(1103776134);
+emit_32(3272896545);
+emit_32(3276224528);
+emit_32(1102639635);
+emit_32(3272896545);
+emit_32(3275968545);
+emit_32(1101601964);
+emit_32(3272896545);
+emit_32(3275712496);
+emit_32(1100849820);
+emit_32(3272896545);
+emit_32(3275456512);
+emit_32(1100186229);
+emit_32(3272896545);
+emit_32(3275200528);
+emit_32(1099765540);
+emit_32(3272896545);
+emit_32(3274944545);
+emit_32(1098773850);
+emit_32(3272896545);
+emit_32(3274688496);
+emit_32(1097286550);
+emit_32(3272896545);
+emit_32(3274432512);
+emit_32(1095977088);
+emit_32(3272896545);
+emit_32(3274176528);
+emit_32(1094472381);
+emit_32(3272896545);
+emit_32(3273920545);
+emit_32(1093136810);
+emit_32(3272896545);
+emit_32(3273664496);
+emit_32(1090824857);
+emit_32(3272896545);
+emit_32(3273408512);
+emit_32(1088942045);
+emit_32(3272896545);
+emit_32(3273152528);
+emit_32(1087994509);
+emit_32(3272896545);
+emit_32(3272896545);
+emit_32(1085242018);
+emit_32(3272896545);
+emit_32(3272640496);
+emit_32(1082368710);
+emit_32(3272896545);
+emit_32(3272384512);
+emit_32(1083511616);
+emit_32(3272896545);
+emit_32(3272128528);
+emit_32(1086745865);
+emit_32(3272896545);
+emit_32(3271872545);
+emit_32(1089841387);
+emit_32(3272896545);
+emit_32(3271616496);
+emit_32(1091645420);
+emit_32(3272896545);
+emit_32(3271163904);
+emit_32(1091360837);
+emit_32(3272896545);
+emit_32(3270651937);
+emit_32(1091891626);
+emit_32(3272896545);
+emit_32(3270139970);
+emit_32(1091846705);
+emit_32(3272896545);
+emit_32(3269627871);
+emit_32(1092497818);
+emit_32(3272896545);
+emit_32(3269115904);
+emit_32(1091767087);
+emit_32(3272896545);
+emit_32(3268603937);
+emit_32(1092058643);
+emit_32(3272896545);
+emit_32(3268091970);
+emit_32(1092782286);
+emit_32(3272896545);
+emit_32(3267579911);
+emit_32(1093942536);
+emit_32(3272896545);
+emit_32(3267067904);
+emit_32(1096261042);
+emit_32(3272896545);
+emit_32(3266555911);
+emit_32(1098731278);
+emit_32(3272896545);
+emit_32(3266043904);
+emit_32(1099753639);
+emit_32(3272896545);
+emit_32(3265531911);
+emit_32(1100349178);
+emit_32(3272896545);
+emit_32(3265019904);
+emit_32(1101287129);
+emit_32(3272896545);
+emit_32(3264507911);
+emit_32(1102874726);
+emit_32(3272896545);
+emit_32(3263995904);
+emit_32(1104299216);
+emit_32(3272896545);
+emit_32(3263483911);
+emit_32(1105581310);
+emit_32(3272896545);
+emit_32(3262775296);
+emit_32(1106449741);
+emit_32(3272896545);
+emit_32(3261751309);
+emit_32(1106767197);
+emit_32(3272896545);
+emit_32(3260727296);
+emit_32(1106996783);
+emit_32(3272896545);
+emit_32(3259703309);
+emit_32(1107252216);
+emit_32(3272896545);
+emit_32(3258679296);
+emit_32(1107420643);
+emit_32(3272896545);
+emit_32(3257655309);
+emit_32(1107319351);
+emit_32(3272896545);
+emit_32(3256631296);
+emit_32(1107826600);
+emit_32(3272896545);
+emit_32(3255607309);
+emit_32(1108251299);
+emit_32(3272896545);
+emit_32(3254386688);
+emit_32(1108771550);
+emit_32(3272896545);
+emit_32(3252338714);
+emit_32(1109302182);
+emit_32(3272896545);
+emit_32(3250290688);
+emit_32(1110005147);
+emit_32(3272896545);
+emit_32(3248242714);
+emit_32(1110267291);
+emit_32(3272896545);
+emit_32(3245998080);
+emit_32(1110424394);
+emit_32(3272896545);
+emit_32(3241902132);
+emit_32(1110409006);
+emit_32(3272896545);
+emit_32(3237609472);
+emit_32(1110530064);
+emit_32(3272896545);
+emit_32(3229220864);
+emit_32(1110513759);
+emit_32(3272896545);
+emit_32(0);
+emit_32(1110086228);
+emit_32(3272896545);
+emit_32(1081737216);
+emit_32(1110289075);
+emit_32(3272896545);
+emit_32(3279552512);
+emit_32(1105076106);
+emit_32(3273152528);
+emit_32(3279296528);
+emit_32(1105334790);
+emit_32(3273152528);
+emit_32(3279040545);
+emit_32(1105218241);
+emit_32(3273152528);
+emit_32(3278784496);
+emit_32(1105960947);
+emit_32(3273152528);
+emit_32(3278528512);
+emit_32(1107217980);
+emit_32(3273152528);
+emit_32(3278272528);
+emit_32(1107295574);
+emit_32(3273152528);
+emit_32(3278016545);
+emit_32(1107365331);
+emit_32(3273152528);
+emit_32(3277760496);
+emit_32(1107416134);
+emit_32(3273152528);
+emit_32(3277504512);
+emit_32(1106446438);
+emit_32(3273152528);
+emit_32(3277248528);
+emit_32(1105782794);
+emit_32(3273152528);
+emit_32(3276992545);
+emit_32(1105013821);
+emit_32(3273152528);
+emit_32(3276736496);
+emit_32(1103915857);
+emit_32(3273152528);
+emit_32(3276480512);
+emit_32(1103026979);
+emit_32(3273152528);
+emit_32(3276224528);
+emit_32(1101908673);
+emit_32(3273152528);
+emit_32(3275968545);
+emit_32(1100983409);
+emit_32(3273152528);
+emit_32(3275712496);
+emit_32(1100304771);
+emit_32(3273152528);
+emit_32(3275456512);
+emit_32(1099637090);
+emit_32(3273152528);
+emit_32(3275200528);
+emit_32(1099595147);
+emit_32(3273152528);
+emit_32(3274944545);
+emit_32(1098779302);
+emit_32(3273152528);
+emit_32(3274688496);
+emit_32(1096597425);
+emit_32(3273152528);
+emit_32(3274432512);
+emit_32(1094709255);
+emit_32(3273152528);
+emit_32(3274176528);
+emit_32(1093592941);
+emit_32(3273152528);
+emit_32(3273920545);
+emit_32(1091822808);
+emit_32(3273152528);
+emit_32(3273664496);
+emit_32(1090429890);
+emit_32(3273152528);
+emit_32(3273408512);
+emit_32(1088328040);
+emit_32(3273152528);
+emit_32(3273152528);
+emit_32(1087421546);
+emit_32(3273152528);
+emit_32(3272896545);
+emit_32(1085534382);
+emit_32(3273152528);
+emit_32(3272640496);
+emit_32(1082800241);
+emit_32(3273152528);
+emit_32(3272384512);
+emit_32(1078440703);
+emit_32(3273152528);
+emit_32(3272128528);
+emit_32(1084200594);
+emit_32(3273152528);
+emit_32(3271872545);
+emit_32(1087678322);
+emit_32(3273152528);
+emit_32(3271616496);
+emit_32(1089442320);
+emit_32(3273152528);
+emit_32(3271163904);
+emit_32(1090607372);
+emit_32(3273152528);
+emit_32(3270651937);
+emit_32(1091531566);
+emit_32(3273152528);
+emit_32(3270139970);
+emit_32(1091674141);
+emit_32(3273152528);
+emit_32(3269627871);
+emit_32(1091966117);
+emit_32(3273152528);
+emit_32(3269115904);
+emit_32(1091542251);
+emit_32(3273152528);
+emit_32(3268603937);
+emit_32(1091342288);
+emit_32(3273152528);
+emit_32(3268091970);
+emit_32(1092373405);
+emit_32(3273152528);
+emit_32(3267579911);
+emit_32(1093066975);
+emit_32(3273152528);
+emit_32(3267067904);
+emit_32(1096397252);
+emit_32(3273152528);
+emit_32(3266555911);
+emit_32(1099075053);
+emit_32(3273152528);
+emit_32(3266043904);
+emit_32(1099796788);
+emit_32(3273152528);
+emit_32(3265531911);
+emit_32(1100246942);
+emit_32(3273152528);
+emit_32(3265019904);
+emit_32(1101066614);
+emit_32(3273152528);
+emit_32(3264507911);
+emit_32(1102540440);
+emit_32(3273152528);
+emit_32(3263995904);
+emit_32(1104067323);
+emit_32(3273152528);
+emit_32(3263483911);
+emit_32(1105420039);
+emit_32(3273152528);
+emit_32(3262775296);
+emit_32(1106257484);
+emit_32(3273152528);
+emit_32(3261751309);
+emit_32(1106472337);
+emit_32(3273152528);
+emit_32(3260727296);
+emit_32(1106731912);
+emit_32(3273152528);
+emit_32(3259703309);
+emit_32(1106956465);
+emit_32(3273152528);
+emit_32(3258679296);
+emit_32(1106821199);
+emit_32(3273152528);
+emit_32(3257655309);
+emit_32(1106379643);
+emit_32(3273152528);
+emit_32(3256631296);
+emit_32(1107530954);
+emit_32(3273152528);
+emit_32(3255607309);
+emit_32(1108003992);
+emit_32(3273152528);
+emit_32(3254386688);
+emit_32(1108557352);
+emit_32(3273152528);
+emit_32(3252338714);
+emit_32(1109091706);
+emit_32(3273152528);
+emit_32(3250290688);
+emit_32(1109753830);
+emit_32(3273152528);
+emit_32(3248242714);
+emit_32(1109939664);
+emit_32(3273152528);
+emit_32(3245998080);
+emit_32(1109999118);
+emit_32(3273152528);
+emit_32(3241902132);
+emit_32(1110432914);
+emit_32(3273152528);
+emit_32(3237609472);
+emit_32(1110537457);
+emit_32(3273152528);
+emit_32(3229220864);
+emit_32(1110226685);
+emit_32(3273152528);
+emit_32(0);
+emit_32(1109884928);
+emit_32(3273152528);
+emit_32(1081737216);
+emit_32(1110106754);
+emit_32(3273152528);
+emit_32(3279552512);
+emit_32(1104836087);
+emit_32(3273408512);
+emit_32(3279296528);
+emit_32(1105132991);
+emit_32(3273408512);
+emit_32(3279040545);
+emit_32(1105059486);
+emit_32(3273408512);
+emit_32(3278784496);
+emit_32(1105434981);
+emit_32(3273408512);
+emit_32(3278528512);
+emit_32(1106513389);
+emit_32(3273408512);
+emit_32(3278272528);
+emit_32(1106841489);
+emit_32(3273408512);
+emit_32(3278016545);
+emit_32(1107378805);
+emit_32(3273408512);
+emit_32(3277760496);
+emit_32(1106914784);
+emit_32(3273408512);
+emit_32(3277504512);
+emit_32(1106011069);
+emit_32(3273408512);
+emit_32(3277248528);
+emit_32(1104591349);
+emit_32(3273408512);
+emit_32(3276992545);
+emit_32(1103757469);
+emit_32(3273408512);
+emit_32(3276736496);
+emit_32(1103249329);
+emit_32(3273408512);
+emit_32(3276480512);
+emit_32(1103030387);
+emit_32(3273408512);
+emit_32(3276224528);
+emit_32(1102188275);
+emit_32(3273408512);
+emit_32(3275968545);
+emit_32(1101338667);
+emit_32(3273408512);
+emit_32(3275712496);
+emit_32(1100738567);
+emit_32(3273408512);
+emit_32(3275456512);
+emit_32(1099970956);
+emit_32(3273408512);
+emit_32(3275200528);
+emit_32(1098288778);
+emit_32(3273408512);
+emit_32(3274944545);
+emit_32(1096724093);
+emit_32(3273408512);
+emit_32(3274688496);
+emit_32(1094523761);
+emit_32(3273408512);
+emit_32(3274432512);
+emit_32(1091893849);
+emit_32(3273408512);
+emit_32(3274176528);
+emit_32(1091370138);
+emit_32(3273408512);
+emit_32(3273920545);
+emit_32(1090570504);
+emit_32(3273408512);
+emit_32(3273664496);
+emit_32(1087323819);
+emit_32(3273408512);
+emit_32(3273408512);
+emit_32(1085981977);
+emit_32(3273408512);
+emit_32(3273152528);
+emit_32(1085699218);
+emit_32(3273408512);
+emit_32(3272896545);
+emit_32(1086443980);
+emit_32(3273408512);
+emit_32(3272640496);
+emit_32(1082061813);
+emit_32(3273408512);
+emit_32(3272384512);
+emit_32(1077123943);
+emit_32(3273408512);
+emit_32(3272128528);
+emit_32(1080172783);
+emit_32(3273408512);
+emit_32(3271872545);
+emit_32(1084168381);
+emit_32(3273408512);
+emit_32(3271616496);
+emit_32(1087820404);
+emit_32(3273408512);
+emit_32(3271163904);
+emit_32(1090796682);
+emit_32(3273408512);
+emit_32(3270651937);
+emit_32(1091577148);
+emit_32(3273408512);
+emit_32(3270139970);
+emit_32(1091446925);
+emit_32(3273408512);
+emit_32(3269627871);
+emit_32(1092098762);
+emit_32(3273408512);
+emit_32(3269115904);
+emit_32(1091744595);
+emit_32(3273408512);
+emit_32(3268603937);
+emit_32(1091408191);
+emit_32(3273408512);
+emit_32(3268091970);
+emit_32(1092385663);
+emit_32(3273408512);
+emit_32(3267579911);
+emit_32(1093825829);
+emit_32(3273408512);
+emit_32(3267067904);
+emit_32(1096198128);
+emit_32(3273408512);
+emit_32(3266555911);
+emit_32(1098768607);
+emit_32(3273408512);
+emit_32(3266043904);
+emit_32(1099579471);
+emit_32(3273408512);
+emit_32(3265531911);
+emit_32(1100058880);
+emit_32(3273408512);
+emit_32(3265019904);
+emit_32(1100744596);
+emit_32(3273408512);
+emit_32(3264507911);
+emit_32(1102061083);
+emit_32(3273408512);
+emit_32(3263995904);
+emit_32(1103274338);
+emit_32(3273408512);
+emit_32(3263483911);
+emit_32(1104422791);
+emit_32(3273408512);
+emit_32(3262775296);
+emit_32(1105176612);
+emit_32(3273408512);
+emit_32(3261751309);
+emit_32(1105646007);
+emit_32(3273408512);
+emit_32(3260727296);
+emit_32(1106575308);
+emit_32(3273408512);
+emit_32(3259703309);
+emit_32(1106762741);
+emit_32(3273408512);
+emit_32(3258679296);
+emit_32(1106791472);
+emit_32(3273408512);
+emit_32(3257655309);
+emit_32(1106362447);
+emit_32(3273408512);
+emit_32(3256631296);
+emit_32(1107312824);
+emit_32(3273408512);
+emit_32(3255607309);
+emit_32(1107822143);
+emit_32(3273408512);
+emit_32(3254386688);
+emit_32(1108186890);
+emit_32(3273408512);
+emit_32(3252338714);
+emit_32(1108816848);
+emit_32(3273408512);
+emit_32(3250290688);
+emit_32(1109429689);
+emit_32(3273408512);
+emit_32(3248242714);
+emit_32(1109536408);
+emit_32(3273408512);
+emit_32(3245998080);
+emit_32(1109813992);
+emit_32(3273408512);
+emit_32(3241902132);
+emit_32(1110208099);
+emit_32(3273408512);
+emit_32(3237609472);
+emit_32(1110335213);
+emit_32(3273408512);
+emit_32(3229220864);
+emit_32(1110186263);
+emit_32(3273408512);
+emit_32(0);
+emit_32(1109755796);
+emit_32(3273408512);
+emit_32(1081737216);
+emit_32(1109848700);
+emit_32(3273408512);
+emit_32(3279552512);
+emit_32(1104733956);
+emit_32(3273664496);
+emit_32(3279296528);
+emit_32(1104666690);
+emit_32(3273664496);
+emit_32(3279040545);
+emit_32(1104540231);
+emit_32(3273664496);
+emit_32(3278784496);
+emit_32(1104872840);
+emit_32(3273664496);
+emit_32(3278528512);
+emit_32(1105814775);
+emit_32(3273664496);
+emit_32(3278272528);
+emit_32(1106809297);
+emit_32(3273664496);
+emit_32(3278016545);
+emit_32(1106966322);
+emit_32(3273664496);
+emit_32(3277760496);
+emit_32(1106369682);
+emit_32(3273664496);
+emit_32(3277504512);
+emit_32(1105145102);
+emit_32(3273664496);
+emit_32(3277248528);
+emit_32(1104371673);
+emit_32(3273664496);
+emit_32(3276992545);
+emit_32(1103102319);
+emit_32(3273664496);
+emit_32(3276736496);
+emit_32(1102915568);
+emit_32(3273664496);
+emit_32(3276480512);
+emit_32(1102916721);
+emit_32(3273664496);
+emit_32(3276224528);
+emit_32(1102503005);
+emit_32(3273664496);
+emit_32(3275968545);
+emit_32(1101360162);
+emit_32(3273664496);
+emit_32(3275712496);
+emit_32(1100655152);
+emit_32(3273664496);
+emit_32(3275456512);
+emit_32(1099898185);
+emit_32(3273664496);
+emit_32(3275200528);
+emit_32(1097164495);
+emit_32(3273664496);
+emit_32(3274944545);
+emit_32(1094617294);
+emit_32(3273664496);
+emit_32(3274688496);
+emit_32(1092199750);
+emit_32(3273664496);
+emit_32(3274432512);
+emit_32(1090062511);
+emit_32(3273664496);
+emit_32(3274176528);
+emit_32(1090680196);
+emit_32(3273664496);
+emit_32(3273920545);
+emit_32(1089407214);
+emit_32(3273664496);
+emit_32(3273664496);
+emit_32(1087342316);
+emit_32(3273664496);
+emit_32(3273408512);
+emit_32(1084811578);
+emit_32(3273664496);
+emit_32(3273152528);
+emit_32(1083587386);
+emit_32(3273664496);
+emit_32(3272896545);
+emit_32(1084521563);
+emit_32(3273664496);
+emit_32(3272640496);
+emit_32(1079059237);
+emit_32(3273664496);
+emit_32(3272384512);
+emit_32(1079341513);
+emit_32(3273664496);
+emit_32(3272128528);
+emit_32(1075719690);
+emit_32(3273664496);
+emit_32(3271872545);
+emit_32(1082462285);
+emit_32(3273664496);
+emit_32(3271616496);
+emit_32(1087277514);
+emit_32(3273664496);
+emit_32(3271163904);
+emit_32(1090505891);
+emit_32(3273664496);
+emit_32(3270651937);
+emit_32(1090927198);
+emit_32(3273664496);
+emit_32(3270139970);
+emit_32(1091146109);
+emit_32(3273664496);
+emit_32(3269627871);
+emit_32(1092080475);
+emit_32(3273664496);
+emit_32(3269115904);
+emit_32(1091780718);
+emit_32(3273664496);
+emit_32(3268603937);
+emit_32(1090802554);
+emit_32(3273664496);
+emit_32(3268091970);
+emit_32(1092320997);
+emit_32(3273664496);
+emit_32(3267579911);
+emit_32(1094564132);
+emit_32(3273664496);
+emit_32(3267067904);
+emit_32(1097435447);
+emit_32(3273664496);
+emit_32(3266555911);
+emit_32(1098963118);
+emit_32(3273664496);
+emit_32(3266043904);
+emit_32(1099774348);
+emit_32(3273664496);
+emit_32(3265531911);
+emit_32(1100067530);
+emit_32(3273664496);
+emit_32(3265019904);
+emit_32(1100332401);
+emit_32(3273664496);
+emit_32(3264507911);
+emit_32(1101386639);
+emit_32(3273664496);
+emit_32(3263995904);
+emit_32(1102851185);
+emit_32(3273664496);
+emit_32(3263483911);
+emit_32(1104372774);
+emit_32(3273664496);
+emit_32(3262775296);
+emit_32(1105071702);
+emit_32(3273664496);
+emit_32(3261751309);
+emit_32(1105296726);
+emit_32(3273664496);
+emit_32(3260727296);
+emit_32(1105674895);
+emit_32(3273664496);
+emit_32(3259703309);
+emit_32(1106000583);
+emit_32(3273664496);
+emit_32(3258679296);
+emit_32(1105931639);
+emit_32(3273664496);
+emit_32(3257655309);
+emit_32(1106021188);
+emit_32(3273664496);
+emit_32(3256631296);
+emit_32(1106564874);
+emit_32(3273664496);
+emit_32(3255607309);
+emit_32(1107568073);
+emit_32(3273664496);
+emit_32(3254386688);
+emit_32(1108016890);
+emit_32(3273664496);
+emit_32(3252338714);
+emit_32(1108734483);
+emit_32(3273664496);
+emit_32(3250290688);
+emit_32(1109191321);
+emit_32(3273664496);
+emit_32(3248242714);
+emit_32(1109295759);
+emit_32(3273664496);
+emit_32(3245998080);
+emit_32(1109358019);
+emit_32(3273664496);
+emit_32(3241902132);
+emit_32(1109703603);
+emit_32(3273664496);
+emit_32(3237609472);
+emit_32(1109859736);
+emit_32(3273664496);
+emit_32(3229220864);
+emit_32(1109838319);
+emit_32(3273664496);
+emit_32(0);
+emit_32(1109492761);
+emit_32(3273664496);
+emit_32(1081737216);
+emit_32(1109518057);
+emit_32(3273664496);
+emit_32(3279552512);
+emit_32(1104359299);
+emit_32(3273920545);
+emit_32(3279296528);
+emit_32(1104339586);
+emit_32(3273920545);
+emit_32(3279040545);
+emit_32(1104491735);
+emit_32(3273920545);
+emit_32(3278784496);
+emit_32(1104791627);
+emit_32(3273920545);
+emit_32(3278528512);
+emit_32(1105811577);
+emit_32(3273920545);
+emit_32(3278272528);
+emit_32(1106308497);
+emit_32(3273920545);
+emit_32(3278016545);
+emit_32(1106435952);
+emit_32(3273920545);
+emit_32(3277760496);
+emit_32(1105655916);
+emit_32(3273920545);
+emit_32(3277504512);
+emit_32(1104594023);
+emit_32(3273920545);
+emit_32(3277248528);
+emit_32(1103614234);
+emit_32(3273920545);
+emit_32(3276992545);
+emit_32(1103342128);
+emit_32(3273920545);
+emit_32(3276736496);
+emit_32(1102922855);
+emit_32(3273920545);
+emit_32(3276480512);
+emit_32(1102436945);
+emit_32(3273920545);
+emit_32(3276224528);
+emit_32(1101625347);
+emit_32(3273920545);
+emit_32(3275968545);
+emit_32(1100801953);
+emit_32(3273920545);
+emit_32(3275712496);
+emit_32(1100227910);
+emit_32(3273920545);
+emit_32(3275456512);
+emit_32(1099339661);
+emit_32(3273920545);
+emit_32(3275200528);
+emit_32(1096681731);
+emit_32(3273920545);
+emit_32(3274944545);
+emit_32(1093027548);
+emit_32(3273920545);
+emit_32(3274688496);
+emit_32(1089483949);
+emit_32(3273920545);
+emit_32(3274432512);
+emit_32(1087550857);
+emit_32(3273920545);
+emit_32(3274176528);
+emit_32(1088032090);
+emit_32(3273920545);
+emit_32(3273920545);
+emit_32(1088175452);
+emit_32(3273920545);
+emit_32(3273664496);
+emit_32(1087974251);
+emit_32(3273920545);
+emit_32(3273408512);
+emit_32(1084612369);
+emit_32(3273920545);
+emit_32(3273152528);
+emit_32(1083056807);
+emit_32(3273920545);
+emit_32(3272896545);
+emit_32(1083313058);
+emit_32(3273920545);
+emit_32(3272640496);
+emit_32(1077966411);
+emit_32(3273920545);
+emit_32(3272384512);
+emit_32(1077466701);
+emit_32(3273920545);
+emit_32(3272128528);
+emit_32(1076194527);
+emit_32(3273920545);
+emit_32(3271872545);
+emit_32(1078813199);
+emit_32(3273920545);
+emit_32(3271616496);
+emit_32(1084920546);
+emit_32(3273920545);
+emit_32(3271163904);
+emit_32(1087870295);
+emit_32(3273920545);
+emit_32(3270651937);
+emit_32(1089931229);
+emit_32(3273920545);
+emit_32(3270139970);
+emit_32(1090987638);
+emit_32(3273920545);
+emit_32(3269627871);
+emit_32(1091623883);
+emit_32(3273920545);
+emit_32(3269115904);
+emit_32(1091369550);
+emit_32(3273920545);
+emit_32(3268603937);
+emit_32(1090009558);
+emit_32(3273920545);
+emit_32(3268091970);
+emit_32(1093783362);
+emit_32(3273920545);
+emit_32(3267579911);
+emit_32(1095581880);
+emit_32(3273920545);
+emit_32(3267067904);
+emit_32(1097625344);
+emit_32(3273920545);
+emit_32(3266555911);
+emit_32(1099002544);
+emit_32(3273920545);
+emit_32(3266043904);
+emit_32(1099653605);
+emit_32(3273920545);
+emit_32(3265531911);
+emit_32(1100228067);
+emit_32(3273920545);
+emit_32(3265019904);
+emit_32(1100644195);
+emit_32(3273920545);
+emit_32(3264507911);
+emit_32(1101087218);
+emit_32(3273920545);
+emit_32(3263995904);
+emit_32(1102441873);
+emit_32(3273920545);
+emit_32(3263483911);
+emit_32(1103411859);
+emit_32(3273920545);
+emit_32(3262775296);
+emit_32(1104352169);
+emit_32(3273920545);
+emit_32(3261751309);
+emit_32(1104534045);
+emit_32(3273920545);
+emit_32(3260727296);
+emit_32(1104718961);
+emit_32(3273920545);
+emit_32(3259703309);
+emit_32(1105600394);
+emit_32(3273920545);
+emit_32(3258679296);
+emit_32(1105578322);
+emit_32(3273920545);
+emit_32(3257655309);
+emit_32(1105873968);
+emit_32(3273920545);
+emit_32(3256631296);
+emit_32(1105977043);
+emit_32(3273920545);
+emit_32(3255607309);
+emit_32(1107501987);
+emit_32(3273920545);
+emit_32(3254386688);
+emit_32(1108022657);
+emit_32(3273920545);
+emit_32(3252338714);
+emit_32(1108493730);
+emit_32(3273920545);
+emit_32(3250290688);
+emit_32(1108751627);
+emit_32(3273920545);
+emit_32(3248242714);
+emit_32(1108976756);
+emit_32(3273920545);
+emit_32(3245998080);
+emit_32(1109209357);
+emit_32(3273920545);
+emit_32(3241902132);
+emit_32(1109224928);
+emit_32(3273920545);
+emit_32(3237609472);
+emit_32(1109394299);
+emit_32(3273920545);
+emit_32(3229220864);
+emit_32(1109287790);
+emit_32(3273920545);
+emit_32(0);
+emit_32(1109096556);
+emit_32(3273920545);
+emit_32(1081737216);
+emit_32(1109095429);
+emit_32(3273920545);
+emit_32(3279552512);
+emit_32(1103777917);
+emit_32(3274176528);
+emit_32(3279296528);
+emit_32(1103682863);
+emit_32(3274176528);
+emit_32(3279040545);
+emit_32(1103889852);
+emit_32(3274176528);
+emit_32(3278784496);
+emit_32(1104470082);
+emit_32(3274176528);
+emit_32(3278528512);
+emit_32(1105367977);
+emit_32(3274176528);
+emit_32(3278272528);
+emit_32(1105484998);
+emit_32(3274176528);
+emit_32(3278016545);
+emit_32(1105335157);
+emit_32(3274176528);
+emit_32(3277760496);
+emit_32(1104592136);
+emit_32(3274176528);
+emit_32(3277504512);
+emit_32(1103631063);
+emit_32(3274176528);
+emit_32(3277248528);
+emit_32(1103255306);
+emit_32(3274176528);
+emit_32(3276992545);
+emit_32(1103018276);
+emit_32(3274176528);
+emit_32(3276736496);
+emit_32(1102447378);
+emit_32(3274176528);
+emit_32(3276480512);
+emit_32(1102332926);
+emit_32(3274176528);
+emit_32(3276224528);
+emit_32(1101176976);
+emit_32(3274176528);
+emit_32(3275968545);
+emit_32(1100388132);
+emit_32(3274176528);
+emit_32(3275712496);
+emit_32(1099436969);
+emit_32(3274176528);
+emit_32(3275456512);
+emit_32(1097622199);
+emit_32(3274176528);
+emit_32(3275200528);
+emit_32(1095157206);
+emit_32(3274176528);
+emit_32(3274944545);
+emit_32(1091943761);
+emit_32(3274176528);
+emit_32(3274688496);
+emit_32(1087145897);
+emit_32(3274176528);
+emit_32(3274432512);
+emit_32(1084175847);
+emit_32(3274176528);
+emit_32(3274176528);
+emit_32(1083923161);
+emit_32(3274176528);
+emit_32(3273920545);
+emit_32(1085375292);
+emit_32(3274176528);
+emit_32(3273664496);
+emit_32(1084407834);
+emit_32(3274176528);
+emit_32(3273408512);
+emit_32(1081391354);
+emit_32(3274176528);
+emit_32(3273152528);
+emit_32(1081952216);
+emit_32(3274176528);
+emit_32(3272896545);
+emit_32(1083406885);
+emit_32(3274176528);
+emit_32(3272640496);
+emit_32(1079981732);
+emit_32(3274176528);
+emit_32(3272384512);
+emit_32(1079058020);
+emit_32(3274176528);
+emit_32(3272128528);
+emit_32(1072707676);
+emit_32(3274176528);
+emit_32(3271872545);
+emit_32(1076687568);
+emit_32(3274176528);
+emit_32(3271616496);
+emit_32(1083207089);
+emit_32(3274176528);
+emit_32(3271163904);
+emit_32(1086389538);
+emit_32(3274176528);
+emit_32(3270651937);
+emit_32(1089283314);
+emit_32(3274176528);
+emit_32(3270139970);
+emit_32(1089347172);
+emit_32(3274176528);
+emit_32(3269627871);
+emit_32(1089486696);
+emit_32(3274176528);
+emit_32(3269115904);
+emit_32(1088193739);
+emit_32(3274176528);
+emit_32(3268603937);
+emit_32(1090655722);
+emit_32(3274176528);
+emit_32(3268091970);
+emit_32(1094451515);
+emit_32(3274176528);
+emit_32(3267579911);
+emit_32(1096952893);
+emit_32(3274176528);
+emit_32(3267067904);
+emit_32(1098336489);
+emit_32(3274176528);
+emit_32(3266555911);
+emit_32(1099234437);
+emit_32(3274176528);
+emit_32(3266043904);
+emit_32(1099379612);
+emit_32(3274176528);
+emit_32(3265531911);
+emit_32(1100215799);
+emit_32(3274176528);
+emit_32(3265019904);
+emit_32(1100530162);
+emit_32(3274176528);
+emit_32(3264507911);
+emit_32(1101031329);
+emit_32(3274176528);
+emit_32(3263995904);
+emit_32(1101498994);
+emit_32(3274176528);
+emit_32(3263483911);
+emit_32(1102563928);
+emit_32(3274176528);
+emit_32(3262775296);
+emit_32(1103428531);
+emit_32(3274176528);
+emit_32(3261751309);
+emit_32(1104384360);
+emit_32(3274176528);
+emit_32(3260727296);
+emit_32(1104488589);
+emit_32(3274176528);
+emit_32(3259703309);
+emit_32(1104535827);
+emit_32(3274176528);
+emit_32(3258679296);
+emit_32(1105265479);
+emit_32(3274176528);
+emit_32(3257655309);
+emit_32(1106039747);
+emit_32(3274176528);
+emit_32(3256631296);
+emit_32(1106434956);
+emit_32(3274176528);
+emit_32(3255607309);
+emit_32(1107058596);
+emit_32(3274176528);
+emit_32(3254386688);
+emit_32(1107738703);
+emit_32(3274176528);
+emit_32(3252338714);
+emit_32(1108236567);
+emit_32(3274176528);
+emit_32(3250290688);
+emit_32(1108369447);
+emit_32(3274176528);
+emit_32(3248242714);
+emit_32(1108738258);
+emit_32(3274176528);
+emit_32(3245998080);
+emit_32(1108925140);
+emit_32(3274176528);
+emit_32(3241902132);
+emit_32(1108891219);
+emit_32(3274176528);
+emit_32(3237609472);
+emit_32(1109019224);
+emit_32(3274176528);
+emit_32(3229220864);
+emit_32(1108962574);
+emit_32(3274176528);
+emit_32(0);
+emit_32(1108838921);
+emit_32(3274176528);
+emit_32(1081737216);
+emit_32(1108664621);
+emit_32(3274176528);
+emit_32(3279552512);
+emit_32(1103175247);
+emit_32(3274432512);
+emit_32(3279296528);
+emit_32(1103008996);
+emit_32(3274432512);
+emit_32(3279040545);
+emit_32(1103511840);
+emit_32(3274432512);
+emit_32(3278784496);
+emit_32(1104205736);
+emit_32(3274432512);
+emit_32(3278528512);
+emit_32(1104650804);
+emit_32(3274432512);
+emit_32(3278272528);
+emit_32(1104410365);
+emit_32(3274432512);
+emit_32(3278016545);
+emit_32(1103881359);
+emit_32(3274432512);
+emit_32(3277760496);
+emit_32(1103489768);
+emit_32(3274432512);
+emit_32(3277504512);
+emit_32(1102805048);
+emit_32(3274432512);
+emit_32(3277248528);
+emit_32(1102700452);
+emit_32(3274432512);
+emit_32(3276992545);
+emit_32(1102108688);
+emit_32(3274432512);
+emit_32(3276736496);
+emit_32(1101386429);
+emit_32(3274432512);
+emit_32(3276480512);
+emit_32(1101386115);
+emit_32(3274432512);
+emit_32(3276224528);
+emit_32(1100548774);
+emit_32(3274432512);
+emit_32(3275968545);
+emit_32(1099100534);
+emit_32(3274432512);
+emit_32(3275712496);
+emit_32(1097287388);
+emit_32(3274432512);
+emit_32(3275456512);
+emit_32(1095246545);
+emit_32(3274432512);
+emit_32(3275200528);
+emit_32(1092624685);
+emit_32(3274432512);
+emit_32(3274944545);
+emit_32(1090219567);
+emit_32(3274432512);
+emit_32(3274688496);
+emit_32(1082930516);
+emit_32(3274432512);
+emit_32(3274432512);
+emit_32(1078918434);
+emit_32(3274432512);
+emit_32(3274176528);
+emit_32(1079511215);
+emit_32(3274432512);
+emit_32(3273920545);
+emit_32(1081732351);
+emit_32(3274432512);
+emit_32(3273664496);
+emit_32(1079040698);
+emit_32(3274432512);
+emit_32(3273408512);
+emit_32(1077451183);
+emit_32(3274432512);
+emit_32(3273152528);
+emit_32(1082592749);
+emit_32(3274432512);
+emit_32(3272896545);
+emit_32(1081429857);
+emit_32(3274432512);
+emit_32(3272640496);
+emit_32(1077879421);
+emit_32(3274432512);
+emit_32(3272384512);
+emit_32(1077261516);
+emit_32(3274432512);
+emit_32(3272128528);
+emit_32(1073521036);
+emit_32(3274432512);
+emit_32(3271872545);
+emit_32(1072559785);
+emit_32(3274432512);
+emit_32(3271616496);
+emit_32(1078796380);
+emit_32(3274432512);
+emit_32(3271163904);
+emit_32(1084493587);
+emit_32(3274432512);
+emit_32(3270651937);
+emit_32(1086050198);
+emit_32(3274432512);
+emit_32(3270139970);
+emit_32(1087277451);
+emit_32(3274432512);
+emit_32(3269627871);
+emit_32(1086930582);
+emit_32(3274432512);
+emit_32(3269115904);
+emit_32(1089544619);
+emit_32(3274432512);
+emit_32(3268603937);
+emit_32(1092037839);
+emit_32(3274432512);
+emit_32(3268091970);
+emit_32(1094101185);
+emit_32(3274432512);
+emit_32(3267579911);
+emit_32(1096539125);
+emit_32(3274432512);
+emit_32(3267067904);
+emit_32(1097682387);
+emit_32(3274432512);
+emit_32(3266555911);
+emit_32(1098380005);
+emit_32(3274432512);
+emit_32(3266043904);
+emit_32(1099089471);
+emit_32(3274432512);
+emit_32(3265531911);
+emit_32(1100092801);
+emit_32(3274432512);
+emit_32(3265019904);
+emit_32(1099999687);
+emit_32(3274432512);
+emit_32(3264507911);
+emit_32(1100034290);
+emit_32(3274432512);
+emit_32(3263995904);
+emit_32(1101354920);
+emit_32(3274432512);
+emit_32(3263483911);
+emit_32(1102642361);
+emit_32(3274432512);
+emit_32(3262775296);
+emit_32(1103324617);
+emit_32(3274432512);
+emit_32(3261751309);
+emit_32(1104424364);
+emit_32(3274432512);
+emit_32(3260727296);
+emit_32(1104375238);
+emit_32(3274432512);
+emit_32(3259703309);
+emit_32(1104526075);
+emit_32(3274432512);
+emit_32(3258679296);
+emit_32(1105221963);
+emit_32(3274432512);
+emit_32(3257655309);
+emit_32(1106081009);
+emit_32(3274432512);
+emit_32(3256631296);
+emit_32(1106625692);
+emit_32(3274432512);
+emit_32(3255607309);
+emit_32(1106869957);
+emit_32(3274432512);
+emit_32(3254386688);
+emit_32(1107361976);
+emit_32(3274432512);
+emit_32(3252338714);
+emit_32(1107660584);
+emit_32(3274432512);
+emit_32(3250290688);
+emit_32(1107794539);
+emit_32(3274432512);
+emit_32(3248242714);
+emit_32(1108030993);
+emit_32(3274432512);
+emit_32(3245998080);
+emit_32(1108270855);
+emit_32(3274432512);
+emit_32(3241902132);
+emit_32(1108287055);
+emit_32(3274432512);
+emit_32(3237609472);
+emit_32(1108250041);
+emit_32(3274432512);
+emit_32(3229220864);
+emit_32(1108216958);
+emit_32(3274432512);
+emit_32(0);
+emit_32(1108239267);
+emit_32(3274432512);
+emit_32(1081737216);
+emit_32(1108184872);
+emit_32(3274432512);
+emit_32(3279552512);
+emit_32(1102812126);
+emit_32(3274688496);
+emit_32(3279296528);
+emit_32(1103117418);
+emit_32(3274688496);
+emit_32(3279040545);
+emit_32(1103649885);
+emit_32(3274688496);
+emit_32(3278784496);
+emit_32(1104097313);
+emit_32(3274688496);
+emit_32(3278528512);
+emit_32(1104444654);
+emit_32(3274688496);
+emit_32(3278272528);
+emit_32(1104063601);
+emit_32(3274688496);
+emit_32(3278016545);
+emit_32(1103545814);
+emit_32(3274688496);
+emit_32(3277760496);
+emit_32(1103584507);
+emit_32(3274688496);
+emit_32(3277504512);
+emit_32(1102679009);
+emit_32(3274688496);
+emit_32(3277248528);
+emit_32(1102258687);
+emit_32(3274688496);
+emit_32(3276992545);
+emit_32(1101507854);
+emit_32(3274688496);
+emit_32(3276736496);
+emit_32(1100690909);
+emit_32(3274688496);
+emit_32(3276480512);
+emit_32(1100132332);
+emit_32(3274688496);
+emit_32(3276224528);
+emit_32(1099019583);
+emit_32(3274688496);
+emit_32(3275968545);
+emit_32(1097127376);
+emit_32(3274688496);
+emit_32(3275712496);
+emit_32(1095215822);
+emit_32(3274688496);
+emit_32(3275456512);
+emit_32(1092786166);
+emit_32(3274688496);
+emit_32(3275200528);
+emit_32(1090176785);
+emit_32(3274688496);
+emit_32(3274944545);
+emit_32(1085473439);
+emit_32(3274688496);
+emit_32(3274688496);
+emit_32(1079921376);
+emit_32(3274688496);
+emit_32(3274432512);
+emit_32(1075489590);
+emit_32(3274688496);
+emit_32(3274176528);
+emit_32(1074320386);
+emit_32(3274688496);
+emit_32(3273920545);
+emit_32(1075278281);
+emit_32(3274688496);
+emit_32(3273664496);
+emit_32(1075627373);
+emit_32(3274688496);
+emit_32(3273408512);
+emit_32(1075421307);
+emit_32(3274688496);
+emit_32(3273152528);
+emit_32(1077995687);
+emit_32(3274688496);
+emit_32(3272896545);
+emit_32(1076187271);
+emit_32(3274688496);
+emit_32(3272640496);
+emit_32(1078197056);
+emit_32(3274688496);
+emit_32(3272384512);
+emit_32(1077490273);
+emit_32(3274688496);
+emit_32(3272128528);
+emit_32(1076221287);
+emit_32(3274688496);
+emit_32(3271872545);
+emit_32(1074908092);
+emit_32(3274688496);
+emit_32(3271616496);
+emit_32(1080775462);
+emit_32(3274688496);
+emit_32(3271163904);
+emit_32(1084715256);
+emit_32(3274688496);
+emit_32(3270651937);
+emit_32(1086583504);
+emit_32(3274688496);
+emit_32(3270139970);
+emit_32(1086842502);
+emit_32(3274688496);
+emit_32(3269627871);
+emit_32(1087987400);
+emit_32(3274688496);
+emit_32(3269115904);
+emit_32(1090173891);
+emit_32(3274688496);
+emit_32(3268603937);
+emit_32(1091923838);
+emit_32(3274688496);
+emit_32(3268091970);
+emit_32(1093947988);
+emit_32(3274688496);
+emit_32(3267579911);
+emit_32(1095834167);
+emit_32(3274688496);
+emit_32(3267067904);
+emit_32(1096733950);
+emit_32(3274688496);
+emit_32(3266555911);
+emit_32(1097836842);
+emit_32(3274688496);
+emit_32(3266043904);
+emit_32(1098556060);
+emit_32(3274688496);
+emit_32(3265531911);
+emit_32(1099108608);
+emit_32(3274688496);
+emit_32(3265019904);
+emit_32(1098963275);
+emit_32(3274688496);
+emit_32(3264507911);
+emit_32(1099819542);
+emit_32(3274688496);
+emit_32(3263995904);
+emit_32(1100942305);
+emit_32(3274688496);
+emit_32(3263483911);
+emit_32(1102197608);
+emit_32(3274688496);
+emit_32(3262775296);
+emit_32(1103022837);
+emit_32(3274688496);
+emit_32(3261751309);
+emit_32(1103801562);
+emit_32(3274688496);
+emit_32(3260727296);
+emit_32(1104507988);
+emit_32(3274688496);
+emit_32(3259703309);
+emit_32(1105154592);
+emit_32(3274688496);
+emit_32(3258679296);
+emit_32(1105464079);
+emit_32(3274688496);
+emit_32(3257655309);
+emit_32(1106093382);
+emit_32(3274688496);
+emit_32(3256631296);
+emit_32(1106574311);
+emit_32(3274688496);
+emit_32(3255607309);
+emit_32(1107051990);
+emit_32(3274688496);
+emit_32(3254386688);
+emit_32(1107119571);
+emit_32(3274688496);
+emit_32(3252338714);
+emit_32(1106870849);
+emit_32(3274688496);
+emit_32(3250290688);
+emit_32(1107053878);
+emit_32(3274688496);
+emit_32(3248242714);
+emit_32(1107270461);
+emit_32(3274688496);
+emit_32(3245998080);
+emit_32(1107546577);
+emit_32(3274688496);
+emit_32(3241902132);
+emit_32(1107761064);
+emit_32(3274688496);
+emit_32(3237609472);
+emit_32(1107768718);
+emit_32(3274688496);
+emit_32(3229220864);
+emit_32(1107959035);
+emit_32(3274688496);
+emit_32(0);
+emit_32(1108028398);
+emit_32(3274688496);
+emit_32(1081737216);
+emit_32(1108036289);
+emit_32(3274688496);
+emit_32(3279552512);
+emit_32(1102194829);
+emit_32(3274944545);
+emit_32(3279296528);
+emit_32(1102979740);
+emit_32(3274944545);
+emit_32(3279040545);
+emit_32(1103411282);
+emit_32(3274944545);
+emit_32(3278784496);
+emit_32(1104236354);
+emit_32(3274944545);
+emit_32(3278528512);
+emit_32(1103902330);
+emit_32(3274944545);
+emit_32(3278272528);
+emit_32(1103359430);
+emit_32(3274944545);
+emit_32(3278016545);
+emit_32(1103570665);
+emit_32(3274944545);
+emit_32(3277760496);
+emit_32(1102969255);
+emit_32(3274944545);
+emit_32(3277504512);
+emit_32(1102559995);
+emit_32(3274944545);
+emit_32(3277248528);
+emit_32(1101349467);
+emit_32(3274944545);
+emit_32(3276992545);
+emit_32(1100611689);
+emit_32(3274944545);
+emit_32(3276736496);
+emit_32(1099639921);
+emit_32(3274944545);
+emit_32(3276480512);
+emit_32(1098874513);
+emit_32(3274944545);
+emit_32(3276224528);
+emit_32(1096071040);
+emit_32(3274944545);
+emit_32(3275968545);
+emit_32(1094641831);
+emit_32(3274944545);
+emit_32(3275712496);
+emit_32(1092240938);
+emit_32(3274944545);
+emit_32(3275456512);
+emit_32(1090400551);
+emit_32(3274944545);
+emit_32(3275200528);
+emit_32(1086726760);
+emit_32(3274944545);
+emit_32(3274944545);
+emit_32(1082213060);
+emit_32(3274944545);
+emit_32(3274688496);
+emit_32(1073126939);
+emit_32(3274944545);
+emit_32(3274432512);
+emit_32(1071516914);
+emit_32(3274944545);
+emit_32(3274176528);
+emit_32(1065259968);
+emit_32(3274944545);
+emit_32(3273920545);
+emit_32(1065288959);
+emit_32(3274944545);
+emit_32(3273664496);
+emit_32(1065357243);
+emit_32(3274944545);
+emit_32(3273408512);
+emit_32(1069920478);
+emit_32(3274944545);
+emit_32(3273152528);
+emit_32(1062828597);
+emit_32(3274944545);
+emit_32(3272896545);
+emit_32(1067908386);
+emit_32(3274944545);
+emit_32(3272640496);
+emit_32(1068584424);
+emit_32(3274944545);
+emit_32(3272384512);
+emit_32(1063954466);
+emit_32(3274944545);
+emit_32(3272128528);
+emit_32(1068682235);
+emit_32(3274944545);
+emit_32(3271872545);
+emit_32(1074494492);
+emit_32(3274944545);
+emit_32(3271616496);
+emit_32(1082171809);
+emit_32(3274944545);
+emit_32(3271163904);
+emit_32(1085758274);
+emit_32(3274944545);
+emit_32(3270651937);
+emit_32(1088930825);
+emit_32(3274944545);
+emit_32(3270139970);
+emit_32(1088551890);
+emit_32(3274944545);
+emit_32(3269627871);
+emit_32(1090336420);
+emit_32(3274944545);
+emit_32(3269115904);
+emit_32(1090128550);
+emit_32(3274944545);
+emit_32(3268603937);
+emit_32(1092723147);
+emit_32(3274944545);
+emit_32(3268091970);
+emit_32(1094514744);
+emit_32(3274944545);
+emit_32(3267579911);
+emit_32(1095724381);
+emit_32(3274944545);
+emit_32(3267067904);
+emit_32(1096378378);
+emit_32(3274944545);
+emit_32(3266555911);
+emit_32(1096239232);
+emit_32(3274944545);
+emit_32(3266043904);
+emit_32(1097003853);
+emit_32(3274944545);
+emit_32(3265531911);
+emit_32(1097209165);
+emit_32(3274944545);
+emit_32(3265019904);
+emit_32(1098262459);
+emit_32(3274944545);
+emit_32(3264507911);
+emit_32(1099551893);
+emit_32(3274944545);
+emit_32(3263995904);
+emit_32(1100443025);
+emit_32(3274944545);
+emit_32(3263483911);
+emit_32(1101006635);
+emit_32(3274944545);
+emit_32(3262775296);
+emit_32(1102193466);
+emit_32(3274944545);
+emit_32(3261751309);
+emit_32(1103692405);
+emit_32(3274944545);
+emit_32(3260727296);
+emit_32(1104818733);
+emit_32(3274944545);
+emit_32(3259703309);
+emit_32(1105337935);
+emit_32(3274944545);
+emit_32(3258679296);
+emit_32(1105923932);
+emit_32(3274944545);
+emit_32(3257655309);
+emit_32(1106359720);
+emit_32(3274944545);
+emit_32(3256631296);
+emit_32(1106972561);
+emit_32(3274944545);
+emit_32(3255607309);
+emit_32(1106903040);
+emit_32(3274944545);
+emit_32(3254386688);
+emit_32(1106792520);
+emit_32(3274944545);
+emit_32(3252338714);
+emit_32(1106424313);
+emit_32(3274944545);
+emit_32(3250290688);
+emit_32(1106536196);
+emit_32(3274944545);
+emit_32(3248242714);
+emit_32(1106757026);
+emit_32(3274944545);
+emit_32(3245998080);
+emit_32(1107206445);
+emit_32(3274944545);
+emit_32(3241902132);
+emit_32(1107332773);
+emit_32(3274944545);
+emit_32(3237609472);
+emit_32(1107315261);
+emit_32(3274944545);
+emit_32(3229220864);
+emit_32(1107468589);
+emit_32(3274944545);
+emit_32(0);
+emit_32(1107529276);
+emit_32(3274944545);
+emit_32(1081737216);
+emit_32(1107544270);
+emit_32(3274944545);
+emit_32(3279552512);
+emit_32(1102256485);
+emit_32(3275200528);
+emit_32(3279296528);
+emit_32(1102476581);
+emit_32(3275200528);
+emit_32(3279040545);
+emit_32(1102648600);
+emit_32(3275200528);
+emit_32(3278784496);
+emit_32(1103151707);
+emit_32(3275200528);
+emit_32(3278528512);
+emit_32(1103103315);
+emit_32(3275200528);
+emit_32(3278272528);
+emit_32(1102817788);
+emit_32(3275200528);
+emit_32(3278016545);
+emit_32(1103034843);
+emit_32(3275200528);
+emit_32(3277760496);
+emit_32(1102561411);
+emit_32(3275200528);
+emit_32(3277504512);
+emit_32(1101968179);
+emit_32(3275200528);
+emit_32(3277248528);
+emit_32(1100968939);
+emit_32(3275200528);
+emit_32(3276992545);
+emit_32(1099333370);
+emit_32(3275200528);
+emit_32(3276736496);
+emit_32(1098046662);
+emit_32(3275200528);
+emit_32(3276480512);
+emit_32(1096587778);
+emit_32(3275200528);
+emit_32(3276224528);
+emit_32(1094379687);
+emit_32(3275200528);
+emit_32(3275968545);
+emit_32(1092357099);
+emit_32(3275200528);
+emit_32(3275712496);
+emit_32(1088608073);
+emit_32(3275200528);
+emit_32(3275456512);
+emit_32(1087226532);
+emit_32(3275200528);
+emit_32(3275200528);
+emit_32(1084547148);
+emit_32(3275200528);
+emit_32(3274944545);
+emit_32(1081193131);
+emit_32(3275200528);
+emit_32(3274688496);
+emit_32(1078008983);
+emit_32(3275200528);
+emit_32(3274432512);
+emit_32(1069241755);
+emit_32(3275200528);
+emit_32(3274176528);
+emit_32(1061457513);
+emit_32(3275200528);
+emit_32(3273920545);
+emit_32(1073613814);
+emit_32(3275200528);
+emit_32(3273664496);
+emit_32(1066147869);
+emit_32(3275200528);
+emit_32(3273408512);
+emit_32(1067857803);
+emit_32(3275200528);
+emit_32(3273152528);
+emit_32(3192938482);
+emit_32(3275200528);
+emit_32(3272896545);
+emit_32(3204552258);
+emit_32(3275200528);
+emit_32(3272640496);
+emit_32(3207444717);
+emit_32(3275200528);
+emit_32(3272384512);
+emit_32(1042926373);
+emit_32(3275200528);
+emit_32(3272128528);
+emit_32(1069107873);
+emit_32(3275200528);
+emit_32(3271872545);
+emit_32(1068988587);
+emit_32(3275200528);
+emit_32(3271616496);
+emit_32(1078926571);
+emit_32(3275200528);
+emit_32(3271163904);
+emit_32(1083921610);
+emit_32(3275200528);
+emit_32(3270651937);
+emit_32(1087667710);
+emit_32(3275200528);
+emit_32(3270139970);
+emit_32(1090444214);
+emit_32(3275200528);
+emit_32(3269627871);
+emit_32(1091070528);
+emit_32(3275200528);
+emit_32(3269115904);
+emit_32(1090066034);
+emit_32(3275200528);
+emit_32(3268603937);
+emit_32(1092043900);
+emit_32(3275200528);
+emit_32(3268091970);
+emit_32(1094000103);
+emit_32(3275200528);
+emit_32(3267579911);
+emit_32(1094961752);
+emit_32(3275200528);
+emit_32(3267067904);
+emit_32(1095524208);
+emit_32(3275200528);
+emit_32(3266555911);
+emit_32(1095676356);
+emit_32(3275200528);
+emit_32(3266043904);
+emit_32(1095717880);
+emit_32(3275200528);
+emit_32(3265531911);
+emit_32(1096110676);
+emit_32(3275200528);
+emit_32(3265019904);
+emit_32(1097228249);
+emit_32(3275200528);
+emit_32(3264507911);
+emit_32(1099051146);
+emit_32(3275200528);
+emit_32(3263995904);
+emit_32(1099955228);
+emit_32(3275200528);
+emit_32(3263483911);
+emit_32(1100759119);
+emit_32(3275200528);
+emit_32(3262775296);
+emit_32(1101740848);
+emit_32(3275200528);
+emit_32(3261751309);
+emit_32(1103570928);
+emit_32(3275200528);
+emit_32(3260727296);
+emit_32(1104669783);
+emit_32(3275200528);
+emit_32(3259703309);
+emit_32(1105525316);
+emit_32(3275200528);
+emit_32(3258679296);
+emit_32(1106359248);
+emit_32(3275200528);
+emit_32(3257655309);
+emit_32(1106517269);
+emit_32(3275200528);
+emit_32(3256631296);
+emit_32(1106616045);
+emit_32(3275200528);
+emit_32(3255607309);
+emit_32(1106583906);
+emit_32(3275200528);
+emit_32(3254386688);
+emit_32(1106124944);
+emit_32(3275200528);
+emit_32(3252338714);
+emit_32(1106384676);
+emit_32(3275200528);
+emit_32(3250290688);
+emit_32(1106808354);
+emit_32(3275200528);
+emit_32(3248242714);
+emit_32(1106794879);
+emit_32(3275200528);
+emit_32(3245998080);
+emit_32(1106762741);
+emit_32(3275200528);
+emit_32(3241902132);
+emit_32(1106491369);
+emit_32(3275200528);
+emit_32(3237609472);
+emit_32(1106295705);
+emit_32(3275200528);
+emit_32(3229220864);
+emit_32(1106289675);
+emit_32(3275200528);
+emit_32(0);
+emit_32(1106247261);
+emit_32(3275200528);
+emit_32(1081737216);
+emit_32(1106249096);
+emit_32(3275200528);
+emit_32(3279552512);
+emit_32(1102201697);
+emit_32(3275456512);
+emit_32(3279296528);
+emit_32(1102659820);
+emit_32(3275456512);
+emit_32(3279040545);
+emit_32(1102694528);
+emit_32(3275456512);
+emit_32(3278784496);
+emit_32(1102926001);
+emit_32(3275456512);
+emit_32(3278528512);
+emit_32(1102847567);
+emit_32(3275456512);
+emit_32(3278272528);
+emit_32(1102512443);
+emit_32(3275456512);
+emit_32(3278016545);
+emit_32(1102182928);
+emit_32(3275456512);
+emit_32(3277760496);
+emit_32(1101754112);
+emit_32(3275456512);
+emit_32(3277504512);
+emit_32(1101220178);
+emit_32(3275456512);
+emit_32(3277248528);
+emit_32(1100092591);
+emit_32(3275456512);
+emit_32(3276992545);
+emit_32(1099095081);
+emit_32(3275456512);
+emit_32(3276736496);
+emit_32(1095841821);
+emit_32(3275456512);
+emit_32(3276480512);
+emit_32(1094285106);
+emit_32(3275456512);
+emit_32(3276224528);
+emit_32(1092426242);
+emit_32(3275456512);
+emit_32(3275968545);
+emit_32(1091118752);
+emit_32(3275456512);
+emit_32(3275712496);
+emit_32(1086196076);
+emit_32(3275456512);
+emit_32(3275456512);
+emit_32(1084558955);
+emit_32(3275456512);
+emit_32(3275200528);
+emit_32(1081694099);
+emit_32(3275456512);
+emit_32(3274944545);
+emit_32(1083225900);
+emit_32(3275456512);
+emit_32(3274688496);
+emit_32(1082574231);
+emit_32(3275456512);
+emit_32(3274432512);
+emit_32(1076364145);
+emit_32(3275456512);
+emit_32(3274176528);
+emit_32(1072545021);
+emit_32(3275456512);
+emit_32(3273920545);
+emit_32(1074334018);
+emit_32(3275456512);
+emit_32(3273664496);
+emit_32(1076300014);
+emit_32(3275456512);
+emit_32(3273408512);
+emit_32(1073720181);
+emit_32(3275456512);
+emit_32(3273152528);
+emit_32(1062607037);
+emit_32(3275456512);
+emit_32(3272896545);
+emit_32(3187287312);
+emit_32(3275456512);
+emit_32(3272640496);
+emit_32(3214601911);
+emit_32(3275456512);
+emit_32(3272384512);
+emit_32(1058984736);
+emit_32(3275456512);
+emit_32(3272128528);
+emit_32(1074596288);
+emit_32(3275456512);
+emit_32(3271872545);
+emit_32(1076067859);
+emit_32(3275456512);
+emit_32(3271616496);
+emit_32(1078353210);
+emit_32(3275456512);
+emit_32(3271163904);
+emit_32(1083728860);
+emit_32(3275456512);
+emit_32(3270651937);
+emit_32(1087570235);
+emit_32(3275456512);
+emit_32(3270139970);
+emit_32(1089274527);
+emit_32(3275456512);
+emit_32(3269627871);
+emit_32(1090698305);
+emit_32(3275456512);
+emit_32(3269115904);
+emit_32(1091459088);
+emit_32(3275456512);
+emit_32(3268603937);
+emit_32(1092135063);
+emit_32(3275456512);
+emit_32(3268091970);
+emit_32(1093474242);
+emit_32(3275456512);
+emit_32(3267579911);
+emit_32(1094959235);
+emit_32(3275456512);
+emit_32(3267067904);
+emit_32(1094655672);
+emit_32(3275456512);
+emit_32(3266555911);
+emit_32(1095034523);
+emit_32(3275456512);
+emit_32(3266043904);
+emit_32(1095524522);
+emit_32(3275456512);
+emit_32(3265531911);
+emit_32(1096032557);
+emit_32(3275456512);
+emit_32(3265019904);
+emit_32(1097045482);
+emit_32(3275456512);
+emit_32(3264507911);
+emit_32(1098064278);
+emit_32(3275456512);
+emit_32(3263995904);
+emit_32(1099811573);
+emit_32(3275456512);
+emit_32(3263483911);
+emit_32(1101577899);
+emit_32(3275456512);
+emit_32(3262775296);
+emit_32(1102983515);
+emit_32(3275456512);
+emit_32(3261751309);
+emit_32(1103562015);
+emit_32(3275456512);
+emit_32(3260727296);
+emit_32(1104461116);
+emit_32(3275456512);
+emit_32(3259703309);
+emit_32(1105235752);
+emit_32(3275456512);
+emit_32(3258679296);
+emit_32(1106329049);
+emit_32(3275456512);
+emit_32(3257655309);
+emit_32(1106693744);
+emit_32(3275456512);
+emit_32(3256631296);
+emit_32(1106663703);
+emit_32(3275456512);
+emit_32(3255607309);
+emit_32(1106416710);
+emit_32(3275456512);
+emit_32(3254386688);
+emit_32(1105642390);
+emit_32(3275456512);
+emit_32(3252338714);
+emit_32(1106355631);
+emit_32(3275456512);
+emit_32(3250290688);
+emit_32(1107058020);
+emit_32(3275456512);
+emit_32(3248242714);
+emit_32(1106806414);
+emit_32(3275456512);
+emit_32(3245998080);
+emit_32(1106545790);
+emit_32(3275456512);
+emit_32(3241902132);
+emit_32(1106234783);
+emit_32(3275456512);
+emit_32(3237609472);
+emit_32(1105605637);
+emit_32(3275456512);
+emit_32(3229220864);
+emit_32(1105327922);
+emit_32(3275456512);
+emit_32(0);
+emit_32(1104886890);
+emit_32(3275456512);
+emit_32(1081737216);
+emit_32(1105010622);
+emit_32(3275456512);
+emit_32(3279552512);
+emit_32(1101796265);
+emit_32(3275712496);
+emit_32(3279296528);
+emit_32(1102154616);
+emit_32(3275712496);
+emit_32(3279040545);
+emit_32(1102271480);
+emit_32(3275712496);
+emit_32(3278784496);
+emit_32(1102377910);
+emit_32(3275712496);
+emit_32(3278528512);
+emit_32(1102537923);
+emit_32(3275712496);
+emit_32(3278272528);
+emit_32(1102370151);
+emit_32(3275712496);
+emit_32(3278016545);
+emit_32(1101809268);
+emit_32(3275712496);
+emit_32(3277760496);
+emit_32(1101123289);
+emit_32(3275712496);
+emit_32(3277504512);
+emit_32(1100805466);
+emit_32(3275712496);
+emit_32(3277248528);
+emit_32(1100000736);
+emit_32(3275712496);
+emit_32(3276992545);
+emit_32(1098896743);
+emit_32(3275712496);
+emit_32(3276736496);
+emit_32(1095489500);
+emit_32(3275712496);
+emit_32(3276480512);
+emit_32(1092604647);
+emit_32(3275712496);
+emit_32(3276224528);
+emit_32(1089231431);
+emit_32(3275712496);
+emit_32(3275968545);
+emit_32(1086808717);
+emit_32(3275712496);
+emit_32(3275712496);
+emit_32(1083957890);
+emit_32(3275712496);
+emit_32(3275456512);
+emit_32(1083971564);
+emit_32(3275712496);
+emit_32(3275200528);
+emit_32(1083249913);
+emit_32(3275712496);
+emit_32(3274944545);
+emit_32(1084720771);
+emit_32(3275712496);
+emit_32(3274688496);
+emit_32(1082599125);
+emit_32(3275712496);
+emit_32(3274432512);
+emit_32(1079874484);
+emit_32(3275712496);
+emit_32(3274176528);
+emit_32(1080545069);
+emit_32(3275712496);
+emit_32(3273920545);
+emit_32(1078235685);
+emit_32(3275712496);
+emit_32(3273664496);
+emit_32(1080867653);
+emit_32(3275712496);
+emit_32(3273408512);
+emit_32(1082567206);
+emit_32(3275712496);
+emit_32(3273152528);
+emit_32(1074733945);
+emit_32(3275712496);
+emit_32(3272896545);
+emit_32(1058342370);
+emit_32(3275712496);
+emit_32(3272640496);
+emit_32(1055267089);
+emit_32(3275712496);
+emit_32(3272384512);
+emit_32(1075522138);
+emit_32(3275712496);
+emit_32(3272128528);
+emit_32(1080234900);
+emit_32(3275712496);
+emit_32(3271872545);
+emit_32(1080374822);
+emit_32(3275712496);
+emit_32(3271616496);
+emit_32(1083014633);
+emit_32(3275712496);
+emit_32(3271163904);
+emit_32(1084734109);
+emit_32(3275712496);
+emit_32(3270651937);
+emit_32(1087494779);
+emit_32(3275712496);
+emit_32(3270139970);
+emit_32(1088284965);
+emit_32(3275712496);
+emit_32(3269627871);
+emit_32(1089959289);
+emit_32(3275712496);
+emit_32(3269115904);
+emit_32(1090565890);
+emit_32(3275712496);
+emit_32(3268603937);
+emit_32(1091730439);
+emit_32(3275712496);
+emit_32(3268091970);
+emit_32(1093621042);
+emit_32(3275712496);
+emit_32(3267579911);
+emit_32(1094912259);
+emit_32(3275712496);
+emit_32(3267067904);
+emit_32(1094344350);
+emit_32(3275712496);
+emit_32(3266555911);
+emit_32(1094347810);
+emit_32(3275712496);
+emit_32(3266043904);
+emit_32(1095166958);
+emit_32(3275712496);
+emit_32(3265531911);
+emit_32(1096161218);
+emit_32(3275712496);
+emit_32(3265019904);
+emit_32(1097215246);
+emit_32(3275712496);
+emit_32(3264507911);
+emit_32(1099003068);
+emit_32(3275712496);
+emit_32(3263995904);
+emit_32(1100476894);
+emit_32(3275712496);
+emit_32(3263483911);
+emit_32(1102488954);
+emit_32(3275712496);
+emit_32(3262775296);
+emit_32(1103829035);
+emit_32(3275712496);
+emit_32(3261751309);
+emit_32(1104228332);
+emit_32(3275712496);
+emit_32(3260727296);
+emit_32(1103954339);
+emit_32(3275712496);
+emit_32(3259703309);
+emit_32(1104646714);
+emit_32(3275712496);
+emit_32(3258679296);
+emit_32(1105727324);
+emit_32(3275712496);
+emit_32(3257655309);
+emit_32(1106170243);
+emit_32(3275712496);
+emit_32(3256631296);
+emit_32(1106312482);
+emit_32(3275712496);
+emit_32(3255607309);
+emit_32(1106119596);
+emit_32(3275712496);
+emit_32(3254386688);
+emit_32(1105456687);
+emit_32(3275712496);
+emit_32(3252338714);
+emit_32(1106005931);
+emit_32(3275712496);
+emit_32(3250290688);
+emit_32(1106493309);
+emit_32(3275712496);
+emit_32(3248242714);
+emit_32(1106443921);
+emit_32(3275712496);
+emit_32(3245998080);
+emit_32(1106444917);
+emit_32(3275712496);
+emit_32(3241902132);
+emit_32(1105728582);
+emit_32(3275712496);
+emit_32(3237609472);
+emit_32(1105301445);
+emit_32(3275712496);
+emit_32(3229220864);
+emit_32(1104221307);
+emit_32(3275712496);
+emit_32(0);
+emit_32(1103753013);
+emit_32(3275712496);
+emit_32(1081737216);
+emit_32(1103817710);
+emit_32(3275712496);
+emit_32(3279552512);
+emit_32(1101413745);
+emit_32(3275968545);
+emit_32(3279296528);
+emit_32(1101438858);
+emit_32(3275968545);
+emit_32(3279040545);
+emit_32(1101644379);
+emit_32(3275968545);
+emit_32(3278784496);
+emit_32(1102087560);
+emit_32(3275968545);
+emit_32(3278528512);
+emit_32(1102163214);
+emit_32(3275968545);
+emit_32(3278272528);
+emit_32(1102125308);
+emit_32(3275968545);
+emit_32(3278016545);
+emit_32(1101537739);
+emit_32(3275968545);
+emit_32(3277760496);
+emit_32(1100699350);
+emit_32(3275968545);
+emit_32(3277504512);
+emit_32(1099847539);
+emit_32(3275968545);
+emit_32(3277248528);
+emit_32(1099231239);
+emit_32(3275968545);
+emit_32(3276992545);
+emit_32(1097551315);
+emit_32(3275968545);
+emit_32(3276736496);
+emit_32(1094513590);
+emit_32(3275968545);
+emit_32(3276480512);
+emit_32(1092236859);
+emit_32(3275968545);
+emit_32(3276224528);
+emit_32(1087371425);
+emit_32(3275968545);
+emit_32(3275968545);
+emit_32(1086821908);
+emit_32(3275968545);
+emit_32(3275712496);
+emit_32(1087590871);
+emit_32(3275968545);
+emit_32(3275456512);
+emit_32(1086797791);
+emit_32(3275968545);
+emit_32(3275200528);
+emit_32(1085233189);
+emit_32(3275968545);
+emit_32(3274944545);
+emit_32(1084580975);
+emit_32(3275968545);
+emit_32(3274688496);
+emit_32(1083882351);
+emit_32(3275968545);
+emit_32(3274432512);
+emit_32(1082486780);
+emit_32(3275968545);
+emit_32(3274176528);
+emit_32(1085077623);
+emit_32(3275968545);
+emit_32(3273920545);
+emit_32(1084260342);
+emit_32(3275968545);
+emit_32(3273664496);
+emit_32(1083367290);
+emit_32(3275968545);
+emit_32(3273408512);
+emit_32(1083666638);
+emit_32(3275968545);
+emit_32(3273152528);
+emit_32(1078547909);
+emit_32(3275968545);
+emit_32(3272896545);
+emit_32(1066770387);
+emit_32(3275968545);
+emit_32(3272640496);
+emit_32(1075803744);
+emit_32(3275968545);
+emit_32(3272384512);
+emit_32(1082085679);
+emit_32(3275968545);
+emit_32(3272128528);
+emit_32(1084581185);
+emit_32(3275968545);
+emit_32(3271872545);
+emit_32(1085673172);
+emit_32(3275968545);
+emit_32(3271616496);
+emit_32(1085188394);
+emit_32(3275968545);
+emit_32(3271163904);
+emit_32(1084552768);
+emit_32(3275968545);
+emit_32(3270651937);
+emit_32(1087292635);
+emit_32(3275968545);
+emit_32(3270139970);
+emit_32(1089188963);
+emit_32(3275968545);
+emit_32(3269627871);
+emit_32(1090660503);
+emit_32(3275968545);
+emit_32(3269115904);
+emit_32(1089489254);
+emit_32(3275968545);
+emit_32(3268603937);
+emit_32(1091501157);
+emit_32(3275968545);
+emit_32(3268091970);
+emit_32(1093299130);
+emit_32(3275968545);
+emit_32(3267579911);
+emit_32(1093272076);
+emit_32(3275968545);
+emit_32(3267067904);
+emit_32(1093175293);
+emit_32(3275968545);
+emit_32(3266555911);
+emit_32(1094268538);
+emit_32(3275968545);
+emit_32(3266043904);
+emit_32(1094260359);
+emit_32(3275968545);
+emit_32(3265531911);
+emit_32(1097064147);
+emit_32(3275968545);
+emit_32(3265019904);
+emit_32(1098974337);
+emit_32(3275968545);
+emit_32(3264507911);
+emit_32(1099484050);
+emit_32(3275968545);
+emit_32(3263995904);
+emit_32(1101248646);
+emit_32(3275968545);
+emit_32(3263483911);
+emit_32(1102857634);
+emit_32(3275968545);
+emit_32(3262775296);
+emit_32(1103688158);
+emit_32(3275968545);
+emit_32(3261751309);
+emit_32(1104120486);
+emit_32(3275968545);
+emit_32(3260727296);
+emit_32(1103897087);
+emit_32(3275968545);
+emit_32(3259703309);
+emit_32(1103680084);
+emit_32(3275968545);
+emit_32(3258679296);
+emit_32(1104794406);
+emit_32(3275968545);
+emit_32(3257655309);
+emit_32(1105582830);
+emit_32(3275968545);
+emit_32(3256631296);
+emit_32(1105670124);
+emit_32(3275968545);
+emit_32(3255607309);
+emit_32(1105372486);
+emit_32(3275968545);
+emit_32(3254386688);
+emit_32(1104924063);
+emit_32(3275968545);
+emit_32(3252338714);
+emit_32(1105134250);
+emit_32(3275968545);
+emit_32(3250290688);
+emit_32(1105252739);
+emit_32(3275968545);
+emit_32(3248242714);
+emit_32(1105713693);
+emit_32(3275968545);
+emit_32(3245998080);
+emit_32(1105505760);
+emit_32(3275968545);
+emit_32(3241902132);
+emit_32(1104815692);
+emit_32(3275968545);
+emit_32(3237609472);
+emit_32(1104575830);
+emit_32(3275968545);
+emit_32(3229220864);
+emit_32(1103816871);
+emit_32(3275968545);
+emit_32(0);
+emit_32(1102689547);
+emit_32(3275968545);
+emit_32(1081737216);
+emit_32(1102629726);
+emit_32(3275968545);
+emit_32(3279552512);
+emit_32(1101111021);
+emit_32(3276224528);
+emit_32(3279296528);
+emit_32(1100789580);
+emit_32(3276224528);
+emit_32(3279040545);
+emit_32(1101187724);
+emit_32(3276224528);
+emit_32(3278784496);
+emit_32(1101544450);
+emit_32(3276224528);
+emit_32(3278528512);
+emit_32(1101809215);
+emit_32(3276224528);
+emit_32(3278272528);
+emit_32(1101364409);
+emit_32(3276224528);
+emit_32(3278016545);
+emit_32(1100966999);
+emit_32(3276224528);
+emit_32(3277760496);
+emit_32(1100334603);
+emit_32(3276224528);
+emit_32(3277504512);
+emit_32(1099684538);
+emit_32(3276224528);
+emit_32(3277248528);
+emit_32(1097905000);
+emit_32(3276224528);
+emit_32(3276992545);
+emit_32(1096189949);
+emit_32(3276224528);
+emit_32(3276736496);
+emit_32(1093369908);
+emit_32(3276224528);
+emit_32(3276480512);
+emit_32(1090856430);
+emit_32(3276224528);
+emit_32(3276224528);
+emit_32(1089059569);
+emit_32(3276224528);
+emit_32(3275968545);
+emit_32(1088475764);
+emit_32(3276224528);
+emit_32(3275712496);
+emit_32(1089236128);
+emit_32(3276224528);
+emit_32(3275456512);
+emit_32(1088316066);
+emit_32(3276224528);
+emit_32(3275200528);
+emit_32(1087626375);
+emit_32(3276224528);
+emit_32(3274944545);
+emit_32(1087484629);
+emit_32(3276224528);
+emit_32(3274688496);
+emit_32(1087038397);
+emit_32(3276224528);
+emit_32(3274432512);
+emit_32(1084227794);
+emit_32(3276224528);
+emit_32(3274176528);
+emit_32(1087406111);
+emit_32(3276224528);
+emit_32(3273920545);
+emit_32(1087788003);
+emit_32(3276224528);
+emit_32(3273664496);
+emit_32(1085636639);
+emit_32(3276224528);
+emit_32(3273408512);
+emit_32(1084012206);
+emit_32(3276224528);
+emit_32(3273152528);
+emit_32(1079773149);
+emit_32(3276224528);
+emit_32(3272896545);
+emit_32(1074099640);
+emit_32(3276224528);
+emit_32(3272640496);
+emit_32(1081570199);
+emit_32(3276224528);
+emit_32(3272384512);
+emit_32(1086505511);
+emit_32(3276224528);
+emit_32(3272128528);
+emit_32(1088421783);
+emit_32(3276224528);
+emit_32(3271872545);
+emit_32(1090863057);
+emit_32(3276224528);
+emit_32(3271616496);
+emit_32(1091104240);
+emit_32(3276224528);
+emit_32(3271163904);
+emit_32(1090801149);
+emit_32(3276224528);
+emit_32(3270651937);
+emit_32(1091187329);
+emit_32(3276224528);
+emit_32(3270139970);
+emit_32(1091684071);
+emit_32(3276224528);
+emit_32(3269627871);
+emit_32(1092334691);
+emit_32(3276224528);
+emit_32(3269115904);
+emit_32(1091715549);
+emit_32(3276224528);
+emit_32(3268603937);
+emit_32(1091937239);
+emit_32(3276224528);
+emit_32(3268091970);
+emit_32(1092157765);
+emit_32(3276224528);
+emit_32(3267579911);
+emit_32(1092352643);
+emit_32(3276224528);
+emit_32(3267067904);
+emit_32(1093649249);
+emit_32(3276224528);
+emit_32(3266555911);
+emit_32(1095125015);
+emit_32(3276224528);
+emit_32(3266043904);
+emit_32(1096433743);
+emit_32(3276224528);
+emit_32(3265531911);
+emit_32(1098895694);
+emit_32(3276224528);
+emit_32(3265019904);
+emit_32(1099846805);
+emit_32(3276224528);
+emit_32(3264507911);
+emit_32(1100394109);
+emit_32(3276224528);
+emit_32(3263995904);
+emit_32(1101147301);
+emit_32(3276224528);
+emit_32(3263483911);
+emit_32(1102840332);
+emit_32(3276224528);
+emit_32(3262775296);
+emit_32(1103420352);
+emit_32(3276224528);
+emit_32(3261751309);
+emit_32(1103784994);
+emit_32(3276224528);
+emit_32(3260727296);
+emit_32(1103743890);
+emit_32(3276224528);
+emit_32(3259703309);
+emit_32(1103097863);
+emit_32(3276224528);
+emit_32(3258679296);
+emit_32(1103438807);
+emit_32(3276224528);
+emit_32(3257655309);
+emit_32(1104475534);
+emit_32(3276224528);
+emit_32(3256631296);
+emit_32(1104961811);
+emit_32(3276224528);
+emit_32(3255607309);
+emit_32(1104919763);
+emit_32(3276224528);
+emit_32(3254386688);
+emit_32(1104827174);
+emit_32(3276224528);
+emit_32(3252338714);
+emit_32(1104406905);
+emit_32(3276224528);
+emit_32(3250290688);
+emit_32(1104336860);
+emit_32(3276224528);
+emit_32(3248242714);
+emit_32(1104244218);
+emit_32(3276224528);
+emit_32(3245998080);
+emit_32(1104283592);
+emit_32(3276224528);
+emit_32(3241902132);
+emit_32(1104029627);
+emit_32(3276224528);
+emit_32(3237609472);
+emit_32(1103767326);
+emit_32(3276224528);
+emit_32(3229220864);
+emit_32(1102780406);
+emit_32(3276224528);
+emit_32(0);
+emit_32(1102353111);
+emit_32(3276224528);
+emit_32(1081737216);
+emit_32(1101834591);
+emit_32(3276224528);
+emit_32(3279552512);
+emit_32(1100665376);
+emit_32(3276480512);
+emit_32(3279296528);
+emit_32(1100635911);
+emit_32(3276480512);
+emit_32(3279040545);
+emit_32(1100599001);
+emit_32(3276480512);
+emit_32(3278784496);
+emit_32(1100704593);
+emit_32(3276480512);
+emit_32(3278528512);
+emit_32(1100706847);
+emit_32(3276480512);
+emit_32(3278272528);
+emit_32(1100641940);
+emit_32(3276480512);
+emit_32(3278016545);
+emit_32(1100067373);
+emit_32(3276480512);
+emit_32(3277760496);
+emit_32(1099870817);
+emit_32(3276480512);
+emit_32(3277504512);
+emit_32(1099360738);
+emit_32(3276480512);
+emit_32(3277248528);
+emit_32(1097705875);
+emit_32(3276480512);
+emit_32(3276992545);
+emit_32(1095158989);
+emit_32(3276480512);
+emit_32(3276736496);
+emit_32(1092654884);
+emit_32(3276480512);
+emit_32(3276480512);
+emit_32(1091569199);
+emit_32(3276480512);
+emit_32(3276224528);
+emit_32(1091162174);
+emit_32(3276480512);
+emit_32(3275968545);
+emit_32(1090619556);
+emit_32(3276480512);
+emit_32(3275712496);
+emit_32(1090709283);
+emit_32(3276480512);
+emit_32(3275456512);
+emit_32(1090001987);
+emit_32(3276480512);
+emit_32(3275200528);
+emit_32(1089948027);
+emit_32(3276480512);
+emit_32(3274944545);
+emit_32(1089924476);
+emit_32(3276480512);
+emit_32(3274688496);
+emit_32(1089951446);
+emit_32(3276480512);
+emit_32(3274432512);
+emit_32(1087795175);
+emit_32(3276480512);
+emit_32(3274176528);
+emit_32(1087558449);
+emit_32(3276480512);
+emit_32(3273920545);
+emit_32(1087330845);
+emit_32(3276480512);
+emit_32(3273664496);
+emit_32(1086250308);
+emit_32(3276480512);
+emit_32(3273408512);
+emit_32(1086015469);
+emit_32(3276480512);
+emit_32(3273152528);
+emit_32(1084541779);
+emit_32(3276480512);
+emit_32(3272896545);
+emit_32(1083402271);
+emit_32(3276480512);
+emit_32(3272640496);
+emit_32(1087092084);
+emit_32(3276480512);
+emit_32(3272384512);
+emit_32(1089818319);
+emit_32(3276480512);
+emit_32(3272128528);
+emit_32(1091233068);
+emit_32(3276480512);
+emit_32(3271872545);
+emit_32(1092479059);
+emit_32(3276480512);
+emit_32(3271616496);
+emit_32(1092547835);
+emit_32(3276480512);
+emit_32(3271163904);
+emit_32(1093621252);
+emit_32(3276480512);
+emit_32(3270651937);
+emit_32(1093588327);
+emit_32(3276480512);
+emit_32(3270139970);
+emit_32(1094120689);
+emit_32(3276480512);
+emit_32(3269627871);
+emit_32(1093722230);
+emit_32(3276480512);
+emit_32(3269115904);
+emit_32(1093927017);
+emit_32(3276480512);
+emit_32(3268603937);
+emit_32(1094469340);
+emit_32(3276480512);
+emit_32(3268091970);
+emit_32(1093549320);
+emit_32(3276480512);
+emit_32(3267579911);
+emit_32(1094062283);
+emit_32(3276480512);
+emit_32(3267067904);
+emit_32(1094889505);
+emit_32(3276480512);
+emit_32(3266555911);
+emit_32(1095517287);
+emit_32(3276480512);
+emit_32(3266043904);
+emit_32(1098112303);
+emit_32(3276480512);
+emit_32(3265531911);
+emit_32(1099944847);
+emit_32(3276480512);
+emit_32(3265019904);
+emit_32(1100805204);
+emit_32(3276480512);
+emit_32(3264507911);
+emit_32(1100813068);
+emit_32(3276480512);
+emit_32(3263995904);
+emit_32(1100890191);
+emit_32(3276480512);
+emit_32(3263483911);
+emit_32(1101765018);
+emit_32(3276480512);
+emit_32(3262775296);
+emit_32(1103166125);
+emit_32(3276480512);
+emit_32(3261751309);
+emit_32(1103581413);
+emit_32(3276480512);
+emit_32(3260727296);
+emit_32(1103239001);
+emit_32(3276480512);
+emit_32(3259703309);
+emit_32(1103115059);
+emit_32(3276480512);
+emit_32(3258679296);
+emit_32(1102634916);
+emit_32(3276480512);
+emit_32(3257655309);
+emit_32(1103117366);
+emit_32(3276480512);
+emit_32(3256631296);
+emit_32(1103874962);
+emit_32(3276480512);
+emit_32(3255607309);
+emit_32(1104123108);
+emit_32(3276480512);
+emit_32(3254386688);
+emit_32(1103935308);
+emit_32(3276480512);
+emit_32(3252338714);
+emit_32(1103665666);
+emit_32(3276480512);
+emit_32(3250290688);
+emit_32(1103444679);
+emit_32(3276480512);
+emit_32(3248242714);
+emit_32(1103627551);
+emit_32(3276480512);
+emit_32(3245998080);
+emit_32(1103736865);
+emit_32(3276480512);
+emit_32(3241902132);
+emit_32(1103212210);
+emit_32(3276480512);
+emit_32(3237609472);
+emit_32(1102649124);
+emit_32(3276480512);
+emit_32(3229220864);
+emit_32(1101755266);
+emit_32(3276480512);
+emit_32(0);
+emit_32(1101465335);
+emit_32(3276480512);
+emit_32(1081737216);
+emit_32(1101171471);
+emit_32(3276480512);
+emit_32(3279552512);
+emit_32(1100210871);
+emit_32(3276736496);
+emit_32(3279296528);
+emit_32(1100433483);
+emit_32(3276736496);
+emit_32(3279040545);
+emit_32(1099833855);
+emit_32(3276736496);
+emit_32(3278784496);
+emit_32(1100155611);
+emit_32(3276736496);
+emit_32(3278528512);
+emit_32(1099838049);
+emit_32(3276736496);
+emit_32(3278272528);
+emit_32(1100058775);
+emit_32(3276736496);
+emit_32(3278016545);
+emit_32(1099672899);
+emit_32(3276736496);
+emit_32(3277760496);
+emit_32(1099187932);
+emit_32(3276736496);
+emit_32(3277504512);
+emit_32(1098271477);
+emit_32(3276736496);
+emit_32(3277248528);
+emit_32(1096846357);
+emit_32(3276736496);
+emit_32(3276992545);
+emit_32(1094240646);
+emit_32(3276736496);
+emit_32(3276736496);
+emit_32(1093510208);
+emit_32(3276736496);
+emit_32(3276480512);
+emit_32(1093157677);
+emit_32(3276736496);
+emit_32(3276224528);
+emit_32(1093135971);
+emit_32(3276736496);
+emit_32(3275968545);
+emit_32(1092174626);
+emit_32(3276736496);
+emit_32(3275712496);
+emit_32(1092008343);
+emit_32(3276736496);
+emit_32(3275456512);
+emit_32(1091657206);
+emit_32(3276736496);
+emit_32(3275200528);
+emit_32(1090624757);
+emit_32(3276736496);
+emit_32(3274944545);
+emit_32(1091109598);
+emit_32(3276736496);
+emit_32(3274688496);
+emit_32(1091299097);
+emit_32(3276736496);
+emit_32(3274432512);
+emit_32(1091108078);
+emit_32(3276736496);
+emit_32(3274176528);
+emit_32(1088708464);
+emit_32(3276736496);
+emit_32(3273920545);
+emit_32(1088400979);
+emit_32(3276736496);
+emit_32(3273664496);
+emit_32(1088671869);
+emit_32(3276736496);
+emit_32(3273408512);
+emit_32(1086687543);
+emit_32(3276736496);
+emit_32(3273152528);
+emit_32(1087251530);
+emit_32(3276736496);
+emit_32(3272896545);
+emit_32(1088748687);
+emit_32(3276736496);
+emit_32(3272640496);
+emit_32(1089984811);
+emit_32(3276736496);
+emit_32(3272384512);
+emit_32(1091974946);
+emit_32(3276736496);
+emit_32(3272128528);
+emit_32(1092819930);
+emit_32(3276736496);
+emit_32(3271872545);
+emit_32(1093160927);
+emit_32(3276736496);
+emit_32(3271616496);
+emit_32(1094132118);
+emit_32(3276736496);
+emit_32(3271163904);
+emit_32(1095157206);
+emit_32(3276736496);
+emit_32(3270651937);
+emit_32(1095618580);
+emit_32(3276736496);
+emit_32(3270139970);
+emit_32(1096186069);
+emit_32(3276736496);
+emit_32(3269627871);
+emit_32(1095671113);
+emit_32(3276736496);
+emit_32(3269115904);
+emit_32(1095678348);
+emit_32(3276736496);
+emit_32(3268603937);
+emit_32(1095989776);
+emit_32(3276736496);
+emit_32(3268091970);
+emit_32(1095663878);
+emit_32(3276736496);
+emit_32(3267579911);
+emit_32(1095691351);
+emit_32(3276736496);
+emit_32(3267067904);
+emit_32(1096383306);
+emit_32(3276736496);
+emit_32(3266555911);
+emit_32(1097384277);
+emit_32(3276736496);
+emit_32(3266043904);
+emit_32(1099122606);
+emit_32(3276736496);
+emit_32(3265531911);
+emit_32(1100558316);
+emit_32(3276736496);
+emit_32(3265019904);
+emit_32(1101303015);
+emit_32(3276736496);
+emit_32(3264507911);
+emit_32(1101081556);
+emit_32(3276736496);
+emit_32(3263995904);
+emit_32(1100970826);
+emit_32(3276736496);
+emit_32(3263483911);
+emit_32(1101242984);
+emit_32(3276736496);
+emit_32(3262775296);
+emit_32(1102057728);
+emit_32(3276736496);
+emit_32(3261751309);
+emit_32(1102727925);
+emit_32(3276736496);
+emit_32(3260727296);
+emit_32(1102747638);
+emit_32(3276736496);
+emit_32(3259703309);
+emit_32(1102584322);
+emit_32(3276736496);
+emit_32(3258679296);
+emit_32(1102811234);
+emit_32(3276736496);
+emit_32(3257655309);
+emit_32(1102829742);
+emit_32(3276736496);
+emit_32(3256631296);
+emit_32(1103344278);
+emit_32(3276736496);
+emit_32(3255607309);
+emit_32(1103685065);
+emit_32(3276736496);
+emit_32(3254386688);
+emit_32(1103826413);
+emit_32(3276736496);
+emit_32(3252338714);
+emit_32(1103104626);
+emit_32(3276736496);
+emit_32(3250290688);
+emit_32(1102261571);
+emit_32(3276736496);
+emit_32(3248242714);
+emit_32(1102829899);
+emit_32(3276736496);
+emit_32(3245998080);
+emit_32(1103020530);
+emit_32(3276736496);
+emit_32(3241902132);
+emit_32(1102258477);
+emit_32(3276736496);
+emit_32(3237609472);
+emit_32(1101911084);
+emit_32(3276736496);
+emit_32(3229220864);
+emit_32(1101090364);
+emit_32(3276736496);
+emit_32(0);
+emit_32(1100301573);
+emit_32(3276736496);
+emit_32(1081737216);
+emit_32(1100121322);
+emit_32(3276736496);
+emit_32(3279552512);
+emit_32(1099773614);
+emit_32(3276992545);
+emit_32(3279296528);
+emit_32(1099858287);
+emit_32(3276992545);
+emit_32(3279040545);
+emit_32(1099688523);
+emit_32(3276992545);
+emit_32(3278784496);
+emit_32(1099279211);
+emit_32(3276992545);
+emit_32(3278528512);
+emit_32(1098814430);
+emit_32(3276992545);
+emit_32(3278272528);
+emit_32(1099260651);
+emit_32(3276992545);
+emit_32(3278016545);
+emit_32(1099269983);
+emit_32(3276992545);
+emit_32(3277760496);
+emit_32(1097458201);
+emit_32(3276992545);
+emit_32(3277504512);
+emit_32(1096491624);
+emit_32(3276992545);
+emit_32(3277248528);
+emit_32(1094951371);
+emit_32(3276992545);
+emit_32(3276992545);
+emit_32(1094228482);
+emit_32(3276992545);
+emit_32(3276736496);
+emit_32(1094425929);
+emit_32(3276992545);
+emit_32(3276480512);
+emit_32(1094168504);
+emit_32(3276992545);
+emit_32(3276224528);
+emit_32(1094579965);
+emit_32(3276992545);
+emit_32(3275968545);
+emit_32(1094436205);
+emit_32(3276992545);
+emit_32(3275712496);
+emit_32(1093278787);
+emit_32(3276992545);
+emit_32(3275456512);
+emit_32(1093351873);
+emit_32(3276992545);
+emit_32(3275200528);
+emit_32(1092131865);
+emit_32(3276992545);
+emit_32(3274944545);
+emit_32(1092250753);
+emit_32(3276992545);
+emit_32(3274688496);
+emit_32(1092049888);
+emit_32(3276992545);
+emit_32(3274432512);
+emit_32(1092031821);
+emit_32(3276992545);
+emit_32(3274176528);
+emit_32(1090545517);
+emit_32(3276992545);
+emit_32(3273920545);
+emit_32(1087815580);
+emit_32(3276992545);
+emit_32(3273664496);
+emit_32(1088895152);
+emit_32(3276992545);
+emit_32(3273408512);
+emit_32(1089520607);
+emit_32(3276992545);
+emit_32(3273152528);
+emit_32(1091009407);
+emit_32(3276992545);
+emit_32(3272896545);
+emit_32(1091156585);
+emit_32(3276992545);
+emit_32(3272640496);
+emit_32(1092501331);
+emit_32(3276992545);
+emit_32(3272384512);
+emit_32(1093577002);
+emit_32(3276992545);
+emit_32(3272128528);
+emit_32(1094131384);
+emit_32(3276992545);
+emit_32(3271872545);
+emit_32(1095441999);
+emit_32(3276992545);
+emit_32(3271616496);
+emit_32(1096144126);
+emit_32(3276992545);
+emit_32(3271163904);
+emit_32(1097375574);
+emit_32(3276992545);
+emit_32(3270651937);
+emit_32(1097616746);
+emit_32(3276992545);
+emit_32(3270139970);
+emit_32(1098727817);
+emit_32(3276992545);
+emit_32(3269627871);
+emit_32(1098389442);
+emit_32(3276992545);
+emit_32(3269115904);
+emit_32(1097181902);
+emit_32(3276992545);
+emit_32(3268603937);
+emit_32(1097851522);
+emit_32(3276992545);
+emit_32(3268091970);
+emit_32(1097817234);
+emit_32(3276992545);
+emit_32(3267579911);
+emit_32(1098027054);
+emit_32(3276992545);
+emit_32(3267067904);
+emit_32(1098025691);
+emit_32(3276992545);
+emit_32(3266555911);
+emit_32(1099190816);
+emit_32(3276992545);
+emit_32(3266043904);
+emit_32(1100082420);
+emit_32(3276992545);
+emit_32(3265531911);
+emit_32(1100900257);
+emit_32(3276992545);
+emit_32(3265019904);
+emit_32(1101488351);
+emit_32(3276992545);
+emit_32(3264507911);
+emit_32(1101299188);
+emit_32(3276992545);
+emit_32(3263995904);
+emit_32(1101555565);
+emit_32(3276992545);
+emit_32(3263483911);
+emit_32(1101541671);
+emit_32(3276992545);
+emit_32(3262775296);
+emit_32(1101907414);
+emit_32(3276992545);
+emit_32(3261751309);
+emit_32(1102511446);
+emit_32(3276992545);
+emit_32(3260727296);
+emit_32(1102908490);
+emit_32(3276992545);
+emit_32(3259703309);
+emit_32(1102906130);
+emit_32(3276992545);
+emit_32(3258679296);
+emit_32(1102873153);
+emit_32(3276992545);
+emit_32(3257655309);
+emit_32(1103170057);
+emit_32(3276992545);
+emit_32(3256631296);
+emit_32(1103437234);
+emit_32(3276992545);
+emit_32(3255607309);
+emit_32(1103795952);
+emit_32(3276992545);
+emit_32(3254386688);
+emit_32(1103493018);
+emit_32(3276992545);
+emit_32(3252338714);
+emit_32(1102175378);
+emit_32(3276992545);
+emit_32(3250290688);
+emit_32(1101859861);
+emit_32(3276992545);
+emit_32(3248242714);
+emit_32(1102213756);
+emit_32(3276992545);
+emit_32(3245998080);
+emit_32(1102152676);
+emit_32(3276992545);
+emit_32(3241902132);
+emit_32(1101638559);
+emit_32(3276992545);
+emit_32(3237609472);
+emit_32(1101182167);
+emit_32(3276992545);
+emit_32(3229220864);
+emit_32(1100207830);
+emit_32(3276992545);
+emit_32(0);
+emit_32(1099526308);
+emit_32(3276992545);
+emit_32(1081737216);
+emit_32(1099020213);
+emit_32(3276992545);
+emit_32(3279552512);
+emit_32(1099775187);
+emit_32(3277248528);
+emit_32(3279296528);
+emit_32(1099528667);
+emit_32(3277248528);
+emit_32(3279040545);
+emit_32(1099794376);
+emit_32(3277248528);
+emit_32(3278784496);
+emit_32(1099371223);
+emit_32(3277248528);
+emit_32(3278528512);
+emit_32(1097562220);
+emit_32(3277248528);
+emit_32(3278272528);
+emit_32(1098308597);
+emit_32(3277248528);
+emit_32(3278016545);
+emit_32(1097403885);
+emit_32(3277248528);
+emit_32(3277760496);
+emit_32(1095946050);
+emit_32(3277248528);
+emit_32(3277504512);
+emit_32(1094735364);
+emit_32(3277248528);
+emit_32(3277248528);
+emit_32(1094678007);
+emit_32(3277248528);
+emit_32(3276992545);
+emit_32(1095274332);
+emit_32(3277248528);
+emit_32(3276736496);
+emit_32(1095321728);
+emit_32(3277248528);
+emit_32(3276480512);
+emit_32(1095493170);
+emit_32(3277248528);
+emit_32(3276224528);
+emit_32(1095747135);
+emit_32(3277248528);
+emit_32(3275968545);
+emit_32(1095522216);
+emit_32(3277248528);
+emit_32(3275712496);
+emit_32(1094690590);
+emit_32(3277248528);
+emit_32(3275456512);
+emit_32(1094638056);
+emit_32(3277248528);
+emit_32(3275200528);
+emit_32(1093416570);
+emit_32(3277248528);
+emit_32(3274944545);
+emit_32(1092979314);
+emit_32(3277248528);
+emit_32(3274688496);
+emit_32(1092811961);
+emit_32(3277248528);
+emit_32(3274432512);
+emit_32(1093012554);
+emit_32(3277248528);
+emit_32(3274176528);
+emit_32(1091374384);
+emit_32(3277248528);
+emit_32(3273920545);
+emit_32(1089032851);
+emit_32(3277248528);
+emit_32(3273664496);
+emit_32(1090993437);
+emit_32(3277248528);
+emit_32(3273408512);
+emit_32(1092377368);
+emit_32(3277248528);
+emit_32(3273152528);
+emit_32(1093095077);
+emit_32(3277248528);
+emit_32(3272896545);
+emit_32(1093715519);
+emit_32(3277248528);
+emit_32(3272640496);
+emit_32(1094921486);
+emit_32(3277248528);
+emit_32(3272384512);
+emit_32(1096565129);
+emit_32(3277248528);
+emit_32(3272128528);
+emit_32(1097767112);
+emit_32(3277248528);
+emit_32(3271872545);
+emit_32(1098339005);
+emit_32(3277248528);
+emit_32(3271616496);
+emit_32(1099085958);
+emit_32(3277248528);
+emit_32(3271163904);
+emit_32(1099220281);
+emit_32(3277248528);
+emit_32(3270651937);
+emit_32(1099411227);
+emit_32(3277248528);
+emit_32(3270139970);
+emit_32(1099194958);
+emit_32(3277248528);
+emit_32(3269627871);
+emit_32(1099275174);
+emit_32(3277248528);
+emit_32(3269115904);
+emit_32(1099273968);
+emit_32(3277248528);
+emit_32(3268603937);
+emit_32(1098980681);
+emit_32(3277248528);
+emit_32(3268091970);
+emit_32(1098318243);
+emit_32(3277248528);
+emit_32(3267579911);
+emit_32(1098900413);
+emit_32(3277248528);
+emit_32(3267067904);
+emit_32(1099325086);
+emit_32(3277248528);
+emit_32(3266555911);
+emit_32(1100242695);
+emit_32(3277248528);
+emit_32(3266043904);
+emit_32(1101153383);
+emit_32(3277248528);
+emit_32(3265531911);
+emit_32(1101448505);
+emit_32(3277248528);
+emit_32(3265019904);
+emit_32(1101666976);
+emit_32(3277248528);
+emit_32(3264507911);
+emit_32(1102125203);
+emit_32(3277248528);
+emit_32(3263995904);
+emit_32(1102137996);
+emit_32(3277248528);
+emit_32(3263483911);
+emit_32(1101933104);
+emit_32(3277248528);
+emit_32(3262775296);
+emit_32(1102603669);
+emit_32(3277248528);
+emit_32(3261751309);
+emit_32(1102617615);
+emit_32(3277248528);
+emit_32(3260727296);
+emit_32(1103215355);
+emit_32(3277248528);
+emit_32(3259703309);
+emit_32(1103071281);
+emit_32(3277248528);
+emit_32(3258679296);
+emit_32(1102637957);
+emit_32(3277248528);
+emit_32(3257655309);
+emit_32(1103331118);
+emit_32(3277248528);
+emit_32(3256631296);
+emit_32(1104015943);
+emit_32(3277248528);
+emit_32(3255607309);
+emit_32(1103436710);
+emit_32(3277248528);
+emit_32(3254386688);
+emit_32(1102725618);
+emit_32(3277248528);
+emit_32(3252338714);
+emit_32(1101979084);
+emit_32(3277248528);
+emit_32(3250290688);
+emit_32(1101652401);
+emit_32(3277248528);
+emit_32(3248242714);
+emit_32(1101690778);
+emit_32(3277248528);
+emit_32(3245998080);
+emit_32(1101385643);
+emit_32(3277248528);
+emit_32(3241902132);
+emit_32(1100831785);
+emit_32(3277248528);
+emit_32(3237609472);
+emit_32(1100385721);
+emit_32(3277248528);
+emit_32(3229220864);
+emit_32(1099248645);
+emit_32(3277248528);
+emit_32(0);
+emit_32(1097731041);
+emit_32(3277248528);
+emit_32(1081737216);
+emit_32(1097108292);
+emit_32(3277248528);
+emit_32(3279552512);
+emit_32(1099513148);
+emit_32(3277504512);
+emit_32(3279296528);
+emit_32(1099237687);
+emit_32(3277504512);
+emit_32(3279040545);
+emit_32(1099823002);
+emit_32(3277504512);
+emit_32(3278784496);
+emit_32(1099636094);
+emit_32(3277504512);
+emit_32(3278528512);
+emit_32(1098146172);
+emit_32(3277504512);
+emit_32(3278272528);
+emit_32(1096179673);
+emit_32(3277504512);
+emit_32(3278016545);
+emit_32(1095619209);
+emit_32(3277504512);
+emit_32(3277760496);
+emit_32(1095051510);
+emit_32(3277504512);
+emit_32(3277504512);
+emit_32(1094914041);
+emit_32(3277504512);
+emit_32(3277248528);
+emit_32(1095143680);
+emit_32(3277504512);
+emit_32(3276992545);
+emit_32(1095686213);
+emit_32(3277504512);
+emit_32(3276736496);
+emit_32(1096167719);
+emit_32(3277504512);
+emit_32(3276480512);
+emit_32(1096217212);
+emit_32(3277504512);
+emit_32(3276224528);
+emit_32(1095494009);
+emit_32(3277504512);
+emit_32(3275968545);
+emit_32(1095282721);
+emit_32(3277504512);
+emit_32(3275712496);
+emit_32(1094864024);
+emit_32(3277504512);
+emit_32(3275456512);
+emit_32(1095079402);
+emit_32(3277504512);
+emit_32(3275200528);
+emit_32(1093909506);
+emit_32(3277504512);
+emit_32(3274944545);
+emit_32(1094085876);
+emit_32(3277504512);
+emit_32(3274688496);
+emit_32(1093922193);
+emit_32(3277504512);
+emit_32(3274432512);
+emit_32(1093002173);
+emit_32(3277504512);
+emit_32(3274176528);
+emit_32(1091809376);
+emit_32(3277504512);
+emit_32(3273920545);
+emit_32(1090895154);
+emit_32(3277504512);
+emit_32(3273664496);
+emit_32(1092994938);
+emit_32(3277504512);
+emit_32(3273408512);
+emit_32(1094548613);
+emit_32(3277504512);
+emit_32(3273152528);
+emit_32(1095987783);
+emit_32(3277504512);
+emit_32(3272896545);
+emit_32(1096416022);
+emit_32(3277504512);
+emit_32(3272640496);
+emit_32(1097685323);
+emit_32(3277504512);
+emit_32(3272384512);
+emit_32(1098440927);
+emit_32(3277504512);
+emit_32(3272128528);
+emit_32(1099405512);
+emit_32(3277504512);
+emit_32(3271872545);
+emit_32(1099913599);
+emit_32(3277504512);
+emit_32(3271616496);
+emit_32(1099823422);
+emit_32(3277504512);
+emit_32(3271163904);
+emit_32(1099863373);
+emit_32(3277504512);
+emit_32(3270651937);
+emit_32(1099663042);
+emit_32(3277504512);
+emit_32(3270139970);
+emit_32(1099637929);
+emit_32(3277504512);
+emit_32(3269627871);
+emit_32(1099948936);
+emit_32(3277504512);
+emit_32(3269115904);
+emit_32(1099967024);
+emit_32(3277504512);
+emit_32(3268603937);
+emit_32(1099787770);
+emit_32(3277504512);
+emit_32(3268091970);
+emit_32(1099629540);
+emit_32(3277504512);
+emit_32(3267579911);
+emit_32(1099729889);
+emit_32(3277504512);
+emit_32(3267067904);
+emit_32(1099959737);
+emit_32(3277504512);
+emit_32(3266555911);
+emit_32(1100461585);
+emit_32(3277504512);
+emit_32(3266043904);
+emit_32(1101443996);
+emit_32(3277504512);
+emit_32(3265531911);
+emit_32(1102161904);
+emit_32(3277504512);
+emit_32(3265019904);
+emit_32(1102642623);
+emit_32(3277504512);
+emit_32(3264507911);
+emit_32(1102254703);
+emit_32(3277504512);
+emit_32(3263995904);
+emit_32(1102207464);
+emit_32(3277504512);
+emit_32(3263483911);
+emit_32(1101959424);
+emit_32(3277504512);
+emit_32(3262775296);
+emit_32(1102549248);
+emit_32(3277504512);
+emit_32(3261751309);
+emit_32(1103235488);
+emit_32(3277504512);
+emit_32(3260727296);
+emit_32(1103408923);
+emit_32(3277504512);
+emit_32(3259703309);
+emit_32(1103077258);
+emit_32(3277504512);
+emit_32(3258679296);
+emit_32(1102537084);
+emit_32(3277504512);
+emit_32(3257655309);
+emit_32(1103679455);
+emit_32(3277504512);
+emit_32(3256631296);
+emit_32(1103709654);
+emit_32(3277504512);
+emit_32(3255607309);
+emit_32(1102899891);
+emit_32(3277504512);
+emit_32(3254386688);
+emit_32(1101944534);
+emit_32(3277504512);
+emit_32(3252338714);
+emit_32(1101169793);
+emit_32(3277504512);
+emit_32(3250290688);
+emit_32(1100964273);
+emit_32(3277504512);
+emit_32(3248242714);
+emit_32(1101176085);
+emit_32(3277504512);
+emit_32(3245998080);
+emit_32(1100580284);
+emit_32(3277504512);
+emit_32(3241902132);
+emit_32(1099596143);
+emit_32(3277504512);
+emit_32(3237609472);
+emit_32(1099177394);
+emit_32(3277504512);
+emit_32(3229220864);
+emit_32(1098487274);
+emit_32(3277504512);
+emit_32(0);
+emit_32(1096586625);
+emit_32(3277504512);
+emit_32(1081737216);
+emit_32(1096047133);
+emit_32(3277504512);
+emit_32(3279552512);
+emit_32(1099302751);
+emit_32(3277760496);
+emit_32(3279296528);
+emit_32(1099310930);
+emit_32(3277760496);
+emit_32(3279040545);
+emit_32(1099757833);
+emit_32(3277760496);
+emit_32(3278784496);
+emit_32(1099826410);
+emit_32(3277760496);
+emit_32(3278528512);
+emit_32(1098603771);
+emit_32(3277760496);
+emit_32(3278272528);
+emit_32(1096803575);
+emit_32(3277760496);
+emit_32(3278016545);
+emit_32(1095899388);
+emit_32(3277760496);
+emit_32(3277760496);
+emit_32(1096413925);
+emit_32(3277760496);
+emit_32(3277504512);
+emit_32(1096685925);
+emit_32(3277760496);
+emit_32(3277248528);
+emit_32(1096488373);
+emit_32(3277760496);
+emit_32(3276992545);
+emit_32(1096023854);
+emit_32(3277760496);
+emit_32(3276736496);
+emit_32(1096726505);
+emit_32(3277760496);
+emit_32(3276480512);
+emit_32(1097672845);
+emit_32(3277760496);
+emit_32(3276224528);
+emit_32(1097630587);
+emit_32(3277760496);
+emit_32(3275968545);
+emit_32(1097242300);
+emit_32(3277760496);
+emit_32(3275712496);
+emit_32(1096015780);
+emit_32(3277760496);
+emit_32(3275456512);
+emit_32(1095966707);
+emit_32(3277760496);
+emit_32(3275200528);
+emit_32(1094654729);
+emit_32(3277760496);
+emit_32(3274944545);
+emit_32(1094504258);
+emit_32(3277760496);
+emit_32(3274688496);
+emit_32(1093927856);
+emit_32(3277760496);
+emit_32(3274432512);
+emit_32(1092392111);
+emit_32(3277760496);
+emit_32(3274176528);
+emit_32(1091411231);
+emit_32(3277760496);
+emit_32(3273920545);
+emit_32(1093339290);
+emit_32(3277760496);
+emit_32(3273664496);
+emit_32(1095670904);
+emit_32(3277760496);
+emit_32(3273408512);
+emit_32(1096393163);
+emit_32(3277760496);
+emit_32(3273152528);
+emit_32(1098248199);
+emit_32(3277760496);
+emit_32(3272896545);
+emit_32(1099000342);
+emit_32(3277760496);
+emit_32(3272640496);
+emit_32(1099390150);
+emit_32(3277760496);
+emit_32(3272384512);
+emit_32(1099453117);
+emit_32(3277760496);
+emit_32(3272128528);
+emit_32(1100216690);
+emit_32(3277760496);
+emit_32(3271872545);
+emit_32(1100387294);
+emit_32(3277760496);
+emit_32(3271616496);
+emit_32(1100623957);
+emit_32(3277760496);
+emit_32(3271163904);
+emit_32(1100583063);
+emit_32(3277760496);
+emit_32(3270651937);
+emit_32(1100270692);
+emit_32(3277760496);
+emit_32(3270139970);
+emit_32(1100221199);
+emit_32(3277760496);
+emit_32(3269627871);
+emit_32(1100837028);
+emit_32(3277760496);
+emit_32(3269115904);
+emit_32(1100744648);
+emit_32(3277760496);
+emit_32(3268603937);
+emit_32(1100729496);
+emit_32(3277760496);
+emit_32(3268091970);
+emit_32(1100349650);
+emit_32(3277760496);
+emit_32(3267579911);
+emit_32(1100277141);
+emit_32(3277760496);
+emit_32(3267067904);
+emit_32(1100539180);
+emit_32(3277760496);
+emit_32(3266555911);
+emit_32(1101285137);
+emit_32(3277760496);
+emit_32(3266043904);
+emit_32(1101760404);
+emit_32(3277760496);
+emit_32(3265531911);
+emit_32(1102151418);
+emit_32(3277760496);
+emit_32(3265019904);
+emit_32(1102545368);
+emit_32(3277760496);
+emit_32(3264507911);
+emit_32(1102327369);
+emit_32(3277760496);
+emit_32(3263995904);
+emit_32(1102437312);
+emit_32(3277760496);
+emit_32(3263483911);
+emit_32(1102836190);
+emit_32(3277760496);
+emit_32(3262775296);
+emit_32(1103463449);
+emit_32(3277760496);
+emit_32(3261751309);
+emit_32(1103612871);
+emit_32(3277760496);
+emit_32(3260727296);
+emit_32(1103521907);
+emit_32(3277760496);
+emit_32(3259703309);
+emit_32(1102694842);
+emit_32(3277760496);
+emit_32(3258679296);
+emit_32(1102314104);
+emit_32(3277760496);
+emit_32(3257655309);
+emit_32(1103092829);
+emit_32(3277760496);
+emit_32(3256631296);
+emit_32(1102811392);
+emit_32(3277760496);
+emit_32(3255607309);
+emit_32(1102399406);
+emit_32(3277760496);
+emit_32(3254386688);
+emit_32(1101424807);
+emit_32(3277760496);
+emit_32(3252338714);
+emit_32(1100416025);
+emit_32(3277760496);
+emit_32(3250290688);
+emit_32(1099956172);
+emit_32(3277760496);
+emit_32(3248242714);
+emit_32(1100071882);
+emit_32(3277760496);
+emit_32(3245998080);
+emit_32(1099877633);
+emit_32(3277760496);
+emit_32(3241902132);
+emit_32(1099019059);
+emit_32(3277760496);
+emit_32(3237609472);
+emit_32(1098372560);
+emit_32(3277760496);
+emit_32(3229220864);
+emit_32(1097025244);
+emit_32(3277760496);
+emit_32(0);
+emit_32(1095913230);
+emit_32(3277760496);
+emit_32(1081737216);
+emit_32(1095782787);
+emit_32(3277760496);
+emit_32(3279552512);
+emit_32(1098903349);
+emit_32(3278016545);
+emit_32(3279296528);
+emit_32(1099112225);
+emit_32(3278016545);
+emit_32(3279040545);
+emit_32(1099559495);
+emit_32(3278016545);
+emit_32(3278784496);
+emit_32(1099374422);
+emit_32(3278016545);
+emit_32(3278528512);
+emit_32(1099044802);
+emit_32(3278016545);
+emit_32(3278272528);
+emit_32(1099082498);
+emit_32(3278016545);
+emit_32(3278016545);
+emit_32(1098243061);
+emit_32(3278016545);
+emit_32(3277760496);
+emit_32(1097484626);
+emit_32(3278016545);
+emit_32(3277504512);
+emit_32(1098172282);
+emit_32(3278016545);
+emit_32(3277248528);
+emit_32(1097990039);
+emit_32(3278016545);
+emit_32(3276992545);
+emit_32(1097473301);
+emit_32(3278016545);
+emit_32(3276736496);
+emit_32(1098280600);
+emit_32(3278016545);
+emit_32(3276480512);
+emit_32(1098467561);
+emit_32(3278016545);
+emit_32(3276224528);
+emit_32(1098700449);
+emit_32(3278016545);
+emit_32(3275968545);
+emit_32(1097813354);
+emit_32(3278016545);
+emit_32(3275712496);
+emit_32(1097573020);
+emit_32(3278016545);
+emit_32(3275456512);
+emit_32(1096889034);
+emit_32(3278016545);
+emit_32(3275200528);
+emit_32(1095010930);
+emit_32(3278016545);
+emit_32(3274944545);
+emit_32(1094741446);
+emit_32(3278016545);
+emit_32(3274688496);
+emit_32(1093564105);
+emit_32(3278016545);
+emit_32(3274432512);
+emit_32(1092621330);
+emit_32(3278016545);
+emit_32(3274176528);
+emit_32(1092464757);
+emit_32(3278016545);
+emit_32(3273920545);
+emit_32(1094580175);
+emit_32(3278016545);
+emit_32(3273664496);
+emit_32(1096882219);
+emit_32(3278016545);
+emit_32(3273408512);
+emit_32(1098358718);
+emit_32(3278016545);
+emit_32(3273152528);
+emit_32(1099298662);
+emit_32(3278016545);
+emit_32(3272896545);
+emit_32(1099922617);
+emit_32(3278016545);
+emit_32(3272640496);
+emit_32(1100192521);
+emit_32(3278016545);
+emit_32(3272384512);
+emit_32(1100137470);
+emit_32(3278016545);
+emit_32(3272128528);
+emit_32(1101007893);
+emit_32(3278016545);
+emit_32(3271872545);
+emit_32(1101168640);
+emit_32(3278016545);
+emit_32(3271616496);
+emit_32(1100874252);
+emit_32(3278016545);
+emit_32(3271163904);
+emit_32(1100904346);
+emit_32(3278016545);
+emit_32(3270651937);
+emit_32(1100957142);
+emit_32(3278016545);
+emit_32(3270139970);
+emit_32(1101183110);
+emit_32(3278016545);
+emit_32(3269627871);
+emit_32(1101430574);
+emit_32(3278016545);
+emit_32(3269115904);
+emit_32(1101303906);
+emit_32(3278016545);
+emit_32(3268603937);
+emit_32(1101524317);
+emit_32(3278016545);
+emit_32(3268091970);
+emit_32(1101223481);
+emit_32(3278016545);
+emit_32(3267579911);
+emit_32(1100917768);
+emit_32(3278016545);
+emit_32(3267067904);
+emit_32(1100967523);
+emit_32(3278016545);
+emit_32(3266555911);
+emit_32(1101230506);
+emit_32(3278016545);
+emit_32(3266043904);
+emit_32(1101743889);
+emit_32(3278016545);
+emit_32(3265531911);
+emit_32(1102035865);
+emit_32(3278016545);
+emit_32(3265019904);
+emit_32(1102327683);
+emit_32(3278016545);
+emit_32(3264507911);
+emit_32(1102160803);
+emit_32(3278016545);
+emit_32(3263995904);
+emit_32(1102422737);
+emit_32(3278016545);
+emit_32(3263483911);
+emit_32(1102993582);
+emit_32(3278016545);
+emit_32(3262775296);
+emit_32(1103413274);
+emit_32(3278016545);
+emit_32(3261751309);
+emit_32(1103424966);
+emit_32(3278016545);
+emit_32(3260727296);
+emit_32(1102892656);
+emit_32(3278016545);
+emit_32(3259703309);
+emit_32(1102022495);
+emit_32(3278016545);
+emit_32(3258679296);
+emit_32(1101852259);
+emit_32(3278016545);
+emit_32(3257655309);
+emit_32(1102344408);
+emit_32(3278016545);
+emit_32(3256631296);
+emit_32(1102317198);
+emit_32(3278016545);
+emit_32(3255607309);
+emit_32(1101799883);
+emit_32(3278016545);
+emit_32(3254386688);
+emit_32(1100918922);
+emit_32(3278016545);
+emit_32(3252338714);
+emit_32(1099744779);
+emit_32(3278016545);
+emit_32(3250290688);
+emit_32(1098585945);
+emit_32(3278016545);
+emit_32(3248242714);
+emit_32(1098674235);
+emit_32(3278016545);
+emit_32(3245998080);
+emit_32(1098530685);
+emit_32(3278016545);
+emit_32(3241902132);
+emit_32(1097602066);
+emit_32(3278016545);
+emit_32(3237609472);
+emit_32(1097146565);
+emit_32(3278016545);
+emit_32(3229220864);
+emit_32(1096070935);
+emit_32(3278016545);
+emit_32(0);
+emit_32(1094636379);
+emit_32(3278016545);
+emit_32(1081737216);
+emit_32(1094685347);
+emit_32(3278016545);
+emit_32(3279552512);
+emit_32(1098113142);
+emit_32(3278272528);
+emit_32(3279296528);
+emit_32(1099020003);
+emit_32(3278272528);
+emit_32(3279040545);
+emit_32(1099561016);
+emit_32(3278272528);
+emit_32(3278784496);
+emit_32(1099848273);
+emit_32(3278272528);
+emit_32(3278528512);
+emit_32(1100167460);
+emit_32(3278272528);
+emit_32(3278272528);
+emit_32(1100256431);
+emit_32(3278272528);
+emit_32(3278016545);
+emit_32(1099679872);
+emit_32(3278272528);
+emit_32(3277760496);
+emit_32(1098851759);
+emit_32(3278272528);
+emit_32(3277504512);
+emit_32(1098385562);
+emit_32(3278272528);
+emit_32(3277248528);
+emit_32(1098603142);
+emit_32(3278272528);
+emit_32(3276992545);
+emit_32(1098517158);
+emit_32(3278272528);
+emit_32(3276736496);
+emit_32(1098595697);
+emit_32(3278272528);
+emit_32(3276480512);
+emit_32(1097738591);
+emit_32(3278272528);
+emit_32(3276224528);
+emit_32(1097722757);
+emit_32(3278272528);
+emit_32(3275968545);
+emit_32(1097226886);
+emit_32(3278272528);
+emit_32(3275712496);
+emit_32(1097415629);
+emit_32(3278272528);
+emit_32(3275456512);
+emit_32(1096617873);
+emit_32(3278272528);
+emit_32(3275200528);
+emit_32(1095510786);
+emit_32(3278272528);
+emit_32(3274944545);
+emit_32(1095328858);
+emit_32(3278272528);
+emit_32(3274688496);
+emit_32(1093740999);
+emit_32(3278272528);
+emit_32(3274432512);
+emit_32(1092633598);
+emit_32(3278272528);
+emit_32(3274176528);
+emit_32(1095320155);
+emit_32(3278272528);
+emit_32(3273920545);
+emit_32(1096140771);
+emit_32(3278272528);
+emit_32(3273664496);
+emit_32(1097600808);
+emit_32(3278272528);
+emit_32(3273408512);
+emit_32(1098894960);
+emit_32(3278272528);
+emit_32(3273152528);
+emit_32(1099788032);
+emit_32(3278272528);
+emit_32(3272896545);
+emit_32(1100230112);
+emit_32(3278272528);
+emit_32(3272640496);
+emit_32(1100219731);
+emit_32(3278272528);
+emit_32(3272384512);
+emit_32(1100734897);
+emit_32(3278272528);
+emit_32(3272128528);
+emit_32(1101173726);
+emit_32(3278272528);
+emit_32(3271872545);
+emit_32(1101152072);
+emit_32(3278272528);
+emit_32(3271616496);
+emit_32(1101550479);
+emit_32(3278272528);
+emit_32(3271163904);
+emit_32(1101252736);
+emit_32(3278272528);
+emit_32(3270651937);
+emit_32(1101467694);
+emit_32(3278272528);
+emit_32(3270139970);
+emit_32(1101808009);
+emit_32(3278272528);
+emit_32(3269627871);
+emit_32(1101705930);
+emit_32(3278272528);
+emit_32(3269115904);
+emit_32(1102054110);
+emit_32(3278272528);
+emit_32(3268603937);
+emit_32(1102131180);
+emit_32(3278272528);
+emit_32(3268091970);
+emit_32(1101898868);
+emit_32(3278272528);
+emit_32(3267579911);
+emit_32(1101280313);
+emit_32(3278272528);
+emit_32(3267067904);
+emit_32(1100809188);
+emit_32(3278272528);
+emit_32(3266555911);
+emit_32(1101005429);
+emit_32(3278272528);
+emit_32(3266043904);
+emit_32(1101565631);
+emit_32(3278272528);
+emit_32(3265531911);
+emit_32(1101958585);
+emit_32(3278272528);
+emit_32(3265019904);
+emit_32(1102447903);
+emit_32(3278272528);
+emit_32(3264507911);
+emit_32(1102259526);
+emit_32(3278272528);
+emit_32(3263995904);
+emit_32(1102073456);
+emit_32(3278272528);
+emit_32(3263483911);
+emit_32(1102367372);
+emit_32(3278272528);
+emit_32(3262775296);
+emit_32(1102600104);
+emit_32(3278272528);
+emit_32(3261751309);
+emit_32(1102289935);
+emit_32(3278272528);
+emit_32(3260727296);
+emit_32(1101835692);
+emit_32(3278272528);
+emit_32(3259703309);
+emit_32(1101049364);
+emit_32(3278272528);
+emit_32(3258679296);
+emit_32(1100957929);
+emit_32(3278272528);
+emit_32(3257655309);
+emit_32(1101280366);
+emit_32(3278272528);
+emit_32(3256631296);
+emit_32(1101113432);
+emit_32(3278272528);
+emit_32(3255607309);
+emit_32(1100449789);
+emit_32(3278272528);
+emit_32(3254386688);
+emit_32(1099921726);
+emit_32(3278272528);
+emit_32(3252338714);
+emit_32(1098223138);
+emit_32(3278272528);
+emit_32(3250290688);
+emit_32(1095989776);
+emit_32(3278272528);
+emit_32(3248242714);
+emit_32(1095913754);
+emit_32(3278272528);
+emit_32(3245998080);
+emit_32(1096548981);
+emit_32(3278272528);
+emit_32(3241902132);
+emit_32(1095493380);
+emit_32(3278272528);
+emit_32(3237609472);
+emit_32(1095273074);
+emit_32(3278272528);
+emit_32(3229220864);
+emit_32(1094758957);
+emit_32(3278272528);
+emit_32(0);
+emit_32(1093715414);
+emit_32(3278272528);
+emit_32(1081737216);
+emit_32(1093100529);
+emit_32(3278272528);
+emit_32(3279552512);
+emit_32(1098580387);
+emit_32(3278528512);
+emit_32(3279296528);
+emit_32(1099781479);
+emit_32(3278528512);
+emit_32(3279040545);
+emit_32(1100398041);
+emit_32(3278528512);
+emit_32(3278784496);
+emit_32(1100822715);
+emit_32(3278528512);
+emit_32(3278528512);
+emit_32(1100898841);
+emit_32(3278528512);
+emit_32(3278272528);
+emit_32(1100936538);
+emit_32(3278528512);
+emit_32(3278016545);
+emit_32(1100571528);
+emit_32(3278528512);
+emit_32(3277760496);
+emit_32(1099431674);
+emit_32(3278528512);
+emit_32(3277504512);
+emit_32(1098338586);
+emit_32(3278528512);
+emit_32(3277248528);
+emit_32(1098519046);
+emit_32(3278528512);
+emit_32(3276992545);
+emit_32(1098311533);
+emit_32(3278528512);
+emit_32(3276736496);
+emit_32(1097988991);
+emit_32(3278528512);
+emit_32(3276480512);
+emit_32(1097511993);
+emit_32(3278528512);
+emit_32(3276224528);
+emit_32(1097291373);
+emit_32(3278528512);
+emit_32(3275968545);
+emit_32(1096949852);
+emit_32(3278528512);
+emit_32(3275712496);
+emit_32(1096869007);
+emit_32(3278528512);
+emit_32(3275456512);
+emit_32(1096154717);
+emit_32(3278528512);
+emit_32(3275200528);
+emit_32(1096008126);
+emit_32(3278528512);
+emit_32(3274944545);
+emit_32(1096113612);
+emit_32(3278528512);
+emit_32(3274688496);
+emit_32(1094873986);
+emit_32(3278528512);
+emit_32(3274432512);
+emit_32(1094166512);
+emit_32(3278528512);
+emit_32(3274176528);
+emit_32(1095465592);
+emit_32(3278528512);
+emit_32(3273920545);
+emit_32(1096875193);
+emit_32(3278528512);
+emit_32(3273664496);
+emit_32(1098212128);
+emit_32(3278528512);
+emit_32(3273408512);
+emit_32(1099232497);
+emit_32(3278528512);
+emit_32(3273152528);
+emit_32(1099782003);
+emit_32(3278528512);
+emit_32(3272896545);
+emit_32(1100205261);
+emit_32(3278528512);
+emit_32(3272640496);
+emit_32(1100910690);
+emit_32(3278528512);
+emit_32(3272384512);
+emit_32(1100846098);
+emit_32(3278528512);
+emit_32(3272128528);
+emit_32(1101316856);
+emit_32(3278528512);
+emit_32(3271872545);
+emit_32(1101188668);
+emit_32(3278528512);
+emit_32(3271616496);
+emit_32(1101462451);
+emit_32(3278528512);
+emit_32(3271163904);
+emit_32(1102020713);
+emit_32(3278528512);
+emit_32(3270651937);
+emit_32(1101996543);
+emit_32(3278528512);
+emit_32(3270139970);
+emit_32(1102033138);
+emit_32(3278528512);
+emit_32(3269627871);
+emit_32(1102145231);
+emit_32(3278528512);
+emit_32(3269115904);
+emit_32(1102204423);
+emit_32(3278528512);
+emit_32(3268603937);
+emit_32(1102633396);
+emit_32(3278528512);
+emit_32(3268091970);
+emit_32(1102830685);
+emit_32(3278528512);
+emit_32(3267579911);
+emit_32(1102366271);
+emit_32(3278528512);
+emit_32(3267067904);
+emit_32(1101693819);
+emit_32(3278528512);
+emit_32(3266555911);
+emit_32(1100984300);
+emit_32(3278528512);
+emit_32(3266043904);
+emit_32(1101757311);
+emit_32(3278528512);
+emit_32(3265531911);
+emit_32(1102038486);
+emit_32(3278528512);
+emit_32(3265019904);
+emit_32(1102416078);
+emit_32(3278528512);
+emit_32(3264507911);
+emit_32(1102030360);
+emit_32(3278528512);
+emit_32(3263995904);
+emit_32(1101690831);
+emit_32(3278528512);
+emit_32(3263483911);
+emit_32(1101744256);
+emit_32(3278528512);
+emit_32(3262775296);
+emit_32(1101786199);
+emit_32(3278528512);
+emit_32(3261751309);
+emit_32(1101134142);
+emit_32(3278528512);
+emit_32(3260727296);
+emit_32(1100560990);
+emit_32(3278528512);
+emit_32(3259703309);
+emit_32(1099935148);
+emit_32(3278528512);
+emit_32(3258679296);
+emit_32(1099979765);
+emit_32(3278528512);
+emit_32(3257655309);
+emit_32(1100145597);
+emit_32(3278528512);
+emit_32(3256631296);
+emit_32(1099694499);
+emit_32(3278528512);
+emit_32(3255607309);
+emit_32(1099317589);
+emit_32(3278528512);
+emit_32(3254386688);
+emit_32(1098312896);
+emit_32(3278528512);
+emit_32(3252338714);
+emit_32(1096783967);
+emit_32(3278528512);
+emit_32(3250290688);
+emit_32(1094909218);
+emit_32(3278528512);
+emit_32(3248242714);
+emit_32(1094802158);
+emit_32(3278528512);
+emit_32(3245998080);
+emit_32(1094635749);
+emit_32(3278528512);
+emit_32(3241902132);
+emit_32(1093985423);
+emit_32(3278528512);
+emit_32(3237609472);
+emit_32(1093684376);
+emit_32(3278528512);
+emit_32(3229220864);
+emit_32(1092749885);
+emit_32(3278528512);
+emit_32(0);
+emit_32(1092334471);
+emit_32(3278528512);
+emit_32(1081737216);
+emit_32(1091412678);
+emit_32(3278528512);
+emit_32(3279552512);
+emit_32(1099246495);
+emit_32(3278784496);
+emit_32(3279296528);
+emit_32(1100406168);
+emit_32(3278784496);
+emit_32(3279040545);
+emit_32(1100809188);
+emit_32(3278784496);
+emit_32(3278784496);
+emit_32(1101173726);
+emit_32(3278784496);
+emit_32(3278528512);
+emit_32(1101440798);
+emit_32(3278784496);
+emit_32(3278272528);
+emit_32(1101323148);
+emit_32(3278784496);
+emit_32(3278016545);
+emit_32(1100602724);
+emit_32(3278784496);
+emit_32(3277760496);
+emit_32(1099957325);
+emit_32(3278784496);
+emit_32(3277504512);
+emit_32(1099164077);
+emit_32(3278784496);
+emit_32(3277248528);
+emit_32(1098681680);
+emit_32(3278784496);
+emit_32(3276992545);
+emit_32(1098343724);
+emit_32(3278784496);
+emit_32(3276736496);
+emit_32(1097173198);
+emit_32(3278784496);
+emit_32(3276480512);
+emit_32(1097496684);
+emit_32(3278784496);
+emit_32(3276224528);
+emit_32(1096577607);
+emit_32(3278784496);
+emit_32(3275968545);
+emit_32(1096202217);
+emit_32(3278784496);
+emit_32(3275712496);
+emit_32(1095980968);
+emit_32(3278784496);
+emit_32(3275456512);
+emit_32(1095241407);
+emit_32(3278784496);
+emit_32(3275200528);
+emit_32(1095384223);
+emit_32(3278784496);
+emit_32(3274944545);
+emit_32(1095777649);
+emit_32(3278784496);
+emit_32(3274688496);
+emit_32(1095404356);
+emit_32(3278784496);
+emit_32(3274432512);
+emit_32(1096055626);
+emit_32(3278784496);
+emit_32(3274176528);
+emit_32(1096762996);
+emit_32(3278784496);
+emit_32(3273920545);
+emit_32(1097732404);
+emit_32(3278784496);
+emit_32(3273664496);
+emit_32(1099124913);
+emit_32(3278784496);
+emit_32(3273408512);
+emit_32(1099487615);
+emit_32(3278784496);
+emit_32(3273152528);
+emit_32(1099905263);
+emit_32(3278784496);
+emit_32(3272896545);
+emit_32(1100576090);
+emit_32(3278784496);
+emit_32(3272640496);
+emit_32(1101366716);
+emit_32(3278784496);
+emit_32(3272384512);
+emit_32(1100955150);
+emit_32(3278784496);
+emit_32(3272128528);
+emit_32(1101465911);
+emit_32(3278784496);
+emit_32(3271872545);
+emit_32(1101897872);
+emit_32(3278784496);
+emit_32(3271616496);
+emit_32(1101968074);
+emit_32(3278784496);
+emit_32(3271163904);
+emit_32(1102322545);
+emit_32(3278784496);
+emit_32(3270651937);
+emit_32(1102468507);
+emit_32(3278784496);
+emit_32(3270139970);
+emit_32(1102636699);
+emit_32(3278784496);
+emit_32(3269627871);
+emit_32(1102593812);
+emit_32(3278784496);
+emit_32(3269115904);
+emit_32(1102955781);
+emit_32(3278784496);
+emit_32(3268603937);
+emit_32(1103423183);
+emit_32(3278784496);
+emit_32(3268091970);
+emit_32(1103413484);
+emit_32(3278784496);
+emit_32(3267579911);
+emit_32(1103118467);
+emit_32(3278784496);
+emit_32(3267067904);
+emit_32(1102692536);
+emit_32(3278784496);
+emit_32(3266555911);
+emit_32(1101705878);
+emit_32(3278784496);
+emit_32(3266043904);
+emit_32(1101340082);
+emit_32(3278784496);
+emit_32(3265531911);
+emit_32(1102200596);
+emit_32(3278784496);
+emit_32(3265019904);
+emit_32(1102209457);
+emit_32(3278784496);
+emit_32(3264507911);
+emit_32(1101833280);
+emit_32(3278784496);
+emit_32(3263995904);
+emit_32(1101273812);
+emit_32(3278784496);
+emit_32(3263483911);
+emit_32(1101051042);
+emit_32(3278784496);
+emit_32(3262775296);
+emit_32(1100997722);
+emit_32(3278784496);
+emit_32(3261751309);
+emit_32(1100555118);
+emit_32(3278784496);
+emit_32(3260727296);
+emit_32(1099388420);
+emit_32(3278784496);
+emit_32(3259703309);
+emit_32(1098921070);
+emit_32(3278784496);
+emit_32(3258679296);
+emit_32(1098291295);
+emit_32(3278784496);
+emit_32(3257655309);
+emit_32(1097914751);
+emit_32(3278784496);
+emit_32(3256631296);
+emit_32(1098783811);
+emit_32(3278784496);
+emit_32(3255607309);
+emit_32(1097200986);
+emit_32(3278784496);
+emit_32(3254386688);
+emit_32(1095754580);
+emit_32(3278784496);
+emit_32(3252338714);
+emit_32(1094603034);
+emit_32(3278784496);
+emit_32(3250290688);
+emit_32(1092756596);
+emit_32(3278784496);
+emit_32(3248242714);
+emit_32(1093057118);
+emit_32(3278784496);
+emit_32(3245998080);
+emit_32(1093385742);
+emit_32(3278784496);
+emit_32(3241902132);
+emit_32(1092478325);
+emit_32(3278784496);
+emit_32(3237609472);
+emit_32(1091460850);
+emit_32(3278784496);
+emit_32(3229220864);
+emit_32(1090737647);
+emit_32(3278784496);
+emit_32(0);
+emit_32(1090290346);
+emit_32(3278784496);
+emit_32(1081737216);
+emit_32(1090509120);
+emit_32(3278784496);
+emit_32(3279552512);
+emit_32(1099149345);
+emit_32(3279040545);
+emit_32(3279296528);
+emit_32(1100408318);
+emit_32(3279040545);
+emit_32(3279040545);
+emit_32(1100800170);
+emit_32(3279040545);
+emit_32(3278784496);
+emit_32(1101432986);
+emit_32(3279040545);
+emit_32(3278528512);
+emit_32(1101564058);
+emit_32(3279040545);
+emit_32(3278272528);
+emit_32(1101179755);
+emit_32(3279040545);
+emit_32(3278016545);
+emit_32(1100480145);
+emit_32(3279040545);
+emit_32(3277760496);
+emit_32(1099858759);
+emit_32(3279040545);
+emit_32(3277504512);
+emit_32(1099623354);
+emit_32(3279040545);
+emit_32(3277248528);
+emit_32(1098996934);
+emit_32(3279040545);
+emit_32(3276992545);
+emit_32(1098237818);
+emit_32(3279040545);
+emit_32(3276736496);
+emit_32(1097341285);
+emit_32(3279040545);
+emit_32(3276480512);
+emit_32(1096845414);
+emit_32(3279040545);
+emit_32(3276224528);
+emit_32(1095838571);
+emit_32(3279040545);
+emit_32(3275968545);
+emit_32(1095836998);
+emit_32(3279040545);
+emit_32(3275712496);
+emit_32(1095004114);
+emit_32(3279040545);
+emit_32(3275456512);
+emit_32(1094881011);
+emit_32(3279040545);
+emit_32(3275200528);
+emit_32(1094801529);
+emit_32(3279040545);
+emit_32(3274944545);
+emit_32(1093872281);
+emit_32(3279040545);
+emit_32(3274688496);
+emit_32(1094479197);
+emit_32(3279040545);
+emit_32(3274432512);
+emit_32(1096306341);
+emit_32(3279040545);
+emit_32(3274176528);
+emit_32(1096403334);
+emit_32(3279040545);
+emit_32(3273920545);
+emit_32(1097374315);
+emit_32(3279040545);
+emit_32(3273664496);
+emit_32(1098966788);
+emit_32(3279040545);
+emit_32(3273408512);
+emit_32(1099462921);
+emit_32(3279040545);
+emit_32(3273152528);
+emit_32(1099984903);
+emit_32(3279040545);
+emit_32(3272896545);
+emit_32(1101000973);
+emit_32(3279040545);
+emit_32(3272640496);
+emit_32(1101297982);
+emit_32(3279040545);
+emit_32(3272384512);
+emit_32(1101298506);
+emit_32(3279040545);
+emit_32(3272128528);
+emit_32(1101350044);
+emit_32(3279040545);
+emit_32(3271872545);
+emit_32(1102416393);
+emit_32(3279040545);
+emit_32(3271616496);
+emit_32(1102828588);
+emit_32(3279040545);
+emit_32(3271163904);
+emit_32(1103097810);
+emit_32(3279040545);
+emit_32(3270651937);
+emit_32(1103270825);
+emit_32(3279040545);
+emit_32(3270139970);
+emit_32(1103513256);
+emit_32(3279040545);
+emit_32(3269627871);
+emit_32(1103154119);
+emit_32(3279040545);
+emit_32(3269115904);
+emit_32(1103932214);
+emit_32(3279040545);
+emit_32(3268603937);
+emit_32(1103727532);
+emit_32(3279040545);
+emit_32(3268091970);
+emit_32(1103627393);
+emit_32(3279040545);
+emit_32(3267579911);
+emit_32(1103400272);
+emit_32(3279040545);
+emit_32(3267067904);
+emit_32(1103403365);
+emit_32(3279040545);
+emit_32(3266555911);
+emit_32(1102403496);
+emit_32(3279040545);
+emit_32(3266043904);
+emit_32(1101353556);
+emit_32(3279040545);
+emit_32(3265531911);
+emit_32(1101619213);
+emit_32(3279040545);
+emit_32(3265019904);
+emit_32(1102006295);
+emit_32(3279040545);
+emit_32(3264507911);
+emit_32(1101503503);
+emit_32(3279040545);
+emit_32(3263995904);
+emit_32(1100538131);
+emit_32(3279040545);
+emit_32(3263483911);
+emit_32(1100080271);
+emit_32(3279040545);
+emit_32(3262775296);
+emit_32(1099418881);
+emit_32(3279040545);
+emit_32(3261751309);
+emit_32(1099399430);
+emit_32(3279040545);
+emit_32(3260727296);
+emit_32(1099101215);
+emit_32(3279040545);
+emit_32(3259703309);
+emit_32(1097408394);
+emit_32(3279040545);
+emit_32(3258679296);
+emit_32(1096341468);
+emit_32(3279040545);
+emit_32(3257655309);
+emit_32(1095779641);
+emit_32(3279040545);
+emit_32(3256631296);
+emit_32(1094671296);
+emit_32(3279040545);
+emit_32(3255607309);
+emit_32(1094154977);
+emit_32(3279040545);
+emit_32(3254386688);
+emit_32(1092748732);
+emit_32(3279040545);
+emit_32(3252338714);
+emit_32(1091621345);
+emit_32(3279040545);
+emit_32(3250290688);
+emit_32(1090704869);
+emit_32(3279040545);
+emit_32(3248242714);
+emit_32(1090960134);
+emit_32(3279040545);
+emit_32(3245998080);
+emit_32(1090657442);
+emit_32(3279040545);
+emit_32(3241902132);
+emit_32(1089905497);
+emit_32(3279040545);
+emit_32(3237609472);
+emit_32(1088557112);
+emit_32(3279040545);
+emit_32(3229220864);
+emit_32(1086833925);
+emit_32(3279040545);
+emit_32(0);
+emit_32(1087077467);
+emit_32(3279040545);
+emit_32(1081737216);
+emit_32(1087170664);
+emit_32(3279040545);
+emit_32(3279552512);
+emit_32(1099250847);
+emit_32(3279296528);
+emit_32(3279296528);
+emit_32(1099782632);
+emit_32(3279296528);
+emit_32(3279040545);
+emit_32(1100353372);
+emit_32(3279296528);
+emit_32(3278784496);
+emit_32(1101212785);
+emit_32(3279296528);
+emit_32(3278528512);
+emit_32(1101165494);
+emit_32(3279296528);
+emit_32(3278272528);
+emit_32(1101113957);
+emit_32(3279296528);
+emit_32(3278016545);
+emit_32(1100762736);
+emit_32(3279296528);
+emit_32(3277760496);
+emit_32(1099820381);
+emit_32(3279296528);
+emit_32(3277504512);
+emit_32(1099259340);
+emit_32(3279296528);
+emit_32(3277248528);
+emit_32(1098864027);
+emit_32(3279296528);
+emit_32(3276992545);
+emit_32(1097692558);
+emit_32(3279296528);
+emit_32(3276736496);
+emit_32(1097396755);
+emit_32(3279296528);
+emit_32(3276480512);
+emit_32(1096710776);
+emit_32(3279296528);
+emit_32(3276224528);
+emit_32(1095208586);
+emit_32(3279296528);
+emit_32(3275968545);
+emit_32(1094436625);
+emit_32(3279296528);
+emit_32(3275712496);
+emit_32(1094237605);
+emit_32(3279296528);
+emit_32(3275456512);
+emit_32(1093631948);
+emit_32(3279296528);
+emit_32(3275200528);
+emit_32(1093328699);
+emit_32(3279296528);
+emit_32(3274944545);
+emit_32(1093335096);
+emit_32(3279296528);
+emit_32(3274688496);
+emit_32(1093281199);
+emit_32(3279296528);
+emit_32(3274432512);
+emit_32(1094777307);
+emit_32(3279296528);
+emit_32(3274176528);
+emit_32(1095041653);
+emit_32(3279296528);
+emit_32(3273920545);
+emit_32(1096648281);
+emit_32(3279296528);
+emit_32(3273664496);
+emit_32(1098228380);
+emit_32(3279296528);
+emit_32(3273408512);
+emit_32(1099209114);
+emit_32(3279296528);
+emit_32(3273152528);
+emit_32(1099931582);
+emit_32(3279296528);
+emit_32(3272896545);
+emit_32(1100442291);
+emit_32(3279296528);
+emit_32(3272640496);
+emit_32(1100819359);
+emit_32(3279296528);
+emit_32(3272384512);
+emit_32(1101023045);
+emit_32(3279296528);
+emit_32(3272128528);
+emit_32(1101474877);
+emit_32(3279296528);
+emit_32(3271872545);
+emit_32(1102424624);
+emit_32(3279296528);
+emit_32(3271616496);
+emit_32(1103221962);
+emit_32(3279296528);
+emit_32(3271163904);
+emit_32(1103274757);
+emit_32(3279296528);
+emit_32(3270651937);
+emit_32(1103895200);
+emit_32(3279296528);
+emit_32(3270139970);
+emit_32(1104182824);
+emit_32(3279296528);
+emit_32(3269627871);
+emit_32(1104099462);
+emit_32(3279296528);
+emit_32(3269115904);
+emit_32(1103825102);
+emit_32(3279296528);
+emit_32(3268603937);
+emit_32(1104155037);
+emit_32(3279296528);
+emit_32(3268091970);
+emit_32(1104133122);
+emit_32(3279296528);
+emit_32(3267579911);
+emit_32(1103855721);
+emit_32(3279296528);
+emit_32(3267067904);
+emit_32(1103437391);
+emit_32(3279296528);
+emit_32(3266555911);
+emit_32(1102382472);
+emit_32(3279296528);
+emit_32(3266043904);
+emit_32(1101496425);
+emit_32(3279296528);
+emit_32(3265531911);
+emit_32(1101309673);
+emit_32(3279296528);
+emit_32(3265019904);
+emit_32(1101136973);
+emit_32(3279296528);
+emit_32(3264507911);
+emit_32(1100555957);
+emit_32(3279296528);
+emit_32(3263995904);
+emit_32(1099877161);
+emit_32(3279296528);
+emit_32(3263483911);
+emit_32(1099240414);
+emit_32(3279296528);
+emit_32(3262775296);
+emit_32(1098818938);
+emit_32(3279296528);
+emit_32(3261751309);
+emit_32(1097030487);
+emit_32(3279296528);
+emit_32(3260727296);
+emit_32(1096386557);
+emit_32(3279296528);
+emit_32(3259703309);
+emit_32(1095308516);
+emit_32(3279296528);
+emit_32(3258679296);
+emit_32(1093918733);
+emit_32(3279296528);
+emit_32(3257655309);
+emit_32(1093062885);
+emit_32(3279296528);
+emit_32(3256631296);
+emit_32(1092790780);
+emit_32(3279296528);
+emit_32(3255607309);
+emit_32(1091773189);
+emit_32(3279296528);
+emit_32(3254386688);
+emit_32(1089177744);
+emit_32(3279296528);
+emit_32(3252338714);
+emit_32(1085799588);
+emit_32(3279296528);
+emit_32(3250290688);
+emit_32(1085098154);
+emit_32(3279296528);
+emit_32(3248242714);
+emit_32(1086394194);
+emit_32(3279296528);
+emit_32(3245998080);
+emit_32(1086183912);
+emit_32(3279296528);
+emit_32(3241902132);
+emit_32(1084926145);
+emit_32(3279296528);
+emit_32(3237609472);
+emit_32(1085235454);
+emit_32(3279296528);
+emit_32(3229220864);
+emit_32(1084071682);
+emit_32(3279296528);
+emit_32(0);
+emit_32(1084345968);
+emit_32(3279296528);
+emit_32(1081737216);
+emit_32(1086522393);
+emit_32(3279296528);
+emit_32(3279552512);
+emit_32(1099558709);
+emit_32(3279552512);
+emit_32(3279296528);
+emit_32(1099939394);
+emit_32(3279552512);
+emit_32(3279040545);
+emit_32(1100668731);
+emit_32(3279552512);
+emit_32(3278784496);
+emit_32(1100652321);
+emit_32(3279552512);
+emit_32(3278528512);
+emit_32(1101087375);
+emit_32(3279552512);
+emit_32(3278272528);
+emit_32(1100952319);
+emit_32(3279552512);
+emit_32(3278016545);
+emit_32(1100463787);
+emit_32(3279552512);
+emit_32(3277760496);
+emit_32(1099835428);
+emit_32(3279552512);
+emit_32(3277504512);
+emit_32(1098509084);
+emit_32(3279552512);
+emit_32(3277248528);
+emit_32(1097497838);
+emit_32(3279552512);
+emit_32(3276992545);
+emit_32(1095815817);
+emit_32(3279552512);
+emit_32(3276736496);
+emit_32(1096394106);
+emit_32(3279552512);
+emit_32(3276480512);
+emit_32(1095914488);
+emit_32(3279552512);
+emit_32(3276224528);
+emit_32(1094719216);
+emit_32(3279552512);
+emit_32(3275968545);
+emit_32(1093850681);
+emit_32(3279552512);
+emit_32(3275712496);
+emit_32(1093377773);
+emit_32(3279552512);
+emit_32(3275456512);
+emit_32(1092882845);
+emit_32(3279552512);
+emit_32(3275200528);
+emit_32(1092368613);
+emit_32(3279552512);
+emit_32(3274944545);
+emit_32(1091574149);
+emit_32(3279552512);
+emit_32(3274688496);
+emit_32(1092064893);
+emit_32(3279552512);
+emit_32(3274432512);
+emit_32(1093456206);
+emit_32(3279552512);
+emit_32(3274176528);
+emit_32(1095174193);
+emit_32(3279552512);
+emit_32(3273920545);
+emit_32(1096573098);
+emit_32(3279552512);
+emit_32(3273664496);
+emit_32(1096908852);
+emit_32(3279552512);
+emit_32(3273408512);
+emit_32(1098744804);
+emit_32(3279552512);
+emit_32(3273152528);
+emit_32(1099535483);
+emit_32(3279552512);
+emit_32(3272896545);
+emit_32(1099936825);
+emit_32(3279552512);
+emit_32(3272640496);
+emit_32(1100672506);
+emit_32(3279552512);
+emit_32(3272384512);
+emit_32(1101166805);
+emit_32(3279552512);
+emit_32(3272128528);
+emit_32(1102004250);
+emit_32(3279552512);
+emit_32(3271872545);
+emit_32(1102491838);
+emit_32(3279552512);
+emit_32(3271616496);
+emit_32(1103105779);
+emit_32(3279552512);
+emit_32(3271163904);
+emit_32(1103782950);
+emit_32(3279552512);
+emit_32(3270651937);
+emit_32(1104304878);
+emit_32(3279552512);
+emit_32(3270139970);
+emit_32(1104909802);
+emit_32(3279552512);
+emit_32(3269627871);
+emit_32(1104927680);
+emit_32(3279552512);
+emit_32(3269115904);
+emit_32(1104823452);
+emit_32(3279552512);
+emit_32(3268603937);
+emit_32(1104924063);
+emit_32(3279552512);
+emit_32(3268091970);
+emit_32(1105080143);
+emit_32(3279552512);
+emit_32(3267579911);
+emit_32(1104516533);
+emit_32(3279552512);
+emit_32(3267067904);
+emit_32(1103348315);
+emit_32(3279552512);
+emit_32(3266555911);
+emit_32(1102478049);
+emit_32(3279552512);
+emit_32(3266043904);
+emit_32(1101882406);
+emit_32(3279552512);
+emit_32(3265531911);
+emit_32(1100937324);
+emit_32(3279552512);
+emit_32(3265019904);
+emit_32(1100262828);
+emit_32(3279552512);
+emit_32(3264507911);
+emit_32(1099805963);
+emit_32(3279552512);
+emit_32(3263995904);
+emit_32(1098412301);
+emit_32(3279552512);
+emit_32(3263483911);
+emit_32(1097524052);
+emit_32(3279552512);
+emit_32(3262775296);
+emit_32(1096845309);
+emit_32(3279552512);
+emit_32(3261751309);
+emit_32(1094863186);
+emit_32(3279552512);
+emit_32(3260727296);
+emit_32(1092933596);
+emit_32(3279552512);
+emit_32(3259703309);
+emit_32(1092280658);
+emit_32(3279552512);
+emit_32(3258679296);
+emit_32(1090650752);
+emit_32(3279552512);
+emit_32(3257655309);
+emit_32(1090797762);
+emit_32(3279552512);
+emit_32(3256631296);
+emit_32(1090478271);
+emit_32(3279552512);
+emit_32(3255607309);
+emit_32(1089328172);
+emit_32(3279552512);
+emit_32(3254386688);
+emit_32(1087017593);
+emit_32(3279552512);
+emit_32(3252338714);
+emit_32(1083442180);
+emit_32(3279552512);
+emit_32(3250290688);
+emit_32(1081443237);
+emit_32(3279552512);
+emit_32(3248242714);
+emit_32(1082646268);
+emit_32(3279552512);
+emit_32(3245998080);
+emit_32(1081291445);
+emit_32(3279552512);
+emit_32(3241902132);
+emit_32(1081059249);
+emit_32(3279552512);
+emit_32(3237609472);
+emit_32(1081285406);
+emit_32(3279552512);
+emit_32(3229220864);
+emit_32(1081938249);
+emit_32(3279552512);
+emit_32(0);
+emit_32(1085708656);
+emit_32(3279552512);
+emit_32(1081737216);
+emit_32(1086994839);
+emit_32(3279552512);
+emit_start(LandscapeVtxCount)
+emit_32(2048);
+emit_32(1980);
+emit_32(2048);
+emit_32(2112);
+emit_32(2244);
+emit_32(2310);
+emit_32(2240);
+emit_32(2178);
+emit_start(LandscapeIdx)
+emit_32(Landscape01Idx);
+emit_32(Landscape02Idx);
+emit_32(Landscape03Idx);
+emit_32(Landscape04Idx);
+emit_32(Landscape05Idx);
+emit_32(Landscape06Idx);
+emit_32(Landscape07Idx);
+emit_32(Landscape08Idx);
+emit_start(Landscape01Idx)
+emit_16(0);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(2);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(4);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(6);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(8);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(10);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(12);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(14);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(16);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(18);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(20);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(22);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(24);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(26);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(28);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(30);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(32);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(34);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(36);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(38);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(40);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(42);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(44);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(46);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(48);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(50);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(52);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(54);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(56);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(58);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(60);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(62);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(64);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(66);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(68);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(70);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(72);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(74);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(76);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(78);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(80);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(82);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(84);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(86);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(88);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(90);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(92);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(94);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(96);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(98);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(100);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(102);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(104);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(106);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(108);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(110);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(112);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(114);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(116);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(118);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(120);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(122);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(124);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(126);
+emit_16(125);
+emit_16(128);
+emit_16(0);
+emit_16(129);
+emit_16(2);
+emit_16(129);
+emit_16(0);
+emit_16(129);
+emit_16(2);
+emit_16(130);
+emit_16(4);
+emit_16(130);
+emit_16(2);
+emit_16(130);
+emit_16(4);
+emit_16(131);
+emit_16(6);
+emit_16(131);
+emit_16(4);
+emit_16(131);
+emit_16(6);
+emit_16(132);
+emit_16(8);
+emit_16(132);
+emit_16(6);
+emit_16(132);
+emit_16(8);
+emit_16(133);
+emit_16(10);
+emit_16(133);
+emit_16(8);
+emit_16(133);
+emit_16(10);
+emit_16(134);
+emit_16(12);
+emit_16(134);
+emit_16(10);
+emit_16(134);
+emit_16(12);
+emit_16(135);
+emit_16(14);
+emit_16(135);
+emit_16(12);
+emit_16(135);
+emit_16(14);
+emit_16(136);
+emit_16(16);
+emit_16(136);
+emit_16(14);
+emit_16(136);
+emit_16(16);
+emit_16(137);
+emit_16(18);
+emit_16(137);
+emit_16(16);
+emit_16(137);
+emit_16(18);
+emit_16(138);
+emit_16(20);
+emit_16(138);
+emit_16(18);
+emit_16(138);
+emit_16(20);
+emit_16(139);
+emit_16(22);
+emit_16(139);
+emit_16(20);
+emit_16(139);
+emit_16(22);
+emit_16(140);
+emit_16(24);
+emit_16(140);
+emit_16(22);
+emit_16(140);
+emit_16(24);
+emit_16(141);
+emit_16(26);
+emit_16(141);
+emit_16(24);
+emit_16(141);
+emit_16(26);
+emit_16(142);
+emit_16(28);
+emit_16(142);
+emit_16(26);
+emit_16(142);
+emit_16(28);
+emit_16(143);
+emit_16(30);
+emit_16(143);
+emit_16(28);
+emit_16(143);
+emit_16(30);
+emit_16(144);
+emit_16(32);
+emit_16(144);
+emit_16(30);
+emit_16(144);
+emit_16(32);
+emit_16(145);
+emit_16(34);
+emit_16(145);
+emit_16(32);
+emit_16(145);
+emit_16(34);
+emit_16(146);
+emit_16(36);
+emit_16(146);
+emit_16(34);
+emit_16(146);
+emit_16(36);
+emit_16(147);
+emit_16(38);
+emit_16(147);
+emit_16(36);
+emit_16(147);
+emit_16(38);
+emit_16(148);
+emit_16(40);
+emit_16(148);
+emit_16(38);
+emit_16(148);
+emit_16(40);
+emit_16(149);
+emit_16(42);
+emit_16(149);
+emit_16(40);
+emit_16(149);
+emit_16(42);
+emit_16(150);
+emit_16(44);
+emit_16(150);
+emit_16(42);
+emit_16(150);
+emit_16(44);
+emit_16(151);
+emit_16(46);
+emit_16(151);
+emit_16(44);
+emit_16(151);
+emit_16(46);
+emit_16(152);
+emit_16(48);
+emit_16(152);
+emit_16(46);
+emit_16(152);
+emit_16(48);
+emit_16(153);
+emit_16(50);
+emit_16(153);
+emit_16(48);
+emit_16(153);
+emit_16(50);
+emit_16(154);
+emit_16(52);
+emit_16(154);
+emit_16(50);
+emit_16(154);
+emit_16(52);
+emit_16(155);
+emit_16(54);
+emit_16(155);
+emit_16(52);
+emit_16(155);
+emit_16(54);
+emit_16(156);
+emit_16(56);
+emit_16(156);
+emit_16(54);
+emit_16(156);
+emit_16(56);
+emit_16(157);
+emit_16(58);
+emit_16(157);
+emit_16(56);
+emit_16(157);
+emit_16(58);
+emit_16(158);
+emit_16(60);
+emit_16(158);
+emit_16(58);
+emit_16(158);
+emit_16(60);
+emit_16(159);
+emit_16(62);
+emit_16(159);
+emit_16(60);
+emit_16(159);
+emit_16(62);
+emit_16(160);
+emit_16(64);
+emit_16(160);
+emit_16(62);
+emit_16(160);
+emit_16(64);
+emit_16(161);
+emit_16(66);
+emit_16(161);
+emit_16(64);
+emit_16(161);
+emit_16(66);
+emit_16(162);
+emit_16(68);
+emit_16(162);
+emit_16(66);
+emit_16(162);
+emit_16(68);
+emit_16(163);
+emit_16(70);
+emit_16(163);
+emit_16(68);
+emit_16(163);
+emit_16(70);
+emit_16(164);
+emit_16(72);
+emit_16(164);
+emit_16(70);
+emit_16(164);
+emit_16(72);
+emit_16(165);
+emit_16(74);
+emit_16(165);
+emit_16(72);
+emit_16(165);
+emit_16(74);
+emit_16(166);
+emit_16(76);
+emit_16(166);
+emit_16(74);
+emit_16(166);
+emit_16(76);
+emit_16(167);
+emit_16(78);
+emit_16(167);
+emit_16(76);
+emit_16(167);
+emit_16(78);
+emit_16(168);
+emit_16(80);
+emit_16(168);
+emit_16(78);
+emit_16(168);
+emit_16(80);
+emit_16(169);
+emit_16(82);
+emit_16(169);
+emit_16(80);
+emit_16(169);
+emit_16(82);
+emit_16(170);
+emit_16(84);
+emit_16(170);
+emit_16(82);
+emit_16(170);
+emit_16(84);
+emit_16(171);
+emit_16(86);
+emit_16(171);
+emit_16(84);
+emit_16(171);
+emit_16(86);
+emit_16(172);
+emit_16(88);
+emit_16(172);
+emit_16(86);
+emit_16(172);
+emit_16(88);
+emit_16(173);
+emit_16(90);
+emit_16(173);
+emit_16(88);
+emit_16(173);
+emit_16(90);
+emit_16(174);
+emit_16(92);
+emit_16(174);
+emit_16(90);
+emit_16(174);
+emit_16(92);
+emit_16(175);
+emit_16(94);
+emit_16(175);
+emit_16(92);
+emit_16(175);
+emit_16(94);
+emit_16(176);
+emit_16(96);
+emit_16(176);
+emit_16(94);
+emit_16(176);
+emit_16(96);
+emit_16(177);
+emit_16(98);
+emit_16(177);
+emit_16(96);
+emit_16(177);
+emit_16(98);
+emit_16(178);
+emit_16(100);
+emit_16(178);
+emit_16(98);
+emit_16(178);
+emit_16(100);
+emit_16(179);
+emit_16(102);
+emit_16(179);
+emit_16(100);
+emit_16(179);
+emit_16(102);
+emit_16(180);
+emit_16(104);
+emit_16(180);
+emit_16(102);
+emit_16(180);
+emit_16(104);
+emit_16(181);
+emit_16(106);
+emit_16(181);
+emit_16(104);
+emit_16(181);
+emit_16(106);
+emit_16(182);
+emit_16(108);
+emit_16(182);
+emit_16(106);
+emit_16(182);
+emit_16(108);
+emit_16(183);
+emit_16(110);
+emit_16(183);
+emit_16(108);
+emit_16(183);
+emit_16(110);
+emit_16(184);
+emit_16(112);
+emit_16(184);
+emit_16(110);
+emit_16(184);
+emit_16(112);
+emit_16(185);
+emit_16(114);
+emit_16(185);
+emit_16(112);
+emit_16(185);
+emit_16(114);
+emit_16(186);
+emit_16(116);
+emit_16(186);
+emit_16(114);
+emit_16(186);
+emit_16(116);
+emit_16(187);
+emit_16(118);
+emit_16(187);
+emit_16(116);
+emit_16(187);
+emit_16(118);
+emit_16(188);
+emit_16(120);
+emit_16(188);
+emit_16(118);
+emit_16(188);
+emit_16(120);
+emit_16(189);
+emit_16(122);
+emit_16(189);
+emit_16(120);
+emit_16(189);
+emit_16(122);
+emit_16(190);
+emit_16(124);
+emit_16(190);
+emit_16(122);
+emit_16(190);
+emit_16(124);
+emit_16(191);
+emit_16(126);
+emit_16(191);
+emit_16(124);
+emit_16(192);
+emit_16(128);
+emit_16(193);
+emit_16(129);
+emit_16(193);
+emit_16(128);
+emit_16(193);
+emit_16(129);
+emit_16(194);
+emit_16(130);
+emit_16(194);
+emit_16(129);
+emit_16(194);
+emit_16(130);
+emit_16(195);
+emit_16(131);
+emit_16(195);
+emit_16(130);
+emit_16(195);
+emit_16(131);
+emit_16(196);
+emit_16(132);
+emit_16(196);
+emit_16(131);
+emit_16(196);
+emit_16(132);
+emit_16(197);
+emit_16(133);
+emit_16(197);
+emit_16(132);
+emit_16(197);
+emit_16(133);
+emit_16(198);
+emit_16(134);
+emit_16(198);
+emit_16(133);
+emit_16(198);
+emit_16(134);
+emit_16(199);
+emit_16(135);
+emit_16(199);
+emit_16(134);
+emit_16(199);
+emit_16(135);
+emit_16(200);
+emit_16(136);
+emit_16(200);
+emit_16(135);
+emit_16(200);
+emit_16(136);
+emit_16(201);
+emit_16(137);
+emit_16(201);
+emit_16(136);
+emit_16(201);
+emit_16(137);
+emit_16(202);
+emit_16(138);
+emit_16(202);
+emit_16(137);
+emit_16(202);
+emit_16(138);
+emit_16(203);
+emit_16(139);
+emit_16(203);
+emit_16(138);
+emit_16(203);
+emit_16(139);
+emit_16(204);
+emit_16(140);
+emit_16(204);
+emit_16(139);
+emit_16(204);
+emit_16(140);
+emit_16(205);
+emit_16(141);
+emit_16(205);
+emit_16(140);
+emit_16(205);
+emit_16(141);
+emit_16(206);
+emit_16(142);
+emit_16(206);
+emit_16(141);
+emit_16(206);
+emit_16(142);
+emit_16(207);
+emit_16(143);
+emit_16(207);
+emit_16(142);
+emit_16(207);
+emit_16(143);
+emit_16(208);
+emit_16(144);
+emit_16(208);
+emit_16(143);
+emit_16(208);
+emit_16(144);
+emit_16(209);
+emit_16(145);
+emit_16(209);
+emit_16(144);
+emit_16(209);
+emit_16(145);
+emit_16(210);
+emit_16(146);
+emit_16(210);
+emit_16(145);
+emit_16(210);
+emit_16(146);
+emit_16(211);
+emit_16(147);
+emit_16(211);
+emit_16(146);
+emit_16(211);
+emit_16(147);
+emit_16(212);
+emit_16(148);
+emit_16(212);
+emit_16(147);
+emit_16(212);
+emit_16(148);
+emit_16(213);
+emit_16(149);
+emit_16(213);
+emit_16(148);
+emit_16(213);
+emit_16(149);
+emit_16(214);
+emit_16(150);
+emit_16(214);
+emit_16(149);
+emit_16(214);
+emit_16(150);
+emit_16(215);
+emit_16(151);
+emit_16(215);
+emit_16(150);
+emit_16(215);
+emit_16(151);
+emit_16(216);
+emit_16(152);
+emit_16(216);
+emit_16(151);
+emit_16(216);
+emit_16(152);
+emit_16(217);
+emit_16(153);
+emit_16(217);
+emit_16(152);
+emit_16(217);
+emit_16(153);
+emit_16(218);
+emit_16(154);
+emit_16(218);
+emit_16(153);
+emit_16(218);
+emit_16(154);
+emit_16(219);
+emit_16(155);
+emit_16(219);
+emit_16(154);
+emit_16(219);
+emit_16(155);
+emit_16(220);
+emit_16(156);
+emit_16(220);
+emit_16(155);
+emit_16(220);
+emit_16(156);
+emit_16(221);
+emit_16(157);
+emit_16(221);
+emit_16(156);
+emit_16(221);
+emit_16(157);
+emit_16(222);
+emit_16(158);
+emit_16(222);
+emit_16(157);
+emit_16(222);
+emit_16(158);
+emit_16(223);
+emit_16(159);
+emit_16(223);
+emit_16(158);
+emit_16(223);
+emit_16(159);
+emit_16(224);
+emit_16(160);
+emit_16(224);
+emit_16(159);
+emit_16(224);
+emit_16(160);
+emit_16(225);
+emit_16(161);
+emit_16(225);
+emit_16(160);
+emit_16(225);
+emit_16(161);
+emit_16(226);
+emit_16(162);
+emit_16(226);
+emit_16(161);
+emit_16(226);
+emit_16(162);
+emit_16(227);
+emit_16(163);
+emit_16(227);
+emit_16(162);
+emit_16(227);
+emit_16(163);
+emit_16(228);
+emit_16(164);
+emit_16(228);
+emit_16(163);
+emit_16(228);
+emit_16(164);
+emit_16(229);
+emit_16(165);
+emit_16(229);
+emit_16(164);
+emit_16(229);
+emit_16(165);
+emit_16(230);
+emit_16(166);
+emit_16(230);
+emit_16(165);
+emit_16(230);
+emit_16(166);
+emit_16(231);
+emit_16(167);
+emit_16(231);
+emit_16(166);
+emit_16(231);
+emit_16(167);
+emit_16(232);
+emit_16(168);
+emit_16(232);
+emit_16(167);
+emit_16(232);
+emit_16(168);
+emit_16(233);
+emit_16(169);
+emit_16(233);
+emit_16(168);
+emit_16(233);
+emit_16(169);
+emit_16(234);
+emit_16(170);
+emit_16(234);
+emit_16(169);
+emit_16(234);
+emit_16(170);
+emit_16(235);
+emit_16(171);
+emit_16(235);
+emit_16(170);
+emit_16(235);
+emit_16(171);
+emit_16(236);
+emit_16(172);
+emit_16(236);
+emit_16(171);
+emit_16(236);
+emit_16(172);
+emit_16(237);
+emit_16(173);
+emit_16(237);
+emit_16(172);
+emit_16(237);
+emit_16(173);
+emit_16(238);
+emit_16(174);
+emit_16(238);
+emit_16(173);
+emit_16(238);
+emit_16(174);
+emit_16(239);
+emit_16(175);
+emit_16(239);
+emit_16(174);
+emit_16(239);
+emit_16(175);
+emit_16(240);
+emit_16(176);
+emit_16(240);
+emit_16(175);
+emit_16(240);
+emit_16(176);
+emit_16(241);
+emit_16(177);
+emit_16(241);
+emit_16(176);
+emit_16(241);
+emit_16(177);
+emit_16(242);
+emit_16(178);
+emit_16(242);
+emit_16(177);
+emit_16(242);
+emit_16(178);
+emit_16(243);
+emit_16(179);
+emit_16(243);
+emit_16(178);
+emit_16(243);
+emit_16(179);
+emit_16(244);
+emit_16(180);
+emit_16(244);
+emit_16(179);
+emit_16(244);
+emit_16(180);
+emit_16(245);
+emit_16(181);
+emit_16(245);
+emit_16(180);
+emit_16(245);
+emit_16(181);
+emit_16(246);
+emit_16(182);
+emit_16(246);
+emit_16(181);
+emit_16(246);
+emit_16(182);
+emit_16(247);
+emit_16(183);
+emit_16(247);
+emit_16(182);
+emit_16(247);
+emit_16(183);
+emit_16(248);
+emit_16(184);
+emit_16(248);
+emit_16(183);
+emit_16(248);
+emit_16(184);
+emit_16(249);
+emit_16(185);
+emit_16(249);
+emit_16(184);
+emit_16(249);
+emit_16(185);
+emit_16(250);
+emit_16(186);
+emit_16(250);
+emit_16(185);
+emit_16(250);
+emit_16(186);
+emit_16(251);
+emit_16(187);
+emit_16(251);
+emit_16(186);
+emit_16(251);
+emit_16(187);
+emit_16(252);
+emit_16(188);
+emit_16(252);
+emit_16(187);
+emit_16(252);
+emit_16(188);
+emit_16(253);
+emit_16(189);
+emit_16(253);
+emit_16(188);
+emit_16(253);
+emit_16(189);
+emit_16(254);
+emit_16(190);
+emit_16(254);
+emit_16(189);
+emit_16(254);
+emit_16(190);
+emit_16(255);
+emit_16(191);
+emit_16(255);
+emit_16(190);
+emit_16(256);
+emit_16(192);
+emit_16(257);
+emit_16(193);
+emit_16(257);
+emit_16(192);
+emit_16(257);
+emit_16(193);
+emit_16(258);
+emit_16(194);
+emit_16(258);
+emit_16(193);
+emit_16(258);
+emit_16(194);
+emit_16(259);
+emit_16(195);
+emit_16(259);
+emit_16(194);
+emit_16(259);
+emit_16(195);
+emit_16(260);
+emit_16(196);
+emit_16(260);
+emit_16(195);
+emit_16(260);
+emit_16(196);
+emit_16(261);
+emit_16(197);
+emit_16(261);
+emit_16(196);
+emit_16(261);
+emit_16(197);
+emit_16(262);
+emit_16(198);
+emit_16(262);
+emit_16(197);
+emit_16(262);
+emit_16(198);
+emit_16(263);
+emit_16(199);
+emit_16(263);
+emit_16(198);
+emit_16(263);
+emit_16(199);
+emit_16(264);
+emit_16(200);
+emit_16(264);
+emit_16(199);
+emit_16(264);
+emit_16(200);
+emit_16(265);
+emit_16(201);
+emit_16(265);
+emit_16(200);
+emit_16(265);
+emit_16(201);
+emit_16(266);
+emit_16(202);
+emit_16(266);
+emit_16(201);
+emit_16(266);
+emit_16(202);
+emit_16(267);
+emit_16(203);
+emit_16(267);
+emit_16(202);
+emit_16(267);
+emit_16(203);
+emit_16(268);
+emit_16(204);
+emit_16(268);
+emit_16(203);
+emit_16(268);
+emit_16(204);
+emit_16(269);
+emit_16(205);
+emit_16(269);
+emit_16(204);
+emit_16(269);
+emit_16(205);
+emit_16(270);
+emit_16(206);
+emit_16(270);
+emit_16(205);
+emit_16(270);
+emit_16(206);
+emit_16(271);
+emit_16(207);
+emit_16(271);
+emit_16(206);
+emit_16(271);
+emit_16(207);
+emit_16(272);
+emit_16(208);
+emit_16(272);
+emit_16(207);
+emit_16(272);
+emit_16(208);
+emit_16(273);
+emit_16(209);
+emit_16(273);
+emit_16(208);
+emit_16(273);
+emit_16(209);
+emit_16(274);
+emit_16(210);
+emit_16(274);
+emit_16(209);
+emit_16(274);
+emit_16(210);
+emit_16(275);
+emit_16(211);
+emit_16(275);
+emit_16(210);
+emit_16(275);
+emit_16(211);
+emit_16(276);
+emit_16(212);
+emit_16(276);
+emit_16(211);
+emit_16(276);
+emit_16(212);
+emit_16(277);
+emit_16(213);
+emit_16(277);
+emit_16(212);
+emit_16(277);
+emit_16(213);
+emit_16(278);
+emit_16(214);
+emit_16(278);
+emit_16(213);
+emit_16(278);
+emit_16(214);
+emit_16(279);
+emit_16(215);
+emit_16(279);
+emit_16(214);
+emit_16(279);
+emit_16(215);
+emit_16(280);
+emit_16(216);
+emit_16(280);
+emit_16(215);
+emit_16(280);
+emit_16(216);
+emit_16(281);
+emit_16(217);
+emit_16(281);
+emit_16(216);
+emit_16(281);
+emit_16(217);
+emit_16(282);
+emit_16(218);
+emit_16(282);
+emit_16(217);
+emit_16(282);
+emit_16(218);
+emit_16(283);
+emit_16(219);
+emit_16(283);
+emit_16(218);
+emit_16(283);
+emit_16(219);
+emit_16(284);
+emit_16(220);
+emit_16(284);
+emit_16(219);
+emit_16(284);
+emit_16(220);
+emit_16(285);
+emit_16(221);
+emit_16(285);
+emit_16(220);
+emit_16(285);
+emit_16(221);
+emit_16(286);
+emit_16(222);
+emit_16(286);
+emit_16(221);
+emit_16(286);
+emit_16(222);
+emit_16(287);
+emit_16(223);
+emit_16(287);
+emit_16(222);
+emit_16(287);
+emit_16(223);
+emit_16(288);
+emit_16(224);
+emit_16(288);
+emit_16(223);
+emit_16(288);
+emit_16(224);
+emit_16(289);
+emit_16(225);
+emit_16(289);
+emit_16(224);
+emit_16(289);
+emit_16(225);
+emit_16(290);
+emit_16(226);
+emit_16(290);
+emit_16(225);
+emit_16(290);
+emit_16(226);
+emit_16(291);
+emit_16(227);
+emit_16(291);
+emit_16(226);
+emit_16(291);
+emit_16(227);
+emit_16(292);
+emit_16(228);
+emit_16(292);
+emit_16(227);
+emit_16(292);
+emit_16(228);
+emit_16(293);
+emit_16(229);
+emit_16(293);
+emit_16(228);
+emit_16(293);
+emit_16(229);
+emit_16(294);
+emit_16(230);
+emit_16(294);
+emit_16(229);
+emit_16(294);
+emit_16(230);
+emit_16(295);
+emit_16(231);
+emit_16(295);
+emit_16(230);
+emit_16(295);
+emit_16(231);
+emit_16(296);
+emit_16(232);
+emit_16(296);
+emit_16(231);
+emit_16(296);
+emit_16(232);
+emit_16(297);
+emit_16(233);
+emit_16(297);
+emit_16(232);
+emit_16(297);
+emit_16(233);
+emit_16(298);
+emit_16(234);
+emit_16(298);
+emit_16(233);
+emit_16(298);
+emit_16(234);
+emit_16(299);
+emit_16(235);
+emit_16(299);
+emit_16(234);
+emit_16(299);
+emit_16(235);
+emit_16(300);
+emit_16(236);
+emit_16(300);
+emit_16(235);
+emit_16(300);
+emit_16(236);
+emit_16(301);
+emit_16(237);
+emit_16(301);
+emit_16(236);
+emit_16(301);
+emit_16(237);
+emit_16(302);
+emit_16(238);
+emit_16(302);
+emit_16(237);
+emit_16(302);
+emit_16(238);
+emit_16(303);
+emit_16(239);
+emit_16(303);
+emit_16(238);
+emit_16(303);
+emit_16(239);
+emit_16(304);
+emit_16(240);
+emit_16(304);
+emit_16(239);
+emit_16(304);
+emit_16(240);
+emit_16(305);
+emit_16(241);
+emit_16(305);
+emit_16(240);
+emit_16(305);
+emit_16(241);
+emit_16(306);
+emit_16(242);
+emit_16(306);
+emit_16(241);
+emit_16(306);
+emit_16(242);
+emit_16(307);
+emit_16(243);
+emit_16(307);
+emit_16(242);
+emit_16(307);
+emit_16(243);
+emit_16(308);
+emit_16(244);
+emit_16(308);
+emit_16(243);
+emit_16(308);
+emit_16(244);
+emit_16(309);
+emit_16(245);
+emit_16(309);
+emit_16(244);
+emit_16(309);
+emit_16(245);
+emit_16(310);
+emit_16(246);
+emit_16(310);
+emit_16(245);
+emit_16(310);
+emit_16(246);
+emit_16(311);
+emit_16(247);
+emit_16(311);
+emit_16(246);
+emit_16(311);
+emit_16(247);
+emit_16(312);
+emit_16(248);
+emit_16(312);
+emit_16(247);
+emit_16(312);
+emit_16(248);
+emit_16(313);
+emit_16(249);
+emit_16(313);
+emit_16(248);
+emit_16(313);
+emit_16(249);
+emit_16(314);
+emit_16(250);
+emit_16(314);
+emit_16(249);
+emit_16(314);
+emit_16(250);
+emit_16(315);
+emit_16(251);
+emit_16(315);
+emit_16(250);
+emit_16(315);
+emit_16(251);
+emit_16(316);
+emit_16(252);
+emit_16(316);
+emit_16(251);
+emit_16(316);
+emit_16(252);
+emit_16(317);
+emit_16(253);
+emit_16(317);
+emit_16(252);
+emit_16(317);
+emit_16(253);
+emit_16(318);
+emit_16(254);
+emit_16(318);
+emit_16(253);
+emit_16(318);
+emit_16(254);
+emit_16(319);
+emit_16(255);
+emit_16(319);
+emit_16(254);
+emit_16(320);
+emit_16(256);
+emit_16(321);
+emit_16(257);
+emit_16(321);
+emit_16(256);
+emit_16(321);
+emit_16(257);
+emit_16(322);
+emit_16(258);
+emit_16(322);
+emit_16(257);
+emit_16(322);
+emit_16(258);
+emit_16(323);
+emit_16(259);
+emit_16(323);
+emit_16(258);
+emit_16(323);
+emit_16(259);
+emit_16(324);
+emit_16(260);
+emit_16(324);
+emit_16(259);
+emit_16(324);
+emit_16(260);
+emit_16(325);
+emit_16(261);
+emit_16(325);
+emit_16(260);
+emit_16(325);
+emit_16(261);
+emit_16(326);
+emit_16(262);
+emit_16(326);
+emit_16(261);
+emit_16(326);
+emit_16(262);
+emit_16(327);
+emit_16(263);
+emit_16(327);
+emit_16(262);
+emit_16(327);
+emit_16(263);
+emit_16(328);
+emit_16(264);
+emit_16(328);
+emit_16(263);
+emit_16(328);
+emit_16(264);
+emit_16(329);
+emit_16(265);
+emit_16(329);
+emit_16(264);
+emit_16(329);
+emit_16(265);
+emit_16(330);
+emit_16(266);
+emit_16(330);
+emit_16(265);
+emit_16(330);
+emit_16(266);
+emit_16(331);
+emit_16(267);
+emit_16(331);
+emit_16(266);
+emit_16(331);
+emit_16(267);
+emit_16(332);
+emit_16(268);
+emit_16(332);
+emit_16(267);
+emit_16(332);
+emit_16(268);
+emit_16(333);
+emit_16(269);
+emit_16(333);
+emit_16(268);
+emit_16(333);
+emit_16(269);
+emit_16(334);
+emit_16(270);
+emit_16(334);
+emit_16(269);
+emit_16(334);
+emit_16(270);
+emit_16(335);
+emit_16(271);
+emit_16(335);
+emit_16(270);
+emit_16(335);
+emit_16(271);
+emit_16(336);
+emit_16(272);
+emit_16(336);
+emit_16(271);
+emit_16(336);
+emit_16(272);
+emit_16(337);
+emit_16(273);
+emit_16(337);
+emit_16(272);
+emit_16(337);
+emit_16(273);
+emit_16(338);
+emit_16(274);
+emit_16(338);
+emit_16(273);
+emit_16(338);
+emit_16(274);
+emit_16(339);
+emit_16(275);
+emit_16(339);
+emit_16(274);
+emit_16(339);
+emit_16(275);
+emit_16(340);
+emit_16(276);
+emit_16(340);
+emit_16(275);
+emit_16(340);
+emit_16(276);
+emit_16(341);
+emit_16(277);
+emit_16(341);
+emit_16(276);
+emit_16(341);
+emit_16(277);
+emit_16(342);
+emit_16(278);
+emit_16(342);
+emit_16(277);
+emit_16(342);
+emit_16(278);
+emit_16(343);
+emit_16(279);
+emit_16(343);
+emit_16(278);
+emit_16(343);
+emit_16(279);
+emit_16(344);
+emit_16(280);
+emit_16(344);
+emit_16(279);
+emit_16(344);
+emit_16(280);
+emit_16(345);
+emit_16(281);
+emit_16(345);
+emit_16(280);
+emit_16(345);
+emit_16(281);
+emit_16(346);
+emit_16(282);
+emit_16(346);
+emit_16(281);
+emit_16(346);
+emit_16(282);
+emit_16(347);
+emit_16(283);
+emit_16(347);
+emit_16(282);
+emit_16(347);
+emit_16(283);
+emit_16(348);
+emit_16(284);
+emit_16(348);
+emit_16(283);
+emit_16(348);
+emit_16(284);
+emit_16(349);
+emit_16(285);
+emit_16(349);
+emit_16(284);
+emit_16(349);
+emit_16(285);
+emit_16(350);
+emit_16(286);
+emit_16(350);
+emit_16(285);
+emit_16(350);
+emit_16(286);
+emit_16(351);
+emit_16(287);
+emit_16(351);
+emit_16(286);
+emit_16(351);
+emit_16(287);
+emit_16(352);
+emit_16(288);
+emit_16(352);
+emit_16(287);
+emit_16(352);
+emit_16(288);
+emit_16(353);
+emit_16(289);
+emit_16(353);
+emit_16(288);
+emit_16(353);
+emit_16(289);
+emit_16(354);
+emit_16(290);
+emit_16(354);
+emit_16(289);
+emit_16(354);
+emit_16(290);
+emit_16(355);
+emit_16(291);
+emit_16(355);
+emit_16(290);
+emit_16(355);
+emit_16(291);
+emit_16(356);
+emit_16(292);
+emit_16(356);
+emit_16(291);
+emit_16(356);
+emit_16(292);
+emit_16(357);
+emit_16(293);
+emit_16(357);
+emit_16(292);
+emit_16(357);
+emit_16(293);
+emit_16(358);
+emit_16(294);
+emit_16(358);
+emit_16(293);
+emit_16(358);
+emit_16(294);
+emit_16(359);
+emit_16(295);
+emit_16(359);
+emit_16(294);
+emit_16(359);
+emit_16(295);
+emit_16(360);
+emit_16(296);
+emit_16(360);
+emit_16(295);
+emit_16(360);
+emit_16(296);
+emit_16(361);
+emit_16(297);
+emit_16(361);
+emit_16(296);
+emit_16(361);
+emit_16(297);
+emit_16(362);
+emit_16(298);
+emit_16(362);
+emit_16(297);
+emit_16(362);
+emit_16(298);
+emit_16(363);
+emit_16(299);
+emit_16(363);
+emit_16(298);
+emit_16(363);
+emit_16(299);
+emit_16(364);
+emit_16(300);
+emit_16(364);
+emit_16(299);
+emit_16(364);
+emit_16(300);
+emit_16(365);
+emit_16(301);
+emit_16(365);
+emit_16(300);
+emit_16(365);
+emit_16(301);
+emit_16(366);
+emit_16(302);
+emit_16(366);
+emit_16(301);
+emit_16(366);
+emit_16(302);
+emit_16(367);
+emit_16(303);
+emit_16(367);
+emit_16(302);
+emit_16(367);
+emit_16(303);
+emit_16(368);
+emit_16(304);
+emit_16(368);
+emit_16(303);
+emit_16(368);
+emit_16(304);
+emit_16(369);
+emit_16(305);
+emit_16(369);
+emit_16(304);
+emit_16(369);
+emit_16(305);
+emit_16(370);
+emit_16(306);
+emit_16(370);
+emit_16(305);
+emit_16(370);
+emit_16(306);
+emit_16(371);
+emit_16(307);
+emit_16(371);
+emit_16(306);
+emit_16(371);
+emit_16(307);
+emit_16(372);
+emit_16(308);
+emit_16(372);
+emit_16(307);
+emit_16(372);
+emit_16(308);
+emit_16(373);
+emit_16(309);
+emit_16(373);
+emit_16(308);
+emit_16(373);
+emit_16(309);
+emit_16(374);
+emit_16(310);
+emit_16(374);
+emit_16(309);
+emit_16(374);
+emit_16(310);
+emit_16(375);
+emit_16(311);
+emit_16(375);
+emit_16(310);
+emit_16(375);
+emit_16(311);
+emit_16(376);
+emit_16(312);
+emit_16(376);
+emit_16(311);
+emit_16(376);
+emit_16(312);
+emit_16(377);
+emit_16(313);
+emit_16(377);
+emit_16(312);
+emit_16(377);
+emit_16(313);
+emit_16(378);
+emit_16(314);
+emit_16(378);
+emit_16(313);
+emit_16(378);
+emit_16(314);
+emit_16(379);
+emit_16(315);
+emit_16(379);
+emit_16(314);
+emit_16(379);
+emit_16(315);
+emit_16(380);
+emit_16(316);
+emit_16(380);
+emit_16(315);
+emit_16(380);
+emit_16(316);
+emit_16(381);
+emit_16(317);
+emit_16(381);
+emit_16(316);
+emit_16(381);
+emit_16(317);
+emit_16(382);
+emit_16(318);
+emit_16(382);
+emit_16(317);
+emit_16(382);
+emit_16(318);
+emit_16(383);
+emit_16(319);
+emit_16(383);
+emit_16(318);
+emit_16(384);
+emit_16(320);
+emit_16(385);
+emit_16(321);
+emit_16(385);
+emit_16(320);
+emit_16(385);
+emit_16(321);
+emit_16(386);
+emit_16(322);
+emit_16(386);
+emit_16(321);
+emit_16(386);
+emit_16(322);
+emit_16(387);
+emit_16(323);
+emit_16(387);
+emit_16(322);
+emit_16(387);
+emit_16(323);
+emit_16(388);
+emit_16(324);
+emit_16(388);
+emit_16(323);
+emit_16(388);
+emit_16(324);
+emit_16(389);
+emit_16(325);
+emit_16(389);
+emit_16(324);
+emit_16(389);
+emit_16(325);
+emit_16(390);
+emit_16(326);
+emit_16(390);
+emit_16(325);
+emit_16(390);
+emit_16(326);
+emit_16(391);
+emit_16(327);
+emit_16(391);
+emit_16(326);
+emit_16(391);
+emit_16(327);
+emit_16(392);
+emit_16(328);
+emit_16(392);
+emit_16(327);
+emit_16(392);
+emit_16(328);
+emit_16(393);
+emit_16(329);
+emit_16(393);
+emit_16(328);
+emit_16(393);
+emit_16(329);
+emit_16(394);
+emit_16(330);
+emit_16(394);
+emit_16(329);
+emit_16(394);
+emit_16(330);
+emit_16(395);
+emit_16(331);
+emit_16(395);
+emit_16(330);
+emit_16(395);
+emit_16(331);
+emit_16(396);
+emit_16(332);
+emit_16(396);
+emit_16(331);
+emit_16(396);
+emit_16(332);
+emit_16(397);
+emit_16(333);
+emit_16(397);
+emit_16(332);
+emit_16(397);
+emit_16(333);
+emit_16(398);
+emit_16(334);
+emit_16(398);
+emit_16(333);
+emit_16(398);
+emit_16(334);
+emit_16(399);
+emit_16(335);
+emit_16(399);
+emit_16(334);
+emit_16(399);
+emit_16(335);
+emit_16(400);
+emit_16(336);
+emit_16(400);
+emit_16(335);
+emit_16(400);
+emit_16(336);
+emit_16(401);
+emit_16(337);
+emit_16(401);
+emit_16(336);
+emit_16(401);
+emit_16(337);
+emit_16(402);
+emit_16(338);
+emit_16(402);
+emit_16(337);
+emit_16(402);
+emit_16(338);
+emit_16(403);
+emit_16(339);
+emit_16(403);
+emit_16(338);
+emit_16(403);
+emit_16(339);
+emit_16(404);
+emit_16(340);
+emit_16(404);
+emit_16(339);
+emit_16(404);
+emit_16(340);
+emit_16(405);
+emit_16(341);
+emit_16(405);
+emit_16(340);
+emit_16(405);
+emit_16(341);
+emit_16(406);
+emit_16(342);
+emit_16(406);
+emit_16(341);
+emit_16(406);
+emit_16(342);
+emit_16(407);
+emit_16(343);
+emit_16(407);
+emit_16(342);
+emit_16(407);
+emit_16(343);
+emit_16(408);
+emit_16(344);
+emit_16(408);
+emit_16(343);
+emit_16(408);
+emit_16(344);
+emit_16(409);
+emit_16(345);
+emit_16(409);
+emit_16(344);
+emit_16(409);
+emit_16(345);
+emit_16(410);
+emit_16(346);
+emit_16(410);
+emit_16(345);
+emit_16(410);
+emit_16(346);
+emit_16(411);
+emit_16(347);
+emit_16(411);
+emit_16(346);
+emit_16(411);
+emit_16(347);
+emit_16(412);
+emit_16(348);
+emit_16(412);
+emit_16(347);
+emit_16(412);
+emit_16(348);
+emit_16(413);
+emit_16(349);
+emit_16(413);
+emit_16(348);
+emit_16(413);
+emit_16(349);
+emit_16(414);
+emit_16(350);
+emit_16(414);
+emit_16(349);
+emit_16(414);
+emit_16(350);
+emit_16(415);
+emit_16(351);
+emit_16(415);
+emit_16(350);
+emit_16(415);
+emit_16(351);
+emit_16(416);
+emit_16(352);
+emit_16(416);
+emit_16(351);
+emit_16(416);
+emit_16(352);
+emit_16(417);
+emit_16(353);
+emit_16(417);
+emit_16(352);
+emit_16(417);
+emit_16(353);
+emit_16(418);
+emit_16(354);
+emit_16(418);
+emit_16(353);
+emit_16(418);
+emit_16(354);
+emit_16(419);
+emit_16(355);
+emit_16(419);
+emit_16(354);
+emit_16(419);
+emit_16(355);
+emit_16(420);
+emit_16(356);
+emit_16(420);
+emit_16(355);
+emit_16(420);
+emit_16(356);
+emit_16(421);
+emit_16(357);
+emit_16(421);
+emit_16(356);
+emit_16(421);
+emit_16(357);
+emit_16(422);
+emit_16(358);
+emit_16(422);
+emit_16(357);
+emit_16(422);
+emit_16(358);
+emit_16(423);
+emit_16(359);
+emit_16(423);
+emit_16(358);
+emit_16(423);
+emit_16(359);
+emit_16(424);
+emit_16(360);
+emit_16(424);
+emit_16(359);
+emit_16(424);
+emit_16(360);
+emit_16(425);
+emit_16(361);
+emit_16(425);
+emit_16(360);
+emit_16(425);
+emit_16(361);
+emit_16(426);
+emit_16(362);
+emit_16(426);
+emit_16(361);
+emit_16(426);
+emit_16(362);
+emit_16(427);
+emit_16(363);
+emit_16(427);
+emit_16(362);
+emit_16(427);
+emit_16(363);
+emit_16(428);
+emit_16(364);
+emit_16(428);
+emit_16(363);
+emit_16(428);
+emit_16(364);
+emit_16(429);
+emit_16(365);
+emit_16(429);
+emit_16(364);
+emit_16(429);
+emit_16(365);
+emit_16(430);
+emit_16(366);
+emit_16(430);
+emit_16(365);
+emit_16(430);
+emit_16(366);
+emit_16(431);
+emit_16(367);
+emit_16(431);
+emit_16(366);
+emit_16(431);
+emit_16(367);
+emit_16(432);
+emit_16(368);
+emit_16(432);
+emit_16(367);
+emit_16(432);
+emit_16(368);
+emit_16(433);
+emit_16(369);
+emit_16(433);
+emit_16(368);
+emit_16(433);
+emit_16(369);
+emit_16(434);
+emit_16(370);
+emit_16(434);
+emit_16(369);
+emit_16(434);
+emit_16(370);
+emit_16(435);
+emit_16(371);
+emit_16(435);
+emit_16(370);
+emit_16(435);
+emit_16(371);
+emit_16(436);
+emit_16(372);
+emit_16(436);
+emit_16(371);
+emit_16(436);
+emit_16(372);
+emit_16(437);
+emit_16(373);
+emit_16(437);
+emit_16(372);
+emit_16(437);
+emit_16(373);
+emit_16(438);
+emit_16(374);
+emit_16(438);
+emit_16(373);
+emit_16(438);
+emit_16(374);
+emit_16(439);
+emit_16(375);
+emit_16(439);
+emit_16(374);
+emit_16(439);
+emit_16(375);
+emit_16(440);
+emit_16(376);
+emit_16(440);
+emit_16(375);
+emit_16(440);
+emit_16(376);
+emit_16(441);
+emit_16(377);
+emit_16(441);
+emit_16(376);
+emit_16(441);
+emit_16(377);
+emit_16(442);
+emit_16(378);
+emit_16(442);
+emit_16(377);
+emit_16(442);
+emit_16(378);
+emit_16(443);
+emit_16(379);
+emit_16(443);
+emit_16(378);
+emit_16(443);
+emit_16(379);
+emit_16(444);
+emit_16(380);
+emit_16(444);
+emit_16(379);
+emit_16(444);
+emit_16(380);
+emit_16(445);
+emit_16(381);
+emit_16(445);
+emit_16(380);
+emit_16(445);
+emit_16(381);
+emit_16(446);
+emit_16(382);
+emit_16(446);
+emit_16(381);
+emit_16(446);
+emit_16(382);
+emit_16(447);
+emit_16(383);
+emit_16(447);
+emit_16(382);
+emit_16(448);
+emit_16(384);
+emit_16(449);
+emit_16(385);
+emit_16(449);
+emit_16(384);
+emit_16(449);
+emit_16(385);
+emit_16(450);
+emit_16(386);
+emit_16(450);
+emit_16(385);
+emit_16(450);
+emit_16(386);
+emit_16(451);
+emit_16(387);
+emit_16(451);
+emit_16(386);
+emit_16(451);
+emit_16(387);
+emit_16(452);
+emit_16(388);
+emit_16(452);
+emit_16(387);
+emit_16(452);
+emit_16(388);
+emit_16(453);
+emit_16(389);
+emit_16(453);
+emit_16(388);
+emit_16(453);
+emit_16(389);
+emit_16(454);
+emit_16(390);
+emit_16(454);
+emit_16(389);
+emit_16(454);
+emit_16(390);
+emit_16(455);
+emit_16(391);
+emit_16(455);
+emit_16(390);
+emit_16(455);
+emit_16(391);
+emit_16(456);
+emit_16(392);
+emit_16(456);
+emit_16(391);
+emit_16(456);
+emit_16(392);
+emit_16(457);
+emit_16(393);
+emit_16(457);
+emit_16(392);
+emit_16(457);
+emit_16(393);
+emit_16(458);
+emit_16(394);
+emit_16(458);
+emit_16(393);
+emit_16(458);
+emit_16(394);
+emit_16(459);
+emit_16(395);
+emit_16(459);
+emit_16(394);
+emit_16(459);
+emit_16(395);
+emit_16(460);
+emit_16(396);
+emit_16(460);
+emit_16(395);
+emit_16(460);
+emit_16(396);
+emit_16(461);
+emit_16(397);
+emit_16(461);
+emit_16(396);
+emit_16(461);
+emit_16(397);
+emit_16(462);
+emit_16(398);
+emit_16(462);
+emit_16(397);
+emit_16(462);
+emit_16(398);
+emit_16(463);
+emit_16(399);
+emit_16(463);
+emit_16(398);
+emit_16(463);
+emit_16(399);
+emit_16(464);
+emit_16(400);
+emit_16(464);
+emit_16(399);
+emit_16(464);
+emit_16(400);
+emit_16(465);
+emit_16(401);
+emit_16(465);
+emit_16(400);
+emit_16(465);
+emit_16(401);
+emit_16(466);
+emit_16(402);
+emit_16(466);
+emit_16(401);
+emit_16(466);
+emit_16(402);
+emit_16(467);
+emit_16(403);
+emit_16(467);
+emit_16(402);
+emit_16(467);
+emit_16(403);
+emit_16(468);
+emit_16(404);
+emit_16(468);
+emit_16(403);
+emit_16(468);
+emit_16(404);
+emit_16(469);
+emit_16(405);
+emit_16(469);
+emit_16(404);
+emit_16(469);
+emit_16(405);
+emit_16(470);
+emit_16(406);
+emit_16(470);
+emit_16(405);
+emit_16(470);
+emit_16(406);
+emit_16(471);
+emit_16(407);
+emit_16(471);
+emit_16(406);
+emit_16(471);
+emit_16(407);
+emit_16(472);
+emit_16(408);
+emit_16(472);
+emit_16(407);
+emit_16(472);
+emit_16(408);
+emit_16(473);
+emit_16(409);
+emit_16(473);
+emit_16(408);
+emit_16(473);
+emit_16(409);
+emit_16(474);
+emit_16(410);
+emit_16(474);
+emit_16(409);
+emit_16(474);
+emit_16(410);
+emit_16(475);
+emit_16(411);
+emit_16(475);
+emit_16(410);
+emit_16(475);
+emit_16(411);
+emit_16(476);
+emit_16(412);
+emit_16(476);
+emit_16(411);
+emit_16(476);
+emit_16(412);
+emit_16(477);
+emit_16(413);
+emit_16(477);
+emit_16(412);
+emit_16(477);
+emit_16(413);
+emit_16(478);
+emit_16(414);
+emit_16(478);
+emit_16(413);
+emit_16(478);
+emit_16(414);
+emit_16(479);
+emit_16(415);
+emit_16(479);
+emit_16(414);
+emit_16(479);
+emit_16(415);
+emit_16(480);
+emit_16(416);
+emit_16(480);
+emit_16(415);
+emit_16(480);
+emit_16(416);
+emit_16(481);
+emit_16(417);
+emit_16(481);
+emit_16(416);
+emit_16(481);
+emit_16(417);
+emit_16(482);
+emit_16(418);
+emit_16(482);
+emit_16(417);
+emit_16(482);
+emit_16(418);
+emit_16(483);
+emit_16(419);
+emit_16(483);
+emit_16(418);
+emit_16(483);
+emit_16(419);
+emit_16(484);
+emit_16(420);
+emit_16(484);
+emit_16(419);
+emit_16(484);
+emit_16(420);
+emit_16(485);
+emit_16(421);
+emit_16(485);
+emit_16(420);
+emit_16(485);
+emit_16(421);
+emit_16(486);
+emit_16(422);
+emit_16(486);
+emit_16(421);
+emit_16(486);
+emit_16(422);
+emit_16(487);
+emit_16(423);
+emit_16(487);
+emit_16(422);
+emit_16(487);
+emit_16(423);
+emit_16(488);
+emit_16(424);
+emit_16(488);
+emit_16(423);
+emit_16(488);
+emit_16(424);
+emit_16(489);
+emit_16(425);
+emit_16(489);
+emit_16(424);
+emit_16(489);
+emit_16(425);
+emit_16(490);
+emit_16(426);
+emit_16(490);
+emit_16(425);
+emit_16(490);
+emit_16(426);
+emit_16(491);
+emit_16(427);
+emit_16(491);
+emit_16(426);
+emit_16(491);
+emit_16(427);
+emit_16(492);
+emit_16(428);
+emit_16(492);
+emit_16(427);
+emit_16(492);
+emit_16(428);
+emit_16(493);
+emit_16(429);
+emit_16(493);
+emit_16(428);
+emit_16(493);
+emit_16(429);
+emit_16(494);
+emit_16(430);
+emit_16(494);
+emit_16(429);
+emit_16(494);
+emit_16(430);
+emit_16(495);
+emit_16(431);
+emit_16(495);
+emit_16(430);
+emit_16(495);
+emit_16(431);
+emit_16(496);
+emit_16(432);
+emit_16(496);
+emit_16(431);
+emit_16(496);
+emit_16(432);
+emit_16(497);
+emit_16(433);
+emit_16(497);
+emit_16(432);
+emit_16(497);
+emit_16(433);
+emit_16(498);
+emit_16(434);
+emit_16(498);
+emit_16(433);
+emit_16(498);
+emit_16(434);
+emit_16(499);
+emit_16(435);
+emit_16(499);
+emit_16(434);
+emit_16(499);
+emit_16(435);
+emit_16(500);
+emit_16(436);
+emit_16(500);
+emit_16(435);
+emit_16(500);
+emit_16(436);
+emit_16(501);
+emit_16(437);
+emit_16(501);
+emit_16(436);
+emit_16(501);
+emit_16(437);
+emit_16(502);
+emit_16(438);
+emit_16(502);
+emit_16(437);
+emit_16(502);
+emit_16(438);
+emit_16(503);
+emit_16(439);
+emit_16(503);
+emit_16(438);
+emit_16(503);
+emit_16(439);
+emit_16(504);
+emit_16(440);
+emit_16(504);
+emit_16(439);
+emit_16(504);
+emit_16(440);
+emit_16(505);
+emit_16(441);
+emit_16(505);
+emit_16(440);
+emit_16(505);
+emit_16(441);
+emit_16(506);
+emit_16(442);
+emit_16(506);
+emit_16(441);
+emit_16(506);
+emit_16(442);
+emit_16(507);
+emit_16(443);
+emit_16(507);
+emit_16(442);
+emit_16(507);
+emit_16(443);
+emit_16(508);
+emit_16(444);
+emit_16(508);
+emit_16(443);
+emit_16(508);
+emit_16(444);
+emit_16(509);
+emit_16(445);
+emit_16(509);
+emit_16(444);
+emit_16(509);
+emit_16(445);
+emit_16(510);
+emit_16(446);
+emit_16(510);
+emit_16(445);
+emit_16(510);
+emit_16(446);
+emit_16(511);
+emit_16(447);
+emit_16(511);
+emit_16(446);
+emit_16(512);
+emit_16(448);
+emit_16(513);
+emit_16(449);
+emit_16(513);
+emit_16(448);
+emit_16(513);
+emit_16(449);
+emit_16(514);
+emit_16(450);
+emit_16(514);
+emit_16(449);
+emit_16(514);
+emit_16(450);
+emit_16(515);
+emit_16(451);
+emit_16(515);
+emit_16(450);
+emit_16(515);
+emit_16(451);
+emit_16(516);
+emit_16(452);
+emit_16(516);
+emit_16(451);
+emit_16(516);
+emit_16(452);
+emit_16(517);
+emit_16(453);
+emit_16(517);
+emit_16(452);
+emit_16(517);
+emit_16(453);
+emit_16(518);
+emit_16(454);
+emit_16(518);
+emit_16(453);
+emit_16(518);
+emit_16(454);
+emit_16(519);
+emit_16(455);
+emit_16(519);
+emit_16(454);
+emit_16(519);
+emit_16(455);
+emit_16(520);
+emit_16(456);
+emit_16(520);
+emit_16(455);
+emit_16(520);
+emit_16(456);
+emit_16(521);
+emit_16(457);
+emit_16(521);
+emit_16(456);
+emit_16(521);
+emit_16(457);
+emit_16(522);
+emit_16(458);
+emit_16(522);
+emit_16(457);
+emit_16(522);
+emit_16(458);
+emit_16(523);
+emit_16(459);
+emit_16(523);
+emit_16(458);
+emit_16(523);
+emit_16(459);
+emit_16(524);
+emit_16(460);
+emit_16(524);
+emit_16(459);
+emit_16(524);
+emit_16(460);
+emit_16(525);
+emit_16(461);
+emit_16(525);
+emit_16(460);
+emit_16(525);
+emit_16(461);
+emit_16(526);
+emit_16(462);
+emit_16(526);
+emit_16(461);
+emit_16(526);
+emit_16(462);
+emit_16(527);
+emit_16(463);
+emit_16(527);
+emit_16(462);
+emit_16(527);
+emit_16(463);
+emit_16(528);
+emit_16(464);
+emit_16(528);
+emit_16(463);
+emit_16(528);
+emit_16(464);
+emit_16(529);
+emit_16(465);
+emit_16(529);
+emit_16(464);
+emit_16(529);
+emit_16(465);
+emit_16(530);
+emit_16(466);
+emit_16(530);
+emit_16(465);
+emit_16(530);
+emit_16(466);
+emit_16(531);
+emit_16(467);
+emit_16(531);
+emit_16(466);
+emit_16(531);
+emit_16(467);
+emit_16(532);
+emit_16(468);
+emit_16(532);
+emit_16(467);
+emit_16(532);
+emit_16(468);
+emit_16(533);
+emit_16(469);
+emit_16(533);
+emit_16(468);
+emit_16(533);
+emit_16(469);
+emit_16(534);
+emit_16(470);
+emit_16(534);
+emit_16(469);
+emit_16(534);
+emit_16(470);
+emit_16(535);
+emit_16(471);
+emit_16(535);
+emit_16(470);
+emit_16(535);
+emit_16(471);
+emit_16(536);
+emit_16(472);
+emit_16(536);
+emit_16(471);
+emit_16(536);
+emit_16(472);
+emit_16(537);
+emit_16(473);
+emit_16(537);
+emit_16(472);
+emit_16(537);
+emit_16(473);
+emit_16(538);
+emit_16(474);
+emit_16(538);
+emit_16(473);
+emit_16(538);
+emit_16(474);
+emit_16(539);
+emit_16(475);
+emit_16(539);
+emit_16(474);
+emit_16(539);
+emit_16(475);
+emit_16(540);
+emit_16(476);
+emit_16(540);
+emit_16(475);
+emit_16(540);
+emit_16(476);
+emit_16(541);
+emit_16(477);
+emit_16(541);
+emit_16(476);
+emit_16(541);
+emit_16(477);
+emit_16(542);
+emit_16(478);
+emit_16(542);
+emit_16(477);
+emit_16(542);
+emit_16(478);
+emit_16(543);
+emit_16(479);
+emit_16(543);
+emit_16(478);
+emit_16(543);
+emit_16(479);
+emit_16(544);
+emit_16(480);
+emit_16(544);
+emit_16(479);
+emit_16(544);
+emit_16(480);
+emit_16(545);
+emit_16(481);
+emit_16(545);
+emit_16(480);
+emit_16(545);
+emit_16(481);
+emit_16(546);
+emit_16(482);
+emit_16(546);
+emit_16(481);
+emit_16(546);
+emit_16(482);
+emit_16(547);
+emit_16(483);
+emit_16(547);
+emit_16(482);
+emit_16(547);
+emit_16(483);
+emit_16(548);
+emit_16(484);
+emit_16(548);
+emit_16(483);
+emit_16(548);
+emit_16(484);
+emit_16(549);
+emit_16(485);
+emit_16(549);
+emit_16(484);
+emit_16(549);
+emit_16(485);
+emit_16(550);
+emit_16(486);
+emit_16(550);
+emit_16(485);
+emit_16(550);
+emit_16(486);
+emit_16(551);
+emit_16(487);
+emit_16(551);
+emit_16(486);
+emit_16(551);
+emit_16(487);
+emit_16(552);
+emit_16(488);
+emit_16(552);
+emit_16(487);
+emit_16(552);
+emit_16(488);
+emit_16(553);
+emit_16(489);
+emit_16(553);
+emit_16(488);
+emit_16(553);
+emit_16(489);
+emit_16(554);
+emit_16(490);
+emit_16(554);
+emit_16(489);
+emit_16(554);
+emit_16(490);
+emit_16(555);
+emit_16(491);
+emit_16(555);
+emit_16(490);
+emit_16(555);
+emit_16(491);
+emit_16(556);
+emit_16(492);
+emit_16(556);
+emit_16(491);
+emit_16(556);
+emit_16(492);
+emit_16(557);
+emit_16(493);
+emit_16(557);
+emit_16(492);
+emit_16(557);
+emit_16(493);
+emit_16(558);
+emit_16(494);
+emit_16(558);
+emit_16(493);
+emit_16(558);
+emit_16(494);
+emit_16(559);
+emit_16(495);
+emit_16(559);
+emit_16(494);
+emit_16(559);
+emit_16(495);
+emit_16(560);
+emit_16(496);
+emit_16(560);
+emit_16(495);
+emit_16(560);
+emit_16(496);
+emit_16(561);
+emit_16(497);
+emit_16(561);
+emit_16(496);
+emit_16(561);
+emit_16(497);
+emit_16(562);
+emit_16(498);
+emit_16(562);
+emit_16(497);
+emit_16(562);
+emit_16(498);
+emit_16(563);
+emit_16(499);
+emit_16(563);
+emit_16(498);
+emit_16(563);
+emit_16(499);
+emit_16(564);
+emit_16(500);
+emit_16(564);
+emit_16(499);
+emit_16(564);
+emit_16(500);
+emit_16(565);
+emit_16(501);
+emit_16(565);
+emit_16(500);
+emit_16(565);
+emit_16(501);
+emit_16(566);
+emit_16(502);
+emit_16(566);
+emit_16(501);
+emit_16(566);
+emit_16(502);
+emit_16(567);
+emit_16(503);
+emit_16(567);
+emit_16(502);
+emit_16(567);
+emit_16(503);
+emit_16(568);
+emit_16(504);
+emit_16(568);
+emit_16(503);
+emit_16(568);
+emit_16(504);
+emit_16(569);
+emit_16(505);
+emit_16(569);
+emit_16(504);
+emit_16(569);
+emit_16(505);
+emit_16(570);
+emit_16(506);
+emit_16(570);
+emit_16(505);
+emit_16(570);
+emit_16(506);
+emit_16(571);
+emit_16(507);
+emit_16(571);
+emit_16(506);
+emit_16(571);
+emit_16(507);
+emit_16(572);
+emit_16(508);
+emit_16(572);
+emit_16(507);
+emit_16(572);
+emit_16(508);
+emit_16(573);
+emit_16(509);
+emit_16(573);
+emit_16(508);
+emit_16(573);
+emit_16(509);
+emit_16(574);
+emit_16(510);
+emit_16(574);
+emit_16(509);
+emit_16(574);
+emit_16(510);
+emit_16(575);
+emit_16(511);
+emit_16(575);
+emit_16(510);
+emit_16(576);
+emit_16(512);
+emit_16(577);
+emit_16(513);
+emit_16(577);
+emit_16(512);
+emit_16(577);
+emit_16(513);
+emit_16(578);
+emit_16(514);
+emit_16(578);
+emit_16(513);
+emit_16(578);
+emit_16(514);
+emit_16(579);
+emit_16(515);
+emit_16(579);
+emit_16(514);
+emit_16(579);
+emit_16(515);
+emit_16(580);
+emit_16(516);
+emit_16(580);
+emit_16(515);
+emit_16(580);
+emit_16(516);
+emit_16(581);
+emit_16(517);
+emit_16(581);
+emit_16(516);
+emit_16(581);
+emit_16(517);
+emit_16(582);
+emit_16(518);
+emit_16(582);
+emit_16(517);
+emit_16(582);
+emit_16(518);
+emit_16(583);
+emit_16(519);
+emit_16(583);
+emit_16(518);
+emit_16(583);
+emit_16(519);
+emit_16(584);
+emit_16(520);
+emit_16(584);
+emit_16(519);
+emit_16(584);
+emit_16(520);
+emit_16(585);
+emit_16(521);
+emit_16(585);
+emit_16(520);
+emit_16(585);
+emit_16(521);
+emit_16(586);
+emit_16(522);
+emit_16(586);
+emit_16(521);
+emit_16(586);
+emit_16(522);
+emit_16(587);
+emit_16(523);
+emit_16(587);
+emit_16(522);
+emit_16(587);
+emit_16(523);
+emit_16(588);
+emit_16(524);
+emit_16(588);
+emit_16(523);
+emit_16(588);
+emit_16(524);
+emit_16(589);
+emit_16(525);
+emit_16(589);
+emit_16(524);
+emit_16(589);
+emit_16(525);
+emit_16(590);
+emit_16(526);
+emit_16(590);
+emit_16(525);
+emit_16(590);
+emit_16(526);
+emit_16(591);
+emit_16(527);
+emit_16(591);
+emit_16(526);
+emit_16(591);
+emit_16(527);
+emit_16(592);
+emit_16(528);
+emit_16(592);
+emit_16(527);
+emit_16(592);
+emit_16(528);
+emit_16(593);
+emit_16(529);
+emit_16(593);
+emit_16(528);
+emit_16(593);
+emit_16(529);
+emit_16(594);
+emit_16(530);
+emit_16(594);
+emit_16(529);
+emit_16(594);
+emit_16(530);
+emit_16(595);
+emit_16(531);
+emit_16(595);
+emit_16(530);
+emit_16(595);
+emit_16(531);
+emit_16(596);
+emit_16(532);
+emit_16(596);
+emit_16(531);
+emit_16(596);
+emit_16(532);
+emit_16(597);
+emit_16(533);
+emit_16(597);
+emit_16(532);
+emit_16(597);
+emit_16(533);
+emit_16(598);
+emit_16(534);
+emit_16(598);
+emit_16(533);
+emit_16(598);
+emit_16(534);
+emit_16(599);
+emit_16(535);
+emit_16(599);
+emit_16(534);
+emit_16(599);
+emit_16(535);
+emit_16(600);
+emit_16(536);
+emit_16(600);
+emit_16(535);
+emit_16(600);
+emit_16(536);
+emit_16(601);
+emit_16(537);
+emit_16(601);
+emit_16(536);
+emit_16(601);
+emit_16(537);
+emit_16(602);
+emit_16(538);
+emit_16(602);
+emit_16(537);
+emit_16(602);
+emit_16(538);
+emit_16(603);
+emit_16(539);
+emit_16(603);
+emit_16(538);
+emit_16(603);
+emit_16(539);
+emit_16(604);
+emit_16(540);
+emit_16(604);
+emit_16(539);
+emit_16(604);
+emit_16(540);
+emit_16(605);
+emit_16(541);
+emit_16(605);
+emit_16(540);
+emit_16(605);
+emit_16(541);
+emit_16(606);
+emit_16(542);
+emit_16(606);
+emit_16(541);
+emit_16(606);
+emit_16(542);
+emit_16(607);
+emit_16(543);
+emit_16(607);
+emit_16(542);
+emit_16(607);
+emit_16(543);
+emit_16(608);
+emit_16(544);
+emit_16(608);
+emit_16(543);
+emit_16(608);
+emit_16(544);
+emit_16(609);
+emit_16(545);
+emit_16(609);
+emit_16(544);
+emit_16(609);
+emit_16(545);
+emit_16(610);
+emit_16(546);
+emit_16(610);
+emit_16(545);
+emit_16(610);
+emit_16(546);
+emit_16(611);
+emit_16(547);
+emit_16(611);
+emit_16(546);
+emit_16(611);
+emit_16(547);
+emit_16(612);
+emit_16(548);
+emit_16(612);
+emit_16(547);
+emit_16(612);
+emit_16(548);
+emit_16(613);
+emit_16(549);
+emit_16(613);
+emit_16(548);
+emit_16(613);
+emit_16(549);
+emit_16(614);
+emit_16(550);
+emit_16(614);
+emit_16(549);
+emit_16(614);
+emit_16(550);
+emit_16(615);
+emit_16(551);
+emit_16(615);
+emit_16(550);
+emit_16(615);
+emit_16(551);
+emit_16(616);
+emit_16(552);
+emit_16(616);
+emit_16(551);
+emit_16(616);
+emit_16(552);
+emit_16(617);
+emit_16(553);
+emit_16(617);
+emit_16(552);
+emit_16(617);
+emit_16(553);
+emit_16(618);
+emit_16(554);
+emit_16(618);
+emit_16(553);
+emit_16(618);
+emit_16(554);
+emit_16(619);
+emit_16(555);
+emit_16(619);
+emit_16(554);
+emit_16(619);
+emit_16(555);
+emit_16(620);
+emit_16(556);
+emit_16(620);
+emit_16(555);
+emit_16(620);
+emit_16(556);
+emit_16(621);
+emit_16(557);
+emit_16(621);
+emit_16(556);
+emit_16(621);
+emit_16(557);
+emit_16(622);
+emit_16(558);
+emit_16(622);
+emit_16(557);
+emit_16(622);
+emit_16(558);
+emit_16(623);
+emit_16(559);
+emit_16(623);
+emit_16(558);
+emit_16(623);
+emit_16(559);
+emit_16(624);
+emit_16(560);
+emit_16(624);
+emit_16(559);
+emit_16(624);
+emit_16(560);
+emit_16(625);
+emit_16(561);
+emit_16(625);
+emit_16(560);
+emit_16(625);
+emit_16(561);
+emit_16(626);
+emit_16(562);
+emit_16(626);
+emit_16(561);
+emit_16(626);
+emit_16(562);
+emit_16(627);
+emit_16(563);
+emit_16(627);
+emit_16(562);
+emit_16(627);
+emit_16(563);
+emit_16(628);
+emit_16(564);
+emit_16(628);
+emit_16(563);
+emit_16(628);
+emit_16(564);
+emit_16(629);
+emit_16(565);
+emit_16(629);
+emit_16(564);
+emit_16(629);
+emit_16(565);
+emit_16(630);
+emit_16(566);
+emit_16(630);
+emit_16(565);
+emit_16(630);
+emit_16(566);
+emit_16(631);
+emit_16(567);
+emit_16(631);
+emit_16(566);
+emit_16(631);
+emit_16(567);
+emit_16(632);
+emit_16(568);
+emit_16(632);
+emit_16(567);
+emit_16(632);
+emit_16(568);
+emit_16(633);
+emit_16(569);
+emit_16(633);
+emit_16(568);
+emit_16(633);
+emit_16(569);
+emit_16(634);
+emit_16(570);
+emit_16(634);
+emit_16(569);
+emit_16(634);
+emit_16(570);
+emit_16(635);
+emit_16(571);
+emit_16(635);
+emit_16(570);
+emit_16(635);
+emit_16(571);
+emit_16(636);
+emit_16(572);
+emit_16(636);
+emit_16(571);
+emit_16(636);
+emit_16(572);
+emit_16(637);
+emit_16(573);
+emit_16(637);
+emit_16(572);
+emit_16(637);
+emit_16(573);
+emit_16(638);
+emit_16(574);
+emit_16(638);
+emit_16(573);
+emit_16(638);
+emit_16(574);
+emit_16(639);
+emit_16(575);
+emit_16(639);
+emit_16(574);
+emit_16(640);
+emit_16(576);
+emit_16(641);
+emit_16(577);
+emit_16(641);
+emit_16(576);
+emit_16(641);
+emit_16(577);
+emit_16(642);
+emit_16(578);
+emit_16(642);
+emit_16(577);
+emit_16(642);
+emit_16(578);
+emit_16(643);
+emit_16(579);
+emit_16(643);
+emit_16(578);
+emit_16(643);
+emit_16(579);
+emit_16(644);
+emit_16(580);
+emit_16(644);
+emit_16(579);
+emit_16(644);
+emit_16(580);
+emit_16(645);
+emit_16(581);
+emit_16(645);
+emit_16(580);
+emit_16(645);
+emit_16(581);
+emit_16(646);
+emit_16(582);
+emit_16(646);
+emit_16(581);
+emit_16(646);
+emit_16(582);
+emit_16(647);
+emit_16(583);
+emit_16(647);
+emit_16(582);
+emit_16(647);
+emit_16(583);
+emit_16(648);
+emit_16(584);
+emit_16(648);
+emit_16(583);
+emit_16(648);
+emit_16(584);
+emit_16(649);
+emit_16(585);
+emit_16(649);
+emit_16(584);
+emit_16(649);
+emit_16(585);
+emit_16(650);
+emit_16(586);
+emit_16(650);
+emit_16(585);
+emit_16(650);
+emit_16(586);
+emit_16(651);
+emit_16(587);
+emit_16(651);
+emit_16(586);
+emit_16(651);
+emit_16(587);
+emit_16(652);
+emit_16(588);
+emit_16(652);
+emit_16(587);
+emit_16(652);
+emit_16(588);
+emit_16(653);
+emit_16(589);
+emit_16(653);
+emit_16(588);
+emit_16(653);
+emit_16(589);
+emit_16(654);
+emit_16(590);
+emit_16(654);
+emit_16(589);
+emit_16(654);
+emit_16(590);
+emit_16(655);
+emit_16(591);
+emit_16(655);
+emit_16(590);
+emit_16(655);
+emit_16(591);
+emit_16(656);
+emit_16(592);
+emit_16(656);
+emit_16(591);
+emit_16(656);
+emit_16(592);
+emit_16(657);
+emit_16(593);
+emit_16(657);
+emit_16(592);
+emit_16(657);
+emit_16(593);
+emit_16(658);
+emit_16(594);
+emit_16(658);
+emit_16(593);
+emit_16(658);
+emit_16(594);
+emit_16(659);
+emit_16(595);
+emit_16(659);
+emit_16(594);
+emit_16(659);
+emit_16(595);
+emit_16(660);
+emit_16(596);
+emit_16(660);
+emit_16(595);
+emit_16(660);
+emit_16(596);
+emit_16(661);
+emit_16(597);
+emit_16(661);
+emit_16(596);
+emit_16(661);
+emit_16(597);
+emit_16(662);
+emit_16(598);
+emit_16(662);
+emit_16(597);
+emit_16(662);
+emit_16(598);
+emit_16(663);
+emit_16(599);
+emit_16(663);
+emit_16(598);
+emit_16(663);
+emit_16(599);
+emit_16(664);
+emit_16(600);
+emit_16(664);
+emit_16(599);
+emit_16(664);
+emit_16(600);
+emit_16(665);
+emit_16(601);
+emit_16(665);
+emit_16(600);
+emit_16(665);
+emit_16(601);
+emit_16(666);
+emit_16(602);
+emit_16(666);
+emit_16(601);
+emit_16(666);
+emit_16(602);
+emit_16(667);
+emit_16(603);
+emit_16(667);
+emit_16(602);
+emit_16(667);
+emit_16(603);
+emit_16(668);
+emit_16(604);
+emit_16(668);
+emit_16(603);
+emit_16(668);
+emit_16(604);
+emit_16(669);
+emit_16(605);
+emit_16(669);
+emit_16(604);
+emit_16(669);
+emit_16(605);
+emit_16(670);
+emit_16(606);
+emit_16(670);
+emit_16(605);
+emit_16(670);
+emit_16(606);
+emit_16(671);
+emit_16(607);
+emit_16(671);
+emit_16(606);
+emit_16(671);
+emit_16(607);
+emit_16(672);
+emit_16(608);
+emit_16(672);
+emit_16(607);
+emit_16(672);
+emit_16(608);
+emit_16(673);
+emit_16(609);
+emit_16(673);
+emit_16(608);
+emit_16(673);
+emit_16(609);
+emit_16(674);
+emit_16(610);
+emit_16(674);
+emit_16(609);
+emit_16(674);
+emit_16(610);
+emit_16(675);
+emit_16(611);
+emit_16(675);
+emit_16(610);
+emit_16(675);
+emit_16(611);
+emit_16(676);
+emit_16(612);
+emit_16(676);
+emit_16(611);
+emit_16(676);
+emit_16(612);
+emit_16(677);
+emit_16(613);
+emit_16(677);
+emit_16(612);
+emit_16(677);
+emit_16(613);
+emit_16(678);
+emit_16(614);
+emit_16(678);
+emit_16(613);
+emit_16(678);
+emit_16(614);
+emit_16(679);
+emit_16(615);
+emit_16(679);
+emit_16(614);
+emit_16(679);
+emit_16(615);
+emit_16(680);
+emit_16(616);
+emit_16(680);
+emit_16(615);
+emit_16(680);
+emit_16(616);
+emit_16(681);
+emit_16(617);
+emit_16(681);
+emit_16(616);
+emit_16(681);
+emit_16(617);
+emit_16(682);
+emit_16(618);
+emit_16(682);
+emit_16(617);
+emit_16(682);
+emit_16(618);
+emit_16(683);
+emit_16(619);
+emit_16(683);
+emit_16(618);
+emit_16(683);
+emit_16(619);
+emit_16(684);
+emit_16(620);
+emit_16(684);
+emit_16(619);
+emit_16(684);
+emit_16(620);
+emit_16(685);
+emit_16(621);
+emit_16(685);
+emit_16(620);
+emit_16(685);
+emit_16(621);
+emit_16(686);
+emit_16(622);
+emit_16(686);
+emit_16(621);
+emit_16(686);
+emit_16(622);
+emit_16(687);
+emit_16(623);
+emit_16(687);
+emit_16(622);
+emit_16(687);
+emit_16(623);
+emit_16(688);
+emit_16(624);
+emit_16(688);
+emit_16(623);
+emit_16(688);
+emit_16(624);
+emit_16(689);
+emit_16(625);
+emit_16(689);
+emit_16(624);
+emit_16(689);
+emit_16(625);
+emit_16(690);
+emit_16(626);
+emit_16(690);
+emit_16(625);
+emit_16(690);
+emit_16(626);
+emit_16(691);
+emit_16(627);
+emit_16(691);
+emit_16(626);
+emit_16(691);
+emit_16(627);
+emit_16(692);
+emit_16(628);
+emit_16(692);
+emit_16(627);
+emit_16(692);
+emit_16(628);
+emit_16(693);
+emit_16(629);
+emit_16(693);
+emit_16(628);
+emit_16(693);
+emit_16(629);
+emit_16(694);
+emit_16(630);
+emit_16(694);
+emit_16(629);
+emit_16(694);
+emit_16(630);
+emit_16(695);
+emit_16(631);
+emit_16(695);
+emit_16(630);
+emit_16(695);
+emit_16(631);
+emit_16(696);
+emit_16(632);
+emit_16(696);
+emit_16(631);
+emit_16(696);
+emit_16(632);
+emit_16(697);
+emit_16(633);
+emit_16(697);
+emit_16(632);
+emit_16(697);
+emit_16(633);
+emit_16(698);
+emit_16(634);
+emit_16(698);
+emit_16(633);
+emit_16(698);
+emit_16(634);
+emit_16(699);
+emit_16(635);
+emit_16(699);
+emit_16(634);
+emit_16(699);
+emit_16(635);
+emit_16(700);
+emit_16(636);
+emit_16(700);
+emit_16(635);
+emit_16(700);
+emit_16(636);
+emit_16(701);
+emit_16(637);
+emit_16(701);
+emit_16(636);
+emit_16(701);
+emit_16(637);
+emit_16(702);
+emit_16(638);
+emit_16(702);
+emit_16(637);
+emit_16(702);
+emit_16(638);
+emit_16(703);
+emit_16(639);
+emit_16(703);
+emit_16(638);
+emit_16(704);
+emit_16(640);
+emit_16(705);
+emit_16(641);
+emit_16(705);
+emit_16(640);
+emit_16(705);
+emit_16(641);
+emit_16(706);
+emit_16(642);
+emit_16(706);
+emit_16(641);
+emit_16(706);
+emit_16(642);
+emit_16(707);
+emit_16(643);
+emit_16(707);
+emit_16(642);
+emit_16(707);
+emit_16(643);
+emit_16(708);
+emit_16(644);
+emit_16(708);
+emit_16(643);
+emit_16(708);
+emit_16(644);
+emit_16(709);
+emit_16(645);
+emit_16(709);
+emit_16(644);
+emit_16(709);
+emit_16(645);
+emit_16(710);
+emit_16(646);
+emit_16(710);
+emit_16(645);
+emit_16(710);
+emit_16(646);
+emit_16(711);
+emit_16(647);
+emit_16(711);
+emit_16(646);
+emit_16(711);
+emit_16(647);
+emit_16(712);
+emit_16(648);
+emit_16(712);
+emit_16(647);
+emit_16(712);
+emit_16(648);
+emit_16(713);
+emit_16(649);
+emit_16(713);
+emit_16(648);
+emit_16(713);
+emit_16(649);
+emit_16(714);
+emit_16(650);
+emit_16(714);
+emit_16(649);
+emit_16(714);
+emit_16(650);
+emit_16(715);
+emit_16(651);
+emit_16(715);
+emit_16(650);
+emit_16(715);
+emit_16(651);
+emit_16(716);
+emit_16(652);
+emit_16(716);
+emit_16(651);
+emit_16(716);
+emit_16(652);
+emit_16(717);
+emit_16(653);
+emit_16(717);
+emit_16(652);
+emit_16(717);
+emit_16(653);
+emit_16(718);
+emit_16(654);
+emit_16(718);
+emit_16(653);
+emit_16(718);
+emit_16(654);
+emit_16(719);
+emit_16(655);
+emit_16(719);
+emit_16(654);
+emit_16(719);
+emit_16(655);
+emit_16(720);
+emit_16(656);
+emit_16(720);
+emit_16(655);
+emit_16(720);
+emit_16(656);
+emit_16(721);
+emit_16(657);
+emit_16(721);
+emit_16(656);
+emit_16(721);
+emit_16(657);
+emit_16(722);
+emit_16(658);
+emit_16(722);
+emit_16(657);
+emit_16(722);
+emit_16(658);
+emit_16(723);
+emit_16(659);
+emit_16(723);
+emit_16(658);
+emit_16(723);
+emit_16(659);
+emit_16(724);
+emit_16(660);
+emit_16(724);
+emit_16(659);
+emit_16(724);
+emit_16(660);
+emit_16(725);
+emit_16(661);
+emit_16(725);
+emit_16(660);
+emit_16(725);
+emit_16(661);
+emit_16(726);
+emit_16(662);
+emit_16(726);
+emit_16(661);
+emit_16(726);
+emit_16(662);
+emit_16(727);
+emit_16(663);
+emit_16(727);
+emit_16(662);
+emit_16(727);
+emit_16(663);
+emit_16(728);
+emit_16(664);
+emit_16(728);
+emit_16(663);
+emit_16(728);
+emit_16(664);
+emit_16(729);
+emit_16(665);
+emit_16(729);
+emit_16(664);
+emit_16(729);
+emit_16(665);
+emit_16(730);
+emit_16(666);
+emit_16(730);
+emit_16(665);
+emit_16(730);
+emit_16(666);
+emit_16(731);
+emit_16(667);
+emit_16(731);
+emit_16(666);
+emit_16(731);
+emit_16(667);
+emit_16(732);
+emit_16(668);
+emit_16(732);
+emit_16(667);
+emit_16(732);
+emit_16(668);
+emit_16(733);
+emit_16(669);
+emit_16(733);
+emit_16(668);
+emit_16(733);
+emit_16(669);
+emit_16(734);
+emit_16(670);
+emit_16(734);
+emit_16(669);
+emit_16(734);
+emit_16(670);
+emit_16(735);
+emit_16(671);
+emit_16(735);
+emit_16(670);
+emit_16(735);
+emit_16(671);
+emit_16(736);
+emit_16(672);
+emit_16(736);
+emit_16(671);
+emit_16(736);
+emit_16(672);
+emit_16(737);
+emit_16(673);
+emit_16(737);
+emit_16(672);
+emit_16(737);
+emit_16(673);
+emit_16(738);
+emit_16(674);
+emit_16(738);
+emit_16(673);
+emit_16(738);
+emit_16(674);
+emit_16(739);
+emit_16(675);
+emit_16(739);
+emit_16(674);
+emit_16(739);
+emit_16(675);
+emit_16(740);
+emit_16(676);
+emit_16(740);
+emit_16(675);
+emit_16(740);
+emit_16(676);
+emit_16(741);
+emit_16(677);
+emit_16(741);
+emit_16(676);
+emit_16(741);
+emit_16(677);
+emit_16(742);
+emit_16(678);
+emit_16(742);
+emit_16(677);
+emit_16(742);
+emit_16(678);
+emit_16(743);
+emit_16(679);
+emit_16(743);
+emit_16(678);
+emit_16(743);
+emit_16(679);
+emit_16(744);
+emit_16(680);
+emit_16(744);
+emit_16(679);
+emit_16(744);
+emit_16(680);
+emit_16(745);
+emit_16(681);
+emit_16(745);
+emit_16(680);
+emit_16(745);
+emit_16(681);
+emit_16(746);
+emit_16(682);
+emit_16(746);
+emit_16(681);
+emit_16(746);
+emit_16(682);
+emit_16(747);
+emit_16(683);
+emit_16(747);
+emit_16(682);
+emit_16(747);
+emit_16(683);
+emit_16(748);
+emit_16(684);
+emit_16(748);
+emit_16(683);
+emit_16(748);
+emit_16(684);
+emit_16(749);
+emit_16(685);
+emit_16(749);
+emit_16(684);
+emit_16(749);
+emit_16(685);
+emit_16(750);
+emit_16(686);
+emit_16(750);
+emit_16(685);
+emit_16(750);
+emit_16(686);
+emit_16(751);
+emit_16(687);
+emit_16(751);
+emit_16(686);
+emit_16(751);
+emit_16(687);
+emit_16(752);
+emit_16(688);
+emit_16(752);
+emit_16(687);
+emit_16(752);
+emit_16(688);
+emit_16(753);
+emit_16(689);
+emit_16(753);
+emit_16(688);
+emit_16(753);
+emit_16(689);
+emit_16(754);
+emit_16(690);
+emit_16(754);
+emit_16(689);
+emit_16(754);
+emit_16(690);
+emit_16(755);
+emit_16(691);
+emit_16(755);
+emit_16(690);
+emit_16(755);
+emit_16(691);
+emit_16(756);
+emit_16(692);
+emit_16(756);
+emit_16(691);
+emit_16(756);
+emit_16(692);
+emit_16(757);
+emit_16(693);
+emit_16(757);
+emit_16(692);
+emit_16(757);
+emit_16(693);
+emit_16(758);
+emit_16(694);
+emit_16(758);
+emit_16(693);
+emit_16(758);
+emit_16(694);
+emit_16(759);
+emit_16(695);
+emit_16(759);
+emit_16(694);
+emit_16(759);
+emit_16(695);
+emit_16(760);
+emit_16(696);
+emit_16(760);
+emit_16(695);
+emit_16(760);
+emit_16(696);
+emit_16(761);
+emit_16(697);
+emit_16(761);
+emit_16(696);
+emit_16(761);
+emit_16(697);
+emit_16(762);
+emit_16(698);
+emit_16(762);
+emit_16(697);
+emit_16(762);
+emit_16(698);
+emit_16(763);
+emit_16(699);
+emit_16(763);
+emit_16(698);
+emit_16(763);
+emit_16(699);
+emit_16(764);
+emit_16(700);
+emit_16(764);
+emit_16(699);
+emit_16(764);
+emit_16(700);
+emit_16(765);
+emit_16(701);
+emit_16(765);
+emit_16(700);
+emit_16(765);
+emit_16(701);
+emit_16(766);
+emit_16(702);
+emit_16(766);
+emit_16(701);
+emit_16(766);
+emit_16(702);
+emit_16(767);
+emit_16(703);
+emit_16(767);
+emit_16(702);
+emit_16(768);
+emit_16(704);
+emit_16(769);
+emit_16(705);
+emit_16(769);
+emit_16(704);
+emit_16(769);
+emit_16(705);
+emit_16(770);
+emit_16(706);
+emit_16(770);
+emit_16(705);
+emit_16(770);
+emit_16(706);
+emit_16(771);
+emit_16(707);
+emit_16(771);
+emit_16(706);
+emit_16(771);
+emit_16(707);
+emit_16(772);
+emit_16(708);
+emit_16(772);
+emit_16(707);
+emit_16(772);
+emit_16(708);
+emit_16(773);
+emit_16(709);
+emit_16(773);
+emit_16(708);
+emit_16(773);
+emit_16(709);
+emit_16(774);
+emit_16(710);
+emit_16(774);
+emit_16(709);
+emit_16(774);
+emit_16(710);
+emit_16(775);
+emit_16(711);
+emit_16(775);
+emit_16(710);
+emit_16(775);
+emit_16(711);
+emit_16(776);
+emit_16(712);
+emit_16(776);
+emit_16(711);
+emit_16(776);
+emit_16(712);
+emit_16(777);
+emit_16(713);
+emit_16(777);
+emit_16(712);
+emit_16(777);
+emit_16(713);
+emit_16(778);
+emit_16(714);
+emit_16(778);
+emit_16(713);
+emit_16(778);
+emit_16(714);
+emit_16(779);
+emit_16(715);
+emit_16(779);
+emit_16(714);
+emit_16(779);
+emit_16(715);
+emit_16(780);
+emit_16(716);
+emit_16(780);
+emit_16(715);
+emit_16(780);
+emit_16(716);
+emit_16(781);
+emit_16(717);
+emit_16(781);
+emit_16(716);
+emit_16(781);
+emit_16(717);
+emit_16(782);
+emit_16(718);
+emit_16(782);
+emit_16(717);
+emit_16(782);
+emit_16(718);
+emit_16(783);
+emit_16(719);
+emit_16(783);
+emit_16(718);
+emit_16(783);
+emit_16(719);
+emit_16(784);
+emit_16(720);
+emit_16(784);
+emit_16(719);
+emit_16(784);
+emit_16(720);
+emit_16(785);
+emit_16(721);
+emit_16(785);
+emit_16(720);
+emit_16(785);
+emit_16(721);
+emit_16(786);
+emit_16(722);
+emit_16(786);
+emit_16(721);
+emit_16(786);
+emit_16(722);
+emit_16(787);
+emit_16(723);
+emit_16(787);
+emit_16(722);
+emit_16(787);
+emit_16(723);
+emit_16(788);
+emit_16(724);
+emit_16(788);
+emit_16(723);
+emit_16(788);
+emit_16(724);
+emit_16(789);
+emit_16(725);
+emit_16(789);
+emit_16(724);
+emit_16(789);
+emit_16(725);
+emit_16(790);
+emit_16(726);
+emit_16(790);
+emit_16(725);
+emit_16(790);
+emit_16(726);
+emit_16(791);
+emit_16(727);
+emit_16(791);
+emit_16(726);
+emit_16(791);
+emit_16(727);
+emit_16(792);
+emit_16(728);
+emit_16(792);
+emit_16(727);
+emit_16(792);
+emit_16(728);
+emit_16(793);
+emit_16(729);
+emit_16(793);
+emit_16(728);
+emit_16(793);
+emit_16(729);
+emit_16(794);
+emit_16(730);
+emit_16(794);
+emit_16(729);
+emit_16(794);
+emit_16(730);
+emit_16(795);
+emit_16(731);
+emit_16(795);
+emit_16(730);
+emit_16(795);
+emit_16(731);
+emit_16(796);
+emit_16(732);
+emit_16(796);
+emit_16(731);
+emit_16(796);
+emit_16(732);
+emit_16(797);
+emit_16(733);
+emit_16(797);
+emit_16(732);
+emit_16(797);
+emit_16(733);
+emit_16(798);
+emit_16(734);
+emit_16(798);
+emit_16(733);
+emit_16(798);
+emit_16(734);
+emit_16(799);
+emit_16(735);
+emit_16(799);
+emit_16(734);
+emit_16(799);
+emit_16(735);
+emit_16(800);
+emit_16(736);
+emit_16(800);
+emit_16(735);
+emit_16(800);
+emit_16(736);
+emit_16(801);
+emit_16(737);
+emit_16(801);
+emit_16(736);
+emit_16(801);
+emit_16(737);
+emit_16(802);
+emit_16(738);
+emit_16(802);
+emit_16(737);
+emit_16(802);
+emit_16(738);
+emit_16(803);
+emit_16(739);
+emit_16(803);
+emit_16(738);
+emit_16(803);
+emit_16(739);
+emit_16(804);
+emit_16(740);
+emit_16(804);
+emit_16(739);
+emit_16(804);
+emit_16(740);
+emit_16(805);
+emit_16(741);
+emit_16(805);
+emit_16(740);
+emit_16(805);
+emit_16(741);
+emit_16(806);
+emit_16(742);
+emit_16(806);
+emit_16(741);
+emit_16(806);
+emit_16(742);
+emit_16(807);
+emit_16(743);
+emit_16(807);
+emit_16(742);
+emit_16(807);
+emit_16(743);
+emit_16(808);
+emit_16(744);
+emit_16(808);
+emit_16(743);
+emit_16(808);
+emit_16(744);
+emit_16(809);
+emit_16(745);
+emit_16(809);
+emit_16(744);
+emit_16(809);
+emit_16(745);
+emit_16(810);
+emit_16(746);
+emit_16(810);
+emit_16(745);
+emit_16(810);
+emit_16(746);
+emit_16(811);
+emit_16(747);
+emit_16(811);
+emit_16(746);
+emit_16(811);
+emit_16(747);
+emit_16(812);
+emit_16(748);
+emit_16(812);
+emit_16(747);
+emit_16(812);
+emit_16(748);
+emit_16(813);
+emit_16(749);
+emit_16(813);
+emit_16(748);
+emit_16(813);
+emit_16(749);
+emit_16(814);
+emit_16(750);
+emit_16(814);
+emit_16(749);
+emit_16(814);
+emit_16(750);
+emit_16(815);
+emit_16(751);
+emit_16(815);
+emit_16(750);
+emit_16(815);
+emit_16(751);
+emit_16(816);
+emit_16(752);
+emit_16(816);
+emit_16(751);
+emit_16(816);
+emit_16(752);
+emit_16(817);
+emit_16(753);
+emit_16(817);
+emit_16(752);
+emit_16(817);
+emit_16(753);
+emit_16(818);
+emit_16(754);
+emit_16(818);
+emit_16(753);
+emit_16(818);
+emit_16(754);
+emit_16(819);
+emit_16(755);
+emit_16(819);
+emit_16(754);
+emit_16(819);
+emit_16(755);
+emit_16(820);
+emit_16(756);
+emit_16(820);
+emit_16(755);
+emit_16(820);
+emit_16(756);
+emit_16(821);
+emit_16(757);
+emit_16(821);
+emit_16(756);
+emit_16(821);
+emit_16(757);
+emit_16(822);
+emit_16(758);
+emit_16(822);
+emit_16(757);
+emit_16(822);
+emit_16(758);
+emit_16(823);
+emit_16(759);
+emit_16(823);
+emit_16(758);
+emit_16(823);
+emit_16(759);
+emit_16(824);
+emit_16(760);
+emit_16(824);
+emit_16(759);
+emit_16(824);
+emit_16(760);
+emit_16(825);
+emit_16(761);
+emit_16(825);
+emit_16(760);
+emit_16(825);
+emit_16(761);
+emit_16(826);
+emit_16(762);
+emit_16(826);
+emit_16(761);
+emit_16(826);
+emit_16(762);
+emit_16(827);
+emit_16(763);
+emit_16(827);
+emit_16(762);
+emit_16(827);
+emit_16(763);
+emit_16(828);
+emit_16(764);
+emit_16(828);
+emit_16(763);
+emit_16(828);
+emit_16(764);
+emit_16(829);
+emit_16(765);
+emit_16(829);
+emit_16(764);
+emit_16(829);
+emit_16(765);
+emit_16(830);
+emit_16(766);
+emit_16(830);
+emit_16(765);
+emit_16(830);
+emit_16(766);
+emit_16(831);
+emit_16(767);
+emit_16(831);
+emit_16(766);
+emit_16(832);
+emit_16(768);
+emit_16(833);
+emit_16(769);
+emit_16(833);
+emit_16(768);
+emit_16(833);
+emit_16(769);
+emit_16(834);
+emit_16(770);
+emit_16(834);
+emit_16(769);
+emit_16(834);
+emit_16(770);
+emit_16(835);
+emit_16(771);
+emit_16(835);
+emit_16(770);
+emit_16(835);
+emit_16(771);
+emit_16(836);
+emit_16(772);
+emit_16(836);
+emit_16(771);
+emit_16(836);
+emit_16(772);
+emit_16(837);
+emit_16(773);
+emit_16(837);
+emit_16(772);
+emit_16(837);
+emit_16(773);
+emit_16(838);
+emit_16(774);
+emit_16(838);
+emit_16(773);
+emit_16(838);
+emit_16(774);
+emit_16(839);
+emit_16(775);
+emit_16(839);
+emit_16(774);
+emit_16(839);
+emit_16(775);
+emit_16(840);
+emit_16(776);
+emit_16(840);
+emit_16(775);
+emit_16(840);
+emit_16(776);
+emit_16(841);
+emit_16(777);
+emit_16(841);
+emit_16(776);
+emit_16(841);
+emit_16(777);
+emit_16(842);
+emit_16(778);
+emit_16(842);
+emit_16(777);
+emit_16(842);
+emit_16(778);
+emit_16(843);
+emit_16(779);
+emit_16(843);
+emit_16(778);
+emit_16(843);
+emit_16(779);
+emit_16(844);
+emit_16(780);
+emit_16(844);
+emit_16(779);
+emit_16(844);
+emit_16(780);
+emit_16(845);
+emit_16(781);
+emit_16(845);
+emit_16(780);
+emit_16(845);
+emit_16(781);
+emit_16(846);
+emit_16(782);
+emit_16(846);
+emit_16(781);
+emit_16(846);
+emit_16(782);
+emit_16(847);
+emit_16(783);
+emit_16(847);
+emit_16(782);
+emit_16(847);
+emit_16(783);
+emit_16(848);
+emit_16(784);
+emit_16(848);
+emit_16(783);
+emit_16(848);
+emit_16(784);
+emit_16(849);
+emit_16(785);
+emit_16(849);
+emit_16(784);
+emit_16(849);
+emit_16(785);
+emit_16(850);
+emit_16(786);
+emit_16(850);
+emit_16(785);
+emit_16(850);
+emit_16(786);
+emit_16(851);
+emit_16(787);
+emit_16(851);
+emit_16(786);
+emit_16(851);
+emit_16(787);
+emit_16(852);
+emit_16(788);
+emit_16(852);
+emit_16(787);
+emit_16(852);
+emit_16(788);
+emit_16(853);
+emit_16(789);
+emit_16(853);
+emit_16(788);
+emit_16(853);
+emit_16(789);
+emit_16(854);
+emit_16(790);
+emit_16(854);
+emit_16(789);
+emit_16(854);
+emit_16(790);
+emit_16(855);
+emit_16(791);
+emit_16(855);
+emit_16(790);
+emit_16(855);
+emit_16(791);
+emit_16(856);
+emit_16(792);
+emit_16(856);
+emit_16(791);
+emit_16(856);
+emit_16(792);
+emit_16(857);
+emit_16(793);
+emit_16(857);
+emit_16(792);
+emit_16(857);
+emit_16(793);
+emit_16(858);
+emit_16(794);
+emit_16(858);
+emit_16(793);
+emit_16(858);
+emit_16(794);
+emit_16(859);
+emit_16(795);
+emit_16(859);
+emit_16(794);
+emit_16(859);
+emit_16(795);
+emit_16(860);
+emit_16(796);
+emit_16(860);
+emit_16(795);
+emit_16(860);
+emit_16(796);
+emit_16(861);
+emit_16(797);
+emit_16(861);
+emit_16(796);
+emit_16(861);
+emit_16(797);
+emit_16(862);
+emit_16(798);
+emit_16(862);
+emit_16(797);
+emit_16(862);
+emit_16(798);
+emit_16(863);
+emit_16(799);
+emit_16(863);
+emit_16(798);
+emit_16(863);
+emit_16(799);
+emit_16(864);
+emit_16(800);
+emit_16(864);
+emit_16(799);
+emit_16(864);
+emit_16(800);
+emit_16(865);
+emit_16(801);
+emit_16(865);
+emit_16(800);
+emit_16(865);
+emit_16(801);
+emit_16(866);
+emit_16(802);
+emit_16(866);
+emit_16(801);
+emit_16(866);
+emit_16(802);
+emit_16(867);
+emit_16(803);
+emit_16(867);
+emit_16(802);
+emit_16(867);
+emit_16(803);
+emit_16(868);
+emit_16(804);
+emit_16(868);
+emit_16(803);
+emit_16(868);
+emit_16(804);
+emit_16(869);
+emit_16(805);
+emit_16(869);
+emit_16(804);
+emit_16(869);
+emit_16(805);
+emit_16(870);
+emit_16(806);
+emit_16(870);
+emit_16(805);
+emit_16(870);
+emit_16(806);
+emit_16(871);
+emit_16(807);
+emit_16(871);
+emit_16(806);
+emit_16(871);
+emit_16(807);
+emit_16(872);
+emit_16(808);
+emit_16(872);
+emit_16(807);
+emit_16(872);
+emit_16(808);
+emit_16(873);
+emit_16(809);
+emit_16(873);
+emit_16(808);
+emit_16(873);
+emit_16(809);
+emit_16(874);
+emit_16(810);
+emit_16(874);
+emit_16(809);
+emit_16(874);
+emit_16(810);
+emit_16(875);
+emit_16(811);
+emit_16(875);
+emit_16(810);
+emit_16(875);
+emit_16(811);
+emit_16(876);
+emit_16(812);
+emit_16(876);
+emit_16(811);
+emit_16(876);
+emit_16(812);
+emit_16(877);
+emit_16(813);
+emit_16(877);
+emit_16(812);
+emit_16(877);
+emit_16(813);
+emit_16(878);
+emit_16(814);
+emit_16(878);
+emit_16(813);
+emit_16(878);
+emit_16(814);
+emit_16(879);
+emit_16(815);
+emit_16(879);
+emit_16(814);
+emit_16(879);
+emit_16(815);
+emit_16(880);
+emit_16(816);
+emit_16(880);
+emit_16(815);
+emit_16(880);
+emit_16(816);
+emit_16(881);
+emit_16(817);
+emit_16(881);
+emit_16(816);
+emit_16(881);
+emit_16(817);
+emit_16(882);
+emit_16(818);
+emit_16(882);
+emit_16(817);
+emit_16(882);
+emit_16(818);
+emit_16(883);
+emit_16(819);
+emit_16(883);
+emit_16(818);
+emit_16(883);
+emit_16(819);
+emit_16(884);
+emit_16(820);
+emit_16(884);
+emit_16(819);
+emit_16(884);
+emit_16(820);
+emit_16(885);
+emit_16(821);
+emit_16(885);
+emit_16(820);
+emit_16(885);
+emit_16(821);
+emit_16(886);
+emit_16(822);
+emit_16(886);
+emit_16(821);
+emit_16(886);
+emit_16(822);
+emit_16(887);
+emit_16(823);
+emit_16(887);
+emit_16(822);
+emit_16(887);
+emit_16(823);
+emit_16(888);
+emit_16(824);
+emit_16(888);
+emit_16(823);
+emit_16(888);
+emit_16(824);
+emit_16(889);
+emit_16(825);
+emit_16(889);
+emit_16(824);
+emit_16(889);
+emit_16(825);
+emit_16(890);
+emit_16(826);
+emit_16(890);
+emit_16(825);
+emit_16(890);
+emit_16(826);
+emit_16(891);
+emit_16(827);
+emit_16(891);
+emit_16(826);
+emit_16(891);
+emit_16(827);
+emit_16(892);
+emit_16(828);
+emit_16(892);
+emit_16(827);
+emit_16(892);
+emit_16(828);
+emit_16(893);
+emit_16(829);
+emit_16(893);
+emit_16(828);
+emit_16(893);
+emit_16(829);
+emit_16(894);
+emit_16(830);
+emit_16(894);
+emit_16(829);
+emit_16(894);
+emit_16(830);
+emit_16(895);
+emit_16(831);
+emit_16(895);
+emit_16(830);
+emit_16(896);
+emit_16(832);
+emit_16(897);
+emit_16(833);
+emit_16(897);
+emit_16(832);
+emit_16(897);
+emit_16(833);
+emit_16(898);
+emit_16(834);
+emit_16(898);
+emit_16(833);
+emit_16(898);
+emit_16(834);
+emit_16(899);
+emit_16(835);
+emit_16(899);
+emit_16(834);
+emit_16(899);
+emit_16(835);
+emit_16(900);
+emit_16(836);
+emit_16(900);
+emit_16(835);
+emit_16(900);
+emit_16(836);
+emit_16(901);
+emit_16(837);
+emit_16(901);
+emit_16(836);
+emit_16(901);
+emit_16(837);
+emit_16(902);
+emit_16(838);
+emit_16(902);
+emit_16(837);
+emit_16(902);
+emit_16(838);
+emit_16(903);
+emit_16(839);
+emit_16(903);
+emit_16(838);
+emit_16(903);
+emit_16(839);
+emit_16(904);
+emit_16(840);
+emit_16(904);
+emit_16(839);
+emit_16(904);
+emit_16(840);
+emit_16(905);
+emit_16(841);
+emit_16(905);
+emit_16(840);
+emit_16(905);
+emit_16(841);
+emit_16(906);
+emit_16(842);
+emit_16(906);
+emit_16(841);
+emit_16(906);
+emit_16(842);
+emit_16(907);
+emit_16(843);
+emit_16(907);
+emit_16(842);
+emit_16(907);
+emit_16(843);
+emit_16(908);
+emit_16(844);
+emit_16(908);
+emit_16(843);
+emit_16(908);
+emit_16(844);
+emit_16(909);
+emit_16(845);
+emit_16(909);
+emit_16(844);
+emit_16(909);
+emit_16(845);
+emit_16(910);
+emit_16(846);
+emit_16(910);
+emit_16(845);
+emit_16(910);
+emit_16(846);
+emit_16(911);
+emit_16(847);
+emit_16(911);
+emit_16(846);
+emit_16(911);
+emit_16(847);
+emit_16(912);
+emit_16(848);
+emit_16(912);
+emit_16(847);
+emit_16(912);
+emit_16(848);
+emit_16(913);
+emit_16(849);
+emit_16(913);
+emit_16(848);
+emit_16(913);
+emit_16(849);
+emit_16(914);
+emit_16(850);
+emit_16(914);
+emit_16(849);
+emit_16(914);
+emit_16(850);
+emit_16(915);
+emit_16(851);
+emit_16(915);
+emit_16(850);
+emit_16(915);
+emit_16(851);
+emit_16(916);
+emit_16(852);
+emit_16(916);
+emit_16(851);
+emit_16(916);
+emit_16(852);
+emit_16(917);
+emit_16(853);
+emit_16(917);
+emit_16(852);
+emit_16(917);
+emit_16(853);
+emit_16(918);
+emit_16(854);
+emit_16(918);
+emit_16(853);
+emit_16(918);
+emit_16(854);
+emit_16(919);
+emit_16(855);
+emit_16(919);
+emit_16(854);
+emit_16(919);
+emit_16(855);
+emit_16(920);
+emit_16(856);
+emit_16(920);
+emit_16(855);
+emit_16(920);
+emit_16(856);
+emit_16(921);
+emit_16(857);
+emit_16(921);
+emit_16(856);
+emit_16(921);
+emit_16(857);
+emit_16(922);
+emit_16(858);
+emit_16(922);
+emit_16(857);
+emit_16(922);
+emit_16(858);
+emit_16(923);
+emit_16(859);
+emit_16(923);
+emit_16(858);
+emit_16(923);
+emit_16(859);
+emit_16(924);
+emit_16(860);
+emit_16(924);
+emit_16(859);
+emit_16(924);
+emit_16(860);
+emit_16(925);
+emit_16(861);
+emit_16(925);
+emit_16(860);
+emit_16(925);
+emit_16(861);
+emit_16(926);
+emit_16(862);
+emit_16(926);
+emit_16(861);
+emit_16(926);
+emit_16(862);
+emit_16(927);
+emit_16(863);
+emit_16(927);
+emit_16(862);
+emit_16(927);
+emit_16(863);
+emit_16(928);
+emit_16(864);
+emit_16(928);
+emit_16(863);
+emit_16(928);
+emit_16(864);
+emit_16(929);
+emit_16(865);
+emit_16(929);
+emit_16(864);
+emit_16(929);
+emit_16(865);
+emit_16(930);
+emit_16(866);
+emit_16(930);
+emit_16(865);
+emit_16(930);
+emit_16(866);
+emit_16(931);
+emit_16(867);
+emit_16(931);
+emit_16(866);
+emit_16(931);
+emit_16(867);
+emit_16(932);
+emit_16(868);
+emit_16(932);
+emit_16(867);
+emit_16(932);
+emit_16(868);
+emit_16(933);
+emit_16(869);
+emit_16(933);
+emit_16(868);
+emit_16(933);
+emit_16(869);
+emit_16(934);
+emit_16(870);
+emit_16(934);
+emit_16(869);
+emit_16(934);
+emit_16(870);
+emit_16(935);
+emit_16(871);
+emit_16(935);
+emit_16(870);
+emit_16(935);
+emit_16(871);
+emit_16(936);
+emit_16(872);
+emit_16(936);
+emit_16(871);
+emit_16(936);
+emit_16(872);
+emit_16(937);
+emit_16(873);
+emit_16(937);
+emit_16(872);
+emit_16(937);
+emit_16(873);
+emit_16(938);
+emit_16(874);
+emit_16(938);
+emit_16(873);
+emit_16(938);
+emit_16(874);
+emit_16(939);
+emit_16(875);
+emit_16(939);
+emit_16(874);
+emit_16(939);
+emit_16(875);
+emit_16(940);
+emit_16(876);
+emit_16(940);
+emit_16(875);
+emit_16(940);
+emit_16(876);
+emit_16(941);
+emit_16(877);
+emit_16(941);
+emit_16(876);
+emit_16(941);
+emit_16(877);
+emit_16(942);
+emit_16(878);
+emit_16(942);
+emit_16(877);
+emit_16(942);
+emit_16(878);
+emit_16(943);
+emit_16(879);
+emit_16(943);
+emit_16(878);
+emit_16(943);
+emit_16(879);
+emit_16(944);
+emit_16(880);
+emit_16(944);
+emit_16(879);
+emit_16(944);
+emit_16(880);
+emit_16(945);
+emit_16(881);
+emit_16(945);
+emit_16(880);
+emit_16(945);
+emit_16(881);
+emit_16(946);
+emit_16(882);
+emit_16(946);
+emit_16(881);
+emit_16(946);
+emit_16(882);
+emit_16(947);
+emit_16(883);
+emit_16(947);
+emit_16(882);
+emit_16(947);
+emit_16(883);
+emit_16(948);
+emit_16(884);
+emit_16(948);
+emit_16(883);
+emit_16(948);
+emit_16(884);
+emit_16(949);
+emit_16(885);
+emit_16(949);
+emit_16(884);
+emit_16(949);
+emit_16(885);
+emit_16(950);
+emit_16(886);
+emit_16(950);
+emit_16(885);
+emit_16(950);
+emit_16(886);
+emit_16(951);
+emit_16(887);
+emit_16(951);
+emit_16(886);
+emit_16(951);
+emit_16(887);
+emit_16(952);
+emit_16(888);
+emit_16(952);
+emit_16(887);
+emit_16(952);
+emit_16(888);
+emit_16(953);
+emit_16(889);
+emit_16(953);
+emit_16(888);
+emit_16(953);
+emit_16(889);
+emit_16(954);
+emit_16(890);
+emit_16(954);
+emit_16(889);
+emit_16(954);
+emit_16(890);
+emit_16(955);
+emit_16(891);
+emit_16(955);
+emit_16(890);
+emit_16(955);
+emit_16(891);
+emit_16(956);
+emit_16(892);
+emit_16(956);
+emit_16(891);
+emit_16(956);
+emit_16(892);
+emit_16(957);
+emit_16(893);
+emit_16(957);
+emit_16(892);
+emit_16(957);
+emit_16(893);
+emit_16(958);
+emit_16(894);
+emit_16(958);
+emit_16(893);
+emit_16(958);
+emit_16(894);
+emit_16(959);
+emit_16(895);
+emit_16(959);
+emit_16(894);
+emit_16(960);
+emit_16(896);
+emit_16(961);
+emit_16(897);
+emit_16(961);
+emit_16(896);
+emit_16(961);
+emit_16(897);
+emit_16(962);
+emit_16(898);
+emit_16(962);
+emit_16(897);
+emit_16(962);
+emit_16(898);
+emit_16(963);
+emit_16(899);
+emit_16(963);
+emit_16(898);
+emit_16(963);
+emit_16(899);
+emit_16(964);
+emit_16(900);
+emit_16(964);
+emit_16(899);
+emit_16(964);
+emit_16(900);
+emit_16(965);
+emit_16(901);
+emit_16(965);
+emit_16(900);
+emit_16(965);
+emit_16(901);
+emit_16(966);
+emit_16(902);
+emit_16(966);
+emit_16(901);
+emit_16(966);
+emit_16(902);
+emit_16(967);
+emit_16(903);
+emit_16(967);
+emit_16(902);
+emit_16(967);
+emit_16(903);
+emit_16(968);
+emit_16(904);
+emit_16(968);
+emit_16(903);
+emit_16(968);
+emit_16(904);
+emit_16(969);
+emit_16(905);
+emit_16(969);
+emit_16(904);
+emit_16(969);
+emit_16(905);
+emit_16(970);
+emit_16(906);
+emit_16(970);
+emit_16(905);
+emit_16(970);
+emit_16(906);
+emit_16(971);
+emit_16(907);
+emit_16(971);
+emit_16(906);
+emit_16(971);
+emit_16(907);
+emit_16(972);
+emit_16(908);
+emit_16(972);
+emit_16(907);
+emit_16(972);
+emit_16(908);
+emit_16(973);
+emit_16(909);
+emit_16(973);
+emit_16(908);
+emit_16(973);
+emit_16(909);
+emit_16(974);
+emit_16(910);
+emit_16(974);
+emit_16(909);
+emit_16(974);
+emit_16(910);
+emit_16(975);
+emit_16(911);
+emit_16(975);
+emit_16(910);
+emit_16(975);
+emit_16(911);
+emit_16(976);
+emit_16(912);
+emit_16(976);
+emit_16(911);
+emit_16(976);
+emit_16(912);
+emit_16(977);
+emit_16(913);
+emit_16(977);
+emit_16(912);
+emit_16(977);
+emit_16(913);
+emit_16(978);
+emit_16(914);
+emit_16(978);
+emit_16(913);
+emit_16(978);
+emit_16(914);
+emit_16(979);
+emit_16(915);
+emit_16(979);
+emit_16(914);
+emit_16(979);
+emit_16(915);
+emit_16(980);
+emit_16(916);
+emit_16(980);
+emit_16(915);
+emit_16(980);
+emit_16(916);
+emit_16(981);
+emit_16(917);
+emit_16(981);
+emit_16(916);
+emit_16(981);
+emit_16(917);
+emit_16(982);
+emit_16(918);
+emit_16(982);
+emit_16(917);
+emit_16(982);
+emit_16(918);
+emit_16(983);
+emit_16(919);
+emit_16(983);
+emit_16(918);
+emit_16(983);
+emit_16(919);
+emit_16(984);
+emit_16(920);
+emit_16(984);
+emit_16(919);
+emit_16(984);
+emit_16(920);
+emit_16(985);
+emit_16(921);
+emit_16(985);
+emit_16(920);
+emit_16(985);
+emit_16(921);
+emit_16(986);
+emit_16(922);
+emit_16(986);
+emit_16(921);
+emit_16(986);
+emit_16(922);
+emit_16(987);
+emit_16(923);
+emit_16(987);
+emit_16(922);
+emit_16(987);
+emit_16(923);
+emit_16(988);
+emit_16(924);
+emit_16(988);
+emit_16(923);
+emit_16(988);
+emit_16(924);
+emit_16(989);
+emit_16(925);
+emit_16(989);
+emit_16(924);
+emit_16(989);
+emit_16(925);
+emit_16(990);
+emit_16(926);
+emit_16(990);
+emit_16(925);
+emit_16(990);
+emit_16(926);
+emit_16(991);
+emit_16(927);
+emit_16(991);
+emit_16(926);
+emit_16(991);
+emit_16(927);
+emit_16(992);
+emit_16(928);
+emit_16(992);
+emit_16(927);
+emit_16(992);
+emit_16(928);
+emit_16(993);
+emit_16(929);
+emit_16(993);
+emit_16(928);
+emit_16(993);
+emit_16(929);
+emit_16(994);
+emit_16(930);
+emit_16(994);
+emit_16(929);
+emit_16(994);
+emit_16(930);
+emit_16(995);
+emit_16(931);
+emit_16(995);
+emit_16(930);
+emit_16(995);
+emit_16(931);
+emit_16(996);
+emit_16(932);
+emit_16(996);
+emit_16(931);
+emit_16(996);
+emit_16(932);
+emit_16(997);
+emit_16(933);
+emit_16(997);
+emit_16(932);
+emit_16(997);
+emit_16(933);
+emit_16(998);
+emit_16(934);
+emit_16(998);
+emit_16(933);
+emit_16(998);
+emit_16(934);
+emit_16(999);
+emit_16(935);
+emit_16(999);
+emit_16(934);
+emit_16(999);
+emit_16(935);
+emit_16(1000);
+emit_16(936);
+emit_16(1000);
+emit_16(935);
+emit_16(1000);
+emit_16(936);
+emit_16(1001);
+emit_16(937);
+emit_16(1001);
+emit_16(936);
+emit_16(1001);
+emit_16(937);
+emit_16(1002);
+emit_16(938);
+emit_16(1002);
+emit_16(937);
+emit_16(1002);
+emit_16(938);
+emit_16(1003);
+emit_16(939);
+emit_16(1003);
+emit_16(938);
+emit_16(1003);
+emit_16(939);
+emit_16(1004);
+emit_16(940);
+emit_16(1004);
+emit_16(939);
+emit_16(1004);
+emit_16(940);
+emit_16(1005);
+emit_16(941);
+emit_16(1005);
+emit_16(940);
+emit_16(1005);
+emit_16(941);
+emit_16(1006);
+emit_16(942);
+emit_16(1006);
+emit_16(941);
+emit_16(1006);
+emit_16(942);
+emit_16(1007);
+emit_16(943);
+emit_16(1007);
+emit_16(942);
+emit_16(1007);
+emit_16(943);
+emit_16(1008);
+emit_16(944);
+emit_16(1008);
+emit_16(943);
+emit_16(1008);
+emit_16(944);
+emit_16(1009);
+emit_16(945);
+emit_16(1009);
+emit_16(944);
+emit_16(1009);
+emit_16(945);
+emit_16(1010);
+emit_16(946);
+emit_16(1010);
+emit_16(945);
+emit_16(1010);
+emit_16(946);
+emit_16(1011);
+emit_16(947);
+emit_16(1011);
+emit_16(946);
+emit_16(1011);
+emit_16(947);
+emit_16(1012);
+emit_16(948);
+emit_16(1012);
+emit_16(947);
+emit_16(1012);
+emit_16(948);
+emit_16(1013);
+emit_16(949);
+emit_16(1013);
+emit_16(948);
+emit_16(1013);
+emit_16(949);
+emit_16(1014);
+emit_16(950);
+emit_16(1014);
+emit_16(949);
+emit_16(1014);
+emit_16(950);
+emit_16(1015);
+emit_16(951);
+emit_16(1015);
+emit_16(950);
+emit_16(1015);
+emit_16(951);
+emit_16(1016);
+emit_16(952);
+emit_16(1016);
+emit_16(951);
+emit_16(1016);
+emit_16(952);
+emit_16(1017);
+emit_16(953);
+emit_16(1017);
+emit_16(952);
+emit_16(1017);
+emit_16(953);
+emit_16(1018);
+emit_16(954);
+emit_16(1018);
+emit_16(953);
+emit_16(1018);
+emit_16(954);
+emit_16(1019);
+emit_16(955);
+emit_16(1019);
+emit_16(954);
+emit_16(1019);
+emit_16(955);
+emit_16(1020);
+emit_16(956);
+emit_16(1020);
+emit_16(955);
+emit_16(1020);
+emit_16(956);
+emit_16(1021);
+emit_16(957);
+emit_16(1021);
+emit_16(956);
+emit_16(1021);
+emit_16(957);
+emit_16(1022);
+emit_16(958);
+emit_16(1022);
+emit_16(957);
+emit_16(1022);
+emit_16(958);
+emit_16(1023);
+emit_16(959);
+emit_16(1023);
+emit_16(958);
+emit_16(1024);
+emit_16(960);
+emit_16(1025);
+emit_16(961);
+emit_16(1025);
+emit_16(960);
+emit_16(1025);
+emit_16(961);
+emit_16(1026);
+emit_16(962);
+emit_16(1026);
+emit_16(961);
+emit_16(1026);
+emit_16(962);
+emit_16(1027);
+emit_16(963);
+emit_16(1027);
+emit_16(962);
+emit_16(1027);
+emit_16(963);
+emit_16(1028);
+emit_16(964);
+emit_16(1028);
+emit_16(963);
+emit_16(1028);
+emit_16(964);
+emit_16(1029);
+emit_16(965);
+emit_16(1029);
+emit_16(964);
+emit_16(1029);
+emit_16(965);
+emit_16(1030);
+emit_16(966);
+emit_16(1030);
+emit_16(965);
+emit_16(1030);
+emit_16(966);
+emit_16(1031);
+emit_16(967);
+emit_16(1031);
+emit_16(966);
+emit_16(1031);
+emit_16(967);
+emit_16(1032);
+emit_16(968);
+emit_16(1032);
+emit_16(967);
+emit_16(1032);
+emit_16(968);
+emit_16(1033);
+emit_16(969);
+emit_16(1033);
+emit_16(968);
+emit_16(1033);
+emit_16(969);
+emit_16(1034);
+emit_16(970);
+emit_16(1034);
+emit_16(969);
+emit_16(1034);
+emit_16(970);
+emit_16(1035);
+emit_16(971);
+emit_16(1035);
+emit_16(970);
+emit_16(1035);
+emit_16(971);
+emit_16(1036);
+emit_16(972);
+emit_16(1036);
+emit_16(971);
+emit_16(1036);
+emit_16(972);
+emit_16(1037);
+emit_16(973);
+emit_16(1037);
+emit_16(972);
+emit_16(1037);
+emit_16(973);
+emit_16(1038);
+emit_16(974);
+emit_16(1038);
+emit_16(973);
+emit_16(1038);
+emit_16(974);
+emit_16(1039);
+emit_16(975);
+emit_16(1039);
+emit_16(974);
+emit_16(1039);
+emit_16(975);
+emit_16(1040);
+emit_16(976);
+emit_16(1040);
+emit_16(975);
+emit_16(1040);
+emit_16(976);
+emit_16(1041);
+emit_16(977);
+emit_16(1041);
+emit_16(976);
+emit_16(1041);
+emit_16(977);
+emit_16(1042);
+emit_16(978);
+emit_16(1042);
+emit_16(977);
+emit_16(1042);
+emit_16(978);
+emit_16(1043);
+emit_16(979);
+emit_16(1043);
+emit_16(978);
+emit_16(1043);
+emit_16(979);
+emit_16(1044);
+emit_16(980);
+emit_16(1044);
+emit_16(979);
+emit_16(1044);
+emit_16(980);
+emit_16(1045);
+emit_16(981);
+emit_16(1045);
+emit_16(980);
+emit_16(1045);
+emit_16(981);
+emit_16(1046);
+emit_16(982);
+emit_16(1046);
+emit_16(981);
+emit_16(1046);
+emit_16(982);
+emit_16(1047);
+emit_16(983);
+emit_16(1047);
+emit_16(982);
+emit_16(1047);
+emit_16(983);
+emit_16(1048);
+emit_16(984);
+emit_16(1048);
+emit_16(983);
+emit_16(1048);
+emit_16(984);
+emit_16(1049);
+emit_16(985);
+emit_16(1049);
+emit_16(984);
+emit_16(1049);
+emit_16(985);
+emit_16(1050);
+emit_16(986);
+emit_16(1050);
+emit_16(985);
+emit_16(1050);
+emit_16(986);
+emit_16(1051);
+emit_16(987);
+emit_16(1051);
+emit_16(986);
+emit_16(1051);
+emit_16(987);
+emit_16(1052);
+emit_16(988);
+emit_16(1052);
+emit_16(987);
+emit_16(1052);
+emit_16(988);
+emit_16(1053);
+emit_16(989);
+emit_16(1053);
+emit_16(988);
+emit_16(1053);
+emit_16(989);
+emit_16(1054);
+emit_16(990);
+emit_16(1054);
+emit_16(989);
+emit_16(1054);
+emit_16(990);
+emit_16(1055);
+emit_16(991);
+emit_16(1055);
+emit_16(990);
+emit_16(1055);
+emit_16(991);
+emit_16(1056);
+emit_16(992);
+emit_16(1056);
+emit_16(991);
+emit_16(1056);
+emit_16(992);
+emit_16(1057);
+emit_16(993);
+emit_16(1057);
+emit_16(992);
+emit_16(1057);
+emit_16(993);
+emit_16(1058);
+emit_16(994);
+emit_16(1058);
+emit_16(993);
+emit_16(1058);
+emit_16(994);
+emit_16(1059);
+emit_16(995);
+emit_16(1059);
+emit_16(994);
+emit_16(1059);
+emit_16(995);
+emit_16(1060);
+emit_16(996);
+emit_16(1060);
+emit_16(995);
+emit_16(1060);
+emit_16(996);
+emit_16(1061);
+emit_16(997);
+emit_16(1061);
+emit_16(996);
+emit_16(1061);
+emit_16(997);
+emit_16(1062);
+emit_16(998);
+emit_16(1062);
+emit_16(997);
+emit_16(1062);
+emit_16(998);
+emit_16(1063);
+emit_16(999);
+emit_16(1063);
+emit_16(998);
+emit_16(1063);
+emit_16(999);
+emit_16(1064);
+emit_16(1000);
+emit_16(1064);
+emit_16(999);
+emit_16(1064);
+emit_16(1000);
+emit_16(1065);
+emit_16(1001);
+emit_16(1065);
+emit_16(1000);
+emit_16(1065);
+emit_16(1001);
+emit_16(1066);
+emit_16(1002);
+emit_16(1066);
+emit_16(1001);
+emit_16(1066);
+emit_16(1002);
+emit_16(1067);
+emit_16(1003);
+emit_16(1067);
+emit_16(1002);
+emit_16(1067);
+emit_16(1003);
+emit_16(1068);
+emit_16(1004);
+emit_16(1068);
+emit_16(1003);
+emit_16(1068);
+emit_16(1004);
+emit_16(1069);
+emit_16(1005);
+emit_16(1069);
+emit_16(1004);
+emit_16(1069);
+emit_16(1005);
+emit_16(1070);
+emit_16(1006);
+emit_16(1070);
+emit_16(1005);
+emit_16(1070);
+emit_16(1006);
+emit_16(1071);
+emit_16(1007);
+emit_16(1071);
+emit_16(1006);
+emit_16(1071);
+emit_16(1007);
+emit_16(1072);
+emit_16(1008);
+emit_16(1072);
+emit_16(1007);
+emit_16(1072);
+emit_16(1008);
+emit_16(1073);
+emit_16(1009);
+emit_16(1073);
+emit_16(1008);
+emit_16(1073);
+emit_16(1009);
+emit_16(1074);
+emit_16(1010);
+emit_16(1074);
+emit_16(1009);
+emit_16(1074);
+emit_16(1010);
+emit_16(1075);
+emit_16(1011);
+emit_16(1075);
+emit_16(1010);
+emit_16(1075);
+emit_16(1011);
+emit_16(1076);
+emit_16(1012);
+emit_16(1076);
+emit_16(1011);
+emit_16(1076);
+emit_16(1012);
+emit_16(1077);
+emit_16(1013);
+emit_16(1077);
+emit_16(1012);
+emit_16(1077);
+emit_16(1013);
+emit_16(1078);
+emit_16(1014);
+emit_16(1078);
+emit_16(1013);
+emit_16(1078);
+emit_16(1014);
+emit_16(1079);
+emit_16(1015);
+emit_16(1079);
+emit_16(1014);
+emit_16(1079);
+emit_16(1015);
+emit_16(1080);
+emit_16(1016);
+emit_16(1080);
+emit_16(1015);
+emit_16(1080);
+emit_16(1016);
+emit_16(1081);
+emit_16(1017);
+emit_16(1081);
+emit_16(1016);
+emit_16(1081);
+emit_16(1017);
+emit_16(1082);
+emit_16(1018);
+emit_16(1082);
+emit_16(1017);
+emit_16(1082);
+emit_16(1018);
+emit_16(1083);
+emit_16(1019);
+emit_16(1083);
+emit_16(1018);
+emit_16(1083);
+emit_16(1019);
+emit_16(1084);
+emit_16(1020);
+emit_16(1084);
+emit_16(1019);
+emit_16(1084);
+emit_16(1020);
+emit_16(1085);
+emit_16(1021);
+emit_16(1085);
+emit_16(1020);
+emit_16(1085);
+emit_16(1021);
+emit_16(1086);
+emit_16(1022);
+emit_16(1086);
+emit_16(1021);
+emit_16(1086);
+emit_16(1022);
+emit_16(1087);
+emit_16(1023);
+emit_16(1087);
+emit_16(1022);
+emit_16(1088);
+emit_16(1024);
+emit_16(1089);
+emit_16(1025);
+emit_16(1089);
+emit_16(1024);
+emit_16(1089);
+emit_16(1025);
+emit_16(1090);
+emit_16(1026);
+emit_16(1090);
+emit_16(1025);
+emit_16(1090);
+emit_16(1026);
+emit_16(1091);
+emit_16(1027);
+emit_16(1091);
+emit_16(1026);
+emit_16(1091);
+emit_16(1027);
+emit_16(1092);
+emit_16(1028);
+emit_16(1092);
+emit_16(1027);
+emit_16(1092);
+emit_16(1028);
+emit_16(1093);
+emit_16(1029);
+emit_16(1093);
+emit_16(1028);
+emit_16(1093);
+emit_16(1029);
+emit_16(1094);
+emit_16(1030);
+emit_16(1094);
+emit_16(1029);
+emit_16(1094);
+emit_16(1030);
+emit_16(1095);
+emit_16(1031);
+emit_16(1095);
+emit_16(1030);
+emit_16(1095);
+emit_16(1031);
+emit_16(1096);
+emit_16(1032);
+emit_16(1096);
+emit_16(1031);
+emit_16(1096);
+emit_16(1032);
+emit_16(1097);
+emit_16(1033);
+emit_16(1097);
+emit_16(1032);
+emit_16(1097);
+emit_16(1033);
+emit_16(1098);
+emit_16(1034);
+emit_16(1098);
+emit_16(1033);
+emit_16(1098);
+emit_16(1034);
+emit_16(1099);
+emit_16(1035);
+emit_16(1099);
+emit_16(1034);
+emit_16(1099);
+emit_16(1035);
+emit_16(1100);
+emit_16(1036);
+emit_16(1100);
+emit_16(1035);
+emit_16(1100);
+emit_16(1036);
+emit_16(1101);
+emit_16(1037);
+emit_16(1101);
+emit_16(1036);
+emit_16(1101);
+emit_16(1037);
+emit_16(1102);
+emit_16(1038);
+emit_16(1102);
+emit_16(1037);
+emit_16(1102);
+emit_16(1038);
+emit_16(1103);
+emit_16(1039);
+emit_16(1103);
+emit_16(1038);
+emit_16(1103);
+emit_16(1039);
+emit_16(1104);
+emit_16(1040);
+emit_16(1104);
+emit_16(1039);
+emit_16(1104);
+emit_16(1040);
+emit_16(1105);
+emit_16(1041);
+emit_16(1105);
+emit_16(1040);
+emit_16(1105);
+emit_16(1041);
+emit_16(1106);
+emit_16(1042);
+emit_16(1106);
+emit_16(1041);
+emit_16(1106);
+emit_16(1042);
+emit_16(1107);
+emit_16(1043);
+emit_16(1107);
+emit_16(1042);
+emit_16(1107);
+emit_16(1043);
+emit_16(1108);
+emit_16(1044);
+emit_16(1108);
+emit_16(1043);
+emit_16(1108);
+emit_16(1044);
+emit_16(1109);
+emit_16(1045);
+emit_16(1109);
+emit_16(1044);
+emit_16(1109);
+emit_16(1045);
+emit_16(1110);
+emit_16(1046);
+emit_16(1110);
+emit_16(1045);
+emit_16(1110);
+emit_16(1046);
+emit_16(1111);
+emit_16(1047);
+emit_16(1111);
+emit_16(1046);
+emit_16(1111);
+emit_16(1047);
+emit_16(1112);
+emit_16(1048);
+emit_16(1112);
+emit_16(1047);
+emit_16(1112);
+emit_16(1048);
+emit_16(1113);
+emit_16(1049);
+emit_16(1113);
+emit_16(1048);
+emit_16(1113);
+emit_16(1049);
+emit_16(1114);
+emit_16(1050);
+emit_16(1114);
+emit_16(1049);
+emit_16(1114);
+emit_16(1050);
+emit_16(1115);
+emit_16(1051);
+emit_16(1115);
+emit_16(1050);
+emit_16(1115);
+emit_16(1051);
+emit_16(1116);
+emit_16(1052);
+emit_16(1116);
+emit_16(1051);
+emit_16(1116);
+emit_16(1052);
+emit_16(1117);
+emit_16(1053);
+emit_16(1117);
+emit_16(1052);
+emit_16(1117);
+emit_16(1053);
+emit_16(1118);
+emit_16(1054);
+emit_16(1118);
+emit_16(1053);
+emit_16(1118);
+emit_16(1054);
+emit_16(1119);
+emit_16(1055);
+emit_16(1119);
+emit_16(1054);
+emit_16(1119);
+emit_16(1055);
+emit_16(1120);
+emit_16(1056);
+emit_16(1120);
+emit_16(1055);
+emit_16(1120);
+emit_16(1056);
+emit_16(1121);
+emit_16(1057);
+emit_16(1121);
+emit_16(1056);
+emit_16(1121);
+emit_16(1057);
+emit_16(1122);
+emit_16(1058);
+emit_16(1122);
+emit_16(1057);
+emit_16(1122);
+emit_16(1058);
+emit_16(1123);
+emit_16(1059);
+emit_16(1123);
+emit_16(1058);
+emit_16(1123);
+emit_16(1059);
+emit_16(1124);
+emit_16(1060);
+emit_16(1124);
+emit_16(1059);
+emit_16(1124);
+emit_16(1060);
+emit_16(1125);
+emit_16(1061);
+emit_16(1125);
+emit_16(1060);
+emit_16(1125);
+emit_16(1061);
+emit_16(1126);
+emit_16(1062);
+emit_16(1126);
+emit_16(1061);
+emit_16(1126);
+emit_16(1062);
+emit_16(1127);
+emit_16(1063);
+emit_16(1127);
+emit_16(1062);
+emit_16(1127);
+emit_16(1063);
+emit_16(1128);
+emit_16(1064);
+emit_16(1128);
+emit_16(1063);
+emit_16(1128);
+emit_16(1064);
+emit_16(1129);
+emit_16(1065);
+emit_16(1129);
+emit_16(1064);
+emit_16(1129);
+emit_16(1065);
+emit_16(1130);
+emit_16(1066);
+emit_16(1130);
+emit_16(1065);
+emit_16(1130);
+emit_16(1066);
+emit_16(1131);
+emit_16(1067);
+emit_16(1131);
+emit_16(1066);
+emit_16(1131);
+emit_16(1067);
+emit_16(1132);
+emit_16(1068);
+emit_16(1132);
+emit_16(1067);
+emit_16(1132);
+emit_16(1068);
+emit_16(1133);
+emit_16(1069);
+emit_16(1133);
+emit_16(1068);
+emit_16(1133);
+emit_16(1069);
+emit_16(1134);
+emit_16(1070);
+emit_16(1134);
+emit_16(1069);
+emit_16(1134);
+emit_16(1070);
+emit_16(1135);
+emit_16(1071);
+emit_16(1135);
+emit_16(1070);
+emit_16(1135);
+emit_16(1071);
+emit_16(1136);
+emit_16(1072);
+emit_16(1136);
+emit_16(1071);
+emit_16(1136);
+emit_16(1072);
+emit_16(1137);
+emit_16(1073);
+emit_16(1137);
+emit_16(1072);
+emit_16(1137);
+emit_16(1073);
+emit_16(1138);
+emit_16(1074);
+emit_16(1138);
+emit_16(1073);
+emit_16(1138);
+emit_16(1074);
+emit_16(1139);
+emit_16(1075);
+emit_16(1139);
+emit_16(1074);
+emit_16(1139);
+emit_16(1075);
+emit_16(1140);
+emit_16(1076);
+emit_16(1140);
+emit_16(1075);
+emit_16(1140);
+emit_16(1076);
+emit_16(1141);
+emit_16(1077);
+emit_16(1141);
+emit_16(1076);
+emit_16(1141);
+emit_16(1077);
+emit_16(1142);
+emit_16(1078);
+emit_16(1142);
+emit_16(1077);
+emit_16(1142);
+emit_16(1078);
+emit_16(1143);
+emit_16(1079);
+emit_16(1143);
+emit_16(1078);
+emit_16(1143);
+emit_16(1079);
+emit_16(1144);
+emit_16(1080);
+emit_16(1144);
+emit_16(1079);
+emit_16(1144);
+emit_16(1080);
+emit_16(1145);
+emit_16(1081);
+emit_16(1145);
+emit_16(1080);
+emit_16(1145);
+emit_16(1081);
+emit_16(1146);
+emit_16(1082);
+emit_16(1146);
+emit_16(1081);
+emit_16(1146);
+emit_16(1082);
+emit_16(1147);
+emit_16(1083);
+emit_16(1147);
+emit_16(1082);
+emit_16(1147);
+emit_16(1083);
+emit_16(1148);
+emit_16(1084);
+emit_16(1148);
+emit_16(1083);
+emit_16(1148);
+emit_16(1084);
+emit_16(1149);
+emit_16(1085);
+emit_16(1149);
+emit_16(1084);
+emit_16(1149);
+emit_16(1085);
+emit_16(1150);
+emit_16(1086);
+emit_16(1150);
+emit_16(1085);
+emit_16(1150);
+emit_16(1086);
+emit_16(1151);
+emit_16(1087);
+emit_16(1151);
+emit_16(1086);
+emit_16(1152);
+emit_16(1088);
+emit_16(1153);
+emit_16(1089);
+emit_16(1153);
+emit_16(1088);
+emit_16(1153);
+emit_16(1089);
+emit_16(1154);
+emit_16(1090);
+emit_16(1154);
+emit_16(1089);
+emit_16(1154);
+emit_16(1090);
+emit_16(1155);
+emit_16(1091);
+emit_16(1155);
+emit_16(1090);
+emit_16(1155);
+emit_16(1091);
+emit_16(1156);
+emit_16(1092);
+emit_16(1156);
+emit_16(1091);
+emit_16(1156);
+emit_16(1092);
+emit_16(1157);
+emit_16(1093);
+emit_16(1157);
+emit_16(1092);
+emit_16(1157);
+emit_16(1093);
+emit_16(1158);
+emit_16(1094);
+emit_16(1158);
+emit_16(1093);
+emit_16(1158);
+emit_16(1094);
+emit_16(1159);
+emit_16(1095);
+emit_16(1159);
+emit_16(1094);
+emit_16(1159);
+emit_16(1095);
+emit_16(1160);
+emit_16(1096);
+emit_16(1160);
+emit_16(1095);
+emit_16(1160);
+emit_16(1096);
+emit_16(1161);
+emit_16(1097);
+emit_16(1161);
+emit_16(1096);
+emit_16(1161);
+emit_16(1097);
+emit_16(1162);
+emit_16(1098);
+emit_16(1162);
+emit_16(1097);
+emit_16(1162);
+emit_16(1098);
+emit_16(1163);
+emit_16(1099);
+emit_16(1163);
+emit_16(1098);
+emit_16(1163);
+emit_16(1099);
+emit_16(1164);
+emit_16(1100);
+emit_16(1164);
+emit_16(1099);
+emit_16(1164);
+emit_16(1100);
+emit_16(1165);
+emit_16(1101);
+emit_16(1165);
+emit_16(1100);
+emit_16(1165);
+emit_16(1101);
+emit_16(1166);
+emit_16(1102);
+emit_16(1166);
+emit_16(1101);
+emit_16(1166);
+emit_16(1102);
+emit_16(1167);
+emit_16(1103);
+emit_16(1167);
+emit_16(1102);
+emit_16(1167);
+emit_16(1103);
+emit_16(1168);
+emit_16(1104);
+emit_16(1168);
+emit_16(1103);
+emit_16(1168);
+emit_16(1104);
+emit_16(1169);
+emit_16(1105);
+emit_16(1169);
+emit_16(1104);
+emit_16(1169);
+emit_16(1105);
+emit_16(1170);
+emit_16(1106);
+emit_16(1170);
+emit_16(1105);
+emit_16(1170);
+emit_16(1106);
+emit_16(1171);
+emit_16(1107);
+emit_16(1171);
+emit_16(1106);
+emit_16(1171);
+emit_16(1107);
+emit_16(1172);
+emit_16(1108);
+emit_16(1172);
+emit_16(1107);
+emit_16(1172);
+emit_16(1108);
+emit_16(1173);
+emit_16(1109);
+emit_16(1173);
+emit_16(1108);
+emit_16(1173);
+emit_16(1109);
+emit_16(1174);
+emit_16(1110);
+emit_16(1174);
+emit_16(1109);
+emit_16(1174);
+emit_16(1110);
+emit_16(1175);
+emit_16(1111);
+emit_16(1175);
+emit_16(1110);
+emit_16(1175);
+emit_16(1111);
+emit_16(1176);
+emit_16(1112);
+emit_16(1176);
+emit_16(1111);
+emit_16(1176);
+emit_16(1112);
+emit_16(1177);
+emit_16(1113);
+emit_16(1177);
+emit_16(1112);
+emit_16(1177);
+emit_16(1113);
+emit_16(1178);
+emit_16(1114);
+emit_16(1178);
+emit_16(1113);
+emit_16(1178);
+emit_16(1114);
+emit_16(1179);
+emit_16(1115);
+emit_16(1179);
+emit_16(1114);
+emit_16(1179);
+emit_16(1115);
+emit_16(1180);
+emit_16(1116);
+emit_16(1180);
+emit_16(1115);
+emit_16(1180);
+emit_16(1116);
+emit_16(1181);
+emit_16(1117);
+emit_16(1181);
+emit_16(1116);
+emit_16(1181);
+emit_16(1117);
+emit_16(1182);
+emit_16(1118);
+emit_16(1182);
+emit_16(1117);
+emit_16(1182);
+emit_16(1118);
+emit_16(1183);
+emit_16(1119);
+emit_16(1183);
+emit_16(1118);
+emit_16(1183);
+emit_16(1119);
+emit_16(1184);
+emit_16(1120);
+emit_16(1184);
+emit_16(1119);
+emit_16(1184);
+emit_16(1120);
+emit_16(1185);
+emit_16(1121);
+emit_16(1185);
+emit_16(1120);
+emit_16(1185);
+emit_16(1121);
+emit_16(1186);
+emit_16(1122);
+emit_16(1186);
+emit_16(1121);
+emit_16(1186);
+emit_16(1122);
+emit_16(1187);
+emit_16(1123);
+emit_16(1187);
+emit_16(1122);
+emit_16(1187);
+emit_16(1123);
+emit_16(1188);
+emit_16(1124);
+emit_16(1188);
+emit_16(1123);
+emit_16(1188);
+emit_16(1124);
+emit_16(1189);
+emit_16(1125);
+emit_16(1189);
+emit_16(1124);
+emit_16(1189);
+emit_16(1125);
+emit_16(1190);
+emit_16(1126);
+emit_16(1190);
+emit_16(1125);
+emit_16(1190);
+emit_16(1126);
+emit_16(1191);
+emit_16(1127);
+emit_16(1191);
+emit_16(1126);
+emit_16(1191);
+emit_16(1127);
+emit_16(1192);
+emit_16(1128);
+emit_16(1192);
+emit_16(1127);
+emit_16(1192);
+emit_16(1128);
+emit_16(1193);
+emit_16(1129);
+emit_16(1193);
+emit_16(1128);
+emit_16(1193);
+emit_16(1129);
+emit_16(1194);
+emit_16(1130);
+emit_16(1194);
+emit_16(1129);
+emit_16(1194);
+emit_16(1130);
+emit_16(1195);
+emit_16(1131);
+emit_16(1195);
+emit_16(1130);
+emit_16(1195);
+emit_16(1131);
+emit_16(1196);
+emit_16(1132);
+emit_16(1196);
+emit_16(1131);
+emit_16(1196);
+emit_16(1132);
+emit_16(1197);
+emit_16(1133);
+emit_16(1197);
+emit_16(1132);
+emit_16(1197);
+emit_16(1133);
+emit_16(1198);
+emit_16(1134);
+emit_16(1198);
+emit_16(1133);
+emit_16(1198);
+emit_16(1134);
+emit_16(1199);
+emit_16(1135);
+emit_16(1199);
+emit_16(1134);
+emit_16(1199);
+emit_16(1135);
+emit_16(1200);
+emit_16(1136);
+emit_16(1200);
+emit_16(1135);
+emit_16(1200);
+emit_16(1136);
+emit_16(1201);
+emit_16(1137);
+emit_16(1201);
+emit_16(1136);
+emit_16(1201);
+emit_16(1137);
+emit_16(1202);
+emit_16(1138);
+emit_16(1202);
+emit_16(1137);
+emit_16(1202);
+emit_16(1138);
+emit_16(1203);
+emit_16(1139);
+emit_16(1203);
+emit_16(1138);
+emit_16(1203);
+emit_16(1139);
+emit_16(1204);
+emit_16(1140);
+emit_16(1204);
+emit_16(1139);
+emit_16(1204);
+emit_16(1140);
+emit_16(1205);
+emit_16(1141);
+emit_16(1205);
+emit_16(1140);
+emit_16(1205);
+emit_16(1141);
+emit_16(1206);
+emit_16(1142);
+emit_16(1206);
+emit_16(1141);
+emit_16(1206);
+emit_16(1142);
+emit_16(1207);
+emit_16(1143);
+emit_16(1207);
+emit_16(1142);
+emit_16(1207);
+emit_16(1143);
+emit_16(1208);
+emit_16(1144);
+emit_16(1208);
+emit_16(1143);
+emit_16(1208);
+emit_16(1144);
+emit_16(1209);
+emit_16(1145);
+emit_16(1209);
+emit_16(1144);
+emit_16(1209);
+emit_16(1145);
+emit_16(1210);
+emit_16(1146);
+emit_16(1210);
+emit_16(1145);
+emit_16(1210);
+emit_16(1146);
+emit_16(1211);
+emit_16(1147);
+emit_16(1211);
+emit_16(1146);
+emit_16(1211);
+emit_16(1147);
+emit_16(1212);
+emit_16(1148);
+emit_16(1212);
+emit_16(1147);
+emit_16(1212);
+emit_16(1148);
+emit_16(1213);
+emit_16(1149);
+emit_16(1213);
+emit_16(1148);
+emit_16(1213);
+emit_16(1149);
+emit_16(1214);
+emit_16(1150);
+emit_16(1214);
+emit_16(1149);
+emit_16(1214);
+emit_16(1150);
+emit_16(1215);
+emit_16(1151);
+emit_16(1215);
+emit_16(1150);
+emit_16(1216);
+emit_16(1152);
+emit_16(1217);
+emit_16(1153);
+emit_16(1217);
+emit_16(1152);
+emit_16(1217);
+emit_16(1153);
+emit_16(1218);
+emit_16(1154);
+emit_16(1218);
+emit_16(1153);
+emit_16(1218);
+emit_16(1154);
+emit_16(1219);
+emit_16(1155);
+emit_16(1219);
+emit_16(1154);
+emit_16(1219);
+emit_16(1155);
+emit_16(1220);
+emit_16(1156);
+emit_16(1220);
+emit_16(1155);
+emit_16(1220);
+emit_16(1156);
+emit_16(1221);
+emit_16(1157);
+emit_16(1221);
+emit_16(1156);
+emit_16(1221);
+emit_16(1157);
+emit_16(1222);
+emit_16(1158);
+emit_16(1222);
+emit_16(1157);
+emit_16(1222);
+emit_16(1158);
+emit_16(1223);
+emit_16(1159);
+emit_16(1223);
+emit_16(1158);
+emit_16(1223);
+emit_16(1159);
+emit_16(1224);
+emit_16(1160);
+emit_16(1224);
+emit_16(1159);
+emit_16(1224);
+emit_16(1160);
+emit_16(1225);
+emit_16(1161);
+emit_16(1225);
+emit_16(1160);
+emit_16(1225);
+emit_16(1161);
+emit_16(1226);
+emit_16(1162);
+emit_16(1226);
+emit_16(1161);
+emit_16(1226);
+emit_16(1162);
+emit_16(1227);
+emit_16(1163);
+emit_16(1227);
+emit_16(1162);
+emit_16(1227);
+emit_16(1163);
+emit_16(1228);
+emit_16(1164);
+emit_16(1228);
+emit_16(1163);
+emit_16(1228);
+emit_16(1164);
+emit_16(1229);
+emit_16(1165);
+emit_16(1229);
+emit_16(1164);
+emit_16(1229);
+emit_16(1165);
+emit_16(1230);
+emit_16(1166);
+emit_16(1230);
+emit_16(1165);
+emit_16(1230);
+emit_16(1166);
+emit_16(1231);
+emit_16(1167);
+emit_16(1231);
+emit_16(1166);
+emit_16(1231);
+emit_16(1167);
+emit_16(1232);
+emit_16(1168);
+emit_16(1232);
+emit_16(1167);
+emit_16(1232);
+emit_16(1168);
+emit_16(1233);
+emit_16(1169);
+emit_16(1233);
+emit_16(1168);
+emit_16(1233);
+emit_16(1169);
+emit_16(1234);
+emit_16(1170);
+emit_16(1234);
+emit_16(1169);
+emit_16(1234);
+emit_16(1170);
+emit_16(1235);
+emit_16(1171);
+emit_16(1235);
+emit_16(1170);
+emit_16(1235);
+emit_16(1171);
+emit_16(1236);
+emit_16(1172);
+emit_16(1236);
+emit_16(1171);
+emit_16(1236);
+emit_16(1172);
+emit_16(1237);
+emit_16(1173);
+emit_16(1237);
+emit_16(1172);
+emit_16(1237);
+emit_16(1173);
+emit_16(1238);
+emit_16(1174);
+emit_16(1238);
+emit_16(1173);
+emit_16(1238);
+emit_16(1174);
+emit_16(1239);
+emit_16(1175);
+emit_16(1239);
+emit_16(1174);
+emit_16(1239);
+emit_16(1175);
+emit_16(1240);
+emit_16(1176);
+emit_16(1240);
+emit_16(1175);
+emit_16(1240);
+emit_16(1176);
+emit_16(1241);
+emit_16(1177);
+emit_16(1241);
+emit_16(1176);
+emit_16(1241);
+emit_16(1177);
+emit_16(1242);
+emit_16(1178);
+emit_16(1242);
+emit_16(1177);
+emit_16(1242);
+emit_16(1178);
+emit_16(1243);
+emit_16(1179);
+emit_16(1243);
+emit_16(1178);
+emit_16(1243);
+emit_16(1179);
+emit_16(1244);
+emit_16(1180);
+emit_16(1244);
+emit_16(1179);
+emit_16(1244);
+emit_16(1180);
+emit_16(1245);
+emit_16(1181);
+emit_16(1245);
+emit_16(1180);
+emit_16(1245);
+emit_16(1181);
+emit_16(1246);
+emit_16(1182);
+emit_16(1246);
+emit_16(1181);
+emit_16(1246);
+emit_16(1182);
+emit_16(1247);
+emit_16(1183);
+emit_16(1247);
+emit_16(1182);
+emit_16(1247);
+emit_16(1183);
+emit_16(1248);
+emit_16(1184);
+emit_16(1248);
+emit_16(1183);
+emit_16(1248);
+emit_16(1184);
+emit_16(1249);
+emit_16(1185);
+emit_16(1249);
+emit_16(1184);
+emit_16(1249);
+emit_16(1185);
+emit_16(1250);
+emit_16(1186);
+emit_16(1250);
+emit_16(1185);
+emit_16(1250);
+emit_16(1186);
+emit_16(1251);
+emit_16(1187);
+emit_16(1251);
+emit_16(1186);
+emit_16(1251);
+emit_16(1187);
+emit_16(1252);
+emit_16(1188);
+emit_16(1252);
+emit_16(1187);
+emit_16(1252);
+emit_16(1188);
+emit_16(1253);
+emit_16(1189);
+emit_16(1253);
+emit_16(1188);
+emit_16(1253);
+emit_16(1189);
+emit_16(1254);
+emit_16(1190);
+emit_16(1254);
+emit_16(1189);
+emit_16(1254);
+emit_16(1190);
+emit_16(1255);
+emit_16(1191);
+emit_16(1255);
+emit_16(1190);
+emit_16(1255);
+emit_16(1191);
+emit_16(1256);
+emit_16(1192);
+emit_16(1256);
+emit_16(1191);
+emit_16(1256);
+emit_16(1192);
+emit_16(1257);
+emit_16(1193);
+emit_16(1257);
+emit_16(1192);
+emit_16(1257);
+emit_16(1193);
+emit_16(1258);
+emit_16(1194);
+emit_16(1258);
+emit_16(1193);
+emit_16(1258);
+emit_16(1194);
+emit_16(1259);
+emit_16(1195);
+emit_16(1259);
+emit_16(1194);
+emit_16(1259);
+emit_16(1195);
+emit_16(1260);
+emit_16(1196);
+emit_16(1260);
+emit_16(1195);
+emit_16(1260);
+emit_16(1196);
+emit_16(1261);
+emit_16(1197);
+emit_16(1261);
+emit_16(1196);
+emit_16(1261);
+emit_16(1197);
+emit_16(1262);
+emit_16(1198);
+emit_16(1262);
+emit_16(1197);
+emit_16(1262);
+emit_16(1198);
+emit_16(1263);
+emit_16(1199);
+emit_16(1263);
+emit_16(1198);
+emit_16(1263);
+emit_16(1199);
+emit_16(1264);
+emit_16(1200);
+emit_16(1264);
+emit_16(1199);
+emit_16(1264);
+emit_16(1200);
+emit_16(1265);
+emit_16(1201);
+emit_16(1265);
+emit_16(1200);
+emit_16(1265);
+emit_16(1201);
+emit_16(1266);
+emit_16(1202);
+emit_16(1266);
+emit_16(1201);
+emit_16(1266);
+emit_16(1202);
+emit_16(1267);
+emit_16(1203);
+emit_16(1267);
+emit_16(1202);
+emit_16(1267);
+emit_16(1203);
+emit_16(1268);
+emit_16(1204);
+emit_16(1268);
+emit_16(1203);
+emit_16(1268);
+emit_16(1204);
+emit_16(1269);
+emit_16(1205);
+emit_16(1269);
+emit_16(1204);
+emit_16(1269);
+emit_16(1205);
+emit_16(1270);
+emit_16(1206);
+emit_16(1270);
+emit_16(1205);
+emit_16(1270);
+emit_16(1206);
+emit_16(1271);
+emit_16(1207);
+emit_16(1271);
+emit_16(1206);
+emit_16(1271);
+emit_16(1207);
+emit_16(1272);
+emit_16(1208);
+emit_16(1272);
+emit_16(1207);
+emit_16(1272);
+emit_16(1208);
+emit_16(1273);
+emit_16(1209);
+emit_16(1273);
+emit_16(1208);
+emit_16(1273);
+emit_16(1209);
+emit_16(1274);
+emit_16(1210);
+emit_16(1274);
+emit_16(1209);
+emit_16(1274);
+emit_16(1210);
+emit_16(1275);
+emit_16(1211);
+emit_16(1275);
+emit_16(1210);
+emit_16(1275);
+emit_16(1211);
+emit_16(1276);
+emit_16(1212);
+emit_16(1276);
+emit_16(1211);
+emit_16(1276);
+emit_16(1212);
+emit_16(1277);
+emit_16(1213);
+emit_16(1277);
+emit_16(1212);
+emit_16(1277);
+emit_16(1213);
+emit_16(1278);
+emit_16(1214);
+emit_16(1278);
+emit_16(1213);
+emit_16(1278);
+emit_16(1214);
+emit_16(1279);
+emit_16(1215);
+emit_16(1279);
+emit_16(1214);
+emit_16(1280);
+emit_16(1216);
+emit_16(1281);
+emit_16(1217);
+emit_16(1281);
+emit_16(1216);
+emit_16(1281);
+emit_16(1217);
+emit_16(1282);
+emit_16(1218);
+emit_16(1282);
+emit_16(1217);
+emit_16(1282);
+emit_16(1218);
+emit_16(1283);
+emit_16(1219);
+emit_16(1283);
+emit_16(1218);
+emit_16(1283);
+emit_16(1219);
+emit_16(1284);
+emit_16(1220);
+emit_16(1284);
+emit_16(1219);
+emit_16(1284);
+emit_16(1220);
+emit_16(1285);
+emit_16(1221);
+emit_16(1285);
+emit_16(1220);
+emit_16(1285);
+emit_16(1221);
+emit_16(1286);
+emit_16(1222);
+emit_16(1286);
+emit_16(1221);
+emit_16(1286);
+emit_16(1222);
+emit_16(1287);
+emit_16(1223);
+emit_16(1287);
+emit_16(1222);
+emit_16(1287);
+emit_16(1223);
+emit_16(1288);
+emit_16(1224);
+emit_16(1288);
+emit_16(1223);
+emit_16(1288);
+emit_16(1224);
+emit_16(1289);
+emit_16(1225);
+emit_16(1289);
+emit_16(1224);
+emit_16(1289);
+emit_16(1225);
+emit_16(1290);
+emit_16(1226);
+emit_16(1290);
+emit_16(1225);
+emit_16(1290);
+emit_16(1226);
+emit_16(1291);
+emit_16(1227);
+emit_16(1291);
+emit_16(1226);
+emit_16(1291);
+emit_16(1227);
+emit_16(1292);
+emit_16(1228);
+emit_16(1292);
+emit_16(1227);
+emit_16(1292);
+emit_16(1228);
+emit_16(1293);
+emit_16(1229);
+emit_16(1293);
+emit_16(1228);
+emit_16(1293);
+emit_16(1229);
+emit_16(1294);
+emit_16(1230);
+emit_16(1294);
+emit_16(1229);
+emit_16(1294);
+emit_16(1230);
+emit_16(1295);
+emit_16(1231);
+emit_16(1295);
+emit_16(1230);
+emit_16(1295);
+emit_16(1231);
+emit_16(1296);
+emit_16(1232);
+emit_16(1296);
+emit_16(1231);
+emit_16(1296);
+emit_16(1232);
+emit_16(1297);
+emit_16(1233);
+emit_16(1297);
+emit_16(1232);
+emit_16(1297);
+emit_16(1233);
+emit_16(1298);
+emit_16(1234);
+emit_16(1298);
+emit_16(1233);
+emit_16(1298);
+emit_16(1234);
+emit_16(1299);
+emit_16(1235);
+emit_16(1299);
+emit_16(1234);
+emit_16(1299);
+emit_16(1235);
+emit_16(1300);
+emit_16(1236);
+emit_16(1300);
+emit_16(1235);
+emit_16(1300);
+emit_16(1236);
+emit_16(1301);
+emit_16(1237);
+emit_16(1301);
+emit_16(1236);
+emit_16(1301);
+emit_16(1237);
+emit_16(1302);
+emit_16(1238);
+emit_16(1302);
+emit_16(1237);
+emit_16(1302);
+emit_16(1238);
+emit_16(1303);
+emit_16(1239);
+emit_16(1303);
+emit_16(1238);
+emit_16(1303);
+emit_16(1239);
+emit_16(1304);
+emit_16(1240);
+emit_16(1304);
+emit_16(1239);
+emit_16(1304);
+emit_16(1240);
+emit_16(1305);
+emit_16(1241);
+emit_16(1305);
+emit_16(1240);
+emit_16(1305);
+emit_16(1241);
+emit_16(1306);
+emit_16(1242);
+emit_16(1306);
+emit_16(1241);
+emit_16(1306);
+emit_16(1242);
+emit_16(1307);
+emit_16(1243);
+emit_16(1307);
+emit_16(1242);
+emit_16(1307);
+emit_16(1243);
+emit_16(1308);
+emit_16(1244);
+emit_16(1308);
+emit_16(1243);
+emit_16(1308);
+emit_16(1244);
+emit_16(1309);
+emit_16(1245);
+emit_16(1309);
+emit_16(1244);
+emit_16(1309);
+emit_16(1245);
+emit_16(1310);
+emit_16(1246);
+emit_16(1310);
+emit_16(1245);
+emit_16(1310);
+emit_16(1246);
+emit_16(1311);
+emit_16(1247);
+emit_16(1311);
+emit_16(1246);
+emit_16(1311);
+emit_16(1247);
+emit_16(1312);
+emit_16(1248);
+emit_16(1312);
+emit_16(1247);
+emit_16(1312);
+emit_16(1248);
+emit_16(1313);
+emit_16(1249);
+emit_16(1313);
+emit_16(1248);
+emit_16(1313);
+emit_16(1249);
+emit_16(1314);
+emit_16(1250);
+emit_16(1314);
+emit_16(1249);
+emit_16(1314);
+emit_16(1250);
+emit_16(1315);
+emit_16(1251);
+emit_16(1315);
+emit_16(1250);
+emit_16(1315);
+emit_16(1251);
+emit_16(1316);
+emit_16(1252);
+emit_16(1316);
+emit_16(1251);
+emit_16(1316);
+emit_16(1252);
+emit_16(1317);
+emit_16(1253);
+emit_16(1317);
+emit_16(1252);
+emit_16(1317);
+emit_16(1253);
+emit_16(1318);
+emit_16(1254);
+emit_16(1318);
+emit_16(1253);
+emit_16(1318);
+emit_16(1254);
+emit_16(1319);
+emit_16(1255);
+emit_16(1319);
+emit_16(1254);
+emit_16(1319);
+emit_16(1255);
+emit_16(1320);
+emit_16(1256);
+emit_16(1320);
+emit_16(1255);
+emit_16(1320);
+emit_16(1256);
+emit_16(1321);
+emit_16(1257);
+emit_16(1321);
+emit_16(1256);
+emit_16(1321);
+emit_16(1257);
+emit_16(1322);
+emit_16(1258);
+emit_16(1322);
+emit_16(1257);
+emit_16(1322);
+emit_16(1258);
+emit_16(1323);
+emit_16(1259);
+emit_16(1323);
+emit_16(1258);
+emit_16(1323);
+emit_16(1259);
+emit_16(1324);
+emit_16(1260);
+emit_16(1324);
+emit_16(1259);
+emit_16(1324);
+emit_16(1260);
+emit_16(1325);
+emit_16(1261);
+emit_16(1325);
+emit_16(1260);
+emit_16(1325);
+emit_16(1261);
+emit_16(1326);
+emit_16(1262);
+emit_16(1326);
+emit_16(1261);
+emit_16(1326);
+emit_16(1262);
+emit_16(1327);
+emit_16(1263);
+emit_16(1327);
+emit_16(1262);
+emit_16(1327);
+emit_16(1263);
+emit_16(1328);
+emit_16(1264);
+emit_16(1328);
+emit_16(1263);
+emit_16(1328);
+emit_16(1264);
+emit_16(1329);
+emit_16(1265);
+emit_16(1329);
+emit_16(1264);
+emit_16(1329);
+emit_16(1265);
+emit_16(1330);
+emit_16(1266);
+emit_16(1330);
+emit_16(1265);
+emit_16(1330);
+emit_16(1266);
+emit_16(1331);
+emit_16(1267);
+emit_16(1331);
+emit_16(1266);
+emit_16(1331);
+emit_16(1267);
+emit_16(1332);
+emit_16(1268);
+emit_16(1332);
+emit_16(1267);
+emit_16(1332);
+emit_16(1268);
+emit_16(1333);
+emit_16(1269);
+emit_16(1333);
+emit_16(1268);
+emit_16(1333);
+emit_16(1269);
+emit_16(1334);
+emit_16(1270);
+emit_16(1334);
+emit_16(1269);
+emit_16(1334);
+emit_16(1270);
+emit_16(1335);
+emit_16(1271);
+emit_16(1335);
+emit_16(1270);
+emit_16(1335);
+emit_16(1271);
+emit_16(1336);
+emit_16(1272);
+emit_16(1336);
+emit_16(1271);
+emit_16(1336);
+emit_16(1272);
+emit_16(1337);
+emit_16(1273);
+emit_16(1337);
+emit_16(1272);
+emit_16(1337);
+emit_16(1273);
+emit_16(1338);
+emit_16(1274);
+emit_16(1338);
+emit_16(1273);
+emit_16(1338);
+emit_16(1274);
+emit_16(1339);
+emit_16(1275);
+emit_16(1339);
+emit_16(1274);
+emit_16(1339);
+emit_16(1275);
+emit_16(1340);
+emit_16(1276);
+emit_16(1340);
+emit_16(1275);
+emit_16(1340);
+emit_16(1276);
+emit_16(1341);
+emit_16(1277);
+emit_16(1341);
+emit_16(1276);
+emit_16(1341);
+emit_16(1277);
+emit_16(1342);
+emit_16(1278);
+emit_16(1342);
+emit_16(1277);
+emit_16(1342);
+emit_16(1278);
+emit_16(1343);
+emit_16(1279);
+emit_16(1343);
+emit_16(1278);
+emit_16(1344);
+emit_16(1280);
+emit_16(1345);
+emit_16(1281);
+emit_16(1345);
+emit_16(1280);
+emit_16(1345);
+emit_16(1281);
+emit_16(1346);
+emit_16(1282);
+emit_16(1346);
+emit_16(1281);
+emit_16(1346);
+emit_16(1282);
+emit_16(1347);
+emit_16(1283);
+emit_16(1347);
+emit_16(1282);
+emit_16(1347);
+emit_16(1283);
+emit_16(1348);
+emit_16(1284);
+emit_16(1348);
+emit_16(1283);
+emit_16(1348);
+emit_16(1284);
+emit_16(1349);
+emit_16(1285);
+emit_16(1349);
+emit_16(1284);
+emit_16(1349);
+emit_16(1285);
+emit_16(1350);
+emit_16(1286);
+emit_16(1350);
+emit_16(1285);
+emit_16(1350);
+emit_16(1286);
+emit_16(1351);
+emit_16(1287);
+emit_16(1351);
+emit_16(1286);
+emit_16(1351);
+emit_16(1287);
+emit_16(1352);
+emit_16(1288);
+emit_16(1352);
+emit_16(1287);
+emit_16(1352);
+emit_16(1288);
+emit_16(1353);
+emit_16(1289);
+emit_16(1353);
+emit_16(1288);
+emit_16(1353);
+emit_16(1289);
+emit_16(1354);
+emit_16(1290);
+emit_16(1354);
+emit_16(1289);
+emit_16(1354);
+emit_16(1290);
+emit_16(1355);
+emit_16(1291);
+emit_16(1355);
+emit_16(1290);
+emit_16(1355);
+emit_16(1291);
+emit_16(1356);
+emit_16(1292);
+emit_16(1356);
+emit_16(1291);
+emit_16(1356);
+emit_16(1292);
+emit_16(1357);
+emit_16(1293);
+emit_16(1357);
+emit_16(1292);
+emit_16(1357);
+emit_16(1293);
+emit_16(1358);
+emit_16(1294);
+emit_16(1358);
+emit_16(1293);
+emit_16(1358);
+emit_16(1294);
+emit_16(1359);
+emit_16(1295);
+emit_16(1359);
+emit_16(1294);
+emit_16(1359);
+emit_16(1295);
+emit_16(1360);
+emit_16(1296);
+emit_16(1360);
+emit_16(1295);
+emit_16(1360);
+emit_16(1296);
+emit_16(1361);
+emit_16(1297);
+emit_16(1361);
+emit_16(1296);
+emit_16(1361);
+emit_16(1297);
+emit_16(1362);
+emit_16(1298);
+emit_16(1362);
+emit_16(1297);
+emit_16(1362);
+emit_16(1298);
+emit_16(1363);
+emit_16(1299);
+emit_16(1363);
+emit_16(1298);
+emit_16(1363);
+emit_16(1299);
+emit_16(1364);
+emit_16(1300);
+emit_16(1364);
+emit_16(1299);
+emit_16(1364);
+emit_16(1300);
+emit_16(1365);
+emit_16(1301);
+emit_16(1365);
+emit_16(1300);
+emit_16(1365);
+emit_16(1301);
+emit_16(1366);
+emit_16(1302);
+emit_16(1366);
+emit_16(1301);
+emit_16(1366);
+emit_16(1302);
+emit_16(1367);
+emit_16(1303);
+emit_16(1367);
+emit_16(1302);
+emit_16(1367);
+emit_16(1303);
+emit_16(1368);
+emit_16(1304);
+emit_16(1368);
+emit_16(1303);
+emit_16(1368);
+emit_16(1304);
+emit_16(1369);
+emit_16(1305);
+emit_16(1369);
+emit_16(1304);
+emit_16(1369);
+emit_16(1305);
+emit_16(1370);
+emit_16(1306);
+emit_16(1370);
+emit_16(1305);
+emit_16(1370);
+emit_16(1306);
+emit_16(1371);
+emit_16(1307);
+emit_16(1371);
+emit_16(1306);
+emit_16(1371);
+emit_16(1307);
+emit_16(1372);
+emit_16(1308);
+emit_16(1372);
+emit_16(1307);
+emit_16(1372);
+emit_16(1308);
+emit_16(1373);
+emit_16(1309);
+emit_16(1373);
+emit_16(1308);
+emit_16(1373);
+emit_16(1309);
+emit_16(1374);
+emit_16(1310);
+emit_16(1374);
+emit_16(1309);
+emit_16(1374);
+emit_16(1310);
+emit_16(1375);
+emit_16(1311);
+emit_16(1375);
+emit_16(1310);
+emit_16(1375);
+emit_16(1311);
+emit_16(1376);
+emit_16(1312);
+emit_16(1376);
+emit_16(1311);
+emit_16(1376);
+emit_16(1312);
+emit_16(1377);
+emit_16(1313);
+emit_16(1377);
+emit_16(1312);
+emit_16(1377);
+emit_16(1313);
+emit_16(1378);
+emit_16(1314);
+emit_16(1378);
+emit_16(1313);
+emit_16(1378);
+emit_16(1314);
+emit_16(1379);
+emit_16(1315);
+emit_16(1379);
+emit_16(1314);
+emit_16(1379);
+emit_16(1315);
+emit_16(1380);
+emit_16(1316);
+emit_16(1380);
+emit_16(1315);
+emit_16(1380);
+emit_16(1316);
+emit_16(1381);
+emit_16(1317);
+emit_16(1381);
+emit_16(1316);
+emit_16(1381);
+emit_16(1317);
+emit_16(1382);
+emit_16(1318);
+emit_16(1382);
+emit_16(1317);
+emit_16(1382);
+emit_16(1318);
+emit_16(1383);
+emit_16(1319);
+emit_16(1383);
+emit_16(1318);
+emit_16(1383);
+emit_16(1319);
+emit_16(1384);
+emit_16(1320);
+emit_16(1384);
+emit_16(1319);
+emit_16(1384);
+emit_16(1320);
+emit_16(1385);
+emit_16(1321);
+emit_16(1385);
+emit_16(1320);
+emit_16(1385);
+emit_16(1321);
+emit_16(1386);
+emit_16(1322);
+emit_16(1386);
+emit_16(1321);
+emit_16(1386);
+emit_16(1322);
+emit_16(1387);
+emit_16(1323);
+emit_16(1387);
+emit_16(1322);
+emit_16(1387);
+emit_16(1323);
+emit_16(1388);
+emit_16(1324);
+emit_16(1388);
+emit_16(1323);
+emit_16(1388);
+emit_16(1324);
+emit_16(1389);
+emit_16(1325);
+emit_16(1389);
+emit_16(1324);
+emit_16(1389);
+emit_16(1325);
+emit_16(1390);
+emit_16(1326);
+emit_16(1390);
+emit_16(1325);
+emit_16(1390);
+emit_16(1326);
+emit_16(1391);
+emit_16(1327);
+emit_16(1391);
+emit_16(1326);
+emit_16(1391);
+emit_16(1327);
+emit_16(1392);
+emit_16(1328);
+emit_16(1392);
+emit_16(1327);
+emit_16(1392);
+emit_16(1328);
+emit_16(1393);
+emit_16(1329);
+emit_16(1393);
+emit_16(1328);
+emit_16(1393);
+emit_16(1329);
+emit_16(1394);
+emit_16(1330);
+emit_16(1394);
+emit_16(1329);
+emit_16(1394);
+emit_16(1330);
+emit_16(1395);
+emit_16(1331);
+emit_16(1395);
+emit_16(1330);
+emit_16(1395);
+emit_16(1331);
+emit_16(1396);
+emit_16(1332);
+emit_16(1396);
+emit_16(1331);
+emit_16(1396);
+emit_16(1332);
+emit_16(1397);
+emit_16(1333);
+emit_16(1397);
+emit_16(1332);
+emit_16(1397);
+emit_16(1333);
+emit_16(1398);
+emit_16(1334);
+emit_16(1398);
+emit_16(1333);
+emit_16(1398);
+emit_16(1334);
+emit_16(1399);
+emit_16(1335);
+emit_16(1399);
+emit_16(1334);
+emit_16(1399);
+emit_16(1335);
+emit_16(1400);
+emit_16(1336);
+emit_16(1400);
+emit_16(1335);
+emit_16(1400);
+emit_16(1336);
+emit_16(1401);
+emit_16(1337);
+emit_16(1401);
+emit_16(1336);
+emit_16(1401);
+emit_16(1337);
+emit_16(1402);
+emit_16(1338);
+emit_16(1402);
+emit_16(1337);
+emit_16(1402);
+emit_16(1338);
+emit_16(1403);
+emit_16(1339);
+emit_16(1403);
+emit_16(1338);
+emit_16(1403);
+emit_16(1339);
+emit_16(1404);
+emit_16(1340);
+emit_16(1404);
+emit_16(1339);
+emit_16(1404);
+emit_16(1340);
+emit_16(1405);
+emit_16(1341);
+emit_16(1405);
+emit_16(1340);
+emit_16(1405);
+emit_16(1341);
+emit_16(1406);
+emit_16(1342);
+emit_16(1406);
+emit_16(1341);
+emit_16(1406);
+emit_16(1342);
+emit_16(1407);
+emit_16(1343);
+emit_16(1407);
+emit_16(1342);
+emit_16(1408);
+emit_16(1344);
+emit_16(1409);
+emit_16(1345);
+emit_16(1409);
+emit_16(1344);
+emit_16(1409);
+emit_16(1345);
+emit_16(1410);
+emit_16(1346);
+emit_16(1410);
+emit_16(1345);
+emit_16(1410);
+emit_16(1346);
+emit_16(1411);
+emit_16(1347);
+emit_16(1411);
+emit_16(1346);
+emit_16(1411);
+emit_16(1347);
+emit_16(1412);
+emit_16(1348);
+emit_16(1412);
+emit_16(1347);
+emit_16(1412);
+emit_16(1348);
+emit_16(1413);
+emit_16(1349);
+emit_16(1413);
+emit_16(1348);
+emit_16(1413);
+emit_16(1349);
+emit_16(1414);
+emit_16(1350);
+emit_16(1414);
+emit_16(1349);
+emit_16(1414);
+emit_16(1350);
+emit_16(1415);
+emit_16(1351);
+emit_16(1415);
+emit_16(1350);
+emit_16(1415);
+emit_16(1351);
+emit_16(1416);
+emit_16(1352);
+emit_16(1416);
+emit_16(1351);
+emit_16(1416);
+emit_16(1352);
+emit_16(1417);
+emit_16(1353);
+emit_16(1417);
+emit_16(1352);
+emit_16(1417);
+emit_16(1353);
+emit_16(1418);
+emit_16(1354);
+emit_16(1418);
+emit_16(1353);
+emit_16(1418);
+emit_16(1354);
+emit_16(1419);
+emit_16(1355);
+emit_16(1419);
+emit_16(1354);
+emit_16(1419);
+emit_16(1355);
+emit_16(1420);
+emit_16(1356);
+emit_16(1420);
+emit_16(1355);
+emit_16(1420);
+emit_16(1356);
+emit_16(1421);
+emit_16(1357);
+emit_16(1421);
+emit_16(1356);
+emit_16(1421);
+emit_16(1357);
+emit_16(1422);
+emit_16(1358);
+emit_16(1422);
+emit_16(1357);
+emit_16(1422);
+emit_16(1358);
+emit_16(1423);
+emit_16(1359);
+emit_16(1423);
+emit_16(1358);
+emit_16(1423);
+emit_16(1359);
+emit_16(1424);
+emit_16(1360);
+emit_16(1424);
+emit_16(1359);
+emit_16(1424);
+emit_16(1360);
+emit_16(1425);
+emit_16(1361);
+emit_16(1425);
+emit_16(1360);
+emit_16(1425);
+emit_16(1361);
+emit_16(1426);
+emit_16(1362);
+emit_16(1426);
+emit_16(1361);
+emit_16(1426);
+emit_16(1362);
+emit_16(1427);
+emit_16(1363);
+emit_16(1427);
+emit_16(1362);
+emit_16(1427);
+emit_16(1363);
+emit_16(1428);
+emit_16(1364);
+emit_16(1428);
+emit_16(1363);
+emit_16(1428);
+emit_16(1364);
+emit_16(1429);
+emit_16(1365);
+emit_16(1429);
+emit_16(1364);
+emit_16(1429);
+emit_16(1365);
+emit_16(1430);
+emit_16(1366);
+emit_16(1430);
+emit_16(1365);
+emit_16(1430);
+emit_16(1366);
+emit_16(1431);
+emit_16(1367);
+emit_16(1431);
+emit_16(1366);
+emit_16(1431);
+emit_16(1367);
+emit_16(1432);
+emit_16(1368);
+emit_16(1432);
+emit_16(1367);
+emit_16(1432);
+emit_16(1368);
+emit_16(1433);
+emit_16(1369);
+emit_16(1433);
+emit_16(1368);
+emit_16(1433);
+emit_16(1369);
+emit_16(1434);
+emit_16(1370);
+emit_16(1434);
+emit_16(1369);
+emit_16(1434);
+emit_16(1370);
+emit_16(1435);
+emit_16(1371);
+emit_16(1435);
+emit_16(1370);
+emit_16(1435);
+emit_16(1371);
+emit_16(1436);
+emit_16(1372);
+emit_16(1436);
+emit_16(1371);
+emit_16(1436);
+emit_16(1372);
+emit_16(1437);
+emit_16(1373);
+emit_16(1437);
+emit_16(1372);
+emit_16(1437);
+emit_16(1373);
+emit_16(1438);
+emit_16(1374);
+emit_16(1438);
+emit_16(1373);
+emit_16(1438);
+emit_16(1374);
+emit_16(1439);
+emit_16(1375);
+emit_16(1439);
+emit_16(1374);
+emit_16(1439);
+emit_16(1375);
+emit_16(1440);
+emit_16(1376);
+emit_16(1440);
+emit_16(1375);
+emit_16(1440);
+emit_16(1376);
+emit_16(1441);
+emit_16(1377);
+emit_16(1441);
+emit_16(1376);
+emit_16(1441);
+emit_16(1377);
+emit_16(1442);
+emit_16(1378);
+emit_16(1442);
+emit_16(1377);
+emit_16(1442);
+emit_16(1378);
+emit_16(1443);
+emit_16(1379);
+emit_16(1443);
+emit_16(1378);
+emit_16(1443);
+emit_16(1379);
+emit_16(1444);
+emit_16(1380);
+emit_16(1444);
+emit_16(1379);
+emit_16(1444);
+emit_16(1380);
+emit_16(1445);
+emit_16(1381);
+emit_16(1445);
+emit_16(1380);
+emit_16(1445);
+emit_16(1381);
+emit_16(1446);
+emit_16(1382);
+emit_16(1446);
+emit_16(1381);
+emit_16(1446);
+emit_16(1382);
+emit_16(1447);
+emit_16(1383);
+emit_16(1447);
+emit_16(1382);
+emit_16(1447);
+emit_16(1383);
+emit_16(1448);
+emit_16(1384);
+emit_16(1448);
+emit_16(1383);
+emit_16(1448);
+emit_16(1384);
+emit_16(1449);
+emit_16(1385);
+emit_16(1449);
+emit_16(1384);
+emit_16(1449);
+emit_16(1385);
+emit_16(1450);
+emit_16(1386);
+emit_16(1450);
+emit_16(1385);
+emit_16(1450);
+emit_16(1386);
+emit_16(1451);
+emit_16(1387);
+emit_16(1451);
+emit_16(1386);
+emit_16(1451);
+emit_16(1387);
+emit_16(1452);
+emit_16(1388);
+emit_16(1452);
+emit_16(1387);
+emit_16(1452);
+emit_16(1388);
+emit_16(1453);
+emit_16(1389);
+emit_16(1453);
+emit_16(1388);
+emit_16(1453);
+emit_16(1389);
+emit_16(1454);
+emit_16(1390);
+emit_16(1454);
+emit_16(1389);
+emit_16(1454);
+emit_16(1390);
+emit_16(1455);
+emit_16(1391);
+emit_16(1455);
+emit_16(1390);
+emit_16(1455);
+emit_16(1391);
+emit_16(1456);
+emit_16(1392);
+emit_16(1456);
+emit_16(1391);
+emit_16(1456);
+emit_16(1392);
+emit_16(1457);
+emit_16(1393);
+emit_16(1457);
+emit_16(1392);
+emit_16(1457);
+emit_16(1393);
+emit_16(1458);
+emit_16(1394);
+emit_16(1458);
+emit_16(1393);
+emit_16(1458);
+emit_16(1394);
+emit_16(1459);
+emit_16(1395);
+emit_16(1459);
+emit_16(1394);
+emit_16(1459);
+emit_16(1395);
+emit_16(1460);
+emit_16(1396);
+emit_16(1460);
+emit_16(1395);
+emit_16(1460);
+emit_16(1396);
+emit_16(1461);
+emit_16(1397);
+emit_16(1461);
+emit_16(1396);
+emit_16(1461);
+emit_16(1397);
+emit_16(1462);
+emit_16(1398);
+emit_16(1462);
+emit_16(1397);
+emit_16(1462);
+emit_16(1398);
+emit_16(1463);
+emit_16(1399);
+emit_16(1463);
+emit_16(1398);
+emit_16(1463);
+emit_16(1399);
+emit_16(1464);
+emit_16(1400);
+emit_16(1464);
+emit_16(1399);
+emit_16(1464);
+emit_16(1400);
+emit_16(1465);
+emit_16(1401);
+emit_16(1465);
+emit_16(1400);
+emit_16(1465);
+emit_16(1401);
+emit_16(1466);
+emit_16(1402);
+emit_16(1466);
+emit_16(1401);
+emit_16(1466);
+emit_16(1402);
+emit_16(1467);
+emit_16(1403);
+emit_16(1467);
+emit_16(1402);
+emit_16(1467);
+emit_16(1403);
+emit_16(1468);
+emit_16(1404);
+emit_16(1468);
+emit_16(1403);
+emit_16(1468);
+emit_16(1404);
+emit_16(1469);
+emit_16(1405);
+emit_16(1469);
+emit_16(1404);
+emit_16(1469);
+emit_16(1405);
+emit_16(1470);
+emit_16(1406);
+emit_16(1470);
+emit_16(1405);
+emit_16(1470);
+emit_16(1406);
+emit_16(1471);
+emit_16(1407);
+emit_16(1471);
+emit_16(1406);
+emit_16(1472);
+emit_16(1408);
+emit_16(1473);
+emit_16(1409);
+emit_16(1473);
+emit_16(1408);
+emit_16(1473);
+emit_16(1409);
+emit_16(1474);
+emit_16(1410);
+emit_16(1474);
+emit_16(1409);
+emit_16(1474);
+emit_16(1410);
+emit_16(1475);
+emit_16(1411);
+emit_16(1475);
+emit_16(1410);
+emit_16(1475);
+emit_16(1411);
+emit_16(1476);
+emit_16(1412);
+emit_16(1476);
+emit_16(1411);
+emit_16(1476);
+emit_16(1412);
+emit_16(1477);
+emit_16(1413);
+emit_16(1477);
+emit_16(1412);
+emit_16(1477);
+emit_16(1413);
+emit_16(1478);
+emit_16(1414);
+emit_16(1478);
+emit_16(1413);
+emit_16(1478);
+emit_16(1414);
+emit_16(1479);
+emit_16(1415);
+emit_16(1479);
+emit_16(1414);
+emit_16(1479);
+emit_16(1415);
+emit_16(1480);
+emit_16(1416);
+emit_16(1480);
+emit_16(1415);
+emit_16(1480);
+emit_16(1416);
+emit_16(1481);
+emit_16(1417);
+emit_16(1481);
+emit_16(1416);
+emit_16(1481);
+emit_16(1417);
+emit_16(1482);
+emit_16(1418);
+emit_16(1482);
+emit_16(1417);
+emit_16(1482);
+emit_16(1418);
+emit_16(1483);
+emit_16(1419);
+emit_16(1483);
+emit_16(1418);
+emit_16(1483);
+emit_16(1419);
+emit_16(1484);
+emit_16(1420);
+emit_16(1484);
+emit_16(1419);
+emit_16(1484);
+emit_16(1420);
+emit_16(1485);
+emit_16(1421);
+emit_16(1485);
+emit_16(1420);
+emit_16(1485);
+emit_16(1421);
+emit_16(1486);
+emit_16(1422);
+emit_16(1486);
+emit_16(1421);
+emit_16(1486);
+emit_16(1422);
+emit_16(1487);
+emit_16(1423);
+emit_16(1487);
+emit_16(1422);
+emit_16(1487);
+emit_16(1423);
+emit_16(1488);
+emit_16(1424);
+emit_16(1488);
+emit_16(1423);
+emit_16(1488);
+emit_16(1424);
+emit_16(1489);
+emit_16(1425);
+emit_16(1489);
+emit_16(1424);
+emit_16(1489);
+emit_16(1425);
+emit_16(1490);
+emit_16(1426);
+emit_16(1490);
+emit_16(1425);
+emit_16(1490);
+emit_16(1426);
+emit_16(1491);
+emit_16(1427);
+emit_16(1491);
+emit_16(1426);
+emit_16(1491);
+emit_16(1427);
+emit_16(1492);
+emit_16(1428);
+emit_16(1492);
+emit_16(1427);
+emit_16(1492);
+emit_16(1428);
+emit_16(1493);
+emit_16(1429);
+emit_16(1493);
+emit_16(1428);
+emit_16(1493);
+emit_16(1429);
+emit_16(1494);
+emit_16(1430);
+emit_16(1494);
+emit_16(1429);
+emit_16(1494);
+emit_16(1430);
+emit_16(1495);
+emit_16(1431);
+emit_16(1495);
+emit_16(1430);
+emit_16(1495);
+emit_16(1431);
+emit_16(1496);
+emit_16(1432);
+emit_16(1496);
+emit_16(1431);
+emit_16(1496);
+emit_16(1432);
+emit_16(1497);
+emit_16(1433);
+emit_16(1497);
+emit_16(1432);
+emit_16(1497);
+emit_16(1433);
+emit_16(1498);
+emit_16(1434);
+emit_16(1498);
+emit_16(1433);
+emit_16(1498);
+emit_16(1434);
+emit_16(1499);
+emit_16(1435);
+emit_16(1499);
+emit_16(1434);
+emit_16(1499);
+emit_16(1435);
+emit_16(1500);
+emit_16(1436);
+emit_16(1500);
+emit_16(1435);
+emit_16(1500);
+emit_16(1436);
+emit_16(1501);
+emit_16(1437);
+emit_16(1501);
+emit_16(1436);
+emit_16(1501);
+emit_16(1437);
+emit_16(1502);
+emit_16(1438);
+emit_16(1502);
+emit_16(1437);
+emit_16(1502);
+emit_16(1438);
+emit_16(1503);
+emit_16(1439);
+emit_16(1503);
+emit_16(1438);
+emit_16(1503);
+emit_16(1439);
+emit_16(1504);
+emit_16(1440);
+emit_16(1504);
+emit_16(1439);
+emit_16(1504);
+emit_16(1440);
+emit_16(1505);
+emit_16(1441);
+emit_16(1505);
+emit_16(1440);
+emit_16(1505);
+emit_16(1441);
+emit_16(1506);
+emit_16(1442);
+emit_16(1506);
+emit_16(1441);
+emit_16(1506);
+emit_16(1442);
+emit_16(1507);
+emit_16(1443);
+emit_16(1507);
+emit_16(1442);
+emit_16(1507);
+emit_16(1443);
+emit_16(1508);
+emit_16(1444);
+emit_16(1508);
+emit_16(1443);
+emit_16(1508);
+emit_16(1444);
+emit_16(1509);
+emit_16(1445);
+emit_16(1509);
+emit_16(1444);
+emit_16(1509);
+emit_16(1445);
+emit_16(1510);
+emit_16(1446);
+emit_16(1510);
+emit_16(1445);
+emit_16(1510);
+emit_16(1446);
+emit_16(1511);
+emit_16(1447);
+emit_16(1511);
+emit_16(1446);
+emit_16(1511);
+emit_16(1447);
+emit_16(1512);
+emit_16(1448);
+emit_16(1512);
+emit_16(1447);
+emit_16(1512);
+emit_16(1448);
+emit_16(1513);
+emit_16(1449);
+emit_16(1513);
+emit_16(1448);
+emit_16(1513);
+emit_16(1449);
+emit_16(1514);
+emit_16(1450);
+emit_16(1514);
+emit_16(1449);
+emit_16(1514);
+emit_16(1450);
+emit_16(1515);
+emit_16(1451);
+emit_16(1515);
+emit_16(1450);
+emit_16(1515);
+emit_16(1451);
+emit_16(1516);
+emit_16(1452);
+emit_16(1516);
+emit_16(1451);
+emit_16(1516);
+emit_16(1452);
+emit_16(1517);
+emit_16(1453);
+emit_16(1517);
+emit_16(1452);
+emit_16(1517);
+emit_16(1453);
+emit_16(1518);
+emit_16(1454);
+emit_16(1518);
+emit_16(1453);
+emit_16(1518);
+emit_16(1454);
+emit_16(1519);
+emit_16(1455);
+emit_16(1519);
+emit_16(1454);
+emit_16(1519);
+emit_16(1455);
+emit_16(1520);
+emit_16(1456);
+emit_16(1520);
+emit_16(1455);
+emit_16(1520);
+emit_16(1456);
+emit_16(1521);
+emit_16(1457);
+emit_16(1521);
+emit_16(1456);
+emit_16(1521);
+emit_16(1457);
+emit_16(1522);
+emit_16(1458);
+emit_16(1522);
+emit_16(1457);
+emit_16(1522);
+emit_16(1458);
+emit_16(1523);
+emit_16(1459);
+emit_16(1523);
+emit_16(1458);
+emit_16(1523);
+emit_16(1459);
+emit_16(1524);
+emit_16(1460);
+emit_16(1524);
+emit_16(1459);
+emit_16(1524);
+emit_16(1460);
+emit_16(1525);
+emit_16(1461);
+emit_16(1525);
+emit_16(1460);
+emit_16(1525);
+emit_16(1461);
+emit_16(1526);
+emit_16(1462);
+emit_16(1526);
+emit_16(1461);
+emit_16(1526);
+emit_16(1462);
+emit_16(1527);
+emit_16(1463);
+emit_16(1527);
+emit_16(1462);
+emit_16(1527);
+emit_16(1463);
+emit_16(1528);
+emit_16(1464);
+emit_16(1528);
+emit_16(1463);
+emit_16(1528);
+emit_16(1464);
+emit_16(1529);
+emit_16(1465);
+emit_16(1529);
+emit_16(1464);
+emit_16(1529);
+emit_16(1465);
+emit_16(1530);
+emit_16(1466);
+emit_16(1530);
+emit_16(1465);
+emit_16(1530);
+emit_16(1466);
+emit_16(1531);
+emit_16(1467);
+emit_16(1531);
+emit_16(1466);
+emit_16(1531);
+emit_16(1467);
+emit_16(1532);
+emit_16(1468);
+emit_16(1532);
+emit_16(1467);
+emit_16(1532);
+emit_16(1468);
+emit_16(1533);
+emit_16(1469);
+emit_16(1533);
+emit_16(1468);
+emit_16(1533);
+emit_16(1469);
+emit_16(1534);
+emit_16(1470);
+emit_16(1534);
+emit_16(1469);
+emit_16(1534);
+emit_16(1470);
+emit_16(1535);
+emit_16(1471);
+emit_16(1535);
+emit_16(1470);
+emit_16(1536);
+emit_16(1472);
+emit_16(1537);
+emit_16(1473);
+emit_16(1537);
+emit_16(1472);
+emit_16(1537);
+emit_16(1473);
+emit_16(1538);
+emit_16(1474);
+emit_16(1538);
+emit_16(1473);
+emit_16(1538);
+emit_16(1474);
+emit_16(1539);
+emit_16(1475);
+emit_16(1539);
+emit_16(1474);
+emit_16(1539);
+emit_16(1475);
+emit_16(1540);
+emit_16(1476);
+emit_16(1540);
+emit_16(1475);
+emit_16(1540);
+emit_16(1476);
+emit_16(1541);
+emit_16(1477);
+emit_16(1541);
+emit_16(1476);
+emit_16(1541);
+emit_16(1477);
+emit_16(1542);
+emit_16(1478);
+emit_16(1542);
+emit_16(1477);
+emit_16(1542);
+emit_16(1478);
+emit_16(1543);
+emit_16(1479);
+emit_16(1543);
+emit_16(1478);
+emit_16(1543);
+emit_16(1479);
+emit_16(1544);
+emit_16(1480);
+emit_16(1544);
+emit_16(1479);
+emit_16(1544);
+emit_16(1480);
+emit_16(1545);
+emit_16(1481);
+emit_16(1545);
+emit_16(1480);
+emit_16(1545);
+emit_16(1481);
+emit_16(1546);
+emit_16(1482);
+emit_16(1546);
+emit_16(1481);
+emit_16(1546);
+emit_16(1482);
+emit_16(1547);
+emit_16(1483);
+emit_16(1547);
+emit_16(1482);
+emit_16(1547);
+emit_16(1483);
+emit_16(1548);
+emit_16(1484);
+emit_16(1548);
+emit_16(1483);
+emit_16(1548);
+emit_16(1484);
+emit_16(1549);
+emit_16(1485);
+emit_16(1549);
+emit_16(1484);
+emit_16(1549);
+emit_16(1485);
+emit_16(1550);
+emit_16(1486);
+emit_16(1550);
+emit_16(1485);
+emit_16(1550);
+emit_16(1486);
+emit_16(1551);
+emit_16(1487);
+emit_16(1551);
+emit_16(1486);
+emit_16(1551);
+emit_16(1487);
+emit_16(1552);
+emit_16(1488);
+emit_16(1552);
+emit_16(1487);
+emit_16(1552);
+emit_16(1488);
+emit_16(1553);
+emit_16(1489);
+emit_16(1553);
+emit_16(1488);
+emit_16(1553);
+emit_16(1489);
+emit_16(1554);
+emit_16(1490);
+emit_16(1554);
+emit_16(1489);
+emit_16(1554);
+emit_16(1490);
+emit_16(1555);
+emit_16(1491);
+emit_16(1555);
+emit_16(1490);
+emit_16(1555);
+emit_16(1491);
+emit_16(1556);
+emit_16(1492);
+emit_16(1556);
+emit_16(1491);
+emit_16(1556);
+emit_16(1492);
+emit_16(1557);
+emit_16(1493);
+emit_16(1557);
+emit_16(1492);
+emit_16(1557);
+emit_16(1493);
+emit_16(1558);
+emit_16(1494);
+emit_16(1558);
+emit_16(1493);
+emit_16(1558);
+emit_16(1494);
+emit_16(1559);
+emit_16(1495);
+emit_16(1559);
+emit_16(1494);
+emit_16(1559);
+emit_16(1495);
+emit_16(1560);
+emit_16(1496);
+emit_16(1560);
+emit_16(1495);
+emit_16(1560);
+emit_16(1496);
+emit_16(1561);
+emit_16(1497);
+emit_16(1561);
+emit_16(1496);
+emit_16(1561);
+emit_16(1497);
+emit_16(1562);
+emit_16(1498);
+emit_16(1562);
+emit_16(1497);
+emit_16(1562);
+emit_16(1498);
+emit_16(1563);
+emit_16(1499);
+emit_16(1563);
+emit_16(1498);
+emit_16(1563);
+emit_16(1499);
+emit_16(1564);
+emit_16(1500);
+emit_16(1564);
+emit_16(1499);
+emit_16(1564);
+emit_16(1500);
+emit_16(1565);
+emit_16(1501);
+emit_16(1565);
+emit_16(1500);
+emit_16(1565);
+emit_16(1501);
+emit_16(1566);
+emit_16(1502);
+emit_16(1566);
+emit_16(1501);
+emit_16(1566);
+emit_16(1502);
+emit_16(1567);
+emit_16(1503);
+emit_16(1567);
+emit_16(1502);
+emit_16(1567);
+emit_16(1503);
+emit_16(1568);
+emit_16(1504);
+emit_16(1568);
+emit_16(1503);
+emit_16(1568);
+emit_16(1504);
+emit_16(1569);
+emit_16(1505);
+emit_16(1569);
+emit_16(1504);
+emit_16(1569);
+emit_16(1505);
+emit_16(1570);
+emit_16(1506);
+emit_16(1570);
+emit_16(1505);
+emit_16(1570);
+emit_16(1506);
+emit_16(1571);
+emit_16(1507);
+emit_16(1571);
+emit_16(1506);
+emit_16(1571);
+emit_16(1507);
+emit_16(1572);
+emit_16(1508);
+emit_16(1572);
+emit_16(1507);
+emit_16(1572);
+emit_16(1508);
+emit_16(1573);
+emit_16(1509);
+emit_16(1573);
+emit_16(1508);
+emit_16(1573);
+emit_16(1509);
+emit_16(1574);
+emit_16(1510);
+emit_16(1574);
+emit_16(1509);
+emit_16(1574);
+emit_16(1510);
+emit_16(1575);
+emit_16(1511);
+emit_16(1575);
+emit_16(1510);
+emit_16(1575);
+emit_16(1511);
+emit_16(1576);
+emit_16(1512);
+emit_16(1576);
+emit_16(1511);
+emit_16(1576);
+emit_16(1512);
+emit_16(1577);
+emit_16(1513);
+emit_16(1577);
+emit_16(1512);
+emit_16(1577);
+emit_16(1513);
+emit_16(1578);
+emit_16(1514);
+emit_16(1578);
+emit_16(1513);
+emit_16(1578);
+emit_16(1514);
+emit_16(1579);
+emit_16(1515);
+emit_16(1579);
+emit_16(1514);
+emit_16(1579);
+emit_16(1515);
+emit_16(1580);
+emit_16(1516);
+emit_16(1580);
+emit_16(1515);
+emit_16(1580);
+emit_16(1516);
+emit_16(1581);
+emit_16(1517);
+emit_16(1581);
+emit_16(1516);
+emit_16(1581);
+emit_16(1517);
+emit_16(1582);
+emit_16(1518);
+emit_16(1582);
+emit_16(1517);
+emit_16(1582);
+emit_16(1518);
+emit_16(1583);
+emit_16(1519);
+emit_16(1583);
+emit_16(1518);
+emit_16(1583);
+emit_16(1519);
+emit_16(1584);
+emit_16(1520);
+emit_16(1584);
+emit_16(1519);
+emit_16(1584);
+emit_16(1520);
+emit_16(1585);
+emit_16(1521);
+emit_16(1585);
+emit_16(1520);
+emit_16(1585);
+emit_16(1521);
+emit_16(1586);
+emit_16(1522);
+emit_16(1586);
+emit_16(1521);
+emit_16(1586);
+emit_16(1522);
+emit_16(1587);
+emit_16(1523);
+emit_16(1587);
+emit_16(1522);
+emit_16(1587);
+emit_16(1523);
+emit_16(1588);
+emit_16(1524);
+emit_16(1588);
+emit_16(1523);
+emit_16(1588);
+emit_16(1524);
+emit_16(1589);
+emit_16(1525);
+emit_16(1589);
+emit_16(1524);
+emit_16(1589);
+emit_16(1525);
+emit_16(1590);
+emit_16(1526);
+emit_16(1590);
+emit_16(1525);
+emit_16(1590);
+emit_16(1526);
+emit_16(1591);
+emit_16(1527);
+emit_16(1591);
+emit_16(1526);
+emit_16(1591);
+emit_16(1527);
+emit_16(1592);
+emit_16(1528);
+emit_16(1592);
+emit_16(1527);
+emit_16(1592);
+emit_16(1528);
+emit_16(1593);
+emit_16(1529);
+emit_16(1593);
+emit_16(1528);
+emit_16(1593);
+emit_16(1529);
+emit_16(1594);
+emit_16(1530);
+emit_16(1594);
+emit_16(1529);
+emit_16(1594);
+emit_16(1530);
+emit_16(1595);
+emit_16(1531);
+emit_16(1595);
+emit_16(1530);
+emit_16(1595);
+emit_16(1531);
+emit_16(1596);
+emit_16(1532);
+emit_16(1596);
+emit_16(1531);
+emit_16(1596);
+emit_16(1532);
+emit_16(1597);
+emit_16(1533);
+emit_16(1597);
+emit_16(1532);
+emit_16(1597);
+emit_16(1533);
+emit_16(1598);
+emit_16(1534);
+emit_16(1598);
+emit_16(1533);
+emit_16(1598);
+emit_16(1534);
+emit_16(1599);
+emit_16(1535);
+emit_16(1599);
+emit_16(1534);
+emit_16(1600);
+emit_16(1536);
+emit_16(1601);
+emit_16(1537);
+emit_16(1601);
+emit_16(1536);
+emit_16(1601);
+emit_16(1537);
+emit_16(1602);
+emit_16(1538);
+emit_16(1602);
+emit_16(1537);
+emit_16(1602);
+emit_16(1538);
+emit_16(1603);
+emit_16(1539);
+emit_16(1603);
+emit_16(1538);
+emit_16(1603);
+emit_16(1539);
+emit_16(1604);
+emit_16(1540);
+emit_16(1604);
+emit_16(1539);
+emit_16(1604);
+emit_16(1540);
+emit_16(1605);
+emit_16(1541);
+emit_16(1605);
+emit_16(1540);
+emit_16(1605);
+emit_16(1541);
+emit_16(1606);
+emit_16(1542);
+emit_16(1606);
+emit_16(1541);
+emit_16(1606);
+emit_16(1542);
+emit_16(1607);
+emit_16(1543);
+emit_16(1607);
+emit_16(1542);
+emit_16(1607);
+emit_16(1543);
+emit_16(1608);
+emit_16(1544);
+emit_16(1608);
+emit_16(1543);
+emit_16(1608);
+emit_16(1544);
+emit_16(1609);
+emit_16(1545);
+emit_16(1609);
+emit_16(1544);
+emit_16(1609);
+emit_16(1545);
+emit_16(1610);
+emit_16(1546);
+emit_16(1610);
+emit_16(1545);
+emit_16(1610);
+emit_16(1546);
+emit_16(1611);
+emit_16(1547);
+emit_16(1611);
+emit_16(1546);
+emit_16(1611);
+emit_16(1547);
+emit_16(1612);
+emit_16(1548);
+emit_16(1612);
+emit_16(1547);
+emit_16(1612);
+emit_16(1548);
+emit_16(1613);
+emit_16(1549);
+emit_16(1613);
+emit_16(1548);
+emit_16(1613);
+emit_16(1549);
+emit_16(1614);
+emit_16(1550);
+emit_16(1614);
+emit_16(1549);
+emit_16(1614);
+emit_16(1550);
+emit_16(1615);
+emit_16(1551);
+emit_16(1615);
+emit_16(1550);
+emit_16(1615);
+emit_16(1551);
+emit_16(1616);
+emit_16(1552);
+emit_16(1616);
+emit_16(1551);
+emit_16(1616);
+emit_16(1552);
+emit_16(1617);
+emit_16(1553);
+emit_16(1617);
+emit_16(1552);
+emit_16(1617);
+emit_16(1553);
+emit_16(1618);
+emit_16(1554);
+emit_16(1618);
+emit_16(1553);
+emit_16(1618);
+emit_16(1554);
+emit_16(1619);
+emit_16(1555);
+emit_16(1619);
+emit_16(1554);
+emit_16(1619);
+emit_16(1555);
+emit_16(1620);
+emit_16(1556);
+emit_16(1620);
+emit_16(1555);
+emit_16(1620);
+emit_16(1556);
+emit_16(1621);
+emit_16(1557);
+emit_16(1621);
+emit_16(1556);
+emit_16(1621);
+emit_16(1557);
+emit_16(1622);
+emit_16(1558);
+emit_16(1622);
+emit_16(1557);
+emit_16(1622);
+emit_16(1558);
+emit_16(1623);
+emit_16(1559);
+emit_16(1623);
+emit_16(1558);
+emit_16(1623);
+emit_16(1559);
+emit_16(1624);
+emit_16(1560);
+emit_16(1624);
+emit_16(1559);
+emit_16(1624);
+emit_16(1560);
+emit_16(1625);
+emit_16(1561);
+emit_16(1625);
+emit_16(1560);
+emit_16(1625);
+emit_16(1561);
+emit_16(1626);
+emit_16(1562);
+emit_16(1626);
+emit_16(1561);
+emit_16(1626);
+emit_16(1562);
+emit_16(1627);
+emit_16(1563);
+emit_16(1627);
+emit_16(1562);
+emit_16(1627);
+emit_16(1563);
+emit_16(1628);
+emit_16(1564);
+emit_16(1628);
+emit_16(1563);
+emit_16(1628);
+emit_16(1564);
+emit_16(1629);
+emit_16(1565);
+emit_16(1629);
+emit_16(1564);
+emit_16(1629);
+emit_16(1565);
+emit_16(1630);
+emit_16(1566);
+emit_16(1630);
+emit_16(1565);
+emit_16(1630);
+emit_16(1566);
+emit_16(1631);
+emit_16(1567);
+emit_16(1631);
+emit_16(1566);
+emit_16(1631);
+emit_16(1567);
+emit_16(1632);
+emit_16(1568);
+emit_16(1632);
+emit_16(1567);
+emit_16(1632);
+emit_16(1568);
+emit_16(1633);
+emit_16(1569);
+emit_16(1633);
+emit_16(1568);
+emit_16(1633);
+emit_16(1569);
+emit_16(1634);
+emit_16(1570);
+emit_16(1634);
+emit_16(1569);
+emit_16(1634);
+emit_16(1570);
+emit_16(1635);
+emit_16(1571);
+emit_16(1635);
+emit_16(1570);
+emit_16(1635);
+emit_16(1571);
+emit_16(1636);
+emit_16(1572);
+emit_16(1636);
+emit_16(1571);
+emit_16(1636);
+emit_16(1572);
+emit_16(1637);
+emit_16(1573);
+emit_16(1637);
+emit_16(1572);
+emit_16(1637);
+emit_16(1573);
+emit_16(1638);
+emit_16(1574);
+emit_16(1638);
+emit_16(1573);
+emit_16(1638);
+emit_16(1574);
+emit_16(1639);
+emit_16(1575);
+emit_16(1639);
+emit_16(1574);
+emit_16(1639);
+emit_16(1575);
+emit_16(1640);
+emit_16(1576);
+emit_16(1640);
+emit_16(1575);
+emit_16(1640);
+emit_16(1576);
+emit_16(1641);
+emit_16(1577);
+emit_16(1641);
+emit_16(1576);
+emit_16(1641);
+emit_16(1577);
+emit_16(1642);
+emit_16(1578);
+emit_16(1642);
+emit_16(1577);
+emit_16(1642);
+emit_16(1578);
+emit_16(1643);
+emit_16(1579);
+emit_16(1643);
+emit_16(1578);
+emit_16(1643);
+emit_16(1579);
+emit_16(1644);
+emit_16(1580);
+emit_16(1644);
+emit_16(1579);
+emit_16(1644);
+emit_16(1580);
+emit_16(1645);
+emit_16(1581);
+emit_16(1645);
+emit_16(1580);
+emit_16(1645);
+emit_16(1581);
+emit_16(1646);
+emit_16(1582);
+emit_16(1646);
+emit_16(1581);
+emit_16(1646);
+emit_16(1582);
+emit_16(1647);
+emit_16(1583);
+emit_16(1647);
+emit_16(1582);
+emit_16(1647);
+emit_16(1583);
+emit_16(1648);
+emit_16(1584);
+emit_16(1648);
+emit_16(1583);
+emit_16(1648);
+emit_16(1584);
+emit_16(1649);
+emit_16(1585);
+emit_16(1649);
+emit_16(1584);
+emit_16(1649);
+emit_16(1585);
+emit_16(1650);
+emit_16(1586);
+emit_16(1650);
+emit_16(1585);
+emit_16(1650);
+emit_16(1586);
+emit_16(1651);
+emit_16(1587);
+emit_16(1651);
+emit_16(1586);
+emit_16(1651);
+emit_16(1587);
+emit_16(1652);
+emit_16(1588);
+emit_16(1652);
+emit_16(1587);
+emit_16(1652);
+emit_16(1588);
+emit_16(1653);
+emit_16(1589);
+emit_16(1653);
+emit_16(1588);
+emit_16(1653);
+emit_16(1589);
+emit_16(1654);
+emit_16(1590);
+emit_16(1654);
+emit_16(1589);
+emit_16(1654);
+emit_16(1590);
+emit_16(1655);
+emit_16(1591);
+emit_16(1655);
+emit_16(1590);
+emit_16(1655);
+emit_16(1591);
+emit_16(1656);
+emit_16(1592);
+emit_16(1656);
+emit_16(1591);
+emit_16(1656);
+emit_16(1592);
+emit_16(1657);
+emit_16(1593);
+emit_16(1657);
+emit_16(1592);
+emit_16(1657);
+emit_16(1593);
+emit_16(1658);
+emit_16(1594);
+emit_16(1658);
+emit_16(1593);
+emit_16(1658);
+emit_16(1594);
+emit_16(1659);
+emit_16(1595);
+emit_16(1659);
+emit_16(1594);
+emit_16(1659);
+emit_16(1595);
+emit_16(1660);
+emit_16(1596);
+emit_16(1660);
+emit_16(1595);
+emit_16(1660);
+emit_16(1596);
+emit_16(1661);
+emit_16(1597);
+emit_16(1661);
+emit_16(1596);
+emit_16(1661);
+emit_16(1597);
+emit_16(1662);
+emit_16(1598);
+emit_16(1662);
+emit_16(1597);
+emit_16(1662);
+emit_16(1598);
+emit_16(1663);
+emit_16(1599);
+emit_16(1663);
+emit_16(1598);
+emit_16(1664);
+emit_16(1600);
+emit_16(1665);
+emit_16(1601);
+emit_16(1665);
+emit_16(1600);
+emit_16(1665);
+emit_16(1601);
+emit_16(1666);
+emit_16(1602);
+emit_16(1666);
+emit_16(1601);
+emit_16(1666);
+emit_16(1602);
+emit_16(1667);
+emit_16(1603);
+emit_16(1667);
+emit_16(1602);
+emit_16(1667);
+emit_16(1603);
+emit_16(1668);
+emit_16(1604);
+emit_16(1668);
+emit_16(1603);
+emit_16(1668);
+emit_16(1604);
+emit_16(1669);
+emit_16(1605);
+emit_16(1669);
+emit_16(1604);
+emit_16(1669);
+emit_16(1605);
+emit_16(1670);
+emit_16(1606);
+emit_16(1670);
+emit_16(1605);
+emit_16(1670);
+emit_16(1606);
+emit_16(1671);
+emit_16(1607);
+emit_16(1671);
+emit_16(1606);
+emit_16(1671);
+emit_16(1607);
+emit_16(1672);
+emit_16(1608);
+emit_16(1672);
+emit_16(1607);
+emit_16(1672);
+emit_16(1608);
+emit_16(1673);
+emit_16(1609);
+emit_16(1673);
+emit_16(1608);
+emit_16(1673);
+emit_16(1609);
+emit_16(1674);
+emit_16(1610);
+emit_16(1674);
+emit_16(1609);
+emit_16(1674);
+emit_16(1610);
+emit_16(1675);
+emit_16(1611);
+emit_16(1675);
+emit_16(1610);
+emit_16(1675);
+emit_16(1611);
+emit_16(1676);
+emit_16(1612);
+emit_16(1676);
+emit_16(1611);
+emit_16(1676);
+emit_16(1612);
+emit_16(1677);
+emit_16(1613);
+emit_16(1677);
+emit_16(1612);
+emit_16(1677);
+emit_16(1613);
+emit_16(1678);
+emit_16(1614);
+emit_16(1678);
+emit_16(1613);
+emit_16(1678);
+emit_16(1614);
+emit_16(1679);
+emit_16(1615);
+emit_16(1679);
+emit_16(1614);
+emit_16(1679);
+emit_16(1615);
+emit_16(1680);
+emit_16(1616);
+emit_16(1680);
+emit_16(1615);
+emit_16(1680);
+emit_16(1616);
+emit_16(1681);
+emit_16(1617);
+emit_16(1681);
+emit_16(1616);
+emit_16(1681);
+emit_16(1617);
+emit_16(1682);
+emit_16(1618);
+emit_16(1682);
+emit_16(1617);
+emit_16(1682);
+emit_16(1618);
+emit_16(1683);
+emit_16(1619);
+emit_16(1683);
+emit_16(1618);
+emit_16(1683);
+emit_16(1619);
+emit_16(1684);
+emit_16(1620);
+emit_16(1684);
+emit_16(1619);
+emit_16(1684);
+emit_16(1620);
+emit_16(1685);
+emit_16(1621);
+emit_16(1685);
+emit_16(1620);
+emit_16(1685);
+emit_16(1621);
+emit_16(1686);
+emit_16(1622);
+emit_16(1686);
+emit_16(1621);
+emit_16(1686);
+emit_16(1622);
+emit_16(1687);
+emit_16(1623);
+emit_16(1687);
+emit_16(1622);
+emit_16(1687);
+emit_16(1623);
+emit_16(1688);
+emit_16(1624);
+emit_16(1688);
+emit_16(1623);
+emit_16(1688);
+emit_16(1624);
+emit_16(1689);
+emit_16(1625);
+emit_16(1689);
+emit_16(1624);
+emit_16(1689);
+emit_16(1625);
+emit_16(1690);
+emit_16(1626);
+emit_16(1690);
+emit_16(1625);
+emit_16(1690);
+emit_16(1626);
+emit_16(1691);
+emit_16(1627);
+emit_16(1691);
+emit_16(1626);
+emit_16(1691);
+emit_16(1627);
+emit_16(1692);
+emit_16(1628);
+emit_16(1692);
+emit_16(1627);
+emit_16(1692);
+emit_16(1628);
+emit_16(1693);
+emit_16(1629);
+emit_16(1693);
+emit_16(1628);
+emit_16(1693);
+emit_16(1629);
+emit_16(1694);
+emit_16(1630);
+emit_16(1694);
+emit_16(1629);
+emit_16(1694);
+emit_16(1630);
+emit_16(1695);
+emit_16(1631);
+emit_16(1695);
+emit_16(1630);
+emit_16(1695);
+emit_16(1631);
+emit_16(1696);
+emit_16(1632);
+emit_16(1696);
+emit_16(1631);
+emit_16(1696);
+emit_16(1632);
+emit_16(1697);
+emit_16(1633);
+emit_16(1697);
+emit_16(1632);
+emit_16(1697);
+emit_16(1633);
+emit_16(1698);
+emit_16(1634);
+emit_16(1698);
+emit_16(1633);
+emit_16(1698);
+emit_16(1634);
+emit_16(1699);
+emit_16(1635);
+emit_16(1699);
+emit_16(1634);
+emit_16(1699);
+emit_16(1635);
+emit_16(1700);
+emit_16(1636);
+emit_16(1700);
+emit_16(1635);
+emit_16(1700);
+emit_16(1636);
+emit_16(1701);
+emit_16(1637);
+emit_16(1701);
+emit_16(1636);
+emit_16(1701);
+emit_16(1637);
+emit_16(1702);
+emit_16(1638);
+emit_16(1702);
+emit_16(1637);
+emit_16(1702);
+emit_16(1638);
+emit_16(1703);
+emit_16(1639);
+emit_16(1703);
+emit_16(1638);
+emit_16(1703);
+emit_16(1639);
+emit_16(1704);
+emit_16(1640);
+emit_16(1704);
+emit_16(1639);
+emit_16(1704);
+emit_16(1640);
+emit_16(1705);
+emit_16(1641);
+emit_16(1705);
+emit_16(1640);
+emit_16(1705);
+emit_16(1641);
+emit_16(1706);
+emit_16(1642);
+emit_16(1706);
+emit_16(1641);
+emit_16(1706);
+emit_16(1642);
+emit_16(1707);
+emit_16(1643);
+emit_16(1707);
+emit_16(1642);
+emit_16(1707);
+emit_16(1643);
+emit_16(1708);
+emit_16(1644);
+emit_16(1708);
+emit_16(1643);
+emit_16(1708);
+emit_16(1644);
+emit_16(1709);
+emit_16(1645);
+emit_16(1709);
+emit_16(1644);
+emit_16(1709);
+emit_16(1645);
+emit_16(1710);
+emit_16(1646);
+emit_16(1710);
+emit_16(1645);
+emit_16(1710);
+emit_16(1646);
+emit_16(1711);
+emit_16(1647);
+emit_16(1711);
+emit_16(1646);
+emit_16(1711);
+emit_16(1647);
+emit_16(1712);
+emit_16(1648);
+emit_16(1712);
+emit_16(1647);
+emit_16(1712);
+emit_16(1648);
+emit_16(1713);
+emit_16(1649);
+emit_16(1713);
+emit_16(1648);
+emit_16(1713);
+emit_16(1649);
+emit_16(1714);
+emit_16(1650);
+emit_16(1714);
+emit_16(1649);
+emit_16(1714);
+emit_16(1650);
+emit_16(1715);
+emit_16(1651);
+emit_16(1715);
+emit_16(1650);
+emit_16(1715);
+emit_16(1651);
+emit_16(1716);
+emit_16(1652);
+emit_16(1716);
+emit_16(1651);
+emit_16(1716);
+emit_16(1652);
+emit_16(1717);
+emit_16(1653);
+emit_16(1717);
+emit_16(1652);
+emit_16(1717);
+emit_16(1653);
+emit_16(1718);
+emit_16(1654);
+emit_16(1718);
+emit_16(1653);
+emit_16(1718);
+emit_16(1654);
+emit_16(1719);
+emit_16(1655);
+emit_16(1719);
+emit_16(1654);
+emit_16(1719);
+emit_16(1655);
+emit_16(1720);
+emit_16(1656);
+emit_16(1720);
+emit_16(1655);
+emit_16(1720);
+emit_16(1656);
+emit_16(1721);
+emit_16(1657);
+emit_16(1721);
+emit_16(1656);
+emit_16(1721);
+emit_16(1657);
+emit_16(1722);
+emit_16(1658);
+emit_16(1722);
+emit_16(1657);
+emit_16(1722);
+emit_16(1658);
+emit_16(1723);
+emit_16(1659);
+emit_16(1723);
+emit_16(1658);
+emit_16(1723);
+emit_16(1659);
+emit_16(1724);
+emit_16(1660);
+emit_16(1724);
+emit_16(1659);
+emit_16(1724);
+emit_16(1660);
+emit_16(1725);
+emit_16(1661);
+emit_16(1725);
+emit_16(1660);
+emit_16(1725);
+emit_16(1661);
+emit_16(1726);
+emit_16(1662);
+emit_16(1726);
+emit_16(1661);
+emit_16(1726);
+emit_16(1662);
+emit_16(1727);
+emit_16(1663);
+emit_16(1727);
+emit_16(1662);
+emit_16(1728);
+emit_16(1664);
+emit_16(1729);
+emit_16(1665);
+emit_16(1729);
+emit_16(1664);
+emit_16(1729);
+emit_16(1665);
+emit_16(1730);
+emit_16(1666);
+emit_16(1730);
+emit_16(1665);
+emit_16(1730);
+emit_16(1666);
+emit_16(1731);
+emit_16(1667);
+emit_16(1731);
+emit_16(1666);
+emit_16(1731);
+emit_16(1667);
+emit_16(1732);
+emit_16(1668);
+emit_16(1732);
+emit_16(1667);
+emit_16(1732);
+emit_16(1668);
+emit_16(1733);
+emit_16(1669);
+emit_16(1733);
+emit_16(1668);
+emit_16(1733);
+emit_16(1669);
+emit_16(1734);
+emit_16(1670);
+emit_16(1734);
+emit_16(1669);
+emit_16(1734);
+emit_16(1670);
+emit_16(1735);
+emit_16(1671);
+emit_16(1735);
+emit_16(1670);
+emit_16(1735);
+emit_16(1671);
+emit_16(1736);
+emit_16(1672);
+emit_16(1736);
+emit_16(1671);
+emit_16(1736);
+emit_16(1672);
+emit_16(1737);
+emit_16(1673);
+emit_16(1737);
+emit_16(1672);
+emit_16(1737);
+emit_16(1673);
+emit_16(1738);
+emit_16(1674);
+emit_16(1738);
+emit_16(1673);
+emit_16(1738);
+emit_16(1674);
+emit_16(1739);
+emit_16(1675);
+emit_16(1739);
+emit_16(1674);
+emit_16(1739);
+emit_16(1675);
+emit_16(1740);
+emit_16(1676);
+emit_16(1740);
+emit_16(1675);
+emit_16(1740);
+emit_16(1676);
+emit_16(1741);
+emit_16(1677);
+emit_16(1741);
+emit_16(1676);
+emit_16(1741);
+emit_16(1677);
+emit_16(1742);
+emit_16(1678);
+emit_16(1742);
+emit_16(1677);
+emit_16(1742);
+emit_16(1678);
+emit_16(1743);
+emit_16(1679);
+emit_16(1743);
+emit_16(1678);
+emit_16(1743);
+emit_16(1679);
+emit_16(1744);
+emit_16(1680);
+emit_16(1744);
+emit_16(1679);
+emit_16(1744);
+emit_16(1680);
+emit_16(1745);
+emit_16(1681);
+emit_16(1745);
+emit_16(1680);
+emit_16(1745);
+emit_16(1681);
+emit_16(1746);
+emit_16(1682);
+emit_16(1746);
+emit_16(1681);
+emit_16(1746);
+emit_16(1682);
+emit_16(1747);
+emit_16(1683);
+emit_16(1747);
+emit_16(1682);
+emit_16(1747);
+emit_16(1683);
+emit_16(1748);
+emit_16(1684);
+emit_16(1748);
+emit_16(1683);
+emit_16(1748);
+emit_16(1684);
+emit_16(1749);
+emit_16(1685);
+emit_16(1749);
+emit_16(1684);
+emit_16(1749);
+emit_16(1685);
+emit_16(1750);
+emit_16(1686);
+emit_16(1750);
+emit_16(1685);
+emit_16(1750);
+emit_16(1686);
+emit_16(1751);
+emit_16(1687);
+emit_16(1751);
+emit_16(1686);
+emit_16(1751);
+emit_16(1687);
+emit_16(1752);
+emit_16(1688);
+emit_16(1752);
+emit_16(1687);
+emit_16(1752);
+emit_16(1688);
+emit_16(1753);
+emit_16(1689);
+emit_16(1753);
+emit_16(1688);
+emit_16(1753);
+emit_16(1689);
+emit_16(1754);
+emit_16(1690);
+emit_16(1754);
+emit_16(1689);
+emit_16(1754);
+emit_16(1690);
+emit_16(1755);
+emit_16(1691);
+emit_16(1755);
+emit_16(1690);
+emit_16(1755);
+emit_16(1691);
+emit_16(1756);
+emit_16(1692);
+emit_16(1756);
+emit_16(1691);
+emit_16(1756);
+emit_16(1692);
+emit_16(1757);
+emit_16(1693);
+emit_16(1757);
+emit_16(1692);
+emit_16(1757);
+emit_16(1693);
+emit_16(1758);
+emit_16(1694);
+emit_16(1758);
+emit_16(1693);
+emit_16(1758);
+emit_16(1694);
+emit_16(1759);
+emit_16(1695);
+emit_16(1759);
+emit_16(1694);
+emit_16(1759);
+emit_16(1695);
+emit_16(1760);
+emit_16(1696);
+emit_16(1760);
+emit_16(1695);
+emit_16(1760);
+emit_16(1696);
+emit_16(1761);
+emit_16(1697);
+emit_16(1761);
+emit_16(1696);
+emit_16(1761);
+emit_16(1697);
+emit_16(1762);
+emit_16(1698);
+emit_16(1762);
+emit_16(1697);
+emit_16(1762);
+emit_16(1698);
+emit_16(1763);
+emit_16(1699);
+emit_16(1763);
+emit_16(1698);
+emit_16(1763);
+emit_16(1699);
+emit_16(1764);
+emit_16(1700);
+emit_16(1764);
+emit_16(1699);
+emit_16(1764);
+emit_16(1700);
+emit_16(1765);
+emit_16(1701);
+emit_16(1765);
+emit_16(1700);
+emit_16(1765);
+emit_16(1701);
+emit_16(1766);
+emit_16(1702);
+emit_16(1766);
+emit_16(1701);
+emit_16(1766);
+emit_16(1702);
+emit_16(1767);
+emit_16(1703);
+emit_16(1767);
+emit_16(1702);
+emit_16(1767);
+emit_16(1703);
+emit_16(1768);
+emit_16(1704);
+emit_16(1768);
+emit_16(1703);
+emit_16(1768);
+emit_16(1704);
+emit_16(1769);
+emit_16(1705);
+emit_16(1769);
+emit_16(1704);
+emit_16(1769);
+emit_16(1705);
+emit_16(1770);
+emit_16(1706);
+emit_16(1770);
+emit_16(1705);
+emit_16(1770);
+emit_16(1706);
+emit_16(1771);
+emit_16(1707);
+emit_16(1771);
+emit_16(1706);
+emit_16(1771);
+emit_16(1707);
+emit_16(1772);
+emit_16(1708);
+emit_16(1772);
+emit_16(1707);
+emit_16(1772);
+emit_16(1708);
+emit_16(1773);
+emit_16(1709);
+emit_16(1773);
+emit_16(1708);
+emit_16(1773);
+emit_16(1709);
+emit_16(1774);
+emit_16(1710);
+emit_16(1774);
+emit_16(1709);
+emit_16(1774);
+emit_16(1710);
+emit_16(1775);
+emit_16(1711);
+emit_16(1775);
+emit_16(1710);
+emit_16(1775);
+emit_16(1711);
+emit_16(1776);
+emit_16(1712);
+emit_16(1776);
+emit_16(1711);
+emit_16(1776);
+emit_16(1712);
+emit_16(1777);
+emit_16(1713);
+emit_16(1777);
+emit_16(1712);
+emit_16(1777);
+emit_16(1713);
+emit_16(1778);
+emit_16(1714);
+emit_16(1778);
+emit_16(1713);
+emit_16(1778);
+emit_16(1714);
+emit_16(1779);
+emit_16(1715);
+emit_16(1779);
+emit_16(1714);
+emit_16(1779);
+emit_16(1715);
+emit_16(1780);
+emit_16(1716);
+emit_16(1780);
+emit_16(1715);
+emit_16(1780);
+emit_16(1716);
+emit_16(1781);
+emit_16(1717);
+emit_16(1781);
+emit_16(1716);
+emit_16(1781);
+emit_16(1717);
+emit_16(1782);
+emit_16(1718);
+emit_16(1782);
+emit_16(1717);
+emit_16(1782);
+emit_16(1718);
+emit_16(1783);
+emit_16(1719);
+emit_16(1783);
+emit_16(1718);
+emit_16(1783);
+emit_16(1719);
+emit_16(1784);
+emit_16(1720);
+emit_16(1784);
+emit_16(1719);
+emit_16(1784);
+emit_16(1720);
+emit_16(1785);
+emit_16(1721);
+emit_16(1785);
+emit_16(1720);
+emit_16(1785);
+emit_16(1721);
+emit_16(1786);
+emit_16(1722);
+emit_16(1786);
+emit_16(1721);
+emit_16(1786);
+emit_16(1722);
+emit_16(1787);
+emit_16(1723);
+emit_16(1787);
+emit_16(1722);
+emit_16(1787);
+emit_16(1723);
+emit_16(1788);
+emit_16(1724);
+emit_16(1788);
+emit_16(1723);
+emit_16(1788);
+emit_16(1724);
+emit_16(1789);
+emit_16(1725);
+emit_16(1789);
+emit_16(1724);
+emit_16(1789);
+emit_16(1725);
+emit_16(1790);
+emit_16(1726);
+emit_16(1790);
+emit_16(1725);
+emit_16(1790);
+emit_16(1726);
+emit_16(1791);
+emit_16(1727);
+emit_16(1791);
+emit_16(1726);
+emit_16(1792);
+emit_16(1728);
+emit_16(1793);
+emit_16(1729);
+emit_16(1793);
+emit_16(1728);
+emit_16(1793);
+emit_16(1729);
+emit_16(1794);
+emit_16(1730);
+emit_16(1794);
+emit_16(1729);
+emit_16(1794);
+emit_16(1730);
+emit_16(1795);
+emit_16(1731);
+emit_16(1795);
+emit_16(1730);
+emit_16(1795);
+emit_16(1731);
+emit_16(1796);
+emit_16(1732);
+emit_16(1796);
+emit_16(1731);
+emit_16(1796);
+emit_16(1732);
+emit_16(1797);
+emit_16(1733);
+emit_16(1797);
+emit_16(1732);
+emit_16(1797);
+emit_16(1733);
+emit_16(1798);
+emit_16(1734);
+emit_16(1798);
+emit_16(1733);
+emit_16(1798);
+emit_16(1734);
+emit_16(1799);
+emit_16(1735);
+emit_16(1799);
+emit_16(1734);
+emit_16(1799);
+emit_16(1735);
+emit_16(1800);
+emit_16(1736);
+emit_16(1800);
+emit_16(1735);
+emit_16(1800);
+emit_16(1736);
+emit_16(1801);
+emit_16(1737);
+emit_16(1801);
+emit_16(1736);
+emit_16(1801);
+emit_16(1737);
+emit_16(1802);
+emit_16(1738);
+emit_16(1802);
+emit_16(1737);
+emit_16(1802);
+emit_16(1738);
+emit_16(1803);
+emit_16(1739);
+emit_16(1803);
+emit_16(1738);
+emit_16(1803);
+emit_16(1739);
+emit_16(1804);
+emit_16(1740);
+emit_16(1804);
+emit_16(1739);
+emit_16(1804);
+emit_16(1740);
+emit_16(1805);
+emit_16(1741);
+emit_16(1805);
+emit_16(1740);
+emit_16(1805);
+emit_16(1741);
+emit_16(1806);
+emit_16(1742);
+emit_16(1806);
+emit_16(1741);
+emit_16(1806);
+emit_16(1742);
+emit_16(1807);
+emit_16(1743);
+emit_16(1807);
+emit_16(1742);
+emit_16(1807);
+emit_16(1743);
+emit_16(1808);
+emit_16(1744);
+emit_16(1808);
+emit_16(1743);
+emit_16(1808);
+emit_16(1744);
+emit_16(1809);
+emit_16(1745);
+emit_16(1809);
+emit_16(1744);
+emit_16(1809);
+emit_16(1745);
+emit_16(1810);
+emit_16(1746);
+emit_16(1810);
+emit_16(1745);
+emit_16(1810);
+emit_16(1746);
+emit_16(1811);
+emit_16(1747);
+emit_16(1811);
+emit_16(1746);
+emit_16(1811);
+emit_16(1747);
+emit_16(1812);
+emit_16(1748);
+emit_16(1812);
+emit_16(1747);
+emit_16(1812);
+emit_16(1748);
+emit_16(1813);
+emit_16(1749);
+emit_16(1813);
+emit_16(1748);
+emit_16(1813);
+emit_16(1749);
+emit_16(1814);
+emit_16(1750);
+emit_16(1814);
+emit_16(1749);
+emit_16(1814);
+emit_16(1750);
+emit_16(1815);
+emit_16(1751);
+emit_16(1815);
+emit_16(1750);
+emit_16(1815);
+emit_16(1751);
+emit_16(1816);
+emit_16(1752);
+emit_16(1816);
+emit_16(1751);
+emit_16(1816);
+emit_16(1752);
+emit_16(1817);
+emit_16(1753);
+emit_16(1817);
+emit_16(1752);
+emit_16(1817);
+emit_16(1753);
+emit_16(1818);
+emit_16(1754);
+emit_16(1818);
+emit_16(1753);
+emit_16(1818);
+emit_16(1754);
+emit_16(1819);
+emit_16(1755);
+emit_16(1819);
+emit_16(1754);
+emit_16(1819);
+emit_16(1755);
+emit_16(1820);
+emit_16(1756);
+emit_16(1820);
+emit_16(1755);
+emit_16(1820);
+emit_16(1756);
+emit_16(1821);
+emit_16(1757);
+emit_16(1821);
+emit_16(1756);
+emit_16(1821);
+emit_16(1757);
+emit_16(1822);
+emit_16(1758);
+emit_16(1822);
+emit_16(1757);
+emit_16(1822);
+emit_16(1758);
+emit_16(1823);
+emit_16(1759);
+emit_16(1823);
+emit_16(1758);
+emit_16(1823);
+emit_16(1759);
+emit_16(1824);
+emit_16(1760);
+emit_16(1824);
+emit_16(1759);
+emit_16(1824);
+emit_16(1760);
+emit_16(1825);
+emit_16(1761);
+emit_16(1825);
+emit_16(1760);
+emit_16(1825);
+emit_16(1761);
+emit_16(1826);
+emit_16(1762);
+emit_16(1826);
+emit_16(1761);
+emit_16(1826);
+emit_16(1762);
+emit_16(1827);
+emit_16(1763);
+emit_16(1827);
+emit_16(1762);
+emit_16(1827);
+emit_16(1763);
+emit_16(1828);
+emit_16(1764);
+emit_16(1828);
+emit_16(1763);
+emit_16(1828);
+emit_16(1764);
+emit_16(1829);
+emit_16(1765);
+emit_16(1829);
+emit_16(1764);
+emit_16(1829);
+emit_16(1765);
+emit_16(1830);
+emit_16(1766);
+emit_16(1830);
+emit_16(1765);
+emit_16(1830);
+emit_16(1766);
+emit_16(1831);
+emit_16(1767);
+emit_16(1831);
+emit_16(1766);
+emit_16(1831);
+emit_16(1767);
+emit_16(1832);
+emit_16(1768);
+emit_16(1832);
+emit_16(1767);
+emit_16(1832);
+emit_16(1768);
+emit_16(1833);
+emit_16(1769);
+emit_16(1833);
+emit_16(1768);
+emit_16(1833);
+emit_16(1769);
+emit_16(1834);
+emit_16(1770);
+emit_16(1834);
+emit_16(1769);
+emit_16(1834);
+emit_16(1770);
+emit_16(1835);
+emit_16(1771);
+emit_16(1835);
+emit_16(1770);
+emit_16(1835);
+emit_16(1771);
+emit_16(1836);
+emit_16(1772);
+emit_16(1836);
+emit_16(1771);
+emit_16(1836);
+emit_16(1772);
+emit_16(1837);
+emit_16(1773);
+emit_16(1837);
+emit_16(1772);
+emit_16(1837);
+emit_16(1773);
+emit_16(1838);
+emit_16(1774);
+emit_16(1838);
+emit_16(1773);
+emit_16(1838);
+emit_16(1774);
+emit_16(1839);
+emit_16(1775);
+emit_16(1839);
+emit_16(1774);
+emit_16(1839);
+emit_16(1775);
+emit_16(1840);
+emit_16(1776);
+emit_16(1840);
+emit_16(1775);
+emit_16(1840);
+emit_16(1776);
+emit_16(1841);
+emit_16(1777);
+emit_16(1841);
+emit_16(1776);
+emit_16(1841);
+emit_16(1777);
+emit_16(1842);
+emit_16(1778);
+emit_16(1842);
+emit_16(1777);
+emit_16(1842);
+emit_16(1778);
+emit_16(1843);
+emit_16(1779);
+emit_16(1843);
+emit_16(1778);
+emit_16(1843);
+emit_16(1779);
+emit_16(1844);
+emit_16(1780);
+emit_16(1844);
+emit_16(1779);
+emit_16(1844);
+emit_16(1780);
+emit_16(1845);
+emit_16(1781);
+emit_16(1845);
+emit_16(1780);
+emit_16(1845);
+emit_16(1781);
+emit_16(1846);
+emit_16(1782);
+emit_16(1846);
+emit_16(1781);
+emit_16(1846);
+emit_16(1782);
+emit_16(1847);
+emit_16(1783);
+emit_16(1847);
+emit_16(1782);
+emit_16(1847);
+emit_16(1783);
+emit_16(1848);
+emit_16(1784);
+emit_16(1848);
+emit_16(1783);
+emit_16(1848);
+emit_16(1784);
+emit_16(1849);
+emit_16(1785);
+emit_16(1849);
+emit_16(1784);
+emit_16(1849);
+emit_16(1785);
+emit_16(1850);
+emit_16(1786);
+emit_16(1850);
+emit_16(1785);
+emit_16(1850);
+emit_16(1786);
+emit_16(1851);
+emit_16(1787);
+emit_16(1851);
+emit_16(1786);
+emit_16(1851);
+emit_16(1787);
+emit_16(1852);
+emit_16(1788);
+emit_16(1852);
+emit_16(1787);
+emit_16(1852);
+emit_16(1788);
+emit_16(1853);
+emit_16(1789);
+emit_16(1853);
+emit_16(1788);
+emit_16(1853);
+emit_16(1789);
+emit_16(1854);
+emit_16(1790);
+emit_16(1854);
+emit_16(1789);
+emit_16(1854);
+emit_16(1790);
+emit_16(1855);
+emit_16(1791);
+emit_16(1855);
+emit_16(1790);
+emit_16(1856);
+emit_16(1792);
+emit_16(1857);
+emit_16(1793);
+emit_16(1857);
+emit_16(1792);
+emit_16(1857);
+emit_16(1793);
+emit_16(1858);
+emit_16(1794);
+emit_16(1858);
+emit_16(1793);
+emit_16(1858);
+emit_16(1794);
+emit_16(1859);
+emit_16(1795);
+emit_16(1859);
+emit_16(1794);
+emit_16(1859);
+emit_16(1795);
+emit_16(1860);
+emit_16(1796);
+emit_16(1860);
+emit_16(1795);
+emit_16(1860);
+emit_16(1796);
+emit_16(1861);
+emit_16(1797);
+emit_16(1861);
+emit_16(1796);
+emit_16(1861);
+emit_16(1797);
+emit_16(1862);
+emit_16(1798);
+emit_16(1862);
+emit_16(1797);
+emit_16(1862);
+emit_16(1798);
+emit_16(1863);
+emit_16(1799);
+emit_16(1863);
+emit_16(1798);
+emit_16(1863);
+emit_16(1799);
+emit_16(1864);
+emit_16(1800);
+emit_16(1864);
+emit_16(1799);
+emit_16(1864);
+emit_16(1800);
+emit_16(1865);
+emit_16(1801);
+emit_16(1865);
+emit_16(1800);
+emit_16(1865);
+emit_16(1801);
+emit_16(1866);
+emit_16(1802);
+emit_16(1866);
+emit_16(1801);
+emit_16(1866);
+emit_16(1802);
+emit_16(1867);
+emit_16(1803);
+emit_16(1867);
+emit_16(1802);
+emit_16(1867);
+emit_16(1803);
+emit_16(1868);
+emit_16(1804);
+emit_16(1868);
+emit_16(1803);
+emit_16(1868);
+emit_16(1804);
+emit_16(1869);
+emit_16(1805);
+emit_16(1869);
+emit_16(1804);
+emit_16(1869);
+emit_16(1805);
+emit_16(1870);
+emit_16(1806);
+emit_16(1870);
+emit_16(1805);
+emit_16(1870);
+emit_16(1806);
+emit_16(1871);
+emit_16(1807);
+emit_16(1871);
+emit_16(1806);
+emit_16(1871);
+emit_16(1807);
+emit_16(1872);
+emit_16(1808);
+emit_16(1872);
+emit_16(1807);
+emit_16(1872);
+emit_16(1808);
+emit_16(1873);
+emit_16(1809);
+emit_16(1873);
+emit_16(1808);
+emit_16(1873);
+emit_16(1809);
+emit_16(1874);
+emit_16(1810);
+emit_16(1874);
+emit_16(1809);
+emit_16(1874);
+emit_16(1810);
+emit_16(1875);
+emit_16(1811);
+emit_16(1875);
+emit_16(1810);
+emit_16(1875);
+emit_16(1811);
+emit_16(1876);
+emit_16(1812);
+emit_16(1876);
+emit_16(1811);
+emit_16(1876);
+emit_16(1812);
+emit_16(1877);
+emit_16(1813);
+emit_16(1877);
+emit_16(1812);
+emit_16(1877);
+emit_16(1813);
+emit_16(1878);
+emit_16(1814);
+emit_16(1878);
+emit_16(1813);
+emit_16(1878);
+emit_16(1814);
+emit_16(1879);
+emit_16(1815);
+emit_16(1879);
+emit_16(1814);
+emit_16(1879);
+emit_16(1815);
+emit_16(1880);
+emit_16(1816);
+emit_16(1880);
+emit_16(1815);
+emit_16(1880);
+emit_16(1816);
+emit_16(1881);
+emit_16(1817);
+emit_16(1881);
+emit_16(1816);
+emit_16(1881);
+emit_16(1817);
+emit_16(1882);
+emit_16(1818);
+emit_16(1882);
+emit_16(1817);
+emit_16(1882);
+emit_16(1818);
+emit_16(1883);
+emit_16(1819);
+emit_16(1883);
+emit_16(1818);
+emit_16(1883);
+emit_16(1819);
+emit_16(1884);
+emit_16(1820);
+emit_16(1884);
+emit_16(1819);
+emit_16(1884);
+emit_16(1820);
+emit_16(1885);
+emit_16(1821);
+emit_16(1885);
+emit_16(1820);
+emit_16(1885);
+emit_16(1821);
+emit_16(1886);
+emit_16(1822);
+emit_16(1886);
+emit_16(1821);
+emit_16(1886);
+emit_16(1822);
+emit_16(1887);
+emit_16(1823);
+emit_16(1887);
+emit_16(1822);
+emit_16(1887);
+emit_16(1823);
+emit_16(1888);
+emit_16(1824);
+emit_16(1888);
+emit_16(1823);
+emit_16(1888);
+emit_16(1824);
+emit_16(1889);
+emit_16(1825);
+emit_16(1889);
+emit_16(1824);
+emit_16(1889);
+emit_16(1825);
+emit_16(1890);
+emit_16(1826);
+emit_16(1890);
+emit_16(1825);
+emit_16(1890);
+emit_16(1826);
+emit_16(1891);
+emit_16(1827);
+emit_16(1891);
+emit_16(1826);
+emit_16(1891);
+emit_16(1827);
+emit_16(1892);
+emit_16(1828);
+emit_16(1892);
+emit_16(1827);
+emit_16(1892);
+emit_16(1828);
+emit_16(1893);
+emit_16(1829);
+emit_16(1893);
+emit_16(1828);
+emit_16(1893);
+emit_16(1829);
+emit_16(1894);
+emit_16(1830);
+emit_16(1894);
+emit_16(1829);
+emit_16(1894);
+emit_16(1830);
+emit_16(1895);
+emit_16(1831);
+emit_16(1895);
+emit_16(1830);
+emit_16(1895);
+emit_16(1831);
+emit_16(1896);
+emit_16(1832);
+emit_16(1896);
+emit_16(1831);
+emit_16(1896);
+emit_16(1832);
+emit_16(1897);
+emit_16(1833);
+emit_16(1897);
+emit_16(1832);
+emit_16(1897);
+emit_16(1833);
+emit_16(1898);
+emit_16(1834);
+emit_16(1898);
+emit_16(1833);
+emit_16(1898);
+emit_16(1834);
+emit_16(1899);
+emit_16(1835);
+emit_16(1899);
+emit_16(1834);
+emit_16(1899);
+emit_16(1835);
+emit_16(1900);
+emit_16(1836);
+emit_16(1900);
+emit_16(1835);
+emit_16(1900);
+emit_16(1836);
+emit_16(1901);
+emit_16(1837);
+emit_16(1901);
+emit_16(1836);
+emit_16(1901);
+emit_16(1837);
+emit_16(1902);
+emit_16(1838);
+emit_16(1902);
+emit_16(1837);
+emit_16(1902);
+emit_16(1838);
+emit_16(1903);
+emit_16(1839);
+emit_16(1903);
+emit_16(1838);
+emit_16(1903);
+emit_16(1839);
+emit_16(1904);
+emit_16(1840);
+emit_16(1904);
+emit_16(1839);
+emit_16(1904);
+emit_16(1840);
+emit_16(1905);
+emit_16(1841);
+emit_16(1905);
+emit_16(1840);
+emit_16(1905);
+emit_16(1841);
+emit_16(1906);
+emit_16(1842);
+emit_16(1906);
+emit_16(1841);
+emit_16(1906);
+emit_16(1842);
+emit_16(1907);
+emit_16(1843);
+emit_16(1907);
+emit_16(1842);
+emit_16(1907);
+emit_16(1843);
+emit_16(1908);
+emit_16(1844);
+emit_16(1908);
+emit_16(1843);
+emit_16(1908);
+emit_16(1844);
+emit_16(1909);
+emit_16(1845);
+emit_16(1909);
+emit_16(1844);
+emit_16(1909);
+emit_16(1845);
+emit_16(1910);
+emit_16(1846);
+emit_16(1910);
+emit_16(1845);
+emit_16(1910);
+emit_16(1846);
+emit_16(1911);
+emit_16(1847);
+emit_16(1911);
+emit_16(1846);
+emit_16(1911);
+emit_16(1847);
+emit_16(1912);
+emit_16(1848);
+emit_16(1912);
+emit_16(1847);
+emit_16(1912);
+emit_16(1848);
+emit_16(1913);
+emit_16(1849);
+emit_16(1913);
+emit_16(1848);
+emit_16(1913);
+emit_16(1849);
+emit_16(1914);
+emit_16(1850);
+emit_16(1914);
+emit_16(1849);
+emit_16(1914);
+emit_16(1850);
+emit_16(1915);
+emit_16(1851);
+emit_16(1915);
+emit_16(1850);
+emit_16(1915);
+emit_16(1851);
+emit_16(1916);
+emit_16(1852);
+emit_16(1916);
+emit_16(1851);
+emit_16(1916);
+emit_16(1852);
+emit_16(1917);
+emit_16(1853);
+emit_16(1917);
+emit_16(1852);
+emit_16(1917);
+emit_16(1853);
+emit_16(1918);
+emit_16(1854);
+emit_16(1918);
+emit_16(1853);
+emit_16(1918);
+emit_16(1854);
+emit_16(1919);
+emit_16(1855);
+emit_16(1919);
+emit_16(1854);
+emit_16(1920);
+emit_16(1856);
+emit_16(1921);
+emit_16(1857);
+emit_16(1921);
+emit_16(1856);
+emit_16(1921);
+emit_16(1857);
+emit_16(1922);
+emit_16(1858);
+emit_16(1922);
+emit_16(1857);
+emit_16(1922);
+emit_16(1858);
+emit_16(1923);
+emit_16(1859);
+emit_16(1923);
+emit_16(1858);
+emit_16(1923);
+emit_16(1859);
+emit_16(1924);
+emit_16(1860);
+emit_16(1924);
+emit_16(1859);
+emit_16(1924);
+emit_16(1860);
+emit_16(1925);
+emit_16(1861);
+emit_16(1925);
+emit_16(1860);
+emit_16(1925);
+emit_16(1861);
+emit_16(1926);
+emit_16(1862);
+emit_16(1926);
+emit_16(1861);
+emit_16(1926);
+emit_16(1862);
+emit_16(1927);
+emit_16(1863);
+emit_16(1927);
+emit_16(1862);
+emit_16(1927);
+emit_16(1863);
+emit_16(1928);
+emit_16(1864);
+emit_16(1928);
+emit_16(1863);
+emit_16(1928);
+emit_16(1864);
+emit_16(1929);
+emit_16(1865);
+emit_16(1929);
+emit_16(1864);
+emit_16(1929);
+emit_16(1865);
+emit_16(1930);
+emit_16(1866);
+emit_16(1930);
+emit_16(1865);
+emit_16(1930);
+emit_16(1866);
+emit_16(1931);
+emit_16(1867);
+emit_16(1931);
+emit_16(1866);
+emit_16(1931);
+emit_16(1867);
+emit_16(1932);
+emit_16(1868);
+emit_16(1932);
+emit_16(1867);
+emit_16(1932);
+emit_16(1868);
+emit_16(1933);
+emit_16(1869);
+emit_16(1933);
+emit_16(1868);
+emit_16(1933);
+emit_16(1869);
+emit_16(1934);
+emit_16(1870);
+emit_16(1934);
+emit_16(1869);
+emit_16(1934);
+emit_16(1870);
+emit_16(1935);
+emit_16(1871);
+emit_16(1935);
+emit_16(1870);
+emit_16(1935);
+emit_16(1871);
+emit_16(1936);
+emit_16(1872);
+emit_16(1936);
+emit_16(1871);
+emit_16(1936);
+emit_16(1872);
+emit_16(1937);
+emit_16(1873);
+emit_16(1937);
+emit_16(1872);
+emit_16(1937);
+emit_16(1873);
+emit_16(1938);
+emit_16(1874);
+emit_16(1938);
+emit_16(1873);
+emit_16(1938);
+emit_16(1874);
+emit_16(1939);
+emit_16(1875);
+emit_16(1939);
+emit_16(1874);
+emit_16(1939);
+emit_16(1875);
+emit_16(1940);
+emit_16(1876);
+emit_16(1940);
+emit_16(1875);
+emit_16(1940);
+emit_16(1876);
+emit_16(1941);
+emit_16(1877);
+emit_16(1941);
+emit_16(1876);
+emit_16(1941);
+emit_16(1877);
+emit_16(1942);
+emit_16(1878);
+emit_16(1942);
+emit_16(1877);
+emit_16(1942);
+emit_16(1878);
+emit_16(1943);
+emit_16(1879);
+emit_16(1943);
+emit_16(1878);
+emit_16(1943);
+emit_16(1879);
+emit_16(1944);
+emit_16(1880);
+emit_16(1944);
+emit_16(1879);
+emit_16(1944);
+emit_16(1880);
+emit_16(1945);
+emit_16(1881);
+emit_16(1945);
+emit_16(1880);
+emit_16(1945);
+emit_16(1881);
+emit_16(1946);
+emit_16(1882);
+emit_16(1946);
+emit_16(1881);
+emit_16(1946);
+emit_16(1882);
+emit_16(1947);
+emit_16(1883);
+emit_16(1947);
+emit_16(1882);
+emit_16(1947);
+emit_16(1883);
+emit_16(1948);
+emit_16(1884);
+emit_16(1948);
+emit_16(1883);
+emit_16(1948);
+emit_16(1884);
+emit_16(1949);
+emit_16(1885);
+emit_16(1949);
+emit_16(1884);
+emit_16(1949);
+emit_16(1885);
+emit_16(1950);
+emit_16(1886);
+emit_16(1950);
+emit_16(1885);
+emit_16(1950);
+emit_16(1886);
+emit_16(1951);
+emit_16(1887);
+emit_16(1951);
+emit_16(1886);
+emit_16(1951);
+emit_16(1887);
+emit_16(1952);
+emit_16(1888);
+emit_16(1952);
+emit_16(1887);
+emit_16(1952);
+emit_16(1888);
+emit_16(1953);
+emit_16(1889);
+emit_16(1953);
+emit_16(1888);
+emit_16(1953);
+emit_16(1889);
+emit_16(1954);
+emit_16(1890);
+emit_16(1954);
+emit_16(1889);
+emit_16(1954);
+emit_16(1890);
+emit_16(1955);
+emit_16(1891);
+emit_16(1955);
+emit_16(1890);
+emit_16(1955);
+emit_16(1891);
+emit_16(1956);
+emit_16(1892);
+emit_16(1956);
+emit_16(1891);
+emit_16(1956);
+emit_16(1892);
+emit_16(1957);
+emit_16(1893);
+emit_16(1957);
+emit_16(1892);
+emit_16(1957);
+emit_16(1893);
+emit_16(1958);
+emit_16(1894);
+emit_16(1958);
+emit_16(1893);
+emit_16(1958);
+emit_16(1894);
+emit_16(1959);
+emit_16(1895);
+emit_16(1959);
+emit_16(1894);
+emit_16(1959);
+emit_16(1895);
+emit_16(1960);
+emit_16(1896);
+emit_16(1960);
+emit_16(1895);
+emit_16(1960);
+emit_16(1896);
+emit_16(1961);
+emit_16(1897);
+emit_16(1961);
+emit_16(1896);
+emit_16(1961);
+emit_16(1897);
+emit_16(1962);
+emit_16(1898);
+emit_16(1962);
+emit_16(1897);
+emit_16(1962);
+emit_16(1898);
+emit_16(1963);
+emit_16(1899);
+emit_16(1963);
+emit_16(1898);
+emit_16(1963);
+emit_16(1899);
+emit_16(1964);
+emit_16(1900);
+emit_16(1964);
+emit_16(1899);
+emit_16(1964);
+emit_16(1900);
+emit_16(1965);
+emit_16(1901);
+emit_16(1965);
+emit_16(1900);
+emit_16(1965);
+emit_16(1901);
+emit_16(1966);
+emit_16(1902);
+emit_16(1966);
+emit_16(1901);
+emit_16(1966);
+emit_16(1902);
+emit_16(1967);
+emit_16(1903);
+emit_16(1967);
+emit_16(1902);
+emit_16(1967);
+emit_16(1903);
+emit_16(1968);
+emit_16(1904);
+emit_16(1968);
+emit_16(1903);
+emit_16(1968);
+emit_16(1904);
+emit_16(1969);
+emit_16(1905);
+emit_16(1969);
+emit_16(1904);
+emit_16(1969);
+emit_16(1905);
+emit_16(1970);
+emit_16(1906);
+emit_16(1970);
+emit_16(1905);
+emit_16(1970);
+emit_16(1906);
+emit_16(1971);
+emit_16(1907);
+emit_16(1971);
+emit_16(1906);
+emit_16(1971);
+emit_16(1907);
+emit_16(1972);
+emit_16(1908);
+emit_16(1972);
+emit_16(1907);
+emit_16(1972);
+emit_16(1908);
+emit_16(1973);
+emit_16(1909);
+emit_16(1973);
+emit_16(1908);
+emit_16(1973);
+emit_16(1909);
+emit_16(1974);
+emit_16(1910);
+emit_16(1974);
+emit_16(1909);
+emit_16(1974);
+emit_16(1910);
+emit_16(1975);
+emit_16(1911);
+emit_16(1975);
+emit_16(1910);
+emit_16(1975);
+emit_16(1911);
+emit_16(1976);
+emit_16(1912);
+emit_16(1976);
+emit_16(1911);
+emit_16(1976);
+emit_16(1912);
+emit_16(1977);
+emit_16(1913);
+emit_16(1977);
+emit_16(1912);
+emit_16(1977);
+emit_16(1913);
+emit_16(1978);
+emit_16(1914);
+emit_16(1978);
+emit_16(1913);
+emit_16(1978);
+emit_16(1914);
+emit_16(1979);
+emit_16(1915);
+emit_16(1979);
+emit_16(1914);
+emit_16(1979);
+emit_16(1915);
+emit_16(1980);
+emit_16(1916);
+emit_16(1980);
+emit_16(1915);
+emit_16(1980);
+emit_16(1916);
+emit_16(1981);
+emit_16(1917);
+emit_16(1981);
+emit_16(1916);
+emit_16(1981);
+emit_16(1917);
+emit_16(1982);
+emit_16(1918);
+emit_16(1982);
+emit_16(1917);
+emit_16(1982);
+emit_16(1918);
+emit_16(1983);
+emit_16(1919);
+emit_16(1983);
+emit_16(1918);
+emit_16(1984);
+emit_16(1920);
+emit_16(1985);
+emit_16(1921);
+emit_16(1985);
+emit_16(1920);
+emit_16(1985);
+emit_16(1921);
+emit_16(1986);
+emit_16(1922);
+emit_16(1986);
+emit_16(1921);
+emit_16(1986);
+emit_16(1922);
+emit_16(1987);
+emit_16(1923);
+emit_16(1987);
+emit_16(1922);
+emit_16(1987);
+emit_16(1923);
+emit_16(1988);
+emit_16(1924);
+emit_16(1988);
+emit_16(1923);
+emit_16(1988);
+emit_16(1924);
+emit_16(1989);
+emit_16(1925);
+emit_16(1989);
+emit_16(1924);
+emit_16(1989);
+emit_16(1925);
+emit_16(1990);
+emit_16(1926);
+emit_16(1990);
+emit_16(1925);
+emit_16(1990);
+emit_16(1926);
+emit_16(1991);
+emit_16(1927);
+emit_16(1991);
+emit_16(1926);
+emit_16(1991);
+emit_16(1927);
+emit_16(1992);
+emit_16(1928);
+emit_16(1992);
+emit_16(1927);
+emit_16(1992);
+emit_16(1928);
+emit_16(1993);
+emit_16(1929);
+emit_16(1993);
+emit_16(1928);
+emit_16(1993);
+emit_16(1929);
+emit_16(1994);
+emit_16(1930);
+emit_16(1994);
+emit_16(1929);
+emit_16(1994);
+emit_16(1930);
+emit_16(1995);
+emit_16(1931);
+emit_16(1995);
+emit_16(1930);
+emit_16(1995);
+emit_16(1931);
+emit_16(1996);
+emit_16(1932);
+emit_16(1996);
+emit_16(1931);
+emit_16(1996);
+emit_16(1932);
+emit_16(1997);
+emit_16(1933);
+emit_16(1997);
+emit_16(1932);
+emit_16(1997);
+emit_16(1933);
+emit_16(1998);
+emit_16(1934);
+emit_16(1998);
+emit_16(1933);
+emit_16(1998);
+emit_16(1934);
+emit_16(1999);
+emit_16(1935);
+emit_16(1999);
+emit_16(1934);
+emit_16(1999);
+emit_16(1935);
+emit_16(2000);
+emit_16(1936);
+emit_16(2000);
+emit_16(1935);
+emit_16(2000);
+emit_16(1936);
+emit_16(2001);
+emit_16(1937);
+emit_16(2001);
+emit_16(1936);
+emit_16(2001);
+emit_16(1937);
+emit_16(2002);
+emit_16(1938);
+emit_16(2002);
+emit_16(1937);
+emit_16(2002);
+emit_16(1938);
+emit_16(2003);
+emit_16(1939);
+emit_16(2003);
+emit_16(1938);
+emit_16(2003);
+emit_16(1939);
+emit_16(2004);
+emit_16(1940);
+emit_16(2004);
+emit_16(1939);
+emit_16(2004);
+emit_16(1940);
+emit_16(2005);
+emit_16(1941);
+emit_16(2005);
+emit_16(1940);
+emit_16(2005);
+emit_16(1941);
+emit_16(2006);
+emit_16(1942);
+emit_16(2006);
+emit_16(1941);
+emit_16(2006);
+emit_16(1942);
+emit_16(2007);
+emit_16(1943);
+emit_16(2007);
+emit_16(1942);
+emit_16(2007);
+emit_16(1943);
+emit_16(2008);
+emit_16(1944);
+emit_16(2008);
+emit_16(1943);
+emit_16(2008);
+emit_16(1944);
+emit_16(2009);
+emit_16(1945);
+emit_16(2009);
+emit_16(1944);
+emit_16(2009);
+emit_16(1945);
+emit_16(2010);
+emit_16(1946);
+emit_16(2010);
+emit_16(1945);
+emit_16(2010);
+emit_16(1946);
+emit_16(2011);
+emit_16(1947);
+emit_16(2011);
+emit_16(1946);
+emit_16(2011);
+emit_16(1947);
+emit_16(2012);
+emit_16(1948);
+emit_16(2012);
+emit_16(1947);
+emit_16(2012);
+emit_16(1948);
+emit_16(2013);
+emit_16(1949);
+emit_16(2013);
+emit_16(1948);
+emit_16(2013);
+emit_16(1949);
+emit_16(2014);
+emit_16(1950);
+emit_16(2014);
+emit_16(1949);
+emit_16(2014);
+emit_16(1950);
+emit_16(2015);
+emit_16(1951);
+emit_16(2015);
+emit_16(1950);
+emit_16(2015);
+emit_16(1951);
+emit_16(2016);
+emit_16(1952);
+emit_16(2016);
+emit_16(1951);
+emit_16(2016);
+emit_16(1952);
+emit_16(2017);
+emit_16(1953);
+emit_16(2017);
+emit_16(1952);
+emit_16(2017);
+emit_16(1953);
+emit_16(2018);
+emit_16(1954);
+emit_16(2018);
+emit_16(1953);
+emit_16(2018);
+emit_16(1954);
+emit_16(2019);
+emit_16(1955);
+emit_16(2019);
+emit_16(1954);
+emit_16(2019);
+emit_16(1955);
+emit_16(2020);
+emit_16(1956);
+emit_16(2020);
+emit_16(1955);
+emit_16(2020);
+emit_16(1956);
+emit_16(2021);
+emit_16(1957);
+emit_16(2021);
+emit_16(1956);
+emit_16(2021);
+emit_16(1957);
+emit_16(2022);
+emit_16(1958);
+emit_16(2022);
+emit_16(1957);
+emit_16(2022);
+emit_16(1958);
+emit_16(2023);
+emit_16(1959);
+emit_16(2023);
+emit_16(1958);
+emit_16(2023);
+emit_16(1959);
+emit_16(2024);
+emit_16(1960);
+emit_16(2024);
+emit_16(1959);
+emit_16(2024);
+emit_16(1960);
+emit_16(2025);
+emit_16(1961);
+emit_16(2025);
+emit_16(1960);
+emit_16(2025);
+emit_16(1961);
+emit_16(2026);
+emit_16(1962);
+emit_16(2026);
+emit_16(1961);
+emit_16(2026);
+emit_16(1962);
+emit_16(2027);
+emit_16(1963);
+emit_16(2027);
+emit_16(1962);
+emit_16(2027);
+emit_16(1963);
+emit_16(2028);
+emit_16(1964);
+emit_16(2028);
+emit_16(1963);
+emit_16(2028);
+emit_16(1964);
+emit_16(2029);
+emit_16(1965);
+emit_16(2029);
+emit_16(1964);
+emit_16(2029);
+emit_16(1965);
+emit_16(2030);
+emit_16(1966);
+emit_16(2030);
+emit_16(1965);
+emit_16(2030);
+emit_16(1966);
+emit_16(2031);
+emit_16(1967);
+emit_16(2031);
+emit_16(1966);
+emit_16(2031);
+emit_16(1967);
+emit_16(2032);
+emit_16(1968);
+emit_16(2032);
+emit_16(1967);
+emit_16(2032);
+emit_16(1968);
+emit_16(2033);
+emit_16(1969);
+emit_16(2033);
+emit_16(1968);
+emit_16(2033);
+emit_16(1969);
+emit_16(2034);
+emit_16(1970);
+emit_16(2034);
+emit_16(1969);
+emit_16(2034);
+emit_16(1970);
+emit_16(2035);
+emit_16(1971);
+emit_16(2035);
+emit_16(1970);
+emit_16(2035);
+emit_16(1971);
+emit_16(2036);
+emit_16(1972);
+emit_16(2036);
+emit_16(1971);
+emit_16(2036);
+emit_16(1972);
+emit_16(2037);
+emit_16(1973);
+emit_16(2037);
+emit_16(1972);
+emit_16(2037);
+emit_16(1973);
+emit_16(2038);
+emit_16(1974);
+emit_16(2038);
+emit_16(1973);
+emit_16(2038);
+emit_16(1974);
+emit_16(2039);
+emit_16(1975);
+emit_16(2039);
+emit_16(1974);
+emit_16(2039);
+emit_16(1975);
+emit_16(2040);
+emit_16(1976);
+emit_16(2040);
+emit_16(1975);
+emit_16(2040);
+emit_16(1976);
+emit_16(2041);
+emit_16(1977);
+emit_16(2041);
+emit_16(1976);
+emit_16(2041);
+emit_16(1977);
+emit_16(2042);
+emit_16(1978);
+emit_16(2042);
+emit_16(1977);
+emit_16(2042);
+emit_16(1978);
+emit_16(2043);
+emit_16(1979);
+emit_16(2043);
+emit_16(1978);
+emit_16(2043);
+emit_16(1979);
+emit_16(2044);
+emit_16(1980);
+emit_16(2044);
+emit_16(1979);
+emit_16(2044);
+emit_16(1980);
+emit_16(2045);
+emit_16(1981);
+emit_16(2045);
+emit_16(1980);
+emit_16(2045);
+emit_16(1981);
+emit_16(2046);
+emit_16(1982);
+emit_16(2046);
+emit_16(1981);
+emit_16(2046);
+emit_16(1982);
+emit_16(2047);
+emit_16(1983);
+emit_16(2047);
+emit_16(1982);
+emit_start(Landscape02Idx)
+emit_16(0);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(2);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(4);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(6);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(8);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(10);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(12);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(14);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(16);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(18);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(20);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(22);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(24);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(26);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(28);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(30);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(32);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(34);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(36);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(38);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(40);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(42);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(44);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(46);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(48);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(50);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(52);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(54);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(56);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(58);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(60);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(62);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(64);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(66);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(68);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(70);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(72);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(74);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(76);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(78);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(80);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(82);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(84);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(86);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(88);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(90);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(92);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(94);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(96);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(98);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(100);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(102);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(104);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(106);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(108);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(110);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(112);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(114);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(116);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(118);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(120);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(122);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(124);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(126);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(128);
+emit_16(129);
+emit_16(128);
+emit_16(127);
+emit_16(128);
+emit_16(129);
+emit_16(130);
+emit_16(131);
+emit_16(130);
+emit_16(129);
+emit_16(132);
+emit_16(0);
+emit_16(133);
+emit_16(2);
+emit_16(133);
+emit_16(0);
+emit_16(133);
+emit_16(2);
+emit_16(134);
+emit_16(4);
+emit_16(134);
+emit_16(2);
+emit_16(134);
+emit_16(4);
+emit_16(135);
+emit_16(6);
+emit_16(135);
+emit_16(4);
+emit_16(135);
+emit_16(6);
+emit_16(136);
+emit_16(8);
+emit_16(136);
+emit_16(6);
+emit_16(136);
+emit_16(8);
+emit_16(137);
+emit_16(10);
+emit_16(137);
+emit_16(8);
+emit_16(137);
+emit_16(10);
+emit_16(138);
+emit_16(12);
+emit_16(138);
+emit_16(10);
+emit_16(138);
+emit_16(12);
+emit_16(139);
+emit_16(14);
+emit_16(139);
+emit_16(12);
+emit_16(139);
+emit_16(14);
+emit_16(140);
+emit_16(16);
+emit_16(140);
+emit_16(14);
+emit_16(140);
+emit_16(16);
+emit_16(141);
+emit_16(18);
+emit_16(141);
+emit_16(16);
+emit_16(141);
+emit_16(18);
+emit_16(142);
+emit_16(20);
+emit_16(142);
+emit_16(18);
+emit_16(142);
+emit_16(20);
+emit_16(143);
+emit_16(22);
+emit_16(143);
+emit_16(20);
+emit_16(143);
+emit_16(22);
+emit_16(144);
+emit_16(24);
+emit_16(144);
+emit_16(22);
+emit_16(144);
+emit_16(24);
+emit_16(145);
+emit_16(26);
+emit_16(145);
+emit_16(24);
+emit_16(145);
+emit_16(26);
+emit_16(146);
+emit_16(28);
+emit_16(146);
+emit_16(26);
+emit_16(146);
+emit_16(28);
+emit_16(147);
+emit_16(30);
+emit_16(147);
+emit_16(28);
+emit_16(147);
+emit_16(30);
+emit_16(148);
+emit_16(32);
+emit_16(148);
+emit_16(30);
+emit_16(148);
+emit_16(32);
+emit_16(149);
+emit_16(34);
+emit_16(149);
+emit_16(32);
+emit_16(149);
+emit_16(34);
+emit_16(150);
+emit_16(36);
+emit_16(150);
+emit_16(34);
+emit_16(150);
+emit_16(36);
+emit_16(151);
+emit_16(38);
+emit_16(151);
+emit_16(36);
+emit_16(151);
+emit_16(38);
+emit_16(152);
+emit_16(40);
+emit_16(152);
+emit_16(38);
+emit_16(152);
+emit_16(40);
+emit_16(153);
+emit_16(42);
+emit_16(153);
+emit_16(40);
+emit_16(153);
+emit_16(42);
+emit_16(154);
+emit_16(44);
+emit_16(154);
+emit_16(42);
+emit_16(154);
+emit_16(44);
+emit_16(155);
+emit_16(46);
+emit_16(155);
+emit_16(44);
+emit_16(155);
+emit_16(46);
+emit_16(156);
+emit_16(48);
+emit_16(156);
+emit_16(46);
+emit_16(156);
+emit_16(48);
+emit_16(157);
+emit_16(50);
+emit_16(157);
+emit_16(48);
+emit_16(157);
+emit_16(50);
+emit_16(158);
+emit_16(52);
+emit_16(158);
+emit_16(50);
+emit_16(158);
+emit_16(52);
+emit_16(159);
+emit_16(54);
+emit_16(159);
+emit_16(52);
+emit_16(159);
+emit_16(54);
+emit_16(160);
+emit_16(56);
+emit_16(160);
+emit_16(54);
+emit_16(160);
+emit_16(56);
+emit_16(161);
+emit_16(58);
+emit_16(161);
+emit_16(56);
+emit_16(161);
+emit_16(58);
+emit_16(162);
+emit_16(60);
+emit_16(162);
+emit_16(58);
+emit_16(162);
+emit_16(60);
+emit_16(163);
+emit_16(62);
+emit_16(163);
+emit_16(60);
+emit_16(163);
+emit_16(62);
+emit_16(164);
+emit_16(64);
+emit_16(164);
+emit_16(62);
+emit_16(164);
+emit_16(64);
+emit_16(165);
+emit_16(66);
+emit_16(165);
+emit_16(64);
+emit_16(165);
+emit_16(66);
+emit_16(166);
+emit_16(68);
+emit_16(166);
+emit_16(66);
+emit_16(166);
+emit_16(68);
+emit_16(167);
+emit_16(70);
+emit_16(167);
+emit_16(68);
+emit_16(167);
+emit_16(70);
+emit_16(168);
+emit_16(72);
+emit_16(168);
+emit_16(70);
+emit_16(168);
+emit_16(72);
+emit_16(169);
+emit_16(74);
+emit_16(169);
+emit_16(72);
+emit_16(169);
+emit_16(74);
+emit_16(170);
+emit_16(76);
+emit_16(170);
+emit_16(74);
+emit_16(170);
+emit_16(76);
+emit_16(171);
+emit_16(78);
+emit_16(171);
+emit_16(76);
+emit_16(171);
+emit_16(78);
+emit_16(172);
+emit_16(80);
+emit_16(172);
+emit_16(78);
+emit_16(172);
+emit_16(80);
+emit_16(173);
+emit_16(82);
+emit_16(173);
+emit_16(80);
+emit_16(173);
+emit_16(82);
+emit_16(174);
+emit_16(84);
+emit_16(174);
+emit_16(82);
+emit_16(174);
+emit_16(84);
+emit_16(175);
+emit_16(86);
+emit_16(175);
+emit_16(84);
+emit_16(175);
+emit_16(86);
+emit_16(176);
+emit_16(88);
+emit_16(176);
+emit_16(86);
+emit_16(176);
+emit_16(88);
+emit_16(177);
+emit_16(90);
+emit_16(177);
+emit_16(88);
+emit_16(177);
+emit_16(90);
+emit_16(178);
+emit_16(92);
+emit_16(178);
+emit_16(90);
+emit_16(178);
+emit_16(92);
+emit_16(179);
+emit_16(94);
+emit_16(179);
+emit_16(92);
+emit_16(179);
+emit_16(94);
+emit_16(180);
+emit_16(96);
+emit_16(180);
+emit_16(94);
+emit_16(180);
+emit_16(96);
+emit_16(181);
+emit_16(98);
+emit_16(181);
+emit_16(96);
+emit_16(181);
+emit_16(98);
+emit_16(182);
+emit_16(100);
+emit_16(182);
+emit_16(98);
+emit_16(182);
+emit_16(100);
+emit_16(183);
+emit_16(102);
+emit_16(183);
+emit_16(100);
+emit_16(183);
+emit_16(102);
+emit_16(184);
+emit_16(104);
+emit_16(184);
+emit_16(102);
+emit_16(184);
+emit_16(104);
+emit_16(185);
+emit_16(106);
+emit_16(185);
+emit_16(104);
+emit_16(185);
+emit_16(106);
+emit_16(186);
+emit_16(108);
+emit_16(186);
+emit_16(106);
+emit_16(186);
+emit_16(108);
+emit_16(187);
+emit_16(110);
+emit_16(187);
+emit_16(108);
+emit_16(187);
+emit_16(110);
+emit_16(188);
+emit_16(112);
+emit_16(188);
+emit_16(110);
+emit_16(188);
+emit_16(112);
+emit_16(189);
+emit_16(114);
+emit_16(189);
+emit_16(112);
+emit_16(189);
+emit_16(114);
+emit_16(190);
+emit_16(116);
+emit_16(190);
+emit_16(114);
+emit_16(190);
+emit_16(116);
+emit_16(191);
+emit_16(118);
+emit_16(191);
+emit_16(116);
+emit_16(191);
+emit_16(118);
+emit_16(192);
+emit_16(120);
+emit_16(192);
+emit_16(118);
+emit_16(192);
+emit_16(120);
+emit_16(193);
+emit_16(122);
+emit_16(193);
+emit_16(120);
+emit_16(193);
+emit_16(122);
+emit_16(194);
+emit_16(124);
+emit_16(194);
+emit_16(122);
+emit_16(194);
+emit_16(124);
+emit_16(195);
+emit_16(126);
+emit_16(195);
+emit_16(124);
+emit_16(195);
+emit_16(126);
+emit_16(196);
+emit_16(128);
+emit_16(196);
+emit_16(126);
+emit_16(196);
+emit_16(128);
+emit_16(197);
+emit_16(130);
+emit_16(197);
+emit_16(128);
+emit_16(198);
+emit_16(132);
+emit_16(199);
+emit_16(133);
+emit_16(199);
+emit_16(132);
+emit_16(199);
+emit_16(133);
+emit_16(200);
+emit_16(134);
+emit_16(200);
+emit_16(133);
+emit_16(200);
+emit_16(134);
+emit_16(201);
+emit_16(135);
+emit_16(201);
+emit_16(134);
+emit_16(201);
+emit_16(135);
+emit_16(202);
+emit_16(136);
+emit_16(202);
+emit_16(135);
+emit_16(202);
+emit_16(136);
+emit_16(203);
+emit_16(137);
+emit_16(203);
+emit_16(136);
+emit_16(203);
+emit_16(137);
+emit_16(204);
+emit_16(138);
+emit_16(204);
+emit_16(137);
+emit_16(204);
+emit_16(138);
+emit_16(205);
+emit_16(139);
+emit_16(205);
+emit_16(138);
+emit_16(205);
+emit_16(139);
+emit_16(206);
+emit_16(140);
+emit_16(206);
+emit_16(139);
+emit_16(206);
+emit_16(140);
+emit_16(207);
+emit_16(141);
+emit_16(207);
+emit_16(140);
+emit_16(207);
+emit_16(141);
+emit_16(208);
+emit_16(142);
+emit_16(208);
+emit_16(141);
+emit_16(208);
+emit_16(142);
+emit_16(209);
+emit_16(143);
+emit_16(209);
+emit_16(142);
+emit_16(209);
+emit_16(143);
+emit_16(210);
+emit_16(144);
+emit_16(210);
+emit_16(143);
+emit_16(210);
+emit_16(144);
+emit_16(211);
+emit_16(145);
+emit_16(211);
+emit_16(144);
+emit_16(211);
+emit_16(145);
+emit_16(212);
+emit_16(146);
+emit_16(212);
+emit_16(145);
+emit_16(212);
+emit_16(146);
+emit_16(213);
+emit_16(147);
+emit_16(213);
+emit_16(146);
+emit_16(213);
+emit_16(147);
+emit_16(214);
+emit_16(148);
+emit_16(214);
+emit_16(147);
+emit_16(214);
+emit_16(148);
+emit_16(215);
+emit_16(149);
+emit_16(215);
+emit_16(148);
+emit_16(215);
+emit_16(149);
+emit_16(216);
+emit_16(150);
+emit_16(216);
+emit_16(149);
+emit_16(216);
+emit_16(150);
+emit_16(217);
+emit_16(151);
+emit_16(217);
+emit_16(150);
+emit_16(217);
+emit_16(151);
+emit_16(218);
+emit_16(152);
+emit_16(218);
+emit_16(151);
+emit_16(218);
+emit_16(152);
+emit_16(219);
+emit_16(153);
+emit_16(219);
+emit_16(152);
+emit_16(219);
+emit_16(153);
+emit_16(220);
+emit_16(154);
+emit_16(220);
+emit_16(153);
+emit_16(220);
+emit_16(154);
+emit_16(221);
+emit_16(155);
+emit_16(221);
+emit_16(154);
+emit_16(221);
+emit_16(155);
+emit_16(222);
+emit_16(156);
+emit_16(222);
+emit_16(155);
+emit_16(222);
+emit_16(156);
+emit_16(223);
+emit_16(157);
+emit_16(223);
+emit_16(156);
+emit_16(223);
+emit_16(157);
+emit_16(224);
+emit_16(158);
+emit_16(224);
+emit_16(157);
+emit_16(224);
+emit_16(158);
+emit_16(225);
+emit_16(159);
+emit_16(225);
+emit_16(158);
+emit_16(225);
+emit_16(159);
+emit_16(226);
+emit_16(160);
+emit_16(226);
+emit_16(159);
+emit_16(226);
+emit_16(160);
+emit_16(227);
+emit_16(161);
+emit_16(227);
+emit_16(160);
+emit_16(227);
+emit_16(161);
+emit_16(228);
+emit_16(162);
+emit_16(228);
+emit_16(161);
+emit_16(228);
+emit_16(162);
+emit_16(229);
+emit_16(163);
+emit_16(229);
+emit_16(162);
+emit_16(229);
+emit_16(163);
+emit_16(230);
+emit_16(164);
+emit_16(230);
+emit_16(163);
+emit_16(230);
+emit_16(164);
+emit_16(231);
+emit_16(165);
+emit_16(231);
+emit_16(164);
+emit_16(231);
+emit_16(165);
+emit_16(232);
+emit_16(166);
+emit_16(232);
+emit_16(165);
+emit_16(232);
+emit_16(166);
+emit_16(233);
+emit_16(167);
+emit_16(233);
+emit_16(166);
+emit_16(233);
+emit_16(167);
+emit_16(234);
+emit_16(168);
+emit_16(234);
+emit_16(167);
+emit_16(234);
+emit_16(168);
+emit_16(235);
+emit_16(169);
+emit_16(235);
+emit_16(168);
+emit_16(235);
+emit_16(169);
+emit_16(236);
+emit_16(170);
+emit_16(236);
+emit_16(169);
+emit_16(236);
+emit_16(170);
+emit_16(237);
+emit_16(171);
+emit_16(237);
+emit_16(170);
+emit_16(237);
+emit_16(171);
+emit_16(238);
+emit_16(172);
+emit_16(238);
+emit_16(171);
+emit_16(238);
+emit_16(172);
+emit_16(239);
+emit_16(173);
+emit_16(239);
+emit_16(172);
+emit_16(239);
+emit_16(173);
+emit_16(240);
+emit_16(174);
+emit_16(240);
+emit_16(173);
+emit_16(240);
+emit_16(174);
+emit_16(241);
+emit_16(175);
+emit_16(241);
+emit_16(174);
+emit_16(241);
+emit_16(175);
+emit_16(242);
+emit_16(176);
+emit_16(242);
+emit_16(175);
+emit_16(242);
+emit_16(176);
+emit_16(243);
+emit_16(177);
+emit_16(243);
+emit_16(176);
+emit_16(243);
+emit_16(177);
+emit_16(244);
+emit_16(178);
+emit_16(244);
+emit_16(177);
+emit_16(244);
+emit_16(178);
+emit_16(245);
+emit_16(179);
+emit_16(245);
+emit_16(178);
+emit_16(245);
+emit_16(179);
+emit_16(246);
+emit_16(180);
+emit_16(246);
+emit_16(179);
+emit_16(246);
+emit_16(180);
+emit_16(247);
+emit_16(181);
+emit_16(247);
+emit_16(180);
+emit_16(247);
+emit_16(181);
+emit_16(248);
+emit_16(182);
+emit_16(248);
+emit_16(181);
+emit_16(248);
+emit_16(182);
+emit_16(249);
+emit_16(183);
+emit_16(249);
+emit_16(182);
+emit_16(249);
+emit_16(183);
+emit_16(250);
+emit_16(184);
+emit_16(250);
+emit_16(183);
+emit_16(250);
+emit_16(184);
+emit_16(251);
+emit_16(185);
+emit_16(251);
+emit_16(184);
+emit_16(251);
+emit_16(185);
+emit_16(252);
+emit_16(186);
+emit_16(252);
+emit_16(185);
+emit_16(252);
+emit_16(186);
+emit_16(253);
+emit_16(187);
+emit_16(253);
+emit_16(186);
+emit_16(253);
+emit_16(187);
+emit_16(254);
+emit_16(188);
+emit_16(254);
+emit_16(187);
+emit_16(254);
+emit_16(188);
+emit_16(255);
+emit_16(189);
+emit_16(255);
+emit_16(188);
+emit_16(255);
+emit_16(189);
+emit_16(256);
+emit_16(190);
+emit_16(256);
+emit_16(189);
+emit_16(256);
+emit_16(190);
+emit_16(257);
+emit_16(191);
+emit_16(257);
+emit_16(190);
+emit_16(257);
+emit_16(191);
+emit_16(258);
+emit_16(192);
+emit_16(258);
+emit_16(191);
+emit_16(258);
+emit_16(192);
+emit_16(259);
+emit_16(193);
+emit_16(259);
+emit_16(192);
+emit_16(259);
+emit_16(193);
+emit_16(260);
+emit_16(194);
+emit_16(260);
+emit_16(193);
+emit_16(260);
+emit_16(194);
+emit_16(261);
+emit_16(195);
+emit_16(261);
+emit_16(194);
+emit_16(261);
+emit_16(195);
+emit_16(262);
+emit_16(196);
+emit_16(262);
+emit_16(195);
+emit_16(262);
+emit_16(196);
+emit_16(263);
+emit_16(197);
+emit_16(263);
+emit_16(196);
+emit_16(264);
+emit_16(198);
+emit_16(265);
+emit_16(199);
+emit_16(265);
+emit_16(198);
+emit_16(265);
+emit_16(199);
+emit_16(266);
+emit_16(200);
+emit_16(266);
+emit_16(199);
+emit_16(266);
+emit_16(200);
+emit_16(267);
+emit_16(201);
+emit_16(267);
+emit_16(200);
+emit_16(267);
+emit_16(201);
+emit_16(268);
+emit_16(202);
+emit_16(268);
+emit_16(201);
+emit_16(268);
+emit_16(202);
+emit_16(269);
+emit_16(203);
+emit_16(269);
+emit_16(202);
+emit_16(269);
+emit_16(203);
+emit_16(270);
+emit_16(204);
+emit_16(270);
+emit_16(203);
+emit_16(270);
+emit_16(204);
+emit_16(271);
+emit_16(205);
+emit_16(271);
+emit_16(204);
+emit_16(271);
+emit_16(205);
+emit_16(272);
+emit_16(206);
+emit_16(272);
+emit_16(205);
+emit_16(272);
+emit_16(206);
+emit_16(273);
+emit_16(207);
+emit_16(273);
+emit_16(206);
+emit_16(273);
+emit_16(207);
+emit_16(274);
+emit_16(208);
+emit_16(274);
+emit_16(207);
+emit_16(274);
+emit_16(208);
+emit_16(275);
+emit_16(209);
+emit_16(275);
+emit_16(208);
+emit_16(275);
+emit_16(209);
+emit_16(276);
+emit_16(210);
+emit_16(276);
+emit_16(209);
+emit_16(276);
+emit_16(210);
+emit_16(277);
+emit_16(211);
+emit_16(277);
+emit_16(210);
+emit_16(277);
+emit_16(211);
+emit_16(278);
+emit_16(212);
+emit_16(278);
+emit_16(211);
+emit_16(278);
+emit_16(212);
+emit_16(279);
+emit_16(213);
+emit_16(279);
+emit_16(212);
+emit_16(279);
+emit_16(213);
+emit_16(280);
+emit_16(214);
+emit_16(280);
+emit_16(213);
+emit_16(280);
+emit_16(214);
+emit_16(281);
+emit_16(215);
+emit_16(281);
+emit_16(214);
+emit_16(281);
+emit_16(215);
+emit_16(282);
+emit_16(216);
+emit_16(282);
+emit_16(215);
+emit_16(282);
+emit_16(216);
+emit_16(283);
+emit_16(217);
+emit_16(283);
+emit_16(216);
+emit_16(283);
+emit_16(217);
+emit_16(284);
+emit_16(218);
+emit_16(284);
+emit_16(217);
+emit_16(284);
+emit_16(218);
+emit_16(285);
+emit_16(219);
+emit_16(285);
+emit_16(218);
+emit_16(285);
+emit_16(219);
+emit_16(286);
+emit_16(220);
+emit_16(286);
+emit_16(219);
+emit_16(286);
+emit_16(220);
+emit_16(287);
+emit_16(221);
+emit_16(287);
+emit_16(220);
+emit_16(287);
+emit_16(221);
+emit_16(288);
+emit_16(222);
+emit_16(288);
+emit_16(221);
+emit_16(288);
+emit_16(222);
+emit_16(289);
+emit_16(223);
+emit_16(289);
+emit_16(222);
+emit_16(289);
+emit_16(223);
+emit_16(290);
+emit_16(224);
+emit_16(290);
+emit_16(223);
+emit_16(290);
+emit_16(224);
+emit_16(291);
+emit_16(225);
+emit_16(291);
+emit_16(224);
+emit_16(291);
+emit_16(225);
+emit_16(292);
+emit_16(226);
+emit_16(292);
+emit_16(225);
+emit_16(292);
+emit_16(226);
+emit_16(293);
+emit_16(227);
+emit_16(293);
+emit_16(226);
+emit_16(293);
+emit_16(227);
+emit_16(294);
+emit_16(228);
+emit_16(294);
+emit_16(227);
+emit_16(294);
+emit_16(228);
+emit_16(295);
+emit_16(229);
+emit_16(295);
+emit_16(228);
+emit_16(295);
+emit_16(229);
+emit_16(296);
+emit_16(230);
+emit_16(296);
+emit_16(229);
+emit_16(296);
+emit_16(230);
+emit_16(297);
+emit_16(231);
+emit_16(297);
+emit_16(230);
+emit_16(297);
+emit_16(231);
+emit_16(298);
+emit_16(232);
+emit_16(298);
+emit_16(231);
+emit_16(298);
+emit_16(232);
+emit_16(299);
+emit_16(233);
+emit_16(299);
+emit_16(232);
+emit_16(299);
+emit_16(233);
+emit_16(300);
+emit_16(234);
+emit_16(300);
+emit_16(233);
+emit_16(300);
+emit_16(234);
+emit_16(301);
+emit_16(235);
+emit_16(301);
+emit_16(234);
+emit_16(301);
+emit_16(235);
+emit_16(302);
+emit_16(236);
+emit_16(302);
+emit_16(235);
+emit_16(302);
+emit_16(236);
+emit_16(303);
+emit_16(237);
+emit_16(303);
+emit_16(236);
+emit_16(303);
+emit_16(237);
+emit_16(304);
+emit_16(238);
+emit_16(304);
+emit_16(237);
+emit_16(304);
+emit_16(238);
+emit_16(305);
+emit_16(239);
+emit_16(305);
+emit_16(238);
+emit_16(305);
+emit_16(239);
+emit_16(306);
+emit_16(240);
+emit_16(306);
+emit_16(239);
+emit_16(306);
+emit_16(240);
+emit_16(307);
+emit_16(241);
+emit_16(307);
+emit_16(240);
+emit_16(307);
+emit_16(241);
+emit_16(308);
+emit_16(242);
+emit_16(308);
+emit_16(241);
+emit_16(308);
+emit_16(242);
+emit_16(309);
+emit_16(243);
+emit_16(309);
+emit_16(242);
+emit_16(309);
+emit_16(243);
+emit_16(310);
+emit_16(244);
+emit_16(310);
+emit_16(243);
+emit_16(310);
+emit_16(244);
+emit_16(311);
+emit_16(245);
+emit_16(311);
+emit_16(244);
+emit_16(311);
+emit_16(245);
+emit_16(312);
+emit_16(246);
+emit_16(312);
+emit_16(245);
+emit_16(312);
+emit_16(246);
+emit_16(313);
+emit_16(247);
+emit_16(313);
+emit_16(246);
+emit_16(313);
+emit_16(247);
+emit_16(314);
+emit_16(248);
+emit_16(314);
+emit_16(247);
+emit_16(314);
+emit_16(248);
+emit_16(315);
+emit_16(249);
+emit_16(315);
+emit_16(248);
+emit_16(315);
+emit_16(249);
+emit_16(316);
+emit_16(250);
+emit_16(316);
+emit_16(249);
+emit_16(316);
+emit_16(250);
+emit_16(317);
+emit_16(251);
+emit_16(317);
+emit_16(250);
+emit_16(317);
+emit_16(251);
+emit_16(318);
+emit_16(252);
+emit_16(318);
+emit_16(251);
+emit_16(318);
+emit_16(252);
+emit_16(319);
+emit_16(253);
+emit_16(319);
+emit_16(252);
+emit_16(319);
+emit_16(253);
+emit_16(320);
+emit_16(254);
+emit_16(320);
+emit_16(253);
+emit_16(320);
+emit_16(254);
+emit_16(321);
+emit_16(255);
+emit_16(321);
+emit_16(254);
+emit_16(321);
+emit_16(255);
+emit_16(322);
+emit_16(256);
+emit_16(322);
+emit_16(255);
+emit_16(322);
+emit_16(256);
+emit_16(323);
+emit_16(257);
+emit_16(323);
+emit_16(256);
+emit_16(323);
+emit_16(257);
+emit_16(324);
+emit_16(258);
+emit_16(324);
+emit_16(257);
+emit_16(324);
+emit_16(258);
+emit_16(325);
+emit_16(259);
+emit_16(325);
+emit_16(258);
+emit_16(325);
+emit_16(259);
+emit_16(326);
+emit_16(260);
+emit_16(326);
+emit_16(259);
+emit_16(326);
+emit_16(260);
+emit_16(327);
+emit_16(261);
+emit_16(327);
+emit_16(260);
+emit_16(327);
+emit_16(261);
+emit_16(328);
+emit_16(262);
+emit_16(328);
+emit_16(261);
+emit_16(328);
+emit_16(262);
+emit_16(329);
+emit_16(263);
+emit_16(329);
+emit_16(262);
+emit_16(330);
+emit_16(264);
+emit_16(331);
+emit_16(265);
+emit_16(331);
+emit_16(264);
+emit_16(331);
+emit_16(265);
+emit_16(332);
+emit_16(266);
+emit_16(332);
+emit_16(265);
+emit_16(332);
+emit_16(266);
+emit_16(333);
+emit_16(267);
+emit_16(333);
+emit_16(266);
+emit_16(333);
+emit_16(267);
+emit_16(334);
+emit_16(268);
+emit_16(334);
+emit_16(267);
+emit_16(334);
+emit_16(268);
+emit_16(335);
+emit_16(269);
+emit_16(335);
+emit_16(268);
+emit_16(335);
+emit_16(269);
+emit_16(336);
+emit_16(270);
+emit_16(336);
+emit_16(269);
+emit_16(336);
+emit_16(270);
+emit_16(337);
+emit_16(271);
+emit_16(337);
+emit_16(270);
+emit_16(337);
+emit_16(271);
+emit_16(338);
+emit_16(272);
+emit_16(338);
+emit_16(271);
+emit_16(338);
+emit_16(272);
+emit_16(339);
+emit_16(273);
+emit_16(339);
+emit_16(272);
+emit_16(339);
+emit_16(273);
+emit_16(340);
+emit_16(274);
+emit_16(340);
+emit_16(273);
+emit_16(340);
+emit_16(274);
+emit_16(341);
+emit_16(275);
+emit_16(341);
+emit_16(274);
+emit_16(341);
+emit_16(275);
+emit_16(342);
+emit_16(276);
+emit_16(342);
+emit_16(275);
+emit_16(342);
+emit_16(276);
+emit_16(343);
+emit_16(277);
+emit_16(343);
+emit_16(276);
+emit_16(343);
+emit_16(277);
+emit_16(344);
+emit_16(278);
+emit_16(344);
+emit_16(277);
+emit_16(344);
+emit_16(278);
+emit_16(345);
+emit_16(279);
+emit_16(345);
+emit_16(278);
+emit_16(345);
+emit_16(279);
+emit_16(346);
+emit_16(280);
+emit_16(346);
+emit_16(279);
+emit_16(346);
+emit_16(280);
+emit_16(347);
+emit_16(281);
+emit_16(347);
+emit_16(280);
+emit_16(347);
+emit_16(281);
+emit_16(348);
+emit_16(282);
+emit_16(348);
+emit_16(281);
+emit_16(348);
+emit_16(282);
+emit_16(349);
+emit_16(283);
+emit_16(349);
+emit_16(282);
+emit_16(349);
+emit_16(283);
+emit_16(350);
+emit_16(284);
+emit_16(350);
+emit_16(283);
+emit_16(350);
+emit_16(284);
+emit_16(351);
+emit_16(285);
+emit_16(351);
+emit_16(284);
+emit_16(351);
+emit_16(285);
+emit_16(352);
+emit_16(286);
+emit_16(352);
+emit_16(285);
+emit_16(352);
+emit_16(286);
+emit_16(353);
+emit_16(287);
+emit_16(353);
+emit_16(286);
+emit_16(353);
+emit_16(287);
+emit_16(354);
+emit_16(288);
+emit_16(354);
+emit_16(287);
+emit_16(354);
+emit_16(288);
+emit_16(355);
+emit_16(289);
+emit_16(355);
+emit_16(288);
+emit_16(355);
+emit_16(289);
+emit_16(356);
+emit_16(290);
+emit_16(356);
+emit_16(289);
+emit_16(356);
+emit_16(290);
+emit_16(357);
+emit_16(291);
+emit_16(357);
+emit_16(290);
+emit_16(357);
+emit_16(291);
+emit_16(358);
+emit_16(292);
+emit_16(358);
+emit_16(291);
+emit_16(358);
+emit_16(292);
+emit_16(359);
+emit_16(293);
+emit_16(359);
+emit_16(292);
+emit_16(359);
+emit_16(293);
+emit_16(360);
+emit_16(294);
+emit_16(360);
+emit_16(293);
+emit_16(360);
+emit_16(294);
+emit_16(361);
+emit_16(295);
+emit_16(361);
+emit_16(294);
+emit_16(361);
+emit_16(295);
+emit_16(362);
+emit_16(296);
+emit_16(362);
+emit_16(295);
+emit_16(362);
+emit_16(296);
+emit_16(363);
+emit_16(297);
+emit_16(363);
+emit_16(296);
+emit_16(363);
+emit_16(297);
+emit_16(364);
+emit_16(298);
+emit_16(364);
+emit_16(297);
+emit_16(364);
+emit_16(298);
+emit_16(365);
+emit_16(299);
+emit_16(365);
+emit_16(298);
+emit_16(365);
+emit_16(299);
+emit_16(366);
+emit_16(300);
+emit_16(366);
+emit_16(299);
+emit_16(366);
+emit_16(300);
+emit_16(367);
+emit_16(301);
+emit_16(367);
+emit_16(300);
+emit_16(367);
+emit_16(301);
+emit_16(368);
+emit_16(302);
+emit_16(368);
+emit_16(301);
+emit_16(368);
+emit_16(302);
+emit_16(369);
+emit_16(303);
+emit_16(369);
+emit_16(302);
+emit_16(369);
+emit_16(303);
+emit_16(370);
+emit_16(304);
+emit_16(370);
+emit_16(303);
+emit_16(370);
+emit_16(304);
+emit_16(371);
+emit_16(305);
+emit_16(371);
+emit_16(304);
+emit_16(371);
+emit_16(305);
+emit_16(372);
+emit_16(306);
+emit_16(372);
+emit_16(305);
+emit_16(372);
+emit_16(306);
+emit_16(373);
+emit_16(307);
+emit_16(373);
+emit_16(306);
+emit_16(373);
+emit_16(307);
+emit_16(374);
+emit_16(308);
+emit_16(374);
+emit_16(307);
+emit_16(374);
+emit_16(308);
+emit_16(375);
+emit_16(309);
+emit_16(375);
+emit_16(308);
+emit_16(375);
+emit_16(309);
+emit_16(376);
+emit_16(310);
+emit_16(376);
+emit_16(309);
+emit_16(376);
+emit_16(310);
+emit_16(377);
+emit_16(311);
+emit_16(377);
+emit_16(310);
+emit_16(377);
+emit_16(311);
+emit_16(378);
+emit_16(312);
+emit_16(378);
+emit_16(311);
+emit_16(378);
+emit_16(312);
+emit_16(379);
+emit_16(313);
+emit_16(379);
+emit_16(312);
+emit_16(379);
+emit_16(313);
+emit_16(380);
+emit_16(314);
+emit_16(380);
+emit_16(313);
+emit_16(380);
+emit_16(314);
+emit_16(381);
+emit_16(315);
+emit_16(381);
+emit_16(314);
+emit_16(381);
+emit_16(315);
+emit_16(382);
+emit_16(316);
+emit_16(382);
+emit_16(315);
+emit_16(382);
+emit_16(316);
+emit_16(383);
+emit_16(317);
+emit_16(383);
+emit_16(316);
+emit_16(383);
+emit_16(317);
+emit_16(384);
+emit_16(318);
+emit_16(384);
+emit_16(317);
+emit_16(384);
+emit_16(318);
+emit_16(385);
+emit_16(319);
+emit_16(385);
+emit_16(318);
+emit_16(385);
+emit_16(319);
+emit_16(386);
+emit_16(320);
+emit_16(386);
+emit_16(319);
+emit_16(386);
+emit_16(320);
+emit_16(387);
+emit_16(321);
+emit_16(387);
+emit_16(320);
+emit_16(387);
+emit_16(321);
+emit_16(388);
+emit_16(322);
+emit_16(388);
+emit_16(321);
+emit_16(388);
+emit_16(322);
+emit_16(389);
+emit_16(323);
+emit_16(389);
+emit_16(322);
+emit_16(389);
+emit_16(323);
+emit_16(390);
+emit_16(324);
+emit_16(390);
+emit_16(323);
+emit_16(390);
+emit_16(324);
+emit_16(391);
+emit_16(325);
+emit_16(391);
+emit_16(324);
+emit_16(391);
+emit_16(325);
+emit_16(392);
+emit_16(326);
+emit_16(392);
+emit_16(325);
+emit_16(392);
+emit_16(326);
+emit_16(393);
+emit_16(327);
+emit_16(393);
+emit_16(326);
+emit_16(393);
+emit_16(327);
+emit_16(394);
+emit_16(328);
+emit_16(394);
+emit_16(327);
+emit_16(394);
+emit_16(328);
+emit_16(395);
+emit_16(329);
+emit_16(395);
+emit_16(328);
+emit_16(396);
+emit_16(330);
+emit_16(397);
+emit_16(331);
+emit_16(397);
+emit_16(330);
+emit_16(397);
+emit_16(331);
+emit_16(398);
+emit_16(332);
+emit_16(398);
+emit_16(331);
+emit_16(398);
+emit_16(332);
+emit_16(399);
+emit_16(333);
+emit_16(399);
+emit_16(332);
+emit_16(399);
+emit_16(333);
+emit_16(400);
+emit_16(334);
+emit_16(400);
+emit_16(333);
+emit_16(400);
+emit_16(334);
+emit_16(401);
+emit_16(335);
+emit_16(401);
+emit_16(334);
+emit_16(401);
+emit_16(335);
+emit_16(402);
+emit_16(336);
+emit_16(402);
+emit_16(335);
+emit_16(402);
+emit_16(336);
+emit_16(403);
+emit_16(337);
+emit_16(403);
+emit_16(336);
+emit_16(403);
+emit_16(337);
+emit_16(404);
+emit_16(338);
+emit_16(404);
+emit_16(337);
+emit_16(404);
+emit_16(338);
+emit_16(405);
+emit_16(339);
+emit_16(405);
+emit_16(338);
+emit_16(405);
+emit_16(339);
+emit_16(406);
+emit_16(340);
+emit_16(406);
+emit_16(339);
+emit_16(406);
+emit_16(340);
+emit_16(407);
+emit_16(341);
+emit_16(407);
+emit_16(340);
+emit_16(407);
+emit_16(341);
+emit_16(408);
+emit_16(342);
+emit_16(408);
+emit_16(341);
+emit_16(408);
+emit_16(342);
+emit_16(409);
+emit_16(343);
+emit_16(409);
+emit_16(342);
+emit_16(409);
+emit_16(343);
+emit_16(410);
+emit_16(344);
+emit_16(410);
+emit_16(343);
+emit_16(410);
+emit_16(344);
+emit_16(411);
+emit_16(345);
+emit_16(411);
+emit_16(344);
+emit_16(411);
+emit_16(345);
+emit_16(412);
+emit_16(346);
+emit_16(412);
+emit_16(345);
+emit_16(412);
+emit_16(346);
+emit_16(413);
+emit_16(347);
+emit_16(413);
+emit_16(346);
+emit_16(413);
+emit_16(347);
+emit_16(414);
+emit_16(348);
+emit_16(414);
+emit_16(347);
+emit_16(414);
+emit_16(348);
+emit_16(415);
+emit_16(349);
+emit_16(415);
+emit_16(348);
+emit_16(415);
+emit_16(349);
+emit_16(416);
+emit_16(350);
+emit_16(416);
+emit_16(349);
+emit_16(416);
+emit_16(350);
+emit_16(417);
+emit_16(351);
+emit_16(417);
+emit_16(350);
+emit_16(417);
+emit_16(351);
+emit_16(418);
+emit_16(352);
+emit_16(418);
+emit_16(351);
+emit_16(418);
+emit_16(352);
+emit_16(419);
+emit_16(353);
+emit_16(419);
+emit_16(352);
+emit_16(419);
+emit_16(353);
+emit_16(420);
+emit_16(354);
+emit_16(420);
+emit_16(353);
+emit_16(420);
+emit_16(354);
+emit_16(421);
+emit_16(355);
+emit_16(421);
+emit_16(354);
+emit_16(421);
+emit_16(355);
+emit_16(422);
+emit_16(356);
+emit_16(422);
+emit_16(355);
+emit_16(422);
+emit_16(356);
+emit_16(423);
+emit_16(357);
+emit_16(423);
+emit_16(356);
+emit_16(423);
+emit_16(357);
+emit_16(424);
+emit_16(358);
+emit_16(424);
+emit_16(357);
+emit_16(424);
+emit_16(358);
+emit_16(425);
+emit_16(359);
+emit_16(425);
+emit_16(358);
+emit_16(425);
+emit_16(359);
+emit_16(426);
+emit_16(360);
+emit_16(426);
+emit_16(359);
+emit_16(426);
+emit_16(360);
+emit_16(427);
+emit_16(361);
+emit_16(427);
+emit_16(360);
+emit_16(427);
+emit_16(361);
+emit_16(428);
+emit_16(362);
+emit_16(428);
+emit_16(361);
+emit_16(428);
+emit_16(362);
+emit_16(429);
+emit_16(363);
+emit_16(429);
+emit_16(362);
+emit_16(429);
+emit_16(363);
+emit_16(430);
+emit_16(364);
+emit_16(430);
+emit_16(363);
+emit_16(430);
+emit_16(364);
+emit_16(431);
+emit_16(365);
+emit_16(431);
+emit_16(364);
+emit_16(431);
+emit_16(365);
+emit_16(432);
+emit_16(366);
+emit_16(432);
+emit_16(365);
+emit_16(432);
+emit_16(366);
+emit_16(433);
+emit_16(367);
+emit_16(433);
+emit_16(366);
+emit_16(433);
+emit_16(367);
+emit_16(434);
+emit_16(368);
+emit_16(434);
+emit_16(367);
+emit_16(434);
+emit_16(368);
+emit_16(435);
+emit_16(369);
+emit_16(435);
+emit_16(368);
+emit_16(435);
+emit_16(369);
+emit_16(436);
+emit_16(370);
+emit_16(436);
+emit_16(369);
+emit_16(436);
+emit_16(370);
+emit_16(437);
+emit_16(371);
+emit_16(437);
+emit_16(370);
+emit_16(437);
+emit_16(371);
+emit_16(438);
+emit_16(372);
+emit_16(438);
+emit_16(371);
+emit_16(438);
+emit_16(372);
+emit_16(439);
+emit_16(373);
+emit_16(439);
+emit_16(372);
+emit_16(439);
+emit_16(373);
+emit_16(440);
+emit_16(374);
+emit_16(440);
+emit_16(373);
+emit_16(440);
+emit_16(374);
+emit_16(441);
+emit_16(375);
+emit_16(441);
+emit_16(374);
+emit_16(441);
+emit_16(375);
+emit_16(442);
+emit_16(376);
+emit_16(442);
+emit_16(375);
+emit_16(442);
+emit_16(376);
+emit_16(443);
+emit_16(377);
+emit_16(443);
+emit_16(376);
+emit_16(443);
+emit_16(377);
+emit_16(444);
+emit_16(378);
+emit_16(444);
+emit_16(377);
+emit_16(444);
+emit_16(378);
+emit_16(445);
+emit_16(379);
+emit_16(445);
+emit_16(378);
+emit_16(445);
+emit_16(379);
+emit_16(446);
+emit_16(380);
+emit_16(446);
+emit_16(379);
+emit_16(446);
+emit_16(380);
+emit_16(447);
+emit_16(381);
+emit_16(447);
+emit_16(380);
+emit_16(447);
+emit_16(381);
+emit_16(448);
+emit_16(382);
+emit_16(448);
+emit_16(381);
+emit_16(448);
+emit_16(382);
+emit_16(449);
+emit_16(383);
+emit_16(449);
+emit_16(382);
+emit_16(449);
+emit_16(383);
+emit_16(450);
+emit_16(384);
+emit_16(450);
+emit_16(383);
+emit_16(450);
+emit_16(384);
+emit_16(451);
+emit_16(385);
+emit_16(451);
+emit_16(384);
+emit_16(451);
+emit_16(385);
+emit_16(452);
+emit_16(386);
+emit_16(452);
+emit_16(385);
+emit_16(452);
+emit_16(386);
+emit_16(453);
+emit_16(387);
+emit_16(453);
+emit_16(386);
+emit_16(453);
+emit_16(387);
+emit_16(454);
+emit_16(388);
+emit_16(454);
+emit_16(387);
+emit_16(454);
+emit_16(388);
+emit_16(455);
+emit_16(389);
+emit_16(455);
+emit_16(388);
+emit_16(455);
+emit_16(389);
+emit_16(456);
+emit_16(390);
+emit_16(456);
+emit_16(389);
+emit_16(456);
+emit_16(390);
+emit_16(457);
+emit_16(391);
+emit_16(457);
+emit_16(390);
+emit_16(457);
+emit_16(391);
+emit_16(458);
+emit_16(392);
+emit_16(458);
+emit_16(391);
+emit_16(458);
+emit_16(392);
+emit_16(459);
+emit_16(393);
+emit_16(459);
+emit_16(392);
+emit_16(459);
+emit_16(393);
+emit_16(460);
+emit_16(394);
+emit_16(460);
+emit_16(393);
+emit_16(460);
+emit_16(394);
+emit_16(461);
+emit_16(395);
+emit_16(461);
+emit_16(394);
+emit_16(462);
+emit_16(396);
+emit_16(463);
+emit_16(397);
+emit_16(463);
+emit_16(396);
+emit_16(463);
+emit_16(397);
+emit_16(464);
+emit_16(398);
+emit_16(464);
+emit_16(397);
+emit_16(464);
+emit_16(398);
+emit_16(465);
+emit_16(399);
+emit_16(465);
+emit_16(398);
+emit_16(465);
+emit_16(399);
+emit_16(466);
+emit_16(400);
+emit_16(466);
+emit_16(399);
+emit_16(466);
+emit_16(400);
+emit_16(467);
+emit_16(401);
+emit_16(467);
+emit_16(400);
+emit_16(467);
+emit_16(401);
+emit_16(468);
+emit_16(402);
+emit_16(468);
+emit_16(401);
+emit_16(468);
+emit_16(402);
+emit_16(469);
+emit_16(403);
+emit_16(469);
+emit_16(402);
+emit_16(469);
+emit_16(403);
+emit_16(470);
+emit_16(404);
+emit_16(470);
+emit_16(403);
+emit_16(470);
+emit_16(404);
+emit_16(471);
+emit_16(405);
+emit_16(471);
+emit_16(404);
+emit_16(471);
+emit_16(405);
+emit_16(472);
+emit_16(406);
+emit_16(472);
+emit_16(405);
+emit_16(472);
+emit_16(406);
+emit_16(473);
+emit_16(407);
+emit_16(473);
+emit_16(406);
+emit_16(473);
+emit_16(407);
+emit_16(474);
+emit_16(408);
+emit_16(474);
+emit_16(407);
+emit_16(474);
+emit_16(408);
+emit_16(475);
+emit_16(409);
+emit_16(475);
+emit_16(408);
+emit_16(475);
+emit_16(409);
+emit_16(476);
+emit_16(410);
+emit_16(476);
+emit_16(409);
+emit_16(476);
+emit_16(410);
+emit_16(477);
+emit_16(411);
+emit_16(477);
+emit_16(410);
+emit_16(477);
+emit_16(411);
+emit_16(478);
+emit_16(412);
+emit_16(478);
+emit_16(411);
+emit_16(478);
+emit_16(412);
+emit_16(479);
+emit_16(413);
+emit_16(479);
+emit_16(412);
+emit_16(479);
+emit_16(413);
+emit_16(480);
+emit_16(414);
+emit_16(480);
+emit_16(413);
+emit_16(480);
+emit_16(414);
+emit_16(481);
+emit_16(415);
+emit_16(481);
+emit_16(414);
+emit_16(481);
+emit_16(415);
+emit_16(482);
+emit_16(416);
+emit_16(482);
+emit_16(415);
+emit_16(482);
+emit_16(416);
+emit_16(483);
+emit_16(417);
+emit_16(483);
+emit_16(416);
+emit_16(483);
+emit_16(417);
+emit_16(484);
+emit_16(418);
+emit_16(484);
+emit_16(417);
+emit_16(484);
+emit_16(418);
+emit_16(485);
+emit_16(419);
+emit_16(485);
+emit_16(418);
+emit_16(485);
+emit_16(419);
+emit_16(486);
+emit_16(420);
+emit_16(486);
+emit_16(419);
+emit_16(486);
+emit_16(420);
+emit_16(487);
+emit_16(421);
+emit_16(487);
+emit_16(420);
+emit_16(487);
+emit_16(421);
+emit_16(488);
+emit_16(422);
+emit_16(488);
+emit_16(421);
+emit_16(488);
+emit_16(422);
+emit_16(489);
+emit_16(423);
+emit_16(489);
+emit_16(422);
+emit_16(489);
+emit_16(423);
+emit_16(490);
+emit_16(424);
+emit_16(490);
+emit_16(423);
+emit_16(490);
+emit_16(424);
+emit_16(491);
+emit_16(425);
+emit_16(491);
+emit_16(424);
+emit_16(491);
+emit_16(425);
+emit_16(492);
+emit_16(426);
+emit_16(492);
+emit_16(425);
+emit_16(492);
+emit_16(426);
+emit_16(493);
+emit_16(427);
+emit_16(493);
+emit_16(426);
+emit_16(493);
+emit_16(427);
+emit_16(494);
+emit_16(428);
+emit_16(494);
+emit_16(427);
+emit_16(494);
+emit_16(428);
+emit_16(495);
+emit_16(429);
+emit_16(495);
+emit_16(428);
+emit_16(495);
+emit_16(429);
+emit_16(496);
+emit_16(430);
+emit_16(496);
+emit_16(429);
+emit_16(496);
+emit_16(430);
+emit_16(497);
+emit_16(431);
+emit_16(497);
+emit_16(430);
+emit_16(497);
+emit_16(431);
+emit_16(498);
+emit_16(432);
+emit_16(498);
+emit_16(431);
+emit_16(498);
+emit_16(432);
+emit_16(499);
+emit_16(433);
+emit_16(499);
+emit_16(432);
+emit_16(499);
+emit_16(433);
+emit_16(500);
+emit_16(434);
+emit_16(500);
+emit_16(433);
+emit_16(500);
+emit_16(434);
+emit_16(501);
+emit_16(435);
+emit_16(501);
+emit_16(434);
+emit_16(501);
+emit_16(435);
+emit_16(502);
+emit_16(436);
+emit_16(502);
+emit_16(435);
+emit_16(502);
+emit_16(436);
+emit_16(503);
+emit_16(437);
+emit_16(503);
+emit_16(436);
+emit_16(503);
+emit_16(437);
+emit_16(504);
+emit_16(438);
+emit_16(504);
+emit_16(437);
+emit_16(504);
+emit_16(438);
+emit_16(505);
+emit_16(439);
+emit_16(505);
+emit_16(438);
+emit_16(505);
+emit_16(439);
+emit_16(506);
+emit_16(440);
+emit_16(506);
+emit_16(439);
+emit_16(506);
+emit_16(440);
+emit_16(507);
+emit_16(441);
+emit_16(507);
+emit_16(440);
+emit_16(507);
+emit_16(441);
+emit_16(508);
+emit_16(442);
+emit_16(508);
+emit_16(441);
+emit_16(508);
+emit_16(442);
+emit_16(509);
+emit_16(443);
+emit_16(509);
+emit_16(442);
+emit_16(509);
+emit_16(443);
+emit_16(510);
+emit_16(444);
+emit_16(510);
+emit_16(443);
+emit_16(510);
+emit_16(444);
+emit_16(511);
+emit_16(445);
+emit_16(511);
+emit_16(444);
+emit_16(511);
+emit_16(445);
+emit_16(512);
+emit_16(446);
+emit_16(512);
+emit_16(445);
+emit_16(512);
+emit_16(446);
+emit_16(513);
+emit_16(447);
+emit_16(513);
+emit_16(446);
+emit_16(513);
+emit_16(447);
+emit_16(514);
+emit_16(448);
+emit_16(514);
+emit_16(447);
+emit_16(514);
+emit_16(448);
+emit_16(515);
+emit_16(449);
+emit_16(515);
+emit_16(448);
+emit_16(515);
+emit_16(449);
+emit_16(516);
+emit_16(450);
+emit_16(516);
+emit_16(449);
+emit_16(516);
+emit_16(450);
+emit_16(517);
+emit_16(451);
+emit_16(517);
+emit_16(450);
+emit_16(517);
+emit_16(451);
+emit_16(518);
+emit_16(452);
+emit_16(518);
+emit_16(451);
+emit_16(518);
+emit_16(452);
+emit_16(519);
+emit_16(453);
+emit_16(519);
+emit_16(452);
+emit_16(519);
+emit_16(453);
+emit_16(520);
+emit_16(454);
+emit_16(520);
+emit_16(453);
+emit_16(520);
+emit_16(454);
+emit_16(521);
+emit_16(455);
+emit_16(521);
+emit_16(454);
+emit_16(521);
+emit_16(455);
+emit_16(522);
+emit_16(456);
+emit_16(522);
+emit_16(455);
+emit_16(522);
+emit_16(456);
+emit_16(523);
+emit_16(457);
+emit_16(523);
+emit_16(456);
+emit_16(523);
+emit_16(457);
+emit_16(524);
+emit_16(458);
+emit_16(524);
+emit_16(457);
+emit_16(524);
+emit_16(458);
+emit_16(525);
+emit_16(459);
+emit_16(525);
+emit_16(458);
+emit_16(525);
+emit_16(459);
+emit_16(526);
+emit_16(460);
+emit_16(526);
+emit_16(459);
+emit_16(526);
+emit_16(460);
+emit_16(527);
+emit_16(461);
+emit_16(527);
+emit_16(460);
+emit_16(528);
+emit_16(462);
+emit_16(529);
+emit_16(463);
+emit_16(529);
+emit_16(462);
+emit_16(529);
+emit_16(463);
+emit_16(530);
+emit_16(464);
+emit_16(530);
+emit_16(463);
+emit_16(530);
+emit_16(464);
+emit_16(531);
+emit_16(465);
+emit_16(531);
+emit_16(464);
+emit_16(531);
+emit_16(465);
+emit_16(532);
+emit_16(466);
+emit_16(532);
+emit_16(465);
+emit_16(532);
+emit_16(466);
+emit_16(533);
+emit_16(467);
+emit_16(533);
+emit_16(466);
+emit_16(533);
+emit_16(467);
+emit_16(534);
+emit_16(468);
+emit_16(534);
+emit_16(467);
+emit_16(534);
+emit_16(468);
+emit_16(535);
+emit_16(469);
+emit_16(535);
+emit_16(468);
+emit_16(535);
+emit_16(469);
+emit_16(536);
+emit_16(470);
+emit_16(536);
+emit_16(469);
+emit_16(536);
+emit_16(470);
+emit_16(537);
+emit_16(471);
+emit_16(537);
+emit_16(470);
+emit_16(537);
+emit_16(471);
+emit_16(538);
+emit_16(472);
+emit_16(538);
+emit_16(471);
+emit_16(538);
+emit_16(472);
+emit_16(539);
+emit_16(473);
+emit_16(539);
+emit_16(472);
+emit_16(539);
+emit_16(473);
+emit_16(540);
+emit_16(474);
+emit_16(540);
+emit_16(473);
+emit_16(540);
+emit_16(474);
+emit_16(541);
+emit_16(475);
+emit_16(541);
+emit_16(474);
+emit_16(541);
+emit_16(475);
+emit_16(542);
+emit_16(476);
+emit_16(542);
+emit_16(475);
+emit_16(542);
+emit_16(476);
+emit_16(543);
+emit_16(477);
+emit_16(543);
+emit_16(476);
+emit_16(543);
+emit_16(477);
+emit_16(544);
+emit_16(478);
+emit_16(544);
+emit_16(477);
+emit_16(544);
+emit_16(478);
+emit_16(545);
+emit_16(479);
+emit_16(545);
+emit_16(478);
+emit_16(545);
+emit_16(479);
+emit_16(546);
+emit_16(480);
+emit_16(546);
+emit_16(479);
+emit_16(546);
+emit_16(480);
+emit_16(547);
+emit_16(481);
+emit_16(547);
+emit_16(480);
+emit_16(547);
+emit_16(481);
+emit_16(548);
+emit_16(482);
+emit_16(548);
+emit_16(481);
+emit_16(548);
+emit_16(482);
+emit_16(549);
+emit_16(483);
+emit_16(549);
+emit_16(482);
+emit_16(549);
+emit_16(483);
+emit_16(550);
+emit_16(484);
+emit_16(550);
+emit_16(483);
+emit_16(550);
+emit_16(484);
+emit_16(551);
+emit_16(485);
+emit_16(551);
+emit_16(484);
+emit_16(551);
+emit_16(485);
+emit_16(552);
+emit_16(486);
+emit_16(552);
+emit_16(485);
+emit_16(552);
+emit_16(486);
+emit_16(553);
+emit_16(487);
+emit_16(553);
+emit_16(486);
+emit_16(553);
+emit_16(487);
+emit_16(554);
+emit_16(488);
+emit_16(554);
+emit_16(487);
+emit_16(554);
+emit_16(488);
+emit_16(555);
+emit_16(489);
+emit_16(555);
+emit_16(488);
+emit_16(555);
+emit_16(489);
+emit_16(556);
+emit_16(490);
+emit_16(556);
+emit_16(489);
+emit_16(556);
+emit_16(490);
+emit_16(557);
+emit_16(491);
+emit_16(557);
+emit_16(490);
+emit_16(557);
+emit_16(491);
+emit_16(558);
+emit_16(492);
+emit_16(558);
+emit_16(491);
+emit_16(558);
+emit_16(492);
+emit_16(559);
+emit_16(493);
+emit_16(559);
+emit_16(492);
+emit_16(559);
+emit_16(493);
+emit_16(560);
+emit_16(494);
+emit_16(560);
+emit_16(493);
+emit_16(560);
+emit_16(494);
+emit_16(561);
+emit_16(495);
+emit_16(561);
+emit_16(494);
+emit_16(561);
+emit_16(495);
+emit_16(562);
+emit_16(496);
+emit_16(562);
+emit_16(495);
+emit_16(562);
+emit_16(496);
+emit_16(563);
+emit_16(497);
+emit_16(563);
+emit_16(496);
+emit_16(563);
+emit_16(497);
+emit_16(564);
+emit_16(498);
+emit_16(564);
+emit_16(497);
+emit_16(564);
+emit_16(498);
+emit_16(565);
+emit_16(499);
+emit_16(565);
+emit_16(498);
+emit_16(565);
+emit_16(499);
+emit_16(566);
+emit_16(500);
+emit_16(566);
+emit_16(499);
+emit_16(566);
+emit_16(500);
+emit_16(567);
+emit_16(501);
+emit_16(567);
+emit_16(500);
+emit_16(567);
+emit_16(501);
+emit_16(568);
+emit_16(502);
+emit_16(568);
+emit_16(501);
+emit_16(568);
+emit_16(502);
+emit_16(569);
+emit_16(503);
+emit_16(569);
+emit_16(502);
+emit_16(569);
+emit_16(503);
+emit_16(570);
+emit_16(504);
+emit_16(570);
+emit_16(503);
+emit_16(570);
+emit_16(504);
+emit_16(571);
+emit_16(505);
+emit_16(571);
+emit_16(504);
+emit_16(571);
+emit_16(505);
+emit_16(572);
+emit_16(506);
+emit_16(572);
+emit_16(505);
+emit_16(572);
+emit_16(506);
+emit_16(573);
+emit_16(507);
+emit_16(573);
+emit_16(506);
+emit_16(573);
+emit_16(507);
+emit_16(574);
+emit_16(508);
+emit_16(574);
+emit_16(507);
+emit_16(574);
+emit_16(508);
+emit_16(575);
+emit_16(509);
+emit_16(575);
+emit_16(508);
+emit_16(575);
+emit_16(509);
+emit_16(576);
+emit_16(510);
+emit_16(576);
+emit_16(509);
+emit_16(576);
+emit_16(510);
+emit_16(577);
+emit_16(511);
+emit_16(577);
+emit_16(510);
+emit_16(577);
+emit_16(511);
+emit_16(578);
+emit_16(512);
+emit_16(578);
+emit_16(511);
+emit_16(578);
+emit_16(512);
+emit_16(579);
+emit_16(513);
+emit_16(579);
+emit_16(512);
+emit_16(579);
+emit_16(513);
+emit_16(580);
+emit_16(514);
+emit_16(580);
+emit_16(513);
+emit_16(580);
+emit_16(514);
+emit_16(581);
+emit_16(515);
+emit_16(581);
+emit_16(514);
+emit_16(581);
+emit_16(515);
+emit_16(582);
+emit_16(516);
+emit_16(582);
+emit_16(515);
+emit_16(582);
+emit_16(516);
+emit_16(583);
+emit_16(517);
+emit_16(583);
+emit_16(516);
+emit_16(583);
+emit_16(517);
+emit_16(584);
+emit_16(518);
+emit_16(584);
+emit_16(517);
+emit_16(584);
+emit_16(518);
+emit_16(585);
+emit_16(519);
+emit_16(585);
+emit_16(518);
+emit_16(585);
+emit_16(519);
+emit_16(586);
+emit_16(520);
+emit_16(586);
+emit_16(519);
+emit_16(586);
+emit_16(520);
+emit_16(587);
+emit_16(521);
+emit_16(587);
+emit_16(520);
+emit_16(587);
+emit_16(521);
+emit_16(588);
+emit_16(522);
+emit_16(588);
+emit_16(521);
+emit_16(588);
+emit_16(522);
+emit_16(589);
+emit_16(523);
+emit_16(589);
+emit_16(522);
+emit_16(589);
+emit_16(523);
+emit_16(590);
+emit_16(524);
+emit_16(590);
+emit_16(523);
+emit_16(590);
+emit_16(524);
+emit_16(591);
+emit_16(525);
+emit_16(591);
+emit_16(524);
+emit_16(591);
+emit_16(525);
+emit_16(592);
+emit_16(526);
+emit_16(592);
+emit_16(525);
+emit_16(592);
+emit_16(526);
+emit_16(593);
+emit_16(527);
+emit_16(593);
+emit_16(526);
+emit_16(594);
+emit_16(528);
+emit_16(595);
+emit_16(529);
+emit_16(595);
+emit_16(528);
+emit_16(595);
+emit_16(529);
+emit_16(596);
+emit_16(530);
+emit_16(596);
+emit_16(529);
+emit_16(596);
+emit_16(530);
+emit_16(597);
+emit_16(531);
+emit_16(597);
+emit_16(530);
+emit_16(597);
+emit_16(531);
+emit_16(598);
+emit_16(532);
+emit_16(598);
+emit_16(531);
+emit_16(598);
+emit_16(532);
+emit_16(599);
+emit_16(533);
+emit_16(599);
+emit_16(532);
+emit_16(599);
+emit_16(533);
+emit_16(600);
+emit_16(534);
+emit_16(600);
+emit_16(533);
+emit_16(600);
+emit_16(534);
+emit_16(601);
+emit_16(535);
+emit_16(601);
+emit_16(534);
+emit_16(601);
+emit_16(535);
+emit_16(602);
+emit_16(536);
+emit_16(602);
+emit_16(535);
+emit_16(602);
+emit_16(536);
+emit_16(603);
+emit_16(537);
+emit_16(603);
+emit_16(536);
+emit_16(603);
+emit_16(537);
+emit_16(604);
+emit_16(538);
+emit_16(604);
+emit_16(537);
+emit_16(604);
+emit_16(538);
+emit_16(605);
+emit_16(539);
+emit_16(605);
+emit_16(538);
+emit_16(605);
+emit_16(539);
+emit_16(606);
+emit_16(540);
+emit_16(606);
+emit_16(539);
+emit_16(606);
+emit_16(540);
+emit_16(607);
+emit_16(541);
+emit_16(607);
+emit_16(540);
+emit_16(607);
+emit_16(541);
+emit_16(608);
+emit_16(542);
+emit_16(608);
+emit_16(541);
+emit_16(608);
+emit_16(542);
+emit_16(609);
+emit_16(543);
+emit_16(609);
+emit_16(542);
+emit_16(609);
+emit_16(543);
+emit_16(610);
+emit_16(544);
+emit_16(610);
+emit_16(543);
+emit_16(610);
+emit_16(544);
+emit_16(611);
+emit_16(545);
+emit_16(611);
+emit_16(544);
+emit_16(611);
+emit_16(545);
+emit_16(612);
+emit_16(546);
+emit_16(612);
+emit_16(545);
+emit_16(612);
+emit_16(546);
+emit_16(613);
+emit_16(547);
+emit_16(613);
+emit_16(546);
+emit_16(613);
+emit_16(547);
+emit_16(614);
+emit_16(548);
+emit_16(614);
+emit_16(547);
+emit_16(614);
+emit_16(548);
+emit_16(615);
+emit_16(549);
+emit_16(615);
+emit_16(548);
+emit_16(615);
+emit_16(549);
+emit_16(616);
+emit_16(550);
+emit_16(616);
+emit_16(549);
+emit_16(616);
+emit_16(550);
+emit_16(617);
+emit_16(551);
+emit_16(617);
+emit_16(550);
+emit_16(617);
+emit_16(551);
+emit_16(618);
+emit_16(552);
+emit_16(618);
+emit_16(551);
+emit_16(618);
+emit_16(552);
+emit_16(619);
+emit_16(553);
+emit_16(619);
+emit_16(552);
+emit_16(619);
+emit_16(553);
+emit_16(620);
+emit_16(554);
+emit_16(620);
+emit_16(553);
+emit_16(620);
+emit_16(554);
+emit_16(621);
+emit_16(555);
+emit_16(621);
+emit_16(554);
+emit_16(621);
+emit_16(555);
+emit_16(622);
+emit_16(556);
+emit_16(622);
+emit_16(555);
+emit_16(622);
+emit_16(556);
+emit_16(623);
+emit_16(557);
+emit_16(623);
+emit_16(556);
+emit_16(623);
+emit_16(557);
+emit_16(624);
+emit_16(558);
+emit_16(624);
+emit_16(557);
+emit_16(624);
+emit_16(558);
+emit_16(625);
+emit_16(559);
+emit_16(625);
+emit_16(558);
+emit_16(625);
+emit_16(559);
+emit_16(626);
+emit_16(560);
+emit_16(626);
+emit_16(559);
+emit_16(626);
+emit_16(560);
+emit_16(627);
+emit_16(561);
+emit_16(627);
+emit_16(560);
+emit_16(627);
+emit_16(561);
+emit_16(628);
+emit_16(562);
+emit_16(628);
+emit_16(561);
+emit_16(628);
+emit_16(562);
+emit_16(629);
+emit_16(563);
+emit_16(629);
+emit_16(562);
+emit_16(629);
+emit_16(563);
+emit_16(630);
+emit_16(564);
+emit_16(630);
+emit_16(563);
+emit_16(630);
+emit_16(564);
+emit_16(631);
+emit_16(565);
+emit_16(631);
+emit_16(564);
+emit_16(631);
+emit_16(565);
+emit_16(632);
+emit_16(566);
+emit_16(632);
+emit_16(565);
+emit_16(632);
+emit_16(566);
+emit_16(633);
+emit_16(567);
+emit_16(633);
+emit_16(566);
+emit_16(633);
+emit_16(567);
+emit_16(634);
+emit_16(568);
+emit_16(634);
+emit_16(567);
+emit_16(634);
+emit_16(568);
+emit_16(635);
+emit_16(569);
+emit_16(635);
+emit_16(568);
+emit_16(635);
+emit_16(569);
+emit_16(636);
+emit_16(570);
+emit_16(636);
+emit_16(569);
+emit_16(636);
+emit_16(570);
+emit_16(637);
+emit_16(571);
+emit_16(637);
+emit_16(570);
+emit_16(637);
+emit_16(571);
+emit_16(638);
+emit_16(572);
+emit_16(638);
+emit_16(571);
+emit_16(638);
+emit_16(572);
+emit_16(639);
+emit_16(573);
+emit_16(639);
+emit_16(572);
+emit_16(639);
+emit_16(573);
+emit_16(640);
+emit_16(574);
+emit_16(640);
+emit_16(573);
+emit_16(640);
+emit_16(574);
+emit_16(641);
+emit_16(575);
+emit_16(641);
+emit_16(574);
+emit_16(641);
+emit_16(575);
+emit_16(642);
+emit_16(576);
+emit_16(642);
+emit_16(575);
+emit_16(642);
+emit_16(576);
+emit_16(643);
+emit_16(577);
+emit_16(643);
+emit_16(576);
+emit_16(643);
+emit_16(577);
+emit_16(644);
+emit_16(578);
+emit_16(644);
+emit_16(577);
+emit_16(644);
+emit_16(578);
+emit_16(645);
+emit_16(579);
+emit_16(645);
+emit_16(578);
+emit_16(645);
+emit_16(579);
+emit_16(646);
+emit_16(580);
+emit_16(646);
+emit_16(579);
+emit_16(646);
+emit_16(580);
+emit_16(647);
+emit_16(581);
+emit_16(647);
+emit_16(580);
+emit_16(647);
+emit_16(581);
+emit_16(648);
+emit_16(582);
+emit_16(648);
+emit_16(581);
+emit_16(648);
+emit_16(582);
+emit_16(649);
+emit_16(583);
+emit_16(649);
+emit_16(582);
+emit_16(649);
+emit_16(583);
+emit_16(650);
+emit_16(584);
+emit_16(650);
+emit_16(583);
+emit_16(650);
+emit_16(584);
+emit_16(651);
+emit_16(585);
+emit_16(651);
+emit_16(584);
+emit_16(651);
+emit_16(585);
+emit_16(652);
+emit_16(586);
+emit_16(652);
+emit_16(585);
+emit_16(652);
+emit_16(586);
+emit_16(653);
+emit_16(587);
+emit_16(653);
+emit_16(586);
+emit_16(653);
+emit_16(587);
+emit_16(654);
+emit_16(588);
+emit_16(654);
+emit_16(587);
+emit_16(654);
+emit_16(588);
+emit_16(655);
+emit_16(589);
+emit_16(655);
+emit_16(588);
+emit_16(655);
+emit_16(589);
+emit_16(656);
+emit_16(590);
+emit_16(656);
+emit_16(589);
+emit_16(656);
+emit_16(590);
+emit_16(657);
+emit_16(591);
+emit_16(657);
+emit_16(590);
+emit_16(657);
+emit_16(591);
+emit_16(658);
+emit_16(592);
+emit_16(658);
+emit_16(591);
+emit_16(658);
+emit_16(592);
+emit_16(659);
+emit_16(593);
+emit_16(659);
+emit_16(592);
+emit_16(660);
+emit_16(594);
+emit_16(661);
+emit_16(595);
+emit_16(661);
+emit_16(594);
+emit_16(661);
+emit_16(595);
+emit_16(662);
+emit_16(596);
+emit_16(662);
+emit_16(595);
+emit_16(662);
+emit_16(596);
+emit_16(663);
+emit_16(597);
+emit_16(663);
+emit_16(596);
+emit_16(663);
+emit_16(597);
+emit_16(664);
+emit_16(598);
+emit_16(664);
+emit_16(597);
+emit_16(664);
+emit_16(598);
+emit_16(665);
+emit_16(599);
+emit_16(665);
+emit_16(598);
+emit_16(665);
+emit_16(599);
+emit_16(666);
+emit_16(600);
+emit_16(666);
+emit_16(599);
+emit_16(666);
+emit_16(600);
+emit_16(667);
+emit_16(601);
+emit_16(667);
+emit_16(600);
+emit_16(667);
+emit_16(601);
+emit_16(668);
+emit_16(602);
+emit_16(668);
+emit_16(601);
+emit_16(668);
+emit_16(602);
+emit_16(669);
+emit_16(603);
+emit_16(669);
+emit_16(602);
+emit_16(669);
+emit_16(603);
+emit_16(670);
+emit_16(604);
+emit_16(670);
+emit_16(603);
+emit_16(670);
+emit_16(604);
+emit_16(671);
+emit_16(605);
+emit_16(671);
+emit_16(604);
+emit_16(671);
+emit_16(605);
+emit_16(672);
+emit_16(606);
+emit_16(672);
+emit_16(605);
+emit_16(672);
+emit_16(606);
+emit_16(673);
+emit_16(607);
+emit_16(673);
+emit_16(606);
+emit_16(673);
+emit_16(607);
+emit_16(674);
+emit_16(608);
+emit_16(674);
+emit_16(607);
+emit_16(674);
+emit_16(608);
+emit_16(675);
+emit_16(609);
+emit_16(675);
+emit_16(608);
+emit_16(675);
+emit_16(609);
+emit_16(676);
+emit_16(610);
+emit_16(676);
+emit_16(609);
+emit_16(676);
+emit_16(610);
+emit_16(677);
+emit_16(611);
+emit_16(677);
+emit_16(610);
+emit_16(677);
+emit_16(611);
+emit_16(678);
+emit_16(612);
+emit_16(678);
+emit_16(611);
+emit_16(678);
+emit_16(612);
+emit_16(679);
+emit_16(613);
+emit_16(679);
+emit_16(612);
+emit_16(679);
+emit_16(613);
+emit_16(680);
+emit_16(614);
+emit_16(680);
+emit_16(613);
+emit_16(680);
+emit_16(614);
+emit_16(681);
+emit_16(615);
+emit_16(681);
+emit_16(614);
+emit_16(681);
+emit_16(615);
+emit_16(682);
+emit_16(616);
+emit_16(682);
+emit_16(615);
+emit_16(682);
+emit_16(616);
+emit_16(683);
+emit_16(617);
+emit_16(683);
+emit_16(616);
+emit_16(683);
+emit_16(617);
+emit_16(684);
+emit_16(618);
+emit_16(684);
+emit_16(617);
+emit_16(684);
+emit_16(618);
+emit_16(685);
+emit_16(619);
+emit_16(685);
+emit_16(618);
+emit_16(685);
+emit_16(619);
+emit_16(686);
+emit_16(620);
+emit_16(686);
+emit_16(619);
+emit_16(686);
+emit_16(620);
+emit_16(687);
+emit_16(621);
+emit_16(687);
+emit_16(620);
+emit_16(687);
+emit_16(621);
+emit_16(688);
+emit_16(622);
+emit_16(688);
+emit_16(621);
+emit_16(688);
+emit_16(622);
+emit_16(689);
+emit_16(623);
+emit_16(689);
+emit_16(622);
+emit_16(689);
+emit_16(623);
+emit_16(690);
+emit_16(624);
+emit_16(690);
+emit_16(623);
+emit_16(690);
+emit_16(624);
+emit_16(691);
+emit_16(625);
+emit_16(691);
+emit_16(624);
+emit_16(691);
+emit_16(625);
+emit_16(692);
+emit_16(626);
+emit_16(692);
+emit_16(625);
+emit_16(692);
+emit_16(626);
+emit_16(693);
+emit_16(627);
+emit_16(693);
+emit_16(626);
+emit_16(693);
+emit_16(627);
+emit_16(694);
+emit_16(628);
+emit_16(694);
+emit_16(627);
+emit_16(694);
+emit_16(628);
+emit_16(695);
+emit_16(629);
+emit_16(695);
+emit_16(628);
+emit_16(695);
+emit_16(629);
+emit_16(696);
+emit_16(630);
+emit_16(696);
+emit_16(629);
+emit_16(696);
+emit_16(630);
+emit_16(697);
+emit_16(631);
+emit_16(697);
+emit_16(630);
+emit_16(697);
+emit_16(631);
+emit_16(698);
+emit_16(632);
+emit_16(698);
+emit_16(631);
+emit_16(698);
+emit_16(632);
+emit_16(699);
+emit_16(633);
+emit_16(699);
+emit_16(632);
+emit_16(699);
+emit_16(633);
+emit_16(700);
+emit_16(634);
+emit_16(700);
+emit_16(633);
+emit_16(700);
+emit_16(634);
+emit_16(701);
+emit_16(635);
+emit_16(701);
+emit_16(634);
+emit_16(701);
+emit_16(635);
+emit_16(702);
+emit_16(636);
+emit_16(702);
+emit_16(635);
+emit_16(702);
+emit_16(636);
+emit_16(703);
+emit_16(637);
+emit_16(703);
+emit_16(636);
+emit_16(703);
+emit_16(637);
+emit_16(704);
+emit_16(638);
+emit_16(704);
+emit_16(637);
+emit_16(704);
+emit_16(638);
+emit_16(705);
+emit_16(639);
+emit_16(705);
+emit_16(638);
+emit_16(705);
+emit_16(639);
+emit_16(706);
+emit_16(640);
+emit_16(706);
+emit_16(639);
+emit_16(706);
+emit_16(640);
+emit_16(707);
+emit_16(641);
+emit_16(707);
+emit_16(640);
+emit_16(707);
+emit_16(641);
+emit_16(708);
+emit_16(642);
+emit_16(708);
+emit_16(641);
+emit_16(708);
+emit_16(642);
+emit_16(709);
+emit_16(643);
+emit_16(709);
+emit_16(642);
+emit_16(709);
+emit_16(643);
+emit_16(710);
+emit_16(644);
+emit_16(710);
+emit_16(643);
+emit_16(710);
+emit_16(644);
+emit_16(711);
+emit_16(645);
+emit_16(711);
+emit_16(644);
+emit_16(711);
+emit_16(645);
+emit_16(712);
+emit_16(646);
+emit_16(712);
+emit_16(645);
+emit_16(712);
+emit_16(646);
+emit_16(713);
+emit_16(647);
+emit_16(713);
+emit_16(646);
+emit_16(713);
+emit_16(647);
+emit_16(714);
+emit_16(648);
+emit_16(714);
+emit_16(647);
+emit_16(714);
+emit_16(648);
+emit_16(715);
+emit_16(649);
+emit_16(715);
+emit_16(648);
+emit_16(715);
+emit_16(649);
+emit_16(716);
+emit_16(650);
+emit_16(716);
+emit_16(649);
+emit_16(716);
+emit_16(650);
+emit_16(717);
+emit_16(651);
+emit_16(717);
+emit_16(650);
+emit_16(717);
+emit_16(651);
+emit_16(718);
+emit_16(652);
+emit_16(718);
+emit_16(651);
+emit_16(718);
+emit_16(652);
+emit_16(719);
+emit_16(653);
+emit_16(719);
+emit_16(652);
+emit_16(719);
+emit_16(653);
+emit_16(720);
+emit_16(654);
+emit_16(720);
+emit_16(653);
+emit_16(720);
+emit_16(654);
+emit_16(721);
+emit_16(655);
+emit_16(721);
+emit_16(654);
+emit_16(721);
+emit_16(655);
+emit_16(722);
+emit_16(656);
+emit_16(722);
+emit_16(655);
+emit_16(722);
+emit_16(656);
+emit_16(723);
+emit_16(657);
+emit_16(723);
+emit_16(656);
+emit_16(723);
+emit_16(657);
+emit_16(724);
+emit_16(658);
+emit_16(724);
+emit_16(657);
+emit_16(724);
+emit_16(658);
+emit_16(725);
+emit_16(659);
+emit_16(725);
+emit_16(658);
+emit_16(726);
+emit_16(660);
+emit_16(727);
+emit_16(661);
+emit_16(727);
+emit_16(660);
+emit_16(727);
+emit_16(661);
+emit_16(728);
+emit_16(662);
+emit_16(728);
+emit_16(661);
+emit_16(728);
+emit_16(662);
+emit_16(729);
+emit_16(663);
+emit_16(729);
+emit_16(662);
+emit_16(729);
+emit_16(663);
+emit_16(730);
+emit_16(664);
+emit_16(730);
+emit_16(663);
+emit_16(730);
+emit_16(664);
+emit_16(731);
+emit_16(665);
+emit_16(731);
+emit_16(664);
+emit_16(731);
+emit_16(665);
+emit_16(732);
+emit_16(666);
+emit_16(732);
+emit_16(665);
+emit_16(732);
+emit_16(666);
+emit_16(733);
+emit_16(667);
+emit_16(733);
+emit_16(666);
+emit_16(733);
+emit_16(667);
+emit_16(734);
+emit_16(668);
+emit_16(734);
+emit_16(667);
+emit_16(734);
+emit_16(668);
+emit_16(735);
+emit_16(669);
+emit_16(735);
+emit_16(668);
+emit_16(735);
+emit_16(669);
+emit_16(736);
+emit_16(670);
+emit_16(736);
+emit_16(669);
+emit_16(736);
+emit_16(670);
+emit_16(737);
+emit_16(671);
+emit_16(737);
+emit_16(670);
+emit_16(737);
+emit_16(671);
+emit_16(738);
+emit_16(672);
+emit_16(738);
+emit_16(671);
+emit_16(738);
+emit_16(672);
+emit_16(739);
+emit_16(673);
+emit_16(739);
+emit_16(672);
+emit_16(739);
+emit_16(673);
+emit_16(740);
+emit_16(674);
+emit_16(740);
+emit_16(673);
+emit_16(740);
+emit_16(674);
+emit_16(741);
+emit_16(675);
+emit_16(741);
+emit_16(674);
+emit_16(741);
+emit_16(675);
+emit_16(742);
+emit_16(676);
+emit_16(742);
+emit_16(675);
+emit_16(742);
+emit_16(676);
+emit_16(743);
+emit_16(677);
+emit_16(743);
+emit_16(676);
+emit_16(743);
+emit_16(677);
+emit_16(744);
+emit_16(678);
+emit_16(744);
+emit_16(677);
+emit_16(744);
+emit_16(678);
+emit_16(745);
+emit_16(679);
+emit_16(745);
+emit_16(678);
+emit_16(745);
+emit_16(679);
+emit_16(746);
+emit_16(680);
+emit_16(746);
+emit_16(679);
+emit_16(746);
+emit_16(680);
+emit_16(747);
+emit_16(681);
+emit_16(747);
+emit_16(680);
+emit_16(747);
+emit_16(681);
+emit_16(748);
+emit_16(682);
+emit_16(748);
+emit_16(681);
+emit_16(748);
+emit_16(682);
+emit_16(749);
+emit_16(683);
+emit_16(749);
+emit_16(682);
+emit_16(749);
+emit_16(683);
+emit_16(750);
+emit_16(684);
+emit_16(750);
+emit_16(683);
+emit_16(750);
+emit_16(684);
+emit_16(751);
+emit_16(685);
+emit_16(751);
+emit_16(684);
+emit_16(751);
+emit_16(685);
+emit_16(752);
+emit_16(686);
+emit_16(752);
+emit_16(685);
+emit_16(752);
+emit_16(686);
+emit_16(753);
+emit_16(687);
+emit_16(753);
+emit_16(686);
+emit_16(753);
+emit_16(687);
+emit_16(754);
+emit_16(688);
+emit_16(754);
+emit_16(687);
+emit_16(754);
+emit_16(688);
+emit_16(755);
+emit_16(689);
+emit_16(755);
+emit_16(688);
+emit_16(755);
+emit_16(689);
+emit_16(756);
+emit_16(690);
+emit_16(756);
+emit_16(689);
+emit_16(756);
+emit_16(690);
+emit_16(757);
+emit_16(691);
+emit_16(757);
+emit_16(690);
+emit_16(757);
+emit_16(691);
+emit_16(758);
+emit_16(692);
+emit_16(758);
+emit_16(691);
+emit_16(758);
+emit_16(692);
+emit_16(759);
+emit_16(693);
+emit_16(759);
+emit_16(692);
+emit_16(759);
+emit_16(693);
+emit_16(760);
+emit_16(694);
+emit_16(760);
+emit_16(693);
+emit_16(760);
+emit_16(694);
+emit_16(761);
+emit_16(695);
+emit_16(761);
+emit_16(694);
+emit_16(761);
+emit_16(695);
+emit_16(762);
+emit_16(696);
+emit_16(762);
+emit_16(695);
+emit_16(762);
+emit_16(696);
+emit_16(763);
+emit_16(697);
+emit_16(763);
+emit_16(696);
+emit_16(763);
+emit_16(697);
+emit_16(764);
+emit_16(698);
+emit_16(764);
+emit_16(697);
+emit_16(764);
+emit_16(698);
+emit_16(765);
+emit_16(699);
+emit_16(765);
+emit_16(698);
+emit_16(765);
+emit_16(699);
+emit_16(766);
+emit_16(700);
+emit_16(766);
+emit_16(699);
+emit_16(766);
+emit_16(700);
+emit_16(767);
+emit_16(701);
+emit_16(767);
+emit_16(700);
+emit_16(767);
+emit_16(701);
+emit_16(768);
+emit_16(702);
+emit_16(768);
+emit_16(701);
+emit_16(768);
+emit_16(702);
+emit_16(769);
+emit_16(703);
+emit_16(769);
+emit_16(702);
+emit_16(769);
+emit_16(703);
+emit_16(770);
+emit_16(704);
+emit_16(770);
+emit_16(703);
+emit_16(770);
+emit_16(704);
+emit_16(771);
+emit_16(705);
+emit_16(771);
+emit_16(704);
+emit_16(771);
+emit_16(705);
+emit_16(772);
+emit_16(706);
+emit_16(772);
+emit_16(705);
+emit_16(772);
+emit_16(706);
+emit_16(773);
+emit_16(707);
+emit_16(773);
+emit_16(706);
+emit_16(773);
+emit_16(707);
+emit_16(774);
+emit_16(708);
+emit_16(774);
+emit_16(707);
+emit_16(774);
+emit_16(708);
+emit_16(775);
+emit_16(709);
+emit_16(775);
+emit_16(708);
+emit_16(775);
+emit_16(709);
+emit_16(776);
+emit_16(710);
+emit_16(776);
+emit_16(709);
+emit_16(776);
+emit_16(710);
+emit_16(777);
+emit_16(711);
+emit_16(777);
+emit_16(710);
+emit_16(777);
+emit_16(711);
+emit_16(778);
+emit_16(712);
+emit_16(778);
+emit_16(711);
+emit_16(778);
+emit_16(712);
+emit_16(779);
+emit_16(713);
+emit_16(779);
+emit_16(712);
+emit_16(779);
+emit_16(713);
+emit_16(780);
+emit_16(714);
+emit_16(780);
+emit_16(713);
+emit_16(780);
+emit_16(714);
+emit_16(781);
+emit_16(715);
+emit_16(781);
+emit_16(714);
+emit_16(781);
+emit_16(715);
+emit_16(782);
+emit_16(716);
+emit_16(782);
+emit_16(715);
+emit_16(782);
+emit_16(716);
+emit_16(783);
+emit_16(717);
+emit_16(783);
+emit_16(716);
+emit_16(783);
+emit_16(717);
+emit_16(784);
+emit_16(718);
+emit_16(784);
+emit_16(717);
+emit_16(784);
+emit_16(718);
+emit_16(785);
+emit_16(719);
+emit_16(785);
+emit_16(718);
+emit_16(785);
+emit_16(719);
+emit_16(786);
+emit_16(720);
+emit_16(786);
+emit_16(719);
+emit_16(786);
+emit_16(720);
+emit_16(787);
+emit_16(721);
+emit_16(787);
+emit_16(720);
+emit_16(787);
+emit_16(721);
+emit_16(788);
+emit_16(722);
+emit_16(788);
+emit_16(721);
+emit_16(788);
+emit_16(722);
+emit_16(789);
+emit_16(723);
+emit_16(789);
+emit_16(722);
+emit_16(789);
+emit_16(723);
+emit_16(790);
+emit_16(724);
+emit_16(790);
+emit_16(723);
+emit_16(790);
+emit_16(724);
+emit_16(791);
+emit_16(725);
+emit_16(791);
+emit_16(724);
+emit_16(792);
+emit_16(726);
+emit_16(793);
+emit_16(727);
+emit_16(793);
+emit_16(726);
+emit_16(793);
+emit_16(727);
+emit_16(794);
+emit_16(728);
+emit_16(794);
+emit_16(727);
+emit_16(794);
+emit_16(728);
+emit_16(795);
+emit_16(729);
+emit_16(795);
+emit_16(728);
+emit_16(795);
+emit_16(729);
+emit_16(796);
+emit_16(730);
+emit_16(796);
+emit_16(729);
+emit_16(796);
+emit_16(730);
+emit_16(797);
+emit_16(731);
+emit_16(797);
+emit_16(730);
+emit_16(797);
+emit_16(731);
+emit_16(798);
+emit_16(732);
+emit_16(798);
+emit_16(731);
+emit_16(798);
+emit_16(732);
+emit_16(799);
+emit_16(733);
+emit_16(799);
+emit_16(732);
+emit_16(799);
+emit_16(733);
+emit_16(800);
+emit_16(734);
+emit_16(800);
+emit_16(733);
+emit_16(800);
+emit_16(734);
+emit_16(801);
+emit_16(735);
+emit_16(801);
+emit_16(734);
+emit_16(801);
+emit_16(735);
+emit_16(802);
+emit_16(736);
+emit_16(802);
+emit_16(735);
+emit_16(802);
+emit_16(736);
+emit_16(803);
+emit_16(737);
+emit_16(803);
+emit_16(736);
+emit_16(803);
+emit_16(737);
+emit_16(804);
+emit_16(738);
+emit_16(804);
+emit_16(737);
+emit_16(804);
+emit_16(738);
+emit_16(805);
+emit_16(739);
+emit_16(805);
+emit_16(738);
+emit_16(805);
+emit_16(739);
+emit_16(806);
+emit_16(740);
+emit_16(806);
+emit_16(739);
+emit_16(806);
+emit_16(740);
+emit_16(807);
+emit_16(741);
+emit_16(807);
+emit_16(740);
+emit_16(807);
+emit_16(741);
+emit_16(808);
+emit_16(742);
+emit_16(808);
+emit_16(741);
+emit_16(808);
+emit_16(742);
+emit_16(809);
+emit_16(743);
+emit_16(809);
+emit_16(742);
+emit_16(809);
+emit_16(743);
+emit_16(810);
+emit_16(744);
+emit_16(810);
+emit_16(743);
+emit_16(810);
+emit_16(744);
+emit_16(811);
+emit_16(745);
+emit_16(811);
+emit_16(744);
+emit_16(811);
+emit_16(745);
+emit_16(812);
+emit_16(746);
+emit_16(812);
+emit_16(745);
+emit_16(812);
+emit_16(746);
+emit_16(813);
+emit_16(747);
+emit_16(813);
+emit_16(746);
+emit_16(813);
+emit_16(747);
+emit_16(814);
+emit_16(748);
+emit_16(814);
+emit_16(747);
+emit_16(814);
+emit_16(748);
+emit_16(815);
+emit_16(749);
+emit_16(815);
+emit_16(748);
+emit_16(815);
+emit_16(749);
+emit_16(816);
+emit_16(750);
+emit_16(816);
+emit_16(749);
+emit_16(816);
+emit_16(750);
+emit_16(817);
+emit_16(751);
+emit_16(817);
+emit_16(750);
+emit_16(817);
+emit_16(751);
+emit_16(818);
+emit_16(752);
+emit_16(818);
+emit_16(751);
+emit_16(818);
+emit_16(752);
+emit_16(819);
+emit_16(753);
+emit_16(819);
+emit_16(752);
+emit_16(819);
+emit_16(753);
+emit_16(820);
+emit_16(754);
+emit_16(820);
+emit_16(753);
+emit_16(820);
+emit_16(754);
+emit_16(821);
+emit_16(755);
+emit_16(821);
+emit_16(754);
+emit_16(821);
+emit_16(755);
+emit_16(822);
+emit_16(756);
+emit_16(822);
+emit_16(755);
+emit_16(822);
+emit_16(756);
+emit_16(823);
+emit_16(757);
+emit_16(823);
+emit_16(756);
+emit_16(823);
+emit_16(757);
+emit_16(824);
+emit_16(758);
+emit_16(824);
+emit_16(757);
+emit_16(824);
+emit_16(758);
+emit_16(825);
+emit_16(759);
+emit_16(825);
+emit_16(758);
+emit_16(825);
+emit_16(759);
+emit_16(826);
+emit_16(760);
+emit_16(826);
+emit_16(759);
+emit_16(826);
+emit_16(760);
+emit_16(827);
+emit_16(761);
+emit_16(827);
+emit_16(760);
+emit_16(827);
+emit_16(761);
+emit_16(828);
+emit_16(762);
+emit_16(828);
+emit_16(761);
+emit_16(828);
+emit_16(762);
+emit_16(829);
+emit_16(763);
+emit_16(829);
+emit_16(762);
+emit_16(829);
+emit_16(763);
+emit_16(830);
+emit_16(764);
+emit_16(830);
+emit_16(763);
+emit_16(830);
+emit_16(764);
+emit_16(831);
+emit_16(765);
+emit_16(831);
+emit_16(764);
+emit_16(831);
+emit_16(765);
+emit_16(832);
+emit_16(766);
+emit_16(832);
+emit_16(765);
+emit_16(832);
+emit_16(766);
+emit_16(833);
+emit_16(767);
+emit_16(833);
+emit_16(766);
+emit_16(833);
+emit_16(767);
+emit_16(834);
+emit_16(768);
+emit_16(834);
+emit_16(767);
+emit_16(834);
+emit_16(768);
+emit_16(835);
+emit_16(769);
+emit_16(835);
+emit_16(768);
+emit_16(835);
+emit_16(769);
+emit_16(836);
+emit_16(770);
+emit_16(836);
+emit_16(769);
+emit_16(836);
+emit_16(770);
+emit_16(837);
+emit_16(771);
+emit_16(837);
+emit_16(770);
+emit_16(837);
+emit_16(771);
+emit_16(838);
+emit_16(772);
+emit_16(838);
+emit_16(771);
+emit_16(838);
+emit_16(772);
+emit_16(839);
+emit_16(773);
+emit_16(839);
+emit_16(772);
+emit_16(839);
+emit_16(773);
+emit_16(840);
+emit_16(774);
+emit_16(840);
+emit_16(773);
+emit_16(840);
+emit_16(774);
+emit_16(841);
+emit_16(775);
+emit_16(841);
+emit_16(774);
+emit_16(841);
+emit_16(775);
+emit_16(842);
+emit_16(776);
+emit_16(842);
+emit_16(775);
+emit_16(842);
+emit_16(776);
+emit_16(843);
+emit_16(777);
+emit_16(843);
+emit_16(776);
+emit_16(843);
+emit_16(777);
+emit_16(844);
+emit_16(778);
+emit_16(844);
+emit_16(777);
+emit_16(844);
+emit_16(778);
+emit_16(845);
+emit_16(779);
+emit_16(845);
+emit_16(778);
+emit_16(845);
+emit_16(779);
+emit_16(846);
+emit_16(780);
+emit_16(846);
+emit_16(779);
+emit_16(846);
+emit_16(780);
+emit_16(847);
+emit_16(781);
+emit_16(847);
+emit_16(780);
+emit_16(847);
+emit_16(781);
+emit_16(848);
+emit_16(782);
+emit_16(848);
+emit_16(781);
+emit_16(848);
+emit_16(782);
+emit_16(849);
+emit_16(783);
+emit_16(849);
+emit_16(782);
+emit_16(849);
+emit_16(783);
+emit_16(850);
+emit_16(784);
+emit_16(850);
+emit_16(783);
+emit_16(850);
+emit_16(784);
+emit_16(851);
+emit_16(785);
+emit_16(851);
+emit_16(784);
+emit_16(851);
+emit_16(785);
+emit_16(852);
+emit_16(786);
+emit_16(852);
+emit_16(785);
+emit_16(852);
+emit_16(786);
+emit_16(853);
+emit_16(787);
+emit_16(853);
+emit_16(786);
+emit_16(853);
+emit_16(787);
+emit_16(854);
+emit_16(788);
+emit_16(854);
+emit_16(787);
+emit_16(854);
+emit_16(788);
+emit_16(855);
+emit_16(789);
+emit_16(855);
+emit_16(788);
+emit_16(855);
+emit_16(789);
+emit_16(856);
+emit_16(790);
+emit_16(856);
+emit_16(789);
+emit_16(856);
+emit_16(790);
+emit_16(857);
+emit_16(791);
+emit_16(857);
+emit_16(790);
+emit_16(858);
+emit_16(792);
+emit_16(859);
+emit_16(793);
+emit_16(859);
+emit_16(792);
+emit_16(859);
+emit_16(793);
+emit_16(860);
+emit_16(794);
+emit_16(860);
+emit_16(793);
+emit_16(860);
+emit_16(794);
+emit_16(861);
+emit_16(795);
+emit_16(861);
+emit_16(794);
+emit_16(861);
+emit_16(795);
+emit_16(862);
+emit_16(796);
+emit_16(862);
+emit_16(795);
+emit_16(862);
+emit_16(796);
+emit_16(863);
+emit_16(797);
+emit_16(863);
+emit_16(796);
+emit_16(863);
+emit_16(797);
+emit_16(864);
+emit_16(798);
+emit_16(864);
+emit_16(797);
+emit_16(864);
+emit_16(798);
+emit_16(865);
+emit_16(799);
+emit_16(865);
+emit_16(798);
+emit_16(865);
+emit_16(799);
+emit_16(866);
+emit_16(800);
+emit_16(866);
+emit_16(799);
+emit_16(866);
+emit_16(800);
+emit_16(867);
+emit_16(801);
+emit_16(867);
+emit_16(800);
+emit_16(867);
+emit_16(801);
+emit_16(868);
+emit_16(802);
+emit_16(868);
+emit_16(801);
+emit_16(868);
+emit_16(802);
+emit_16(869);
+emit_16(803);
+emit_16(869);
+emit_16(802);
+emit_16(869);
+emit_16(803);
+emit_16(870);
+emit_16(804);
+emit_16(870);
+emit_16(803);
+emit_16(870);
+emit_16(804);
+emit_16(871);
+emit_16(805);
+emit_16(871);
+emit_16(804);
+emit_16(871);
+emit_16(805);
+emit_16(872);
+emit_16(806);
+emit_16(872);
+emit_16(805);
+emit_16(872);
+emit_16(806);
+emit_16(873);
+emit_16(807);
+emit_16(873);
+emit_16(806);
+emit_16(873);
+emit_16(807);
+emit_16(874);
+emit_16(808);
+emit_16(874);
+emit_16(807);
+emit_16(874);
+emit_16(808);
+emit_16(875);
+emit_16(809);
+emit_16(875);
+emit_16(808);
+emit_16(875);
+emit_16(809);
+emit_16(876);
+emit_16(810);
+emit_16(876);
+emit_16(809);
+emit_16(876);
+emit_16(810);
+emit_16(877);
+emit_16(811);
+emit_16(877);
+emit_16(810);
+emit_16(877);
+emit_16(811);
+emit_16(878);
+emit_16(812);
+emit_16(878);
+emit_16(811);
+emit_16(878);
+emit_16(812);
+emit_16(879);
+emit_16(813);
+emit_16(879);
+emit_16(812);
+emit_16(879);
+emit_16(813);
+emit_16(880);
+emit_16(814);
+emit_16(880);
+emit_16(813);
+emit_16(880);
+emit_16(814);
+emit_16(881);
+emit_16(815);
+emit_16(881);
+emit_16(814);
+emit_16(881);
+emit_16(815);
+emit_16(882);
+emit_16(816);
+emit_16(882);
+emit_16(815);
+emit_16(882);
+emit_16(816);
+emit_16(883);
+emit_16(817);
+emit_16(883);
+emit_16(816);
+emit_16(883);
+emit_16(817);
+emit_16(884);
+emit_16(818);
+emit_16(884);
+emit_16(817);
+emit_16(884);
+emit_16(818);
+emit_16(885);
+emit_16(819);
+emit_16(885);
+emit_16(818);
+emit_16(885);
+emit_16(819);
+emit_16(886);
+emit_16(820);
+emit_16(886);
+emit_16(819);
+emit_16(886);
+emit_16(820);
+emit_16(887);
+emit_16(821);
+emit_16(887);
+emit_16(820);
+emit_16(887);
+emit_16(821);
+emit_16(888);
+emit_16(822);
+emit_16(888);
+emit_16(821);
+emit_16(888);
+emit_16(822);
+emit_16(889);
+emit_16(823);
+emit_16(889);
+emit_16(822);
+emit_16(889);
+emit_16(823);
+emit_16(890);
+emit_16(824);
+emit_16(890);
+emit_16(823);
+emit_16(890);
+emit_16(824);
+emit_16(891);
+emit_16(825);
+emit_16(891);
+emit_16(824);
+emit_16(891);
+emit_16(825);
+emit_16(892);
+emit_16(826);
+emit_16(892);
+emit_16(825);
+emit_16(892);
+emit_16(826);
+emit_16(893);
+emit_16(827);
+emit_16(893);
+emit_16(826);
+emit_16(893);
+emit_16(827);
+emit_16(894);
+emit_16(828);
+emit_16(894);
+emit_16(827);
+emit_16(894);
+emit_16(828);
+emit_16(895);
+emit_16(829);
+emit_16(895);
+emit_16(828);
+emit_16(895);
+emit_16(829);
+emit_16(896);
+emit_16(830);
+emit_16(896);
+emit_16(829);
+emit_16(896);
+emit_16(830);
+emit_16(897);
+emit_16(831);
+emit_16(897);
+emit_16(830);
+emit_16(897);
+emit_16(831);
+emit_16(898);
+emit_16(832);
+emit_16(898);
+emit_16(831);
+emit_16(898);
+emit_16(832);
+emit_16(899);
+emit_16(833);
+emit_16(899);
+emit_16(832);
+emit_16(899);
+emit_16(833);
+emit_16(900);
+emit_16(834);
+emit_16(900);
+emit_16(833);
+emit_16(900);
+emit_16(834);
+emit_16(901);
+emit_16(835);
+emit_16(901);
+emit_16(834);
+emit_16(901);
+emit_16(835);
+emit_16(902);
+emit_16(836);
+emit_16(902);
+emit_16(835);
+emit_16(902);
+emit_16(836);
+emit_16(903);
+emit_16(837);
+emit_16(903);
+emit_16(836);
+emit_16(903);
+emit_16(837);
+emit_16(904);
+emit_16(838);
+emit_16(904);
+emit_16(837);
+emit_16(904);
+emit_16(838);
+emit_16(905);
+emit_16(839);
+emit_16(905);
+emit_16(838);
+emit_16(905);
+emit_16(839);
+emit_16(906);
+emit_16(840);
+emit_16(906);
+emit_16(839);
+emit_16(906);
+emit_16(840);
+emit_16(907);
+emit_16(841);
+emit_16(907);
+emit_16(840);
+emit_16(907);
+emit_16(841);
+emit_16(908);
+emit_16(842);
+emit_16(908);
+emit_16(841);
+emit_16(908);
+emit_16(842);
+emit_16(909);
+emit_16(843);
+emit_16(909);
+emit_16(842);
+emit_16(909);
+emit_16(843);
+emit_16(910);
+emit_16(844);
+emit_16(910);
+emit_16(843);
+emit_16(910);
+emit_16(844);
+emit_16(911);
+emit_16(845);
+emit_16(911);
+emit_16(844);
+emit_16(911);
+emit_16(845);
+emit_16(912);
+emit_16(846);
+emit_16(912);
+emit_16(845);
+emit_16(912);
+emit_16(846);
+emit_16(913);
+emit_16(847);
+emit_16(913);
+emit_16(846);
+emit_16(913);
+emit_16(847);
+emit_16(914);
+emit_16(848);
+emit_16(914);
+emit_16(847);
+emit_16(914);
+emit_16(848);
+emit_16(915);
+emit_16(849);
+emit_16(915);
+emit_16(848);
+emit_16(915);
+emit_16(849);
+emit_16(916);
+emit_16(850);
+emit_16(916);
+emit_16(849);
+emit_16(916);
+emit_16(850);
+emit_16(917);
+emit_16(851);
+emit_16(917);
+emit_16(850);
+emit_16(917);
+emit_16(851);
+emit_16(918);
+emit_16(852);
+emit_16(918);
+emit_16(851);
+emit_16(918);
+emit_16(852);
+emit_16(919);
+emit_16(853);
+emit_16(919);
+emit_16(852);
+emit_16(919);
+emit_16(853);
+emit_16(920);
+emit_16(854);
+emit_16(920);
+emit_16(853);
+emit_16(920);
+emit_16(854);
+emit_16(921);
+emit_16(855);
+emit_16(921);
+emit_16(854);
+emit_16(921);
+emit_16(855);
+emit_16(922);
+emit_16(856);
+emit_16(922);
+emit_16(855);
+emit_16(922);
+emit_16(856);
+emit_16(923);
+emit_16(857);
+emit_16(923);
+emit_16(856);
+emit_16(924);
+emit_16(858);
+emit_16(925);
+emit_16(859);
+emit_16(925);
+emit_16(858);
+emit_16(925);
+emit_16(859);
+emit_16(926);
+emit_16(860);
+emit_16(926);
+emit_16(859);
+emit_16(926);
+emit_16(860);
+emit_16(927);
+emit_16(861);
+emit_16(927);
+emit_16(860);
+emit_16(927);
+emit_16(861);
+emit_16(928);
+emit_16(862);
+emit_16(928);
+emit_16(861);
+emit_16(928);
+emit_16(862);
+emit_16(929);
+emit_16(863);
+emit_16(929);
+emit_16(862);
+emit_16(929);
+emit_16(863);
+emit_16(930);
+emit_16(864);
+emit_16(930);
+emit_16(863);
+emit_16(930);
+emit_16(864);
+emit_16(931);
+emit_16(865);
+emit_16(931);
+emit_16(864);
+emit_16(931);
+emit_16(865);
+emit_16(932);
+emit_16(866);
+emit_16(932);
+emit_16(865);
+emit_16(932);
+emit_16(866);
+emit_16(933);
+emit_16(867);
+emit_16(933);
+emit_16(866);
+emit_16(933);
+emit_16(867);
+emit_16(934);
+emit_16(868);
+emit_16(934);
+emit_16(867);
+emit_16(934);
+emit_16(868);
+emit_16(935);
+emit_16(869);
+emit_16(935);
+emit_16(868);
+emit_16(935);
+emit_16(869);
+emit_16(936);
+emit_16(870);
+emit_16(936);
+emit_16(869);
+emit_16(936);
+emit_16(870);
+emit_16(937);
+emit_16(871);
+emit_16(937);
+emit_16(870);
+emit_16(937);
+emit_16(871);
+emit_16(938);
+emit_16(872);
+emit_16(938);
+emit_16(871);
+emit_16(938);
+emit_16(872);
+emit_16(939);
+emit_16(873);
+emit_16(939);
+emit_16(872);
+emit_16(939);
+emit_16(873);
+emit_16(940);
+emit_16(874);
+emit_16(940);
+emit_16(873);
+emit_16(940);
+emit_16(874);
+emit_16(941);
+emit_16(875);
+emit_16(941);
+emit_16(874);
+emit_16(941);
+emit_16(875);
+emit_16(942);
+emit_16(876);
+emit_16(942);
+emit_16(875);
+emit_16(942);
+emit_16(876);
+emit_16(943);
+emit_16(877);
+emit_16(943);
+emit_16(876);
+emit_16(943);
+emit_16(877);
+emit_16(944);
+emit_16(878);
+emit_16(944);
+emit_16(877);
+emit_16(944);
+emit_16(878);
+emit_16(945);
+emit_16(879);
+emit_16(945);
+emit_16(878);
+emit_16(945);
+emit_16(879);
+emit_16(946);
+emit_16(880);
+emit_16(946);
+emit_16(879);
+emit_16(946);
+emit_16(880);
+emit_16(947);
+emit_16(881);
+emit_16(947);
+emit_16(880);
+emit_16(947);
+emit_16(881);
+emit_16(948);
+emit_16(882);
+emit_16(948);
+emit_16(881);
+emit_16(948);
+emit_16(882);
+emit_16(949);
+emit_16(883);
+emit_16(949);
+emit_16(882);
+emit_16(949);
+emit_16(883);
+emit_16(950);
+emit_16(884);
+emit_16(950);
+emit_16(883);
+emit_16(950);
+emit_16(884);
+emit_16(951);
+emit_16(885);
+emit_16(951);
+emit_16(884);
+emit_16(951);
+emit_16(885);
+emit_16(952);
+emit_16(886);
+emit_16(952);
+emit_16(885);
+emit_16(952);
+emit_16(886);
+emit_16(953);
+emit_16(887);
+emit_16(953);
+emit_16(886);
+emit_16(953);
+emit_16(887);
+emit_16(954);
+emit_16(888);
+emit_16(954);
+emit_16(887);
+emit_16(954);
+emit_16(888);
+emit_16(955);
+emit_16(889);
+emit_16(955);
+emit_16(888);
+emit_16(955);
+emit_16(889);
+emit_16(956);
+emit_16(890);
+emit_16(956);
+emit_16(889);
+emit_16(956);
+emit_16(890);
+emit_16(957);
+emit_16(891);
+emit_16(957);
+emit_16(890);
+emit_16(957);
+emit_16(891);
+emit_16(958);
+emit_16(892);
+emit_16(958);
+emit_16(891);
+emit_16(958);
+emit_16(892);
+emit_16(959);
+emit_16(893);
+emit_16(959);
+emit_16(892);
+emit_16(959);
+emit_16(893);
+emit_16(960);
+emit_16(894);
+emit_16(960);
+emit_16(893);
+emit_16(960);
+emit_16(894);
+emit_16(961);
+emit_16(895);
+emit_16(961);
+emit_16(894);
+emit_16(961);
+emit_16(895);
+emit_16(962);
+emit_16(896);
+emit_16(962);
+emit_16(895);
+emit_16(962);
+emit_16(896);
+emit_16(963);
+emit_16(897);
+emit_16(963);
+emit_16(896);
+emit_16(963);
+emit_16(897);
+emit_16(964);
+emit_16(898);
+emit_16(964);
+emit_16(897);
+emit_16(964);
+emit_16(898);
+emit_16(965);
+emit_16(899);
+emit_16(965);
+emit_16(898);
+emit_16(965);
+emit_16(899);
+emit_16(966);
+emit_16(900);
+emit_16(966);
+emit_16(899);
+emit_16(966);
+emit_16(900);
+emit_16(967);
+emit_16(901);
+emit_16(967);
+emit_16(900);
+emit_16(967);
+emit_16(901);
+emit_16(968);
+emit_16(902);
+emit_16(968);
+emit_16(901);
+emit_16(968);
+emit_16(902);
+emit_16(969);
+emit_16(903);
+emit_16(969);
+emit_16(902);
+emit_16(969);
+emit_16(903);
+emit_16(970);
+emit_16(904);
+emit_16(970);
+emit_16(903);
+emit_16(970);
+emit_16(904);
+emit_16(971);
+emit_16(905);
+emit_16(971);
+emit_16(904);
+emit_16(971);
+emit_16(905);
+emit_16(972);
+emit_16(906);
+emit_16(972);
+emit_16(905);
+emit_16(972);
+emit_16(906);
+emit_16(973);
+emit_16(907);
+emit_16(973);
+emit_16(906);
+emit_16(973);
+emit_16(907);
+emit_16(974);
+emit_16(908);
+emit_16(974);
+emit_16(907);
+emit_16(974);
+emit_16(908);
+emit_16(975);
+emit_16(909);
+emit_16(975);
+emit_16(908);
+emit_16(975);
+emit_16(909);
+emit_16(976);
+emit_16(910);
+emit_16(976);
+emit_16(909);
+emit_16(976);
+emit_16(910);
+emit_16(977);
+emit_16(911);
+emit_16(977);
+emit_16(910);
+emit_16(977);
+emit_16(911);
+emit_16(978);
+emit_16(912);
+emit_16(978);
+emit_16(911);
+emit_16(978);
+emit_16(912);
+emit_16(979);
+emit_16(913);
+emit_16(979);
+emit_16(912);
+emit_16(979);
+emit_16(913);
+emit_16(980);
+emit_16(914);
+emit_16(980);
+emit_16(913);
+emit_16(980);
+emit_16(914);
+emit_16(981);
+emit_16(915);
+emit_16(981);
+emit_16(914);
+emit_16(981);
+emit_16(915);
+emit_16(982);
+emit_16(916);
+emit_16(982);
+emit_16(915);
+emit_16(982);
+emit_16(916);
+emit_16(983);
+emit_16(917);
+emit_16(983);
+emit_16(916);
+emit_16(983);
+emit_16(917);
+emit_16(984);
+emit_16(918);
+emit_16(984);
+emit_16(917);
+emit_16(984);
+emit_16(918);
+emit_16(985);
+emit_16(919);
+emit_16(985);
+emit_16(918);
+emit_16(985);
+emit_16(919);
+emit_16(986);
+emit_16(920);
+emit_16(986);
+emit_16(919);
+emit_16(986);
+emit_16(920);
+emit_16(987);
+emit_16(921);
+emit_16(987);
+emit_16(920);
+emit_16(987);
+emit_16(921);
+emit_16(988);
+emit_16(922);
+emit_16(988);
+emit_16(921);
+emit_16(988);
+emit_16(922);
+emit_16(989);
+emit_16(923);
+emit_16(989);
+emit_16(922);
+emit_16(990);
+emit_16(924);
+emit_16(991);
+emit_16(925);
+emit_16(991);
+emit_16(924);
+emit_16(991);
+emit_16(925);
+emit_16(992);
+emit_16(926);
+emit_16(992);
+emit_16(925);
+emit_16(992);
+emit_16(926);
+emit_16(993);
+emit_16(927);
+emit_16(993);
+emit_16(926);
+emit_16(993);
+emit_16(927);
+emit_16(994);
+emit_16(928);
+emit_16(994);
+emit_16(927);
+emit_16(994);
+emit_16(928);
+emit_16(995);
+emit_16(929);
+emit_16(995);
+emit_16(928);
+emit_16(995);
+emit_16(929);
+emit_16(996);
+emit_16(930);
+emit_16(996);
+emit_16(929);
+emit_16(996);
+emit_16(930);
+emit_16(997);
+emit_16(931);
+emit_16(997);
+emit_16(930);
+emit_16(997);
+emit_16(931);
+emit_16(998);
+emit_16(932);
+emit_16(998);
+emit_16(931);
+emit_16(998);
+emit_16(932);
+emit_16(999);
+emit_16(933);
+emit_16(999);
+emit_16(932);
+emit_16(999);
+emit_16(933);
+emit_16(1000);
+emit_16(934);
+emit_16(1000);
+emit_16(933);
+emit_16(1000);
+emit_16(934);
+emit_16(1001);
+emit_16(935);
+emit_16(1001);
+emit_16(934);
+emit_16(1001);
+emit_16(935);
+emit_16(1002);
+emit_16(936);
+emit_16(1002);
+emit_16(935);
+emit_16(1002);
+emit_16(936);
+emit_16(1003);
+emit_16(937);
+emit_16(1003);
+emit_16(936);
+emit_16(1003);
+emit_16(937);
+emit_16(1004);
+emit_16(938);
+emit_16(1004);
+emit_16(937);
+emit_16(1004);
+emit_16(938);
+emit_16(1005);
+emit_16(939);
+emit_16(1005);
+emit_16(938);
+emit_16(1005);
+emit_16(939);
+emit_16(1006);
+emit_16(940);
+emit_16(1006);
+emit_16(939);
+emit_16(1006);
+emit_16(940);
+emit_16(1007);
+emit_16(941);
+emit_16(1007);
+emit_16(940);
+emit_16(1007);
+emit_16(941);
+emit_16(1008);
+emit_16(942);
+emit_16(1008);
+emit_16(941);
+emit_16(1008);
+emit_16(942);
+emit_16(1009);
+emit_16(943);
+emit_16(1009);
+emit_16(942);
+emit_16(1009);
+emit_16(943);
+emit_16(1010);
+emit_16(944);
+emit_16(1010);
+emit_16(943);
+emit_16(1010);
+emit_16(944);
+emit_16(1011);
+emit_16(945);
+emit_16(1011);
+emit_16(944);
+emit_16(1011);
+emit_16(945);
+emit_16(1012);
+emit_16(946);
+emit_16(1012);
+emit_16(945);
+emit_16(1012);
+emit_16(946);
+emit_16(1013);
+emit_16(947);
+emit_16(1013);
+emit_16(946);
+emit_16(1013);
+emit_16(947);
+emit_16(1014);
+emit_16(948);
+emit_16(1014);
+emit_16(947);
+emit_16(1014);
+emit_16(948);
+emit_16(1015);
+emit_16(949);
+emit_16(1015);
+emit_16(948);
+emit_16(1015);
+emit_16(949);
+emit_16(1016);
+emit_16(950);
+emit_16(1016);
+emit_16(949);
+emit_16(1016);
+emit_16(950);
+emit_16(1017);
+emit_16(951);
+emit_16(1017);
+emit_16(950);
+emit_16(1017);
+emit_16(951);
+emit_16(1018);
+emit_16(952);
+emit_16(1018);
+emit_16(951);
+emit_16(1018);
+emit_16(952);
+emit_16(1019);
+emit_16(953);
+emit_16(1019);
+emit_16(952);
+emit_16(1019);
+emit_16(953);
+emit_16(1020);
+emit_16(954);
+emit_16(1020);
+emit_16(953);
+emit_16(1020);
+emit_16(954);
+emit_16(1021);
+emit_16(955);
+emit_16(1021);
+emit_16(954);
+emit_16(1021);
+emit_16(955);
+emit_16(1022);
+emit_16(956);
+emit_16(1022);
+emit_16(955);
+emit_16(1022);
+emit_16(956);
+emit_16(1023);
+emit_16(957);
+emit_16(1023);
+emit_16(956);
+emit_16(1023);
+emit_16(957);
+emit_16(1024);
+emit_16(958);
+emit_16(1024);
+emit_16(957);
+emit_16(1024);
+emit_16(958);
+emit_16(1025);
+emit_16(959);
+emit_16(1025);
+emit_16(958);
+emit_16(1025);
+emit_16(959);
+emit_16(1026);
+emit_16(960);
+emit_16(1026);
+emit_16(959);
+emit_16(1026);
+emit_16(960);
+emit_16(1027);
+emit_16(961);
+emit_16(1027);
+emit_16(960);
+emit_16(1027);
+emit_16(961);
+emit_16(1028);
+emit_16(962);
+emit_16(1028);
+emit_16(961);
+emit_16(1028);
+emit_16(962);
+emit_16(1029);
+emit_16(963);
+emit_16(1029);
+emit_16(962);
+emit_16(1029);
+emit_16(963);
+emit_16(1030);
+emit_16(964);
+emit_16(1030);
+emit_16(963);
+emit_16(1030);
+emit_16(964);
+emit_16(1031);
+emit_16(965);
+emit_16(1031);
+emit_16(964);
+emit_16(1031);
+emit_16(965);
+emit_16(1032);
+emit_16(966);
+emit_16(1032);
+emit_16(965);
+emit_16(1032);
+emit_16(966);
+emit_16(1033);
+emit_16(967);
+emit_16(1033);
+emit_16(966);
+emit_16(1033);
+emit_16(967);
+emit_16(1034);
+emit_16(968);
+emit_16(1034);
+emit_16(967);
+emit_16(1034);
+emit_16(968);
+emit_16(1035);
+emit_16(969);
+emit_16(1035);
+emit_16(968);
+emit_16(1035);
+emit_16(969);
+emit_16(1036);
+emit_16(970);
+emit_16(1036);
+emit_16(969);
+emit_16(1036);
+emit_16(970);
+emit_16(1037);
+emit_16(971);
+emit_16(1037);
+emit_16(970);
+emit_16(1037);
+emit_16(971);
+emit_16(1038);
+emit_16(972);
+emit_16(1038);
+emit_16(971);
+emit_16(1038);
+emit_16(972);
+emit_16(1039);
+emit_16(973);
+emit_16(1039);
+emit_16(972);
+emit_16(1039);
+emit_16(973);
+emit_16(1040);
+emit_16(974);
+emit_16(1040);
+emit_16(973);
+emit_16(1040);
+emit_16(974);
+emit_16(1041);
+emit_16(975);
+emit_16(1041);
+emit_16(974);
+emit_16(1041);
+emit_16(975);
+emit_16(1042);
+emit_16(976);
+emit_16(1042);
+emit_16(975);
+emit_16(1042);
+emit_16(976);
+emit_16(1043);
+emit_16(977);
+emit_16(1043);
+emit_16(976);
+emit_16(1043);
+emit_16(977);
+emit_16(1044);
+emit_16(978);
+emit_16(1044);
+emit_16(977);
+emit_16(1044);
+emit_16(978);
+emit_16(1045);
+emit_16(979);
+emit_16(1045);
+emit_16(978);
+emit_16(1045);
+emit_16(979);
+emit_16(1046);
+emit_16(980);
+emit_16(1046);
+emit_16(979);
+emit_16(1046);
+emit_16(980);
+emit_16(1047);
+emit_16(981);
+emit_16(1047);
+emit_16(980);
+emit_16(1047);
+emit_16(981);
+emit_16(1048);
+emit_16(982);
+emit_16(1048);
+emit_16(981);
+emit_16(1048);
+emit_16(982);
+emit_16(1049);
+emit_16(983);
+emit_16(1049);
+emit_16(982);
+emit_16(1049);
+emit_16(983);
+emit_16(1050);
+emit_16(984);
+emit_16(1050);
+emit_16(983);
+emit_16(1050);
+emit_16(984);
+emit_16(1051);
+emit_16(985);
+emit_16(1051);
+emit_16(984);
+emit_16(1051);
+emit_16(985);
+emit_16(1052);
+emit_16(986);
+emit_16(1052);
+emit_16(985);
+emit_16(1052);
+emit_16(986);
+emit_16(1053);
+emit_16(987);
+emit_16(1053);
+emit_16(986);
+emit_16(1053);
+emit_16(987);
+emit_16(1054);
+emit_16(988);
+emit_16(1054);
+emit_16(987);
+emit_16(1054);
+emit_16(988);
+emit_16(1055);
+emit_16(989);
+emit_16(1055);
+emit_16(988);
+emit_16(1056);
+emit_16(990);
+emit_16(1057);
+emit_16(991);
+emit_16(1057);
+emit_16(990);
+emit_16(1057);
+emit_16(991);
+emit_16(1058);
+emit_16(992);
+emit_16(1058);
+emit_16(991);
+emit_16(1058);
+emit_16(992);
+emit_16(1059);
+emit_16(993);
+emit_16(1059);
+emit_16(992);
+emit_16(1059);
+emit_16(993);
+emit_16(1060);
+emit_16(994);
+emit_16(1060);
+emit_16(993);
+emit_16(1060);
+emit_16(994);
+emit_16(1061);
+emit_16(995);
+emit_16(1061);
+emit_16(994);
+emit_16(1061);
+emit_16(995);
+emit_16(1062);
+emit_16(996);
+emit_16(1062);
+emit_16(995);
+emit_16(1062);
+emit_16(996);
+emit_16(1063);
+emit_16(997);
+emit_16(1063);
+emit_16(996);
+emit_16(1063);
+emit_16(997);
+emit_16(1064);
+emit_16(998);
+emit_16(1064);
+emit_16(997);
+emit_16(1064);
+emit_16(998);
+emit_16(1065);
+emit_16(999);
+emit_16(1065);
+emit_16(998);
+emit_16(1065);
+emit_16(999);
+emit_16(1066);
+emit_16(1000);
+emit_16(1066);
+emit_16(999);
+emit_16(1066);
+emit_16(1000);
+emit_16(1067);
+emit_16(1001);
+emit_16(1067);
+emit_16(1000);
+emit_16(1067);
+emit_16(1001);
+emit_16(1068);
+emit_16(1002);
+emit_16(1068);
+emit_16(1001);
+emit_16(1068);
+emit_16(1002);
+emit_16(1069);
+emit_16(1003);
+emit_16(1069);
+emit_16(1002);
+emit_16(1069);
+emit_16(1003);
+emit_16(1070);
+emit_16(1004);
+emit_16(1070);
+emit_16(1003);
+emit_16(1070);
+emit_16(1004);
+emit_16(1071);
+emit_16(1005);
+emit_16(1071);
+emit_16(1004);
+emit_16(1071);
+emit_16(1005);
+emit_16(1072);
+emit_16(1006);
+emit_16(1072);
+emit_16(1005);
+emit_16(1072);
+emit_16(1006);
+emit_16(1073);
+emit_16(1007);
+emit_16(1073);
+emit_16(1006);
+emit_16(1073);
+emit_16(1007);
+emit_16(1074);
+emit_16(1008);
+emit_16(1074);
+emit_16(1007);
+emit_16(1074);
+emit_16(1008);
+emit_16(1075);
+emit_16(1009);
+emit_16(1075);
+emit_16(1008);
+emit_16(1075);
+emit_16(1009);
+emit_16(1076);
+emit_16(1010);
+emit_16(1076);
+emit_16(1009);
+emit_16(1076);
+emit_16(1010);
+emit_16(1077);
+emit_16(1011);
+emit_16(1077);
+emit_16(1010);
+emit_16(1077);
+emit_16(1011);
+emit_16(1078);
+emit_16(1012);
+emit_16(1078);
+emit_16(1011);
+emit_16(1078);
+emit_16(1012);
+emit_16(1079);
+emit_16(1013);
+emit_16(1079);
+emit_16(1012);
+emit_16(1079);
+emit_16(1013);
+emit_16(1080);
+emit_16(1014);
+emit_16(1080);
+emit_16(1013);
+emit_16(1080);
+emit_16(1014);
+emit_16(1081);
+emit_16(1015);
+emit_16(1081);
+emit_16(1014);
+emit_16(1081);
+emit_16(1015);
+emit_16(1082);
+emit_16(1016);
+emit_16(1082);
+emit_16(1015);
+emit_16(1082);
+emit_16(1016);
+emit_16(1083);
+emit_16(1017);
+emit_16(1083);
+emit_16(1016);
+emit_16(1083);
+emit_16(1017);
+emit_16(1084);
+emit_16(1018);
+emit_16(1084);
+emit_16(1017);
+emit_16(1084);
+emit_16(1018);
+emit_16(1085);
+emit_16(1019);
+emit_16(1085);
+emit_16(1018);
+emit_16(1085);
+emit_16(1019);
+emit_16(1086);
+emit_16(1020);
+emit_16(1086);
+emit_16(1019);
+emit_16(1086);
+emit_16(1020);
+emit_16(1087);
+emit_16(1021);
+emit_16(1087);
+emit_16(1020);
+emit_16(1087);
+emit_16(1021);
+emit_16(1088);
+emit_16(1022);
+emit_16(1088);
+emit_16(1021);
+emit_16(1088);
+emit_16(1022);
+emit_16(1089);
+emit_16(1023);
+emit_16(1089);
+emit_16(1022);
+emit_16(1089);
+emit_16(1023);
+emit_16(1090);
+emit_16(1024);
+emit_16(1090);
+emit_16(1023);
+emit_16(1090);
+emit_16(1024);
+emit_16(1091);
+emit_16(1025);
+emit_16(1091);
+emit_16(1024);
+emit_16(1091);
+emit_16(1025);
+emit_16(1092);
+emit_16(1026);
+emit_16(1092);
+emit_16(1025);
+emit_16(1092);
+emit_16(1026);
+emit_16(1093);
+emit_16(1027);
+emit_16(1093);
+emit_16(1026);
+emit_16(1093);
+emit_16(1027);
+emit_16(1094);
+emit_16(1028);
+emit_16(1094);
+emit_16(1027);
+emit_16(1094);
+emit_16(1028);
+emit_16(1095);
+emit_16(1029);
+emit_16(1095);
+emit_16(1028);
+emit_16(1095);
+emit_16(1029);
+emit_16(1096);
+emit_16(1030);
+emit_16(1096);
+emit_16(1029);
+emit_16(1096);
+emit_16(1030);
+emit_16(1097);
+emit_16(1031);
+emit_16(1097);
+emit_16(1030);
+emit_16(1097);
+emit_16(1031);
+emit_16(1098);
+emit_16(1032);
+emit_16(1098);
+emit_16(1031);
+emit_16(1098);
+emit_16(1032);
+emit_16(1099);
+emit_16(1033);
+emit_16(1099);
+emit_16(1032);
+emit_16(1099);
+emit_16(1033);
+emit_16(1100);
+emit_16(1034);
+emit_16(1100);
+emit_16(1033);
+emit_16(1100);
+emit_16(1034);
+emit_16(1101);
+emit_16(1035);
+emit_16(1101);
+emit_16(1034);
+emit_16(1101);
+emit_16(1035);
+emit_16(1102);
+emit_16(1036);
+emit_16(1102);
+emit_16(1035);
+emit_16(1102);
+emit_16(1036);
+emit_16(1103);
+emit_16(1037);
+emit_16(1103);
+emit_16(1036);
+emit_16(1103);
+emit_16(1037);
+emit_16(1104);
+emit_16(1038);
+emit_16(1104);
+emit_16(1037);
+emit_16(1104);
+emit_16(1038);
+emit_16(1105);
+emit_16(1039);
+emit_16(1105);
+emit_16(1038);
+emit_16(1105);
+emit_16(1039);
+emit_16(1106);
+emit_16(1040);
+emit_16(1106);
+emit_16(1039);
+emit_16(1106);
+emit_16(1040);
+emit_16(1107);
+emit_16(1041);
+emit_16(1107);
+emit_16(1040);
+emit_16(1107);
+emit_16(1041);
+emit_16(1108);
+emit_16(1042);
+emit_16(1108);
+emit_16(1041);
+emit_16(1108);
+emit_16(1042);
+emit_16(1109);
+emit_16(1043);
+emit_16(1109);
+emit_16(1042);
+emit_16(1109);
+emit_16(1043);
+emit_16(1110);
+emit_16(1044);
+emit_16(1110);
+emit_16(1043);
+emit_16(1110);
+emit_16(1044);
+emit_16(1111);
+emit_16(1045);
+emit_16(1111);
+emit_16(1044);
+emit_16(1111);
+emit_16(1045);
+emit_16(1112);
+emit_16(1046);
+emit_16(1112);
+emit_16(1045);
+emit_16(1112);
+emit_16(1046);
+emit_16(1113);
+emit_16(1047);
+emit_16(1113);
+emit_16(1046);
+emit_16(1113);
+emit_16(1047);
+emit_16(1114);
+emit_16(1048);
+emit_16(1114);
+emit_16(1047);
+emit_16(1114);
+emit_16(1048);
+emit_16(1115);
+emit_16(1049);
+emit_16(1115);
+emit_16(1048);
+emit_16(1115);
+emit_16(1049);
+emit_16(1116);
+emit_16(1050);
+emit_16(1116);
+emit_16(1049);
+emit_16(1116);
+emit_16(1050);
+emit_16(1117);
+emit_16(1051);
+emit_16(1117);
+emit_16(1050);
+emit_16(1117);
+emit_16(1051);
+emit_16(1118);
+emit_16(1052);
+emit_16(1118);
+emit_16(1051);
+emit_16(1118);
+emit_16(1052);
+emit_16(1119);
+emit_16(1053);
+emit_16(1119);
+emit_16(1052);
+emit_16(1119);
+emit_16(1053);
+emit_16(1120);
+emit_16(1054);
+emit_16(1120);
+emit_16(1053);
+emit_16(1120);
+emit_16(1054);
+emit_16(1121);
+emit_16(1055);
+emit_16(1121);
+emit_16(1054);
+emit_16(1122);
+emit_16(1056);
+emit_16(1123);
+emit_16(1057);
+emit_16(1123);
+emit_16(1056);
+emit_16(1123);
+emit_16(1057);
+emit_16(1124);
+emit_16(1058);
+emit_16(1124);
+emit_16(1057);
+emit_16(1124);
+emit_16(1058);
+emit_16(1125);
+emit_16(1059);
+emit_16(1125);
+emit_16(1058);
+emit_16(1125);
+emit_16(1059);
+emit_16(1126);
+emit_16(1060);
+emit_16(1126);
+emit_16(1059);
+emit_16(1126);
+emit_16(1060);
+emit_16(1127);
+emit_16(1061);
+emit_16(1127);
+emit_16(1060);
+emit_16(1127);
+emit_16(1061);
+emit_16(1128);
+emit_16(1062);
+emit_16(1128);
+emit_16(1061);
+emit_16(1128);
+emit_16(1062);
+emit_16(1129);
+emit_16(1063);
+emit_16(1129);
+emit_16(1062);
+emit_16(1129);
+emit_16(1063);
+emit_16(1130);
+emit_16(1064);
+emit_16(1130);
+emit_16(1063);
+emit_16(1130);
+emit_16(1064);
+emit_16(1131);
+emit_16(1065);
+emit_16(1131);
+emit_16(1064);
+emit_16(1131);
+emit_16(1065);
+emit_16(1132);
+emit_16(1066);
+emit_16(1132);
+emit_16(1065);
+emit_16(1132);
+emit_16(1066);
+emit_16(1133);
+emit_16(1067);
+emit_16(1133);
+emit_16(1066);
+emit_16(1133);
+emit_16(1067);
+emit_16(1134);
+emit_16(1068);
+emit_16(1134);
+emit_16(1067);
+emit_16(1134);
+emit_16(1068);
+emit_16(1135);
+emit_16(1069);
+emit_16(1135);
+emit_16(1068);
+emit_16(1135);
+emit_16(1069);
+emit_16(1136);
+emit_16(1070);
+emit_16(1136);
+emit_16(1069);
+emit_16(1136);
+emit_16(1070);
+emit_16(1137);
+emit_16(1071);
+emit_16(1137);
+emit_16(1070);
+emit_16(1137);
+emit_16(1071);
+emit_16(1138);
+emit_16(1072);
+emit_16(1138);
+emit_16(1071);
+emit_16(1138);
+emit_16(1072);
+emit_16(1139);
+emit_16(1073);
+emit_16(1139);
+emit_16(1072);
+emit_16(1139);
+emit_16(1073);
+emit_16(1140);
+emit_16(1074);
+emit_16(1140);
+emit_16(1073);
+emit_16(1140);
+emit_16(1074);
+emit_16(1141);
+emit_16(1075);
+emit_16(1141);
+emit_16(1074);
+emit_16(1141);
+emit_16(1075);
+emit_16(1142);
+emit_16(1076);
+emit_16(1142);
+emit_16(1075);
+emit_16(1142);
+emit_16(1076);
+emit_16(1143);
+emit_16(1077);
+emit_16(1143);
+emit_16(1076);
+emit_16(1143);
+emit_16(1077);
+emit_16(1144);
+emit_16(1078);
+emit_16(1144);
+emit_16(1077);
+emit_16(1144);
+emit_16(1078);
+emit_16(1145);
+emit_16(1079);
+emit_16(1145);
+emit_16(1078);
+emit_16(1145);
+emit_16(1079);
+emit_16(1146);
+emit_16(1080);
+emit_16(1146);
+emit_16(1079);
+emit_16(1146);
+emit_16(1080);
+emit_16(1147);
+emit_16(1081);
+emit_16(1147);
+emit_16(1080);
+emit_16(1147);
+emit_16(1081);
+emit_16(1148);
+emit_16(1082);
+emit_16(1148);
+emit_16(1081);
+emit_16(1148);
+emit_16(1082);
+emit_16(1149);
+emit_16(1083);
+emit_16(1149);
+emit_16(1082);
+emit_16(1149);
+emit_16(1083);
+emit_16(1150);
+emit_16(1084);
+emit_16(1150);
+emit_16(1083);
+emit_16(1150);
+emit_16(1084);
+emit_16(1151);
+emit_16(1085);
+emit_16(1151);
+emit_16(1084);
+emit_16(1151);
+emit_16(1085);
+emit_16(1152);
+emit_16(1086);
+emit_16(1152);
+emit_16(1085);
+emit_16(1152);
+emit_16(1086);
+emit_16(1153);
+emit_16(1087);
+emit_16(1153);
+emit_16(1086);
+emit_16(1153);
+emit_16(1087);
+emit_16(1154);
+emit_16(1088);
+emit_16(1154);
+emit_16(1087);
+emit_16(1154);
+emit_16(1088);
+emit_16(1155);
+emit_16(1089);
+emit_16(1155);
+emit_16(1088);
+emit_16(1155);
+emit_16(1089);
+emit_16(1156);
+emit_16(1090);
+emit_16(1156);
+emit_16(1089);
+emit_16(1156);
+emit_16(1090);
+emit_16(1157);
+emit_16(1091);
+emit_16(1157);
+emit_16(1090);
+emit_16(1157);
+emit_16(1091);
+emit_16(1158);
+emit_16(1092);
+emit_16(1158);
+emit_16(1091);
+emit_16(1158);
+emit_16(1092);
+emit_16(1159);
+emit_16(1093);
+emit_16(1159);
+emit_16(1092);
+emit_16(1159);
+emit_16(1093);
+emit_16(1160);
+emit_16(1094);
+emit_16(1160);
+emit_16(1093);
+emit_16(1160);
+emit_16(1094);
+emit_16(1161);
+emit_16(1095);
+emit_16(1161);
+emit_16(1094);
+emit_16(1161);
+emit_16(1095);
+emit_16(1162);
+emit_16(1096);
+emit_16(1162);
+emit_16(1095);
+emit_16(1162);
+emit_16(1096);
+emit_16(1163);
+emit_16(1097);
+emit_16(1163);
+emit_16(1096);
+emit_16(1163);
+emit_16(1097);
+emit_16(1164);
+emit_16(1098);
+emit_16(1164);
+emit_16(1097);
+emit_16(1164);
+emit_16(1098);
+emit_16(1165);
+emit_16(1099);
+emit_16(1165);
+emit_16(1098);
+emit_16(1165);
+emit_16(1099);
+emit_16(1166);
+emit_16(1100);
+emit_16(1166);
+emit_16(1099);
+emit_16(1166);
+emit_16(1100);
+emit_16(1167);
+emit_16(1101);
+emit_16(1167);
+emit_16(1100);
+emit_16(1167);
+emit_16(1101);
+emit_16(1168);
+emit_16(1102);
+emit_16(1168);
+emit_16(1101);
+emit_16(1168);
+emit_16(1102);
+emit_16(1169);
+emit_16(1103);
+emit_16(1169);
+emit_16(1102);
+emit_16(1169);
+emit_16(1103);
+emit_16(1170);
+emit_16(1104);
+emit_16(1170);
+emit_16(1103);
+emit_16(1170);
+emit_16(1104);
+emit_16(1171);
+emit_16(1105);
+emit_16(1171);
+emit_16(1104);
+emit_16(1171);
+emit_16(1105);
+emit_16(1172);
+emit_16(1106);
+emit_16(1172);
+emit_16(1105);
+emit_16(1172);
+emit_16(1106);
+emit_16(1173);
+emit_16(1107);
+emit_16(1173);
+emit_16(1106);
+emit_16(1173);
+emit_16(1107);
+emit_16(1174);
+emit_16(1108);
+emit_16(1174);
+emit_16(1107);
+emit_16(1174);
+emit_16(1108);
+emit_16(1175);
+emit_16(1109);
+emit_16(1175);
+emit_16(1108);
+emit_16(1175);
+emit_16(1109);
+emit_16(1176);
+emit_16(1110);
+emit_16(1176);
+emit_16(1109);
+emit_16(1176);
+emit_16(1110);
+emit_16(1177);
+emit_16(1111);
+emit_16(1177);
+emit_16(1110);
+emit_16(1177);
+emit_16(1111);
+emit_16(1178);
+emit_16(1112);
+emit_16(1178);
+emit_16(1111);
+emit_16(1178);
+emit_16(1112);
+emit_16(1179);
+emit_16(1113);
+emit_16(1179);
+emit_16(1112);
+emit_16(1179);
+emit_16(1113);
+emit_16(1180);
+emit_16(1114);
+emit_16(1180);
+emit_16(1113);
+emit_16(1180);
+emit_16(1114);
+emit_16(1181);
+emit_16(1115);
+emit_16(1181);
+emit_16(1114);
+emit_16(1181);
+emit_16(1115);
+emit_16(1182);
+emit_16(1116);
+emit_16(1182);
+emit_16(1115);
+emit_16(1182);
+emit_16(1116);
+emit_16(1183);
+emit_16(1117);
+emit_16(1183);
+emit_16(1116);
+emit_16(1183);
+emit_16(1117);
+emit_16(1184);
+emit_16(1118);
+emit_16(1184);
+emit_16(1117);
+emit_16(1184);
+emit_16(1118);
+emit_16(1185);
+emit_16(1119);
+emit_16(1185);
+emit_16(1118);
+emit_16(1185);
+emit_16(1119);
+emit_16(1186);
+emit_16(1120);
+emit_16(1186);
+emit_16(1119);
+emit_16(1186);
+emit_16(1120);
+emit_16(1187);
+emit_16(1121);
+emit_16(1187);
+emit_16(1120);
+emit_16(1188);
+emit_16(1122);
+emit_16(1189);
+emit_16(1123);
+emit_16(1189);
+emit_16(1122);
+emit_16(1189);
+emit_16(1123);
+emit_16(1190);
+emit_16(1124);
+emit_16(1190);
+emit_16(1123);
+emit_16(1190);
+emit_16(1124);
+emit_16(1191);
+emit_16(1125);
+emit_16(1191);
+emit_16(1124);
+emit_16(1191);
+emit_16(1125);
+emit_16(1192);
+emit_16(1126);
+emit_16(1192);
+emit_16(1125);
+emit_16(1192);
+emit_16(1126);
+emit_16(1193);
+emit_16(1127);
+emit_16(1193);
+emit_16(1126);
+emit_16(1193);
+emit_16(1127);
+emit_16(1194);
+emit_16(1128);
+emit_16(1194);
+emit_16(1127);
+emit_16(1194);
+emit_16(1128);
+emit_16(1195);
+emit_16(1129);
+emit_16(1195);
+emit_16(1128);
+emit_16(1195);
+emit_16(1129);
+emit_16(1196);
+emit_16(1130);
+emit_16(1196);
+emit_16(1129);
+emit_16(1196);
+emit_16(1130);
+emit_16(1197);
+emit_16(1131);
+emit_16(1197);
+emit_16(1130);
+emit_16(1197);
+emit_16(1131);
+emit_16(1198);
+emit_16(1132);
+emit_16(1198);
+emit_16(1131);
+emit_16(1198);
+emit_16(1132);
+emit_16(1199);
+emit_16(1133);
+emit_16(1199);
+emit_16(1132);
+emit_16(1199);
+emit_16(1133);
+emit_16(1200);
+emit_16(1134);
+emit_16(1200);
+emit_16(1133);
+emit_16(1200);
+emit_16(1134);
+emit_16(1201);
+emit_16(1135);
+emit_16(1201);
+emit_16(1134);
+emit_16(1201);
+emit_16(1135);
+emit_16(1202);
+emit_16(1136);
+emit_16(1202);
+emit_16(1135);
+emit_16(1202);
+emit_16(1136);
+emit_16(1203);
+emit_16(1137);
+emit_16(1203);
+emit_16(1136);
+emit_16(1203);
+emit_16(1137);
+emit_16(1204);
+emit_16(1138);
+emit_16(1204);
+emit_16(1137);
+emit_16(1204);
+emit_16(1138);
+emit_16(1205);
+emit_16(1139);
+emit_16(1205);
+emit_16(1138);
+emit_16(1205);
+emit_16(1139);
+emit_16(1206);
+emit_16(1140);
+emit_16(1206);
+emit_16(1139);
+emit_16(1206);
+emit_16(1140);
+emit_16(1207);
+emit_16(1141);
+emit_16(1207);
+emit_16(1140);
+emit_16(1207);
+emit_16(1141);
+emit_16(1208);
+emit_16(1142);
+emit_16(1208);
+emit_16(1141);
+emit_16(1208);
+emit_16(1142);
+emit_16(1209);
+emit_16(1143);
+emit_16(1209);
+emit_16(1142);
+emit_16(1209);
+emit_16(1143);
+emit_16(1210);
+emit_16(1144);
+emit_16(1210);
+emit_16(1143);
+emit_16(1210);
+emit_16(1144);
+emit_16(1211);
+emit_16(1145);
+emit_16(1211);
+emit_16(1144);
+emit_16(1211);
+emit_16(1145);
+emit_16(1212);
+emit_16(1146);
+emit_16(1212);
+emit_16(1145);
+emit_16(1212);
+emit_16(1146);
+emit_16(1213);
+emit_16(1147);
+emit_16(1213);
+emit_16(1146);
+emit_16(1213);
+emit_16(1147);
+emit_16(1214);
+emit_16(1148);
+emit_16(1214);
+emit_16(1147);
+emit_16(1214);
+emit_16(1148);
+emit_16(1215);
+emit_16(1149);
+emit_16(1215);
+emit_16(1148);
+emit_16(1215);
+emit_16(1149);
+emit_16(1216);
+emit_16(1150);
+emit_16(1216);
+emit_16(1149);
+emit_16(1216);
+emit_16(1150);
+emit_16(1217);
+emit_16(1151);
+emit_16(1217);
+emit_16(1150);
+emit_16(1217);
+emit_16(1151);
+emit_16(1218);
+emit_16(1152);
+emit_16(1218);
+emit_16(1151);
+emit_16(1218);
+emit_16(1152);
+emit_16(1219);
+emit_16(1153);
+emit_16(1219);
+emit_16(1152);
+emit_16(1219);
+emit_16(1153);
+emit_16(1220);
+emit_16(1154);
+emit_16(1220);
+emit_16(1153);
+emit_16(1220);
+emit_16(1154);
+emit_16(1221);
+emit_16(1155);
+emit_16(1221);
+emit_16(1154);
+emit_16(1221);
+emit_16(1155);
+emit_16(1222);
+emit_16(1156);
+emit_16(1222);
+emit_16(1155);
+emit_16(1222);
+emit_16(1156);
+emit_16(1223);
+emit_16(1157);
+emit_16(1223);
+emit_16(1156);
+emit_16(1223);
+emit_16(1157);
+emit_16(1224);
+emit_16(1158);
+emit_16(1224);
+emit_16(1157);
+emit_16(1224);
+emit_16(1158);
+emit_16(1225);
+emit_16(1159);
+emit_16(1225);
+emit_16(1158);
+emit_16(1225);
+emit_16(1159);
+emit_16(1226);
+emit_16(1160);
+emit_16(1226);
+emit_16(1159);
+emit_16(1226);
+emit_16(1160);
+emit_16(1227);
+emit_16(1161);
+emit_16(1227);
+emit_16(1160);
+emit_16(1227);
+emit_16(1161);
+emit_16(1228);
+emit_16(1162);
+emit_16(1228);
+emit_16(1161);
+emit_16(1228);
+emit_16(1162);
+emit_16(1229);
+emit_16(1163);
+emit_16(1229);
+emit_16(1162);
+emit_16(1229);
+emit_16(1163);
+emit_16(1230);
+emit_16(1164);
+emit_16(1230);
+emit_16(1163);
+emit_16(1230);
+emit_16(1164);
+emit_16(1231);
+emit_16(1165);
+emit_16(1231);
+emit_16(1164);
+emit_16(1231);
+emit_16(1165);
+emit_16(1232);
+emit_16(1166);
+emit_16(1232);
+emit_16(1165);
+emit_16(1232);
+emit_16(1166);
+emit_16(1233);
+emit_16(1167);
+emit_16(1233);
+emit_16(1166);
+emit_16(1233);
+emit_16(1167);
+emit_16(1234);
+emit_16(1168);
+emit_16(1234);
+emit_16(1167);
+emit_16(1234);
+emit_16(1168);
+emit_16(1235);
+emit_16(1169);
+emit_16(1235);
+emit_16(1168);
+emit_16(1235);
+emit_16(1169);
+emit_16(1236);
+emit_16(1170);
+emit_16(1236);
+emit_16(1169);
+emit_16(1236);
+emit_16(1170);
+emit_16(1237);
+emit_16(1171);
+emit_16(1237);
+emit_16(1170);
+emit_16(1237);
+emit_16(1171);
+emit_16(1238);
+emit_16(1172);
+emit_16(1238);
+emit_16(1171);
+emit_16(1238);
+emit_16(1172);
+emit_16(1239);
+emit_16(1173);
+emit_16(1239);
+emit_16(1172);
+emit_16(1239);
+emit_16(1173);
+emit_16(1240);
+emit_16(1174);
+emit_16(1240);
+emit_16(1173);
+emit_16(1240);
+emit_16(1174);
+emit_16(1241);
+emit_16(1175);
+emit_16(1241);
+emit_16(1174);
+emit_16(1241);
+emit_16(1175);
+emit_16(1242);
+emit_16(1176);
+emit_16(1242);
+emit_16(1175);
+emit_16(1242);
+emit_16(1176);
+emit_16(1243);
+emit_16(1177);
+emit_16(1243);
+emit_16(1176);
+emit_16(1243);
+emit_16(1177);
+emit_16(1244);
+emit_16(1178);
+emit_16(1244);
+emit_16(1177);
+emit_16(1244);
+emit_16(1178);
+emit_16(1245);
+emit_16(1179);
+emit_16(1245);
+emit_16(1178);
+emit_16(1245);
+emit_16(1179);
+emit_16(1246);
+emit_16(1180);
+emit_16(1246);
+emit_16(1179);
+emit_16(1246);
+emit_16(1180);
+emit_16(1247);
+emit_16(1181);
+emit_16(1247);
+emit_16(1180);
+emit_16(1247);
+emit_16(1181);
+emit_16(1248);
+emit_16(1182);
+emit_16(1248);
+emit_16(1181);
+emit_16(1248);
+emit_16(1182);
+emit_16(1249);
+emit_16(1183);
+emit_16(1249);
+emit_16(1182);
+emit_16(1249);
+emit_16(1183);
+emit_16(1250);
+emit_16(1184);
+emit_16(1250);
+emit_16(1183);
+emit_16(1250);
+emit_16(1184);
+emit_16(1251);
+emit_16(1185);
+emit_16(1251);
+emit_16(1184);
+emit_16(1251);
+emit_16(1185);
+emit_16(1252);
+emit_16(1186);
+emit_16(1252);
+emit_16(1185);
+emit_16(1252);
+emit_16(1186);
+emit_16(1253);
+emit_16(1187);
+emit_16(1253);
+emit_16(1186);
+emit_16(1254);
+emit_16(1188);
+emit_16(1255);
+emit_16(1189);
+emit_16(1255);
+emit_16(1188);
+emit_16(1255);
+emit_16(1189);
+emit_16(1256);
+emit_16(1190);
+emit_16(1256);
+emit_16(1189);
+emit_16(1256);
+emit_16(1190);
+emit_16(1257);
+emit_16(1191);
+emit_16(1257);
+emit_16(1190);
+emit_16(1257);
+emit_16(1191);
+emit_16(1258);
+emit_16(1192);
+emit_16(1258);
+emit_16(1191);
+emit_16(1258);
+emit_16(1192);
+emit_16(1259);
+emit_16(1193);
+emit_16(1259);
+emit_16(1192);
+emit_16(1259);
+emit_16(1193);
+emit_16(1260);
+emit_16(1194);
+emit_16(1260);
+emit_16(1193);
+emit_16(1260);
+emit_16(1194);
+emit_16(1261);
+emit_16(1195);
+emit_16(1261);
+emit_16(1194);
+emit_16(1261);
+emit_16(1195);
+emit_16(1262);
+emit_16(1196);
+emit_16(1262);
+emit_16(1195);
+emit_16(1262);
+emit_16(1196);
+emit_16(1263);
+emit_16(1197);
+emit_16(1263);
+emit_16(1196);
+emit_16(1263);
+emit_16(1197);
+emit_16(1264);
+emit_16(1198);
+emit_16(1264);
+emit_16(1197);
+emit_16(1264);
+emit_16(1198);
+emit_16(1265);
+emit_16(1199);
+emit_16(1265);
+emit_16(1198);
+emit_16(1265);
+emit_16(1199);
+emit_16(1266);
+emit_16(1200);
+emit_16(1266);
+emit_16(1199);
+emit_16(1266);
+emit_16(1200);
+emit_16(1267);
+emit_16(1201);
+emit_16(1267);
+emit_16(1200);
+emit_16(1267);
+emit_16(1201);
+emit_16(1268);
+emit_16(1202);
+emit_16(1268);
+emit_16(1201);
+emit_16(1268);
+emit_16(1202);
+emit_16(1269);
+emit_16(1203);
+emit_16(1269);
+emit_16(1202);
+emit_16(1269);
+emit_16(1203);
+emit_16(1270);
+emit_16(1204);
+emit_16(1270);
+emit_16(1203);
+emit_16(1270);
+emit_16(1204);
+emit_16(1271);
+emit_16(1205);
+emit_16(1271);
+emit_16(1204);
+emit_16(1271);
+emit_16(1205);
+emit_16(1272);
+emit_16(1206);
+emit_16(1272);
+emit_16(1205);
+emit_16(1272);
+emit_16(1206);
+emit_16(1273);
+emit_16(1207);
+emit_16(1273);
+emit_16(1206);
+emit_16(1273);
+emit_16(1207);
+emit_16(1274);
+emit_16(1208);
+emit_16(1274);
+emit_16(1207);
+emit_16(1274);
+emit_16(1208);
+emit_16(1275);
+emit_16(1209);
+emit_16(1275);
+emit_16(1208);
+emit_16(1275);
+emit_16(1209);
+emit_16(1276);
+emit_16(1210);
+emit_16(1276);
+emit_16(1209);
+emit_16(1276);
+emit_16(1210);
+emit_16(1277);
+emit_16(1211);
+emit_16(1277);
+emit_16(1210);
+emit_16(1277);
+emit_16(1211);
+emit_16(1278);
+emit_16(1212);
+emit_16(1278);
+emit_16(1211);
+emit_16(1278);
+emit_16(1212);
+emit_16(1279);
+emit_16(1213);
+emit_16(1279);
+emit_16(1212);
+emit_16(1279);
+emit_16(1213);
+emit_16(1280);
+emit_16(1214);
+emit_16(1280);
+emit_16(1213);
+emit_16(1280);
+emit_16(1214);
+emit_16(1281);
+emit_16(1215);
+emit_16(1281);
+emit_16(1214);
+emit_16(1281);
+emit_16(1215);
+emit_16(1282);
+emit_16(1216);
+emit_16(1282);
+emit_16(1215);
+emit_16(1282);
+emit_16(1216);
+emit_16(1283);
+emit_16(1217);
+emit_16(1283);
+emit_16(1216);
+emit_16(1283);
+emit_16(1217);
+emit_16(1284);
+emit_16(1218);
+emit_16(1284);
+emit_16(1217);
+emit_16(1284);
+emit_16(1218);
+emit_16(1285);
+emit_16(1219);
+emit_16(1285);
+emit_16(1218);
+emit_16(1285);
+emit_16(1219);
+emit_16(1286);
+emit_16(1220);
+emit_16(1286);
+emit_16(1219);
+emit_16(1286);
+emit_16(1220);
+emit_16(1287);
+emit_16(1221);
+emit_16(1287);
+emit_16(1220);
+emit_16(1287);
+emit_16(1221);
+emit_16(1288);
+emit_16(1222);
+emit_16(1288);
+emit_16(1221);
+emit_16(1288);
+emit_16(1222);
+emit_16(1289);
+emit_16(1223);
+emit_16(1289);
+emit_16(1222);
+emit_16(1289);
+emit_16(1223);
+emit_16(1290);
+emit_16(1224);
+emit_16(1290);
+emit_16(1223);
+emit_16(1290);
+emit_16(1224);
+emit_16(1291);
+emit_16(1225);
+emit_16(1291);
+emit_16(1224);
+emit_16(1291);
+emit_16(1225);
+emit_16(1292);
+emit_16(1226);
+emit_16(1292);
+emit_16(1225);
+emit_16(1292);
+emit_16(1226);
+emit_16(1293);
+emit_16(1227);
+emit_16(1293);
+emit_16(1226);
+emit_16(1293);
+emit_16(1227);
+emit_16(1294);
+emit_16(1228);
+emit_16(1294);
+emit_16(1227);
+emit_16(1294);
+emit_16(1228);
+emit_16(1295);
+emit_16(1229);
+emit_16(1295);
+emit_16(1228);
+emit_16(1295);
+emit_16(1229);
+emit_16(1296);
+emit_16(1230);
+emit_16(1296);
+emit_16(1229);
+emit_16(1296);
+emit_16(1230);
+emit_16(1297);
+emit_16(1231);
+emit_16(1297);
+emit_16(1230);
+emit_16(1297);
+emit_16(1231);
+emit_16(1298);
+emit_16(1232);
+emit_16(1298);
+emit_16(1231);
+emit_16(1298);
+emit_16(1232);
+emit_16(1299);
+emit_16(1233);
+emit_16(1299);
+emit_16(1232);
+emit_16(1299);
+emit_16(1233);
+emit_16(1300);
+emit_16(1234);
+emit_16(1300);
+emit_16(1233);
+emit_16(1300);
+emit_16(1234);
+emit_16(1301);
+emit_16(1235);
+emit_16(1301);
+emit_16(1234);
+emit_16(1301);
+emit_16(1235);
+emit_16(1302);
+emit_16(1236);
+emit_16(1302);
+emit_16(1235);
+emit_16(1302);
+emit_16(1236);
+emit_16(1303);
+emit_16(1237);
+emit_16(1303);
+emit_16(1236);
+emit_16(1303);
+emit_16(1237);
+emit_16(1304);
+emit_16(1238);
+emit_16(1304);
+emit_16(1237);
+emit_16(1304);
+emit_16(1238);
+emit_16(1305);
+emit_16(1239);
+emit_16(1305);
+emit_16(1238);
+emit_16(1305);
+emit_16(1239);
+emit_16(1306);
+emit_16(1240);
+emit_16(1306);
+emit_16(1239);
+emit_16(1306);
+emit_16(1240);
+emit_16(1307);
+emit_16(1241);
+emit_16(1307);
+emit_16(1240);
+emit_16(1307);
+emit_16(1241);
+emit_16(1308);
+emit_16(1242);
+emit_16(1308);
+emit_16(1241);
+emit_16(1308);
+emit_16(1242);
+emit_16(1309);
+emit_16(1243);
+emit_16(1309);
+emit_16(1242);
+emit_16(1309);
+emit_16(1243);
+emit_16(1310);
+emit_16(1244);
+emit_16(1310);
+emit_16(1243);
+emit_16(1310);
+emit_16(1244);
+emit_16(1311);
+emit_16(1245);
+emit_16(1311);
+emit_16(1244);
+emit_16(1311);
+emit_16(1245);
+emit_16(1312);
+emit_16(1246);
+emit_16(1312);
+emit_16(1245);
+emit_16(1312);
+emit_16(1246);
+emit_16(1313);
+emit_16(1247);
+emit_16(1313);
+emit_16(1246);
+emit_16(1313);
+emit_16(1247);
+emit_16(1314);
+emit_16(1248);
+emit_16(1314);
+emit_16(1247);
+emit_16(1314);
+emit_16(1248);
+emit_16(1315);
+emit_16(1249);
+emit_16(1315);
+emit_16(1248);
+emit_16(1315);
+emit_16(1249);
+emit_16(1316);
+emit_16(1250);
+emit_16(1316);
+emit_16(1249);
+emit_16(1316);
+emit_16(1250);
+emit_16(1317);
+emit_16(1251);
+emit_16(1317);
+emit_16(1250);
+emit_16(1317);
+emit_16(1251);
+emit_16(1318);
+emit_16(1252);
+emit_16(1318);
+emit_16(1251);
+emit_16(1318);
+emit_16(1252);
+emit_16(1319);
+emit_16(1253);
+emit_16(1319);
+emit_16(1252);
+emit_16(1320);
+emit_16(1254);
+emit_16(1321);
+emit_16(1255);
+emit_16(1321);
+emit_16(1254);
+emit_16(1321);
+emit_16(1255);
+emit_16(1322);
+emit_16(1256);
+emit_16(1322);
+emit_16(1255);
+emit_16(1322);
+emit_16(1256);
+emit_16(1323);
+emit_16(1257);
+emit_16(1323);
+emit_16(1256);
+emit_16(1323);
+emit_16(1257);
+emit_16(1324);
+emit_16(1258);
+emit_16(1324);
+emit_16(1257);
+emit_16(1324);
+emit_16(1258);
+emit_16(1325);
+emit_16(1259);
+emit_16(1325);
+emit_16(1258);
+emit_16(1325);
+emit_16(1259);
+emit_16(1326);
+emit_16(1260);
+emit_16(1326);
+emit_16(1259);
+emit_16(1326);
+emit_16(1260);
+emit_16(1327);
+emit_16(1261);
+emit_16(1327);
+emit_16(1260);
+emit_16(1327);
+emit_16(1261);
+emit_16(1328);
+emit_16(1262);
+emit_16(1328);
+emit_16(1261);
+emit_16(1328);
+emit_16(1262);
+emit_16(1329);
+emit_16(1263);
+emit_16(1329);
+emit_16(1262);
+emit_16(1329);
+emit_16(1263);
+emit_16(1330);
+emit_16(1264);
+emit_16(1330);
+emit_16(1263);
+emit_16(1330);
+emit_16(1264);
+emit_16(1331);
+emit_16(1265);
+emit_16(1331);
+emit_16(1264);
+emit_16(1331);
+emit_16(1265);
+emit_16(1332);
+emit_16(1266);
+emit_16(1332);
+emit_16(1265);
+emit_16(1332);
+emit_16(1266);
+emit_16(1333);
+emit_16(1267);
+emit_16(1333);
+emit_16(1266);
+emit_16(1333);
+emit_16(1267);
+emit_16(1334);
+emit_16(1268);
+emit_16(1334);
+emit_16(1267);
+emit_16(1334);
+emit_16(1268);
+emit_16(1335);
+emit_16(1269);
+emit_16(1335);
+emit_16(1268);
+emit_16(1335);
+emit_16(1269);
+emit_16(1336);
+emit_16(1270);
+emit_16(1336);
+emit_16(1269);
+emit_16(1336);
+emit_16(1270);
+emit_16(1337);
+emit_16(1271);
+emit_16(1337);
+emit_16(1270);
+emit_16(1337);
+emit_16(1271);
+emit_16(1338);
+emit_16(1272);
+emit_16(1338);
+emit_16(1271);
+emit_16(1338);
+emit_16(1272);
+emit_16(1339);
+emit_16(1273);
+emit_16(1339);
+emit_16(1272);
+emit_16(1339);
+emit_16(1273);
+emit_16(1340);
+emit_16(1274);
+emit_16(1340);
+emit_16(1273);
+emit_16(1340);
+emit_16(1274);
+emit_16(1341);
+emit_16(1275);
+emit_16(1341);
+emit_16(1274);
+emit_16(1341);
+emit_16(1275);
+emit_16(1342);
+emit_16(1276);
+emit_16(1342);
+emit_16(1275);
+emit_16(1342);
+emit_16(1276);
+emit_16(1343);
+emit_16(1277);
+emit_16(1343);
+emit_16(1276);
+emit_16(1343);
+emit_16(1277);
+emit_16(1344);
+emit_16(1278);
+emit_16(1344);
+emit_16(1277);
+emit_16(1344);
+emit_16(1278);
+emit_16(1345);
+emit_16(1279);
+emit_16(1345);
+emit_16(1278);
+emit_16(1345);
+emit_16(1279);
+emit_16(1346);
+emit_16(1280);
+emit_16(1346);
+emit_16(1279);
+emit_16(1346);
+emit_16(1280);
+emit_16(1347);
+emit_16(1281);
+emit_16(1347);
+emit_16(1280);
+emit_16(1347);
+emit_16(1281);
+emit_16(1348);
+emit_16(1282);
+emit_16(1348);
+emit_16(1281);
+emit_16(1348);
+emit_16(1282);
+emit_16(1349);
+emit_16(1283);
+emit_16(1349);
+emit_16(1282);
+emit_16(1349);
+emit_16(1283);
+emit_16(1350);
+emit_16(1284);
+emit_16(1350);
+emit_16(1283);
+emit_16(1350);
+emit_16(1284);
+emit_16(1351);
+emit_16(1285);
+emit_16(1351);
+emit_16(1284);
+emit_16(1351);
+emit_16(1285);
+emit_16(1352);
+emit_16(1286);
+emit_16(1352);
+emit_16(1285);
+emit_16(1352);
+emit_16(1286);
+emit_16(1353);
+emit_16(1287);
+emit_16(1353);
+emit_16(1286);
+emit_16(1353);
+emit_16(1287);
+emit_16(1354);
+emit_16(1288);
+emit_16(1354);
+emit_16(1287);
+emit_16(1354);
+emit_16(1288);
+emit_16(1355);
+emit_16(1289);
+emit_16(1355);
+emit_16(1288);
+emit_16(1355);
+emit_16(1289);
+emit_16(1356);
+emit_16(1290);
+emit_16(1356);
+emit_16(1289);
+emit_16(1356);
+emit_16(1290);
+emit_16(1357);
+emit_16(1291);
+emit_16(1357);
+emit_16(1290);
+emit_16(1357);
+emit_16(1291);
+emit_16(1358);
+emit_16(1292);
+emit_16(1358);
+emit_16(1291);
+emit_16(1358);
+emit_16(1292);
+emit_16(1359);
+emit_16(1293);
+emit_16(1359);
+emit_16(1292);
+emit_16(1359);
+emit_16(1293);
+emit_16(1360);
+emit_16(1294);
+emit_16(1360);
+emit_16(1293);
+emit_16(1360);
+emit_16(1294);
+emit_16(1361);
+emit_16(1295);
+emit_16(1361);
+emit_16(1294);
+emit_16(1361);
+emit_16(1295);
+emit_16(1362);
+emit_16(1296);
+emit_16(1362);
+emit_16(1295);
+emit_16(1362);
+emit_16(1296);
+emit_16(1363);
+emit_16(1297);
+emit_16(1363);
+emit_16(1296);
+emit_16(1363);
+emit_16(1297);
+emit_16(1364);
+emit_16(1298);
+emit_16(1364);
+emit_16(1297);
+emit_16(1364);
+emit_16(1298);
+emit_16(1365);
+emit_16(1299);
+emit_16(1365);
+emit_16(1298);
+emit_16(1365);
+emit_16(1299);
+emit_16(1366);
+emit_16(1300);
+emit_16(1366);
+emit_16(1299);
+emit_16(1366);
+emit_16(1300);
+emit_16(1367);
+emit_16(1301);
+emit_16(1367);
+emit_16(1300);
+emit_16(1367);
+emit_16(1301);
+emit_16(1368);
+emit_16(1302);
+emit_16(1368);
+emit_16(1301);
+emit_16(1368);
+emit_16(1302);
+emit_16(1369);
+emit_16(1303);
+emit_16(1369);
+emit_16(1302);
+emit_16(1369);
+emit_16(1303);
+emit_16(1370);
+emit_16(1304);
+emit_16(1370);
+emit_16(1303);
+emit_16(1370);
+emit_16(1304);
+emit_16(1371);
+emit_16(1305);
+emit_16(1371);
+emit_16(1304);
+emit_16(1371);
+emit_16(1305);
+emit_16(1372);
+emit_16(1306);
+emit_16(1372);
+emit_16(1305);
+emit_16(1372);
+emit_16(1306);
+emit_16(1373);
+emit_16(1307);
+emit_16(1373);
+emit_16(1306);
+emit_16(1373);
+emit_16(1307);
+emit_16(1374);
+emit_16(1308);
+emit_16(1374);
+emit_16(1307);
+emit_16(1374);
+emit_16(1308);
+emit_16(1375);
+emit_16(1309);
+emit_16(1375);
+emit_16(1308);
+emit_16(1375);
+emit_16(1309);
+emit_16(1376);
+emit_16(1310);
+emit_16(1376);
+emit_16(1309);
+emit_16(1376);
+emit_16(1310);
+emit_16(1377);
+emit_16(1311);
+emit_16(1377);
+emit_16(1310);
+emit_16(1377);
+emit_16(1311);
+emit_16(1378);
+emit_16(1312);
+emit_16(1378);
+emit_16(1311);
+emit_16(1378);
+emit_16(1312);
+emit_16(1379);
+emit_16(1313);
+emit_16(1379);
+emit_16(1312);
+emit_16(1379);
+emit_16(1313);
+emit_16(1380);
+emit_16(1314);
+emit_16(1380);
+emit_16(1313);
+emit_16(1380);
+emit_16(1314);
+emit_16(1381);
+emit_16(1315);
+emit_16(1381);
+emit_16(1314);
+emit_16(1381);
+emit_16(1315);
+emit_16(1382);
+emit_16(1316);
+emit_16(1382);
+emit_16(1315);
+emit_16(1382);
+emit_16(1316);
+emit_16(1383);
+emit_16(1317);
+emit_16(1383);
+emit_16(1316);
+emit_16(1383);
+emit_16(1317);
+emit_16(1384);
+emit_16(1318);
+emit_16(1384);
+emit_16(1317);
+emit_16(1384);
+emit_16(1318);
+emit_16(1385);
+emit_16(1319);
+emit_16(1385);
+emit_16(1318);
+emit_16(1386);
+emit_16(1320);
+emit_16(1387);
+emit_16(1321);
+emit_16(1387);
+emit_16(1320);
+emit_16(1387);
+emit_16(1321);
+emit_16(1388);
+emit_16(1322);
+emit_16(1388);
+emit_16(1321);
+emit_16(1388);
+emit_16(1322);
+emit_16(1389);
+emit_16(1323);
+emit_16(1389);
+emit_16(1322);
+emit_16(1389);
+emit_16(1323);
+emit_16(1390);
+emit_16(1324);
+emit_16(1390);
+emit_16(1323);
+emit_16(1390);
+emit_16(1324);
+emit_16(1391);
+emit_16(1325);
+emit_16(1391);
+emit_16(1324);
+emit_16(1391);
+emit_16(1325);
+emit_16(1392);
+emit_16(1326);
+emit_16(1392);
+emit_16(1325);
+emit_16(1392);
+emit_16(1326);
+emit_16(1393);
+emit_16(1327);
+emit_16(1393);
+emit_16(1326);
+emit_16(1393);
+emit_16(1327);
+emit_16(1394);
+emit_16(1328);
+emit_16(1394);
+emit_16(1327);
+emit_16(1394);
+emit_16(1328);
+emit_16(1395);
+emit_16(1329);
+emit_16(1395);
+emit_16(1328);
+emit_16(1395);
+emit_16(1329);
+emit_16(1396);
+emit_16(1330);
+emit_16(1396);
+emit_16(1329);
+emit_16(1396);
+emit_16(1330);
+emit_16(1397);
+emit_16(1331);
+emit_16(1397);
+emit_16(1330);
+emit_16(1397);
+emit_16(1331);
+emit_16(1398);
+emit_16(1332);
+emit_16(1398);
+emit_16(1331);
+emit_16(1398);
+emit_16(1332);
+emit_16(1399);
+emit_16(1333);
+emit_16(1399);
+emit_16(1332);
+emit_16(1399);
+emit_16(1333);
+emit_16(1400);
+emit_16(1334);
+emit_16(1400);
+emit_16(1333);
+emit_16(1400);
+emit_16(1334);
+emit_16(1401);
+emit_16(1335);
+emit_16(1401);
+emit_16(1334);
+emit_16(1401);
+emit_16(1335);
+emit_16(1402);
+emit_16(1336);
+emit_16(1402);
+emit_16(1335);
+emit_16(1402);
+emit_16(1336);
+emit_16(1403);
+emit_16(1337);
+emit_16(1403);
+emit_16(1336);
+emit_16(1403);
+emit_16(1337);
+emit_16(1404);
+emit_16(1338);
+emit_16(1404);
+emit_16(1337);
+emit_16(1404);
+emit_16(1338);
+emit_16(1405);
+emit_16(1339);
+emit_16(1405);
+emit_16(1338);
+emit_16(1405);
+emit_16(1339);
+emit_16(1406);
+emit_16(1340);
+emit_16(1406);
+emit_16(1339);
+emit_16(1406);
+emit_16(1340);
+emit_16(1407);
+emit_16(1341);
+emit_16(1407);
+emit_16(1340);
+emit_16(1407);
+emit_16(1341);
+emit_16(1408);
+emit_16(1342);
+emit_16(1408);
+emit_16(1341);
+emit_16(1408);
+emit_16(1342);
+emit_16(1409);
+emit_16(1343);
+emit_16(1409);
+emit_16(1342);
+emit_16(1409);
+emit_16(1343);
+emit_16(1410);
+emit_16(1344);
+emit_16(1410);
+emit_16(1343);
+emit_16(1410);
+emit_16(1344);
+emit_16(1411);
+emit_16(1345);
+emit_16(1411);
+emit_16(1344);
+emit_16(1411);
+emit_16(1345);
+emit_16(1412);
+emit_16(1346);
+emit_16(1412);
+emit_16(1345);
+emit_16(1412);
+emit_16(1346);
+emit_16(1413);
+emit_16(1347);
+emit_16(1413);
+emit_16(1346);
+emit_16(1413);
+emit_16(1347);
+emit_16(1414);
+emit_16(1348);
+emit_16(1414);
+emit_16(1347);
+emit_16(1414);
+emit_16(1348);
+emit_16(1415);
+emit_16(1349);
+emit_16(1415);
+emit_16(1348);
+emit_16(1415);
+emit_16(1349);
+emit_16(1416);
+emit_16(1350);
+emit_16(1416);
+emit_16(1349);
+emit_16(1416);
+emit_16(1350);
+emit_16(1417);
+emit_16(1351);
+emit_16(1417);
+emit_16(1350);
+emit_16(1417);
+emit_16(1351);
+emit_16(1418);
+emit_16(1352);
+emit_16(1418);
+emit_16(1351);
+emit_16(1418);
+emit_16(1352);
+emit_16(1419);
+emit_16(1353);
+emit_16(1419);
+emit_16(1352);
+emit_16(1419);
+emit_16(1353);
+emit_16(1420);
+emit_16(1354);
+emit_16(1420);
+emit_16(1353);
+emit_16(1420);
+emit_16(1354);
+emit_16(1421);
+emit_16(1355);
+emit_16(1421);
+emit_16(1354);
+emit_16(1421);
+emit_16(1355);
+emit_16(1422);
+emit_16(1356);
+emit_16(1422);
+emit_16(1355);
+emit_16(1422);
+emit_16(1356);
+emit_16(1423);
+emit_16(1357);
+emit_16(1423);
+emit_16(1356);
+emit_16(1423);
+emit_16(1357);
+emit_16(1424);
+emit_16(1358);
+emit_16(1424);
+emit_16(1357);
+emit_16(1424);
+emit_16(1358);
+emit_16(1425);
+emit_16(1359);
+emit_16(1425);
+emit_16(1358);
+emit_16(1425);
+emit_16(1359);
+emit_16(1426);
+emit_16(1360);
+emit_16(1426);
+emit_16(1359);
+emit_16(1426);
+emit_16(1360);
+emit_16(1427);
+emit_16(1361);
+emit_16(1427);
+emit_16(1360);
+emit_16(1427);
+emit_16(1361);
+emit_16(1428);
+emit_16(1362);
+emit_16(1428);
+emit_16(1361);
+emit_16(1428);
+emit_16(1362);
+emit_16(1429);
+emit_16(1363);
+emit_16(1429);
+emit_16(1362);
+emit_16(1429);
+emit_16(1363);
+emit_16(1430);
+emit_16(1364);
+emit_16(1430);
+emit_16(1363);
+emit_16(1430);
+emit_16(1364);
+emit_16(1431);
+emit_16(1365);
+emit_16(1431);
+emit_16(1364);
+emit_16(1431);
+emit_16(1365);
+emit_16(1432);
+emit_16(1366);
+emit_16(1432);
+emit_16(1365);
+emit_16(1432);
+emit_16(1366);
+emit_16(1433);
+emit_16(1367);
+emit_16(1433);
+emit_16(1366);
+emit_16(1433);
+emit_16(1367);
+emit_16(1434);
+emit_16(1368);
+emit_16(1434);
+emit_16(1367);
+emit_16(1434);
+emit_16(1368);
+emit_16(1435);
+emit_16(1369);
+emit_16(1435);
+emit_16(1368);
+emit_16(1435);
+emit_16(1369);
+emit_16(1436);
+emit_16(1370);
+emit_16(1436);
+emit_16(1369);
+emit_16(1436);
+emit_16(1370);
+emit_16(1437);
+emit_16(1371);
+emit_16(1437);
+emit_16(1370);
+emit_16(1437);
+emit_16(1371);
+emit_16(1438);
+emit_16(1372);
+emit_16(1438);
+emit_16(1371);
+emit_16(1438);
+emit_16(1372);
+emit_16(1439);
+emit_16(1373);
+emit_16(1439);
+emit_16(1372);
+emit_16(1439);
+emit_16(1373);
+emit_16(1440);
+emit_16(1374);
+emit_16(1440);
+emit_16(1373);
+emit_16(1440);
+emit_16(1374);
+emit_16(1441);
+emit_16(1375);
+emit_16(1441);
+emit_16(1374);
+emit_16(1441);
+emit_16(1375);
+emit_16(1442);
+emit_16(1376);
+emit_16(1442);
+emit_16(1375);
+emit_16(1442);
+emit_16(1376);
+emit_16(1443);
+emit_16(1377);
+emit_16(1443);
+emit_16(1376);
+emit_16(1443);
+emit_16(1377);
+emit_16(1444);
+emit_16(1378);
+emit_16(1444);
+emit_16(1377);
+emit_16(1444);
+emit_16(1378);
+emit_16(1445);
+emit_16(1379);
+emit_16(1445);
+emit_16(1378);
+emit_16(1445);
+emit_16(1379);
+emit_16(1446);
+emit_16(1380);
+emit_16(1446);
+emit_16(1379);
+emit_16(1446);
+emit_16(1380);
+emit_16(1447);
+emit_16(1381);
+emit_16(1447);
+emit_16(1380);
+emit_16(1447);
+emit_16(1381);
+emit_16(1448);
+emit_16(1382);
+emit_16(1448);
+emit_16(1381);
+emit_16(1448);
+emit_16(1382);
+emit_16(1449);
+emit_16(1383);
+emit_16(1449);
+emit_16(1382);
+emit_16(1449);
+emit_16(1383);
+emit_16(1450);
+emit_16(1384);
+emit_16(1450);
+emit_16(1383);
+emit_16(1450);
+emit_16(1384);
+emit_16(1451);
+emit_16(1385);
+emit_16(1451);
+emit_16(1384);
+emit_16(1452);
+emit_16(1386);
+emit_16(1453);
+emit_16(1387);
+emit_16(1453);
+emit_16(1386);
+emit_16(1453);
+emit_16(1387);
+emit_16(1454);
+emit_16(1388);
+emit_16(1454);
+emit_16(1387);
+emit_16(1454);
+emit_16(1388);
+emit_16(1455);
+emit_16(1389);
+emit_16(1455);
+emit_16(1388);
+emit_16(1455);
+emit_16(1389);
+emit_16(1456);
+emit_16(1390);
+emit_16(1456);
+emit_16(1389);
+emit_16(1456);
+emit_16(1390);
+emit_16(1457);
+emit_16(1391);
+emit_16(1457);
+emit_16(1390);
+emit_16(1457);
+emit_16(1391);
+emit_16(1458);
+emit_16(1392);
+emit_16(1458);
+emit_16(1391);
+emit_16(1458);
+emit_16(1392);
+emit_16(1459);
+emit_16(1393);
+emit_16(1459);
+emit_16(1392);
+emit_16(1459);
+emit_16(1393);
+emit_16(1460);
+emit_16(1394);
+emit_16(1460);
+emit_16(1393);
+emit_16(1460);
+emit_16(1394);
+emit_16(1461);
+emit_16(1395);
+emit_16(1461);
+emit_16(1394);
+emit_16(1461);
+emit_16(1395);
+emit_16(1462);
+emit_16(1396);
+emit_16(1462);
+emit_16(1395);
+emit_16(1462);
+emit_16(1396);
+emit_16(1463);
+emit_16(1397);
+emit_16(1463);
+emit_16(1396);
+emit_16(1463);
+emit_16(1397);
+emit_16(1464);
+emit_16(1398);
+emit_16(1464);
+emit_16(1397);
+emit_16(1464);
+emit_16(1398);
+emit_16(1465);
+emit_16(1399);
+emit_16(1465);
+emit_16(1398);
+emit_16(1465);
+emit_16(1399);
+emit_16(1466);
+emit_16(1400);
+emit_16(1466);
+emit_16(1399);
+emit_16(1466);
+emit_16(1400);
+emit_16(1467);
+emit_16(1401);
+emit_16(1467);
+emit_16(1400);
+emit_16(1467);
+emit_16(1401);
+emit_16(1468);
+emit_16(1402);
+emit_16(1468);
+emit_16(1401);
+emit_16(1468);
+emit_16(1402);
+emit_16(1469);
+emit_16(1403);
+emit_16(1469);
+emit_16(1402);
+emit_16(1469);
+emit_16(1403);
+emit_16(1470);
+emit_16(1404);
+emit_16(1470);
+emit_16(1403);
+emit_16(1470);
+emit_16(1404);
+emit_16(1471);
+emit_16(1405);
+emit_16(1471);
+emit_16(1404);
+emit_16(1471);
+emit_16(1405);
+emit_16(1472);
+emit_16(1406);
+emit_16(1472);
+emit_16(1405);
+emit_16(1472);
+emit_16(1406);
+emit_16(1473);
+emit_16(1407);
+emit_16(1473);
+emit_16(1406);
+emit_16(1473);
+emit_16(1407);
+emit_16(1474);
+emit_16(1408);
+emit_16(1474);
+emit_16(1407);
+emit_16(1474);
+emit_16(1408);
+emit_16(1475);
+emit_16(1409);
+emit_16(1475);
+emit_16(1408);
+emit_16(1475);
+emit_16(1409);
+emit_16(1476);
+emit_16(1410);
+emit_16(1476);
+emit_16(1409);
+emit_16(1476);
+emit_16(1410);
+emit_16(1477);
+emit_16(1411);
+emit_16(1477);
+emit_16(1410);
+emit_16(1477);
+emit_16(1411);
+emit_16(1478);
+emit_16(1412);
+emit_16(1478);
+emit_16(1411);
+emit_16(1478);
+emit_16(1412);
+emit_16(1479);
+emit_16(1413);
+emit_16(1479);
+emit_16(1412);
+emit_16(1479);
+emit_16(1413);
+emit_16(1480);
+emit_16(1414);
+emit_16(1480);
+emit_16(1413);
+emit_16(1480);
+emit_16(1414);
+emit_16(1481);
+emit_16(1415);
+emit_16(1481);
+emit_16(1414);
+emit_16(1481);
+emit_16(1415);
+emit_16(1482);
+emit_16(1416);
+emit_16(1482);
+emit_16(1415);
+emit_16(1482);
+emit_16(1416);
+emit_16(1483);
+emit_16(1417);
+emit_16(1483);
+emit_16(1416);
+emit_16(1483);
+emit_16(1417);
+emit_16(1484);
+emit_16(1418);
+emit_16(1484);
+emit_16(1417);
+emit_16(1484);
+emit_16(1418);
+emit_16(1485);
+emit_16(1419);
+emit_16(1485);
+emit_16(1418);
+emit_16(1485);
+emit_16(1419);
+emit_16(1486);
+emit_16(1420);
+emit_16(1486);
+emit_16(1419);
+emit_16(1486);
+emit_16(1420);
+emit_16(1487);
+emit_16(1421);
+emit_16(1487);
+emit_16(1420);
+emit_16(1487);
+emit_16(1421);
+emit_16(1488);
+emit_16(1422);
+emit_16(1488);
+emit_16(1421);
+emit_16(1488);
+emit_16(1422);
+emit_16(1489);
+emit_16(1423);
+emit_16(1489);
+emit_16(1422);
+emit_16(1489);
+emit_16(1423);
+emit_16(1490);
+emit_16(1424);
+emit_16(1490);
+emit_16(1423);
+emit_16(1490);
+emit_16(1424);
+emit_16(1491);
+emit_16(1425);
+emit_16(1491);
+emit_16(1424);
+emit_16(1491);
+emit_16(1425);
+emit_16(1492);
+emit_16(1426);
+emit_16(1492);
+emit_16(1425);
+emit_16(1492);
+emit_16(1426);
+emit_16(1493);
+emit_16(1427);
+emit_16(1493);
+emit_16(1426);
+emit_16(1493);
+emit_16(1427);
+emit_16(1494);
+emit_16(1428);
+emit_16(1494);
+emit_16(1427);
+emit_16(1494);
+emit_16(1428);
+emit_16(1495);
+emit_16(1429);
+emit_16(1495);
+emit_16(1428);
+emit_16(1495);
+emit_16(1429);
+emit_16(1496);
+emit_16(1430);
+emit_16(1496);
+emit_16(1429);
+emit_16(1496);
+emit_16(1430);
+emit_16(1497);
+emit_16(1431);
+emit_16(1497);
+emit_16(1430);
+emit_16(1497);
+emit_16(1431);
+emit_16(1498);
+emit_16(1432);
+emit_16(1498);
+emit_16(1431);
+emit_16(1498);
+emit_16(1432);
+emit_16(1499);
+emit_16(1433);
+emit_16(1499);
+emit_16(1432);
+emit_16(1499);
+emit_16(1433);
+emit_16(1500);
+emit_16(1434);
+emit_16(1500);
+emit_16(1433);
+emit_16(1500);
+emit_16(1434);
+emit_16(1501);
+emit_16(1435);
+emit_16(1501);
+emit_16(1434);
+emit_16(1501);
+emit_16(1435);
+emit_16(1502);
+emit_16(1436);
+emit_16(1502);
+emit_16(1435);
+emit_16(1502);
+emit_16(1436);
+emit_16(1503);
+emit_16(1437);
+emit_16(1503);
+emit_16(1436);
+emit_16(1503);
+emit_16(1437);
+emit_16(1504);
+emit_16(1438);
+emit_16(1504);
+emit_16(1437);
+emit_16(1504);
+emit_16(1438);
+emit_16(1505);
+emit_16(1439);
+emit_16(1505);
+emit_16(1438);
+emit_16(1505);
+emit_16(1439);
+emit_16(1506);
+emit_16(1440);
+emit_16(1506);
+emit_16(1439);
+emit_16(1506);
+emit_16(1440);
+emit_16(1507);
+emit_16(1441);
+emit_16(1507);
+emit_16(1440);
+emit_16(1507);
+emit_16(1441);
+emit_16(1508);
+emit_16(1442);
+emit_16(1508);
+emit_16(1441);
+emit_16(1508);
+emit_16(1442);
+emit_16(1509);
+emit_16(1443);
+emit_16(1509);
+emit_16(1442);
+emit_16(1509);
+emit_16(1443);
+emit_16(1510);
+emit_16(1444);
+emit_16(1510);
+emit_16(1443);
+emit_16(1510);
+emit_16(1444);
+emit_16(1511);
+emit_16(1445);
+emit_16(1511);
+emit_16(1444);
+emit_16(1511);
+emit_16(1445);
+emit_16(1512);
+emit_16(1446);
+emit_16(1512);
+emit_16(1445);
+emit_16(1512);
+emit_16(1446);
+emit_16(1513);
+emit_16(1447);
+emit_16(1513);
+emit_16(1446);
+emit_16(1513);
+emit_16(1447);
+emit_16(1514);
+emit_16(1448);
+emit_16(1514);
+emit_16(1447);
+emit_16(1514);
+emit_16(1448);
+emit_16(1515);
+emit_16(1449);
+emit_16(1515);
+emit_16(1448);
+emit_16(1515);
+emit_16(1449);
+emit_16(1516);
+emit_16(1450);
+emit_16(1516);
+emit_16(1449);
+emit_16(1516);
+emit_16(1450);
+emit_16(1517);
+emit_16(1451);
+emit_16(1517);
+emit_16(1450);
+emit_16(1518);
+emit_16(1452);
+emit_16(1519);
+emit_16(1453);
+emit_16(1519);
+emit_16(1452);
+emit_16(1519);
+emit_16(1453);
+emit_16(1520);
+emit_16(1454);
+emit_16(1520);
+emit_16(1453);
+emit_16(1520);
+emit_16(1454);
+emit_16(1521);
+emit_16(1455);
+emit_16(1521);
+emit_16(1454);
+emit_16(1521);
+emit_16(1455);
+emit_16(1522);
+emit_16(1456);
+emit_16(1522);
+emit_16(1455);
+emit_16(1522);
+emit_16(1456);
+emit_16(1523);
+emit_16(1457);
+emit_16(1523);
+emit_16(1456);
+emit_16(1523);
+emit_16(1457);
+emit_16(1524);
+emit_16(1458);
+emit_16(1524);
+emit_16(1457);
+emit_16(1524);
+emit_16(1458);
+emit_16(1525);
+emit_16(1459);
+emit_16(1525);
+emit_16(1458);
+emit_16(1525);
+emit_16(1459);
+emit_16(1526);
+emit_16(1460);
+emit_16(1526);
+emit_16(1459);
+emit_16(1526);
+emit_16(1460);
+emit_16(1527);
+emit_16(1461);
+emit_16(1527);
+emit_16(1460);
+emit_16(1527);
+emit_16(1461);
+emit_16(1528);
+emit_16(1462);
+emit_16(1528);
+emit_16(1461);
+emit_16(1528);
+emit_16(1462);
+emit_16(1529);
+emit_16(1463);
+emit_16(1529);
+emit_16(1462);
+emit_16(1529);
+emit_16(1463);
+emit_16(1530);
+emit_16(1464);
+emit_16(1530);
+emit_16(1463);
+emit_16(1530);
+emit_16(1464);
+emit_16(1531);
+emit_16(1465);
+emit_16(1531);
+emit_16(1464);
+emit_16(1531);
+emit_16(1465);
+emit_16(1532);
+emit_16(1466);
+emit_16(1532);
+emit_16(1465);
+emit_16(1532);
+emit_16(1466);
+emit_16(1533);
+emit_16(1467);
+emit_16(1533);
+emit_16(1466);
+emit_16(1533);
+emit_16(1467);
+emit_16(1534);
+emit_16(1468);
+emit_16(1534);
+emit_16(1467);
+emit_16(1534);
+emit_16(1468);
+emit_16(1535);
+emit_16(1469);
+emit_16(1535);
+emit_16(1468);
+emit_16(1535);
+emit_16(1469);
+emit_16(1536);
+emit_16(1470);
+emit_16(1536);
+emit_16(1469);
+emit_16(1536);
+emit_16(1470);
+emit_16(1537);
+emit_16(1471);
+emit_16(1537);
+emit_16(1470);
+emit_16(1537);
+emit_16(1471);
+emit_16(1538);
+emit_16(1472);
+emit_16(1538);
+emit_16(1471);
+emit_16(1538);
+emit_16(1472);
+emit_16(1539);
+emit_16(1473);
+emit_16(1539);
+emit_16(1472);
+emit_16(1539);
+emit_16(1473);
+emit_16(1540);
+emit_16(1474);
+emit_16(1540);
+emit_16(1473);
+emit_16(1540);
+emit_16(1474);
+emit_16(1541);
+emit_16(1475);
+emit_16(1541);
+emit_16(1474);
+emit_16(1541);
+emit_16(1475);
+emit_16(1542);
+emit_16(1476);
+emit_16(1542);
+emit_16(1475);
+emit_16(1542);
+emit_16(1476);
+emit_16(1543);
+emit_16(1477);
+emit_16(1543);
+emit_16(1476);
+emit_16(1543);
+emit_16(1477);
+emit_16(1544);
+emit_16(1478);
+emit_16(1544);
+emit_16(1477);
+emit_16(1544);
+emit_16(1478);
+emit_16(1545);
+emit_16(1479);
+emit_16(1545);
+emit_16(1478);
+emit_16(1545);
+emit_16(1479);
+emit_16(1546);
+emit_16(1480);
+emit_16(1546);
+emit_16(1479);
+emit_16(1546);
+emit_16(1480);
+emit_16(1547);
+emit_16(1481);
+emit_16(1547);
+emit_16(1480);
+emit_16(1547);
+emit_16(1481);
+emit_16(1548);
+emit_16(1482);
+emit_16(1548);
+emit_16(1481);
+emit_16(1548);
+emit_16(1482);
+emit_16(1549);
+emit_16(1483);
+emit_16(1549);
+emit_16(1482);
+emit_16(1549);
+emit_16(1483);
+emit_16(1550);
+emit_16(1484);
+emit_16(1550);
+emit_16(1483);
+emit_16(1550);
+emit_16(1484);
+emit_16(1551);
+emit_16(1485);
+emit_16(1551);
+emit_16(1484);
+emit_16(1551);
+emit_16(1485);
+emit_16(1552);
+emit_16(1486);
+emit_16(1552);
+emit_16(1485);
+emit_16(1552);
+emit_16(1486);
+emit_16(1553);
+emit_16(1487);
+emit_16(1553);
+emit_16(1486);
+emit_16(1553);
+emit_16(1487);
+emit_16(1554);
+emit_16(1488);
+emit_16(1554);
+emit_16(1487);
+emit_16(1554);
+emit_16(1488);
+emit_16(1555);
+emit_16(1489);
+emit_16(1555);
+emit_16(1488);
+emit_16(1555);
+emit_16(1489);
+emit_16(1556);
+emit_16(1490);
+emit_16(1556);
+emit_16(1489);
+emit_16(1556);
+emit_16(1490);
+emit_16(1557);
+emit_16(1491);
+emit_16(1557);
+emit_16(1490);
+emit_16(1557);
+emit_16(1491);
+emit_16(1558);
+emit_16(1492);
+emit_16(1558);
+emit_16(1491);
+emit_16(1558);
+emit_16(1492);
+emit_16(1559);
+emit_16(1493);
+emit_16(1559);
+emit_16(1492);
+emit_16(1559);
+emit_16(1493);
+emit_16(1560);
+emit_16(1494);
+emit_16(1560);
+emit_16(1493);
+emit_16(1560);
+emit_16(1494);
+emit_16(1561);
+emit_16(1495);
+emit_16(1561);
+emit_16(1494);
+emit_16(1561);
+emit_16(1495);
+emit_16(1562);
+emit_16(1496);
+emit_16(1562);
+emit_16(1495);
+emit_16(1562);
+emit_16(1496);
+emit_16(1563);
+emit_16(1497);
+emit_16(1563);
+emit_16(1496);
+emit_16(1563);
+emit_16(1497);
+emit_16(1564);
+emit_16(1498);
+emit_16(1564);
+emit_16(1497);
+emit_16(1564);
+emit_16(1498);
+emit_16(1565);
+emit_16(1499);
+emit_16(1565);
+emit_16(1498);
+emit_16(1565);
+emit_16(1499);
+emit_16(1566);
+emit_16(1500);
+emit_16(1566);
+emit_16(1499);
+emit_16(1566);
+emit_16(1500);
+emit_16(1567);
+emit_16(1501);
+emit_16(1567);
+emit_16(1500);
+emit_16(1567);
+emit_16(1501);
+emit_16(1568);
+emit_16(1502);
+emit_16(1568);
+emit_16(1501);
+emit_16(1568);
+emit_16(1502);
+emit_16(1569);
+emit_16(1503);
+emit_16(1569);
+emit_16(1502);
+emit_16(1569);
+emit_16(1503);
+emit_16(1570);
+emit_16(1504);
+emit_16(1570);
+emit_16(1503);
+emit_16(1570);
+emit_16(1504);
+emit_16(1571);
+emit_16(1505);
+emit_16(1571);
+emit_16(1504);
+emit_16(1571);
+emit_16(1505);
+emit_16(1572);
+emit_16(1506);
+emit_16(1572);
+emit_16(1505);
+emit_16(1572);
+emit_16(1506);
+emit_16(1573);
+emit_16(1507);
+emit_16(1573);
+emit_16(1506);
+emit_16(1573);
+emit_16(1507);
+emit_16(1574);
+emit_16(1508);
+emit_16(1574);
+emit_16(1507);
+emit_16(1574);
+emit_16(1508);
+emit_16(1575);
+emit_16(1509);
+emit_16(1575);
+emit_16(1508);
+emit_16(1575);
+emit_16(1509);
+emit_16(1576);
+emit_16(1510);
+emit_16(1576);
+emit_16(1509);
+emit_16(1576);
+emit_16(1510);
+emit_16(1577);
+emit_16(1511);
+emit_16(1577);
+emit_16(1510);
+emit_16(1577);
+emit_16(1511);
+emit_16(1578);
+emit_16(1512);
+emit_16(1578);
+emit_16(1511);
+emit_16(1578);
+emit_16(1512);
+emit_16(1579);
+emit_16(1513);
+emit_16(1579);
+emit_16(1512);
+emit_16(1579);
+emit_16(1513);
+emit_16(1580);
+emit_16(1514);
+emit_16(1580);
+emit_16(1513);
+emit_16(1580);
+emit_16(1514);
+emit_16(1581);
+emit_16(1515);
+emit_16(1581);
+emit_16(1514);
+emit_16(1581);
+emit_16(1515);
+emit_16(1582);
+emit_16(1516);
+emit_16(1582);
+emit_16(1515);
+emit_16(1582);
+emit_16(1516);
+emit_16(1583);
+emit_16(1517);
+emit_16(1583);
+emit_16(1516);
+emit_16(1584);
+emit_16(1518);
+emit_16(1585);
+emit_16(1519);
+emit_16(1585);
+emit_16(1518);
+emit_16(1585);
+emit_16(1519);
+emit_16(1586);
+emit_16(1520);
+emit_16(1586);
+emit_16(1519);
+emit_16(1586);
+emit_16(1520);
+emit_16(1587);
+emit_16(1521);
+emit_16(1587);
+emit_16(1520);
+emit_16(1587);
+emit_16(1521);
+emit_16(1588);
+emit_16(1522);
+emit_16(1588);
+emit_16(1521);
+emit_16(1588);
+emit_16(1522);
+emit_16(1589);
+emit_16(1523);
+emit_16(1589);
+emit_16(1522);
+emit_16(1589);
+emit_16(1523);
+emit_16(1590);
+emit_16(1524);
+emit_16(1590);
+emit_16(1523);
+emit_16(1590);
+emit_16(1524);
+emit_16(1591);
+emit_16(1525);
+emit_16(1591);
+emit_16(1524);
+emit_16(1591);
+emit_16(1525);
+emit_16(1592);
+emit_16(1526);
+emit_16(1592);
+emit_16(1525);
+emit_16(1592);
+emit_16(1526);
+emit_16(1593);
+emit_16(1527);
+emit_16(1593);
+emit_16(1526);
+emit_16(1593);
+emit_16(1527);
+emit_16(1594);
+emit_16(1528);
+emit_16(1594);
+emit_16(1527);
+emit_16(1594);
+emit_16(1528);
+emit_16(1595);
+emit_16(1529);
+emit_16(1595);
+emit_16(1528);
+emit_16(1595);
+emit_16(1529);
+emit_16(1596);
+emit_16(1530);
+emit_16(1596);
+emit_16(1529);
+emit_16(1596);
+emit_16(1530);
+emit_16(1597);
+emit_16(1531);
+emit_16(1597);
+emit_16(1530);
+emit_16(1597);
+emit_16(1531);
+emit_16(1598);
+emit_16(1532);
+emit_16(1598);
+emit_16(1531);
+emit_16(1598);
+emit_16(1532);
+emit_16(1599);
+emit_16(1533);
+emit_16(1599);
+emit_16(1532);
+emit_16(1599);
+emit_16(1533);
+emit_16(1600);
+emit_16(1534);
+emit_16(1600);
+emit_16(1533);
+emit_16(1600);
+emit_16(1534);
+emit_16(1601);
+emit_16(1535);
+emit_16(1601);
+emit_16(1534);
+emit_16(1601);
+emit_16(1535);
+emit_16(1602);
+emit_16(1536);
+emit_16(1602);
+emit_16(1535);
+emit_16(1602);
+emit_16(1536);
+emit_16(1603);
+emit_16(1537);
+emit_16(1603);
+emit_16(1536);
+emit_16(1603);
+emit_16(1537);
+emit_16(1604);
+emit_16(1538);
+emit_16(1604);
+emit_16(1537);
+emit_16(1604);
+emit_16(1538);
+emit_16(1605);
+emit_16(1539);
+emit_16(1605);
+emit_16(1538);
+emit_16(1605);
+emit_16(1539);
+emit_16(1606);
+emit_16(1540);
+emit_16(1606);
+emit_16(1539);
+emit_16(1606);
+emit_16(1540);
+emit_16(1607);
+emit_16(1541);
+emit_16(1607);
+emit_16(1540);
+emit_16(1607);
+emit_16(1541);
+emit_16(1608);
+emit_16(1542);
+emit_16(1608);
+emit_16(1541);
+emit_16(1608);
+emit_16(1542);
+emit_16(1609);
+emit_16(1543);
+emit_16(1609);
+emit_16(1542);
+emit_16(1609);
+emit_16(1543);
+emit_16(1610);
+emit_16(1544);
+emit_16(1610);
+emit_16(1543);
+emit_16(1610);
+emit_16(1544);
+emit_16(1611);
+emit_16(1545);
+emit_16(1611);
+emit_16(1544);
+emit_16(1611);
+emit_16(1545);
+emit_16(1612);
+emit_16(1546);
+emit_16(1612);
+emit_16(1545);
+emit_16(1612);
+emit_16(1546);
+emit_16(1613);
+emit_16(1547);
+emit_16(1613);
+emit_16(1546);
+emit_16(1613);
+emit_16(1547);
+emit_16(1614);
+emit_16(1548);
+emit_16(1614);
+emit_16(1547);
+emit_16(1614);
+emit_16(1548);
+emit_16(1615);
+emit_16(1549);
+emit_16(1615);
+emit_16(1548);
+emit_16(1615);
+emit_16(1549);
+emit_16(1616);
+emit_16(1550);
+emit_16(1616);
+emit_16(1549);
+emit_16(1616);
+emit_16(1550);
+emit_16(1617);
+emit_16(1551);
+emit_16(1617);
+emit_16(1550);
+emit_16(1617);
+emit_16(1551);
+emit_16(1618);
+emit_16(1552);
+emit_16(1618);
+emit_16(1551);
+emit_16(1618);
+emit_16(1552);
+emit_16(1619);
+emit_16(1553);
+emit_16(1619);
+emit_16(1552);
+emit_16(1619);
+emit_16(1553);
+emit_16(1620);
+emit_16(1554);
+emit_16(1620);
+emit_16(1553);
+emit_16(1620);
+emit_16(1554);
+emit_16(1621);
+emit_16(1555);
+emit_16(1621);
+emit_16(1554);
+emit_16(1621);
+emit_16(1555);
+emit_16(1622);
+emit_16(1556);
+emit_16(1622);
+emit_16(1555);
+emit_16(1622);
+emit_16(1556);
+emit_16(1623);
+emit_16(1557);
+emit_16(1623);
+emit_16(1556);
+emit_16(1623);
+emit_16(1557);
+emit_16(1624);
+emit_16(1558);
+emit_16(1624);
+emit_16(1557);
+emit_16(1624);
+emit_16(1558);
+emit_16(1625);
+emit_16(1559);
+emit_16(1625);
+emit_16(1558);
+emit_16(1625);
+emit_16(1559);
+emit_16(1626);
+emit_16(1560);
+emit_16(1626);
+emit_16(1559);
+emit_16(1626);
+emit_16(1560);
+emit_16(1627);
+emit_16(1561);
+emit_16(1627);
+emit_16(1560);
+emit_16(1627);
+emit_16(1561);
+emit_16(1628);
+emit_16(1562);
+emit_16(1628);
+emit_16(1561);
+emit_16(1628);
+emit_16(1562);
+emit_16(1629);
+emit_16(1563);
+emit_16(1629);
+emit_16(1562);
+emit_16(1629);
+emit_16(1563);
+emit_16(1630);
+emit_16(1564);
+emit_16(1630);
+emit_16(1563);
+emit_16(1630);
+emit_16(1564);
+emit_16(1631);
+emit_16(1565);
+emit_16(1631);
+emit_16(1564);
+emit_16(1631);
+emit_16(1565);
+emit_16(1632);
+emit_16(1566);
+emit_16(1632);
+emit_16(1565);
+emit_16(1632);
+emit_16(1566);
+emit_16(1633);
+emit_16(1567);
+emit_16(1633);
+emit_16(1566);
+emit_16(1633);
+emit_16(1567);
+emit_16(1634);
+emit_16(1568);
+emit_16(1634);
+emit_16(1567);
+emit_16(1634);
+emit_16(1568);
+emit_16(1635);
+emit_16(1569);
+emit_16(1635);
+emit_16(1568);
+emit_16(1635);
+emit_16(1569);
+emit_16(1636);
+emit_16(1570);
+emit_16(1636);
+emit_16(1569);
+emit_16(1636);
+emit_16(1570);
+emit_16(1637);
+emit_16(1571);
+emit_16(1637);
+emit_16(1570);
+emit_16(1637);
+emit_16(1571);
+emit_16(1638);
+emit_16(1572);
+emit_16(1638);
+emit_16(1571);
+emit_16(1638);
+emit_16(1572);
+emit_16(1639);
+emit_16(1573);
+emit_16(1639);
+emit_16(1572);
+emit_16(1639);
+emit_16(1573);
+emit_16(1640);
+emit_16(1574);
+emit_16(1640);
+emit_16(1573);
+emit_16(1640);
+emit_16(1574);
+emit_16(1641);
+emit_16(1575);
+emit_16(1641);
+emit_16(1574);
+emit_16(1641);
+emit_16(1575);
+emit_16(1642);
+emit_16(1576);
+emit_16(1642);
+emit_16(1575);
+emit_16(1642);
+emit_16(1576);
+emit_16(1643);
+emit_16(1577);
+emit_16(1643);
+emit_16(1576);
+emit_16(1643);
+emit_16(1577);
+emit_16(1644);
+emit_16(1578);
+emit_16(1644);
+emit_16(1577);
+emit_16(1644);
+emit_16(1578);
+emit_16(1645);
+emit_16(1579);
+emit_16(1645);
+emit_16(1578);
+emit_16(1645);
+emit_16(1579);
+emit_16(1646);
+emit_16(1580);
+emit_16(1646);
+emit_16(1579);
+emit_16(1646);
+emit_16(1580);
+emit_16(1647);
+emit_16(1581);
+emit_16(1647);
+emit_16(1580);
+emit_16(1647);
+emit_16(1581);
+emit_16(1648);
+emit_16(1582);
+emit_16(1648);
+emit_16(1581);
+emit_16(1648);
+emit_16(1582);
+emit_16(1649);
+emit_16(1583);
+emit_16(1649);
+emit_16(1582);
+emit_16(1650);
+emit_16(1584);
+emit_16(1651);
+emit_16(1585);
+emit_16(1651);
+emit_16(1584);
+emit_16(1651);
+emit_16(1585);
+emit_16(1652);
+emit_16(1586);
+emit_16(1652);
+emit_16(1585);
+emit_16(1652);
+emit_16(1586);
+emit_16(1653);
+emit_16(1587);
+emit_16(1653);
+emit_16(1586);
+emit_16(1653);
+emit_16(1587);
+emit_16(1654);
+emit_16(1588);
+emit_16(1654);
+emit_16(1587);
+emit_16(1654);
+emit_16(1588);
+emit_16(1655);
+emit_16(1589);
+emit_16(1655);
+emit_16(1588);
+emit_16(1655);
+emit_16(1589);
+emit_16(1656);
+emit_16(1590);
+emit_16(1656);
+emit_16(1589);
+emit_16(1656);
+emit_16(1590);
+emit_16(1657);
+emit_16(1591);
+emit_16(1657);
+emit_16(1590);
+emit_16(1657);
+emit_16(1591);
+emit_16(1658);
+emit_16(1592);
+emit_16(1658);
+emit_16(1591);
+emit_16(1658);
+emit_16(1592);
+emit_16(1659);
+emit_16(1593);
+emit_16(1659);
+emit_16(1592);
+emit_16(1659);
+emit_16(1593);
+emit_16(1660);
+emit_16(1594);
+emit_16(1660);
+emit_16(1593);
+emit_16(1660);
+emit_16(1594);
+emit_16(1661);
+emit_16(1595);
+emit_16(1661);
+emit_16(1594);
+emit_16(1661);
+emit_16(1595);
+emit_16(1662);
+emit_16(1596);
+emit_16(1662);
+emit_16(1595);
+emit_16(1662);
+emit_16(1596);
+emit_16(1663);
+emit_16(1597);
+emit_16(1663);
+emit_16(1596);
+emit_16(1663);
+emit_16(1597);
+emit_16(1664);
+emit_16(1598);
+emit_16(1664);
+emit_16(1597);
+emit_16(1664);
+emit_16(1598);
+emit_16(1665);
+emit_16(1599);
+emit_16(1665);
+emit_16(1598);
+emit_16(1665);
+emit_16(1599);
+emit_16(1666);
+emit_16(1600);
+emit_16(1666);
+emit_16(1599);
+emit_16(1666);
+emit_16(1600);
+emit_16(1667);
+emit_16(1601);
+emit_16(1667);
+emit_16(1600);
+emit_16(1667);
+emit_16(1601);
+emit_16(1668);
+emit_16(1602);
+emit_16(1668);
+emit_16(1601);
+emit_16(1668);
+emit_16(1602);
+emit_16(1669);
+emit_16(1603);
+emit_16(1669);
+emit_16(1602);
+emit_16(1669);
+emit_16(1603);
+emit_16(1670);
+emit_16(1604);
+emit_16(1670);
+emit_16(1603);
+emit_16(1670);
+emit_16(1604);
+emit_16(1671);
+emit_16(1605);
+emit_16(1671);
+emit_16(1604);
+emit_16(1671);
+emit_16(1605);
+emit_16(1672);
+emit_16(1606);
+emit_16(1672);
+emit_16(1605);
+emit_16(1672);
+emit_16(1606);
+emit_16(1673);
+emit_16(1607);
+emit_16(1673);
+emit_16(1606);
+emit_16(1673);
+emit_16(1607);
+emit_16(1674);
+emit_16(1608);
+emit_16(1674);
+emit_16(1607);
+emit_16(1674);
+emit_16(1608);
+emit_16(1675);
+emit_16(1609);
+emit_16(1675);
+emit_16(1608);
+emit_16(1675);
+emit_16(1609);
+emit_16(1676);
+emit_16(1610);
+emit_16(1676);
+emit_16(1609);
+emit_16(1676);
+emit_16(1610);
+emit_16(1677);
+emit_16(1611);
+emit_16(1677);
+emit_16(1610);
+emit_16(1677);
+emit_16(1611);
+emit_16(1678);
+emit_16(1612);
+emit_16(1678);
+emit_16(1611);
+emit_16(1678);
+emit_16(1612);
+emit_16(1679);
+emit_16(1613);
+emit_16(1679);
+emit_16(1612);
+emit_16(1679);
+emit_16(1613);
+emit_16(1680);
+emit_16(1614);
+emit_16(1680);
+emit_16(1613);
+emit_16(1680);
+emit_16(1614);
+emit_16(1681);
+emit_16(1615);
+emit_16(1681);
+emit_16(1614);
+emit_16(1681);
+emit_16(1615);
+emit_16(1682);
+emit_16(1616);
+emit_16(1682);
+emit_16(1615);
+emit_16(1682);
+emit_16(1616);
+emit_16(1683);
+emit_16(1617);
+emit_16(1683);
+emit_16(1616);
+emit_16(1683);
+emit_16(1617);
+emit_16(1684);
+emit_16(1618);
+emit_16(1684);
+emit_16(1617);
+emit_16(1684);
+emit_16(1618);
+emit_16(1685);
+emit_16(1619);
+emit_16(1685);
+emit_16(1618);
+emit_16(1685);
+emit_16(1619);
+emit_16(1686);
+emit_16(1620);
+emit_16(1686);
+emit_16(1619);
+emit_16(1686);
+emit_16(1620);
+emit_16(1687);
+emit_16(1621);
+emit_16(1687);
+emit_16(1620);
+emit_16(1687);
+emit_16(1621);
+emit_16(1688);
+emit_16(1622);
+emit_16(1688);
+emit_16(1621);
+emit_16(1688);
+emit_16(1622);
+emit_16(1689);
+emit_16(1623);
+emit_16(1689);
+emit_16(1622);
+emit_16(1689);
+emit_16(1623);
+emit_16(1690);
+emit_16(1624);
+emit_16(1690);
+emit_16(1623);
+emit_16(1690);
+emit_16(1624);
+emit_16(1691);
+emit_16(1625);
+emit_16(1691);
+emit_16(1624);
+emit_16(1691);
+emit_16(1625);
+emit_16(1692);
+emit_16(1626);
+emit_16(1692);
+emit_16(1625);
+emit_16(1692);
+emit_16(1626);
+emit_16(1693);
+emit_16(1627);
+emit_16(1693);
+emit_16(1626);
+emit_16(1693);
+emit_16(1627);
+emit_16(1694);
+emit_16(1628);
+emit_16(1694);
+emit_16(1627);
+emit_16(1694);
+emit_16(1628);
+emit_16(1695);
+emit_16(1629);
+emit_16(1695);
+emit_16(1628);
+emit_16(1695);
+emit_16(1629);
+emit_16(1696);
+emit_16(1630);
+emit_16(1696);
+emit_16(1629);
+emit_16(1696);
+emit_16(1630);
+emit_16(1697);
+emit_16(1631);
+emit_16(1697);
+emit_16(1630);
+emit_16(1697);
+emit_16(1631);
+emit_16(1698);
+emit_16(1632);
+emit_16(1698);
+emit_16(1631);
+emit_16(1698);
+emit_16(1632);
+emit_16(1699);
+emit_16(1633);
+emit_16(1699);
+emit_16(1632);
+emit_16(1699);
+emit_16(1633);
+emit_16(1700);
+emit_16(1634);
+emit_16(1700);
+emit_16(1633);
+emit_16(1700);
+emit_16(1634);
+emit_16(1701);
+emit_16(1635);
+emit_16(1701);
+emit_16(1634);
+emit_16(1701);
+emit_16(1635);
+emit_16(1702);
+emit_16(1636);
+emit_16(1702);
+emit_16(1635);
+emit_16(1702);
+emit_16(1636);
+emit_16(1703);
+emit_16(1637);
+emit_16(1703);
+emit_16(1636);
+emit_16(1703);
+emit_16(1637);
+emit_16(1704);
+emit_16(1638);
+emit_16(1704);
+emit_16(1637);
+emit_16(1704);
+emit_16(1638);
+emit_16(1705);
+emit_16(1639);
+emit_16(1705);
+emit_16(1638);
+emit_16(1705);
+emit_16(1639);
+emit_16(1706);
+emit_16(1640);
+emit_16(1706);
+emit_16(1639);
+emit_16(1706);
+emit_16(1640);
+emit_16(1707);
+emit_16(1641);
+emit_16(1707);
+emit_16(1640);
+emit_16(1707);
+emit_16(1641);
+emit_16(1708);
+emit_16(1642);
+emit_16(1708);
+emit_16(1641);
+emit_16(1708);
+emit_16(1642);
+emit_16(1709);
+emit_16(1643);
+emit_16(1709);
+emit_16(1642);
+emit_16(1709);
+emit_16(1643);
+emit_16(1710);
+emit_16(1644);
+emit_16(1710);
+emit_16(1643);
+emit_16(1710);
+emit_16(1644);
+emit_16(1711);
+emit_16(1645);
+emit_16(1711);
+emit_16(1644);
+emit_16(1711);
+emit_16(1645);
+emit_16(1712);
+emit_16(1646);
+emit_16(1712);
+emit_16(1645);
+emit_16(1712);
+emit_16(1646);
+emit_16(1713);
+emit_16(1647);
+emit_16(1713);
+emit_16(1646);
+emit_16(1713);
+emit_16(1647);
+emit_16(1714);
+emit_16(1648);
+emit_16(1714);
+emit_16(1647);
+emit_16(1714);
+emit_16(1648);
+emit_16(1715);
+emit_16(1649);
+emit_16(1715);
+emit_16(1648);
+emit_16(1716);
+emit_16(1650);
+emit_16(1717);
+emit_16(1651);
+emit_16(1717);
+emit_16(1650);
+emit_16(1717);
+emit_16(1651);
+emit_16(1718);
+emit_16(1652);
+emit_16(1718);
+emit_16(1651);
+emit_16(1718);
+emit_16(1652);
+emit_16(1719);
+emit_16(1653);
+emit_16(1719);
+emit_16(1652);
+emit_16(1719);
+emit_16(1653);
+emit_16(1720);
+emit_16(1654);
+emit_16(1720);
+emit_16(1653);
+emit_16(1720);
+emit_16(1654);
+emit_16(1721);
+emit_16(1655);
+emit_16(1721);
+emit_16(1654);
+emit_16(1721);
+emit_16(1655);
+emit_16(1722);
+emit_16(1656);
+emit_16(1722);
+emit_16(1655);
+emit_16(1722);
+emit_16(1656);
+emit_16(1723);
+emit_16(1657);
+emit_16(1723);
+emit_16(1656);
+emit_16(1723);
+emit_16(1657);
+emit_16(1724);
+emit_16(1658);
+emit_16(1724);
+emit_16(1657);
+emit_16(1724);
+emit_16(1658);
+emit_16(1725);
+emit_16(1659);
+emit_16(1725);
+emit_16(1658);
+emit_16(1725);
+emit_16(1659);
+emit_16(1726);
+emit_16(1660);
+emit_16(1726);
+emit_16(1659);
+emit_16(1726);
+emit_16(1660);
+emit_16(1727);
+emit_16(1661);
+emit_16(1727);
+emit_16(1660);
+emit_16(1727);
+emit_16(1661);
+emit_16(1728);
+emit_16(1662);
+emit_16(1728);
+emit_16(1661);
+emit_16(1728);
+emit_16(1662);
+emit_16(1729);
+emit_16(1663);
+emit_16(1729);
+emit_16(1662);
+emit_16(1729);
+emit_16(1663);
+emit_16(1730);
+emit_16(1664);
+emit_16(1730);
+emit_16(1663);
+emit_16(1730);
+emit_16(1664);
+emit_16(1731);
+emit_16(1665);
+emit_16(1731);
+emit_16(1664);
+emit_16(1731);
+emit_16(1665);
+emit_16(1732);
+emit_16(1666);
+emit_16(1732);
+emit_16(1665);
+emit_16(1732);
+emit_16(1666);
+emit_16(1733);
+emit_16(1667);
+emit_16(1733);
+emit_16(1666);
+emit_16(1733);
+emit_16(1667);
+emit_16(1734);
+emit_16(1668);
+emit_16(1734);
+emit_16(1667);
+emit_16(1734);
+emit_16(1668);
+emit_16(1735);
+emit_16(1669);
+emit_16(1735);
+emit_16(1668);
+emit_16(1735);
+emit_16(1669);
+emit_16(1736);
+emit_16(1670);
+emit_16(1736);
+emit_16(1669);
+emit_16(1736);
+emit_16(1670);
+emit_16(1737);
+emit_16(1671);
+emit_16(1737);
+emit_16(1670);
+emit_16(1737);
+emit_16(1671);
+emit_16(1738);
+emit_16(1672);
+emit_16(1738);
+emit_16(1671);
+emit_16(1738);
+emit_16(1672);
+emit_16(1739);
+emit_16(1673);
+emit_16(1739);
+emit_16(1672);
+emit_16(1739);
+emit_16(1673);
+emit_16(1740);
+emit_16(1674);
+emit_16(1740);
+emit_16(1673);
+emit_16(1740);
+emit_16(1674);
+emit_16(1741);
+emit_16(1675);
+emit_16(1741);
+emit_16(1674);
+emit_16(1741);
+emit_16(1675);
+emit_16(1742);
+emit_16(1676);
+emit_16(1742);
+emit_16(1675);
+emit_16(1742);
+emit_16(1676);
+emit_16(1743);
+emit_16(1677);
+emit_16(1743);
+emit_16(1676);
+emit_16(1743);
+emit_16(1677);
+emit_16(1744);
+emit_16(1678);
+emit_16(1744);
+emit_16(1677);
+emit_16(1744);
+emit_16(1678);
+emit_16(1745);
+emit_16(1679);
+emit_16(1745);
+emit_16(1678);
+emit_16(1745);
+emit_16(1679);
+emit_16(1746);
+emit_16(1680);
+emit_16(1746);
+emit_16(1679);
+emit_16(1746);
+emit_16(1680);
+emit_16(1747);
+emit_16(1681);
+emit_16(1747);
+emit_16(1680);
+emit_16(1747);
+emit_16(1681);
+emit_16(1748);
+emit_16(1682);
+emit_16(1748);
+emit_16(1681);
+emit_16(1748);
+emit_16(1682);
+emit_16(1749);
+emit_16(1683);
+emit_16(1749);
+emit_16(1682);
+emit_16(1749);
+emit_16(1683);
+emit_16(1750);
+emit_16(1684);
+emit_16(1750);
+emit_16(1683);
+emit_16(1750);
+emit_16(1684);
+emit_16(1751);
+emit_16(1685);
+emit_16(1751);
+emit_16(1684);
+emit_16(1751);
+emit_16(1685);
+emit_16(1752);
+emit_16(1686);
+emit_16(1752);
+emit_16(1685);
+emit_16(1752);
+emit_16(1686);
+emit_16(1753);
+emit_16(1687);
+emit_16(1753);
+emit_16(1686);
+emit_16(1753);
+emit_16(1687);
+emit_16(1754);
+emit_16(1688);
+emit_16(1754);
+emit_16(1687);
+emit_16(1754);
+emit_16(1688);
+emit_16(1755);
+emit_16(1689);
+emit_16(1755);
+emit_16(1688);
+emit_16(1755);
+emit_16(1689);
+emit_16(1756);
+emit_16(1690);
+emit_16(1756);
+emit_16(1689);
+emit_16(1756);
+emit_16(1690);
+emit_16(1757);
+emit_16(1691);
+emit_16(1757);
+emit_16(1690);
+emit_16(1757);
+emit_16(1691);
+emit_16(1758);
+emit_16(1692);
+emit_16(1758);
+emit_16(1691);
+emit_16(1758);
+emit_16(1692);
+emit_16(1759);
+emit_16(1693);
+emit_16(1759);
+emit_16(1692);
+emit_16(1759);
+emit_16(1693);
+emit_16(1760);
+emit_16(1694);
+emit_16(1760);
+emit_16(1693);
+emit_16(1760);
+emit_16(1694);
+emit_16(1761);
+emit_16(1695);
+emit_16(1761);
+emit_16(1694);
+emit_16(1761);
+emit_16(1695);
+emit_16(1762);
+emit_16(1696);
+emit_16(1762);
+emit_16(1695);
+emit_16(1762);
+emit_16(1696);
+emit_16(1763);
+emit_16(1697);
+emit_16(1763);
+emit_16(1696);
+emit_16(1763);
+emit_16(1697);
+emit_16(1764);
+emit_16(1698);
+emit_16(1764);
+emit_16(1697);
+emit_16(1764);
+emit_16(1698);
+emit_16(1765);
+emit_16(1699);
+emit_16(1765);
+emit_16(1698);
+emit_16(1765);
+emit_16(1699);
+emit_16(1766);
+emit_16(1700);
+emit_16(1766);
+emit_16(1699);
+emit_16(1766);
+emit_16(1700);
+emit_16(1767);
+emit_16(1701);
+emit_16(1767);
+emit_16(1700);
+emit_16(1767);
+emit_16(1701);
+emit_16(1768);
+emit_16(1702);
+emit_16(1768);
+emit_16(1701);
+emit_16(1768);
+emit_16(1702);
+emit_16(1769);
+emit_16(1703);
+emit_16(1769);
+emit_16(1702);
+emit_16(1769);
+emit_16(1703);
+emit_16(1770);
+emit_16(1704);
+emit_16(1770);
+emit_16(1703);
+emit_16(1770);
+emit_16(1704);
+emit_16(1771);
+emit_16(1705);
+emit_16(1771);
+emit_16(1704);
+emit_16(1771);
+emit_16(1705);
+emit_16(1772);
+emit_16(1706);
+emit_16(1772);
+emit_16(1705);
+emit_16(1772);
+emit_16(1706);
+emit_16(1773);
+emit_16(1707);
+emit_16(1773);
+emit_16(1706);
+emit_16(1773);
+emit_16(1707);
+emit_16(1774);
+emit_16(1708);
+emit_16(1774);
+emit_16(1707);
+emit_16(1774);
+emit_16(1708);
+emit_16(1775);
+emit_16(1709);
+emit_16(1775);
+emit_16(1708);
+emit_16(1775);
+emit_16(1709);
+emit_16(1776);
+emit_16(1710);
+emit_16(1776);
+emit_16(1709);
+emit_16(1776);
+emit_16(1710);
+emit_16(1777);
+emit_16(1711);
+emit_16(1777);
+emit_16(1710);
+emit_16(1777);
+emit_16(1711);
+emit_16(1778);
+emit_16(1712);
+emit_16(1778);
+emit_16(1711);
+emit_16(1778);
+emit_16(1712);
+emit_16(1779);
+emit_16(1713);
+emit_16(1779);
+emit_16(1712);
+emit_16(1779);
+emit_16(1713);
+emit_16(1780);
+emit_16(1714);
+emit_16(1780);
+emit_16(1713);
+emit_16(1780);
+emit_16(1714);
+emit_16(1781);
+emit_16(1715);
+emit_16(1781);
+emit_16(1714);
+emit_16(1782);
+emit_16(1716);
+emit_16(1783);
+emit_16(1717);
+emit_16(1783);
+emit_16(1716);
+emit_16(1783);
+emit_16(1717);
+emit_16(1784);
+emit_16(1718);
+emit_16(1784);
+emit_16(1717);
+emit_16(1784);
+emit_16(1718);
+emit_16(1785);
+emit_16(1719);
+emit_16(1785);
+emit_16(1718);
+emit_16(1785);
+emit_16(1719);
+emit_16(1786);
+emit_16(1720);
+emit_16(1786);
+emit_16(1719);
+emit_16(1786);
+emit_16(1720);
+emit_16(1787);
+emit_16(1721);
+emit_16(1787);
+emit_16(1720);
+emit_16(1787);
+emit_16(1721);
+emit_16(1788);
+emit_16(1722);
+emit_16(1788);
+emit_16(1721);
+emit_16(1788);
+emit_16(1722);
+emit_16(1789);
+emit_16(1723);
+emit_16(1789);
+emit_16(1722);
+emit_16(1789);
+emit_16(1723);
+emit_16(1790);
+emit_16(1724);
+emit_16(1790);
+emit_16(1723);
+emit_16(1790);
+emit_16(1724);
+emit_16(1791);
+emit_16(1725);
+emit_16(1791);
+emit_16(1724);
+emit_16(1791);
+emit_16(1725);
+emit_16(1792);
+emit_16(1726);
+emit_16(1792);
+emit_16(1725);
+emit_16(1792);
+emit_16(1726);
+emit_16(1793);
+emit_16(1727);
+emit_16(1793);
+emit_16(1726);
+emit_16(1793);
+emit_16(1727);
+emit_16(1794);
+emit_16(1728);
+emit_16(1794);
+emit_16(1727);
+emit_16(1794);
+emit_16(1728);
+emit_16(1795);
+emit_16(1729);
+emit_16(1795);
+emit_16(1728);
+emit_16(1795);
+emit_16(1729);
+emit_16(1796);
+emit_16(1730);
+emit_16(1796);
+emit_16(1729);
+emit_16(1796);
+emit_16(1730);
+emit_16(1797);
+emit_16(1731);
+emit_16(1797);
+emit_16(1730);
+emit_16(1797);
+emit_16(1731);
+emit_16(1798);
+emit_16(1732);
+emit_16(1798);
+emit_16(1731);
+emit_16(1798);
+emit_16(1732);
+emit_16(1799);
+emit_16(1733);
+emit_16(1799);
+emit_16(1732);
+emit_16(1799);
+emit_16(1733);
+emit_16(1800);
+emit_16(1734);
+emit_16(1800);
+emit_16(1733);
+emit_16(1800);
+emit_16(1734);
+emit_16(1801);
+emit_16(1735);
+emit_16(1801);
+emit_16(1734);
+emit_16(1801);
+emit_16(1735);
+emit_16(1802);
+emit_16(1736);
+emit_16(1802);
+emit_16(1735);
+emit_16(1802);
+emit_16(1736);
+emit_16(1803);
+emit_16(1737);
+emit_16(1803);
+emit_16(1736);
+emit_16(1803);
+emit_16(1737);
+emit_16(1804);
+emit_16(1738);
+emit_16(1804);
+emit_16(1737);
+emit_16(1804);
+emit_16(1738);
+emit_16(1805);
+emit_16(1739);
+emit_16(1805);
+emit_16(1738);
+emit_16(1805);
+emit_16(1739);
+emit_16(1806);
+emit_16(1740);
+emit_16(1806);
+emit_16(1739);
+emit_16(1806);
+emit_16(1740);
+emit_16(1807);
+emit_16(1741);
+emit_16(1807);
+emit_16(1740);
+emit_16(1807);
+emit_16(1741);
+emit_16(1808);
+emit_16(1742);
+emit_16(1808);
+emit_16(1741);
+emit_16(1808);
+emit_16(1742);
+emit_16(1809);
+emit_16(1743);
+emit_16(1809);
+emit_16(1742);
+emit_16(1809);
+emit_16(1743);
+emit_16(1810);
+emit_16(1744);
+emit_16(1810);
+emit_16(1743);
+emit_16(1810);
+emit_16(1744);
+emit_16(1811);
+emit_16(1745);
+emit_16(1811);
+emit_16(1744);
+emit_16(1811);
+emit_16(1745);
+emit_16(1812);
+emit_16(1746);
+emit_16(1812);
+emit_16(1745);
+emit_16(1812);
+emit_16(1746);
+emit_16(1813);
+emit_16(1747);
+emit_16(1813);
+emit_16(1746);
+emit_16(1813);
+emit_16(1747);
+emit_16(1814);
+emit_16(1748);
+emit_16(1814);
+emit_16(1747);
+emit_16(1814);
+emit_16(1748);
+emit_16(1815);
+emit_16(1749);
+emit_16(1815);
+emit_16(1748);
+emit_16(1815);
+emit_16(1749);
+emit_16(1816);
+emit_16(1750);
+emit_16(1816);
+emit_16(1749);
+emit_16(1816);
+emit_16(1750);
+emit_16(1817);
+emit_16(1751);
+emit_16(1817);
+emit_16(1750);
+emit_16(1817);
+emit_16(1751);
+emit_16(1818);
+emit_16(1752);
+emit_16(1818);
+emit_16(1751);
+emit_16(1818);
+emit_16(1752);
+emit_16(1819);
+emit_16(1753);
+emit_16(1819);
+emit_16(1752);
+emit_16(1819);
+emit_16(1753);
+emit_16(1820);
+emit_16(1754);
+emit_16(1820);
+emit_16(1753);
+emit_16(1820);
+emit_16(1754);
+emit_16(1821);
+emit_16(1755);
+emit_16(1821);
+emit_16(1754);
+emit_16(1821);
+emit_16(1755);
+emit_16(1822);
+emit_16(1756);
+emit_16(1822);
+emit_16(1755);
+emit_16(1822);
+emit_16(1756);
+emit_16(1823);
+emit_16(1757);
+emit_16(1823);
+emit_16(1756);
+emit_16(1823);
+emit_16(1757);
+emit_16(1824);
+emit_16(1758);
+emit_16(1824);
+emit_16(1757);
+emit_16(1824);
+emit_16(1758);
+emit_16(1825);
+emit_16(1759);
+emit_16(1825);
+emit_16(1758);
+emit_16(1825);
+emit_16(1759);
+emit_16(1826);
+emit_16(1760);
+emit_16(1826);
+emit_16(1759);
+emit_16(1826);
+emit_16(1760);
+emit_16(1827);
+emit_16(1761);
+emit_16(1827);
+emit_16(1760);
+emit_16(1827);
+emit_16(1761);
+emit_16(1828);
+emit_16(1762);
+emit_16(1828);
+emit_16(1761);
+emit_16(1828);
+emit_16(1762);
+emit_16(1829);
+emit_16(1763);
+emit_16(1829);
+emit_16(1762);
+emit_16(1829);
+emit_16(1763);
+emit_16(1830);
+emit_16(1764);
+emit_16(1830);
+emit_16(1763);
+emit_16(1830);
+emit_16(1764);
+emit_16(1831);
+emit_16(1765);
+emit_16(1831);
+emit_16(1764);
+emit_16(1831);
+emit_16(1765);
+emit_16(1832);
+emit_16(1766);
+emit_16(1832);
+emit_16(1765);
+emit_16(1832);
+emit_16(1766);
+emit_16(1833);
+emit_16(1767);
+emit_16(1833);
+emit_16(1766);
+emit_16(1833);
+emit_16(1767);
+emit_16(1834);
+emit_16(1768);
+emit_16(1834);
+emit_16(1767);
+emit_16(1834);
+emit_16(1768);
+emit_16(1835);
+emit_16(1769);
+emit_16(1835);
+emit_16(1768);
+emit_16(1835);
+emit_16(1769);
+emit_16(1836);
+emit_16(1770);
+emit_16(1836);
+emit_16(1769);
+emit_16(1836);
+emit_16(1770);
+emit_16(1837);
+emit_16(1771);
+emit_16(1837);
+emit_16(1770);
+emit_16(1837);
+emit_16(1771);
+emit_16(1838);
+emit_16(1772);
+emit_16(1838);
+emit_16(1771);
+emit_16(1838);
+emit_16(1772);
+emit_16(1839);
+emit_16(1773);
+emit_16(1839);
+emit_16(1772);
+emit_16(1839);
+emit_16(1773);
+emit_16(1840);
+emit_16(1774);
+emit_16(1840);
+emit_16(1773);
+emit_16(1840);
+emit_16(1774);
+emit_16(1841);
+emit_16(1775);
+emit_16(1841);
+emit_16(1774);
+emit_16(1841);
+emit_16(1775);
+emit_16(1842);
+emit_16(1776);
+emit_16(1842);
+emit_16(1775);
+emit_16(1842);
+emit_16(1776);
+emit_16(1843);
+emit_16(1777);
+emit_16(1843);
+emit_16(1776);
+emit_16(1843);
+emit_16(1777);
+emit_16(1844);
+emit_16(1778);
+emit_16(1844);
+emit_16(1777);
+emit_16(1844);
+emit_16(1778);
+emit_16(1845);
+emit_16(1779);
+emit_16(1845);
+emit_16(1778);
+emit_16(1845);
+emit_16(1779);
+emit_16(1846);
+emit_16(1780);
+emit_16(1846);
+emit_16(1779);
+emit_16(1846);
+emit_16(1780);
+emit_16(1847);
+emit_16(1781);
+emit_16(1847);
+emit_16(1780);
+emit_16(1848);
+emit_16(1782);
+emit_16(1849);
+emit_16(1783);
+emit_16(1849);
+emit_16(1782);
+emit_16(1849);
+emit_16(1783);
+emit_16(1850);
+emit_16(1784);
+emit_16(1850);
+emit_16(1783);
+emit_16(1850);
+emit_16(1784);
+emit_16(1851);
+emit_16(1785);
+emit_16(1851);
+emit_16(1784);
+emit_16(1851);
+emit_16(1785);
+emit_16(1852);
+emit_16(1786);
+emit_16(1852);
+emit_16(1785);
+emit_16(1852);
+emit_16(1786);
+emit_16(1853);
+emit_16(1787);
+emit_16(1853);
+emit_16(1786);
+emit_16(1853);
+emit_16(1787);
+emit_16(1854);
+emit_16(1788);
+emit_16(1854);
+emit_16(1787);
+emit_16(1854);
+emit_16(1788);
+emit_16(1855);
+emit_16(1789);
+emit_16(1855);
+emit_16(1788);
+emit_16(1855);
+emit_16(1789);
+emit_16(1856);
+emit_16(1790);
+emit_16(1856);
+emit_16(1789);
+emit_16(1856);
+emit_16(1790);
+emit_16(1857);
+emit_16(1791);
+emit_16(1857);
+emit_16(1790);
+emit_16(1857);
+emit_16(1791);
+emit_16(1858);
+emit_16(1792);
+emit_16(1858);
+emit_16(1791);
+emit_16(1858);
+emit_16(1792);
+emit_16(1859);
+emit_16(1793);
+emit_16(1859);
+emit_16(1792);
+emit_16(1859);
+emit_16(1793);
+emit_16(1860);
+emit_16(1794);
+emit_16(1860);
+emit_16(1793);
+emit_16(1860);
+emit_16(1794);
+emit_16(1861);
+emit_16(1795);
+emit_16(1861);
+emit_16(1794);
+emit_16(1861);
+emit_16(1795);
+emit_16(1862);
+emit_16(1796);
+emit_16(1862);
+emit_16(1795);
+emit_16(1862);
+emit_16(1796);
+emit_16(1863);
+emit_16(1797);
+emit_16(1863);
+emit_16(1796);
+emit_16(1863);
+emit_16(1797);
+emit_16(1864);
+emit_16(1798);
+emit_16(1864);
+emit_16(1797);
+emit_16(1864);
+emit_16(1798);
+emit_16(1865);
+emit_16(1799);
+emit_16(1865);
+emit_16(1798);
+emit_16(1865);
+emit_16(1799);
+emit_16(1866);
+emit_16(1800);
+emit_16(1866);
+emit_16(1799);
+emit_16(1866);
+emit_16(1800);
+emit_16(1867);
+emit_16(1801);
+emit_16(1867);
+emit_16(1800);
+emit_16(1867);
+emit_16(1801);
+emit_16(1868);
+emit_16(1802);
+emit_16(1868);
+emit_16(1801);
+emit_16(1868);
+emit_16(1802);
+emit_16(1869);
+emit_16(1803);
+emit_16(1869);
+emit_16(1802);
+emit_16(1869);
+emit_16(1803);
+emit_16(1870);
+emit_16(1804);
+emit_16(1870);
+emit_16(1803);
+emit_16(1870);
+emit_16(1804);
+emit_16(1871);
+emit_16(1805);
+emit_16(1871);
+emit_16(1804);
+emit_16(1871);
+emit_16(1805);
+emit_16(1872);
+emit_16(1806);
+emit_16(1872);
+emit_16(1805);
+emit_16(1872);
+emit_16(1806);
+emit_16(1873);
+emit_16(1807);
+emit_16(1873);
+emit_16(1806);
+emit_16(1873);
+emit_16(1807);
+emit_16(1874);
+emit_16(1808);
+emit_16(1874);
+emit_16(1807);
+emit_16(1874);
+emit_16(1808);
+emit_16(1875);
+emit_16(1809);
+emit_16(1875);
+emit_16(1808);
+emit_16(1875);
+emit_16(1809);
+emit_16(1876);
+emit_16(1810);
+emit_16(1876);
+emit_16(1809);
+emit_16(1876);
+emit_16(1810);
+emit_16(1877);
+emit_16(1811);
+emit_16(1877);
+emit_16(1810);
+emit_16(1877);
+emit_16(1811);
+emit_16(1878);
+emit_16(1812);
+emit_16(1878);
+emit_16(1811);
+emit_16(1878);
+emit_16(1812);
+emit_16(1879);
+emit_16(1813);
+emit_16(1879);
+emit_16(1812);
+emit_16(1879);
+emit_16(1813);
+emit_16(1880);
+emit_16(1814);
+emit_16(1880);
+emit_16(1813);
+emit_16(1880);
+emit_16(1814);
+emit_16(1881);
+emit_16(1815);
+emit_16(1881);
+emit_16(1814);
+emit_16(1881);
+emit_16(1815);
+emit_16(1882);
+emit_16(1816);
+emit_16(1882);
+emit_16(1815);
+emit_16(1882);
+emit_16(1816);
+emit_16(1883);
+emit_16(1817);
+emit_16(1883);
+emit_16(1816);
+emit_16(1883);
+emit_16(1817);
+emit_16(1884);
+emit_16(1818);
+emit_16(1884);
+emit_16(1817);
+emit_16(1884);
+emit_16(1818);
+emit_16(1885);
+emit_16(1819);
+emit_16(1885);
+emit_16(1818);
+emit_16(1885);
+emit_16(1819);
+emit_16(1886);
+emit_16(1820);
+emit_16(1886);
+emit_16(1819);
+emit_16(1886);
+emit_16(1820);
+emit_16(1887);
+emit_16(1821);
+emit_16(1887);
+emit_16(1820);
+emit_16(1887);
+emit_16(1821);
+emit_16(1888);
+emit_16(1822);
+emit_16(1888);
+emit_16(1821);
+emit_16(1888);
+emit_16(1822);
+emit_16(1889);
+emit_16(1823);
+emit_16(1889);
+emit_16(1822);
+emit_16(1889);
+emit_16(1823);
+emit_16(1890);
+emit_16(1824);
+emit_16(1890);
+emit_16(1823);
+emit_16(1890);
+emit_16(1824);
+emit_16(1891);
+emit_16(1825);
+emit_16(1891);
+emit_16(1824);
+emit_16(1891);
+emit_16(1825);
+emit_16(1892);
+emit_16(1826);
+emit_16(1892);
+emit_16(1825);
+emit_16(1892);
+emit_16(1826);
+emit_16(1893);
+emit_16(1827);
+emit_16(1893);
+emit_16(1826);
+emit_16(1893);
+emit_16(1827);
+emit_16(1894);
+emit_16(1828);
+emit_16(1894);
+emit_16(1827);
+emit_16(1894);
+emit_16(1828);
+emit_16(1895);
+emit_16(1829);
+emit_16(1895);
+emit_16(1828);
+emit_16(1895);
+emit_16(1829);
+emit_16(1896);
+emit_16(1830);
+emit_16(1896);
+emit_16(1829);
+emit_16(1896);
+emit_16(1830);
+emit_16(1897);
+emit_16(1831);
+emit_16(1897);
+emit_16(1830);
+emit_16(1897);
+emit_16(1831);
+emit_16(1898);
+emit_16(1832);
+emit_16(1898);
+emit_16(1831);
+emit_16(1898);
+emit_16(1832);
+emit_16(1899);
+emit_16(1833);
+emit_16(1899);
+emit_16(1832);
+emit_16(1899);
+emit_16(1833);
+emit_16(1900);
+emit_16(1834);
+emit_16(1900);
+emit_16(1833);
+emit_16(1900);
+emit_16(1834);
+emit_16(1901);
+emit_16(1835);
+emit_16(1901);
+emit_16(1834);
+emit_16(1901);
+emit_16(1835);
+emit_16(1902);
+emit_16(1836);
+emit_16(1902);
+emit_16(1835);
+emit_16(1902);
+emit_16(1836);
+emit_16(1903);
+emit_16(1837);
+emit_16(1903);
+emit_16(1836);
+emit_16(1903);
+emit_16(1837);
+emit_16(1904);
+emit_16(1838);
+emit_16(1904);
+emit_16(1837);
+emit_16(1904);
+emit_16(1838);
+emit_16(1905);
+emit_16(1839);
+emit_16(1905);
+emit_16(1838);
+emit_16(1905);
+emit_16(1839);
+emit_16(1906);
+emit_16(1840);
+emit_16(1906);
+emit_16(1839);
+emit_16(1906);
+emit_16(1840);
+emit_16(1907);
+emit_16(1841);
+emit_16(1907);
+emit_16(1840);
+emit_16(1907);
+emit_16(1841);
+emit_16(1908);
+emit_16(1842);
+emit_16(1908);
+emit_16(1841);
+emit_16(1908);
+emit_16(1842);
+emit_16(1909);
+emit_16(1843);
+emit_16(1909);
+emit_16(1842);
+emit_16(1909);
+emit_16(1843);
+emit_16(1910);
+emit_16(1844);
+emit_16(1910);
+emit_16(1843);
+emit_16(1910);
+emit_16(1844);
+emit_16(1911);
+emit_16(1845);
+emit_16(1911);
+emit_16(1844);
+emit_16(1911);
+emit_16(1845);
+emit_16(1912);
+emit_16(1846);
+emit_16(1912);
+emit_16(1845);
+emit_16(1912);
+emit_16(1846);
+emit_16(1913);
+emit_16(1847);
+emit_16(1913);
+emit_16(1846);
+emit_16(1914);
+emit_16(1848);
+emit_16(1915);
+emit_16(1849);
+emit_16(1915);
+emit_16(1848);
+emit_16(1915);
+emit_16(1849);
+emit_16(1916);
+emit_16(1850);
+emit_16(1916);
+emit_16(1849);
+emit_16(1916);
+emit_16(1850);
+emit_16(1917);
+emit_16(1851);
+emit_16(1917);
+emit_16(1850);
+emit_16(1917);
+emit_16(1851);
+emit_16(1918);
+emit_16(1852);
+emit_16(1918);
+emit_16(1851);
+emit_16(1918);
+emit_16(1852);
+emit_16(1919);
+emit_16(1853);
+emit_16(1919);
+emit_16(1852);
+emit_16(1919);
+emit_16(1853);
+emit_16(1920);
+emit_16(1854);
+emit_16(1920);
+emit_16(1853);
+emit_16(1920);
+emit_16(1854);
+emit_16(1921);
+emit_16(1855);
+emit_16(1921);
+emit_16(1854);
+emit_16(1921);
+emit_16(1855);
+emit_16(1922);
+emit_16(1856);
+emit_16(1922);
+emit_16(1855);
+emit_16(1922);
+emit_16(1856);
+emit_16(1923);
+emit_16(1857);
+emit_16(1923);
+emit_16(1856);
+emit_16(1923);
+emit_16(1857);
+emit_16(1924);
+emit_16(1858);
+emit_16(1924);
+emit_16(1857);
+emit_16(1924);
+emit_16(1858);
+emit_16(1925);
+emit_16(1859);
+emit_16(1925);
+emit_16(1858);
+emit_16(1925);
+emit_16(1859);
+emit_16(1926);
+emit_16(1860);
+emit_16(1926);
+emit_16(1859);
+emit_16(1926);
+emit_16(1860);
+emit_16(1927);
+emit_16(1861);
+emit_16(1927);
+emit_16(1860);
+emit_16(1927);
+emit_16(1861);
+emit_16(1928);
+emit_16(1862);
+emit_16(1928);
+emit_16(1861);
+emit_16(1928);
+emit_16(1862);
+emit_16(1929);
+emit_16(1863);
+emit_16(1929);
+emit_16(1862);
+emit_16(1929);
+emit_16(1863);
+emit_16(1930);
+emit_16(1864);
+emit_16(1930);
+emit_16(1863);
+emit_16(1930);
+emit_16(1864);
+emit_16(1931);
+emit_16(1865);
+emit_16(1931);
+emit_16(1864);
+emit_16(1931);
+emit_16(1865);
+emit_16(1932);
+emit_16(1866);
+emit_16(1932);
+emit_16(1865);
+emit_16(1932);
+emit_16(1866);
+emit_16(1933);
+emit_16(1867);
+emit_16(1933);
+emit_16(1866);
+emit_16(1933);
+emit_16(1867);
+emit_16(1934);
+emit_16(1868);
+emit_16(1934);
+emit_16(1867);
+emit_16(1934);
+emit_16(1868);
+emit_16(1935);
+emit_16(1869);
+emit_16(1935);
+emit_16(1868);
+emit_16(1935);
+emit_16(1869);
+emit_16(1936);
+emit_16(1870);
+emit_16(1936);
+emit_16(1869);
+emit_16(1936);
+emit_16(1870);
+emit_16(1937);
+emit_16(1871);
+emit_16(1937);
+emit_16(1870);
+emit_16(1937);
+emit_16(1871);
+emit_16(1938);
+emit_16(1872);
+emit_16(1938);
+emit_16(1871);
+emit_16(1938);
+emit_16(1872);
+emit_16(1939);
+emit_16(1873);
+emit_16(1939);
+emit_16(1872);
+emit_16(1939);
+emit_16(1873);
+emit_16(1940);
+emit_16(1874);
+emit_16(1940);
+emit_16(1873);
+emit_16(1940);
+emit_16(1874);
+emit_16(1941);
+emit_16(1875);
+emit_16(1941);
+emit_16(1874);
+emit_16(1941);
+emit_16(1875);
+emit_16(1942);
+emit_16(1876);
+emit_16(1942);
+emit_16(1875);
+emit_16(1942);
+emit_16(1876);
+emit_16(1943);
+emit_16(1877);
+emit_16(1943);
+emit_16(1876);
+emit_16(1943);
+emit_16(1877);
+emit_16(1944);
+emit_16(1878);
+emit_16(1944);
+emit_16(1877);
+emit_16(1944);
+emit_16(1878);
+emit_16(1945);
+emit_16(1879);
+emit_16(1945);
+emit_16(1878);
+emit_16(1945);
+emit_16(1879);
+emit_16(1946);
+emit_16(1880);
+emit_16(1946);
+emit_16(1879);
+emit_16(1946);
+emit_16(1880);
+emit_16(1947);
+emit_16(1881);
+emit_16(1947);
+emit_16(1880);
+emit_16(1947);
+emit_16(1881);
+emit_16(1948);
+emit_16(1882);
+emit_16(1948);
+emit_16(1881);
+emit_16(1948);
+emit_16(1882);
+emit_16(1949);
+emit_16(1883);
+emit_16(1949);
+emit_16(1882);
+emit_16(1949);
+emit_16(1883);
+emit_16(1950);
+emit_16(1884);
+emit_16(1950);
+emit_16(1883);
+emit_16(1950);
+emit_16(1884);
+emit_16(1951);
+emit_16(1885);
+emit_16(1951);
+emit_16(1884);
+emit_16(1951);
+emit_16(1885);
+emit_16(1952);
+emit_16(1886);
+emit_16(1952);
+emit_16(1885);
+emit_16(1952);
+emit_16(1886);
+emit_16(1953);
+emit_16(1887);
+emit_16(1953);
+emit_16(1886);
+emit_16(1953);
+emit_16(1887);
+emit_16(1954);
+emit_16(1888);
+emit_16(1954);
+emit_16(1887);
+emit_16(1954);
+emit_16(1888);
+emit_16(1955);
+emit_16(1889);
+emit_16(1955);
+emit_16(1888);
+emit_16(1955);
+emit_16(1889);
+emit_16(1956);
+emit_16(1890);
+emit_16(1956);
+emit_16(1889);
+emit_16(1956);
+emit_16(1890);
+emit_16(1957);
+emit_16(1891);
+emit_16(1957);
+emit_16(1890);
+emit_16(1957);
+emit_16(1891);
+emit_16(1958);
+emit_16(1892);
+emit_16(1958);
+emit_16(1891);
+emit_16(1958);
+emit_16(1892);
+emit_16(1959);
+emit_16(1893);
+emit_16(1959);
+emit_16(1892);
+emit_16(1959);
+emit_16(1893);
+emit_16(1960);
+emit_16(1894);
+emit_16(1960);
+emit_16(1893);
+emit_16(1960);
+emit_16(1894);
+emit_16(1961);
+emit_16(1895);
+emit_16(1961);
+emit_16(1894);
+emit_16(1961);
+emit_16(1895);
+emit_16(1962);
+emit_16(1896);
+emit_16(1962);
+emit_16(1895);
+emit_16(1962);
+emit_16(1896);
+emit_16(1963);
+emit_16(1897);
+emit_16(1963);
+emit_16(1896);
+emit_16(1963);
+emit_16(1897);
+emit_16(1964);
+emit_16(1898);
+emit_16(1964);
+emit_16(1897);
+emit_16(1964);
+emit_16(1898);
+emit_16(1965);
+emit_16(1899);
+emit_16(1965);
+emit_16(1898);
+emit_16(1965);
+emit_16(1899);
+emit_16(1966);
+emit_16(1900);
+emit_16(1966);
+emit_16(1899);
+emit_16(1966);
+emit_16(1900);
+emit_16(1967);
+emit_16(1901);
+emit_16(1967);
+emit_16(1900);
+emit_16(1967);
+emit_16(1901);
+emit_16(1968);
+emit_16(1902);
+emit_16(1968);
+emit_16(1901);
+emit_16(1968);
+emit_16(1902);
+emit_16(1969);
+emit_16(1903);
+emit_16(1969);
+emit_16(1902);
+emit_16(1969);
+emit_16(1903);
+emit_16(1970);
+emit_16(1904);
+emit_16(1970);
+emit_16(1903);
+emit_16(1970);
+emit_16(1904);
+emit_16(1971);
+emit_16(1905);
+emit_16(1971);
+emit_16(1904);
+emit_16(1971);
+emit_16(1905);
+emit_16(1972);
+emit_16(1906);
+emit_16(1972);
+emit_16(1905);
+emit_16(1972);
+emit_16(1906);
+emit_16(1973);
+emit_16(1907);
+emit_16(1973);
+emit_16(1906);
+emit_16(1973);
+emit_16(1907);
+emit_16(1974);
+emit_16(1908);
+emit_16(1974);
+emit_16(1907);
+emit_16(1974);
+emit_16(1908);
+emit_16(1975);
+emit_16(1909);
+emit_16(1975);
+emit_16(1908);
+emit_16(1975);
+emit_16(1909);
+emit_16(1976);
+emit_16(1910);
+emit_16(1976);
+emit_16(1909);
+emit_16(1976);
+emit_16(1910);
+emit_16(1977);
+emit_16(1911);
+emit_16(1977);
+emit_16(1910);
+emit_16(1977);
+emit_16(1911);
+emit_16(1978);
+emit_16(1912);
+emit_16(1978);
+emit_16(1911);
+emit_16(1978);
+emit_16(1912);
+emit_16(1979);
+emit_16(1913);
+emit_16(1979);
+emit_16(1912);
+emit_start(Landscape03Idx)
+emit_16(0);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(2);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(4);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(6);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(8);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(10);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(12);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(14);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(16);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(18);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(20);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(22);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(24);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(26);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(28);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(30);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(32);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(34);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(36);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(38);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(40);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(42);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(44);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(46);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(48);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(50);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(52);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(54);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(56);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(58);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(60);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(62);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(64);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(66);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(68);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(70);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(72);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(74);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(76);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(78);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(80);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(82);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(84);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(86);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(88);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(90);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(92);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(94);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(96);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(98);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(100);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(102);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(104);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(106);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(108);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(110);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(112);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(114);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(116);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(118);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(120);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(122);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(124);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(126);
+emit_16(125);
+emit_16(128);
+emit_16(0);
+emit_16(129);
+emit_16(2);
+emit_16(129);
+emit_16(0);
+emit_16(129);
+emit_16(2);
+emit_16(130);
+emit_16(4);
+emit_16(130);
+emit_16(2);
+emit_16(130);
+emit_16(4);
+emit_16(131);
+emit_16(6);
+emit_16(131);
+emit_16(4);
+emit_16(131);
+emit_16(6);
+emit_16(132);
+emit_16(8);
+emit_16(132);
+emit_16(6);
+emit_16(132);
+emit_16(8);
+emit_16(133);
+emit_16(10);
+emit_16(133);
+emit_16(8);
+emit_16(133);
+emit_16(10);
+emit_16(134);
+emit_16(12);
+emit_16(134);
+emit_16(10);
+emit_16(134);
+emit_16(12);
+emit_16(135);
+emit_16(14);
+emit_16(135);
+emit_16(12);
+emit_16(135);
+emit_16(14);
+emit_16(136);
+emit_16(16);
+emit_16(136);
+emit_16(14);
+emit_16(136);
+emit_16(16);
+emit_16(137);
+emit_16(18);
+emit_16(137);
+emit_16(16);
+emit_16(137);
+emit_16(18);
+emit_16(138);
+emit_16(20);
+emit_16(138);
+emit_16(18);
+emit_16(138);
+emit_16(20);
+emit_16(139);
+emit_16(22);
+emit_16(139);
+emit_16(20);
+emit_16(139);
+emit_16(22);
+emit_16(140);
+emit_16(24);
+emit_16(140);
+emit_16(22);
+emit_16(140);
+emit_16(24);
+emit_16(141);
+emit_16(26);
+emit_16(141);
+emit_16(24);
+emit_16(141);
+emit_16(26);
+emit_16(142);
+emit_16(28);
+emit_16(142);
+emit_16(26);
+emit_16(142);
+emit_16(28);
+emit_16(143);
+emit_16(30);
+emit_16(143);
+emit_16(28);
+emit_16(143);
+emit_16(30);
+emit_16(144);
+emit_16(32);
+emit_16(144);
+emit_16(30);
+emit_16(144);
+emit_16(32);
+emit_16(145);
+emit_16(34);
+emit_16(145);
+emit_16(32);
+emit_16(145);
+emit_16(34);
+emit_16(146);
+emit_16(36);
+emit_16(146);
+emit_16(34);
+emit_16(146);
+emit_16(36);
+emit_16(147);
+emit_16(38);
+emit_16(147);
+emit_16(36);
+emit_16(147);
+emit_16(38);
+emit_16(148);
+emit_16(40);
+emit_16(148);
+emit_16(38);
+emit_16(148);
+emit_16(40);
+emit_16(149);
+emit_16(42);
+emit_16(149);
+emit_16(40);
+emit_16(149);
+emit_16(42);
+emit_16(150);
+emit_16(44);
+emit_16(150);
+emit_16(42);
+emit_16(150);
+emit_16(44);
+emit_16(151);
+emit_16(46);
+emit_16(151);
+emit_16(44);
+emit_16(151);
+emit_16(46);
+emit_16(152);
+emit_16(48);
+emit_16(152);
+emit_16(46);
+emit_16(152);
+emit_16(48);
+emit_16(153);
+emit_16(50);
+emit_16(153);
+emit_16(48);
+emit_16(153);
+emit_16(50);
+emit_16(154);
+emit_16(52);
+emit_16(154);
+emit_16(50);
+emit_16(154);
+emit_16(52);
+emit_16(155);
+emit_16(54);
+emit_16(155);
+emit_16(52);
+emit_16(155);
+emit_16(54);
+emit_16(156);
+emit_16(56);
+emit_16(156);
+emit_16(54);
+emit_16(156);
+emit_16(56);
+emit_16(157);
+emit_16(58);
+emit_16(157);
+emit_16(56);
+emit_16(157);
+emit_16(58);
+emit_16(158);
+emit_16(60);
+emit_16(158);
+emit_16(58);
+emit_16(158);
+emit_16(60);
+emit_16(159);
+emit_16(62);
+emit_16(159);
+emit_16(60);
+emit_16(159);
+emit_16(62);
+emit_16(160);
+emit_16(64);
+emit_16(160);
+emit_16(62);
+emit_16(160);
+emit_16(64);
+emit_16(161);
+emit_16(66);
+emit_16(161);
+emit_16(64);
+emit_16(161);
+emit_16(66);
+emit_16(162);
+emit_16(68);
+emit_16(162);
+emit_16(66);
+emit_16(162);
+emit_16(68);
+emit_16(163);
+emit_16(70);
+emit_16(163);
+emit_16(68);
+emit_16(163);
+emit_16(70);
+emit_16(164);
+emit_16(72);
+emit_16(164);
+emit_16(70);
+emit_16(164);
+emit_16(72);
+emit_16(165);
+emit_16(74);
+emit_16(165);
+emit_16(72);
+emit_16(165);
+emit_16(74);
+emit_16(166);
+emit_16(76);
+emit_16(166);
+emit_16(74);
+emit_16(166);
+emit_16(76);
+emit_16(167);
+emit_16(78);
+emit_16(167);
+emit_16(76);
+emit_16(167);
+emit_16(78);
+emit_16(168);
+emit_16(80);
+emit_16(168);
+emit_16(78);
+emit_16(168);
+emit_16(80);
+emit_16(169);
+emit_16(82);
+emit_16(169);
+emit_16(80);
+emit_16(169);
+emit_16(82);
+emit_16(170);
+emit_16(84);
+emit_16(170);
+emit_16(82);
+emit_16(170);
+emit_16(84);
+emit_16(171);
+emit_16(86);
+emit_16(171);
+emit_16(84);
+emit_16(171);
+emit_16(86);
+emit_16(172);
+emit_16(88);
+emit_16(172);
+emit_16(86);
+emit_16(172);
+emit_16(88);
+emit_16(173);
+emit_16(90);
+emit_16(173);
+emit_16(88);
+emit_16(173);
+emit_16(90);
+emit_16(174);
+emit_16(92);
+emit_16(174);
+emit_16(90);
+emit_16(174);
+emit_16(92);
+emit_16(175);
+emit_16(94);
+emit_16(175);
+emit_16(92);
+emit_16(175);
+emit_16(94);
+emit_16(176);
+emit_16(96);
+emit_16(176);
+emit_16(94);
+emit_16(176);
+emit_16(96);
+emit_16(177);
+emit_16(98);
+emit_16(177);
+emit_16(96);
+emit_16(177);
+emit_16(98);
+emit_16(178);
+emit_16(100);
+emit_16(178);
+emit_16(98);
+emit_16(178);
+emit_16(100);
+emit_16(179);
+emit_16(102);
+emit_16(179);
+emit_16(100);
+emit_16(179);
+emit_16(102);
+emit_16(180);
+emit_16(104);
+emit_16(180);
+emit_16(102);
+emit_16(180);
+emit_16(104);
+emit_16(181);
+emit_16(106);
+emit_16(181);
+emit_16(104);
+emit_16(181);
+emit_16(106);
+emit_16(182);
+emit_16(108);
+emit_16(182);
+emit_16(106);
+emit_16(182);
+emit_16(108);
+emit_16(183);
+emit_16(110);
+emit_16(183);
+emit_16(108);
+emit_16(183);
+emit_16(110);
+emit_16(184);
+emit_16(112);
+emit_16(184);
+emit_16(110);
+emit_16(184);
+emit_16(112);
+emit_16(185);
+emit_16(114);
+emit_16(185);
+emit_16(112);
+emit_16(185);
+emit_16(114);
+emit_16(186);
+emit_16(116);
+emit_16(186);
+emit_16(114);
+emit_16(186);
+emit_16(116);
+emit_16(187);
+emit_16(118);
+emit_16(187);
+emit_16(116);
+emit_16(187);
+emit_16(118);
+emit_16(188);
+emit_16(120);
+emit_16(188);
+emit_16(118);
+emit_16(188);
+emit_16(120);
+emit_16(189);
+emit_16(122);
+emit_16(189);
+emit_16(120);
+emit_16(189);
+emit_16(122);
+emit_16(190);
+emit_16(124);
+emit_16(190);
+emit_16(122);
+emit_16(190);
+emit_16(124);
+emit_16(191);
+emit_16(126);
+emit_16(191);
+emit_16(124);
+emit_16(192);
+emit_16(128);
+emit_16(193);
+emit_16(129);
+emit_16(193);
+emit_16(128);
+emit_16(193);
+emit_16(129);
+emit_16(194);
+emit_16(130);
+emit_16(194);
+emit_16(129);
+emit_16(194);
+emit_16(130);
+emit_16(195);
+emit_16(131);
+emit_16(195);
+emit_16(130);
+emit_16(195);
+emit_16(131);
+emit_16(196);
+emit_16(132);
+emit_16(196);
+emit_16(131);
+emit_16(196);
+emit_16(132);
+emit_16(197);
+emit_16(133);
+emit_16(197);
+emit_16(132);
+emit_16(197);
+emit_16(133);
+emit_16(198);
+emit_16(134);
+emit_16(198);
+emit_16(133);
+emit_16(198);
+emit_16(134);
+emit_16(199);
+emit_16(135);
+emit_16(199);
+emit_16(134);
+emit_16(199);
+emit_16(135);
+emit_16(200);
+emit_16(136);
+emit_16(200);
+emit_16(135);
+emit_16(200);
+emit_16(136);
+emit_16(201);
+emit_16(137);
+emit_16(201);
+emit_16(136);
+emit_16(201);
+emit_16(137);
+emit_16(202);
+emit_16(138);
+emit_16(202);
+emit_16(137);
+emit_16(202);
+emit_16(138);
+emit_16(203);
+emit_16(139);
+emit_16(203);
+emit_16(138);
+emit_16(203);
+emit_16(139);
+emit_16(204);
+emit_16(140);
+emit_16(204);
+emit_16(139);
+emit_16(204);
+emit_16(140);
+emit_16(205);
+emit_16(141);
+emit_16(205);
+emit_16(140);
+emit_16(205);
+emit_16(141);
+emit_16(206);
+emit_16(142);
+emit_16(206);
+emit_16(141);
+emit_16(206);
+emit_16(142);
+emit_16(207);
+emit_16(143);
+emit_16(207);
+emit_16(142);
+emit_16(207);
+emit_16(143);
+emit_16(208);
+emit_16(144);
+emit_16(208);
+emit_16(143);
+emit_16(208);
+emit_16(144);
+emit_16(209);
+emit_16(145);
+emit_16(209);
+emit_16(144);
+emit_16(209);
+emit_16(145);
+emit_16(210);
+emit_16(146);
+emit_16(210);
+emit_16(145);
+emit_16(210);
+emit_16(146);
+emit_16(211);
+emit_16(147);
+emit_16(211);
+emit_16(146);
+emit_16(211);
+emit_16(147);
+emit_16(212);
+emit_16(148);
+emit_16(212);
+emit_16(147);
+emit_16(212);
+emit_16(148);
+emit_16(213);
+emit_16(149);
+emit_16(213);
+emit_16(148);
+emit_16(213);
+emit_16(149);
+emit_16(214);
+emit_16(150);
+emit_16(214);
+emit_16(149);
+emit_16(214);
+emit_16(150);
+emit_16(215);
+emit_16(151);
+emit_16(215);
+emit_16(150);
+emit_16(215);
+emit_16(151);
+emit_16(216);
+emit_16(152);
+emit_16(216);
+emit_16(151);
+emit_16(216);
+emit_16(152);
+emit_16(217);
+emit_16(153);
+emit_16(217);
+emit_16(152);
+emit_16(217);
+emit_16(153);
+emit_16(218);
+emit_16(154);
+emit_16(218);
+emit_16(153);
+emit_16(218);
+emit_16(154);
+emit_16(219);
+emit_16(155);
+emit_16(219);
+emit_16(154);
+emit_16(219);
+emit_16(155);
+emit_16(220);
+emit_16(156);
+emit_16(220);
+emit_16(155);
+emit_16(220);
+emit_16(156);
+emit_16(221);
+emit_16(157);
+emit_16(221);
+emit_16(156);
+emit_16(221);
+emit_16(157);
+emit_16(222);
+emit_16(158);
+emit_16(222);
+emit_16(157);
+emit_16(222);
+emit_16(158);
+emit_16(223);
+emit_16(159);
+emit_16(223);
+emit_16(158);
+emit_16(223);
+emit_16(159);
+emit_16(224);
+emit_16(160);
+emit_16(224);
+emit_16(159);
+emit_16(224);
+emit_16(160);
+emit_16(225);
+emit_16(161);
+emit_16(225);
+emit_16(160);
+emit_16(225);
+emit_16(161);
+emit_16(226);
+emit_16(162);
+emit_16(226);
+emit_16(161);
+emit_16(226);
+emit_16(162);
+emit_16(227);
+emit_16(163);
+emit_16(227);
+emit_16(162);
+emit_16(227);
+emit_16(163);
+emit_16(228);
+emit_16(164);
+emit_16(228);
+emit_16(163);
+emit_16(228);
+emit_16(164);
+emit_16(229);
+emit_16(165);
+emit_16(229);
+emit_16(164);
+emit_16(229);
+emit_16(165);
+emit_16(230);
+emit_16(166);
+emit_16(230);
+emit_16(165);
+emit_16(230);
+emit_16(166);
+emit_16(231);
+emit_16(167);
+emit_16(231);
+emit_16(166);
+emit_16(231);
+emit_16(167);
+emit_16(232);
+emit_16(168);
+emit_16(232);
+emit_16(167);
+emit_16(232);
+emit_16(168);
+emit_16(233);
+emit_16(169);
+emit_16(233);
+emit_16(168);
+emit_16(233);
+emit_16(169);
+emit_16(234);
+emit_16(170);
+emit_16(234);
+emit_16(169);
+emit_16(234);
+emit_16(170);
+emit_16(235);
+emit_16(171);
+emit_16(235);
+emit_16(170);
+emit_16(235);
+emit_16(171);
+emit_16(236);
+emit_16(172);
+emit_16(236);
+emit_16(171);
+emit_16(236);
+emit_16(172);
+emit_16(237);
+emit_16(173);
+emit_16(237);
+emit_16(172);
+emit_16(237);
+emit_16(173);
+emit_16(238);
+emit_16(174);
+emit_16(238);
+emit_16(173);
+emit_16(238);
+emit_16(174);
+emit_16(239);
+emit_16(175);
+emit_16(239);
+emit_16(174);
+emit_16(239);
+emit_16(175);
+emit_16(240);
+emit_16(176);
+emit_16(240);
+emit_16(175);
+emit_16(240);
+emit_16(176);
+emit_16(241);
+emit_16(177);
+emit_16(241);
+emit_16(176);
+emit_16(241);
+emit_16(177);
+emit_16(242);
+emit_16(178);
+emit_16(242);
+emit_16(177);
+emit_16(242);
+emit_16(178);
+emit_16(243);
+emit_16(179);
+emit_16(243);
+emit_16(178);
+emit_16(243);
+emit_16(179);
+emit_16(244);
+emit_16(180);
+emit_16(244);
+emit_16(179);
+emit_16(244);
+emit_16(180);
+emit_16(245);
+emit_16(181);
+emit_16(245);
+emit_16(180);
+emit_16(245);
+emit_16(181);
+emit_16(246);
+emit_16(182);
+emit_16(246);
+emit_16(181);
+emit_16(246);
+emit_16(182);
+emit_16(247);
+emit_16(183);
+emit_16(247);
+emit_16(182);
+emit_16(247);
+emit_16(183);
+emit_16(248);
+emit_16(184);
+emit_16(248);
+emit_16(183);
+emit_16(248);
+emit_16(184);
+emit_16(249);
+emit_16(185);
+emit_16(249);
+emit_16(184);
+emit_16(249);
+emit_16(185);
+emit_16(250);
+emit_16(186);
+emit_16(250);
+emit_16(185);
+emit_16(250);
+emit_16(186);
+emit_16(251);
+emit_16(187);
+emit_16(251);
+emit_16(186);
+emit_16(251);
+emit_16(187);
+emit_16(252);
+emit_16(188);
+emit_16(252);
+emit_16(187);
+emit_16(252);
+emit_16(188);
+emit_16(253);
+emit_16(189);
+emit_16(253);
+emit_16(188);
+emit_16(253);
+emit_16(189);
+emit_16(254);
+emit_16(190);
+emit_16(254);
+emit_16(189);
+emit_16(254);
+emit_16(190);
+emit_16(255);
+emit_16(191);
+emit_16(255);
+emit_16(190);
+emit_16(256);
+emit_16(192);
+emit_16(257);
+emit_16(193);
+emit_16(257);
+emit_16(192);
+emit_16(257);
+emit_16(193);
+emit_16(258);
+emit_16(194);
+emit_16(258);
+emit_16(193);
+emit_16(258);
+emit_16(194);
+emit_16(259);
+emit_16(195);
+emit_16(259);
+emit_16(194);
+emit_16(259);
+emit_16(195);
+emit_16(260);
+emit_16(196);
+emit_16(260);
+emit_16(195);
+emit_16(260);
+emit_16(196);
+emit_16(261);
+emit_16(197);
+emit_16(261);
+emit_16(196);
+emit_16(261);
+emit_16(197);
+emit_16(262);
+emit_16(198);
+emit_16(262);
+emit_16(197);
+emit_16(262);
+emit_16(198);
+emit_16(263);
+emit_16(199);
+emit_16(263);
+emit_16(198);
+emit_16(263);
+emit_16(199);
+emit_16(264);
+emit_16(200);
+emit_16(264);
+emit_16(199);
+emit_16(264);
+emit_16(200);
+emit_16(265);
+emit_16(201);
+emit_16(265);
+emit_16(200);
+emit_16(265);
+emit_16(201);
+emit_16(266);
+emit_16(202);
+emit_16(266);
+emit_16(201);
+emit_16(266);
+emit_16(202);
+emit_16(267);
+emit_16(203);
+emit_16(267);
+emit_16(202);
+emit_16(267);
+emit_16(203);
+emit_16(268);
+emit_16(204);
+emit_16(268);
+emit_16(203);
+emit_16(268);
+emit_16(204);
+emit_16(269);
+emit_16(205);
+emit_16(269);
+emit_16(204);
+emit_16(269);
+emit_16(205);
+emit_16(270);
+emit_16(206);
+emit_16(270);
+emit_16(205);
+emit_16(270);
+emit_16(206);
+emit_16(271);
+emit_16(207);
+emit_16(271);
+emit_16(206);
+emit_16(271);
+emit_16(207);
+emit_16(272);
+emit_16(208);
+emit_16(272);
+emit_16(207);
+emit_16(272);
+emit_16(208);
+emit_16(273);
+emit_16(209);
+emit_16(273);
+emit_16(208);
+emit_16(273);
+emit_16(209);
+emit_16(274);
+emit_16(210);
+emit_16(274);
+emit_16(209);
+emit_16(274);
+emit_16(210);
+emit_16(275);
+emit_16(211);
+emit_16(275);
+emit_16(210);
+emit_16(275);
+emit_16(211);
+emit_16(276);
+emit_16(212);
+emit_16(276);
+emit_16(211);
+emit_16(276);
+emit_16(212);
+emit_16(277);
+emit_16(213);
+emit_16(277);
+emit_16(212);
+emit_16(277);
+emit_16(213);
+emit_16(278);
+emit_16(214);
+emit_16(278);
+emit_16(213);
+emit_16(278);
+emit_16(214);
+emit_16(279);
+emit_16(215);
+emit_16(279);
+emit_16(214);
+emit_16(279);
+emit_16(215);
+emit_16(280);
+emit_16(216);
+emit_16(280);
+emit_16(215);
+emit_16(280);
+emit_16(216);
+emit_16(281);
+emit_16(217);
+emit_16(281);
+emit_16(216);
+emit_16(281);
+emit_16(217);
+emit_16(282);
+emit_16(218);
+emit_16(282);
+emit_16(217);
+emit_16(282);
+emit_16(218);
+emit_16(283);
+emit_16(219);
+emit_16(283);
+emit_16(218);
+emit_16(283);
+emit_16(219);
+emit_16(284);
+emit_16(220);
+emit_16(284);
+emit_16(219);
+emit_16(284);
+emit_16(220);
+emit_16(285);
+emit_16(221);
+emit_16(285);
+emit_16(220);
+emit_16(285);
+emit_16(221);
+emit_16(286);
+emit_16(222);
+emit_16(286);
+emit_16(221);
+emit_16(286);
+emit_16(222);
+emit_16(287);
+emit_16(223);
+emit_16(287);
+emit_16(222);
+emit_16(287);
+emit_16(223);
+emit_16(288);
+emit_16(224);
+emit_16(288);
+emit_16(223);
+emit_16(288);
+emit_16(224);
+emit_16(289);
+emit_16(225);
+emit_16(289);
+emit_16(224);
+emit_16(289);
+emit_16(225);
+emit_16(290);
+emit_16(226);
+emit_16(290);
+emit_16(225);
+emit_16(290);
+emit_16(226);
+emit_16(291);
+emit_16(227);
+emit_16(291);
+emit_16(226);
+emit_16(291);
+emit_16(227);
+emit_16(292);
+emit_16(228);
+emit_16(292);
+emit_16(227);
+emit_16(292);
+emit_16(228);
+emit_16(293);
+emit_16(229);
+emit_16(293);
+emit_16(228);
+emit_16(293);
+emit_16(229);
+emit_16(294);
+emit_16(230);
+emit_16(294);
+emit_16(229);
+emit_16(294);
+emit_16(230);
+emit_16(295);
+emit_16(231);
+emit_16(295);
+emit_16(230);
+emit_16(295);
+emit_16(231);
+emit_16(296);
+emit_16(232);
+emit_16(296);
+emit_16(231);
+emit_16(296);
+emit_16(232);
+emit_16(297);
+emit_16(233);
+emit_16(297);
+emit_16(232);
+emit_16(297);
+emit_16(233);
+emit_16(298);
+emit_16(234);
+emit_16(298);
+emit_16(233);
+emit_16(298);
+emit_16(234);
+emit_16(299);
+emit_16(235);
+emit_16(299);
+emit_16(234);
+emit_16(299);
+emit_16(235);
+emit_16(300);
+emit_16(236);
+emit_16(300);
+emit_16(235);
+emit_16(300);
+emit_16(236);
+emit_16(301);
+emit_16(237);
+emit_16(301);
+emit_16(236);
+emit_16(301);
+emit_16(237);
+emit_16(302);
+emit_16(238);
+emit_16(302);
+emit_16(237);
+emit_16(302);
+emit_16(238);
+emit_16(303);
+emit_16(239);
+emit_16(303);
+emit_16(238);
+emit_16(303);
+emit_16(239);
+emit_16(304);
+emit_16(240);
+emit_16(304);
+emit_16(239);
+emit_16(304);
+emit_16(240);
+emit_16(305);
+emit_16(241);
+emit_16(305);
+emit_16(240);
+emit_16(305);
+emit_16(241);
+emit_16(306);
+emit_16(242);
+emit_16(306);
+emit_16(241);
+emit_16(306);
+emit_16(242);
+emit_16(307);
+emit_16(243);
+emit_16(307);
+emit_16(242);
+emit_16(307);
+emit_16(243);
+emit_16(308);
+emit_16(244);
+emit_16(308);
+emit_16(243);
+emit_16(308);
+emit_16(244);
+emit_16(309);
+emit_16(245);
+emit_16(309);
+emit_16(244);
+emit_16(309);
+emit_16(245);
+emit_16(310);
+emit_16(246);
+emit_16(310);
+emit_16(245);
+emit_16(310);
+emit_16(246);
+emit_16(311);
+emit_16(247);
+emit_16(311);
+emit_16(246);
+emit_16(311);
+emit_16(247);
+emit_16(312);
+emit_16(248);
+emit_16(312);
+emit_16(247);
+emit_16(312);
+emit_16(248);
+emit_16(313);
+emit_16(249);
+emit_16(313);
+emit_16(248);
+emit_16(313);
+emit_16(249);
+emit_16(314);
+emit_16(250);
+emit_16(314);
+emit_16(249);
+emit_16(314);
+emit_16(250);
+emit_16(315);
+emit_16(251);
+emit_16(315);
+emit_16(250);
+emit_16(315);
+emit_16(251);
+emit_16(316);
+emit_16(252);
+emit_16(316);
+emit_16(251);
+emit_16(316);
+emit_16(252);
+emit_16(317);
+emit_16(253);
+emit_16(317);
+emit_16(252);
+emit_16(317);
+emit_16(253);
+emit_16(318);
+emit_16(254);
+emit_16(318);
+emit_16(253);
+emit_16(318);
+emit_16(254);
+emit_16(319);
+emit_16(255);
+emit_16(319);
+emit_16(254);
+emit_16(320);
+emit_16(256);
+emit_16(321);
+emit_16(257);
+emit_16(321);
+emit_16(256);
+emit_16(321);
+emit_16(257);
+emit_16(322);
+emit_16(258);
+emit_16(322);
+emit_16(257);
+emit_16(322);
+emit_16(258);
+emit_16(323);
+emit_16(259);
+emit_16(323);
+emit_16(258);
+emit_16(323);
+emit_16(259);
+emit_16(324);
+emit_16(260);
+emit_16(324);
+emit_16(259);
+emit_16(324);
+emit_16(260);
+emit_16(325);
+emit_16(261);
+emit_16(325);
+emit_16(260);
+emit_16(325);
+emit_16(261);
+emit_16(326);
+emit_16(262);
+emit_16(326);
+emit_16(261);
+emit_16(326);
+emit_16(262);
+emit_16(327);
+emit_16(263);
+emit_16(327);
+emit_16(262);
+emit_16(327);
+emit_16(263);
+emit_16(328);
+emit_16(264);
+emit_16(328);
+emit_16(263);
+emit_16(328);
+emit_16(264);
+emit_16(329);
+emit_16(265);
+emit_16(329);
+emit_16(264);
+emit_16(329);
+emit_16(265);
+emit_16(330);
+emit_16(266);
+emit_16(330);
+emit_16(265);
+emit_16(330);
+emit_16(266);
+emit_16(331);
+emit_16(267);
+emit_16(331);
+emit_16(266);
+emit_16(331);
+emit_16(267);
+emit_16(332);
+emit_16(268);
+emit_16(332);
+emit_16(267);
+emit_16(332);
+emit_16(268);
+emit_16(333);
+emit_16(269);
+emit_16(333);
+emit_16(268);
+emit_16(333);
+emit_16(269);
+emit_16(334);
+emit_16(270);
+emit_16(334);
+emit_16(269);
+emit_16(334);
+emit_16(270);
+emit_16(335);
+emit_16(271);
+emit_16(335);
+emit_16(270);
+emit_16(335);
+emit_16(271);
+emit_16(336);
+emit_16(272);
+emit_16(336);
+emit_16(271);
+emit_16(336);
+emit_16(272);
+emit_16(337);
+emit_16(273);
+emit_16(337);
+emit_16(272);
+emit_16(337);
+emit_16(273);
+emit_16(338);
+emit_16(274);
+emit_16(338);
+emit_16(273);
+emit_16(338);
+emit_16(274);
+emit_16(339);
+emit_16(275);
+emit_16(339);
+emit_16(274);
+emit_16(339);
+emit_16(275);
+emit_16(340);
+emit_16(276);
+emit_16(340);
+emit_16(275);
+emit_16(340);
+emit_16(276);
+emit_16(341);
+emit_16(277);
+emit_16(341);
+emit_16(276);
+emit_16(341);
+emit_16(277);
+emit_16(342);
+emit_16(278);
+emit_16(342);
+emit_16(277);
+emit_16(342);
+emit_16(278);
+emit_16(343);
+emit_16(279);
+emit_16(343);
+emit_16(278);
+emit_16(343);
+emit_16(279);
+emit_16(344);
+emit_16(280);
+emit_16(344);
+emit_16(279);
+emit_16(344);
+emit_16(280);
+emit_16(345);
+emit_16(281);
+emit_16(345);
+emit_16(280);
+emit_16(345);
+emit_16(281);
+emit_16(346);
+emit_16(282);
+emit_16(346);
+emit_16(281);
+emit_16(346);
+emit_16(282);
+emit_16(347);
+emit_16(283);
+emit_16(347);
+emit_16(282);
+emit_16(347);
+emit_16(283);
+emit_16(348);
+emit_16(284);
+emit_16(348);
+emit_16(283);
+emit_16(348);
+emit_16(284);
+emit_16(349);
+emit_16(285);
+emit_16(349);
+emit_16(284);
+emit_16(349);
+emit_16(285);
+emit_16(350);
+emit_16(286);
+emit_16(350);
+emit_16(285);
+emit_16(350);
+emit_16(286);
+emit_16(351);
+emit_16(287);
+emit_16(351);
+emit_16(286);
+emit_16(351);
+emit_16(287);
+emit_16(352);
+emit_16(288);
+emit_16(352);
+emit_16(287);
+emit_16(352);
+emit_16(288);
+emit_16(353);
+emit_16(289);
+emit_16(353);
+emit_16(288);
+emit_16(353);
+emit_16(289);
+emit_16(354);
+emit_16(290);
+emit_16(354);
+emit_16(289);
+emit_16(354);
+emit_16(290);
+emit_16(355);
+emit_16(291);
+emit_16(355);
+emit_16(290);
+emit_16(355);
+emit_16(291);
+emit_16(356);
+emit_16(292);
+emit_16(356);
+emit_16(291);
+emit_16(356);
+emit_16(292);
+emit_16(357);
+emit_16(293);
+emit_16(357);
+emit_16(292);
+emit_16(357);
+emit_16(293);
+emit_16(358);
+emit_16(294);
+emit_16(358);
+emit_16(293);
+emit_16(358);
+emit_16(294);
+emit_16(359);
+emit_16(295);
+emit_16(359);
+emit_16(294);
+emit_16(359);
+emit_16(295);
+emit_16(360);
+emit_16(296);
+emit_16(360);
+emit_16(295);
+emit_16(360);
+emit_16(296);
+emit_16(361);
+emit_16(297);
+emit_16(361);
+emit_16(296);
+emit_16(361);
+emit_16(297);
+emit_16(362);
+emit_16(298);
+emit_16(362);
+emit_16(297);
+emit_16(362);
+emit_16(298);
+emit_16(363);
+emit_16(299);
+emit_16(363);
+emit_16(298);
+emit_16(363);
+emit_16(299);
+emit_16(364);
+emit_16(300);
+emit_16(364);
+emit_16(299);
+emit_16(364);
+emit_16(300);
+emit_16(365);
+emit_16(301);
+emit_16(365);
+emit_16(300);
+emit_16(365);
+emit_16(301);
+emit_16(366);
+emit_16(302);
+emit_16(366);
+emit_16(301);
+emit_16(366);
+emit_16(302);
+emit_16(367);
+emit_16(303);
+emit_16(367);
+emit_16(302);
+emit_16(367);
+emit_16(303);
+emit_16(368);
+emit_16(304);
+emit_16(368);
+emit_16(303);
+emit_16(368);
+emit_16(304);
+emit_16(369);
+emit_16(305);
+emit_16(369);
+emit_16(304);
+emit_16(369);
+emit_16(305);
+emit_16(370);
+emit_16(306);
+emit_16(370);
+emit_16(305);
+emit_16(370);
+emit_16(306);
+emit_16(371);
+emit_16(307);
+emit_16(371);
+emit_16(306);
+emit_16(371);
+emit_16(307);
+emit_16(372);
+emit_16(308);
+emit_16(372);
+emit_16(307);
+emit_16(372);
+emit_16(308);
+emit_16(373);
+emit_16(309);
+emit_16(373);
+emit_16(308);
+emit_16(373);
+emit_16(309);
+emit_16(374);
+emit_16(310);
+emit_16(374);
+emit_16(309);
+emit_16(374);
+emit_16(310);
+emit_16(375);
+emit_16(311);
+emit_16(375);
+emit_16(310);
+emit_16(375);
+emit_16(311);
+emit_16(376);
+emit_16(312);
+emit_16(376);
+emit_16(311);
+emit_16(376);
+emit_16(312);
+emit_16(377);
+emit_16(313);
+emit_16(377);
+emit_16(312);
+emit_16(377);
+emit_16(313);
+emit_16(378);
+emit_16(314);
+emit_16(378);
+emit_16(313);
+emit_16(378);
+emit_16(314);
+emit_16(379);
+emit_16(315);
+emit_16(379);
+emit_16(314);
+emit_16(379);
+emit_16(315);
+emit_16(380);
+emit_16(316);
+emit_16(380);
+emit_16(315);
+emit_16(380);
+emit_16(316);
+emit_16(381);
+emit_16(317);
+emit_16(381);
+emit_16(316);
+emit_16(381);
+emit_16(317);
+emit_16(382);
+emit_16(318);
+emit_16(382);
+emit_16(317);
+emit_16(382);
+emit_16(318);
+emit_16(383);
+emit_16(319);
+emit_16(383);
+emit_16(318);
+emit_16(384);
+emit_16(320);
+emit_16(385);
+emit_16(321);
+emit_16(385);
+emit_16(320);
+emit_16(385);
+emit_16(321);
+emit_16(386);
+emit_16(322);
+emit_16(386);
+emit_16(321);
+emit_16(386);
+emit_16(322);
+emit_16(387);
+emit_16(323);
+emit_16(387);
+emit_16(322);
+emit_16(387);
+emit_16(323);
+emit_16(388);
+emit_16(324);
+emit_16(388);
+emit_16(323);
+emit_16(388);
+emit_16(324);
+emit_16(389);
+emit_16(325);
+emit_16(389);
+emit_16(324);
+emit_16(389);
+emit_16(325);
+emit_16(390);
+emit_16(326);
+emit_16(390);
+emit_16(325);
+emit_16(390);
+emit_16(326);
+emit_16(391);
+emit_16(327);
+emit_16(391);
+emit_16(326);
+emit_16(391);
+emit_16(327);
+emit_16(392);
+emit_16(328);
+emit_16(392);
+emit_16(327);
+emit_16(392);
+emit_16(328);
+emit_16(393);
+emit_16(329);
+emit_16(393);
+emit_16(328);
+emit_16(393);
+emit_16(329);
+emit_16(394);
+emit_16(330);
+emit_16(394);
+emit_16(329);
+emit_16(394);
+emit_16(330);
+emit_16(395);
+emit_16(331);
+emit_16(395);
+emit_16(330);
+emit_16(395);
+emit_16(331);
+emit_16(396);
+emit_16(332);
+emit_16(396);
+emit_16(331);
+emit_16(396);
+emit_16(332);
+emit_16(397);
+emit_16(333);
+emit_16(397);
+emit_16(332);
+emit_16(397);
+emit_16(333);
+emit_16(398);
+emit_16(334);
+emit_16(398);
+emit_16(333);
+emit_16(398);
+emit_16(334);
+emit_16(399);
+emit_16(335);
+emit_16(399);
+emit_16(334);
+emit_16(399);
+emit_16(335);
+emit_16(400);
+emit_16(336);
+emit_16(400);
+emit_16(335);
+emit_16(400);
+emit_16(336);
+emit_16(401);
+emit_16(337);
+emit_16(401);
+emit_16(336);
+emit_16(401);
+emit_16(337);
+emit_16(402);
+emit_16(338);
+emit_16(402);
+emit_16(337);
+emit_16(402);
+emit_16(338);
+emit_16(403);
+emit_16(339);
+emit_16(403);
+emit_16(338);
+emit_16(403);
+emit_16(339);
+emit_16(404);
+emit_16(340);
+emit_16(404);
+emit_16(339);
+emit_16(404);
+emit_16(340);
+emit_16(405);
+emit_16(341);
+emit_16(405);
+emit_16(340);
+emit_16(405);
+emit_16(341);
+emit_16(406);
+emit_16(342);
+emit_16(406);
+emit_16(341);
+emit_16(406);
+emit_16(342);
+emit_16(407);
+emit_16(343);
+emit_16(407);
+emit_16(342);
+emit_16(407);
+emit_16(343);
+emit_16(408);
+emit_16(344);
+emit_16(408);
+emit_16(343);
+emit_16(408);
+emit_16(344);
+emit_16(409);
+emit_16(345);
+emit_16(409);
+emit_16(344);
+emit_16(409);
+emit_16(345);
+emit_16(410);
+emit_16(346);
+emit_16(410);
+emit_16(345);
+emit_16(410);
+emit_16(346);
+emit_16(411);
+emit_16(347);
+emit_16(411);
+emit_16(346);
+emit_16(411);
+emit_16(347);
+emit_16(412);
+emit_16(348);
+emit_16(412);
+emit_16(347);
+emit_16(412);
+emit_16(348);
+emit_16(413);
+emit_16(349);
+emit_16(413);
+emit_16(348);
+emit_16(413);
+emit_16(349);
+emit_16(414);
+emit_16(350);
+emit_16(414);
+emit_16(349);
+emit_16(414);
+emit_16(350);
+emit_16(415);
+emit_16(351);
+emit_16(415);
+emit_16(350);
+emit_16(415);
+emit_16(351);
+emit_16(416);
+emit_16(352);
+emit_16(416);
+emit_16(351);
+emit_16(416);
+emit_16(352);
+emit_16(417);
+emit_16(353);
+emit_16(417);
+emit_16(352);
+emit_16(417);
+emit_16(353);
+emit_16(418);
+emit_16(354);
+emit_16(418);
+emit_16(353);
+emit_16(418);
+emit_16(354);
+emit_16(419);
+emit_16(355);
+emit_16(419);
+emit_16(354);
+emit_16(419);
+emit_16(355);
+emit_16(420);
+emit_16(356);
+emit_16(420);
+emit_16(355);
+emit_16(420);
+emit_16(356);
+emit_16(421);
+emit_16(357);
+emit_16(421);
+emit_16(356);
+emit_16(421);
+emit_16(357);
+emit_16(422);
+emit_16(358);
+emit_16(422);
+emit_16(357);
+emit_16(422);
+emit_16(358);
+emit_16(423);
+emit_16(359);
+emit_16(423);
+emit_16(358);
+emit_16(423);
+emit_16(359);
+emit_16(424);
+emit_16(360);
+emit_16(424);
+emit_16(359);
+emit_16(424);
+emit_16(360);
+emit_16(425);
+emit_16(361);
+emit_16(425);
+emit_16(360);
+emit_16(425);
+emit_16(361);
+emit_16(426);
+emit_16(362);
+emit_16(426);
+emit_16(361);
+emit_16(426);
+emit_16(362);
+emit_16(427);
+emit_16(363);
+emit_16(427);
+emit_16(362);
+emit_16(427);
+emit_16(363);
+emit_16(428);
+emit_16(364);
+emit_16(428);
+emit_16(363);
+emit_16(428);
+emit_16(364);
+emit_16(429);
+emit_16(365);
+emit_16(429);
+emit_16(364);
+emit_16(429);
+emit_16(365);
+emit_16(430);
+emit_16(366);
+emit_16(430);
+emit_16(365);
+emit_16(430);
+emit_16(366);
+emit_16(431);
+emit_16(367);
+emit_16(431);
+emit_16(366);
+emit_16(431);
+emit_16(367);
+emit_16(432);
+emit_16(368);
+emit_16(432);
+emit_16(367);
+emit_16(432);
+emit_16(368);
+emit_16(433);
+emit_16(369);
+emit_16(433);
+emit_16(368);
+emit_16(433);
+emit_16(369);
+emit_16(434);
+emit_16(370);
+emit_16(434);
+emit_16(369);
+emit_16(434);
+emit_16(370);
+emit_16(435);
+emit_16(371);
+emit_16(435);
+emit_16(370);
+emit_16(435);
+emit_16(371);
+emit_16(436);
+emit_16(372);
+emit_16(436);
+emit_16(371);
+emit_16(436);
+emit_16(372);
+emit_16(437);
+emit_16(373);
+emit_16(437);
+emit_16(372);
+emit_16(437);
+emit_16(373);
+emit_16(438);
+emit_16(374);
+emit_16(438);
+emit_16(373);
+emit_16(438);
+emit_16(374);
+emit_16(439);
+emit_16(375);
+emit_16(439);
+emit_16(374);
+emit_16(439);
+emit_16(375);
+emit_16(440);
+emit_16(376);
+emit_16(440);
+emit_16(375);
+emit_16(440);
+emit_16(376);
+emit_16(441);
+emit_16(377);
+emit_16(441);
+emit_16(376);
+emit_16(441);
+emit_16(377);
+emit_16(442);
+emit_16(378);
+emit_16(442);
+emit_16(377);
+emit_16(442);
+emit_16(378);
+emit_16(443);
+emit_16(379);
+emit_16(443);
+emit_16(378);
+emit_16(443);
+emit_16(379);
+emit_16(444);
+emit_16(380);
+emit_16(444);
+emit_16(379);
+emit_16(444);
+emit_16(380);
+emit_16(445);
+emit_16(381);
+emit_16(445);
+emit_16(380);
+emit_16(445);
+emit_16(381);
+emit_16(446);
+emit_16(382);
+emit_16(446);
+emit_16(381);
+emit_16(446);
+emit_16(382);
+emit_16(447);
+emit_16(383);
+emit_16(447);
+emit_16(382);
+emit_16(448);
+emit_16(384);
+emit_16(449);
+emit_16(385);
+emit_16(449);
+emit_16(384);
+emit_16(449);
+emit_16(385);
+emit_16(450);
+emit_16(386);
+emit_16(450);
+emit_16(385);
+emit_16(450);
+emit_16(386);
+emit_16(451);
+emit_16(387);
+emit_16(451);
+emit_16(386);
+emit_16(451);
+emit_16(387);
+emit_16(452);
+emit_16(388);
+emit_16(452);
+emit_16(387);
+emit_16(452);
+emit_16(388);
+emit_16(453);
+emit_16(389);
+emit_16(453);
+emit_16(388);
+emit_16(453);
+emit_16(389);
+emit_16(454);
+emit_16(390);
+emit_16(454);
+emit_16(389);
+emit_16(454);
+emit_16(390);
+emit_16(455);
+emit_16(391);
+emit_16(455);
+emit_16(390);
+emit_16(455);
+emit_16(391);
+emit_16(456);
+emit_16(392);
+emit_16(456);
+emit_16(391);
+emit_16(456);
+emit_16(392);
+emit_16(457);
+emit_16(393);
+emit_16(457);
+emit_16(392);
+emit_16(457);
+emit_16(393);
+emit_16(458);
+emit_16(394);
+emit_16(458);
+emit_16(393);
+emit_16(458);
+emit_16(394);
+emit_16(459);
+emit_16(395);
+emit_16(459);
+emit_16(394);
+emit_16(459);
+emit_16(395);
+emit_16(460);
+emit_16(396);
+emit_16(460);
+emit_16(395);
+emit_16(460);
+emit_16(396);
+emit_16(461);
+emit_16(397);
+emit_16(461);
+emit_16(396);
+emit_16(461);
+emit_16(397);
+emit_16(462);
+emit_16(398);
+emit_16(462);
+emit_16(397);
+emit_16(462);
+emit_16(398);
+emit_16(463);
+emit_16(399);
+emit_16(463);
+emit_16(398);
+emit_16(463);
+emit_16(399);
+emit_16(464);
+emit_16(400);
+emit_16(464);
+emit_16(399);
+emit_16(464);
+emit_16(400);
+emit_16(465);
+emit_16(401);
+emit_16(465);
+emit_16(400);
+emit_16(465);
+emit_16(401);
+emit_16(466);
+emit_16(402);
+emit_16(466);
+emit_16(401);
+emit_16(466);
+emit_16(402);
+emit_16(467);
+emit_16(403);
+emit_16(467);
+emit_16(402);
+emit_16(467);
+emit_16(403);
+emit_16(468);
+emit_16(404);
+emit_16(468);
+emit_16(403);
+emit_16(468);
+emit_16(404);
+emit_16(469);
+emit_16(405);
+emit_16(469);
+emit_16(404);
+emit_16(469);
+emit_16(405);
+emit_16(470);
+emit_16(406);
+emit_16(470);
+emit_16(405);
+emit_16(470);
+emit_16(406);
+emit_16(471);
+emit_16(407);
+emit_16(471);
+emit_16(406);
+emit_16(471);
+emit_16(407);
+emit_16(472);
+emit_16(408);
+emit_16(472);
+emit_16(407);
+emit_16(472);
+emit_16(408);
+emit_16(473);
+emit_16(409);
+emit_16(473);
+emit_16(408);
+emit_16(473);
+emit_16(409);
+emit_16(474);
+emit_16(410);
+emit_16(474);
+emit_16(409);
+emit_16(474);
+emit_16(410);
+emit_16(475);
+emit_16(411);
+emit_16(475);
+emit_16(410);
+emit_16(475);
+emit_16(411);
+emit_16(476);
+emit_16(412);
+emit_16(476);
+emit_16(411);
+emit_16(476);
+emit_16(412);
+emit_16(477);
+emit_16(413);
+emit_16(477);
+emit_16(412);
+emit_16(477);
+emit_16(413);
+emit_16(478);
+emit_16(414);
+emit_16(478);
+emit_16(413);
+emit_16(478);
+emit_16(414);
+emit_16(479);
+emit_16(415);
+emit_16(479);
+emit_16(414);
+emit_16(479);
+emit_16(415);
+emit_16(480);
+emit_16(416);
+emit_16(480);
+emit_16(415);
+emit_16(480);
+emit_16(416);
+emit_16(481);
+emit_16(417);
+emit_16(481);
+emit_16(416);
+emit_16(481);
+emit_16(417);
+emit_16(482);
+emit_16(418);
+emit_16(482);
+emit_16(417);
+emit_16(482);
+emit_16(418);
+emit_16(483);
+emit_16(419);
+emit_16(483);
+emit_16(418);
+emit_16(483);
+emit_16(419);
+emit_16(484);
+emit_16(420);
+emit_16(484);
+emit_16(419);
+emit_16(484);
+emit_16(420);
+emit_16(485);
+emit_16(421);
+emit_16(485);
+emit_16(420);
+emit_16(485);
+emit_16(421);
+emit_16(486);
+emit_16(422);
+emit_16(486);
+emit_16(421);
+emit_16(486);
+emit_16(422);
+emit_16(487);
+emit_16(423);
+emit_16(487);
+emit_16(422);
+emit_16(487);
+emit_16(423);
+emit_16(488);
+emit_16(424);
+emit_16(488);
+emit_16(423);
+emit_16(488);
+emit_16(424);
+emit_16(489);
+emit_16(425);
+emit_16(489);
+emit_16(424);
+emit_16(489);
+emit_16(425);
+emit_16(490);
+emit_16(426);
+emit_16(490);
+emit_16(425);
+emit_16(490);
+emit_16(426);
+emit_16(491);
+emit_16(427);
+emit_16(491);
+emit_16(426);
+emit_16(491);
+emit_16(427);
+emit_16(492);
+emit_16(428);
+emit_16(492);
+emit_16(427);
+emit_16(492);
+emit_16(428);
+emit_16(493);
+emit_16(429);
+emit_16(493);
+emit_16(428);
+emit_16(493);
+emit_16(429);
+emit_16(494);
+emit_16(430);
+emit_16(494);
+emit_16(429);
+emit_16(494);
+emit_16(430);
+emit_16(495);
+emit_16(431);
+emit_16(495);
+emit_16(430);
+emit_16(495);
+emit_16(431);
+emit_16(496);
+emit_16(432);
+emit_16(496);
+emit_16(431);
+emit_16(496);
+emit_16(432);
+emit_16(497);
+emit_16(433);
+emit_16(497);
+emit_16(432);
+emit_16(497);
+emit_16(433);
+emit_16(498);
+emit_16(434);
+emit_16(498);
+emit_16(433);
+emit_16(498);
+emit_16(434);
+emit_16(499);
+emit_16(435);
+emit_16(499);
+emit_16(434);
+emit_16(499);
+emit_16(435);
+emit_16(500);
+emit_16(436);
+emit_16(500);
+emit_16(435);
+emit_16(500);
+emit_16(436);
+emit_16(501);
+emit_16(437);
+emit_16(501);
+emit_16(436);
+emit_16(501);
+emit_16(437);
+emit_16(502);
+emit_16(438);
+emit_16(502);
+emit_16(437);
+emit_16(502);
+emit_16(438);
+emit_16(503);
+emit_16(439);
+emit_16(503);
+emit_16(438);
+emit_16(503);
+emit_16(439);
+emit_16(504);
+emit_16(440);
+emit_16(504);
+emit_16(439);
+emit_16(504);
+emit_16(440);
+emit_16(505);
+emit_16(441);
+emit_16(505);
+emit_16(440);
+emit_16(505);
+emit_16(441);
+emit_16(506);
+emit_16(442);
+emit_16(506);
+emit_16(441);
+emit_16(506);
+emit_16(442);
+emit_16(507);
+emit_16(443);
+emit_16(507);
+emit_16(442);
+emit_16(507);
+emit_16(443);
+emit_16(508);
+emit_16(444);
+emit_16(508);
+emit_16(443);
+emit_16(508);
+emit_16(444);
+emit_16(509);
+emit_16(445);
+emit_16(509);
+emit_16(444);
+emit_16(509);
+emit_16(445);
+emit_16(510);
+emit_16(446);
+emit_16(510);
+emit_16(445);
+emit_16(510);
+emit_16(446);
+emit_16(511);
+emit_16(447);
+emit_16(511);
+emit_16(446);
+emit_16(512);
+emit_16(448);
+emit_16(513);
+emit_16(449);
+emit_16(513);
+emit_16(448);
+emit_16(513);
+emit_16(449);
+emit_16(514);
+emit_16(450);
+emit_16(514);
+emit_16(449);
+emit_16(514);
+emit_16(450);
+emit_16(515);
+emit_16(451);
+emit_16(515);
+emit_16(450);
+emit_16(515);
+emit_16(451);
+emit_16(516);
+emit_16(452);
+emit_16(516);
+emit_16(451);
+emit_16(516);
+emit_16(452);
+emit_16(517);
+emit_16(453);
+emit_16(517);
+emit_16(452);
+emit_16(517);
+emit_16(453);
+emit_16(518);
+emit_16(454);
+emit_16(518);
+emit_16(453);
+emit_16(518);
+emit_16(454);
+emit_16(519);
+emit_16(455);
+emit_16(519);
+emit_16(454);
+emit_16(519);
+emit_16(455);
+emit_16(520);
+emit_16(456);
+emit_16(520);
+emit_16(455);
+emit_16(520);
+emit_16(456);
+emit_16(521);
+emit_16(457);
+emit_16(521);
+emit_16(456);
+emit_16(521);
+emit_16(457);
+emit_16(522);
+emit_16(458);
+emit_16(522);
+emit_16(457);
+emit_16(522);
+emit_16(458);
+emit_16(523);
+emit_16(459);
+emit_16(523);
+emit_16(458);
+emit_16(523);
+emit_16(459);
+emit_16(524);
+emit_16(460);
+emit_16(524);
+emit_16(459);
+emit_16(524);
+emit_16(460);
+emit_16(525);
+emit_16(461);
+emit_16(525);
+emit_16(460);
+emit_16(525);
+emit_16(461);
+emit_16(526);
+emit_16(462);
+emit_16(526);
+emit_16(461);
+emit_16(526);
+emit_16(462);
+emit_16(527);
+emit_16(463);
+emit_16(527);
+emit_16(462);
+emit_16(527);
+emit_16(463);
+emit_16(528);
+emit_16(464);
+emit_16(528);
+emit_16(463);
+emit_16(528);
+emit_16(464);
+emit_16(529);
+emit_16(465);
+emit_16(529);
+emit_16(464);
+emit_16(529);
+emit_16(465);
+emit_16(530);
+emit_16(466);
+emit_16(530);
+emit_16(465);
+emit_16(530);
+emit_16(466);
+emit_16(531);
+emit_16(467);
+emit_16(531);
+emit_16(466);
+emit_16(531);
+emit_16(467);
+emit_16(532);
+emit_16(468);
+emit_16(532);
+emit_16(467);
+emit_16(532);
+emit_16(468);
+emit_16(533);
+emit_16(469);
+emit_16(533);
+emit_16(468);
+emit_16(533);
+emit_16(469);
+emit_16(534);
+emit_16(470);
+emit_16(534);
+emit_16(469);
+emit_16(534);
+emit_16(470);
+emit_16(535);
+emit_16(471);
+emit_16(535);
+emit_16(470);
+emit_16(535);
+emit_16(471);
+emit_16(536);
+emit_16(472);
+emit_16(536);
+emit_16(471);
+emit_16(536);
+emit_16(472);
+emit_16(537);
+emit_16(473);
+emit_16(537);
+emit_16(472);
+emit_16(537);
+emit_16(473);
+emit_16(538);
+emit_16(474);
+emit_16(538);
+emit_16(473);
+emit_16(538);
+emit_16(474);
+emit_16(539);
+emit_16(475);
+emit_16(539);
+emit_16(474);
+emit_16(539);
+emit_16(475);
+emit_16(540);
+emit_16(476);
+emit_16(540);
+emit_16(475);
+emit_16(540);
+emit_16(476);
+emit_16(541);
+emit_16(477);
+emit_16(541);
+emit_16(476);
+emit_16(541);
+emit_16(477);
+emit_16(542);
+emit_16(478);
+emit_16(542);
+emit_16(477);
+emit_16(542);
+emit_16(478);
+emit_16(543);
+emit_16(479);
+emit_16(543);
+emit_16(478);
+emit_16(543);
+emit_16(479);
+emit_16(544);
+emit_16(480);
+emit_16(544);
+emit_16(479);
+emit_16(544);
+emit_16(480);
+emit_16(545);
+emit_16(481);
+emit_16(545);
+emit_16(480);
+emit_16(545);
+emit_16(481);
+emit_16(546);
+emit_16(482);
+emit_16(546);
+emit_16(481);
+emit_16(546);
+emit_16(482);
+emit_16(547);
+emit_16(483);
+emit_16(547);
+emit_16(482);
+emit_16(547);
+emit_16(483);
+emit_16(548);
+emit_16(484);
+emit_16(548);
+emit_16(483);
+emit_16(548);
+emit_16(484);
+emit_16(549);
+emit_16(485);
+emit_16(549);
+emit_16(484);
+emit_16(549);
+emit_16(485);
+emit_16(550);
+emit_16(486);
+emit_16(550);
+emit_16(485);
+emit_16(550);
+emit_16(486);
+emit_16(551);
+emit_16(487);
+emit_16(551);
+emit_16(486);
+emit_16(551);
+emit_16(487);
+emit_16(552);
+emit_16(488);
+emit_16(552);
+emit_16(487);
+emit_16(552);
+emit_16(488);
+emit_16(553);
+emit_16(489);
+emit_16(553);
+emit_16(488);
+emit_16(553);
+emit_16(489);
+emit_16(554);
+emit_16(490);
+emit_16(554);
+emit_16(489);
+emit_16(554);
+emit_16(490);
+emit_16(555);
+emit_16(491);
+emit_16(555);
+emit_16(490);
+emit_16(555);
+emit_16(491);
+emit_16(556);
+emit_16(492);
+emit_16(556);
+emit_16(491);
+emit_16(556);
+emit_16(492);
+emit_16(557);
+emit_16(493);
+emit_16(557);
+emit_16(492);
+emit_16(557);
+emit_16(493);
+emit_16(558);
+emit_16(494);
+emit_16(558);
+emit_16(493);
+emit_16(558);
+emit_16(494);
+emit_16(559);
+emit_16(495);
+emit_16(559);
+emit_16(494);
+emit_16(559);
+emit_16(495);
+emit_16(560);
+emit_16(496);
+emit_16(560);
+emit_16(495);
+emit_16(560);
+emit_16(496);
+emit_16(561);
+emit_16(497);
+emit_16(561);
+emit_16(496);
+emit_16(561);
+emit_16(497);
+emit_16(562);
+emit_16(498);
+emit_16(562);
+emit_16(497);
+emit_16(562);
+emit_16(498);
+emit_16(563);
+emit_16(499);
+emit_16(563);
+emit_16(498);
+emit_16(563);
+emit_16(499);
+emit_16(564);
+emit_16(500);
+emit_16(564);
+emit_16(499);
+emit_16(564);
+emit_16(500);
+emit_16(565);
+emit_16(501);
+emit_16(565);
+emit_16(500);
+emit_16(565);
+emit_16(501);
+emit_16(566);
+emit_16(502);
+emit_16(566);
+emit_16(501);
+emit_16(566);
+emit_16(502);
+emit_16(567);
+emit_16(503);
+emit_16(567);
+emit_16(502);
+emit_16(567);
+emit_16(503);
+emit_16(568);
+emit_16(504);
+emit_16(568);
+emit_16(503);
+emit_16(568);
+emit_16(504);
+emit_16(569);
+emit_16(505);
+emit_16(569);
+emit_16(504);
+emit_16(569);
+emit_16(505);
+emit_16(570);
+emit_16(506);
+emit_16(570);
+emit_16(505);
+emit_16(570);
+emit_16(506);
+emit_16(571);
+emit_16(507);
+emit_16(571);
+emit_16(506);
+emit_16(571);
+emit_16(507);
+emit_16(572);
+emit_16(508);
+emit_16(572);
+emit_16(507);
+emit_16(572);
+emit_16(508);
+emit_16(573);
+emit_16(509);
+emit_16(573);
+emit_16(508);
+emit_16(573);
+emit_16(509);
+emit_16(574);
+emit_16(510);
+emit_16(574);
+emit_16(509);
+emit_16(574);
+emit_16(510);
+emit_16(575);
+emit_16(511);
+emit_16(575);
+emit_16(510);
+emit_16(576);
+emit_16(512);
+emit_16(577);
+emit_16(513);
+emit_16(577);
+emit_16(512);
+emit_16(577);
+emit_16(513);
+emit_16(578);
+emit_16(514);
+emit_16(578);
+emit_16(513);
+emit_16(578);
+emit_16(514);
+emit_16(579);
+emit_16(515);
+emit_16(579);
+emit_16(514);
+emit_16(579);
+emit_16(515);
+emit_16(580);
+emit_16(516);
+emit_16(580);
+emit_16(515);
+emit_16(580);
+emit_16(516);
+emit_16(581);
+emit_16(517);
+emit_16(581);
+emit_16(516);
+emit_16(581);
+emit_16(517);
+emit_16(582);
+emit_16(518);
+emit_16(582);
+emit_16(517);
+emit_16(582);
+emit_16(518);
+emit_16(583);
+emit_16(519);
+emit_16(583);
+emit_16(518);
+emit_16(583);
+emit_16(519);
+emit_16(584);
+emit_16(520);
+emit_16(584);
+emit_16(519);
+emit_16(584);
+emit_16(520);
+emit_16(585);
+emit_16(521);
+emit_16(585);
+emit_16(520);
+emit_16(585);
+emit_16(521);
+emit_16(586);
+emit_16(522);
+emit_16(586);
+emit_16(521);
+emit_16(586);
+emit_16(522);
+emit_16(587);
+emit_16(523);
+emit_16(587);
+emit_16(522);
+emit_16(587);
+emit_16(523);
+emit_16(588);
+emit_16(524);
+emit_16(588);
+emit_16(523);
+emit_16(588);
+emit_16(524);
+emit_16(589);
+emit_16(525);
+emit_16(589);
+emit_16(524);
+emit_16(589);
+emit_16(525);
+emit_16(590);
+emit_16(526);
+emit_16(590);
+emit_16(525);
+emit_16(590);
+emit_16(526);
+emit_16(591);
+emit_16(527);
+emit_16(591);
+emit_16(526);
+emit_16(591);
+emit_16(527);
+emit_16(592);
+emit_16(528);
+emit_16(592);
+emit_16(527);
+emit_16(592);
+emit_16(528);
+emit_16(593);
+emit_16(529);
+emit_16(593);
+emit_16(528);
+emit_16(593);
+emit_16(529);
+emit_16(594);
+emit_16(530);
+emit_16(594);
+emit_16(529);
+emit_16(594);
+emit_16(530);
+emit_16(595);
+emit_16(531);
+emit_16(595);
+emit_16(530);
+emit_16(595);
+emit_16(531);
+emit_16(596);
+emit_16(532);
+emit_16(596);
+emit_16(531);
+emit_16(596);
+emit_16(532);
+emit_16(597);
+emit_16(533);
+emit_16(597);
+emit_16(532);
+emit_16(597);
+emit_16(533);
+emit_16(598);
+emit_16(534);
+emit_16(598);
+emit_16(533);
+emit_16(598);
+emit_16(534);
+emit_16(599);
+emit_16(535);
+emit_16(599);
+emit_16(534);
+emit_16(599);
+emit_16(535);
+emit_16(600);
+emit_16(536);
+emit_16(600);
+emit_16(535);
+emit_16(600);
+emit_16(536);
+emit_16(601);
+emit_16(537);
+emit_16(601);
+emit_16(536);
+emit_16(601);
+emit_16(537);
+emit_16(602);
+emit_16(538);
+emit_16(602);
+emit_16(537);
+emit_16(602);
+emit_16(538);
+emit_16(603);
+emit_16(539);
+emit_16(603);
+emit_16(538);
+emit_16(603);
+emit_16(539);
+emit_16(604);
+emit_16(540);
+emit_16(604);
+emit_16(539);
+emit_16(604);
+emit_16(540);
+emit_16(605);
+emit_16(541);
+emit_16(605);
+emit_16(540);
+emit_16(605);
+emit_16(541);
+emit_16(606);
+emit_16(542);
+emit_16(606);
+emit_16(541);
+emit_16(606);
+emit_16(542);
+emit_16(607);
+emit_16(543);
+emit_16(607);
+emit_16(542);
+emit_16(607);
+emit_16(543);
+emit_16(608);
+emit_16(544);
+emit_16(608);
+emit_16(543);
+emit_16(608);
+emit_16(544);
+emit_16(609);
+emit_16(545);
+emit_16(609);
+emit_16(544);
+emit_16(609);
+emit_16(545);
+emit_16(610);
+emit_16(546);
+emit_16(610);
+emit_16(545);
+emit_16(610);
+emit_16(546);
+emit_16(611);
+emit_16(547);
+emit_16(611);
+emit_16(546);
+emit_16(611);
+emit_16(547);
+emit_16(612);
+emit_16(548);
+emit_16(612);
+emit_16(547);
+emit_16(612);
+emit_16(548);
+emit_16(613);
+emit_16(549);
+emit_16(613);
+emit_16(548);
+emit_16(613);
+emit_16(549);
+emit_16(614);
+emit_16(550);
+emit_16(614);
+emit_16(549);
+emit_16(614);
+emit_16(550);
+emit_16(615);
+emit_16(551);
+emit_16(615);
+emit_16(550);
+emit_16(615);
+emit_16(551);
+emit_16(616);
+emit_16(552);
+emit_16(616);
+emit_16(551);
+emit_16(616);
+emit_16(552);
+emit_16(617);
+emit_16(553);
+emit_16(617);
+emit_16(552);
+emit_16(617);
+emit_16(553);
+emit_16(618);
+emit_16(554);
+emit_16(618);
+emit_16(553);
+emit_16(618);
+emit_16(554);
+emit_16(619);
+emit_16(555);
+emit_16(619);
+emit_16(554);
+emit_16(619);
+emit_16(555);
+emit_16(620);
+emit_16(556);
+emit_16(620);
+emit_16(555);
+emit_16(620);
+emit_16(556);
+emit_16(621);
+emit_16(557);
+emit_16(621);
+emit_16(556);
+emit_16(621);
+emit_16(557);
+emit_16(622);
+emit_16(558);
+emit_16(622);
+emit_16(557);
+emit_16(622);
+emit_16(558);
+emit_16(623);
+emit_16(559);
+emit_16(623);
+emit_16(558);
+emit_16(623);
+emit_16(559);
+emit_16(624);
+emit_16(560);
+emit_16(624);
+emit_16(559);
+emit_16(624);
+emit_16(560);
+emit_16(625);
+emit_16(561);
+emit_16(625);
+emit_16(560);
+emit_16(625);
+emit_16(561);
+emit_16(626);
+emit_16(562);
+emit_16(626);
+emit_16(561);
+emit_16(626);
+emit_16(562);
+emit_16(627);
+emit_16(563);
+emit_16(627);
+emit_16(562);
+emit_16(627);
+emit_16(563);
+emit_16(628);
+emit_16(564);
+emit_16(628);
+emit_16(563);
+emit_16(628);
+emit_16(564);
+emit_16(629);
+emit_16(565);
+emit_16(629);
+emit_16(564);
+emit_16(629);
+emit_16(565);
+emit_16(630);
+emit_16(566);
+emit_16(630);
+emit_16(565);
+emit_16(630);
+emit_16(566);
+emit_16(631);
+emit_16(567);
+emit_16(631);
+emit_16(566);
+emit_16(631);
+emit_16(567);
+emit_16(632);
+emit_16(568);
+emit_16(632);
+emit_16(567);
+emit_16(632);
+emit_16(568);
+emit_16(633);
+emit_16(569);
+emit_16(633);
+emit_16(568);
+emit_16(633);
+emit_16(569);
+emit_16(634);
+emit_16(570);
+emit_16(634);
+emit_16(569);
+emit_16(634);
+emit_16(570);
+emit_16(635);
+emit_16(571);
+emit_16(635);
+emit_16(570);
+emit_16(635);
+emit_16(571);
+emit_16(636);
+emit_16(572);
+emit_16(636);
+emit_16(571);
+emit_16(636);
+emit_16(572);
+emit_16(637);
+emit_16(573);
+emit_16(637);
+emit_16(572);
+emit_16(637);
+emit_16(573);
+emit_16(638);
+emit_16(574);
+emit_16(638);
+emit_16(573);
+emit_16(638);
+emit_16(574);
+emit_16(639);
+emit_16(575);
+emit_16(639);
+emit_16(574);
+emit_16(640);
+emit_16(576);
+emit_16(641);
+emit_16(577);
+emit_16(641);
+emit_16(576);
+emit_16(641);
+emit_16(577);
+emit_16(642);
+emit_16(578);
+emit_16(642);
+emit_16(577);
+emit_16(642);
+emit_16(578);
+emit_16(643);
+emit_16(579);
+emit_16(643);
+emit_16(578);
+emit_16(643);
+emit_16(579);
+emit_16(644);
+emit_16(580);
+emit_16(644);
+emit_16(579);
+emit_16(644);
+emit_16(580);
+emit_16(645);
+emit_16(581);
+emit_16(645);
+emit_16(580);
+emit_16(645);
+emit_16(581);
+emit_16(646);
+emit_16(582);
+emit_16(646);
+emit_16(581);
+emit_16(646);
+emit_16(582);
+emit_16(647);
+emit_16(583);
+emit_16(647);
+emit_16(582);
+emit_16(647);
+emit_16(583);
+emit_16(648);
+emit_16(584);
+emit_16(648);
+emit_16(583);
+emit_16(648);
+emit_16(584);
+emit_16(649);
+emit_16(585);
+emit_16(649);
+emit_16(584);
+emit_16(649);
+emit_16(585);
+emit_16(650);
+emit_16(586);
+emit_16(650);
+emit_16(585);
+emit_16(650);
+emit_16(586);
+emit_16(651);
+emit_16(587);
+emit_16(651);
+emit_16(586);
+emit_16(651);
+emit_16(587);
+emit_16(652);
+emit_16(588);
+emit_16(652);
+emit_16(587);
+emit_16(652);
+emit_16(588);
+emit_16(653);
+emit_16(589);
+emit_16(653);
+emit_16(588);
+emit_16(653);
+emit_16(589);
+emit_16(654);
+emit_16(590);
+emit_16(654);
+emit_16(589);
+emit_16(654);
+emit_16(590);
+emit_16(655);
+emit_16(591);
+emit_16(655);
+emit_16(590);
+emit_16(655);
+emit_16(591);
+emit_16(656);
+emit_16(592);
+emit_16(656);
+emit_16(591);
+emit_16(656);
+emit_16(592);
+emit_16(657);
+emit_16(593);
+emit_16(657);
+emit_16(592);
+emit_16(657);
+emit_16(593);
+emit_16(658);
+emit_16(594);
+emit_16(658);
+emit_16(593);
+emit_16(658);
+emit_16(594);
+emit_16(659);
+emit_16(595);
+emit_16(659);
+emit_16(594);
+emit_16(659);
+emit_16(595);
+emit_16(660);
+emit_16(596);
+emit_16(660);
+emit_16(595);
+emit_16(660);
+emit_16(596);
+emit_16(661);
+emit_16(597);
+emit_16(661);
+emit_16(596);
+emit_16(661);
+emit_16(597);
+emit_16(662);
+emit_16(598);
+emit_16(662);
+emit_16(597);
+emit_16(662);
+emit_16(598);
+emit_16(663);
+emit_16(599);
+emit_16(663);
+emit_16(598);
+emit_16(663);
+emit_16(599);
+emit_16(664);
+emit_16(600);
+emit_16(664);
+emit_16(599);
+emit_16(664);
+emit_16(600);
+emit_16(665);
+emit_16(601);
+emit_16(665);
+emit_16(600);
+emit_16(665);
+emit_16(601);
+emit_16(666);
+emit_16(602);
+emit_16(666);
+emit_16(601);
+emit_16(666);
+emit_16(602);
+emit_16(667);
+emit_16(603);
+emit_16(667);
+emit_16(602);
+emit_16(667);
+emit_16(603);
+emit_16(668);
+emit_16(604);
+emit_16(668);
+emit_16(603);
+emit_16(668);
+emit_16(604);
+emit_16(669);
+emit_16(605);
+emit_16(669);
+emit_16(604);
+emit_16(669);
+emit_16(605);
+emit_16(670);
+emit_16(606);
+emit_16(670);
+emit_16(605);
+emit_16(670);
+emit_16(606);
+emit_16(671);
+emit_16(607);
+emit_16(671);
+emit_16(606);
+emit_16(671);
+emit_16(607);
+emit_16(672);
+emit_16(608);
+emit_16(672);
+emit_16(607);
+emit_16(672);
+emit_16(608);
+emit_16(673);
+emit_16(609);
+emit_16(673);
+emit_16(608);
+emit_16(673);
+emit_16(609);
+emit_16(674);
+emit_16(610);
+emit_16(674);
+emit_16(609);
+emit_16(674);
+emit_16(610);
+emit_16(675);
+emit_16(611);
+emit_16(675);
+emit_16(610);
+emit_16(675);
+emit_16(611);
+emit_16(676);
+emit_16(612);
+emit_16(676);
+emit_16(611);
+emit_16(676);
+emit_16(612);
+emit_16(677);
+emit_16(613);
+emit_16(677);
+emit_16(612);
+emit_16(677);
+emit_16(613);
+emit_16(678);
+emit_16(614);
+emit_16(678);
+emit_16(613);
+emit_16(678);
+emit_16(614);
+emit_16(679);
+emit_16(615);
+emit_16(679);
+emit_16(614);
+emit_16(679);
+emit_16(615);
+emit_16(680);
+emit_16(616);
+emit_16(680);
+emit_16(615);
+emit_16(680);
+emit_16(616);
+emit_16(681);
+emit_16(617);
+emit_16(681);
+emit_16(616);
+emit_16(681);
+emit_16(617);
+emit_16(682);
+emit_16(618);
+emit_16(682);
+emit_16(617);
+emit_16(682);
+emit_16(618);
+emit_16(683);
+emit_16(619);
+emit_16(683);
+emit_16(618);
+emit_16(683);
+emit_16(619);
+emit_16(684);
+emit_16(620);
+emit_16(684);
+emit_16(619);
+emit_16(684);
+emit_16(620);
+emit_16(685);
+emit_16(621);
+emit_16(685);
+emit_16(620);
+emit_16(685);
+emit_16(621);
+emit_16(686);
+emit_16(622);
+emit_16(686);
+emit_16(621);
+emit_16(686);
+emit_16(622);
+emit_16(687);
+emit_16(623);
+emit_16(687);
+emit_16(622);
+emit_16(687);
+emit_16(623);
+emit_16(688);
+emit_16(624);
+emit_16(688);
+emit_16(623);
+emit_16(688);
+emit_16(624);
+emit_16(689);
+emit_16(625);
+emit_16(689);
+emit_16(624);
+emit_16(689);
+emit_16(625);
+emit_16(690);
+emit_16(626);
+emit_16(690);
+emit_16(625);
+emit_16(690);
+emit_16(626);
+emit_16(691);
+emit_16(627);
+emit_16(691);
+emit_16(626);
+emit_16(691);
+emit_16(627);
+emit_16(692);
+emit_16(628);
+emit_16(692);
+emit_16(627);
+emit_16(692);
+emit_16(628);
+emit_16(693);
+emit_16(629);
+emit_16(693);
+emit_16(628);
+emit_16(693);
+emit_16(629);
+emit_16(694);
+emit_16(630);
+emit_16(694);
+emit_16(629);
+emit_16(694);
+emit_16(630);
+emit_16(695);
+emit_16(631);
+emit_16(695);
+emit_16(630);
+emit_16(695);
+emit_16(631);
+emit_16(696);
+emit_16(632);
+emit_16(696);
+emit_16(631);
+emit_16(696);
+emit_16(632);
+emit_16(697);
+emit_16(633);
+emit_16(697);
+emit_16(632);
+emit_16(697);
+emit_16(633);
+emit_16(698);
+emit_16(634);
+emit_16(698);
+emit_16(633);
+emit_16(698);
+emit_16(634);
+emit_16(699);
+emit_16(635);
+emit_16(699);
+emit_16(634);
+emit_16(699);
+emit_16(635);
+emit_16(700);
+emit_16(636);
+emit_16(700);
+emit_16(635);
+emit_16(700);
+emit_16(636);
+emit_16(701);
+emit_16(637);
+emit_16(701);
+emit_16(636);
+emit_16(701);
+emit_16(637);
+emit_16(702);
+emit_16(638);
+emit_16(702);
+emit_16(637);
+emit_16(702);
+emit_16(638);
+emit_16(703);
+emit_16(639);
+emit_16(703);
+emit_16(638);
+emit_16(704);
+emit_16(640);
+emit_16(705);
+emit_16(641);
+emit_16(705);
+emit_16(640);
+emit_16(705);
+emit_16(641);
+emit_16(706);
+emit_16(642);
+emit_16(706);
+emit_16(641);
+emit_16(706);
+emit_16(642);
+emit_16(707);
+emit_16(643);
+emit_16(707);
+emit_16(642);
+emit_16(707);
+emit_16(643);
+emit_16(708);
+emit_16(644);
+emit_16(708);
+emit_16(643);
+emit_16(708);
+emit_16(644);
+emit_16(709);
+emit_16(645);
+emit_16(709);
+emit_16(644);
+emit_16(709);
+emit_16(645);
+emit_16(710);
+emit_16(646);
+emit_16(710);
+emit_16(645);
+emit_16(710);
+emit_16(646);
+emit_16(711);
+emit_16(647);
+emit_16(711);
+emit_16(646);
+emit_16(711);
+emit_16(647);
+emit_16(712);
+emit_16(648);
+emit_16(712);
+emit_16(647);
+emit_16(712);
+emit_16(648);
+emit_16(713);
+emit_16(649);
+emit_16(713);
+emit_16(648);
+emit_16(713);
+emit_16(649);
+emit_16(714);
+emit_16(650);
+emit_16(714);
+emit_16(649);
+emit_16(714);
+emit_16(650);
+emit_16(715);
+emit_16(651);
+emit_16(715);
+emit_16(650);
+emit_16(715);
+emit_16(651);
+emit_16(716);
+emit_16(652);
+emit_16(716);
+emit_16(651);
+emit_16(716);
+emit_16(652);
+emit_16(717);
+emit_16(653);
+emit_16(717);
+emit_16(652);
+emit_16(717);
+emit_16(653);
+emit_16(718);
+emit_16(654);
+emit_16(718);
+emit_16(653);
+emit_16(718);
+emit_16(654);
+emit_16(719);
+emit_16(655);
+emit_16(719);
+emit_16(654);
+emit_16(719);
+emit_16(655);
+emit_16(720);
+emit_16(656);
+emit_16(720);
+emit_16(655);
+emit_16(720);
+emit_16(656);
+emit_16(721);
+emit_16(657);
+emit_16(721);
+emit_16(656);
+emit_16(721);
+emit_16(657);
+emit_16(722);
+emit_16(658);
+emit_16(722);
+emit_16(657);
+emit_16(722);
+emit_16(658);
+emit_16(723);
+emit_16(659);
+emit_16(723);
+emit_16(658);
+emit_16(723);
+emit_16(659);
+emit_16(724);
+emit_16(660);
+emit_16(724);
+emit_16(659);
+emit_16(724);
+emit_16(660);
+emit_16(725);
+emit_16(661);
+emit_16(725);
+emit_16(660);
+emit_16(725);
+emit_16(661);
+emit_16(726);
+emit_16(662);
+emit_16(726);
+emit_16(661);
+emit_16(726);
+emit_16(662);
+emit_16(727);
+emit_16(663);
+emit_16(727);
+emit_16(662);
+emit_16(727);
+emit_16(663);
+emit_16(728);
+emit_16(664);
+emit_16(728);
+emit_16(663);
+emit_16(728);
+emit_16(664);
+emit_16(729);
+emit_16(665);
+emit_16(729);
+emit_16(664);
+emit_16(729);
+emit_16(665);
+emit_16(730);
+emit_16(666);
+emit_16(730);
+emit_16(665);
+emit_16(730);
+emit_16(666);
+emit_16(731);
+emit_16(667);
+emit_16(731);
+emit_16(666);
+emit_16(731);
+emit_16(667);
+emit_16(732);
+emit_16(668);
+emit_16(732);
+emit_16(667);
+emit_16(732);
+emit_16(668);
+emit_16(733);
+emit_16(669);
+emit_16(733);
+emit_16(668);
+emit_16(733);
+emit_16(669);
+emit_16(734);
+emit_16(670);
+emit_16(734);
+emit_16(669);
+emit_16(734);
+emit_16(670);
+emit_16(735);
+emit_16(671);
+emit_16(735);
+emit_16(670);
+emit_16(735);
+emit_16(671);
+emit_16(736);
+emit_16(672);
+emit_16(736);
+emit_16(671);
+emit_16(736);
+emit_16(672);
+emit_16(737);
+emit_16(673);
+emit_16(737);
+emit_16(672);
+emit_16(737);
+emit_16(673);
+emit_16(738);
+emit_16(674);
+emit_16(738);
+emit_16(673);
+emit_16(738);
+emit_16(674);
+emit_16(739);
+emit_16(675);
+emit_16(739);
+emit_16(674);
+emit_16(739);
+emit_16(675);
+emit_16(740);
+emit_16(676);
+emit_16(740);
+emit_16(675);
+emit_16(740);
+emit_16(676);
+emit_16(741);
+emit_16(677);
+emit_16(741);
+emit_16(676);
+emit_16(741);
+emit_16(677);
+emit_16(742);
+emit_16(678);
+emit_16(742);
+emit_16(677);
+emit_16(742);
+emit_16(678);
+emit_16(743);
+emit_16(679);
+emit_16(743);
+emit_16(678);
+emit_16(743);
+emit_16(679);
+emit_16(744);
+emit_16(680);
+emit_16(744);
+emit_16(679);
+emit_16(744);
+emit_16(680);
+emit_16(745);
+emit_16(681);
+emit_16(745);
+emit_16(680);
+emit_16(745);
+emit_16(681);
+emit_16(746);
+emit_16(682);
+emit_16(746);
+emit_16(681);
+emit_16(746);
+emit_16(682);
+emit_16(747);
+emit_16(683);
+emit_16(747);
+emit_16(682);
+emit_16(747);
+emit_16(683);
+emit_16(748);
+emit_16(684);
+emit_16(748);
+emit_16(683);
+emit_16(748);
+emit_16(684);
+emit_16(749);
+emit_16(685);
+emit_16(749);
+emit_16(684);
+emit_16(749);
+emit_16(685);
+emit_16(750);
+emit_16(686);
+emit_16(750);
+emit_16(685);
+emit_16(750);
+emit_16(686);
+emit_16(751);
+emit_16(687);
+emit_16(751);
+emit_16(686);
+emit_16(751);
+emit_16(687);
+emit_16(752);
+emit_16(688);
+emit_16(752);
+emit_16(687);
+emit_16(752);
+emit_16(688);
+emit_16(753);
+emit_16(689);
+emit_16(753);
+emit_16(688);
+emit_16(753);
+emit_16(689);
+emit_16(754);
+emit_16(690);
+emit_16(754);
+emit_16(689);
+emit_16(754);
+emit_16(690);
+emit_16(755);
+emit_16(691);
+emit_16(755);
+emit_16(690);
+emit_16(755);
+emit_16(691);
+emit_16(756);
+emit_16(692);
+emit_16(756);
+emit_16(691);
+emit_16(756);
+emit_16(692);
+emit_16(757);
+emit_16(693);
+emit_16(757);
+emit_16(692);
+emit_16(757);
+emit_16(693);
+emit_16(758);
+emit_16(694);
+emit_16(758);
+emit_16(693);
+emit_16(758);
+emit_16(694);
+emit_16(759);
+emit_16(695);
+emit_16(759);
+emit_16(694);
+emit_16(759);
+emit_16(695);
+emit_16(760);
+emit_16(696);
+emit_16(760);
+emit_16(695);
+emit_16(760);
+emit_16(696);
+emit_16(761);
+emit_16(697);
+emit_16(761);
+emit_16(696);
+emit_16(761);
+emit_16(697);
+emit_16(762);
+emit_16(698);
+emit_16(762);
+emit_16(697);
+emit_16(762);
+emit_16(698);
+emit_16(763);
+emit_16(699);
+emit_16(763);
+emit_16(698);
+emit_16(763);
+emit_16(699);
+emit_16(764);
+emit_16(700);
+emit_16(764);
+emit_16(699);
+emit_16(764);
+emit_16(700);
+emit_16(765);
+emit_16(701);
+emit_16(765);
+emit_16(700);
+emit_16(765);
+emit_16(701);
+emit_16(766);
+emit_16(702);
+emit_16(766);
+emit_16(701);
+emit_16(766);
+emit_16(702);
+emit_16(767);
+emit_16(703);
+emit_16(767);
+emit_16(702);
+emit_16(768);
+emit_16(704);
+emit_16(769);
+emit_16(705);
+emit_16(769);
+emit_16(704);
+emit_16(769);
+emit_16(705);
+emit_16(770);
+emit_16(706);
+emit_16(770);
+emit_16(705);
+emit_16(770);
+emit_16(706);
+emit_16(771);
+emit_16(707);
+emit_16(771);
+emit_16(706);
+emit_16(771);
+emit_16(707);
+emit_16(772);
+emit_16(708);
+emit_16(772);
+emit_16(707);
+emit_16(772);
+emit_16(708);
+emit_16(773);
+emit_16(709);
+emit_16(773);
+emit_16(708);
+emit_16(773);
+emit_16(709);
+emit_16(774);
+emit_16(710);
+emit_16(774);
+emit_16(709);
+emit_16(774);
+emit_16(710);
+emit_16(775);
+emit_16(711);
+emit_16(775);
+emit_16(710);
+emit_16(775);
+emit_16(711);
+emit_16(776);
+emit_16(712);
+emit_16(776);
+emit_16(711);
+emit_16(776);
+emit_16(712);
+emit_16(777);
+emit_16(713);
+emit_16(777);
+emit_16(712);
+emit_16(777);
+emit_16(713);
+emit_16(778);
+emit_16(714);
+emit_16(778);
+emit_16(713);
+emit_16(778);
+emit_16(714);
+emit_16(779);
+emit_16(715);
+emit_16(779);
+emit_16(714);
+emit_16(779);
+emit_16(715);
+emit_16(780);
+emit_16(716);
+emit_16(780);
+emit_16(715);
+emit_16(780);
+emit_16(716);
+emit_16(781);
+emit_16(717);
+emit_16(781);
+emit_16(716);
+emit_16(781);
+emit_16(717);
+emit_16(782);
+emit_16(718);
+emit_16(782);
+emit_16(717);
+emit_16(782);
+emit_16(718);
+emit_16(783);
+emit_16(719);
+emit_16(783);
+emit_16(718);
+emit_16(783);
+emit_16(719);
+emit_16(784);
+emit_16(720);
+emit_16(784);
+emit_16(719);
+emit_16(784);
+emit_16(720);
+emit_16(785);
+emit_16(721);
+emit_16(785);
+emit_16(720);
+emit_16(785);
+emit_16(721);
+emit_16(786);
+emit_16(722);
+emit_16(786);
+emit_16(721);
+emit_16(786);
+emit_16(722);
+emit_16(787);
+emit_16(723);
+emit_16(787);
+emit_16(722);
+emit_16(787);
+emit_16(723);
+emit_16(788);
+emit_16(724);
+emit_16(788);
+emit_16(723);
+emit_16(788);
+emit_16(724);
+emit_16(789);
+emit_16(725);
+emit_16(789);
+emit_16(724);
+emit_16(789);
+emit_16(725);
+emit_16(790);
+emit_16(726);
+emit_16(790);
+emit_16(725);
+emit_16(790);
+emit_16(726);
+emit_16(791);
+emit_16(727);
+emit_16(791);
+emit_16(726);
+emit_16(791);
+emit_16(727);
+emit_16(792);
+emit_16(728);
+emit_16(792);
+emit_16(727);
+emit_16(792);
+emit_16(728);
+emit_16(793);
+emit_16(729);
+emit_16(793);
+emit_16(728);
+emit_16(793);
+emit_16(729);
+emit_16(794);
+emit_16(730);
+emit_16(794);
+emit_16(729);
+emit_16(794);
+emit_16(730);
+emit_16(795);
+emit_16(731);
+emit_16(795);
+emit_16(730);
+emit_16(795);
+emit_16(731);
+emit_16(796);
+emit_16(732);
+emit_16(796);
+emit_16(731);
+emit_16(796);
+emit_16(732);
+emit_16(797);
+emit_16(733);
+emit_16(797);
+emit_16(732);
+emit_16(797);
+emit_16(733);
+emit_16(798);
+emit_16(734);
+emit_16(798);
+emit_16(733);
+emit_16(798);
+emit_16(734);
+emit_16(799);
+emit_16(735);
+emit_16(799);
+emit_16(734);
+emit_16(799);
+emit_16(735);
+emit_16(800);
+emit_16(736);
+emit_16(800);
+emit_16(735);
+emit_16(800);
+emit_16(736);
+emit_16(801);
+emit_16(737);
+emit_16(801);
+emit_16(736);
+emit_16(801);
+emit_16(737);
+emit_16(802);
+emit_16(738);
+emit_16(802);
+emit_16(737);
+emit_16(802);
+emit_16(738);
+emit_16(803);
+emit_16(739);
+emit_16(803);
+emit_16(738);
+emit_16(803);
+emit_16(739);
+emit_16(804);
+emit_16(740);
+emit_16(804);
+emit_16(739);
+emit_16(804);
+emit_16(740);
+emit_16(805);
+emit_16(741);
+emit_16(805);
+emit_16(740);
+emit_16(805);
+emit_16(741);
+emit_16(806);
+emit_16(742);
+emit_16(806);
+emit_16(741);
+emit_16(806);
+emit_16(742);
+emit_16(807);
+emit_16(743);
+emit_16(807);
+emit_16(742);
+emit_16(807);
+emit_16(743);
+emit_16(808);
+emit_16(744);
+emit_16(808);
+emit_16(743);
+emit_16(808);
+emit_16(744);
+emit_16(809);
+emit_16(745);
+emit_16(809);
+emit_16(744);
+emit_16(809);
+emit_16(745);
+emit_16(810);
+emit_16(746);
+emit_16(810);
+emit_16(745);
+emit_16(810);
+emit_16(746);
+emit_16(811);
+emit_16(747);
+emit_16(811);
+emit_16(746);
+emit_16(811);
+emit_16(747);
+emit_16(812);
+emit_16(748);
+emit_16(812);
+emit_16(747);
+emit_16(812);
+emit_16(748);
+emit_16(813);
+emit_16(749);
+emit_16(813);
+emit_16(748);
+emit_16(813);
+emit_16(749);
+emit_16(814);
+emit_16(750);
+emit_16(814);
+emit_16(749);
+emit_16(814);
+emit_16(750);
+emit_16(815);
+emit_16(751);
+emit_16(815);
+emit_16(750);
+emit_16(815);
+emit_16(751);
+emit_16(816);
+emit_16(752);
+emit_16(816);
+emit_16(751);
+emit_16(816);
+emit_16(752);
+emit_16(817);
+emit_16(753);
+emit_16(817);
+emit_16(752);
+emit_16(817);
+emit_16(753);
+emit_16(818);
+emit_16(754);
+emit_16(818);
+emit_16(753);
+emit_16(818);
+emit_16(754);
+emit_16(819);
+emit_16(755);
+emit_16(819);
+emit_16(754);
+emit_16(819);
+emit_16(755);
+emit_16(820);
+emit_16(756);
+emit_16(820);
+emit_16(755);
+emit_16(820);
+emit_16(756);
+emit_16(821);
+emit_16(757);
+emit_16(821);
+emit_16(756);
+emit_16(821);
+emit_16(757);
+emit_16(822);
+emit_16(758);
+emit_16(822);
+emit_16(757);
+emit_16(822);
+emit_16(758);
+emit_16(823);
+emit_16(759);
+emit_16(823);
+emit_16(758);
+emit_16(823);
+emit_16(759);
+emit_16(824);
+emit_16(760);
+emit_16(824);
+emit_16(759);
+emit_16(824);
+emit_16(760);
+emit_16(825);
+emit_16(761);
+emit_16(825);
+emit_16(760);
+emit_16(825);
+emit_16(761);
+emit_16(826);
+emit_16(762);
+emit_16(826);
+emit_16(761);
+emit_16(826);
+emit_16(762);
+emit_16(827);
+emit_16(763);
+emit_16(827);
+emit_16(762);
+emit_16(827);
+emit_16(763);
+emit_16(828);
+emit_16(764);
+emit_16(828);
+emit_16(763);
+emit_16(828);
+emit_16(764);
+emit_16(829);
+emit_16(765);
+emit_16(829);
+emit_16(764);
+emit_16(829);
+emit_16(765);
+emit_16(830);
+emit_16(766);
+emit_16(830);
+emit_16(765);
+emit_16(830);
+emit_16(766);
+emit_16(831);
+emit_16(767);
+emit_16(831);
+emit_16(766);
+emit_16(832);
+emit_16(768);
+emit_16(833);
+emit_16(769);
+emit_16(833);
+emit_16(768);
+emit_16(833);
+emit_16(769);
+emit_16(834);
+emit_16(770);
+emit_16(834);
+emit_16(769);
+emit_16(834);
+emit_16(770);
+emit_16(835);
+emit_16(771);
+emit_16(835);
+emit_16(770);
+emit_16(835);
+emit_16(771);
+emit_16(836);
+emit_16(772);
+emit_16(836);
+emit_16(771);
+emit_16(836);
+emit_16(772);
+emit_16(837);
+emit_16(773);
+emit_16(837);
+emit_16(772);
+emit_16(837);
+emit_16(773);
+emit_16(838);
+emit_16(774);
+emit_16(838);
+emit_16(773);
+emit_16(838);
+emit_16(774);
+emit_16(839);
+emit_16(775);
+emit_16(839);
+emit_16(774);
+emit_16(839);
+emit_16(775);
+emit_16(840);
+emit_16(776);
+emit_16(840);
+emit_16(775);
+emit_16(840);
+emit_16(776);
+emit_16(841);
+emit_16(777);
+emit_16(841);
+emit_16(776);
+emit_16(841);
+emit_16(777);
+emit_16(842);
+emit_16(778);
+emit_16(842);
+emit_16(777);
+emit_16(842);
+emit_16(778);
+emit_16(843);
+emit_16(779);
+emit_16(843);
+emit_16(778);
+emit_16(843);
+emit_16(779);
+emit_16(844);
+emit_16(780);
+emit_16(844);
+emit_16(779);
+emit_16(844);
+emit_16(780);
+emit_16(845);
+emit_16(781);
+emit_16(845);
+emit_16(780);
+emit_16(845);
+emit_16(781);
+emit_16(846);
+emit_16(782);
+emit_16(846);
+emit_16(781);
+emit_16(846);
+emit_16(782);
+emit_16(847);
+emit_16(783);
+emit_16(847);
+emit_16(782);
+emit_16(847);
+emit_16(783);
+emit_16(848);
+emit_16(784);
+emit_16(848);
+emit_16(783);
+emit_16(848);
+emit_16(784);
+emit_16(849);
+emit_16(785);
+emit_16(849);
+emit_16(784);
+emit_16(849);
+emit_16(785);
+emit_16(850);
+emit_16(786);
+emit_16(850);
+emit_16(785);
+emit_16(850);
+emit_16(786);
+emit_16(851);
+emit_16(787);
+emit_16(851);
+emit_16(786);
+emit_16(851);
+emit_16(787);
+emit_16(852);
+emit_16(788);
+emit_16(852);
+emit_16(787);
+emit_16(852);
+emit_16(788);
+emit_16(853);
+emit_16(789);
+emit_16(853);
+emit_16(788);
+emit_16(853);
+emit_16(789);
+emit_16(854);
+emit_16(790);
+emit_16(854);
+emit_16(789);
+emit_16(854);
+emit_16(790);
+emit_16(855);
+emit_16(791);
+emit_16(855);
+emit_16(790);
+emit_16(855);
+emit_16(791);
+emit_16(856);
+emit_16(792);
+emit_16(856);
+emit_16(791);
+emit_16(856);
+emit_16(792);
+emit_16(857);
+emit_16(793);
+emit_16(857);
+emit_16(792);
+emit_16(857);
+emit_16(793);
+emit_16(858);
+emit_16(794);
+emit_16(858);
+emit_16(793);
+emit_16(858);
+emit_16(794);
+emit_16(859);
+emit_16(795);
+emit_16(859);
+emit_16(794);
+emit_16(859);
+emit_16(795);
+emit_16(860);
+emit_16(796);
+emit_16(860);
+emit_16(795);
+emit_16(860);
+emit_16(796);
+emit_16(861);
+emit_16(797);
+emit_16(861);
+emit_16(796);
+emit_16(861);
+emit_16(797);
+emit_16(862);
+emit_16(798);
+emit_16(862);
+emit_16(797);
+emit_16(862);
+emit_16(798);
+emit_16(863);
+emit_16(799);
+emit_16(863);
+emit_16(798);
+emit_16(863);
+emit_16(799);
+emit_16(864);
+emit_16(800);
+emit_16(864);
+emit_16(799);
+emit_16(864);
+emit_16(800);
+emit_16(865);
+emit_16(801);
+emit_16(865);
+emit_16(800);
+emit_16(865);
+emit_16(801);
+emit_16(866);
+emit_16(802);
+emit_16(866);
+emit_16(801);
+emit_16(866);
+emit_16(802);
+emit_16(867);
+emit_16(803);
+emit_16(867);
+emit_16(802);
+emit_16(867);
+emit_16(803);
+emit_16(868);
+emit_16(804);
+emit_16(868);
+emit_16(803);
+emit_16(868);
+emit_16(804);
+emit_16(869);
+emit_16(805);
+emit_16(869);
+emit_16(804);
+emit_16(869);
+emit_16(805);
+emit_16(870);
+emit_16(806);
+emit_16(870);
+emit_16(805);
+emit_16(870);
+emit_16(806);
+emit_16(871);
+emit_16(807);
+emit_16(871);
+emit_16(806);
+emit_16(871);
+emit_16(807);
+emit_16(872);
+emit_16(808);
+emit_16(872);
+emit_16(807);
+emit_16(872);
+emit_16(808);
+emit_16(873);
+emit_16(809);
+emit_16(873);
+emit_16(808);
+emit_16(873);
+emit_16(809);
+emit_16(874);
+emit_16(810);
+emit_16(874);
+emit_16(809);
+emit_16(874);
+emit_16(810);
+emit_16(875);
+emit_16(811);
+emit_16(875);
+emit_16(810);
+emit_16(875);
+emit_16(811);
+emit_16(876);
+emit_16(812);
+emit_16(876);
+emit_16(811);
+emit_16(876);
+emit_16(812);
+emit_16(877);
+emit_16(813);
+emit_16(877);
+emit_16(812);
+emit_16(877);
+emit_16(813);
+emit_16(878);
+emit_16(814);
+emit_16(878);
+emit_16(813);
+emit_16(878);
+emit_16(814);
+emit_16(879);
+emit_16(815);
+emit_16(879);
+emit_16(814);
+emit_16(879);
+emit_16(815);
+emit_16(880);
+emit_16(816);
+emit_16(880);
+emit_16(815);
+emit_16(880);
+emit_16(816);
+emit_16(881);
+emit_16(817);
+emit_16(881);
+emit_16(816);
+emit_16(881);
+emit_16(817);
+emit_16(882);
+emit_16(818);
+emit_16(882);
+emit_16(817);
+emit_16(882);
+emit_16(818);
+emit_16(883);
+emit_16(819);
+emit_16(883);
+emit_16(818);
+emit_16(883);
+emit_16(819);
+emit_16(884);
+emit_16(820);
+emit_16(884);
+emit_16(819);
+emit_16(884);
+emit_16(820);
+emit_16(885);
+emit_16(821);
+emit_16(885);
+emit_16(820);
+emit_16(885);
+emit_16(821);
+emit_16(886);
+emit_16(822);
+emit_16(886);
+emit_16(821);
+emit_16(886);
+emit_16(822);
+emit_16(887);
+emit_16(823);
+emit_16(887);
+emit_16(822);
+emit_16(887);
+emit_16(823);
+emit_16(888);
+emit_16(824);
+emit_16(888);
+emit_16(823);
+emit_16(888);
+emit_16(824);
+emit_16(889);
+emit_16(825);
+emit_16(889);
+emit_16(824);
+emit_16(889);
+emit_16(825);
+emit_16(890);
+emit_16(826);
+emit_16(890);
+emit_16(825);
+emit_16(890);
+emit_16(826);
+emit_16(891);
+emit_16(827);
+emit_16(891);
+emit_16(826);
+emit_16(891);
+emit_16(827);
+emit_16(892);
+emit_16(828);
+emit_16(892);
+emit_16(827);
+emit_16(892);
+emit_16(828);
+emit_16(893);
+emit_16(829);
+emit_16(893);
+emit_16(828);
+emit_16(893);
+emit_16(829);
+emit_16(894);
+emit_16(830);
+emit_16(894);
+emit_16(829);
+emit_16(894);
+emit_16(830);
+emit_16(895);
+emit_16(831);
+emit_16(895);
+emit_16(830);
+emit_16(896);
+emit_16(832);
+emit_16(897);
+emit_16(833);
+emit_16(897);
+emit_16(832);
+emit_16(897);
+emit_16(833);
+emit_16(898);
+emit_16(834);
+emit_16(898);
+emit_16(833);
+emit_16(898);
+emit_16(834);
+emit_16(899);
+emit_16(835);
+emit_16(899);
+emit_16(834);
+emit_16(899);
+emit_16(835);
+emit_16(900);
+emit_16(836);
+emit_16(900);
+emit_16(835);
+emit_16(900);
+emit_16(836);
+emit_16(901);
+emit_16(837);
+emit_16(901);
+emit_16(836);
+emit_16(901);
+emit_16(837);
+emit_16(902);
+emit_16(838);
+emit_16(902);
+emit_16(837);
+emit_16(902);
+emit_16(838);
+emit_16(903);
+emit_16(839);
+emit_16(903);
+emit_16(838);
+emit_16(903);
+emit_16(839);
+emit_16(904);
+emit_16(840);
+emit_16(904);
+emit_16(839);
+emit_16(904);
+emit_16(840);
+emit_16(905);
+emit_16(841);
+emit_16(905);
+emit_16(840);
+emit_16(905);
+emit_16(841);
+emit_16(906);
+emit_16(842);
+emit_16(906);
+emit_16(841);
+emit_16(906);
+emit_16(842);
+emit_16(907);
+emit_16(843);
+emit_16(907);
+emit_16(842);
+emit_16(907);
+emit_16(843);
+emit_16(908);
+emit_16(844);
+emit_16(908);
+emit_16(843);
+emit_16(908);
+emit_16(844);
+emit_16(909);
+emit_16(845);
+emit_16(909);
+emit_16(844);
+emit_16(909);
+emit_16(845);
+emit_16(910);
+emit_16(846);
+emit_16(910);
+emit_16(845);
+emit_16(910);
+emit_16(846);
+emit_16(911);
+emit_16(847);
+emit_16(911);
+emit_16(846);
+emit_16(911);
+emit_16(847);
+emit_16(912);
+emit_16(848);
+emit_16(912);
+emit_16(847);
+emit_16(912);
+emit_16(848);
+emit_16(913);
+emit_16(849);
+emit_16(913);
+emit_16(848);
+emit_16(913);
+emit_16(849);
+emit_16(914);
+emit_16(850);
+emit_16(914);
+emit_16(849);
+emit_16(914);
+emit_16(850);
+emit_16(915);
+emit_16(851);
+emit_16(915);
+emit_16(850);
+emit_16(915);
+emit_16(851);
+emit_16(916);
+emit_16(852);
+emit_16(916);
+emit_16(851);
+emit_16(916);
+emit_16(852);
+emit_16(917);
+emit_16(853);
+emit_16(917);
+emit_16(852);
+emit_16(917);
+emit_16(853);
+emit_16(918);
+emit_16(854);
+emit_16(918);
+emit_16(853);
+emit_16(918);
+emit_16(854);
+emit_16(919);
+emit_16(855);
+emit_16(919);
+emit_16(854);
+emit_16(919);
+emit_16(855);
+emit_16(920);
+emit_16(856);
+emit_16(920);
+emit_16(855);
+emit_16(920);
+emit_16(856);
+emit_16(921);
+emit_16(857);
+emit_16(921);
+emit_16(856);
+emit_16(921);
+emit_16(857);
+emit_16(922);
+emit_16(858);
+emit_16(922);
+emit_16(857);
+emit_16(922);
+emit_16(858);
+emit_16(923);
+emit_16(859);
+emit_16(923);
+emit_16(858);
+emit_16(923);
+emit_16(859);
+emit_16(924);
+emit_16(860);
+emit_16(924);
+emit_16(859);
+emit_16(924);
+emit_16(860);
+emit_16(925);
+emit_16(861);
+emit_16(925);
+emit_16(860);
+emit_16(925);
+emit_16(861);
+emit_16(926);
+emit_16(862);
+emit_16(926);
+emit_16(861);
+emit_16(926);
+emit_16(862);
+emit_16(927);
+emit_16(863);
+emit_16(927);
+emit_16(862);
+emit_16(927);
+emit_16(863);
+emit_16(928);
+emit_16(864);
+emit_16(928);
+emit_16(863);
+emit_16(928);
+emit_16(864);
+emit_16(929);
+emit_16(865);
+emit_16(929);
+emit_16(864);
+emit_16(929);
+emit_16(865);
+emit_16(930);
+emit_16(866);
+emit_16(930);
+emit_16(865);
+emit_16(930);
+emit_16(866);
+emit_16(931);
+emit_16(867);
+emit_16(931);
+emit_16(866);
+emit_16(931);
+emit_16(867);
+emit_16(932);
+emit_16(868);
+emit_16(932);
+emit_16(867);
+emit_16(932);
+emit_16(868);
+emit_16(933);
+emit_16(869);
+emit_16(933);
+emit_16(868);
+emit_16(933);
+emit_16(869);
+emit_16(934);
+emit_16(870);
+emit_16(934);
+emit_16(869);
+emit_16(934);
+emit_16(870);
+emit_16(935);
+emit_16(871);
+emit_16(935);
+emit_16(870);
+emit_16(935);
+emit_16(871);
+emit_16(936);
+emit_16(872);
+emit_16(936);
+emit_16(871);
+emit_16(936);
+emit_16(872);
+emit_16(937);
+emit_16(873);
+emit_16(937);
+emit_16(872);
+emit_16(937);
+emit_16(873);
+emit_16(938);
+emit_16(874);
+emit_16(938);
+emit_16(873);
+emit_16(938);
+emit_16(874);
+emit_16(939);
+emit_16(875);
+emit_16(939);
+emit_16(874);
+emit_16(939);
+emit_16(875);
+emit_16(940);
+emit_16(876);
+emit_16(940);
+emit_16(875);
+emit_16(940);
+emit_16(876);
+emit_16(941);
+emit_16(877);
+emit_16(941);
+emit_16(876);
+emit_16(941);
+emit_16(877);
+emit_16(942);
+emit_16(878);
+emit_16(942);
+emit_16(877);
+emit_16(942);
+emit_16(878);
+emit_16(943);
+emit_16(879);
+emit_16(943);
+emit_16(878);
+emit_16(943);
+emit_16(879);
+emit_16(944);
+emit_16(880);
+emit_16(944);
+emit_16(879);
+emit_16(944);
+emit_16(880);
+emit_16(945);
+emit_16(881);
+emit_16(945);
+emit_16(880);
+emit_16(945);
+emit_16(881);
+emit_16(946);
+emit_16(882);
+emit_16(946);
+emit_16(881);
+emit_16(946);
+emit_16(882);
+emit_16(947);
+emit_16(883);
+emit_16(947);
+emit_16(882);
+emit_16(947);
+emit_16(883);
+emit_16(948);
+emit_16(884);
+emit_16(948);
+emit_16(883);
+emit_16(948);
+emit_16(884);
+emit_16(949);
+emit_16(885);
+emit_16(949);
+emit_16(884);
+emit_16(949);
+emit_16(885);
+emit_16(950);
+emit_16(886);
+emit_16(950);
+emit_16(885);
+emit_16(950);
+emit_16(886);
+emit_16(951);
+emit_16(887);
+emit_16(951);
+emit_16(886);
+emit_16(951);
+emit_16(887);
+emit_16(952);
+emit_16(888);
+emit_16(952);
+emit_16(887);
+emit_16(952);
+emit_16(888);
+emit_16(953);
+emit_16(889);
+emit_16(953);
+emit_16(888);
+emit_16(953);
+emit_16(889);
+emit_16(954);
+emit_16(890);
+emit_16(954);
+emit_16(889);
+emit_16(954);
+emit_16(890);
+emit_16(955);
+emit_16(891);
+emit_16(955);
+emit_16(890);
+emit_16(955);
+emit_16(891);
+emit_16(956);
+emit_16(892);
+emit_16(956);
+emit_16(891);
+emit_16(956);
+emit_16(892);
+emit_16(957);
+emit_16(893);
+emit_16(957);
+emit_16(892);
+emit_16(957);
+emit_16(893);
+emit_16(958);
+emit_16(894);
+emit_16(958);
+emit_16(893);
+emit_16(958);
+emit_16(894);
+emit_16(959);
+emit_16(895);
+emit_16(959);
+emit_16(894);
+emit_16(960);
+emit_16(896);
+emit_16(961);
+emit_16(897);
+emit_16(961);
+emit_16(896);
+emit_16(961);
+emit_16(897);
+emit_16(962);
+emit_16(898);
+emit_16(962);
+emit_16(897);
+emit_16(962);
+emit_16(898);
+emit_16(963);
+emit_16(899);
+emit_16(963);
+emit_16(898);
+emit_16(963);
+emit_16(899);
+emit_16(964);
+emit_16(900);
+emit_16(964);
+emit_16(899);
+emit_16(964);
+emit_16(900);
+emit_16(965);
+emit_16(901);
+emit_16(965);
+emit_16(900);
+emit_16(965);
+emit_16(901);
+emit_16(966);
+emit_16(902);
+emit_16(966);
+emit_16(901);
+emit_16(966);
+emit_16(902);
+emit_16(967);
+emit_16(903);
+emit_16(967);
+emit_16(902);
+emit_16(967);
+emit_16(903);
+emit_16(968);
+emit_16(904);
+emit_16(968);
+emit_16(903);
+emit_16(968);
+emit_16(904);
+emit_16(969);
+emit_16(905);
+emit_16(969);
+emit_16(904);
+emit_16(969);
+emit_16(905);
+emit_16(970);
+emit_16(906);
+emit_16(970);
+emit_16(905);
+emit_16(970);
+emit_16(906);
+emit_16(971);
+emit_16(907);
+emit_16(971);
+emit_16(906);
+emit_16(971);
+emit_16(907);
+emit_16(972);
+emit_16(908);
+emit_16(972);
+emit_16(907);
+emit_16(972);
+emit_16(908);
+emit_16(973);
+emit_16(909);
+emit_16(973);
+emit_16(908);
+emit_16(973);
+emit_16(909);
+emit_16(974);
+emit_16(910);
+emit_16(974);
+emit_16(909);
+emit_16(974);
+emit_16(910);
+emit_16(975);
+emit_16(911);
+emit_16(975);
+emit_16(910);
+emit_16(975);
+emit_16(911);
+emit_16(976);
+emit_16(912);
+emit_16(976);
+emit_16(911);
+emit_16(976);
+emit_16(912);
+emit_16(977);
+emit_16(913);
+emit_16(977);
+emit_16(912);
+emit_16(977);
+emit_16(913);
+emit_16(978);
+emit_16(914);
+emit_16(978);
+emit_16(913);
+emit_16(978);
+emit_16(914);
+emit_16(979);
+emit_16(915);
+emit_16(979);
+emit_16(914);
+emit_16(979);
+emit_16(915);
+emit_16(980);
+emit_16(916);
+emit_16(980);
+emit_16(915);
+emit_16(980);
+emit_16(916);
+emit_16(981);
+emit_16(917);
+emit_16(981);
+emit_16(916);
+emit_16(981);
+emit_16(917);
+emit_16(982);
+emit_16(918);
+emit_16(982);
+emit_16(917);
+emit_16(982);
+emit_16(918);
+emit_16(983);
+emit_16(919);
+emit_16(983);
+emit_16(918);
+emit_16(983);
+emit_16(919);
+emit_16(984);
+emit_16(920);
+emit_16(984);
+emit_16(919);
+emit_16(984);
+emit_16(920);
+emit_16(985);
+emit_16(921);
+emit_16(985);
+emit_16(920);
+emit_16(985);
+emit_16(921);
+emit_16(986);
+emit_16(922);
+emit_16(986);
+emit_16(921);
+emit_16(986);
+emit_16(922);
+emit_16(987);
+emit_16(923);
+emit_16(987);
+emit_16(922);
+emit_16(987);
+emit_16(923);
+emit_16(988);
+emit_16(924);
+emit_16(988);
+emit_16(923);
+emit_16(988);
+emit_16(924);
+emit_16(989);
+emit_16(925);
+emit_16(989);
+emit_16(924);
+emit_16(989);
+emit_16(925);
+emit_16(990);
+emit_16(926);
+emit_16(990);
+emit_16(925);
+emit_16(990);
+emit_16(926);
+emit_16(991);
+emit_16(927);
+emit_16(991);
+emit_16(926);
+emit_16(991);
+emit_16(927);
+emit_16(992);
+emit_16(928);
+emit_16(992);
+emit_16(927);
+emit_16(992);
+emit_16(928);
+emit_16(993);
+emit_16(929);
+emit_16(993);
+emit_16(928);
+emit_16(993);
+emit_16(929);
+emit_16(994);
+emit_16(930);
+emit_16(994);
+emit_16(929);
+emit_16(994);
+emit_16(930);
+emit_16(995);
+emit_16(931);
+emit_16(995);
+emit_16(930);
+emit_16(995);
+emit_16(931);
+emit_16(996);
+emit_16(932);
+emit_16(996);
+emit_16(931);
+emit_16(996);
+emit_16(932);
+emit_16(997);
+emit_16(933);
+emit_16(997);
+emit_16(932);
+emit_16(997);
+emit_16(933);
+emit_16(998);
+emit_16(934);
+emit_16(998);
+emit_16(933);
+emit_16(998);
+emit_16(934);
+emit_16(999);
+emit_16(935);
+emit_16(999);
+emit_16(934);
+emit_16(999);
+emit_16(935);
+emit_16(1000);
+emit_16(936);
+emit_16(1000);
+emit_16(935);
+emit_16(1000);
+emit_16(936);
+emit_16(1001);
+emit_16(937);
+emit_16(1001);
+emit_16(936);
+emit_16(1001);
+emit_16(937);
+emit_16(1002);
+emit_16(938);
+emit_16(1002);
+emit_16(937);
+emit_16(1002);
+emit_16(938);
+emit_16(1003);
+emit_16(939);
+emit_16(1003);
+emit_16(938);
+emit_16(1003);
+emit_16(939);
+emit_16(1004);
+emit_16(940);
+emit_16(1004);
+emit_16(939);
+emit_16(1004);
+emit_16(940);
+emit_16(1005);
+emit_16(941);
+emit_16(1005);
+emit_16(940);
+emit_16(1005);
+emit_16(941);
+emit_16(1006);
+emit_16(942);
+emit_16(1006);
+emit_16(941);
+emit_16(1006);
+emit_16(942);
+emit_16(1007);
+emit_16(943);
+emit_16(1007);
+emit_16(942);
+emit_16(1007);
+emit_16(943);
+emit_16(1008);
+emit_16(944);
+emit_16(1008);
+emit_16(943);
+emit_16(1008);
+emit_16(944);
+emit_16(1009);
+emit_16(945);
+emit_16(1009);
+emit_16(944);
+emit_16(1009);
+emit_16(945);
+emit_16(1010);
+emit_16(946);
+emit_16(1010);
+emit_16(945);
+emit_16(1010);
+emit_16(946);
+emit_16(1011);
+emit_16(947);
+emit_16(1011);
+emit_16(946);
+emit_16(1011);
+emit_16(947);
+emit_16(1012);
+emit_16(948);
+emit_16(1012);
+emit_16(947);
+emit_16(1012);
+emit_16(948);
+emit_16(1013);
+emit_16(949);
+emit_16(1013);
+emit_16(948);
+emit_16(1013);
+emit_16(949);
+emit_16(1014);
+emit_16(950);
+emit_16(1014);
+emit_16(949);
+emit_16(1014);
+emit_16(950);
+emit_16(1015);
+emit_16(951);
+emit_16(1015);
+emit_16(950);
+emit_16(1015);
+emit_16(951);
+emit_16(1016);
+emit_16(952);
+emit_16(1016);
+emit_16(951);
+emit_16(1016);
+emit_16(952);
+emit_16(1017);
+emit_16(953);
+emit_16(1017);
+emit_16(952);
+emit_16(1017);
+emit_16(953);
+emit_16(1018);
+emit_16(954);
+emit_16(1018);
+emit_16(953);
+emit_16(1018);
+emit_16(954);
+emit_16(1019);
+emit_16(955);
+emit_16(1019);
+emit_16(954);
+emit_16(1019);
+emit_16(955);
+emit_16(1020);
+emit_16(956);
+emit_16(1020);
+emit_16(955);
+emit_16(1020);
+emit_16(956);
+emit_16(1021);
+emit_16(957);
+emit_16(1021);
+emit_16(956);
+emit_16(1021);
+emit_16(957);
+emit_16(1022);
+emit_16(958);
+emit_16(1022);
+emit_16(957);
+emit_16(1022);
+emit_16(958);
+emit_16(1023);
+emit_16(959);
+emit_16(1023);
+emit_16(958);
+emit_16(1024);
+emit_16(960);
+emit_16(1025);
+emit_16(961);
+emit_16(1025);
+emit_16(960);
+emit_16(1025);
+emit_16(961);
+emit_16(1026);
+emit_16(962);
+emit_16(1026);
+emit_16(961);
+emit_16(1026);
+emit_16(962);
+emit_16(1027);
+emit_16(963);
+emit_16(1027);
+emit_16(962);
+emit_16(1027);
+emit_16(963);
+emit_16(1028);
+emit_16(964);
+emit_16(1028);
+emit_16(963);
+emit_16(1028);
+emit_16(964);
+emit_16(1029);
+emit_16(965);
+emit_16(1029);
+emit_16(964);
+emit_16(1029);
+emit_16(965);
+emit_16(1030);
+emit_16(966);
+emit_16(1030);
+emit_16(965);
+emit_16(1030);
+emit_16(966);
+emit_16(1031);
+emit_16(967);
+emit_16(1031);
+emit_16(966);
+emit_16(1031);
+emit_16(967);
+emit_16(1032);
+emit_16(968);
+emit_16(1032);
+emit_16(967);
+emit_16(1032);
+emit_16(968);
+emit_16(1033);
+emit_16(969);
+emit_16(1033);
+emit_16(968);
+emit_16(1033);
+emit_16(969);
+emit_16(1034);
+emit_16(970);
+emit_16(1034);
+emit_16(969);
+emit_16(1034);
+emit_16(970);
+emit_16(1035);
+emit_16(971);
+emit_16(1035);
+emit_16(970);
+emit_16(1035);
+emit_16(971);
+emit_16(1036);
+emit_16(972);
+emit_16(1036);
+emit_16(971);
+emit_16(1036);
+emit_16(972);
+emit_16(1037);
+emit_16(973);
+emit_16(1037);
+emit_16(972);
+emit_16(1037);
+emit_16(973);
+emit_16(1038);
+emit_16(974);
+emit_16(1038);
+emit_16(973);
+emit_16(1038);
+emit_16(974);
+emit_16(1039);
+emit_16(975);
+emit_16(1039);
+emit_16(974);
+emit_16(1039);
+emit_16(975);
+emit_16(1040);
+emit_16(976);
+emit_16(1040);
+emit_16(975);
+emit_16(1040);
+emit_16(976);
+emit_16(1041);
+emit_16(977);
+emit_16(1041);
+emit_16(976);
+emit_16(1041);
+emit_16(977);
+emit_16(1042);
+emit_16(978);
+emit_16(1042);
+emit_16(977);
+emit_16(1042);
+emit_16(978);
+emit_16(1043);
+emit_16(979);
+emit_16(1043);
+emit_16(978);
+emit_16(1043);
+emit_16(979);
+emit_16(1044);
+emit_16(980);
+emit_16(1044);
+emit_16(979);
+emit_16(1044);
+emit_16(980);
+emit_16(1045);
+emit_16(981);
+emit_16(1045);
+emit_16(980);
+emit_16(1045);
+emit_16(981);
+emit_16(1046);
+emit_16(982);
+emit_16(1046);
+emit_16(981);
+emit_16(1046);
+emit_16(982);
+emit_16(1047);
+emit_16(983);
+emit_16(1047);
+emit_16(982);
+emit_16(1047);
+emit_16(983);
+emit_16(1048);
+emit_16(984);
+emit_16(1048);
+emit_16(983);
+emit_16(1048);
+emit_16(984);
+emit_16(1049);
+emit_16(985);
+emit_16(1049);
+emit_16(984);
+emit_16(1049);
+emit_16(985);
+emit_16(1050);
+emit_16(986);
+emit_16(1050);
+emit_16(985);
+emit_16(1050);
+emit_16(986);
+emit_16(1051);
+emit_16(987);
+emit_16(1051);
+emit_16(986);
+emit_16(1051);
+emit_16(987);
+emit_16(1052);
+emit_16(988);
+emit_16(1052);
+emit_16(987);
+emit_16(1052);
+emit_16(988);
+emit_16(1053);
+emit_16(989);
+emit_16(1053);
+emit_16(988);
+emit_16(1053);
+emit_16(989);
+emit_16(1054);
+emit_16(990);
+emit_16(1054);
+emit_16(989);
+emit_16(1054);
+emit_16(990);
+emit_16(1055);
+emit_16(991);
+emit_16(1055);
+emit_16(990);
+emit_16(1055);
+emit_16(991);
+emit_16(1056);
+emit_16(992);
+emit_16(1056);
+emit_16(991);
+emit_16(1056);
+emit_16(992);
+emit_16(1057);
+emit_16(993);
+emit_16(1057);
+emit_16(992);
+emit_16(1057);
+emit_16(993);
+emit_16(1058);
+emit_16(994);
+emit_16(1058);
+emit_16(993);
+emit_16(1058);
+emit_16(994);
+emit_16(1059);
+emit_16(995);
+emit_16(1059);
+emit_16(994);
+emit_16(1059);
+emit_16(995);
+emit_16(1060);
+emit_16(996);
+emit_16(1060);
+emit_16(995);
+emit_16(1060);
+emit_16(996);
+emit_16(1061);
+emit_16(997);
+emit_16(1061);
+emit_16(996);
+emit_16(1061);
+emit_16(997);
+emit_16(1062);
+emit_16(998);
+emit_16(1062);
+emit_16(997);
+emit_16(1062);
+emit_16(998);
+emit_16(1063);
+emit_16(999);
+emit_16(1063);
+emit_16(998);
+emit_16(1063);
+emit_16(999);
+emit_16(1064);
+emit_16(1000);
+emit_16(1064);
+emit_16(999);
+emit_16(1064);
+emit_16(1000);
+emit_16(1065);
+emit_16(1001);
+emit_16(1065);
+emit_16(1000);
+emit_16(1065);
+emit_16(1001);
+emit_16(1066);
+emit_16(1002);
+emit_16(1066);
+emit_16(1001);
+emit_16(1066);
+emit_16(1002);
+emit_16(1067);
+emit_16(1003);
+emit_16(1067);
+emit_16(1002);
+emit_16(1067);
+emit_16(1003);
+emit_16(1068);
+emit_16(1004);
+emit_16(1068);
+emit_16(1003);
+emit_16(1068);
+emit_16(1004);
+emit_16(1069);
+emit_16(1005);
+emit_16(1069);
+emit_16(1004);
+emit_16(1069);
+emit_16(1005);
+emit_16(1070);
+emit_16(1006);
+emit_16(1070);
+emit_16(1005);
+emit_16(1070);
+emit_16(1006);
+emit_16(1071);
+emit_16(1007);
+emit_16(1071);
+emit_16(1006);
+emit_16(1071);
+emit_16(1007);
+emit_16(1072);
+emit_16(1008);
+emit_16(1072);
+emit_16(1007);
+emit_16(1072);
+emit_16(1008);
+emit_16(1073);
+emit_16(1009);
+emit_16(1073);
+emit_16(1008);
+emit_16(1073);
+emit_16(1009);
+emit_16(1074);
+emit_16(1010);
+emit_16(1074);
+emit_16(1009);
+emit_16(1074);
+emit_16(1010);
+emit_16(1075);
+emit_16(1011);
+emit_16(1075);
+emit_16(1010);
+emit_16(1075);
+emit_16(1011);
+emit_16(1076);
+emit_16(1012);
+emit_16(1076);
+emit_16(1011);
+emit_16(1076);
+emit_16(1012);
+emit_16(1077);
+emit_16(1013);
+emit_16(1077);
+emit_16(1012);
+emit_16(1077);
+emit_16(1013);
+emit_16(1078);
+emit_16(1014);
+emit_16(1078);
+emit_16(1013);
+emit_16(1078);
+emit_16(1014);
+emit_16(1079);
+emit_16(1015);
+emit_16(1079);
+emit_16(1014);
+emit_16(1079);
+emit_16(1015);
+emit_16(1080);
+emit_16(1016);
+emit_16(1080);
+emit_16(1015);
+emit_16(1080);
+emit_16(1016);
+emit_16(1081);
+emit_16(1017);
+emit_16(1081);
+emit_16(1016);
+emit_16(1081);
+emit_16(1017);
+emit_16(1082);
+emit_16(1018);
+emit_16(1082);
+emit_16(1017);
+emit_16(1082);
+emit_16(1018);
+emit_16(1083);
+emit_16(1019);
+emit_16(1083);
+emit_16(1018);
+emit_16(1083);
+emit_16(1019);
+emit_16(1084);
+emit_16(1020);
+emit_16(1084);
+emit_16(1019);
+emit_16(1084);
+emit_16(1020);
+emit_16(1085);
+emit_16(1021);
+emit_16(1085);
+emit_16(1020);
+emit_16(1085);
+emit_16(1021);
+emit_16(1086);
+emit_16(1022);
+emit_16(1086);
+emit_16(1021);
+emit_16(1086);
+emit_16(1022);
+emit_16(1087);
+emit_16(1023);
+emit_16(1087);
+emit_16(1022);
+emit_16(1088);
+emit_16(1024);
+emit_16(1089);
+emit_16(1025);
+emit_16(1089);
+emit_16(1024);
+emit_16(1089);
+emit_16(1025);
+emit_16(1090);
+emit_16(1026);
+emit_16(1090);
+emit_16(1025);
+emit_16(1090);
+emit_16(1026);
+emit_16(1091);
+emit_16(1027);
+emit_16(1091);
+emit_16(1026);
+emit_16(1091);
+emit_16(1027);
+emit_16(1092);
+emit_16(1028);
+emit_16(1092);
+emit_16(1027);
+emit_16(1092);
+emit_16(1028);
+emit_16(1093);
+emit_16(1029);
+emit_16(1093);
+emit_16(1028);
+emit_16(1093);
+emit_16(1029);
+emit_16(1094);
+emit_16(1030);
+emit_16(1094);
+emit_16(1029);
+emit_16(1094);
+emit_16(1030);
+emit_16(1095);
+emit_16(1031);
+emit_16(1095);
+emit_16(1030);
+emit_16(1095);
+emit_16(1031);
+emit_16(1096);
+emit_16(1032);
+emit_16(1096);
+emit_16(1031);
+emit_16(1096);
+emit_16(1032);
+emit_16(1097);
+emit_16(1033);
+emit_16(1097);
+emit_16(1032);
+emit_16(1097);
+emit_16(1033);
+emit_16(1098);
+emit_16(1034);
+emit_16(1098);
+emit_16(1033);
+emit_16(1098);
+emit_16(1034);
+emit_16(1099);
+emit_16(1035);
+emit_16(1099);
+emit_16(1034);
+emit_16(1099);
+emit_16(1035);
+emit_16(1100);
+emit_16(1036);
+emit_16(1100);
+emit_16(1035);
+emit_16(1100);
+emit_16(1036);
+emit_16(1101);
+emit_16(1037);
+emit_16(1101);
+emit_16(1036);
+emit_16(1101);
+emit_16(1037);
+emit_16(1102);
+emit_16(1038);
+emit_16(1102);
+emit_16(1037);
+emit_16(1102);
+emit_16(1038);
+emit_16(1103);
+emit_16(1039);
+emit_16(1103);
+emit_16(1038);
+emit_16(1103);
+emit_16(1039);
+emit_16(1104);
+emit_16(1040);
+emit_16(1104);
+emit_16(1039);
+emit_16(1104);
+emit_16(1040);
+emit_16(1105);
+emit_16(1041);
+emit_16(1105);
+emit_16(1040);
+emit_16(1105);
+emit_16(1041);
+emit_16(1106);
+emit_16(1042);
+emit_16(1106);
+emit_16(1041);
+emit_16(1106);
+emit_16(1042);
+emit_16(1107);
+emit_16(1043);
+emit_16(1107);
+emit_16(1042);
+emit_16(1107);
+emit_16(1043);
+emit_16(1108);
+emit_16(1044);
+emit_16(1108);
+emit_16(1043);
+emit_16(1108);
+emit_16(1044);
+emit_16(1109);
+emit_16(1045);
+emit_16(1109);
+emit_16(1044);
+emit_16(1109);
+emit_16(1045);
+emit_16(1110);
+emit_16(1046);
+emit_16(1110);
+emit_16(1045);
+emit_16(1110);
+emit_16(1046);
+emit_16(1111);
+emit_16(1047);
+emit_16(1111);
+emit_16(1046);
+emit_16(1111);
+emit_16(1047);
+emit_16(1112);
+emit_16(1048);
+emit_16(1112);
+emit_16(1047);
+emit_16(1112);
+emit_16(1048);
+emit_16(1113);
+emit_16(1049);
+emit_16(1113);
+emit_16(1048);
+emit_16(1113);
+emit_16(1049);
+emit_16(1114);
+emit_16(1050);
+emit_16(1114);
+emit_16(1049);
+emit_16(1114);
+emit_16(1050);
+emit_16(1115);
+emit_16(1051);
+emit_16(1115);
+emit_16(1050);
+emit_16(1115);
+emit_16(1051);
+emit_16(1116);
+emit_16(1052);
+emit_16(1116);
+emit_16(1051);
+emit_16(1116);
+emit_16(1052);
+emit_16(1117);
+emit_16(1053);
+emit_16(1117);
+emit_16(1052);
+emit_16(1117);
+emit_16(1053);
+emit_16(1118);
+emit_16(1054);
+emit_16(1118);
+emit_16(1053);
+emit_16(1118);
+emit_16(1054);
+emit_16(1119);
+emit_16(1055);
+emit_16(1119);
+emit_16(1054);
+emit_16(1119);
+emit_16(1055);
+emit_16(1120);
+emit_16(1056);
+emit_16(1120);
+emit_16(1055);
+emit_16(1120);
+emit_16(1056);
+emit_16(1121);
+emit_16(1057);
+emit_16(1121);
+emit_16(1056);
+emit_16(1121);
+emit_16(1057);
+emit_16(1122);
+emit_16(1058);
+emit_16(1122);
+emit_16(1057);
+emit_16(1122);
+emit_16(1058);
+emit_16(1123);
+emit_16(1059);
+emit_16(1123);
+emit_16(1058);
+emit_16(1123);
+emit_16(1059);
+emit_16(1124);
+emit_16(1060);
+emit_16(1124);
+emit_16(1059);
+emit_16(1124);
+emit_16(1060);
+emit_16(1125);
+emit_16(1061);
+emit_16(1125);
+emit_16(1060);
+emit_16(1125);
+emit_16(1061);
+emit_16(1126);
+emit_16(1062);
+emit_16(1126);
+emit_16(1061);
+emit_16(1126);
+emit_16(1062);
+emit_16(1127);
+emit_16(1063);
+emit_16(1127);
+emit_16(1062);
+emit_16(1127);
+emit_16(1063);
+emit_16(1128);
+emit_16(1064);
+emit_16(1128);
+emit_16(1063);
+emit_16(1128);
+emit_16(1064);
+emit_16(1129);
+emit_16(1065);
+emit_16(1129);
+emit_16(1064);
+emit_16(1129);
+emit_16(1065);
+emit_16(1130);
+emit_16(1066);
+emit_16(1130);
+emit_16(1065);
+emit_16(1130);
+emit_16(1066);
+emit_16(1131);
+emit_16(1067);
+emit_16(1131);
+emit_16(1066);
+emit_16(1131);
+emit_16(1067);
+emit_16(1132);
+emit_16(1068);
+emit_16(1132);
+emit_16(1067);
+emit_16(1132);
+emit_16(1068);
+emit_16(1133);
+emit_16(1069);
+emit_16(1133);
+emit_16(1068);
+emit_16(1133);
+emit_16(1069);
+emit_16(1134);
+emit_16(1070);
+emit_16(1134);
+emit_16(1069);
+emit_16(1134);
+emit_16(1070);
+emit_16(1135);
+emit_16(1071);
+emit_16(1135);
+emit_16(1070);
+emit_16(1135);
+emit_16(1071);
+emit_16(1136);
+emit_16(1072);
+emit_16(1136);
+emit_16(1071);
+emit_16(1136);
+emit_16(1072);
+emit_16(1137);
+emit_16(1073);
+emit_16(1137);
+emit_16(1072);
+emit_16(1137);
+emit_16(1073);
+emit_16(1138);
+emit_16(1074);
+emit_16(1138);
+emit_16(1073);
+emit_16(1138);
+emit_16(1074);
+emit_16(1139);
+emit_16(1075);
+emit_16(1139);
+emit_16(1074);
+emit_16(1139);
+emit_16(1075);
+emit_16(1140);
+emit_16(1076);
+emit_16(1140);
+emit_16(1075);
+emit_16(1140);
+emit_16(1076);
+emit_16(1141);
+emit_16(1077);
+emit_16(1141);
+emit_16(1076);
+emit_16(1141);
+emit_16(1077);
+emit_16(1142);
+emit_16(1078);
+emit_16(1142);
+emit_16(1077);
+emit_16(1142);
+emit_16(1078);
+emit_16(1143);
+emit_16(1079);
+emit_16(1143);
+emit_16(1078);
+emit_16(1143);
+emit_16(1079);
+emit_16(1144);
+emit_16(1080);
+emit_16(1144);
+emit_16(1079);
+emit_16(1144);
+emit_16(1080);
+emit_16(1145);
+emit_16(1081);
+emit_16(1145);
+emit_16(1080);
+emit_16(1145);
+emit_16(1081);
+emit_16(1146);
+emit_16(1082);
+emit_16(1146);
+emit_16(1081);
+emit_16(1146);
+emit_16(1082);
+emit_16(1147);
+emit_16(1083);
+emit_16(1147);
+emit_16(1082);
+emit_16(1147);
+emit_16(1083);
+emit_16(1148);
+emit_16(1084);
+emit_16(1148);
+emit_16(1083);
+emit_16(1148);
+emit_16(1084);
+emit_16(1149);
+emit_16(1085);
+emit_16(1149);
+emit_16(1084);
+emit_16(1149);
+emit_16(1085);
+emit_16(1150);
+emit_16(1086);
+emit_16(1150);
+emit_16(1085);
+emit_16(1150);
+emit_16(1086);
+emit_16(1151);
+emit_16(1087);
+emit_16(1151);
+emit_16(1086);
+emit_16(1152);
+emit_16(1088);
+emit_16(1153);
+emit_16(1089);
+emit_16(1153);
+emit_16(1088);
+emit_16(1153);
+emit_16(1089);
+emit_16(1154);
+emit_16(1090);
+emit_16(1154);
+emit_16(1089);
+emit_16(1154);
+emit_16(1090);
+emit_16(1155);
+emit_16(1091);
+emit_16(1155);
+emit_16(1090);
+emit_16(1155);
+emit_16(1091);
+emit_16(1156);
+emit_16(1092);
+emit_16(1156);
+emit_16(1091);
+emit_16(1156);
+emit_16(1092);
+emit_16(1157);
+emit_16(1093);
+emit_16(1157);
+emit_16(1092);
+emit_16(1157);
+emit_16(1093);
+emit_16(1158);
+emit_16(1094);
+emit_16(1158);
+emit_16(1093);
+emit_16(1158);
+emit_16(1094);
+emit_16(1159);
+emit_16(1095);
+emit_16(1159);
+emit_16(1094);
+emit_16(1159);
+emit_16(1095);
+emit_16(1160);
+emit_16(1096);
+emit_16(1160);
+emit_16(1095);
+emit_16(1160);
+emit_16(1096);
+emit_16(1161);
+emit_16(1097);
+emit_16(1161);
+emit_16(1096);
+emit_16(1161);
+emit_16(1097);
+emit_16(1162);
+emit_16(1098);
+emit_16(1162);
+emit_16(1097);
+emit_16(1162);
+emit_16(1098);
+emit_16(1163);
+emit_16(1099);
+emit_16(1163);
+emit_16(1098);
+emit_16(1163);
+emit_16(1099);
+emit_16(1164);
+emit_16(1100);
+emit_16(1164);
+emit_16(1099);
+emit_16(1164);
+emit_16(1100);
+emit_16(1165);
+emit_16(1101);
+emit_16(1165);
+emit_16(1100);
+emit_16(1165);
+emit_16(1101);
+emit_16(1166);
+emit_16(1102);
+emit_16(1166);
+emit_16(1101);
+emit_16(1166);
+emit_16(1102);
+emit_16(1167);
+emit_16(1103);
+emit_16(1167);
+emit_16(1102);
+emit_16(1167);
+emit_16(1103);
+emit_16(1168);
+emit_16(1104);
+emit_16(1168);
+emit_16(1103);
+emit_16(1168);
+emit_16(1104);
+emit_16(1169);
+emit_16(1105);
+emit_16(1169);
+emit_16(1104);
+emit_16(1169);
+emit_16(1105);
+emit_16(1170);
+emit_16(1106);
+emit_16(1170);
+emit_16(1105);
+emit_16(1170);
+emit_16(1106);
+emit_16(1171);
+emit_16(1107);
+emit_16(1171);
+emit_16(1106);
+emit_16(1171);
+emit_16(1107);
+emit_16(1172);
+emit_16(1108);
+emit_16(1172);
+emit_16(1107);
+emit_16(1172);
+emit_16(1108);
+emit_16(1173);
+emit_16(1109);
+emit_16(1173);
+emit_16(1108);
+emit_16(1173);
+emit_16(1109);
+emit_16(1174);
+emit_16(1110);
+emit_16(1174);
+emit_16(1109);
+emit_16(1174);
+emit_16(1110);
+emit_16(1175);
+emit_16(1111);
+emit_16(1175);
+emit_16(1110);
+emit_16(1175);
+emit_16(1111);
+emit_16(1176);
+emit_16(1112);
+emit_16(1176);
+emit_16(1111);
+emit_16(1176);
+emit_16(1112);
+emit_16(1177);
+emit_16(1113);
+emit_16(1177);
+emit_16(1112);
+emit_16(1177);
+emit_16(1113);
+emit_16(1178);
+emit_16(1114);
+emit_16(1178);
+emit_16(1113);
+emit_16(1178);
+emit_16(1114);
+emit_16(1179);
+emit_16(1115);
+emit_16(1179);
+emit_16(1114);
+emit_16(1179);
+emit_16(1115);
+emit_16(1180);
+emit_16(1116);
+emit_16(1180);
+emit_16(1115);
+emit_16(1180);
+emit_16(1116);
+emit_16(1181);
+emit_16(1117);
+emit_16(1181);
+emit_16(1116);
+emit_16(1181);
+emit_16(1117);
+emit_16(1182);
+emit_16(1118);
+emit_16(1182);
+emit_16(1117);
+emit_16(1182);
+emit_16(1118);
+emit_16(1183);
+emit_16(1119);
+emit_16(1183);
+emit_16(1118);
+emit_16(1183);
+emit_16(1119);
+emit_16(1184);
+emit_16(1120);
+emit_16(1184);
+emit_16(1119);
+emit_16(1184);
+emit_16(1120);
+emit_16(1185);
+emit_16(1121);
+emit_16(1185);
+emit_16(1120);
+emit_16(1185);
+emit_16(1121);
+emit_16(1186);
+emit_16(1122);
+emit_16(1186);
+emit_16(1121);
+emit_16(1186);
+emit_16(1122);
+emit_16(1187);
+emit_16(1123);
+emit_16(1187);
+emit_16(1122);
+emit_16(1187);
+emit_16(1123);
+emit_16(1188);
+emit_16(1124);
+emit_16(1188);
+emit_16(1123);
+emit_16(1188);
+emit_16(1124);
+emit_16(1189);
+emit_16(1125);
+emit_16(1189);
+emit_16(1124);
+emit_16(1189);
+emit_16(1125);
+emit_16(1190);
+emit_16(1126);
+emit_16(1190);
+emit_16(1125);
+emit_16(1190);
+emit_16(1126);
+emit_16(1191);
+emit_16(1127);
+emit_16(1191);
+emit_16(1126);
+emit_16(1191);
+emit_16(1127);
+emit_16(1192);
+emit_16(1128);
+emit_16(1192);
+emit_16(1127);
+emit_16(1192);
+emit_16(1128);
+emit_16(1193);
+emit_16(1129);
+emit_16(1193);
+emit_16(1128);
+emit_16(1193);
+emit_16(1129);
+emit_16(1194);
+emit_16(1130);
+emit_16(1194);
+emit_16(1129);
+emit_16(1194);
+emit_16(1130);
+emit_16(1195);
+emit_16(1131);
+emit_16(1195);
+emit_16(1130);
+emit_16(1195);
+emit_16(1131);
+emit_16(1196);
+emit_16(1132);
+emit_16(1196);
+emit_16(1131);
+emit_16(1196);
+emit_16(1132);
+emit_16(1197);
+emit_16(1133);
+emit_16(1197);
+emit_16(1132);
+emit_16(1197);
+emit_16(1133);
+emit_16(1198);
+emit_16(1134);
+emit_16(1198);
+emit_16(1133);
+emit_16(1198);
+emit_16(1134);
+emit_16(1199);
+emit_16(1135);
+emit_16(1199);
+emit_16(1134);
+emit_16(1199);
+emit_16(1135);
+emit_16(1200);
+emit_16(1136);
+emit_16(1200);
+emit_16(1135);
+emit_16(1200);
+emit_16(1136);
+emit_16(1201);
+emit_16(1137);
+emit_16(1201);
+emit_16(1136);
+emit_16(1201);
+emit_16(1137);
+emit_16(1202);
+emit_16(1138);
+emit_16(1202);
+emit_16(1137);
+emit_16(1202);
+emit_16(1138);
+emit_16(1203);
+emit_16(1139);
+emit_16(1203);
+emit_16(1138);
+emit_16(1203);
+emit_16(1139);
+emit_16(1204);
+emit_16(1140);
+emit_16(1204);
+emit_16(1139);
+emit_16(1204);
+emit_16(1140);
+emit_16(1205);
+emit_16(1141);
+emit_16(1205);
+emit_16(1140);
+emit_16(1205);
+emit_16(1141);
+emit_16(1206);
+emit_16(1142);
+emit_16(1206);
+emit_16(1141);
+emit_16(1206);
+emit_16(1142);
+emit_16(1207);
+emit_16(1143);
+emit_16(1207);
+emit_16(1142);
+emit_16(1207);
+emit_16(1143);
+emit_16(1208);
+emit_16(1144);
+emit_16(1208);
+emit_16(1143);
+emit_16(1208);
+emit_16(1144);
+emit_16(1209);
+emit_16(1145);
+emit_16(1209);
+emit_16(1144);
+emit_16(1209);
+emit_16(1145);
+emit_16(1210);
+emit_16(1146);
+emit_16(1210);
+emit_16(1145);
+emit_16(1210);
+emit_16(1146);
+emit_16(1211);
+emit_16(1147);
+emit_16(1211);
+emit_16(1146);
+emit_16(1211);
+emit_16(1147);
+emit_16(1212);
+emit_16(1148);
+emit_16(1212);
+emit_16(1147);
+emit_16(1212);
+emit_16(1148);
+emit_16(1213);
+emit_16(1149);
+emit_16(1213);
+emit_16(1148);
+emit_16(1213);
+emit_16(1149);
+emit_16(1214);
+emit_16(1150);
+emit_16(1214);
+emit_16(1149);
+emit_16(1214);
+emit_16(1150);
+emit_16(1215);
+emit_16(1151);
+emit_16(1215);
+emit_16(1150);
+emit_16(1216);
+emit_16(1152);
+emit_16(1217);
+emit_16(1153);
+emit_16(1217);
+emit_16(1152);
+emit_16(1217);
+emit_16(1153);
+emit_16(1218);
+emit_16(1154);
+emit_16(1218);
+emit_16(1153);
+emit_16(1218);
+emit_16(1154);
+emit_16(1219);
+emit_16(1155);
+emit_16(1219);
+emit_16(1154);
+emit_16(1219);
+emit_16(1155);
+emit_16(1220);
+emit_16(1156);
+emit_16(1220);
+emit_16(1155);
+emit_16(1220);
+emit_16(1156);
+emit_16(1221);
+emit_16(1157);
+emit_16(1221);
+emit_16(1156);
+emit_16(1221);
+emit_16(1157);
+emit_16(1222);
+emit_16(1158);
+emit_16(1222);
+emit_16(1157);
+emit_16(1222);
+emit_16(1158);
+emit_16(1223);
+emit_16(1159);
+emit_16(1223);
+emit_16(1158);
+emit_16(1223);
+emit_16(1159);
+emit_16(1224);
+emit_16(1160);
+emit_16(1224);
+emit_16(1159);
+emit_16(1224);
+emit_16(1160);
+emit_16(1225);
+emit_16(1161);
+emit_16(1225);
+emit_16(1160);
+emit_16(1225);
+emit_16(1161);
+emit_16(1226);
+emit_16(1162);
+emit_16(1226);
+emit_16(1161);
+emit_16(1226);
+emit_16(1162);
+emit_16(1227);
+emit_16(1163);
+emit_16(1227);
+emit_16(1162);
+emit_16(1227);
+emit_16(1163);
+emit_16(1228);
+emit_16(1164);
+emit_16(1228);
+emit_16(1163);
+emit_16(1228);
+emit_16(1164);
+emit_16(1229);
+emit_16(1165);
+emit_16(1229);
+emit_16(1164);
+emit_16(1229);
+emit_16(1165);
+emit_16(1230);
+emit_16(1166);
+emit_16(1230);
+emit_16(1165);
+emit_16(1230);
+emit_16(1166);
+emit_16(1231);
+emit_16(1167);
+emit_16(1231);
+emit_16(1166);
+emit_16(1231);
+emit_16(1167);
+emit_16(1232);
+emit_16(1168);
+emit_16(1232);
+emit_16(1167);
+emit_16(1232);
+emit_16(1168);
+emit_16(1233);
+emit_16(1169);
+emit_16(1233);
+emit_16(1168);
+emit_16(1233);
+emit_16(1169);
+emit_16(1234);
+emit_16(1170);
+emit_16(1234);
+emit_16(1169);
+emit_16(1234);
+emit_16(1170);
+emit_16(1235);
+emit_16(1171);
+emit_16(1235);
+emit_16(1170);
+emit_16(1235);
+emit_16(1171);
+emit_16(1236);
+emit_16(1172);
+emit_16(1236);
+emit_16(1171);
+emit_16(1236);
+emit_16(1172);
+emit_16(1237);
+emit_16(1173);
+emit_16(1237);
+emit_16(1172);
+emit_16(1237);
+emit_16(1173);
+emit_16(1238);
+emit_16(1174);
+emit_16(1238);
+emit_16(1173);
+emit_16(1238);
+emit_16(1174);
+emit_16(1239);
+emit_16(1175);
+emit_16(1239);
+emit_16(1174);
+emit_16(1239);
+emit_16(1175);
+emit_16(1240);
+emit_16(1176);
+emit_16(1240);
+emit_16(1175);
+emit_16(1240);
+emit_16(1176);
+emit_16(1241);
+emit_16(1177);
+emit_16(1241);
+emit_16(1176);
+emit_16(1241);
+emit_16(1177);
+emit_16(1242);
+emit_16(1178);
+emit_16(1242);
+emit_16(1177);
+emit_16(1242);
+emit_16(1178);
+emit_16(1243);
+emit_16(1179);
+emit_16(1243);
+emit_16(1178);
+emit_16(1243);
+emit_16(1179);
+emit_16(1244);
+emit_16(1180);
+emit_16(1244);
+emit_16(1179);
+emit_16(1244);
+emit_16(1180);
+emit_16(1245);
+emit_16(1181);
+emit_16(1245);
+emit_16(1180);
+emit_16(1245);
+emit_16(1181);
+emit_16(1246);
+emit_16(1182);
+emit_16(1246);
+emit_16(1181);
+emit_16(1246);
+emit_16(1182);
+emit_16(1247);
+emit_16(1183);
+emit_16(1247);
+emit_16(1182);
+emit_16(1247);
+emit_16(1183);
+emit_16(1248);
+emit_16(1184);
+emit_16(1248);
+emit_16(1183);
+emit_16(1248);
+emit_16(1184);
+emit_16(1249);
+emit_16(1185);
+emit_16(1249);
+emit_16(1184);
+emit_16(1249);
+emit_16(1185);
+emit_16(1250);
+emit_16(1186);
+emit_16(1250);
+emit_16(1185);
+emit_16(1250);
+emit_16(1186);
+emit_16(1251);
+emit_16(1187);
+emit_16(1251);
+emit_16(1186);
+emit_16(1251);
+emit_16(1187);
+emit_16(1252);
+emit_16(1188);
+emit_16(1252);
+emit_16(1187);
+emit_16(1252);
+emit_16(1188);
+emit_16(1253);
+emit_16(1189);
+emit_16(1253);
+emit_16(1188);
+emit_16(1253);
+emit_16(1189);
+emit_16(1254);
+emit_16(1190);
+emit_16(1254);
+emit_16(1189);
+emit_16(1254);
+emit_16(1190);
+emit_16(1255);
+emit_16(1191);
+emit_16(1255);
+emit_16(1190);
+emit_16(1255);
+emit_16(1191);
+emit_16(1256);
+emit_16(1192);
+emit_16(1256);
+emit_16(1191);
+emit_16(1256);
+emit_16(1192);
+emit_16(1257);
+emit_16(1193);
+emit_16(1257);
+emit_16(1192);
+emit_16(1257);
+emit_16(1193);
+emit_16(1258);
+emit_16(1194);
+emit_16(1258);
+emit_16(1193);
+emit_16(1258);
+emit_16(1194);
+emit_16(1259);
+emit_16(1195);
+emit_16(1259);
+emit_16(1194);
+emit_16(1259);
+emit_16(1195);
+emit_16(1260);
+emit_16(1196);
+emit_16(1260);
+emit_16(1195);
+emit_16(1260);
+emit_16(1196);
+emit_16(1261);
+emit_16(1197);
+emit_16(1261);
+emit_16(1196);
+emit_16(1261);
+emit_16(1197);
+emit_16(1262);
+emit_16(1198);
+emit_16(1262);
+emit_16(1197);
+emit_16(1262);
+emit_16(1198);
+emit_16(1263);
+emit_16(1199);
+emit_16(1263);
+emit_16(1198);
+emit_16(1263);
+emit_16(1199);
+emit_16(1264);
+emit_16(1200);
+emit_16(1264);
+emit_16(1199);
+emit_16(1264);
+emit_16(1200);
+emit_16(1265);
+emit_16(1201);
+emit_16(1265);
+emit_16(1200);
+emit_16(1265);
+emit_16(1201);
+emit_16(1266);
+emit_16(1202);
+emit_16(1266);
+emit_16(1201);
+emit_16(1266);
+emit_16(1202);
+emit_16(1267);
+emit_16(1203);
+emit_16(1267);
+emit_16(1202);
+emit_16(1267);
+emit_16(1203);
+emit_16(1268);
+emit_16(1204);
+emit_16(1268);
+emit_16(1203);
+emit_16(1268);
+emit_16(1204);
+emit_16(1269);
+emit_16(1205);
+emit_16(1269);
+emit_16(1204);
+emit_16(1269);
+emit_16(1205);
+emit_16(1270);
+emit_16(1206);
+emit_16(1270);
+emit_16(1205);
+emit_16(1270);
+emit_16(1206);
+emit_16(1271);
+emit_16(1207);
+emit_16(1271);
+emit_16(1206);
+emit_16(1271);
+emit_16(1207);
+emit_16(1272);
+emit_16(1208);
+emit_16(1272);
+emit_16(1207);
+emit_16(1272);
+emit_16(1208);
+emit_16(1273);
+emit_16(1209);
+emit_16(1273);
+emit_16(1208);
+emit_16(1273);
+emit_16(1209);
+emit_16(1274);
+emit_16(1210);
+emit_16(1274);
+emit_16(1209);
+emit_16(1274);
+emit_16(1210);
+emit_16(1275);
+emit_16(1211);
+emit_16(1275);
+emit_16(1210);
+emit_16(1275);
+emit_16(1211);
+emit_16(1276);
+emit_16(1212);
+emit_16(1276);
+emit_16(1211);
+emit_16(1276);
+emit_16(1212);
+emit_16(1277);
+emit_16(1213);
+emit_16(1277);
+emit_16(1212);
+emit_16(1277);
+emit_16(1213);
+emit_16(1278);
+emit_16(1214);
+emit_16(1278);
+emit_16(1213);
+emit_16(1278);
+emit_16(1214);
+emit_16(1279);
+emit_16(1215);
+emit_16(1279);
+emit_16(1214);
+emit_16(1280);
+emit_16(1216);
+emit_16(1281);
+emit_16(1217);
+emit_16(1281);
+emit_16(1216);
+emit_16(1281);
+emit_16(1217);
+emit_16(1282);
+emit_16(1218);
+emit_16(1282);
+emit_16(1217);
+emit_16(1282);
+emit_16(1218);
+emit_16(1283);
+emit_16(1219);
+emit_16(1283);
+emit_16(1218);
+emit_16(1283);
+emit_16(1219);
+emit_16(1284);
+emit_16(1220);
+emit_16(1284);
+emit_16(1219);
+emit_16(1284);
+emit_16(1220);
+emit_16(1285);
+emit_16(1221);
+emit_16(1285);
+emit_16(1220);
+emit_16(1285);
+emit_16(1221);
+emit_16(1286);
+emit_16(1222);
+emit_16(1286);
+emit_16(1221);
+emit_16(1286);
+emit_16(1222);
+emit_16(1287);
+emit_16(1223);
+emit_16(1287);
+emit_16(1222);
+emit_16(1287);
+emit_16(1223);
+emit_16(1288);
+emit_16(1224);
+emit_16(1288);
+emit_16(1223);
+emit_16(1288);
+emit_16(1224);
+emit_16(1289);
+emit_16(1225);
+emit_16(1289);
+emit_16(1224);
+emit_16(1289);
+emit_16(1225);
+emit_16(1290);
+emit_16(1226);
+emit_16(1290);
+emit_16(1225);
+emit_16(1290);
+emit_16(1226);
+emit_16(1291);
+emit_16(1227);
+emit_16(1291);
+emit_16(1226);
+emit_16(1291);
+emit_16(1227);
+emit_16(1292);
+emit_16(1228);
+emit_16(1292);
+emit_16(1227);
+emit_16(1292);
+emit_16(1228);
+emit_16(1293);
+emit_16(1229);
+emit_16(1293);
+emit_16(1228);
+emit_16(1293);
+emit_16(1229);
+emit_16(1294);
+emit_16(1230);
+emit_16(1294);
+emit_16(1229);
+emit_16(1294);
+emit_16(1230);
+emit_16(1295);
+emit_16(1231);
+emit_16(1295);
+emit_16(1230);
+emit_16(1295);
+emit_16(1231);
+emit_16(1296);
+emit_16(1232);
+emit_16(1296);
+emit_16(1231);
+emit_16(1296);
+emit_16(1232);
+emit_16(1297);
+emit_16(1233);
+emit_16(1297);
+emit_16(1232);
+emit_16(1297);
+emit_16(1233);
+emit_16(1298);
+emit_16(1234);
+emit_16(1298);
+emit_16(1233);
+emit_16(1298);
+emit_16(1234);
+emit_16(1299);
+emit_16(1235);
+emit_16(1299);
+emit_16(1234);
+emit_16(1299);
+emit_16(1235);
+emit_16(1300);
+emit_16(1236);
+emit_16(1300);
+emit_16(1235);
+emit_16(1300);
+emit_16(1236);
+emit_16(1301);
+emit_16(1237);
+emit_16(1301);
+emit_16(1236);
+emit_16(1301);
+emit_16(1237);
+emit_16(1302);
+emit_16(1238);
+emit_16(1302);
+emit_16(1237);
+emit_16(1302);
+emit_16(1238);
+emit_16(1303);
+emit_16(1239);
+emit_16(1303);
+emit_16(1238);
+emit_16(1303);
+emit_16(1239);
+emit_16(1304);
+emit_16(1240);
+emit_16(1304);
+emit_16(1239);
+emit_16(1304);
+emit_16(1240);
+emit_16(1305);
+emit_16(1241);
+emit_16(1305);
+emit_16(1240);
+emit_16(1305);
+emit_16(1241);
+emit_16(1306);
+emit_16(1242);
+emit_16(1306);
+emit_16(1241);
+emit_16(1306);
+emit_16(1242);
+emit_16(1307);
+emit_16(1243);
+emit_16(1307);
+emit_16(1242);
+emit_16(1307);
+emit_16(1243);
+emit_16(1308);
+emit_16(1244);
+emit_16(1308);
+emit_16(1243);
+emit_16(1308);
+emit_16(1244);
+emit_16(1309);
+emit_16(1245);
+emit_16(1309);
+emit_16(1244);
+emit_16(1309);
+emit_16(1245);
+emit_16(1310);
+emit_16(1246);
+emit_16(1310);
+emit_16(1245);
+emit_16(1310);
+emit_16(1246);
+emit_16(1311);
+emit_16(1247);
+emit_16(1311);
+emit_16(1246);
+emit_16(1311);
+emit_16(1247);
+emit_16(1312);
+emit_16(1248);
+emit_16(1312);
+emit_16(1247);
+emit_16(1312);
+emit_16(1248);
+emit_16(1313);
+emit_16(1249);
+emit_16(1313);
+emit_16(1248);
+emit_16(1313);
+emit_16(1249);
+emit_16(1314);
+emit_16(1250);
+emit_16(1314);
+emit_16(1249);
+emit_16(1314);
+emit_16(1250);
+emit_16(1315);
+emit_16(1251);
+emit_16(1315);
+emit_16(1250);
+emit_16(1315);
+emit_16(1251);
+emit_16(1316);
+emit_16(1252);
+emit_16(1316);
+emit_16(1251);
+emit_16(1316);
+emit_16(1252);
+emit_16(1317);
+emit_16(1253);
+emit_16(1317);
+emit_16(1252);
+emit_16(1317);
+emit_16(1253);
+emit_16(1318);
+emit_16(1254);
+emit_16(1318);
+emit_16(1253);
+emit_16(1318);
+emit_16(1254);
+emit_16(1319);
+emit_16(1255);
+emit_16(1319);
+emit_16(1254);
+emit_16(1319);
+emit_16(1255);
+emit_16(1320);
+emit_16(1256);
+emit_16(1320);
+emit_16(1255);
+emit_16(1320);
+emit_16(1256);
+emit_16(1321);
+emit_16(1257);
+emit_16(1321);
+emit_16(1256);
+emit_16(1321);
+emit_16(1257);
+emit_16(1322);
+emit_16(1258);
+emit_16(1322);
+emit_16(1257);
+emit_16(1322);
+emit_16(1258);
+emit_16(1323);
+emit_16(1259);
+emit_16(1323);
+emit_16(1258);
+emit_16(1323);
+emit_16(1259);
+emit_16(1324);
+emit_16(1260);
+emit_16(1324);
+emit_16(1259);
+emit_16(1324);
+emit_16(1260);
+emit_16(1325);
+emit_16(1261);
+emit_16(1325);
+emit_16(1260);
+emit_16(1325);
+emit_16(1261);
+emit_16(1326);
+emit_16(1262);
+emit_16(1326);
+emit_16(1261);
+emit_16(1326);
+emit_16(1262);
+emit_16(1327);
+emit_16(1263);
+emit_16(1327);
+emit_16(1262);
+emit_16(1327);
+emit_16(1263);
+emit_16(1328);
+emit_16(1264);
+emit_16(1328);
+emit_16(1263);
+emit_16(1328);
+emit_16(1264);
+emit_16(1329);
+emit_16(1265);
+emit_16(1329);
+emit_16(1264);
+emit_16(1329);
+emit_16(1265);
+emit_16(1330);
+emit_16(1266);
+emit_16(1330);
+emit_16(1265);
+emit_16(1330);
+emit_16(1266);
+emit_16(1331);
+emit_16(1267);
+emit_16(1331);
+emit_16(1266);
+emit_16(1331);
+emit_16(1267);
+emit_16(1332);
+emit_16(1268);
+emit_16(1332);
+emit_16(1267);
+emit_16(1332);
+emit_16(1268);
+emit_16(1333);
+emit_16(1269);
+emit_16(1333);
+emit_16(1268);
+emit_16(1333);
+emit_16(1269);
+emit_16(1334);
+emit_16(1270);
+emit_16(1334);
+emit_16(1269);
+emit_16(1334);
+emit_16(1270);
+emit_16(1335);
+emit_16(1271);
+emit_16(1335);
+emit_16(1270);
+emit_16(1335);
+emit_16(1271);
+emit_16(1336);
+emit_16(1272);
+emit_16(1336);
+emit_16(1271);
+emit_16(1336);
+emit_16(1272);
+emit_16(1337);
+emit_16(1273);
+emit_16(1337);
+emit_16(1272);
+emit_16(1337);
+emit_16(1273);
+emit_16(1338);
+emit_16(1274);
+emit_16(1338);
+emit_16(1273);
+emit_16(1338);
+emit_16(1274);
+emit_16(1339);
+emit_16(1275);
+emit_16(1339);
+emit_16(1274);
+emit_16(1339);
+emit_16(1275);
+emit_16(1340);
+emit_16(1276);
+emit_16(1340);
+emit_16(1275);
+emit_16(1340);
+emit_16(1276);
+emit_16(1341);
+emit_16(1277);
+emit_16(1341);
+emit_16(1276);
+emit_16(1341);
+emit_16(1277);
+emit_16(1342);
+emit_16(1278);
+emit_16(1342);
+emit_16(1277);
+emit_16(1342);
+emit_16(1278);
+emit_16(1343);
+emit_16(1279);
+emit_16(1343);
+emit_16(1278);
+emit_16(1344);
+emit_16(1280);
+emit_16(1345);
+emit_16(1281);
+emit_16(1345);
+emit_16(1280);
+emit_16(1345);
+emit_16(1281);
+emit_16(1346);
+emit_16(1282);
+emit_16(1346);
+emit_16(1281);
+emit_16(1346);
+emit_16(1282);
+emit_16(1347);
+emit_16(1283);
+emit_16(1347);
+emit_16(1282);
+emit_16(1347);
+emit_16(1283);
+emit_16(1348);
+emit_16(1284);
+emit_16(1348);
+emit_16(1283);
+emit_16(1348);
+emit_16(1284);
+emit_16(1349);
+emit_16(1285);
+emit_16(1349);
+emit_16(1284);
+emit_16(1349);
+emit_16(1285);
+emit_16(1350);
+emit_16(1286);
+emit_16(1350);
+emit_16(1285);
+emit_16(1350);
+emit_16(1286);
+emit_16(1351);
+emit_16(1287);
+emit_16(1351);
+emit_16(1286);
+emit_16(1351);
+emit_16(1287);
+emit_16(1352);
+emit_16(1288);
+emit_16(1352);
+emit_16(1287);
+emit_16(1352);
+emit_16(1288);
+emit_16(1353);
+emit_16(1289);
+emit_16(1353);
+emit_16(1288);
+emit_16(1353);
+emit_16(1289);
+emit_16(1354);
+emit_16(1290);
+emit_16(1354);
+emit_16(1289);
+emit_16(1354);
+emit_16(1290);
+emit_16(1355);
+emit_16(1291);
+emit_16(1355);
+emit_16(1290);
+emit_16(1355);
+emit_16(1291);
+emit_16(1356);
+emit_16(1292);
+emit_16(1356);
+emit_16(1291);
+emit_16(1356);
+emit_16(1292);
+emit_16(1357);
+emit_16(1293);
+emit_16(1357);
+emit_16(1292);
+emit_16(1357);
+emit_16(1293);
+emit_16(1358);
+emit_16(1294);
+emit_16(1358);
+emit_16(1293);
+emit_16(1358);
+emit_16(1294);
+emit_16(1359);
+emit_16(1295);
+emit_16(1359);
+emit_16(1294);
+emit_16(1359);
+emit_16(1295);
+emit_16(1360);
+emit_16(1296);
+emit_16(1360);
+emit_16(1295);
+emit_16(1360);
+emit_16(1296);
+emit_16(1361);
+emit_16(1297);
+emit_16(1361);
+emit_16(1296);
+emit_16(1361);
+emit_16(1297);
+emit_16(1362);
+emit_16(1298);
+emit_16(1362);
+emit_16(1297);
+emit_16(1362);
+emit_16(1298);
+emit_16(1363);
+emit_16(1299);
+emit_16(1363);
+emit_16(1298);
+emit_16(1363);
+emit_16(1299);
+emit_16(1364);
+emit_16(1300);
+emit_16(1364);
+emit_16(1299);
+emit_16(1364);
+emit_16(1300);
+emit_16(1365);
+emit_16(1301);
+emit_16(1365);
+emit_16(1300);
+emit_16(1365);
+emit_16(1301);
+emit_16(1366);
+emit_16(1302);
+emit_16(1366);
+emit_16(1301);
+emit_16(1366);
+emit_16(1302);
+emit_16(1367);
+emit_16(1303);
+emit_16(1367);
+emit_16(1302);
+emit_16(1367);
+emit_16(1303);
+emit_16(1368);
+emit_16(1304);
+emit_16(1368);
+emit_16(1303);
+emit_16(1368);
+emit_16(1304);
+emit_16(1369);
+emit_16(1305);
+emit_16(1369);
+emit_16(1304);
+emit_16(1369);
+emit_16(1305);
+emit_16(1370);
+emit_16(1306);
+emit_16(1370);
+emit_16(1305);
+emit_16(1370);
+emit_16(1306);
+emit_16(1371);
+emit_16(1307);
+emit_16(1371);
+emit_16(1306);
+emit_16(1371);
+emit_16(1307);
+emit_16(1372);
+emit_16(1308);
+emit_16(1372);
+emit_16(1307);
+emit_16(1372);
+emit_16(1308);
+emit_16(1373);
+emit_16(1309);
+emit_16(1373);
+emit_16(1308);
+emit_16(1373);
+emit_16(1309);
+emit_16(1374);
+emit_16(1310);
+emit_16(1374);
+emit_16(1309);
+emit_16(1374);
+emit_16(1310);
+emit_16(1375);
+emit_16(1311);
+emit_16(1375);
+emit_16(1310);
+emit_16(1375);
+emit_16(1311);
+emit_16(1376);
+emit_16(1312);
+emit_16(1376);
+emit_16(1311);
+emit_16(1376);
+emit_16(1312);
+emit_16(1377);
+emit_16(1313);
+emit_16(1377);
+emit_16(1312);
+emit_16(1377);
+emit_16(1313);
+emit_16(1378);
+emit_16(1314);
+emit_16(1378);
+emit_16(1313);
+emit_16(1378);
+emit_16(1314);
+emit_16(1379);
+emit_16(1315);
+emit_16(1379);
+emit_16(1314);
+emit_16(1379);
+emit_16(1315);
+emit_16(1380);
+emit_16(1316);
+emit_16(1380);
+emit_16(1315);
+emit_16(1380);
+emit_16(1316);
+emit_16(1381);
+emit_16(1317);
+emit_16(1381);
+emit_16(1316);
+emit_16(1381);
+emit_16(1317);
+emit_16(1382);
+emit_16(1318);
+emit_16(1382);
+emit_16(1317);
+emit_16(1382);
+emit_16(1318);
+emit_16(1383);
+emit_16(1319);
+emit_16(1383);
+emit_16(1318);
+emit_16(1383);
+emit_16(1319);
+emit_16(1384);
+emit_16(1320);
+emit_16(1384);
+emit_16(1319);
+emit_16(1384);
+emit_16(1320);
+emit_16(1385);
+emit_16(1321);
+emit_16(1385);
+emit_16(1320);
+emit_16(1385);
+emit_16(1321);
+emit_16(1386);
+emit_16(1322);
+emit_16(1386);
+emit_16(1321);
+emit_16(1386);
+emit_16(1322);
+emit_16(1387);
+emit_16(1323);
+emit_16(1387);
+emit_16(1322);
+emit_16(1387);
+emit_16(1323);
+emit_16(1388);
+emit_16(1324);
+emit_16(1388);
+emit_16(1323);
+emit_16(1388);
+emit_16(1324);
+emit_16(1389);
+emit_16(1325);
+emit_16(1389);
+emit_16(1324);
+emit_16(1389);
+emit_16(1325);
+emit_16(1390);
+emit_16(1326);
+emit_16(1390);
+emit_16(1325);
+emit_16(1390);
+emit_16(1326);
+emit_16(1391);
+emit_16(1327);
+emit_16(1391);
+emit_16(1326);
+emit_16(1391);
+emit_16(1327);
+emit_16(1392);
+emit_16(1328);
+emit_16(1392);
+emit_16(1327);
+emit_16(1392);
+emit_16(1328);
+emit_16(1393);
+emit_16(1329);
+emit_16(1393);
+emit_16(1328);
+emit_16(1393);
+emit_16(1329);
+emit_16(1394);
+emit_16(1330);
+emit_16(1394);
+emit_16(1329);
+emit_16(1394);
+emit_16(1330);
+emit_16(1395);
+emit_16(1331);
+emit_16(1395);
+emit_16(1330);
+emit_16(1395);
+emit_16(1331);
+emit_16(1396);
+emit_16(1332);
+emit_16(1396);
+emit_16(1331);
+emit_16(1396);
+emit_16(1332);
+emit_16(1397);
+emit_16(1333);
+emit_16(1397);
+emit_16(1332);
+emit_16(1397);
+emit_16(1333);
+emit_16(1398);
+emit_16(1334);
+emit_16(1398);
+emit_16(1333);
+emit_16(1398);
+emit_16(1334);
+emit_16(1399);
+emit_16(1335);
+emit_16(1399);
+emit_16(1334);
+emit_16(1399);
+emit_16(1335);
+emit_16(1400);
+emit_16(1336);
+emit_16(1400);
+emit_16(1335);
+emit_16(1400);
+emit_16(1336);
+emit_16(1401);
+emit_16(1337);
+emit_16(1401);
+emit_16(1336);
+emit_16(1401);
+emit_16(1337);
+emit_16(1402);
+emit_16(1338);
+emit_16(1402);
+emit_16(1337);
+emit_16(1402);
+emit_16(1338);
+emit_16(1403);
+emit_16(1339);
+emit_16(1403);
+emit_16(1338);
+emit_16(1403);
+emit_16(1339);
+emit_16(1404);
+emit_16(1340);
+emit_16(1404);
+emit_16(1339);
+emit_16(1404);
+emit_16(1340);
+emit_16(1405);
+emit_16(1341);
+emit_16(1405);
+emit_16(1340);
+emit_16(1405);
+emit_16(1341);
+emit_16(1406);
+emit_16(1342);
+emit_16(1406);
+emit_16(1341);
+emit_16(1406);
+emit_16(1342);
+emit_16(1407);
+emit_16(1343);
+emit_16(1407);
+emit_16(1342);
+emit_16(1408);
+emit_16(1344);
+emit_16(1409);
+emit_16(1345);
+emit_16(1409);
+emit_16(1344);
+emit_16(1409);
+emit_16(1345);
+emit_16(1410);
+emit_16(1346);
+emit_16(1410);
+emit_16(1345);
+emit_16(1410);
+emit_16(1346);
+emit_16(1411);
+emit_16(1347);
+emit_16(1411);
+emit_16(1346);
+emit_16(1411);
+emit_16(1347);
+emit_16(1412);
+emit_16(1348);
+emit_16(1412);
+emit_16(1347);
+emit_16(1412);
+emit_16(1348);
+emit_16(1413);
+emit_16(1349);
+emit_16(1413);
+emit_16(1348);
+emit_16(1413);
+emit_16(1349);
+emit_16(1414);
+emit_16(1350);
+emit_16(1414);
+emit_16(1349);
+emit_16(1414);
+emit_16(1350);
+emit_16(1415);
+emit_16(1351);
+emit_16(1415);
+emit_16(1350);
+emit_16(1415);
+emit_16(1351);
+emit_16(1416);
+emit_16(1352);
+emit_16(1416);
+emit_16(1351);
+emit_16(1416);
+emit_16(1352);
+emit_16(1417);
+emit_16(1353);
+emit_16(1417);
+emit_16(1352);
+emit_16(1417);
+emit_16(1353);
+emit_16(1418);
+emit_16(1354);
+emit_16(1418);
+emit_16(1353);
+emit_16(1418);
+emit_16(1354);
+emit_16(1419);
+emit_16(1355);
+emit_16(1419);
+emit_16(1354);
+emit_16(1419);
+emit_16(1355);
+emit_16(1420);
+emit_16(1356);
+emit_16(1420);
+emit_16(1355);
+emit_16(1420);
+emit_16(1356);
+emit_16(1421);
+emit_16(1357);
+emit_16(1421);
+emit_16(1356);
+emit_16(1421);
+emit_16(1357);
+emit_16(1422);
+emit_16(1358);
+emit_16(1422);
+emit_16(1357);
+emit_16(1422);
+emit_16(1358);
+emit_16(1423);
+emit_16(1359);
+emit_16(1423);
+emit_16(1358);
+emit_16(1423);
+emit_16(1359);
+emit_16(1424);
+emit_16(1360);
+emit_16(1424);
+emit_16(1359);
+emit_16(1424);
+emit_16(1360);
+emit_16(1425);
+emit_16(1361);
+emit_16(1425);
+emit_16(1360);
+emit_16(1425);
+emit_16(1361);
+emit_16(1426);
+emit_16(1362);
+emit_16(1426);
+emit_16(1361);
+emit_16(1426);
+emit_16(1362);
+emit_16(1427);
+emit_16(1363);
+emit_16(1427);
+emit_16(1362);
+emit_16(1427);
+emit_16(1363);
+emit_16(1428);
+emit_16(1364);
+emit_16(1428);
+emit_16(1363);
+emit_16(1428);
+emit_16(1364);
+emit_16(1429);
+emit_16(1365);
+emit_16(1429);
+emit_16(1364);
+emit_16(1429);
+emit_16(1365);
+emit_16(1430);
+emit_16(1366);
+emit_16(1430);
+emit_16(1365);
+emit_16(1430);
+emit_16(1366);
+emit_16(1431);
+emit_16(1367);
+emit_16(1431);
+emit_16(1366);
+emit_16(1431);
+emit_16(1367);
+emit_16(1432);
+emit_16(1368);
+emit_16(1432);
+emit_16(1367);
+emit_16(1432);
+emit_16(1368);
+emit_16(1433);
+emit_16(1369);
+emit_16(1433);
+emit_16(1368);
+emit_16(1433);
+emit_16(1369);
+emit_16(1434);
+emit_16(1370);
+emit_16(1434);
+emit_16(1369);
+emit_16(1434);
+emit_16(1370);
+emit_16(1435);
+emit_16(1371);
+emit_16(1435);
+emit_16(1370);
+emit_16(1435);
+emit_16(1371);
+emit_16(1436);
+emit_16(1372);
+emit_16(1436);
+emit_16(1371);
+emit_16(1436);
+emit_16(1372);
+emit_16(1437);
+emit_16(1373);
+emit_16(1437);
+emit_16(1372);
+emit_16(1437);
+emit_16(1373);
+emit_16(1438);
+emit_16(1374);
+emit_16(1438);
+emit_16(1373);
+emit_16(1438);
+emit_16(1374);
+emit_16(1439);
+emit_16(1375);
+emit_16(1439);
+emit_16(1374);
+emit_16(1439);
+emit_16(1375);
+emit_16(1440);
+emit_16(1376);
+emit_16(1440);
+emit_16(1375);
+emit_16(1440);
+emit_16(1376);
+emit_16(1441);
+emit_16(1377);
+emit_16(1441);
+emit_16(1376);
+emit_16(1441);
+emit_16(1377);
+emit_16(1442);
+emit_16(1378);
+emit_16(1442);
+emit_16(1377);
+emit_16(1442);
+emit_16(1378);
+emit_16(1443);
+emit_16(1379);
+emit_16(1443);
+emit_16(1378);
+emit_16(1443);
+emit_16(1379);
+emit_16(1444);
+emit_16(1380);
+emit_16(1444);
+emit_16(1379);
+emit_16(1444);
+emit_16(1380);
+emit_16(1445);
+emit_16(1381);
+emit_16(1445);
+emit_16(1380);
+emit_16(1445);
+emit_16(1381);
+emit_16(1446);
+emit_16(1382);
+emit_16(1446);
+emit_16(1381);
+emit_16(1446);
+emit_16(1382);
+emit_16(1447);
+emit_16(1383);
+emit_16(1447);
+emit_16(1382);
+emit_16(1447);
+emit_16(1383);
+emit_16(1448);
+emit_16(1384);
+emit_16(1448);
+emit_16(1383);
+emit_16(1448);
+emit_16(1384);
+emit_16(1449);
+emit_16(1385);
+emit_16(1449);
+emit_16(1384);
+emit_16(1449);
+emit_16(1385);
+emit_16(1450);
+emit_16(1386);
+emit_16(1450);
+emit_16(1385);
+emit_16(1450);
+emit_16(1386);
+emit_16(1451);
+emit_16(1387);
+emit_16(1451);
+emit_16(1386);
+emit_16(1451);
+emit_16(1387);
+emit_16(1452);
+emit_16(1388);
+emit_16(1452);
+emit_16(1387);
+emit_16(1452);
+emit_16(1388);
+emit_16(1453);
+emit_16(1389);
+emit_16(1453);
+emit_16(1388);
+emit_16(1453);
+emit_16(1389);
+emit_16(1454);
+emit_16(1390);
+emit_16(1454);
+emit_16(1389);
+emit_16(1454);
+emit_16(1390);
+emit_16(1455);
+emit_16(1391);
+emit_16(1455);
+emit_16(1390);
+emit_16(1455);
+emit_16(1391);
+emit_16(1456);
+emit_16(1392);
+emit_16(1456);
+emit_16(1391);
+emit_16(1456);
+emit_16(1392);
+emit_16(1457);
+emit_16(1393);
+emit_16(1457);
+emit_16(1392);
+emit_16(1457);
+emit_16(1393);
+emit_16(1458);
+emit_16(1394);
+emit_16(1458);
+emit_16(1393);
+emit_16(1458);
+emit_16(1394);
+emit_16(1459);
+emit_16(1395);
+emit_16(1459);
+emit_16(1394);
+emit_16(1459);
+emit_16(1395);
+emit_16(1460);
+emit_16(1396);
+emit_16(1460);
+emit_16(1395);
+emit_16(1460);
+emit_16(1396);
+emit_16(1461);
+emit_16(1397);
+emit_16(1461);
+emit_16(1396);
+emit_16(1461);
+emit_16(1397);
+emit_16(1462);
+emit_16(1398);
+emit_16(1462);
+emit_16(1397);
+emit_16(1462);
+emit_16(1398);
+emit_16(1463);
+emit_16(1399);
+emit_16(1463);
+emit_16(1398);
+emit_16(1463);
+emit_16(1399);
+emit_16(1464);
+emit_16(1400);
+emit_16(1464);
+emit_16(1399);
+emit_16(1464);
+emit_16(1400);
+emit_16(1465);
+emit_16(1401);
+emit_16(1465);
+emit_16(1400);
+emit_16(1465);
+emit_16(1401);
+emit_16(1466);
+emit_16(1402);
+emit_16(1466);
+emit_16(1401);
+emit_16(1466);
+emit_16(1402);
+emit_16(1467);
+emit_16(1403);
+emit_16(1467);
+emit_16(1402);
+emit_16(1467);
+emit_16(1403);
+emit_16(1468);
+emit_16(1404);
+emit_16(1468);
+emit_16(1403);
+emit_16(1468);
+emit_16(1404);
+emit_16(1469);
+emit_16(1405);
+emit_16(1469);
+emit_16(1404);
+emit_16(1469);
+emit_16(1405);
+emit_16(1470);
+emit_16(1406);
+emit_16(1470);
+emit_16(1405);
+emit_16(1470);
+emit_16(1406);
+emit_16(1471);
+emit_16(1407);
+emit_16(1471);
+emit_16(1406);
+emit_16(1472);
+emit_16(1408);
+emit_16(1473);
+emit_16(1409);
+emit_16(1473);
+emit_16(1408);
+emit_16(1473);
+emit_16(1409);
+emit_16(1474);
+emit_16(1410);
+emit_16(1474);
+emit_16(1409);
+emit_16(1474);
+emit_16(1410);
+emit_16(1475);
+emit_16(1411);
+emit_16(1475);
+emit_16(1410);
+emit_16(1475);
+emit_16(1411);
+emit_16(1476);
+emit_16(1412);
+emit_16(1476);
+emit_16(1411);
+emit_16(1476);
+emit_16(1412);
+emit_16(1477);
+emit_16(1413);
+emit_16(1477);
+emit_16(1412);
+emit_16(1477);
+emit_16(1413);
+emit_16(1478);
+emit_16(1414);
+emit_16(1478);
+emit_16(1413);
+emit_16(1478);
+emit_16(1414);
+emit_16(1479);
+emit_16(1415);
+emit_16(1479);
+emit_16(1414);
+emit_16(1479);
+emit_16(1415);
+emit_16(1480);
+emit_16(1416);
+emit_16(1480);
+emit_16(1415);
+emit_16(1480);
+emit_16(1416);
+emit_16(1481);
+emit_16(1417);
+emit_16(1481);
+emit_16(1416);
+emit_16(1481);
+emit_16(1417);
+emit_16(1482);
+emit_16(1418);
+emit_16(1482);
+emit_16(1417);
+emit_16(1482);
+emit_16(1418);
+emit_16(1483);
+emit_16(1419);
+emit_16(1483);
+emit_16(1418);
+emit_16(1483);
+emit_16(1419);
+emit_16(1484);
+emit_16(1420);
+emit_16(1484);
+emit_16(1419);
+emit_16(1484);
+emit_16(1420);
+emit_16(1485);
+emit_16(1421);
+emit_16(1485);
+emit_16(1420);
+emit_16(1485);
+emit_16(1421);
+emit_16(1486);
+emit_16(1422);
+emit_16(1486);
+emit_16(1421);
+emit_16(1486);
+emit_16(1422);
+emit_16(1487);
+emit_16(1423);
+emit_16(1487);
+emit_16(1422);
+emit_16(1487);
+emit_16(1423);
+emit_16(1488);
+emit_16(1424);
+emit_16(1488);
+emit_16(1423);
+emit_16(1488);
+emit_16(1424);
+emit_16(1489);
+emit_16(1425);
+emit_16(1489);
+emit_16(1424);
+emit_16(1489);
+emit_16(1425);
+emit_16(1490);
+emit_16(1426);
+emit_16(1490);
+emit_16(1425);
+emit_16(1490);
+emit_16(1426);
+emit_16(1491);
+emit_16(1427);
+emit_16(1491);
+emit_16(1426);
+emit_16(1491);
+emit_16(1427);
+emit_16(1492);
+emit_16(1428);
+emit_16(1492);
+emit_16(1427);
+emit_16(1492);
+emit_16(1428);
+emit_16(1493);
+emit_16(1429);
+emit_16(1493);
+emit_16(1428);
+emit_16(1493);
+emit_16(1429);
+emit_16(1494);
+emit_16(1430);
+emit_16(1494);
+emit_16(1429);
+emit_16(1494);
+emit_16(1430);
+emit_16(1495);
+emit_16(1431);
+emit_16(1495);
+emit_16(1430);
+emit_16(1495);
+emit_16(1431);
+emit_16(1496);
+emit_16(1432);
+emit_16(1496);
+emit_16(1431);
+emit_16(1496);
+emit_16(1432);
+emit_16(1497);
+emit_16(1433);
+emit_16(1497);
+emit_16(1432);
+emit_16(1497);
+emit_16(1433);
+emit_16(1498);
+emit_16(1434);
+emit_16(1498);
+emit_16(1433);
+emit_16(1498);
+emit_16(1434);
+emit_16(1499);
+emit_16(1435);
+emit_16(1499);
+emit_16(1434);
+emit_16(1499);
+emit_16(1435);
+emit_16(1500);
+emit_16(1436);
+emit_16(1500);
+emit_16(1435);
+emit_16(1500);
+emit_16(1436);
+emit_16(1501);
+emit_16(1437);
+emit_16(1501);
+emit_16(1436);
+emit_16(1501);
+emit_16(1437);
+emit_16(1502);
+emit_16(1438);
+emit_16(1502);
+emit_16(1437);
+emit_16(1502);
+emit_16(1438);
+emit_16(1503);
+emit_16(1439);
+emit_16(1503);
+emit_16(1438);
+emit_16(1503);
+emit_16(1439);
+emit_16(1504);
+emit_16(1440);
+emit_16(1504);
+emit_16(1439);
+emit_16(1504);
+emit_16(1440);
+emit_16(1505);
+emit_16(1441);
+emit_16(1505);
+emit_16(1440);
+emit_16(1505);
+emit_16(1441);
+emit_16(1506);
+emit_16(1442);
+emit_16(1506);
+emit_16(1441);
+emit_16(1506);
+emit_16(1442);
+emit_16(1507);
+emit_16(1443);
+emit_16(1507);
+emit_16(1442);
+emit_16(1507);
+emit_16(1443);
+emit_16(1508);
+emit_16(1444);
+emit_16(1508);
+emit_16(1443);
+emit_16(1508);
+emit_16(1444);
+emit_16(1509);
+emit_16(1445);
+emit_16(1509);
+emit_16(1444);
+emit_16(1509);
+emit_16(1445);
+emit_16(1510);
+emit_16(1446);
+emit_16(1510);
+emit_16(1445);
+emit_16(1510);
+emit_16(1446);
+emit_16(1511);
+emit_16(1447);
+emit_16(1511);
+emit_16(1446);
+emit_16(1511);
+emit_16(1447);
+emit_16(1512);
+emit_16(1448);
+emit_16(1512);
+emit_16(1447);
+emit_16(1512);
+emit_16(1448);
+emit_16(1513);
+emit_16(1449);
+emit_16(1513);
+emit_16(1448);
+emit_16(1513);
+emit_16(1449);
+emit_16(1514);
+emit_16(1450);
+emit_16(1514);
+emit_16(1449);
+emit_16(1514);
+emit_16(1450);
+emit_16(1515);
+emit_16(1451);
+emit_16(1515);
+emit_16(1450);
+emit_16(1515);
+emit_16(1451);
+emit_16(1516);
+emit_16(1452);
+emit_16(1516);
+emit_16(1451);
+emit_16(1516);
+emit_16(1452);
+emit_16(1517);
+emit_16(1453);
+emit_16(1517);
+emit_16(1452);
+emit_16(1517);
+emit_16(1453);
+emit_16(1518);
+emit_16(1454);
+emit_16(1518);
+emit_16(1453);
+emit_16(1518);
+emit_16(1454);
+emit_16(1519);
+emit_16(1455);
+emit_16(1519);
+emit_16(1454);
+emit_16(1519);
+emit_16(1455);
+emit_16(1520);
+emit_16(1456);
+emit_16(1520);
+emit_16(1455);
+emit_16(1520);
+emit_16(1456);
+emit_16(1521);
+emit_16(1457);
+emit_16(1521);
+emit_16(1456);
+emit_16(1521);
+emit_16(1457);
+emit_16(1522);
+emit_16(1458);
+emit_16(1522);
+emit_16(1457);
+emit_16(1522);
+emit_16(1458);
+emit_16(1523);
+emit_16(1459);
+emit_16(1523);
+emit_16(1458);
+emit_16(1523);
+emit_16(1459);
+emit_16(1524);
+emit_16(1460);
+emit_16(1524);
+emit_16(1459);
+emit_16(1524);
+emit_16(1460);
+emit_16(1525);
+emit_16(1461);
+emit_16(1525);
+emit_16(1460);
+emit_16(1525);
+emit_16(1461);
+emit_16(1526);
+emit_16(1462);
+emit_16(1526);
+emit_16(1461);
+emit_16(1526);
+emit_16(1462);
+emit_16(1527);
+emit_16(1463);
+emit_16(1527);
+emit_16(1462);
+emit_16(1527);
+emit_16(1463);
+emit_16(1528);
+emit_16(1464);
+emit_16(1528);
+emit_16(1463);
+emit_16(1528);
+emit_16(1464);
+emit_16(1529);
+emit_16(1465);
+emit_16(1529);
+emit_16(1464);
+emit_16(1529);
+emit_16(1465);
+emit_16(1530);
+emit_16(1466);
+emit_16(1530);
+emit_16(1465);
+emit_16(1530);
+emit_16(1466);
+emit_16(1531);
+emit_16(1467);
+emit_16(1531);
+emit_16(1466);
+emit_16(1531);
+emit_16(1467);
+emit_16(1532);
+emit_16(1468);
+emit_16(1532);
+emit_16(1467);
+emit_16(1532);
+emit_16(1468);
+emit_16(1533);
+emit_16(1469);
+emit_16(1533);
+emit_16(1468);
+emit_16(1533);
+emit_16(1469);
+emit_16(1534);
+emit_16(1470);
+emit_16(1534);
+emit_16(1469);
+emit_16(1534);
+emit_16(1470);
+emit_16(1535);
+emit_16(1471);
+emit_16(1535);
+emit_16(1470);
+emit_16(1536);
+emit_16(1472);
+emit_16(1537);
+emit_16(1473);
+emit_16(1537);
+emit_16(1472);
+emit_16(1537);
+emit_16(1473);
+emit_16(1538);
+emit_16(1474);
+emit_16(1538);
+emit_16(1473);
+emit_16(1538);
+emit_16(1474);
+emit_16(1539);
+emit_16(1475);
+emit_16(1539);
+emit_16(1474);
+emit_16(1539);
+emit_16(1475);
+emit_16(1540);
+emit_16(1476);
+emit_16(1540);
+emit_16(1475);
+emit_16(1540);
+emit_16(1476);
+emit_16(1541);
+emit_16(1477);
+emit_16(1541);
+emit_16(1476);
+emit_16(1541);
+emit_16(1477);
+emit_16(1542);
+emit_16(1478);
+emit_16(1542);
+emit_16(1477);
+emit_16(1542);
+emit_16(1478);
+emit_16(1543);
+emit_16(1479);
+emit_16(1543);
+emit_16(1478);
+emit_16(1543);
+emit_16(1479);
+emit_16(1544);
+emit_16(1480);
+emit_16(1544);
+emit_16(1479);
+emit_16(1544);
+emit_16(1480);
+emit_16(1545);
+emit_16(1481);
+emit_16(1545);
+emit_16(1480);
+emit_16(1545);
+emit_16(1481);
+emit_16(1546);
+emit_16(1482);
+emit_16(1546);
+emit_16(1481);
+emit_16(1546);
+emit_16(1482);
+emit_16(1547);
+emit_16(1483);
+emit_16(1547);
+emit_16(1482);
+emit_16(1547);
+emit_16(1483);
+emit_16(1548);
+emit_16(1484);
+emit_16(1548);
+emit_16(1483);
+emit_16(1548);
+emit_16(1484);
+emit_16(1549);
+emit_16(1485);
+emit_16(1549);
+emit_16(1484);
+emit_16(1549);
+emit_16(1485);
+emit_16(1550);
+emit_16(1486);
+emit_16(1550);
+emit_16(1485);
+emit_16(1550);
+emit_16(1486);
+emit_16(1551);
+emit_16(1487);
+emit_16(1551);
+emit_16(1486);
+emit_16(1551);
+emit_16(1487);
+emit_16(1552);
+emit_16(1488);
+emit_16(1552);
+emit_16(1487);
+emit_16(1552);
+emit_16(1488);
+emit_16(1553);
+emit_16(1489);
+emit_16(1553);
+emit_16(1488);
+emit_16(1553);
+emit_16(1489);
+emit_16(1554);
+emit_16(1490);
+emit_16(1554);
+emit_16(1489);
+emit_16(1554);
+emit_16(1490);
+emit_16(1555);
+emit_16(1491);
+emit_16(1555);
+emit_16(1490);
+emit_16(1555);
+emit_16(1491);
+emit_16(1556);
+emit_16(1492);
+emit_16(1556);
+emit_16(1491);
+emit_16(1556);
+emit_16(1492);
+emit_16(1557);
+emit_16(1493);
+emit_16(1557);
+emit_16(1492);
+emit_16(1557);
+emit_16(1493);
+emit_16(1558);
+emit_16(1494);
+emit_16(1558);
+emit_16(1493);
+emit_16(1558);
+emit_16(1494);
+emit_16(1559);
+emit_16(1495);
+emit_16(1559);
+emit_16(1494);
+emit_16(1559);
+emit_16(1495);
+emit_16(1560);
+emit_16(1496);
+emit_16(1560);
+emit_16(1495);
+emit_16(1560);
+emit_16(1496);
+emit_16(1561);
+emit_16(1497);
+emit_16(1561);
+emit_16(1496);
+emit_16(1561);
+emit_16(1497);
+emit_16(1562);
+emit_16(1498);
+emit_16(1562);
+emit_16(1497);
+emit_16(1562);
+emit_16(1498);
+emit_16(1563);
+emit_16(1499);
+emit_16(1563);
+emit_16(1498);
+emit_16(1563);
+emit_16(1499);
+emit_16(1564);
+emit_16(1500);
+emit_16(1564);
+emit_16(1499);
+emit_16(1564);
+emit_16(1500);
+emit_16(1565);
+emit_16(1501);
+emit_16(1565);
+emit_16(1500);
+emit_16(1565);
+emit_16(1501);
+emit_16(1566);
+emit_16(1502);
+emit_16(1566);
+emit_16(1501);
+emit_16(1566);
+emit_16(1502);
+emit_16(1567);
+emit_16(1503);
+emit_16(1567);
+emit_16(1502);
+emit_16(1567);
+emit_16(1503);
+emit_16(1568);
+emit_16(1504);
+emit_16(1568);
+emit_16(1503);
+emit_16(1568);
+emit_16(1504);
+emit_16(1569);
+emit_16(1505);
+emit_16(1569);
+emit_16(1504);
+emit_16(1569);
+emit_16(1505);
+emit_16(1570);
+emit_16(1506);
+emit_16(1570);
+emit_16(1505);
+emit_16(1570);
+emit_16(1506);
+emit_16(1571);
+emit_16(1507);
+emit_16(1571);
+emit_16(1506);
+emit_16(1571);
+emit_16(1507);
+emit_16(1572);
+emit_16(1508);
+emit_16(1572);
+emit_16(1507);
+emit_16(1572);
+emit_16(1508);
+emit_16(1573);
+emit_16(1509);
+emit_16(1573);
+emit_16(1508);
+emit_16(1573);
+emit_16(1509);
+emit_16(1574);
+emit_16(1510);
+emit_16(1574);
+emit_16(1509);
+emit_16(1574);
+emit_16(1510);
+emit_16(1575);
+emit_16(1511);
+emit_16(1575);
+emit_16(1510);
+emit_16(1575);
+emit_16(1511);
+emit_16(1576);
+emit_16(1512);
+emit_16(1576);
+emit_16(1511);
+emit_16(1576);
+emit_16(1512);
+emit_16(1577);
+emit_16(1513);
+emit_16(1577);
+emit_16(1512);
+emit_16(1577);
+emit_16(1513);
+emit_16(1578);
+emit_16(1514);
+emit_16(1578);
+emit_16(1513);
+emit_16(1578);
+emit_16(1514);
+emit_16(1579);
+emit_16(1515);
+emit_16(1579);
+emit_16(1514);
+emit_16(1579);
+emit_16(1515);
+emit_16(1580);
+emit_16(1516);
+emit_16(1580);
+emit_16(1515);
+emit_16(1580);
+emit_16(1516);
+emit_16(1581);
+emit_16(1517);
+emit_16(1581);
+emit_16(1516);
+emit_16(1581);
+emit_16(1517);
+emit_16(1582);
+emit_16(1518);
+emit_16(1582);
+emit_16(1517);
+emit_16(1582);
+emit_16(1518);
+emit_16(1583);
+emit_16(1519);
+emit_16(1583);
+emit_16(1518);
+emit_16(1583);
+emit_16(1519);
+emit_16(1584);
+emit_16(1520);
+emit_16(1584);
+emit_16(1519);
+emit_16(1584);
+emit_16(1520);
+emit_16(1585);
+emit_16(1521);
+emit_16(1585);
+emit_16(1520);
+emit_16(1585);
+emit_16(1521);
+emit_16(1586);
+emit_16(1522);
+emit_16(1586);
+emit_16(1521);
+emit_16(1586);
+emit_16(1522);
+emit_16(1587);
+emit_16(1523);
+emit_16(1587);
+emit_16(1522);
+emit_16(1587);
+emit_16(1523);
+emit_16(1588);
+emit_16(1524);
+emit_16(1588);
+emit_16(1523);
+emit_16(1588);
+emit_16(1524);
+emit_16(1589);
+emit_16(1525);
+emit_16(1589);
+emit_16(1524);
+emit_16(1589);
+emit_16(1525);
+emit_16(1590);
+emit_16(1526);
+emit_16(1590);
+emit_16(1525);
+emit_16(1590);
+emit_16(1526);
+emit_16(1591);
+emit_16(1527);
+emit_16(1591);
+emit_16(1526);
+emit_16(1591);
+emit_16(1527);
+emit_16(1592);
+emit_16(1528);
+emit_16(1592);
+emit_16(1527);
+emit_16(1592);
+emit_16(1528);
+emit_16(1593);
+emit_16(1529);
+emit_16(1593);
+emit_16(1528);
+emit_16(1593);
+emit_16(1529);
+emit_16(1594);
+emit_16(1530);
+emit_16(1594);
+emit_16(1529);
+emit_16(1594);
+emit_16(1530);
+emit_16(1595);
+emit_16(1531);
+emit_16(1595);
+emit_16(1530);
+emit_16(1595);
+emit_16(1531);
+emit_16(1596);
+emit_16(1532);
+emit_16(1596);
+emit_16(1531);
+emit_16(1596);
+emit_16(1532);
+emit_16(1597);
+emit_16(1533);
+emit_16(1597);
+emit_16(1532);
+emit_16(1597);
+emit_16(1533);
+emit_16(1598);
+emit_16(1534);
+emit_16(1598);
+emit_16(1533);
+emit_16(1598);
+emit_16(1534);
+emit_16(1599);
+emit_16(1535);
+emit_16(1599);
+emit_16(1534);
+emit_16(1600);
+emit_16(1536);
+emit_16(1601);
+emit_16(1537);
+emit_16(1601);
+emit_16(1536);
+emit_16(1601);
+emit_16(1537);
+emit_16(1602);
+emit_16(1538);
+emit_16(1602);
+emit_16(1537);
+emit_16(1602);
+emit_16(1538);
+emit_16(1603);
+emit_16(1539);
+emit_16(1603);
+emit_16(1538);
+emit_16(1603);
+emit_16(1539);
+emit_16(1604);
+emit_16(1540);
+emit_16(1604);
+emit_16(1539);
+emit_16(1604);
+emit_16(1540);
+emit_16(1605);
+emit_16(1541);
+emit_16(1605);
+emit_16(1540);
+emit_16(1605);
+emit_16(1541);
+emit_16(1606);
+emit_16(1542);
+emit_16(1606);
+emit_16(1541);
+emit_16(1606);
+emit_16(1542);
+emit_16(1607);
+emit_16(1543);
+emit_16(1607);
+emit_16(1542);
+emit_16(1607);
+emit_16(1543);
+emit_16(1608);
+emit_16(1544);
+emit_16(1608);
+emit_16(1543);
+emit_16(1608);
+emit_16(1544);
+emit_16(1609);
+emit_16(1545);
+emit_16(1609);
+emit_16(1544);
+emit_16(1609);
+emit_16(1545);
+emit_16(1610);
+emit_16(1546);
+emit_16(1610);
+emit_16(1545);
+emit_16(1610);
+emit_16(1546);
+emit_16(1611);
+emit_16(1547);
+emit_16(1611);
+emit_16(1546);
+emit_16(1611);
+emit_16(1547);
+emit_16(1612);
+emit_16(1548);
+emit_16(1612);
+emit_16(1547);
+emit_16(1612);
+emit_16(1548);
+emit_16(1613);
+emit_16(1549);
+emit_16(1613);
+emit_16(1548);
+emit_16(1613);
+emit_16(1549);
+emit_16(1614);
+emit_16(1550);
+emit_16(1614);
+emit_16(1549);
+emit_16(1614);
+emit_16(1550);
+emit_16(1615);
+emit_16(1551);
+emit_16(1615);
+emit_16(1550);
+emit_16(1615);
+emit_16(1551);
+emit_16(1616);
+emit_16(1552);
+emit_16(1616);
+emit_16(1551);
+emit_16(1616);
+emit_16(1552);
+emit_16(1617);
+emit_16(1553);
+emit_16(1617);
+emit_16(1552);
+emit_16(1617);
+emit_16(1553);
+emit_16(1618);
+emit_16(1554);
+emit_16(1618);
+emit_16(1553);
+emit_16(1618);
+emit_16(1554);
+emit_16(1619);
+emit_16(1555);
+emit_16(1619);
+emit_16(1554);
+emit_16(1619);
+emit_16(1555);
+emit_16(1620);
+emit_16(1556);
+emit_16(1620);
+emit_16(1555);
+emit_16(1620);
+emit_16(1556);
+emit_16(1621);
+emit_16(1557);
+emit_16(1621);
+emit_16(1556);
+emit_16(1621);
+emit_16(1557);
+emit_16(1622);
+emit_16(1558);
+emit_16(1622);
+emit_16(1557);
+emit_16(1622);
+emit_16(1558);
+emit_16(1623);
+emit_16(1559);
+emit_16(1623);
+emit_16(1558);
+emit_16(1623);
+emit_16(1559);
+emit_16(1624);
+emit_16(1560);
+emit_16(1624);
+emit_16(1559);
+emit_16(1624);
+emit_16(1560);
+emit_16(1625);
+emit_16(1561);
+emit_16(1625);
+emit_16(1560);
+emit_16(1625);
+emit_16(1561);
+emit_16(1626);
+emit_16(1562);
+emit_16(1626);
+emit_16(1561);
+emit_16(1626);
+emit_16(1562);
+emit_16(1627);
+emit_16(1563);
+emit_16(1627);
+emit_16(1562);
+emit_16(1627);
+emit_16(1563);
+emit_16(1628);
+emit_16(1564);
+emit_16(1628);
+emit_16(1563);
+emit_16(1628);
+emit_16(1564);
+emit_16(1629);
+emit_16(1565);
+emit_16(1629);
+emit_16(1564);
+emit_16(1629);
+emit_16(1565);
+emit_16(1630);
+emit_16(1566);
+emit_16(1630);
+emit_16(1565);
+emit_16(1630);
+emit_16(1566);
+emit_16(1631);
+emit_16(1567);
+emit_16(1631);
+emit_16(1566);
+emit_16(1631);
+emit_16(1567);
+emit_16(1632);
+emit_16(1568);
+emit_16(1632);
+emit_16(1567);
+emit_16(1632);
+emit_16(1568);
+emit_16(1633);
+emit_16(1569);
+emit_16(1633);
+emit_16(1568);
+emit_16(1633);
+emit_16(1569);
+emit_16(1634);
+emit_16(1570);
+emit_16(1634);
+emit_16(1569);
+emit_16(1634);
+emit_16(1570);
+emit_16(1635);
+emit_16(1571);
+emit_16(1635);
+emit_16(1570);
+emit_16(1635);
+emit_16(1571);
+emit_16(1636);
+emit_16(1572);
+emit_16(1636);
+emit_16(1571);
+emit_16(1636);
+emit_16(1572);
+emit_16(1637);
+emit_16(1573);
+emit_16(1637);
+emit_16(1572);
+emit_16(1637);
+emit_16(1573);
+emit_16(1638);
+emit_16(1574);
+emit_16(1638);
+emit_16(1573);
+emit_16(1638);
+emit_16(1574);
+emit_16(1639);
+emit_16(1575);
+emit_16(1639);
+emit_16(1574);
+emit_16(1639);
+emit_16(1575);
+emit_16(1640);
+emit_16(1576);
+emit_16(1640);
+emit_16(1575);
+emit_16(1640);
+emit_16(1576);
+emit_16(1641);
+emit_16(1577);
+emit_16(1641);
+emit_16(1576);
+emit_16(1641);
+emit_16(1577);
+emit_16(1642);
+emit_16(1578);
+emit_16(1642);
+emit_16(1577);
+emit_16(1642);
+emit_16(1578);
+emit_16(1643);
+emit_16(1579);
+emit_16(1643);
+emit_16(1578);
+emit_16(1643);
+emit_16(1579);
+emit_16(1644);
+emit_16(1580);
+emit_16(1644);
+emit_16(1579);
+emit_16(1644);
+emit_16(1580);
+emit_16(1645);
+emit_16(1581);
+emit_16(1645);
+emit_16(1580);
+emit_16(1645);
+emit_16(1581);
+emit_16(1646);
+emit_16(1582);
+emit_16(1646);
+emit_16(1581);
+emit_16(1646);
+emit_16(1582);
+emit_16(1647);
+emit_16(1583);
+emit_16(1647);
+emit_16(1582);
+emit_16(1647);
+emit_16(1583);
+emit_16(1648);
+emit_16(1584);
+emit_16(1648);
+emit_16(1583);
+emit_16(1648);
+emit_16(1584);
+emit_16(1649);
+emit_16(1585);
+emit_16(1649);
+emit_16(1584);
+emit_16(1649);
+emit_16(1585);
+emit_16(1650);
+emit_16(1586);
+emit_16(1650);
+emit_16(1585);
+emit_16(1650);
+emit_16(1586);
+emit_16(1651);
+emit_16(1587);
+emit_16(1651);
+emit_16(1586);
+emit_16(1651);
+emit_16(1587);
+emit_16(1652);
+emit_16(1588);
+emit_16(1652);
+emit_16(1587);
+emit_16(1652);
+emit_16(1588);
+emit_16(1653);
+emit_16(1589);
+emit_16(1653);
+emit_16(1588);
+emit_16(1653);
+emit_16(1589);
+emit_16(1654);
+emit_16(1590);
+emit_16(1654);
+emit_16(1589);
+emit_16(1654);
+emit_16(1590);
+emit_16(1655);
+emit_16(1591);
+emit_16(1655);
+emit_16(1590);
+emit_16(1655);
+emit_16(1591);
+emit_16(1656);
+emit_16(1592);
+emit_16(1656);
+emit_16(1591);
+emit_16(1656);
+emit_16(1592);
+emit_16(1657);
+emit_16(1593);
+emit_16(1657);
+emit_16(1592);
+emit_16(1657);
+emit_16(1593);
+emit_16(1658);
+emit_16(1594);
+emit_16(1658);
+emit_16(1593);
+emit_16(1658);
+emit_16(1594);
+emit_16(1659);
+emit_16(1595);
+emit_16(1659);
+emit_16(1594);
+emit_16(1659);
+emit_16(1595);
+emit_16(1660);
+emit_16(1596);
+emit_16(1660);
+emit_16(1595);
+emit_16(1660);
+emit_16(1596);
+emit_16(1661);
+emit_16(1597);
+emit_16(1661);
+emit_16(1596);
+emit_16(1661);
+emit_16(1597);
+emit_16(1662);
+emit_16(1598);
+emit_16(1662);
+emit_16(1597);
+emit_16(1662);
+emit_16(1598);
+emit_16(1663);
+emit_16(1599);
+emit_16(1663);
+emit_16(1598);
+emit_16(1664);
+emit_16(1600);
+emit_16(1665);
+emit_16(1601);
+emit_16(1665);
+emit_16(1600);
+emit_16(1665);
+emit_16(1601);
+emit_16(1666);
+emit_16(1602);
+emit_16(1666);
+emit_16(1601);
+emit_16(1666);
+emit_16(1602);
+emit_16(1667);
+emit_16(1603);
+emit_16(1667);
+emit_16(1602);
+emit_16(1667);
+emit_16(1603);
+emit_16(1668);
+emit_16(1604);
+emit_16(1668);
+emit_16(1603);
+emit_16(1668);
+emit_16(1604);
+emit_16(1669);
+emit_16(1605);
+emit_16(1669);
+emit_16(1604);
+emit_16(1669);
+emit_16(1605);
+emit_16(1670);
+emit_16(1606);
+emit_16(1670);
+emit_16(1605);
+emit_16(1670);
+emit_16(1606);
+emit_16(1671);
+emit_16(1607);
+emit_16(1671);
+emit_16(1606);
+emit_16(1671);
+emit_16(1607);
+emit_16(1672);
+emit_16(1608);
+emit_16(1672);
+emit_16(1607);
+emit_16(1672);
+emit_16(1608);
+emit_16(1673);
+emit_16(1609);
+emit_16(1673);
+emit_16(1608);
+emit_16(1673);
+emit_16(1609);
+emit_16(1674);
+emit_16(1610);
+emit_16(1674);
+emit_16(1609);
+emit_16(1674);
+emit_16(1610);
+emit_16(1675);
+emit_16(1611);
+emit_16(1675);
+emit_16(1610);
+emit_16(1675);
+emit_16(1611);
+emit_16(1676);
+emit_16(1612);
+emit_16(1676);
+emit_16(1611);
+emit_16(1676);
+emit_16(1612);
+emit_16(1677);
+emit_16(1613);
+emit_16(1677);
+emit_16(1612);
+emit_16(1677);
+emit_16(1613);
+emit_16(1678);
+emit_16(1614);
+emit_16(1678);
+emit_16(1613);
+emit_16(1678);
+emit_16(1614);
+emit_16(1679);
+emit_16(1615);
+emit_16(1679);
+emit_16(1614);
+emit_16(1679);
+emit_16(1615);
+emit_16(1680);
+emit_16(1616);
+emit_16(1680);
+emit_16(1615);
+emit_16(1680);
+emit_16(1616);
+emit_16(1681);
+emit_16(1617);
+emit_16(1681);
+emit_16(1616);
+emit_16(1681);
+emit_16(1617);
+emit_16(1682);
+emit_16(1618);
+emit_16(1682);
+emit_16(1617);
+emit_16(1682);
+emit_16(1618);
+emit_16(1683);
+emit_16(1619);
+emit_16(1683);
+emit_16(1618);
+emit_16(1683);
+emit_16(1619);
+emit_16(1684);
+emit_16(1620);
+emit_16(1684);
+emit_16(1619);
+emit_16(1684);
+emit_16(1620);
+emit_16(1685);
+emit_16(1621);
+emit_16(1685);
+emit_16(1620);
+emit_16(1685);
+emit_16(1621);
+emit_16(1686);
+emit_16(1622);
+emit_16(1686);
+emit_16(1621);
+emit_16(1686);
+emit_16(1622);
+emit_16(1687);
+emit_16(1623);
+emit_16(1687);
+emit_16(1622);
+emit_16(1687);
+emit_16(1623);
+emit_16(1688);
+emit_16(1624);
+emit_16(1688);
+emit_16(1623);
+emit_16(1688);
+emit_16(1624);
+emit_16(1689);
+emit_16(1625);
+emit_16(1689);
+emit_16(1624);
+emit_16(1689);
+emit_16(1625);
+emit_16(1690);
+emit_16(1626);
+emit_16(1690);
+emit_16(1625);
+emit_16(1690);
+emit_16(1626);
+emit_16(1691);
+emit_16(1627);
+emit_16(1691);
+emit_16(1626);
+emit_16(1691);
+emit_16(1627);
+emit_16(1692);
+emit_16(1628);
+emit_16(1692);
+emit_16(1627);
+emit_16(1692);
+emit_16(1628);
+emit_16(1693);
+emit_16(1629);
+emit_16(1693);
+emit_16(1628);
+emit_16(1693);
+emit_16(1629);
+emit_16(1694);
+emit_16(1630);
+emit_16(1694);
+emit_16(1629);
+emit_16(1694);
+emit_16(1630);
+emit_16(1695);
+emit_16(1631);
+emit_16(1695);
+emit_16(1630);
+emit_16(1695);
+emit_16(1631);
+emit_16(1696);
+emit_16(1632);
+emit_16(1696);
+emit_16(1631);
+emit_16(1696);
+emit_16(1632);
+emit_16(1697);
+emit_16(1633);
+emit_16(1697);
+emit_16(1632);
+emit_16(1697);
+emit_16(1633);
+emit_16(1698);
+emit_16(1634);
+emit_16(1698);
+emit_16(1633);
+emit_16(1698);
+emit_16(1634);
+emit_16(1699);
+emit_16(1635);
+emit_16(1699);
+emit_16(1634);
+emit_16(1699);
+emit_16(1635);
+emit_16(1700);
+emit_16(1636);
+emit_16(1700);
+emit_16(1635);
+emit_16(1700);
+emit_16(1636);
+emit_16(1701);
+emit_16(1637);
+emit_16(1701);
+emit_16(1636);
+emit_16(1701);
+emit_16(1637);
+emit_16(1702);
+emit_16(1638);
+emit_16(1702);
+emit_16(1637);
+emit_16(1702);
+emit_16(1638);
+emit_16(1703);
+emit_16(1639);
+emit_16(1703);
+emit_16(1638);
+emit_16(1703);
+emit_16(1639);
+emit_16(1704);
+emit_16(1640);
+emit_16(1704);
+emit_16(1639);
+emit_16(1704);
+emit_16(1640);
+emit_16(1705);
+emit_16(1641);
+emit_16(1705);
+emit_16(1640);
+emit_16(1705);
+emit_16(1641);
+emit_16(1706);
+emit_16(1642);
+emit_16(1706);
+emit_16(1641);
+emit_16(1706);
+emit_16(1642);
+emit_16(1707);
+emit_16(1643);
+emit_16(1707);
+emit_16(1642);
+emit_16(1707);
+emit_16(1643);
+emit_16(1708);
+emit_16(1644);
+emit_16(1708);
+emit_16(1643);
+emit_16(1708);
+emit_16(1644);
+emit_16(1709);
+emit_16(1645);
+emit_16(1709);
+emit_16(1644);
+emit_16(1709);
+emit_16(1645);
+emit_16(1710);
+emit_16(1646);
+emit_16(1710);
+emit_16(1645);
+emit_16(1710);
+emit_16(1646);
+emit_16(1711);
+emit_16(1647);
+emit_16(1711);
+emit_16(1646);
+emit_16(1711);
+emit_16(1647);
+emit_16(1712);
+emit_16(1648);
+emit_16(1712);
+emit_16(1647);
+emit_16(1712);
+emit_16(1648);
+emit_16(1713);
+emit_16(1649);
+emit_16(1713);
+emit_16(1648);
+emit_16(1713);
+emit_16(1649);
+emit_16(1714);
+emit_16(1650);
+emit_16(1714);
+emit_16(1649);
+emit_16(1714);
+emit_16(1650);
+emit_16(1715);
+emit_16(1651);
+emit_16(1715);
+emit_16(1650);
+emit_16(1715);
+emit_16(1651);
+emit_16(1716);
+emit_16(1652);
+emit_16(1716);
+emit_16(1651);
+emit_16(1716);
+emit_16(1652);
+emit_16(1717);
+emit_16(1653);
+emit_16(1717);
+emit_16(1652);
+emit_16(1717);
+emit_16(1653);
+emit_16(1718);
+emit_16(1654);
+emit_16(1718);
+emit_16(1653);
+emit_16(1718);
+emit_16(1654);
+emit_16(1719);
+emit_16(1655);
+emit_16(1719);
+emit_16(1654);
+emit_16(1719);
+emit_16(1655);
+emit_16(1720);
+emit_16(1656);
+emit_16(1720);
+emit_16(1655);
+emit_16(1720);
+emit_16(1656);
+emit_16(1721);
+emit_16(1657);
+emit_16(1721);
+emit_16(1656);
+emit_16(1721);
+emit_16(1657);
+emit_16(1722);
+emit_16(1658);
+emit_16(1722);
+emit_16(1657);
+emit_16(1722);
+emit_16(1658);
+emit_16(1723);
+emit_16(1659);
+emit_16(1723);
+emit_16(1658);
+emit_16(1723);
+emit_16(1659);
+emit_16(1724);
+emit_16(1660);
+emit_16(1724);
+emit_16(1659);
+emit_16(1724);
+emit_16(1660);
+emit_16(1725);
+emit_16(1661);
+emit_16(1725);
+emit_16(1660);
+emit_16(1725);
+emit_16(1661);
+emit_16(1726);
+emit_16(1662);
+emit_16(1726);
+emit_16(1661);
+emit_16(1726);
+emit_16(1662);
+emit_16(1727);
+emit_16(1663);
+emit_16(1727);
+emit_16(1662);
+emit_16(1728);
+emit_16(1664);
+emit_16(1729);
+emit_16(1665);
+emit_16(1729);
+emit_16(1664);
+emit_16(1729);
+emit_16(1665);
+emit_16(1730);
+emit_16(1666);
+emit_16(1730);
+emit_16(1665);
+emit_16(1730);
+emit_16(1666);
+emit_16(1731);
+emit_16(1667);
+emit_16(1731);
+emit_16(1666);
+emit_16(1731);
+emit_16(1667);
+emit_16(1732);
+emit_16(1668);
+emit_16(1732);
+emit_16(1667);
+emit_16(1732);
+emit_16(1668);
+emit_16(1733);
+emit_16(1669);
+emit_16(1733);
+emit_16(1668);
+emit_16(1733);
+emit_16(1669);
+emit_16(1734);
+emit_16(1670);
+emit_16(1734);
+emit_16(1669);
+emit_16(1734);
+emit_16(1670);
+emit_16(1735);
+emit_16(1671);
+emit_16(1735);
+emit_16(1670);
+emit_16(1735);
+emit_16(1671);
+emit_16(1736);
+emit_16(1672);
+emit_16(1736);
+emit_16(1671);
+emit_16(1736);
+emit_16(1672);
+emit_16(1737);
+emit_16(1673);
+emit_16(1737);
+emit_16(1672);
+emit_16(1737);
+emit_16(1673);
+emit_16(1738);
+emit_16(1674);
+emit_16(1738);
+emit_16(1673);
+emit_16(1738);
+emit_16(1674);
+emit_16(1739);
+emit_16(1675);
+emit_16(1739);
+emit_16(1674);
+emit_16(1739);
+emit_16(1675);
+emit_16(1740);
+emit_16(1676);
+emit_16(1740);
+emit_16(1675);
+emit_16(1740);
+emit_16(1676);
+emit_16(1741);
+emit_16(1677);
+emit_16(1741);
+emit_16(1676);
+emit_16(1741);
+emit_16(1677);
+emit_16(1742);
+emit_16(1678);
+emit_16(1742);
+emit_16(1677);
+emit_16(1742);
+emit_16(1678);
+emit_16(1743);
+emit_16(1679);
+emit_16(1743);
+emit_16(1678);
+emit_16(1743);
+emit_16(1679);
+emit_16(1744);
+emit_16(1680);
+emit_16(1744);
+emit_16(1679);
+emit_16(1744);
+emit_16(1680);
+emit_16(1745);
+emit_16(1681);
+emit_16(1745);
+emit_16(1680);
+emit_16(1745);
+emit_16(1681);
+emit_16(1746);
+emit_16(1682);
+emit_16(1746);
+emit_16(1681);
+emit_16(1746);
+emit_16(1682);
+emit_16(1747);
+emit_16(1683);
+emit_16(1747);
+emit_16(1682);
+emit_16(1747);
+emit_16(1683);
+emit_16(1748);
+emit_16(1684);
+emit_16(1748);
+emit_16(1683);
+emit_16(1748);
+emit_16(1684);
+emit_16(1749);
+emit_16(1685);
+emit_16(1749);
+emit_16(1684);
+emit_16(1749);
+emit_16(1685);
+emit_16(1750);
+emit_16(1686);
+emit_16(1750);
+emit_16(1685);
+emit_16(1750);
+emit_16(1686);
+emit_16(1751);
+emit_16(1687);
+emit_16(1751);
+emit_16(1686);
+emit_16(1751);
+emit_16(1687);
+emit_16(1752);
+emit_16(1688);
+emit_16(1752);
+emit_16(1687);
+emit_16(1752);
+emit_16(1688);
+emit_16(1753);
+emit_16(1689);
+emit_16(1753);
+emit_16(1688);
+emit_16(1753);
+emit_16(1689);
+emit_16(1754);
+emit_16(1690);
+emit_16(1754);
+emit_16(1689);
+emit_16(1754);
+emit_16(1690);
+emit_16(1755);
+emit_16(1691);
+emit_16(1755);
+emit_16(1690);
+emit_16(1755);
+emit_16(1691);
+emit_16(1756);
+emit_16(1692);
+emit_16(1756);
+emit_16(1691);
+emit_16(1756);
+emit_16(1692);
+emit_16(1757);
+emit_16(1693);
+emit_16(1757);
+emit_16(1692);
+emit_16(1757);
+emit_16(1693);
+emit_16(1758);
+emit_16(1694);
+emit_16(1758);
+emit_16(1693);
+emit_16(1758);
+emit_16(1694);
+emit_16(1759);
+emit_16(1695);
+emit_16(1759);
+emit_16(1694);
+emit_16(1759);
+emit_16(1695);
+emit_16(1760);
+emit_16(1696);
+emit_16(1760);
+emit_16(1695);
+emit_16(1760);
+emit_16(1696);
+emit_16(1761);
+emit_16(1697);
+emit_16(1761);
+emit_16(1696);
+emit_16(1761);
+emit_16(1697);
+emit_16(1762);
+emit_16(1698);
+emit_16(1762);
+emit_16(1697);
+emit_16(1762);
+emit_16(1698);
+emit_16(1763);
+emit_16(1699);
+emit_16(1763);
+emit_16(1698);
+emit_16(1763);
+emit_16(1699);
+emit_16(1764);
+emit_16(1700);
+emit_16(1764);
+emit_16(1699);
+emit_16(1764);
+emit_16(1700);
+emit_16(1765);
+emit_16(1701);
+emit_16(1765);
+emit_16(1700);
+emit_16(1765);
+emit_16(1701);
+emit_16(1766);
+emit_16(1702);
+emit_16(1766);
+emit_16(1701);
+emit_16(1766);
+emit_16(1702);
+emit_16(1767);
+emit_16(1703);
+emit_16(1767);
+emit_16(1702);
+emit_16(1767);
+emit_16(1703);
+emit_16(1768);
+emit_16(1704);
+emit_16(1768);
+emit_16(1703);
+emit_16(1768);
+emit_16(1704);
+emit_16(1769);
+emit_16(1705);
+emit_16(1769);
+emit_16(1704);
+emit_16(1769);
+emit_16(1705);
+emit_16(1770);
+emit_16(1706);
+emit_16(1770);
+emit_16(1705);
+emit_16(1770);
+emit_16(1706);
+emit_16(1771);
+emit_16(1707);
+emit_16(1771);
+emit_16(1706);
+emit_16(1771);
+emit_16(1707);
+emit_16(1772);
+emit_16(1708);
+emit_16(1772);
+emit_16(1707);
+emit_16(1772);
+emit_16(1708);
+emit_16(1773);
+emit_16(1709);
+emit_16(1773);
+emit_16(1708);
+emit_16(1773);
+emit_16(1709);
+emit_16(1774);
+emit_16(1710);
+emit_16(1774);
+emit_16(1709);
+emit_16(1774);
+emit_16(1710);
+emit_16(1775);
+emit_16(1711);
+emit_16(1775);
+emit_16(1710);
+emit_16(1775);
+emit_16(1711);
+emit_16(1776);
+emit_16(1712);
+emit_16(1776);
+emit_16(1711);
+emit_16(1776);
+emit_16(1712);
+emit_16(1777);
+emit_16(1713);
+emit_16(1777);
+emit_16(1712);
+emit_16(1777);
+emit_16(1713);
+emit_16(1778);
+emit_16(1714);
+emit_16(1778);
+emit_16(1713);
+emit_16(1778);
+emit_16(1714);
+emit_16(1779);
+emit_16(1715);
+emit_16(1779);
+emit_16(1714);
+emit_16(1779);
+emit_16(1715);
+emit_16(1780);
+emit_16(1716);
+emit_16(1780);
+emit_16(1715);
+emit_16(1780);
+emit_16(1716);
+emit_16(1781);
+emit_16(1717);
+emit_16(1781);
+emit_16(1716);
+emit_16(1781);
+emit_16(1717);
+emit_16(1782);
+emit_16(1718);
+emit_16(1782);
+emit_16(1717);
+emit_16(1782);
+emit_16(1718);
+emit_16(1783);
+emit_16(1719);
+emit_16(1783);
+emit_16(1718);
+emit_16(1783);
+emit_16(1719);
+emit_16(1784);
+emit_16(1720);
+emit_16(1784);
+emit_16(1719);
+emit_16(1784);
+emit_16(1720);
+emit_16(1785);
+emit_16(1721);
+emit_16(1785);
+emit_16(1720);
+emit_16(1785);
+emit_16(1721);
+emit_16(1786);
+emit_16(1722);
+emit_16(1786);
+emit_16(1721);
+emit_16(1786);
+emit_16(1722);
+emit_16(1787);
+emit_16(1723);
+emit_16(1787);
+emit_16(1722);
+emit_16(1787);
+emit_16(1723);
+emit_16(1788);
+emit_16(1724);
+emit_16(1788);
+emit_16(1723);
+emit_16(1788);
+emit_16(1724);
+emit_16(1789);
+emit_16(1725);
+emit_16(1789);
+emit_16(1724);
+emit_16(1789);
+emit_16(1725);
+emit_16(1790);
+emit_16(1726);
+emit_16(1790);
+emit_16(1725);
+emit_16(1790);
+emit_16(1726);
+emit_16(1791);
+emit_16(1727);
+emit_16(1791);
+emit_16(1726);
+emit_16(1792);
+emit_16(1728);
+emit_16(1793);
+emit_16(1729);
+emit_16(1793);
+emit_16(1728);
+emit_16(1793);
+emit_16(1729);
+emit_16(1794);
+emit_16(1730);
+emit_16(1794);
+emit_16(1729);
+emit_16(1794);
+emit_16(1730);
+emit_16(1795);
+emit_16(1731);
+emit_16(1795);
+emit_16(1730);
+emit_16(1795);
+emit_16(1731);
+emit_16(1796);
+emit_16(1732);
+emit_16(1796);
+emit_16(1731);
+emit_16(1796);
+emit_16(1732);
+emit_16(1797);
+emit_16(1733);
+emit_16(1797);
+emit_16(1732);
+emit_16(1797);
+emit_16(1733);
+emit_16(1798);
+emit_16(1734);
+emit_16(1798);
+emit_16(1733);
+emit_16(1798);
+emit_16(1734);
+emit_16(1799);
+emit_16(1735);
+emit_16(1799);
+emit_16(1734);
+emit_16(1799);
+emit_16(1735);
+emit_16(1800);
+emit_16(1736);
+emit_16(1800);
+emit_16(1735);
+emit_16(1800);
+emit_16(1736);
+emit_16(1801);
+emit_16(1737);
+emit_16(1801);
+emit_16(1736);
+emit_16(1801);
+emit_16(1737);
+emit_16(1802);
+emit_16(1738);
+emit_16(1802);
+emit_16(1737);
+emit_16(1802);
+emit_16(1738);
+emit_16(1803);
+emit_16(1739);
+emit_16(1803);
+emit_16(1738);
+emit_16(1803);
+emit_16(1739);
+emit_16(1804);
+emit_16(1740);
+emit_16(1804);
+emit_16(1739);
+emit_16(1804);
+emit_16(1740);
+emit_16(1805);
+emit_16(1741);
+emit_16(1805);
+emit_16(1740);
+emit_16(1805);
+emit_16(1741);
+emit_16(1806);
+emit_16(1742);
+emit_16(1806);
+emit_16(1741);
+emit_16(1806);
+emit_16(1742);
+emit_16(1807);
+emit_16(1743);
+emit_16(1807);
+emit_16(1742);
+emit_16(1807);
+emit_16(1743);
+emit_16(1808);
+emit_16(1744);
+emit_16(1808);
+emit_16(1743);
+emit_16(1808);
+emit_16(1744);
+emit_16(1809);
+emit_16(1745);
+emit_16(1809);
+emit_16(1744);
+emit_16(1809);
+emit_16(1745);
+emit_16(1810);
+emit_16(1746);
+emit_16(1810);
+emit_16(1745);
+emit_16(1810);
+emit_16(1746);
+emit_16(1811);
+emit_16(1747);
+emit_16(1811);
+emit_16(1746);
+emit_16(1811);
+emit_16(1747);
+emit_16(1812);
+emit_16(1748);
+emit_16(1812);
+emit_16(1747);
+emit_16(1812);
+emit_16(1748);
+emit_16(1813);
+emit_16(1749);
+emit_16(1813);
+emit_16(1748);
+emit_16(1813);
+emit_16(1749);
+emit_16(1814);
+emit_16(1750);
+emit_16(1814);
+emit_16(1749);
+emit_16(1814);
+emit_16(1750);
+emit_16(1815);
+emit_16(1751);
+emit_16(1815);
+emit_16(1750);
+emit_16(1815);
+emit_16(1751);
+emit_16(1816);
+emit_16(1752);
+emit_16(1816);
+emit_16(1751);
+emit_16(1816);
+emit_16(1752);
+emit_16(1817);
+emit_16(1753);
+emit_16(1817);
+emit_16(1752);
+emit_16(1817);
+emit_16(1753);
+emit_16(1818);
+emit_16(1754);
+emit_16(1818);
+emit_16(1753);
+emit_16(1818);
+emit_16(1754);
+emit_16(1819);
+emit_16(1755);
+emit_16(1819);
+emit_16(1754);
+emit_16(1819);
+emit_16(1755);
+emit_16(1820);
+emit_16(1756);
+emit_16(1820);
+emit_16(1755);
+emit_16(1820);
+emit_16(1756);
+emit_16(1821);
+emit_16(1757);
+emit_16(1821);
+emit_16(1756);
+emit_16(1821);
+emit_16(1757);
+emit_16(1822);
+emit_16(1758);
+emit_16(1822);
+emit_16(1757);
+emit_16(1822);
+emit_16(1758);
+emit_16(1823);
+emit_16(1759);
+emit_16(1823);
+emit_16(1758);
+emit_16(1823);
+emit_16(1759);
+emit_16(1824);
+emit_16(1760);
+emit_16(1824);
+emit_16(1759);
+emit_16(1824);
+emit_16(1760);
+emit_16(1825);
+emit_16(1761);
+emit_16(1825);
+emit_16(1760);
+emit_16(1825);
+emit_16(1761);
+emit_16(1826);
+emit_16(1762);
+emit_16(1826);
+emit_16(1761);
+emit_16(1826);
+emit_16(1762);
+emit_16(1827);
+emit_16(1763);
+emit_16(1827);
+emit_16(1762);
+emit_16(1827);
+emit_16(1763);
+emit_16(1828);
+emit_16(1764);
+emit_16(1828);
+emit_16(1763);
+emit_16(1828);
+emit_16(1764);
+emit_16(1829);
+emit_16(1765);
+emit_16(1829);
+emit_16(1764);
+emit_16(1829);
+emit_16(1765);
+emit_16(1830);
+emit_16(1766);
+emit_16(1830);
+emit_16(1765);
+emit_16(1830);
+emit_16(1766);
+emit_16(1831);
+emit_16(1767);
+emit_16(1831);
+emit_16(1766);
+emit_16(1831);
+emit_16(1767);
+emit_16(1832);
+emit_16(1768);
+emit_16(1832);
+emit_16(1767);
+emit_16(1832);
+emit_16(1768);
+emit_16(1833);
+emit_16(1769);
+emit_16(1833);
+emit_16(1768);
+emit_16(1833);
+emit_16(1769);
+emit_16(1834);
+emit_16(1770);
+emit_16(1834);
+emit_16(1769);
+emit_16(1834);
+emit_16(1770);
+emit_16(1835);
+emit_16(1771);
+emit_16(1835);
+emit_16(1770);
+emit_16(1835);
+emit_16(1771);
+emit_16(1836);
+emit_16(1772);
+emit_16(1836);
+emit_16(1771);
+emit_16(1836);
+emit_16(1772);
+emit_16(1837);
+emit_16(1773);
+emit_16(1837);
+emit_16(1772);
+emit_16(1837);
+emit_16(1773);
+emit_16(1838);
+emit_16(1774);
+emit_16(1838);
+emit_16(1773);
+emit_16(1838);
+emit_16(1774);
+emit_16(1839);
+emit_16(1775);
+emit_16(1839);
+emit_16(1774);
+emit_16(1839);
+emit_16(1775);
+emit_16(1840);
+emit_16(1776);
+emit_16(1840);
+emit_16(1775);
+emit_16(1840);
+emit_16(1776);
+emit_16(1841);
+emit_16(1777);
+emit_16(1841);
+emit_16(1776);
+emit_16(1841);
+emit_16(1777);
+emit_16(1842);
+emit_16(1778);
+emit_16(1842);
+emit_16(1777);
+emit_16(1842);
+emit_16(1778);
+emit_16(1843);
+emit_16(1779);
+emit_16(1843);
+emit_16(1778);
+emit_16(1843);
+emit_16(1779);
+emit_16(1844);
+emit_16(1780);
+emit_16(1844);
+emit_16(1779);
+emit_16(1844);
+emit_16(1780);
+emit_16(1845);
+emit_16(1781);
+emit_16(1845);
+emit_16(1780);
+emit_16(1845);
+emit_16(1781);
+emit_16(1846);
+emit_16(1782);
+emit_16(1846);
+emit_16(1781);
+emit_16(1846);
+emit_16(1782);
+emit_16(1847);
+emit_16(1783);
+emit_16(1847);
+emit_16(1782);
+emit_16(1847);
+emit_16(1783);
+emit_16(1848);
+emit_16(1784);
+emit_16(1848);
+emit_16(1783);
+emit_16(1848);
+emit_16(1784);
+emit_16(1849);
+emit_16(1785);
+emit_16(1849);
+emit_16(1784);
+emit_16(1849);
+emit_16(1785);
+emit_16(1850);
+emit_16(1786);
+emit_16(1850);
+emit_16(1785);
+emit_16(1850);
+emit_16(1786);
+emit_16(1851);
+emit_16(1787);
+emit_16(1851);
+emit_16(1786);
+emit_16(1851);
+emit_16(1787);
+emit_16(1852);
+emit_16(1788);
+emit_16(1852);
+emit_16(1787);
+emit_16(1852);
+emit_16(1788);
+emit_16(1853);
+emit_16(1789);
+emit_16(1853);
+emit_16(1788);
+emit_16(1853);
+emit_16(1789);
+emit_16(1854);
+emit_16(1790);
+emit_16(1854);
+emit_16(1789);
+emit_16(1854);
+emit_16(1790);
+emit_16(1855);
+emit_16(1791);
+emit_16(1855);
+emit_16(1790);
+emit_16(1856);
+emit_16(1792);
+emit_16(1857);
+emit_16(1793);
+emit_16(1857);
+emit_16(1792);
+emit_16(1857);
+emit_16(1793);
+emit_16(1858);
+emit_16(1794);
+emit_16(1858);
+emit_16(1793);
+emit_16(1858);
+emit_16(1794);
+emit_16(1859);
+emit_16(1795);
+emit_16(1859);
+emit_16(1794);
+emit_16(1859);
+emit_16(1795);
+emit_16(1860);
+emit_16(1796);
+emit_16(1860);
+emit_16(1795);
+emit_16(1860);
+emit_16(1796);
+emit_16(1861);
+emit_16(1797);
+emit_16(1861);
+emit_16(1796);
+emit_16(1861);
+emit_16(1797);
+emit_16(1862);
+emit_16(1798);
+emit_16(1862);
+emit_16(1797);
+emit_16(1862);
+emit_16(1798);
+emit_16(1863);
+emit_16(1799);
+emit_16(1863);
+emit_16(1798);
+emit_16(1863);
+emit_16(1799);
+emit_16(1864);
+emit_16(1800);
+emit_16(1864);
+emit_16(1799);
+emit_16(1864);
+emit_16(1800);
+emit_16(1865);
+emit_16(1801);
+emit_16(1865);
+emit_16(1800);
+emit_16(1865);
+emit_16(1801);
+emit_16(1866);
+emit_16(1802);
+emit_16(1866);
+emit_16(1801);
+emit_16(1866);
+emit_16(1802);
+emit_16(1867);
+emit_16(1803);
+emit_16(1867);
+emit_16(1802);
+emit_16(1867);
+emit_16(1803);
+emit_16(1868);
+emit_16(1804);
+emit_16(1868);
+emit_16(1803);
+emit_16(1868);
+emit_16(1804);
+emit_16(1869);
+emit_16(1805);
+emit_16(1869);
+emit_16(1804);
+emit_16(1869);
+emit_16(1805);
+emit_16(1870);
+emit_16(1806);
+emit_16(1870);
+emit_16(1805);
+emit_16(1870);
+emit_16(1806);
+emit_16(1871);
+emit_16(1807);
+emit_16(1871);
+emit_16(1806);
+emit_16(1871);
+emit_16(1807);
+emit_16(1872);
+emit_16(1808);
+emit_16(1872);
+emit_16(1807);
+emit_16(1872);
+emit_16(1808);
+emit_16(1873);
+emit_16(1809);
+emit_16(1873);
+emit_16(1808);
+emit_16(1873);
+emit_16(1809);
+emit_16(1874);
+emit_16(1810);
+emit_16(1874);
+emit_16(1809);
+emit_16(1874);
+emit_16(1810);
+emit_16(1875);
+emit_16(1811);
+emit_16(1875);
+emit_16(1810);
+emit_16(1875);
+emit_16(1811);
+emit_16(1876);
+emit_16(1812);
+emit_16(1876);
+emit_16(1811);
+emit_16(1876);
+emit_16(1812);
+emit_16(1877);
+emit_16(1813);
+emit_16(1877);
+emit_16(1812);
+emit_16(1877);
+emit_16(1813);
+emit_16(1878);
+emit_16(1814);
+emit_16(1878);
+emit_16(1813);
+emit_16(1878);
+emit_16(1814);
+emit_16(1879);
+emit_16(1815);
+emit_16(1879);
+emit_16(1814);
+emit_16(1879);
+emit_16(1815);
+emit_16(1880);
+emit_16(1816);
+emit_16(1880);
+emit_16(1815);
+emit_16(1880);
+emit_16(1816);
+emit_16(1881);
+emit_16(1817);
+emit_16(1881);
+emit_16(1816);
+emit_16(1881);
+emit_16(1817);
+emit_16(1882);
+emit_16(1818);
+emit_16(1882);
+emit_16(1817);
+emit_16(1882);
+emit_16(1818);
+emit_16(1883);
+emit_16(1819);
+emit_16(1883);
+emit_16(1818);
+emit_16(1883);
+emit_16(1819);
+emit_16(1884);
+emit_16(1820);
+emit_16(1884);
+emit_16(1819);
+emit_16(1884);
+emit_16(1820);
+emit_16(1885);
+emit_16(1821);
+emit_16(1885);
+emit_16(1820);
+emit_16(1885);
+emit_16(1821);
+emit_16(1886);
+emit_16(1822);
+emit_16(1886);
+emit_16(1821);
+emit_16(1886);
+emit_16(1822);
+emit_16(1887);
+emit_16(1823);
+emit_16(1887);
+emit_16(1822);
+emit_16(1887);
+emit_16(1823);
+emit_16(1888);
+emit_16(1824);
+emit_16(1888);
+emit_16(1823);
+emit_16(1888);
+emit_16(1824);
+emit_16(1889);
+emit_16(1825);
+emit_16(1889);
+emit_16(1824);
+emit_16(1889);
+emit_16(1825);
+emit_16(1890);
+emit_16(1826);
+emit_16(1890);
+emit_16(1825);
+emit_16(1890);
+emit_16(1826);
+emit_16(1891);
+emit_16(1827);
+emit_16(1891);
+emit_16(1826);
+emit_16(1891);
+emit_16(1827);
+emit_16(1892);
+emit_16(1828);
+emit_16(1892);
+emit_16(1827);
+emit_16(1892);
+emit_16(1828);
+emit_16(1893);
+emit_16(1829);
+emit_16(1893);
+emit_16(1828);
+emit_16(1893);
+emit_16(1829);
+emit_16(1894);
+emit_16(1830);
+emit_16(1894);
+emit_16(1829);
+emit_16(1894);
+emit_16(1830);
+emit_16(1895);
+emit_16(1831);
+emit_16(1895);
+emit_16(1830);
+emit_16(1895);
+emit_16(1831);
+emit_16(1896);
+emit_16(1832);
+emit_16(1896);
+emit_16(1831);
+emit_16(1896);
+emit_16(1832);
+emit_16(1897);
+emit_16(1833);
+emit_16(1897);
+emit_16(1832);
+emit_16(1897);
+emit_16(1833);
+emit_16(1898);
+emit_16(1834);
+emit_16(1898);
+emit_16(1833);
+emit_16(1898);
+emit_16(1834);
+emit_16(1899);
+emit_16(1835);
+emit_16(1899);
+emit_16(1834);
+emit_16(1899);
+emit_16(1835);
+emit_16(1900);
+emit_16(1836);
+emit_16(1900);
+emit_16(1835);
+emit_16(1900);
+emit_16(1836);
+emit_16(1901);
+emit_16(1837);
+emit_16(1901);
+emit_16(1836);
+emit_16(1901);
+emit_16(1837);
+emit_16(1902);
+emit_16(1838);
+emit_16(1902);
+emit_16(1837);
+emit_16(1902);
+emit_16(1838);
+emit_16(1903);
+emit_16(1839);
+emit_16(1903);
+emit_16(1838);
+emit_16(1903);
+emit_16(1839);
+emit_16(1904);
+emit_16(1840);
+emit_16(1904);
+emit_16(1839);
+emit_16(1904);
+emit_16(1840);
+emit_16(1905);
+emit_16(1841);
+emit_16(1905);
+emit_16(1840);
+emit_16(1905);
+emit_16(1841);
+emit_16(1906);
+emit_16(1842);
+emit_16(1906);
+emit_16(1841);
+emit_16(1906);
+emit_16(1842);
+emit_16(1907);
+emit_16(1843);
+emit_16(1907);
+emit_16(1842);
+emit_16(1907);
+emit_16(1843);
+emit_16(1908);
+emit_16(1844);
+emit_16(1908);
+emit_16(1843);
+emit_16(1908);
+emit_16(1844);
+emit_16(1909);
+emit_16(1845);
+emit_16(1909);
+emit_16(1844);
+emit_16(1909);
+emit_16(1845);
+emit_16(1910);
+emit_16(1846);
+emit_16(1910);
+emit_16(1845);
+emit_16(1910);
+emit_16(1846);
+emit_16(1911);
+emit_16(1847);
+emit_16(1911);
+emit_16(1846);
+emit_16(1911);
+emit_16(1847);
+emit_16(1912);
+emit_16(1848);
+emit_16(1912);
+emit_16(1847);
+emit_16(1912);
+emit_16(1848);
+emit_16(1913);
+emit_16(1849);
+emit_16(1913);
+emit_16(1848);
+emit_16(1913);
+emit_16(1849);
+emit_16(1914);
+emit_16(1850);
+emit_16(1914);
+emit_16(1849);
+emit_16(1914);
+emit_16(1850);
+emit_16(1915);
+emit_16(1851);
+emit_16(1915);
+emit_16(1850);
+emit_16(1915);
+emit_16(1851);
+emit_16(1916);
+emit_16(1852);
+emit_16(1916);
+emit_16(1851);
+emit_16(1916);
+emit_16(1852);
+emit_16(1917);
+emit_16(1853);
+emit_16(1917);
+emit_16(1852);
+emit_16(1917);
+emit_16(1853);
+emit_16(1918);
+emit_16(1854);
+emit_16(1918);
+emit_16(1853);
+emit_16(1918);
+emit_16(1854);
+emit_16(1919);
+emit_16(1855);
+emit_16(1919);
+emit_16(1854);
+emit_16(1920);
+emit_16(1856);
+emit_16(1921);
+emit_16(1857);
+emit_16(1921);
+emit_16(1856);
+emit_16(1921);
+emit_16(1857);
+emit_16(1922);
+emit_16(1858);
+emit_16(1922);
+emit_16(1857);
+emit_16(1922);
+emit_16(1858);
+emit_16(1923);
+emit_16(1859);
+emit_16(1923);
+emit_16(1858);
+emit_16(1923);
+emit_16(1859);
+emit_16(1924);
+emit_16(1860);
+emit_16(1924);
+emit_16(1859);
+emit_16(1924);
+emit_16(1860);
+emit_16(1925);
+emit_16(1861);
+emit_16(1925);
+emit_16(1860);
+emit_16(1925);
+emit_16(1861);
+emit_16(1926);
+emit_16(1862);
+emit_16(1926);
+emit_16(1861);
+emit_16(1926);
+emit_16(1862);
+emit_16(1927);
+emit_16(1863);
+emit_16(1927);
+emit_16(1862);
+emit_16(1927);
+emit_16(1863);
+emit_16(1928);
+emit_16(1864);
+emit_16(1928);
+emit_16(1863);
+emit_16(1928);
+emit_16(1864);
+emit_16(1929);
+emit_16(1865);
+emit_16(1929);
+emit_16(1864);
+emit_16(1929);
+emit_16(1865);
+emit_16(1930);
+emit_16(1866);
+emit_16(1930);
+emit_16(1865);
+emit_16(1930);
+emit_16(1866);
+emit_16(1931);
+emit_16(1867);
+emit_16(1931);
+emit_16(1866);
+emit_16(1931);
+emit_16(1867);
+emit_16(1932);
+emit_16(1868);
+emit_16(1932);
+emit_16(1867);
+emit_16(1932);
+emit_16(1868);
+emit_16(1933);
+emit_16(1869);
+emit_16(1933);
+emit_16(1868);
+emit_16(1933);
+emit_16(1869);
+emit_16(1934);
+emit_16(1870);
+emit_16(1934);
+emit_16(1869);
+emit_16(1934);
+emit_16(1870);
+emit_16(1935);
+emit_16(1871);
+emit_16(1935);
+emit_16(1870);
+emit_16(1935);
+emit_16(1871);
+emit_16(1936);
+emit_16(1872);
+emit_16(1936);
+emit_16(1871);
+emit_16(1936);
+emit_16(1872);
+emit_16(1937);
+emit_16(1873);
+emit_16(1937);
+emit_16(1872);
+emit_16(1937);
+emit_16(1873);
+emit_16(1938);
+emit_16(1874);
+emit_16(1938);
+emit_16(1873);
+emit_16(1938);
+emit_16(1874);
+emit_16(1939);
+emit_16(1875);
+emit_16(1939);
+emit_16(1874);
+emit_16(1939);
+emit_16(1875);
+emit_16(1940);
+emit_16(1876);
+emit_16(1940);
+emit_16(1875);
+emit_16(1940);
+emit_16(1876);
+emit_16(1941);
+emit_16(1877);
+emit_16(1941);
+emit_16(1876);
+emit_16(1941);
+emit_16(1877);
+emit_16(1942);
+emit_16(1878);
+emit_16(1942);
+emit_16(1877);
+emit_16(1942);
+emit_16(1878);
+emit_16(1943);
+emit_16(1879);
+emit_16(1943);
+emit_16(1878);
+emit_16(1943);
+emit_16(1879);
+emit_16(1944);
+emit_16(1880);
+emit_16(1944);
+emit_16(1879);
+emit_16(1944);
+emit_16(1880);
+emit_16(1945);
+emit_16(1881);
+emit_16(1945);
+emit_16(1880);
+emit_16(1945);
+emit_16(1881);
+emit_16(1946);
+emit_16(1882);
+emit_16(1946);
+emit_16(1881);
+emit_16(1946);
+emit_16(1882);
+emit_16(1947);
+emit_16(1883);
+emit_16(1947);
+emit_16(1882);
+emit_16(1947);
+emit_16(1883);
+emit_16(1948);
+emit_16(1884);
+emit_16(1948);
+emit_16(1883);
+emit_16(1948);
+emit_16(1884);
+emit_16(1949);
+emit_16(1885);
+emit_16(1949);
+emit_16(1884);
+emit_16(1949);
+emit_16(1885);
+emit_16(1950);
+emit_16(1886);
+emit_16(1950);
+emit_16(1885);
+emit_16(1950);
+emit_16(1886);
+emit_16(1951);
+emit_16(1887);
+emit_16(1951);
+emit_16(1886);
+emit_16(1951);
+emit_16(1887);
+emit_16(1952);
+emit_16(1888);
+emit_16(1952);
+emit_16(1887);
+emit_16(1952);
+emit_16(1888);
+emit_16(1953);
+emit_16(1889);
+emit_16(1953);
+emit_16(1888);
+emit_16(1953);
+emit_16(1889);
+emit_16(1954);
+emit_16(1890);
+emit_16(1954);
+emit_16(1889);
+emit_16(1954);
+emit_16(1890);
+emit_16(1955);
+emit_16(1891);
+emit_16(1955);
+emit_16(1890);
+emit_16(1955);
+emit_16(1891);
+emit_16(1956);
+emit_16(1892);
+emit_16(1956);
+emit_16(1891);
+emit_16(1956);
+emit_16(1892);
+emit_16(1957);
+emit_16(1893);
+emit_16(1957);
+emit_16(1892);
+emit_16(1957);
+emit_16(1893);
+emit_16(1958);
+emit_16(1894);
+emit_16(1958);
+emit_16(1893);
+emit_16(1958);
+emit_16(1894);
+emit_16(1959);
+emit_16(1895);
+emit_16(1959);
+emit_16(1894);
+emit_16(1959);
+emit_16(1895);
+emit_16(1960);
+emit_16(1896);
+emit_16(1960);
+emit_16(1895);
+emit_16(1960);
+emit_16(1896);
+emit_16(1961);
+emit_16(1897);
+emit_16(1961);
+emit_16(1896);
+emit_16(1961);
+emit_16(1897);
+emit_16(1962);
+emit_16(1898);
+emit_16(1962);
+emit_16(1897);
+emit_16(1962);
+emit_16(1898);
+emit_16(1963);
+emit_16(1899);
+emit_16(1963);
+emit_16(1898);
+emit_16(1963);
+emit_16(1899);
+emit_16(1964);
+emit_16(1900);
+emit_16(1964);
+emit_16(1899);
+emit_16(1964);
+emit_16(1900);
+emit_16(1965);
+emit_16(1901);
+emit_16(1965);
+emit_16(1900);
+emit_16(1965);
+emit_16(1901);
+emit_16(1966);
+emit_16(1902);
+emit_16(1966);
+emit_16(1901);
+emit_16(1966);
+emit_16(1902);
+emit_16(1967);
+emit_16(1903);
+emit_16(1967);
+emit_16(1902);
+emit_16(1967);
+emit_16(1903);
+emit_16(1968);
+emit_16(1904);
+emit_16(1968);
+emit_16(1903);
+emit_16(1968);
+emit_16(1904);
+emit_16(1969);
+emit_16(1905);
+emit_16(1969);
+emit_16(1904);
+emit_16(1969);
+emit_16(1905);
+emit_16(1970);
+emit_16(1906);
+emit_16(1970);
+emit_16(1905);
+emit_16(1970);
+emit_16(1906);
+emit_16(1971);
+emit_16(1907);
+emit_16(1971);
+emit_16(1906);
+emit_16(1971);
+emit_16(1907);
+emit_16(1972);
+emit_16(1908);
+emit_16(1972);
+emit_16(1907);
+emit_16(1972);
+emit_16(1908);
+emit_16(1973);
+emit_16(1909);
+emit_16(1973);
+emit_16(1908);
+emit_16(1973);
+emit_16(1909);
+emit_16(1974);
+emit_16(1910);
+emit_16(1974);
+emit_16(1909);
+emit_16(1974);
+emit_16(1910);
+emit_16(1975);
+emit_16(1911);
+emit_16(1975);
+emit_16(1910);
+emit_16(1975);
+emit_16(1911);
+emit_16(1976);
+emit_16(1912);
+emit_16(1976);
+emit_16(1911);
+emit_16(1976);
+emit_16(1912);
+emit_16(1977);
+emit_16(1913);
+emit_16(1977);
+emit_16(1912);
+emit_16(1977);
+emit_16(1913);
+emit_16(1978);
+emit_16(1914);
+emit_16(1978);
+emit_16(1913);
+emit_16(1978);
+emit_16(1914);
+emit_16(1979);
+emit_16(1915);
+emit_16(1979);
+emit_16(1914);
+emit_16(1979);
+emit_16(1915);
+emit_16(1980);
+emit_16(1916);
+emit_16(1980);
+emit_16(1915);
+emit_16(1980);
+emit_16(1916);
+emit_16(1981);
+emit_16(1917);
+emit_16(1981);
+emit_16(1916);
+emit_16(1981);
+emit_16(1917);
+emit_16(1982);
+emit_16(1918);
+emit_16(1982);
+emit_16(1917);
+emit_16(1982);
+emit_16(1918);
+emit_16(1983);
+emit_16(1919);
+emit_16(1983);
+emit_16(1918);
+emit_16(1984);
+emit_16(1920);
+emit_16(1985);
+emit_16(1921);
+emit_16(1985);
+emit_16(1920);
+emit_16(1985);
+emit_16(1921);
+emit_16(1986);
+emit_16(1922);
+emit_16(1986);
+emit_16(1921);
+emit_16(1986);
+emit_16(1922);
+emit_16(1987);
+emit_16(1923);
+emit_16(1987);
+emit_16(1922);
+emit_16(1987);
+emit_16(1923);
+emit_16(1988);
+emit_16(1924);
+emit_16(1988);
+emit_16(1923);
+emit_16(1988);
+emit_16(1924);
+emit_16(1989);
+emit_16(1925);
+emit_16(1989);
+emit_16(1924);
+emit_16(1989);
+emit_16(1925);
+emit_16(1990);
+emit_16(1926);
+emit_16(1990);
+emit_16(1925);
+emit_16(1990);
+emit_16(1926);
+emit_16(1991);
+emit_16(1927);
+emit_16(1991);
+emit_16(1926);
+emit_16(1991);
+emit_16(1927);
+emit_16(1992);
+emit_16(1928);
+emit_16(1992);
+emit_16(1927);
+emit_16(1992);
+emit_16(1928);
+emit_16(1993);
+emit_16(1929);
+emit_16(1993);
+emit_16(1928);
+emit_16(1993);
+emit_16(1929);
+emit_16(1994);
+emit_16(1930);
+emit_16(1994);
+emit_16(1929);
+emit_16(1994);
+emit_16(1930);
+emit_16(1995);
+emit_16(1931);
+emit_16(1995);
+emit_16(1930);
+emit_16(1995);
+emit_16(1931);
+emit_16(1996);
+emit_16(1932);
+emit_16(1996);
+emit_16(1931);
+emit_16(1996);
+emit_16(1932);
+emit_16(1997);
+emit_16(1933);
+emit_16(1997);
+emit_16(1932);
+emit_16(1997);
+emit_16(1933);
+emit_16(1998);
+emit_16(1934);
+emit_16(1998);
+emit_16(1933);
+emit_16(1998);
+emit_16(1934);
+emit_16(1999);
+emit_16(1935);
+emit_16(1999);
+emit_16(1934);
+emit_16(1999);
+emit_16(1935);
+emit_16(2000);
+emit_16(1936);
+emit_16(2000);
+emit_16(1935);
+emit_16(2000);
+emit_16(1936);
+emit_16(2001);
+emit_16(1937);
+emit_16(2001);
+emit_16(1936);
+emit_16(2001);
+emit_16(1937);
+emit_16(2002);
+emit_16(1938);
+emit_16(2002);
+emit_16(1937);
+emit_16(2002);
+emit_16(1938);
+emit_16(2003);
+emit_16(1939);
+emit_16(2003);
+emit_16(1938);
+emit_16(2003);
+emit_16(1939);
+emit_16(2004);
+emit_16(1940);
+emit_16(2004);
+emit_16(1939);
+emit_16(2004);
+emit_16(1940);
+emit_16(2005);
+emit_16(1941);
+emit_16(2005);
+emit_16(1940);
+emit_16(2005);
+emit_16(1941);
+emit_16(2006);
+emit_16(1942);
+emit_16(2006);
+emit_16(1941);
+emit_16(2006);
+emit_16(1942);
+emit_16(2007);
+emit_16(1943);
+emit_16(2007);
+emit_16(1942);
+emit_16(2007);
+emit_16(1943);
+emit_16(2008);
+emit_16(1944);
+emit_16(2008);
+emit_16(1943);
+emit_16(2008);
+emit_16(1944);
+emit_16(2009);
+emit_16(1945);
+emit_16(2009);
+emit_16(1944);
+emit_16(2009);
+emit_16(1945);
+emit_16(2010);
+emit_16(1946);
+emit_16(2010);
+emit_16(1945);
+emit_16(2010);
+emit_16(1946);
+emit_16(2011);
+emit_16(1947);
+emit_16(2011);
+emit_16(1946);
+emit_16(2011);
+emit_16(1947);
+emit_16(2012);
+emit_16(1948);
+emit_16(2012);
+emit_16(1947);
+emit_16(2012);
+emit_16(1948);
+emit_16(2013);
+emit_16(1949);
+emit_16(2013);
+emit_16(1948);
+emit_16(2013);
+emit_16(1949);
+emit_16(2014);
+emit_16(1950);
+emit_16(2014);
+emit_16(1949);
+emit_16(2014);
+emit_16(1950);
+emit_16(2015);
+emit_16(1951);
+emit_16(2015);
+emit_16(1950);
+emit_16(2015);
+emit_16(1951);
+emit_16(2016);
+emit_16(1952);
+emit_16(2016);
+emit_16(1951);
+emit_16(2016);
+emit_16(1952);
+emit_16(2017);
+emit_16(1953);
+emit_16(2017);
+emit_16(1952);
+emit_16(2017);
+emit_16(1953);
+emit_16(2018);
+emit_16(1954);
+emit_16(2018);
+emit_16(1953);
+emit_16(2018);
+emit_16(1954);
+emit_16(2019);
+emit_16(1955);
+emit_16(2019);
+emit_16(1954);
+emit_16(2019);
+emit_16(1955);
+emit_16(2020);
+emit_16(1956);
+emit_16(2020);
+emit_16(1955);
+emit_16(2020);
+emit_16(1956);
+emit_16(2021);
+emit_16(1957);
+emit_16(2021);
+emit_16(1956);
+emit_16(2021);
+emit_16(1957);
+emit_16(2022);
+emit_16(1958);
+emit_16(2022);
+emit_16(1957);
+emit_16(2022);
+emit_16(1958);
+emit_16(2023);
+emit_16(1959);
+emit_16(2023);
+emit_16(1958);
+emit_16(2023);
+emit_16(1959);
+emit_16(2024);
+emit_16(1960);
+emit_16(2024);
+emit_16(1959);
+emit_16(2024);
+emit_16(1960);
+emit_16(2025);
+emit_16(1961);
+emit_16(2025);
+emit_16(1960);
+emit_16(2025);
+emit_16(1961);
+emit_16(2026);
+emit_16(1962);
+emit_16(2026);
+emit_16(1961);
+emit_16(2026);
+emit_16(1962);
+emit_16(2027);
+emit_16(1963);
+emit_16(2027);
+emit_16(1962);
+emit_16(2027);
+emit_16(1963);
+emit_16(2028);
+emit_16(1964);
+emit_16(2028);
+emit_16(1963);
+emit_16(2028);
+emit_16(1964);
+emit_16(2029);
+emit_16(1965);
+emit_16(2029);
+emit_16(1964);
+emit_16(2029);
+emit_16(1965);
+emit_16(2030);
+emit_16(1966);
+emit_16(2030);
+emit_16(1965);
+emit_16(2030);
+emit_16(1966);
+emit_16(2031);
+emit_16(1967);
+emit_16(2031);
+emit_16(1966);
+emit_16(2031);
+emit_16(1967);
+emit_16(2032);
+emit_16(1968);
+emit_16(2032);
+emit_16(1967);
+emit_16(2032);
+emit_16(1968);
+emit_16(2033);
+emit_16(1969);
+emit_16(2033);
+emit_16(1968);
+emit_16(2033);
+emit_16(1969);
+emit_16(2034);
+emit_16(1970);
+emit_16(2034);
+emit_16(1969);
+emit_16(2034);
+emit_16(1970);
+emit_16(2035);
+emit_16(1971);
+emit_16(2035);
+emit_16(1970);
+emit_16(2035);
+emit_16(1971);
+emit_16(2036);
+emit_16(1972);
+emit_16(2036);
+emit_16(1971);
+emit_16(2036);
+emit_16(1972);
+emit_16(2037);
+emit_16(1973);
+emit_16(2037);
+emit_16(1972);
+emit_16(2037);
+emit_16(1973);
+emit_16(2038);
+emit_16(1974);
+emit_16(2038);
+emit_16(1973);
+emit_16(2038);
+emit_16(1974);
+emit_16(2039);
+emit_16(1975);
+emit_16(2039);
+emit_16(1974);
+emit_16(2039);
+emit_16(1975);
+emit_16(2040);
+emit_16(1976);
+emit_16(2040);
+emit_16(1975);
+emit_16(2040);
+emit_16(1976);
+emit_16(2041);
+emit_16(1977);
+emit_16(2041);
+emit_16(1976);
+emit_16(2041);
+emit_16(1977);
+emit_16(2042);
+emit_16(1978);
+emit_16(2042);
+emit_16(1977);
+emit_16(2042);
+emit_16(1978);
+emit_16(2043);
+emit_16(1979);
+emit_16(2043);
+emit_16(1978);
+emit_16(2043);
+emit_16(1979);
+emit_16(2044);
+emit_16(1980);
+emit_16(2044);
+emit_16(1979);
+emit_16(2044);
+emit_16(1980);
+emit_16(2045);
+emit_16(1981);
+emit_16(2045);
+emit_16(1980);
+emit_16(2045);
+emit_16(1981);
+emit_16(2046);
+emit_16(1982);
+emit_16(2046);
+emit_16(1981);
+emit_16(2046);
+emit_16(1982);
+emit_16(2047);
+emit_16(1983);
+emit_16(2047);
+emit_16(1982);
+emit_start(Landscape04Idx)
+emit_16(0);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(2);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(4);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(6);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(8);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(10);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(12);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(14);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(16);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(18);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(20);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(22);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(24);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(26);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(28);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(30);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(32);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(34);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(36);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(38);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(40);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(42);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(44);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(46);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(48);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(50);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(52);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(54);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(56);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(58);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(60);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(62);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(64);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(66);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(68);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(70);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(72);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(74);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(76);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(78);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(80);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(82);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(84);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(86);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(88);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(90);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(92);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(94);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(96);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(98);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(100);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(102);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(104);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(106);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(108);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(110);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(112);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(114);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(116);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(118);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(120);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(122);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(124);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(126);
+emit_16(125);
+emit_16(128);
+emit_16(0);
+emit_16(129);
+emit_16(2);
+emit_16(129);
+emit_16(0);
+emit_16(129);
+emit_16(2);
+emit_16(130);
+emit_16(4);
+emit_16(130);
+emit_16(2);
+emit_16(130);
+emit_16(4);
+emit_16(131);
+emit_16(6);
+emit_16(131);
+emit_16(4);
+emit_16(131);
+emit_16(6);
+emit_16(132);
+emit_16(8);
+emit_16(132);
+emit_16(6);
+emit_16(132);
+emit_16(8);
+emit_16(133);
+emit_16(10);
+emit_16(133);
+emit_16(8);
+emit_16(133);
+emit_16(10);
+emit_16(134);
+emit_16(12);
+emit_16(134);
+emit_16(10);
+emit_16(134);
+emit_16(12);
+emit_16(135);
+emit_16(14);
+emit_16(135);
+emit_16(12);
+emit_16(135);
+emit_16(14);
+emit_16(136);
+emit_16(16);
+emit_16(136);
+emit_16(14);
+emit_16(136);
+emit_16(16);
+emit_16(137);
+emit_16(18);
+emit_16(137);
+emit_16(16);
+emit_16(137);
+emit_16(18);
+emit_16(138);
+emit_16(20);
+emit_16(138);
+emit_16(18);
+emit_16(138);
+emit_16(20);
+emit_16(139);
+emit_16(22);
+emit_16(139);
+emit_16(20);
+emit_16(139);
+emit_16(22);
+emit_16(140);
+emit_16(24);
+emit_16(140);
+emit_16(22);
+emit_16(140);
+emit_16(24);
+emit_16(141);
+emit_16(26);
+emit_16(141);
+emit_16(24);
+emit_16(141);
+emit_16(26);
+emit_16(142);
+emit_16(28);
+emit_16(142);
+emit_16(26);
+emit_16(142);
+emit_16(28);
+emit_16(143);
+emit_16(30);
+emit_16(143);
+emit_16(28);
+emit_16(143);
+emit_16(30);
+emit_16(144);
+emit_16(32);
+emit_16(144);
+emit_16(30);
+emit_16(144);
+emit_16(32);
+emit_16(145);
+emit_16(34);
+emit_16(145);
+emit_16(32);
+emit_16(145);
+emit_16(34);
+emit_16(146);
+emit_16(36);
+emit_16(146);
+emit_16(34);
+emit_16(146);
+emit_16(36);
+emit_16(147);
+emit_16(38);
+emit_16(147);
+emit_16(36);
+emit_16(147);
+emit_16(38);
+emit_16(148);
+emit_16(40);
+emit_16(148);
+emit_16(38);
+emit_16(148);
+emit_16(40);
+emit_16(149);
+emit_16(42);
+emit_16(149);
+emit_16(40);
+emit_16(149);
+emit_16(42);
+emit_16(150);
+emit_16(44);
+emit_16(150);
+emit_16(42);
+emit_16(150);
+emit_16(44);
+emit_16(151);
+emit_16(46);
+emit_16(151);
+emit_16(44);
+emit_16(151);
+emit_16(46);
+emit_16(152);
+emit_16(48);
+emit_16(152);
+emit_16(46);
+emit_16(152);
+emit_16(48);
+emit_16(153);
+emit_16(50);
+emit_16(153);
+emit_16(48);
+emit_16(153);
+emit_16(50);
+emit_16(154);
+emit_16(52);
+emit_16(154);
+emit_16(50);
+emit_16(154);
+emit_16(52);
+emit_16(155);
+emit_16(54);
+emit_16(155);
+emit_16(52);
+emit_16(155);
+emit_16(54);
+emit_16(156);
+emit_16(56);
+emit_16(156);
+emit_16(54);
+emit_16(156);
+emit_16(56);
+emit_16(157);
+emit_16(58);
+emit_16(157);
+emit_16(56);
+emit_16(157);
+emit_16(58);
+emit_16(158);
+emit_16(60);
+emit_16(158);
+emit_16(58);
+emit_16(158);
+emit_16(60);
+emit_16(159);
+emit_16(62);
+emit_16(159);
+emit_16(60);
+emit_16(159);
+emit_16(62);
+emit_16(160);
+emit_16(64);
+emit_16(160);
+emit_16(62);
+emit_16(160);
+emit_16(64);
+emit_16(161);
+emit_16(66);
+emit_16(161);
+emit_16(64);
+emit_16(161);
+emit_16(66);
+emit_16(162);
+emit_16(68);
+emit_16(162);
+emit_16(66);
+emit_16(162);
+emit_16(68);
+emit_16(163);
+emit_16(70);
+emit_16(163);
+emit_16(68);
+emit_16(163);
+emit_16(70);
+emit_16(164);
+emit_16(72);
+emit_16(164);
+emit_16(70);
+emit_16(164);
+emit_16(72);
+emit_16(165);
+emit_16(74);
+emit_16(165);
+emit_16(72);
+emit_16(165);
+emit_16(74);
+emit_16(166);
+emit_16(76);
+emit_16(166);
+emit_16(74);
+emit_16(166);
+emit_16(76);
+emit_16(167);
+emit_16(78);
+emit_16(167);
+emit_16(76);
+emit_16(167);
+emit_16(78);
+emit_16(168);
+emit_16(80);
+emit_16(168);
+emit_16(78);
+emit_16(168);
+emit_16(80);
+emit_16(169);
+emit_16(82);
+emit_16(169);
+emit_16(80);
+emit_16(169);
+emit_16(82);
+emit_16(170);
+emit_16(84);
+emit_16(170);
+emit_16(82);
+emit_16(170);
+emit_16(84);
+emit_16(171);
+emit_16(86);
+emit_16(171);
+emit_16(84);
+emit_16(171);
+emit_16(86);
+emit_16(172);
+emit_16(88);
+emit_16(172);
+emit_16(86);
+emit_16(172);
+emit_16(88);
+emit_16(173);
+emit_16(90);
+emit_16(173);
+emit_16(88);
+emit_16(173);
+emit_16(90);
+emit_16(174);
+emit_16(92);
+emit_16(174);
+emit_16(90);
+emit_16(174);
+emit_16(92);
+emit_16(175);
+emit_16(94);
+emit_16(175);
+emit_16(92);
+emit_16(175);
+emit_16(94);
+emit_16(176);
+emit_16(96);
+emit_16(176);
+emit_16(94);
+emit_16(176);
+emit_16(96);
+emit_16(177);
+emit_16(98);
+emit_16(177);
+emit_16(96);
+emit_16(177);
+emit_16(98);
+emit_16(178);
+emit_16(100);
+emit_16(178);
+emit_16(98);
+emit_16(178);
+emit_16(100);
+emit_16(179);
+emit_16(102);
+emit_16(179);
+emit_16(100);
+emit_16(179);
+emit_16(102);
+emit_16(180);
+emit_16(104);
+emit_16(180);
+emit_16(102);
+emit_16(180);
+emit_16(104);
+emit_16(181);
+emit_16(106);
+emit_16(181);
+emit_16(104);
+emit_16(181);
+emit_16(106);
+emit_16(182);
+emit_16(108);
+emit_16(182);
+emit_16(106);
+emit_16(182);
+emit_16(108);
+emit_16(183);
+emit_16(110);
+emit_16(183);
+emit_16(108);
+emit_16(183);
+emit_16(110);
+emit_16(184);
+emit_16(112);
+emit_16(184);
+emit_16(110);
+emit_16(184);
+emit_16(112);
+emit_16(185);
+emit_16(114);
+emit_16(185);
+emit_16(112);
+emit_16(185);
+emit_16(114);
+emit_16(186);
+emit_16(116);
+emit_16(186);
+emit_16(114);
+emit_16(186);
+emit_16(116);
+emit_16(187);
+emit_16(118);
+emit_16(187);
+emit_16(116);
+emit_16(187);
+emit_16(118);
+emit_16(188);
+emit_16(120);
+emit_16(188);
+emit_16(118);
+emit_16(188);
+emit_16(120);
+emit_16(189);
+emit_16(122);
+emit_16(189);
+emit_16(120);
+emit_16(189);
+emit_16(122);
+emit_16(190);
+emit_16(124);
+emit_16(190);
+emit_16(122);
+emit_16(190);
+emit_16(124);
+emit_16(191);
+emit_16(126);
+emit_16(191);
+emit_16(124);
+emit_16(192);
+emit_16(128);
+emit_16(193);
+emit_16(129);
+emit_16(193);
+emit_16(128);
+emit_16(193);
+emit_16(129);
+emit_16(194);
+emit_16(130);
+emit_16(194);
+emit_16(129);
+emit_16(194);
+emit_16(130);
+emit_16(195);
+emit_16(131);
+emit_16(195);
+emit_16(130);
+emit_16(195);
+emit_16(131);
+emit_16(196);
+emit_16(132);
+emit_16(196);
+emit_16(131);
+emit_16(196);
+emit_16(132);
+emit_16(197);
+emit_16(133);
+emit_16(197);
+emit_16(132);
+emit_16(197);
+emit_16(133);
+emit_16(198);
+emit_16(134);
+emit_16(198);
+emit_16(133);
+emit_16(198);
+emit_16(134);
+emit_16(199);
+emit_16(135);
+emit_16(199);
+emit_16(134);
+emit_16(199);
+emit_16(135);
+emit_16(200);
+emit_16(136);
+emit_16(200);
+emit_16(135);
+emit_16(200);
+emit_16(136);
+emit_16(201);
+emit_16(137);
+emit_16(201);
+emit_16(136);
+emit_16(201);
+emit_16(137);
+emit_16(202);
+emit_16(138);
+emit_16(202);
+emit_16(137);
+emit_16(202);
+emit_16(138);
+emit_16(203);
+emit_16(139);
+emit_16(203);
+emit_16(138);
+emit_16(203);
+emit_16(139);
+emit_16(204);
+emit_16(140);
+emit_16(204);
+emit_16(139);
+emit_16(204);
+emit_16(140);
+emit_16(205);
+emit_16(141);
+emit_16(205);
+emit_16(140);
+emit_16(205);
+emit_16(141);
+emit_16(206);
+emit_16(142);
+emit_16(206);
+emit_16(141);
+emit_16(206);
+emit_16(142);
+emit_16(207);
+emit_16(143);
+emit_16(207);
+emit_16(142);
+emit_16(207);
+emit_16(143);
+emit_16(208);
+emit_16(144);
+emit_16(208);
+emit_16(143);
+emit_16(208);
+emit_16(144);
+emit_16(209);
+emit_16(145);
+emit_16(209);
+emit_16(144);
+emit_16(209);
+emit_16(145);
+emit_16(210);
+emit_16(146);
+emit_16(210);
+emit_16(145);
+emit_16(210);
+emit_16(146);
+emit_16(211);
+emit_16(147);
+emit_16(211);
+emit_16(146);
+emit_16(211);
+emit_16(147);
+emit_16(212);
+emit_16(148);
+emit_16(212);
+emit_16(147);
+emit_16(212);
+emit_16(148);
+emit_16(213);
+emit_16(149);
+emit_16(213);
+emit_16(148);
+emit_16(213);
+emit_16(149);
+emit_16(214);
+emit_16(150);
+emit_16(214);
+emit_16(149);
+emit_16(214);
+emit_16(150);
+emit_16(215);
+emit_16(151);
+emit_16(215);
+emit_16(150);
+emit_16(215);
+emit_16(151);
+emit_16(216);
+emit_16(152);
+emit_16(216);
+emit_16(151);
+emit_16(216);
+emit_16(152);
+emit_16(217);
+emit_16(153);
+emit_16(217);
+emit_16(152);
+emit_16(217);
+emit_16(153);
+emit_16(218);
+emit_16(154);
+emit_16(218);
+emit_16(153);
+emit_16(218);
+emit_16(154);
+emit_16(219);
+emit_16(155);
+emit_16(219);
+emit_16(154);
+emit_16(219);
+emit_16(155);
+emit_16(220);
+emit_16(156);
+emit_16(220);
+emit_16(155);
+emit_16(220);
+emit_16(156);
+emit_16(221);
+emit_16(157);
+emit_16(221);
+emit_16(156);
+emit_16(221);
+emit_16(157);
+emit_16(222);
+emit_16(158);
+emit_16(222);
+emit_16(157);
+emit_16(222);
+emit_16(158);
+emit_16(223);
+emit_16(159);
+emit_16(223);
+emit_16(158);
+emit_16(223);
+emit_16(159);
+emit_16(224);
+emit_16(160);
+emit_16(224);
+emit_16(159);
+emit_16(224);
+emit_16(160);
+emit_16(225);
+emit_16(161);
+emit_16(225);
+emit_16(160);
+emit_16(225);
+emit_16(161);
+emit_16(226);
+emit_16(162);
+emit_16(226);
+emit_16(161);
+emit_16(226);
+emit_16(162);
+emit_16(227);
+emit_16(163);
+emit_16(227);
+emit_16(162);
+emit_16(227);
+emit_16(163);
+emit_16(228);
+emit_16(164);
+emit_16(228);
+emit_16(163);
+emit_16(228);
+emit_16(164);
+emit_16(229);
+emit_16(165);
+emit_16(229);
+emit_16(164);
+emit_16(229);
+emit_16(165);
+emit_16(230);
+emit_16(166);
+emit_16(230);
+emit_16(165);
+emit_16(230);
+emit_16(166);
+emit_16(231);
+emit_16(167);
+emit_16(231);
+emit_16(166);
+emit_16(231);
+emit_16(167);
+emit_16(232);
+emit_16(168);
+emit_16(232);
+emit_16(167);
+emit_16(232);
+emit_16(168);
+emit_16(233);
+emit_16(169);
+emit_16(233);
+emit_16(168);
+emit_16(233);
+emit_16(169);
+emit_16(234);
+emit_16(170);
+emit_16(234);
+emit_16(169);
+emit_16(234);
+emit_16(170);
+emit_16(235);
+emit_16(171);
+emit_16(235);
+emit_16(170);
+emit_16(235);
+emit_16(171);
+emit_16(236);
+emit_16(172);
+emit_16(236);
+emit_16(171);
+emit_16(236);
+emit_16(172);
+emit_16(237);
+emit_16(173);
+emit_16(237);
+emit_16(172);
+emit_16(237);
+emit_16(173);
+emit_16(238);
+emit_16(174);
+emit_16(238);
+emit_16(173);
+emit_16(238);
+emit_16(174);
+emit_16(239);
+emit_16(175);
+emit_16(239);
+emit_16(174);
+emit_16(239);
+emit_16(175);
+emit_16(240);
+emit_16(176);
+emit_16(240);
+emit_16(175);
+emit_16(240);
+emit_16(176);
+emit_16(241);
+emit_16(177);
+emit_16(241);
+emit_16(176);
+emit_16(241);
+emit_16(177);
+emit_16(242);
+emit_16(178);
+emit_16(242);
+emit_16(177);
+emit_16(242);
+emit_16(178);
+emit_16(243);
+emit_16(179);
+emit_16(243);
+emit_16(178);
+emit_16(243);
+emit_16(179);
+emit_16(244);
+emit_16(180);
+emit_16(244);
+emit_16(179);
+emit_16(244);
+emit_16(180);
+emit_16(245);
+emit_16(181);
+emit_16(245);
+emit_16(180);
+emit_16(245);
+emit_16(181);
+emit_16(246);
+emit_16(182);
+emit_16(246);
+emit_16(181);
+emit_16(246);
+emit_16(182);
+emit_16(247);
+emit_16(183);
+emit_16(247);
+emit_16(182);
+emit_16(247);
+emit_16(183);
+emit_16(248);
+emit_16(184);
+emit_16(248);
+emit_16(183);
+emit_16(248);
+emit_16(184);
+emit_16(249);
+emit_16(185);
+emit_16(249);
+emit_16(184);
+emit_16(249);
+emit_16(185);
+emit_16(250);
+emit_16(186);
+emit_16(250);
+emit_16(185);
+emit_16(250);
+emit_16(186);
+emit_16(251);
+emit_16(187);
+emit_16(251);
+emit_16(186);
+emit_16(251);
+emit_16(187);
+emit_16(252);
+emit_16(188);
+emit_16(252);
+emit_16(187);
+emit_16(252);
+emit_16(188);
+emit_16(253);
+emit_16(189);
+emit_16(253);
+emit_16(188);
+emit_16(253);
+emit_16(189);
+emit_16(254);
+emit_16(190);
+emit_16(254);
+emit_16(189);
+emit_16(254);
+emit_16(190);
+emit_16(255);
+emit_16(191);
+emit_16(255);
+emit_16(190);
+emit_16(256);
+emit_16(192);
+emit_16(257);
+emit_16(193);
+emit_16(257);
+emit_16(192);
+emit_16(257);
+emit_16(193);
+emit_16(258);
+emit_16(194);
+emit_16(258);
+emit_16(193);
+emit_16(258);
+emit_16(194);
+emit_16(259);
+emit_16(195);
+emit_16(259);
+emit_16(194);
+emit_16(259);
+emit_16(195);
+emit_16(260);
+emit_16(196);
+emit_16(260);
+emit_16(195);
+emit_16(260);
+emit_16(196);
+emit_16(261);
+emit_16(197);
+emit_16(261);
+emit_16(196);
+emit_16(261);
+emit_16(197);
+emit_16(262);
+emit_16(198);
+emit_16(262);
+emit_16(197);
+emit_16(262);
+emit_16(198);
+emit_16(263);
+emit_16(199);
+emit_16(263);
+emit_16(198);
+emit_16(263);
+emit_16(199);
+emit_16(264);
+emit_16(200);
+emit_16(264);
+emit_16(199);
+emit_16(264);
+emit_16(200);
+emit_16(265);
+emit_16(201);
+emit_16(265);
+emit_16(200);
+emit_16(265);
+emit_16(201);
+emit_16(266);
+emit_16(202);
+emit_16(266);
+emit_16(201);
+emit_16(266);
+emit_16(202);
+emit_16(267);
+emit_16(203);
+emit_16(267);
+emit_16(202);
+emit_16(267);
+emit_16(203);
+emit_16(268);
+emit_16(204);
+emit_16(268);
+emit_16(203);
+emit_16(268);
+emit_16(204);
+emit_16(269);
+emit_16(205);
+emit_16(269);
+emit_16(204);
+emit_16(269);
+emit_16(205);
+emit_16(270);
+emit_16(206);
+emit_16(270);
+emit_16(205);
+emit_16(270);
+emit_16(206);
+emit_16(271);
+emit_16(207);
+emit_16(271);
+emit_16(206);
+emit_16(271);
+emit_16(207);
+emit_16(272);
+emit_16(208);
+emit_16(272);
+emit_16(207);
+emit_16(272);
+emit_16(208);
+emit_16(273);
+emit_16(209);
+emit_16(273);
+emit_16(208);
+emit_16(273);
+emit_16(209);
+emit_16(274);
+emit_16(210);
+emit_16(274);
+emit_16(209);
+emit_16(274);
+emit_16(210);
+emit_16(275);
+emit_16(211);
+emit_16(275);
+emit_16(210);
+emit_16(275);
+emit_16(211);
+emit_16(276);
+emit_16(212);
+emit_16(276);
+emit_16(211);
+emit_16(276);
+emit_16(212);
+emit_16(277);
+emit_16(213);
+emit_16(277);
+emit_16(212);
+emit_16(277);
+emit_16(213);
+emit_16(278);
+emit_16(214);
+emit_16(278);
+emit_16(213);
+emit_16(278);
+emit_16(214);
+emit_16(279);
+emit_16(215);
+emit_16(279);
+emit_16(214);
+emit_16(279);
+emit_16(215);
+emit_16(280);
+emit_16(216);
+emit_16(280);
+emit_16(215);
+emit_16(280);
+emit_16(216);
+emit_16(281);
+emit_16(217);
+emit_16(281);
+emit_16(216);
+emit_16(281);
+emit_16(217);
+emit_16(282);
+emit_16(218);
+emit_16(282);
+emit_16(217);
+emit_16(282);
+emit_16(218);
+emit_16(283);
+emit_16(219);
+emit_16(283);
+emit_16(218);
+emit_16(283);
+emit_16(219);
+emit_16(284);
+emit_16(220);
+emit_16(284);
+emit_16(219);
+emit_16(284);
+emit_16(220);
+emit_16(285);
+emit_16(221);
+emit_16(285);
+emit_16(220);
+emit_16(285);
+emit_16(221);
+emit_16(286);
+emit_16(222);
+emit_16(286);
+emit_16(221);
+emit_16(286);
+emit_16(222);
+emit_16(287);
+emit_16(223);
+emit_16(287);
+emit_16(222);
+emit_16(287);
+emit_16(223);
+emit_16(288);
+emit_16(224);
+emit_16(288);
+emit_16(223);
+emit_16(288);
+emit_16(224);
+emit_16(289);
+emit_16(225);
+emit_16(289);
+emit_16(224);
+emit_16(289);
+emit_16(225);
+emit_16(290);
+emit_16(226);
+emit_16(290);
+emit_16(225);
+emit_16(290);
+emit_16(226);
+emit_16(291);
+emit_16(227);
+emit_16(291);
+emit_16(226);
+emit_16(291);
+emit_16(227);
+emit_16(292);
+emit_16(228);
+emit_16(292);
+emit_16(227);
+emit_16(292);
+emit_16(228);
+emit_16(293);
+emit_16(229);
+emit_16(293);
+emit_16(228);
+emit_16(293);
+emit_16(229);
+emit_16(294);
+emit_16(230);
+emit_16(294);
+emit_16(229);
+emit_16(294);
+emit_16(230);
+emit_16(295);
+emit_16(231);
+emit_16(295);
+emit_16(230);
+emit_16(295);
+emit_16(231);
+emit_16(296);
+emit_16(232);
+emit_16(296);
+emit_16(231);
+emit_16(296);
+emit_16(232);
+emit_16(297);
+emit_16(233);
+emit_16(297);
+emit_16(232);
+emit_16(297);
+emit_16(233);
+emit_16(298);
+emit_16(234);
+emit_16(298);
+emit_16(233);
+emit_16(298);
+emit_16(234);
+emit_16(299);
+emit_16(235);
+emit_16(299);
+emit_16(234);
+emit_16(299);
+emit_16(235);
+emit_16(300);
+emit_16(236);
+emit_16(300);
+emit_16(235);
+emit_16(300);
+emit_16(236);
+emit_16(301);
+emit_16(237);
+emit_16(301);
+emit_16(236);
+emit_16(301);
+emit_16(237);
+emit_16(302);
+emit_16(238);
+emit_16(302);
+emit_16(237);
+emit_16(302);
+emit_16(238);
+emit_16(303);
+emit_16(239);
+emit_16(303);
+emit_16(238);
+emit_16(303);
+emit_16(239);
+emit_16(304);
+emit_16(240);
+emit_16(304);
+emit_16(239);
+emit_16(304);
+emit_16(240);
+emit_16(305);
+emit_16(241);
+emit_16(305);
+emit_16(240);
+emit_16(305);
+emit_16(241);
+emit_16(306);
+emit_16(242);
+emit_16(306);
+emit_16(241);
+emit_16(306);
+emit_16(242);
+emit_16(307);
+emit_16(243);
+emit_16(307);
+emit_16(242);
+emit_16(307);
+emit_16(243);
+emit_16(308);
+emit_16(244);
+emit_16(308);
+emit_16(243);
+emit_16(308);
+emit_16(244);
+emit_16(309);
+emit_16(245);
+emit_16(309);
+emit_16(244);
+emit_16(309);
+emit_16(245);
+emit_16(310);
+emit_16(246);
+emit_16(310);
+emit_16(245);
+emit_16(310);
+emit_16(246);
+emit_16(311);
+emit_16(247);
+emit_16(311);
+emit_16(246);
+emit_16(311);
+emit_16(247);
+emit_16(312);
+emit_16(248);
+emit_16(312);
+emit_16(247);
+emit_16(312);
+emit_16(248);
+emit_16(313);
+emit_16(249);
+emit_16(313);
+emit_16(248);
+emit_16(313);
+emit_16(249);
+emit_16(314);
+emit_16(250);
+emit_16(314);
+emit_16(249);
+emit_16(314);
+emit_16(250);
+emit_16(315);
+emit_16(251);
+emit_16(315);
+emit_16(250);
+emit_16(315);
+emit_16(251);
+emit_16(316);
+emit_16(252);
+emit_16(316);
+emit_16(251);
+emit_16(316);
+emit_16(252);
+emit_16(317);
+emit_16(253);
+emit_16(317);
+emit_16(252);
+emit_16(317);
+emit_16(253);
+emit_16(318);
+emit_16(254);
+emit_16(318);
+emit_16(253);
+emit_16(318);
+emit_16(254);
+emit_16(319);
+emit_16(255);
+emit_16(319);
+emit_16(254);
+emit_16(320);
+emit_16(256);
+emit_16(321);
+emit_16(257);
+emit_16(321);
+emit_16(256);
+emit_16(321);
+emit_16(257);
+emit_16(322);
+emit_16(258);
+emit_16(322);
+emit_16(257);
+emit_16(322);
+emit_16(258);
+emit_16(323);
+emit_16(259);
+emit_16(323);
+emit_16(258);
+emit_16(323);
+emit_16(259);
+emit_16(324);
+emit_16(260);
+emit_16(324);
+emit_16(259);
+emit_16(324);
+emit_16(260);
+emit_16(325);
+emit_16(261);
+emit_16(325);
+emit_16(260);
+emit_16(325);
+emit_16(261);
+emit_16(326);
+emit_16(262);
+emit_16(326);
+emit_16(261);
+emit_16(326);
+emit_16(262);
+emit_16(327);
+emit_16(263);
+emit_16(327);
+emit_16(262);
+emit_16(327);
+emit_16(263);
+emit_16(328);
+emit_16(264);
+emit_16(328);
+emit_16(263);
+emit_16(328);
+emit_16(264);
+emit_16(329);
+emit_16(265);
+emit_16(329);
+emit_16(264);
+emit_16(329);
+emit_16(265);
+emit_16(330);
+emit_16(266);
+emit_16(330);
+emit_16(265);
+emit_16(330);
+emit_16(266);
+emit_16(331);
+emit_16(267);
+emit_16(331);
+emit_16(266);
+emit_16(331);
+emit_16(267);
+emit_16(332);
+emit_16(268);
+emit_16(332);
+emit_16(267);
+emit_16(332);
+emit_16(268);
+emit_16(333);
+emit_16(269);
+emit_16(333);
+emit_16(268);
+emit_16(333);
+emit_16(269);
+emit_16(334);
+emit_16(270);
+emit_16(334);
+emit_16(269);
+emit_16(334);
+emit_16(270);
+emit_16(335);
+emit_16(271);
+emit_16(335);
+emit_16(270);
+emit_16(335);
+emit_16(271);
+emit_16(336);
+emit_16(272);
+emit_16(336);
+emit_16(271);
+emit_16(336);
+emit_16(272);
+emit_16(337);
+emit_16(273);
+emit_16(337);
+emit_16(272);
+emit_16(337);
+emit_16(273);
+emit_16(338);
+emit_16(274);
+emit_16(338);
+emit_16(273);
+emit_16(338);
+emit_16(274);
+emit_16(339);
+emit_16(275);
+emit_16(339);
+emit_16(274);
+emit_16(339);
+emit_16(275);
+emit_16(340);
+emit_16(276);
+emit_16(340);
+emit_16(275);
+emit_16(340);
+emit_16(276);
+emit_16(341);
+emit_16(277);
+emit_16(341);
+emit_16(276);
+emit_16(341);
+emit_16(277);
+emit_16(342);
+emit_16(278);
+emit_16(342);
+emit_16(277);
+emit_16(342);
+emit_16(278);
+emit_16(343);
+emit_16(279);
+emit_16(343);
+emit_16(278);
+emit_16(343);
+emit_16(279);
+emit_16(344);
+emit_16(280);
+emit_16(344);
+emit_16(279);
+emit_16(344);
+emit_16(280);
+emit_16(345);
+emit_16(281);
+emit_16(345);
+emit_16(280);
+emit_16(345);
+emit_16(281);
+emit_16(346);
+emit_16(282);
+emit_16(346);
+emit_16(281);
+emit_16(346);
+emit_16(282);
+emit_16(347);
+emit_16(283);
+emit_16(347);
+emit_16(282);
+emit_16(347);
+emit_16(283);
+emit_16(348);
+emit_16(284);
+emit_16(348);
+emit_16(283);
+emit_16(348);
+emit_16(284);
+emit_16(349);
+emit_16(285);
+emit_16(349);
+emit_16(284);
+emit_16(349);
+emit_16(285);
+emit_16(350);
+emit_16(286);
+emit_16(350);
+emit_16(285);
+emit_16(350);
+emit_16(286);
+emit_16(351);
+emit_16(287);
+emit_16(351);
+emit_16(286);
+emit_16(351);
+emit_16(287);
+emit_16(352);
+emit_16(288);
+emit_16(352);
+emit_16(287);
+emit_16(352);
+emit_16(288);
+emit_16(353);
+emit_16(289);
+emit_16(353);
+emit_16(288);
+emit_16(353);
+emit_16(289);
+emit_16(354);
+emit_16(290);
+emit_16(354);
+emit_16(289);
+emit_16(354);
+emit_16(290);
+emit_16(355);
+emit_16(291);
+emit_16(355);
+emit_16(290);
+emit_16(355);
+emit_16(291);
+emit_16(356);
+emit_16(292);
+emit_16(356);
+emit_16(291);
+emit_16(356);
+emit_16(292);
+emit_16(357);
+emit_16(293);
+emit_16(357);
+emit_16(292);
+emit_16(357);
+emit_16(293);
+emit_16(358);
+emit_16(294);
+emit_16(358);
+emit_16(293);
+emit_16(358);
+emit_16(294);
+emit_16(359);
+emit_16(295);
+emit_16(359);
+emit_16(294);
+emit_16(359);
+emit_16(295);
+emit_16(360);
+emit_16(296);
+emit_16(360);
+emit_16(295);
+emit_16(360);
+emit_16(296);
+emit_16(361);
+emit_16(297);
+emit_16(361);
+emit_16(296);
+emit_16(361);
+emit_16(297);
+emit_16(362);
+emit_16(298);
+emit_16(362);
+emit_16(297);
+emit_16(362);
+emit_16(298);
+emit_16(363);
+emit_16(299);
+emit_16(363);
+emit_16(298);
+emit_16(363);
+emit_16(299);
+emit_16(364);
+emit_16(300);
+emit_16(364);
+emit_16(299);
+emit_16(364);
+emit_16(300);
+emit_16(365);
+emit_16(301);
+emit_16(365);
+emit_16(300);
+emit_16(365);
+emit_16(301);
+emit_16(366);
+emit_16(302);
+emit_16(366);
+emit_16(301);
+emit_16(366);
+emit_16(302);
+emit_16(367);
+emit_16(303);
+emit_16(367);
+emit_16(302);
+emit_16(367);
+emit_16(303);
+emit_16(368);
+emit_16(304);
+emit_16(368);
+emit_16(303);
+emit_16(368);
+emit_16(304);
+emit_16(369);
+emit_16(305);
+emit_16(369);
+emit_16(304);
+emit_16(369);
+emit_16(305);
+emit_16(370);
+emit_16(306);
+emit_16(370);
+emit_16(305);
+emit_16(370);
+emit_16(306);
+emit_16(371);
+emit_16(307);
+emit_16(371);
+emit_16(306);
+emit_16(371);
+emit_16(307);
+emit_16(372);
+emit_16(308);
+emit_16(372);
+emit_16(307);
+emit_16(372);
+emit_16(308);
+emit_16(373);
+emit_16(309);
+emit_16(373);
+emit_16(308);
+emit_16(373);
+emit_16(309);
+emit_16(374);
+emit_16(310);
+emit_16(374);
+emit_16(309);
+emit_16(374);
+emit_16(310);
+emit_16(375);
+emit_16(311);
+emit_16(375);
+emit_16(310);
+emit_16(375);
+emit_16(311);
+emit_16(376);
+emit_16(312);
+emit_16(376);
+emit_16(311);
+emit_16(376);
+emit_16(312);
+emit_16(377);
+emit_16(313);
+emit_16(377);
+emit_16(312);
+emit_16(377);
+emit_16(313);
+emit_16(378);
+emit_16(314);
+emit_16(378);
+emit_16(313);
+emit_16(378);
+emit_16(314);
+emit_16(379);
+emit_16(315);
+emit_16(379);
+emit_16(314);
+emit_16(379);
+emit_16(315);
+emit_16(380);
+emit_16(316);
+emit_16(380);
+emit_16(315);
+emit_16(380);
+emit_16(316);
+emit_16(381);
+emit_16(317);
+emit_16(381);
+emit_16(316);
+emit_16(381);
+emit_16(317);
+emit_16(382);
+emit_16(318);
+emit_16(382);
+emit_16(317);
+emit_16(382);
+emit_16(318);
+emit_16(383);
+emit_16(319);
+emit_16(383);
+emit_16(318);
+emit_16(384);
+emit_16(320);
+emit_16(385);
+emit_16(321);
+emit_16(385);
+emit_16(320);
+emit_16(385);
+emit_16(321);
+emit_16(386);
+emit_16(322);
+emit_16(386);
+emit_16(321);
+emit_16(386);
+emit_16(322);
+emit_16(387);
+emit_16(323);
+emit_16(387);
+emit_16(322);
+emit_16(387);
+emit_16(323);
+emit_16(388);
+emit_16(324);
+emit_16(388);
+emit_16(323);
+emit_16(388);
+emit_16(324);
+emit_16(389);
+emit_16(325);
+emit_16(389);
+emit_16(324);
+emit_16(389);
+emit_16(325);
+emit_16(390);
+emit_16(326);
+emit_16(390);
+emit_16(325);
+emit_16(390);
+emit_16(326);
+emit_16(391);
+emit_16(327);
+emit_16(391);
+emit_16(326);
+emit_16(391);
+emit_16(327);
+emit_16(392);
+emit_16(328);
+emit_16(392);
+emit_16(327);
+emit_16(392);
+emit_16(328);
+emit_16(393);
+emit_16(329);
+emit_16(393);
+emit_16(328);
+emit_16(393);
+emit_16(329);
+emit_16(394);
+emit_16(330);
+emit_16(394);
+emit_16(329);
+emit_16(394);
+emit_16(330);
+emit_16(395);
+emit_16(331);
+emit_16(395);
+emit_16(330);
+emit_16(395);
+emit_16(331);
+emit_16(396);
+emit_16(332);
+emit_16(396);
+emit_16(331);
+emit_16(396);
+emit_16(332);
+emit_16(397);
+emit_16(333);
+emit_16(397);
+emit_16(332);
+emit_16(397);
+emit_16(333);
+emit_16(398);
+emit_16(334);
+emit_16(398);
+emit_16(333);
+emit_16(398);
+emit_16(334);
+emit_16(399);
+emit_16(335);
+emit_16(399);
+emit_16(334);
+emit_16(399);
+emit_16(335);
+emit_16(400);
+emit_16(336);
+emit_16(400);
+emit_16(335);
+emit_16(400);
+emit_16(336);
+emit_16(401);
+emit_16(337);
+emit_16(401);
+emit_16(336);
+emit_16(401);
+emit_16(337);
+emit_16(402);
+emit_16(338);
+emit_16(402);
+emit_16(337);
+emit_16(402);
+emit_16(338);
+emit_16(403);
+emit_16(339);
+emit_16(403);
+emit_16(338);
+emit_16(403);
+emit_16(339);
+emit_16(404);
+emit_16(340);
+emit_16(404);
+emit_16(339);
+emit_16(404);
+emit_16(340);
+emit_16(405);
+emit_16(341);
+emit_16(405);
+emit_16(340);
+emit_16(405);
+emit_16(341);
+emit_16(406);
+emit_16(342);
+emit_16(406);
+emit_16(341);
+emit_16(406);
+emit_16(342);
+emit_16(407);
+emit_16(343);
+emit_16(407);
+emit_16(342);
+emit_16(407);
+emit_16(343);
+emit_16(408);
+emit_16(344);
+emit_16(408);
+emit_16(343);
+emit_16(408);
+emit_16(344);
+emit_16(409);
+emit_16(345);
+emit_16(409);
+emit_16(344);
+emit_16(409);
+emit_16(345);
+emit_16(410);
+emit_16(346);
+emit_16(410);
+emit_16(345);
+emit_16(410);
+emit_16(346);
+emit_16(411);
+emit_16(347);
+emit_16(411);
+emit_16(346);
+emit_16(411);
+emit_16(347);
+emit_16(412);
+emit_16(348);
+emit_16(412);
+emit_16(347);
+emit_16(412);
+emit_16(348);
+emit_16(413);
+emit_16(349);
+emit_16(413);
+emit_16(348);
+emit_16(413);
+emit_16(349);
+emit_16(414);
+emit_16(350);
+emit_16(414);
+emit_16(349);
+emit_16(414);
+emit_16(350);
+emit_16(415);
+emit_16(351);
+emit_16(415);
+emit_16(350);
+emit_16(415);
+emit_16(351);
+emit_16(416);
+emit_16(352);
+emit_16(416);
+emit_16(351);
+emit_16(416);
+emit_16(352);
+emit_16(417);
+emit_16(353);
+emit_16(417);
+emit_16(352);
+emit_16(417);
+emit_16(353);
+emit_16(418);
+emit_16(354);
+emit_16(418);
+emit_16(353);
+emit_16(418);
+emit_16(354);
+emit_16(419);
+emit_16(355);
+emit_16(419);
+emit_16(354);
+emit_16(419);
+emit_16(355);
+emit_16(420);
+emit_16(356);
+emit_16(420);
+emit_16(355);
+emit_16(420);
+emit_16(356);
+emit_16(421);
+emit_16(357);
+emit_16(421);
+emit_16(356);
+emit_16(421);
+emit_16(357);
+emit_16(422);
+emit_16(358);
+emit_16(422);
+emit_16(357);
+emit_16(422);
+emit_16(358);
+emit_16(423);
+emit_16(359);
+emit_16(423);
+emit_16(358);
+emit_16(423);
+emit_16(359);
+emit_16(424);
+emit_16(360);
+emit_16(424);
+emit_16(359);
+emit_16(424);
+emit_16(360);
+emit_16(425);
+emit_16(361);
+emit_16(425);
+emit_16(360);
+emit_16(425);
+emit_16(361);
+emit_16(426);
+emit_16(362);
+emit_16(426);
+emit_16(361);
+emit_16(426);
+emit_16(362);
+emit_16(427);
+emit_16(363);
+emit_16(427);
+emit_16(362);
+emit_16(427);
+emit_16(363);
+emit_16(428);
+emit_16(364);
+emit_16(428);
+emit_16(363);
+emit_16(428);
+emit_16(364);
+emit_16(429);
+emit_16(365);
+emit_16(429);
+emit_16(364);
+emit_16(429);
+emit_16(365);
+emit_16(430);
+emit_16(366);
+emit_16(430);
+emit_16(365);
+emit_16(430);
+emit_16(366);
+emit_16(431);
+emit_16(367);
+emit_16(431);
+emit_16(366);
+emit_16(431);
+emit_16(367);
+emit_16(432);
+emit_16(368);
+emit_16(432);
+emit_16(367);
+emit_16(432);
+emit_16(368);
+emit_16(433);
+emit_16(369);
+emit_16(433);
+emit_16(368);
+emit_16(433);
+emit_16(369);
+emit_16(434);
+emit_16(370);
+emit_16(434);
+emit_16(369);
+emit_16(434);
+emit_16(370);
+emit_16(435);
+emit_16(371);
+emit_16(435);
+emit_16(370);
+emit_16(435);
+emit_16(371);
+emit_16(436);
+emit_16(372);
+emit_16(436);
+emit_16(371);
+emit_16(436);
+emit_16(372);
+emit_16(437);
+emit_16(373);
+emit_16(437);
+emit_16(372);
+emit_16(437);
+emit_16(373);
+emit_16(438);
+emit_16(374);
+emit_16(438);
+emit_16(373);
+emit_16(438);
+emit_16(374);
+emit_16(439);
+emit_16(375);
+emit_16(439);
+emit_16(374);
+emit_16(439);
+emit_16(375);
+emit_16(440);
+emit_16(376);
+emit_16(440);
+emit_16(375);
+emit_16(440);
+emit_16(376);
+emit_16(441);
+emit_16(377);
+emit_16(441);
+emit_16(376);
+emit_16(441);
+emit_16(377);
+emit_16(442);
+emit_16(378);
+emit_16(442);
+emit_16(377);
+emit_16(442);
+emit_16(378);
+emit_16(443);
+emit_16(379);
+emit_16(443);
+emit_16(378);
+emit_16(443);
+emit_16(379);
+emit_16(444);
+emit_16(380);
+emit_16(444);
+emit_16(379);
+emit_16(444);
+emit_16(380);
+emit_16(445);
+emit_16(381);
+emit_16(445);
+emit_16(380);
+emit_16(445);
+emit_16(381);
+emit_16(446);
+emit_16(382);
+emit_16(446);
+emit_16(381);
+emit_16(446);
+emit_16(382);
+emit_16(447);
+emit_16(383);
+emit_16(447);
+emit_16(382);
+emit_16(448);
+emit_16(384);
+emit_16(449);
+emit_16(385);
+emit_16(449);
+emit_16(384);
+emit_16(449);
+emit_16(385);
+emit_16(450);
+emit_16(386);
+emit_16(450);
+emit_16(385);
+emit_16(450);
+emit_16(386);
+emit_16(451);
+emit_16(387);
+emit_16(451);
+emit_16(386);
+emit_16(451);
+emit_16(387);
+emit_16(452);
+emit_16(388);
+emit_16(452);
+emit_16(387);
+emit_16(452);
+emit_16(388);
+emit_16(453);
+emit_16(389);
+emit_16(453);
+emit_16(388);
+emit_16(453);
+emit_16(389);
+emit_16(454);
+emit_16(390);
+emit_16(454);
+emit_16(389);
+emit_16(454);
+emit_16(390);
+emit_16(455);
+emit_16(391);
+emit_16(455);
+emit_16(390);
+emit_16(455);
+emit_16(391);
+emit_16(456);
+emit_16(392);
+emit_16(456);
+emit_16(391);
+emit_16(456);
+emit_16(392);
+emit_16(457);
+emit_16(393);
+emit_16(457);
+emit_16(392);
+emit_16(457);
+emit_16(393);
+emit_16(458);
+emit_16(394);
+emit_16(458);
+emit_16(393);
+emit_16(458);
+emit_16(394);
+emit_16(459);
+emit_16(395);
+emit_16(459);
+emit_16(394);
+emit_16(459);
+emit_16(395);
+emit_16(460);
+emit_16(396);
+emit_16(460);
+emit_16(395);
+emit_16(460);
+emit_16(396);
+emit_16(461);
+emit_16(397);
+emit_16(461);
+emit_16(396);
+emit_16(461);
+emit_16(397);
+emit_16(462);
+emit_16(398);
+emit_16(462);
+emit_16(397);
+emit_16(462);
+emit_16(398);
+emit_16(463);
+emit_16(399);
+emit_16(463);
+emit_16(398);
+emit_16(463);
+emit_16(399);
+emit_16(464);
+emit_16(400);
+emit_16(464);
+emit_16(399);
+emit_16(464);
+emit_16(400);
+emit_16(465);
+emit_16(401);
+emit_16(465);
+emit_16(400);
+emit_16(465);
+emit_16(401);
+emit_16(466);
+emit_16(402);
+emit_16(466);
+emit_16(401);
+emit_16(466);
+emit_16(402);
+emit_16(467);
+emit_16(403);
+emit_16(467);
+emit_16(402);
+emit_16(467);
+emit_16(403);
+emit_16(468);
+emit_16(404);
+emit_16(468);
+emit_16(403);
+emit_16(468);
+emit_16(404);
+emit_16(469);
+emit_16(405);
+emit_16(469);
+emit_16(404);
+emit_16(469);
+emit_16(405);
+emit_16(470);
+emit_16(406);
+emit_16(470);
+emit_16(405);
+emit_16(470);
+emit_16(406);
+emit_16(471);
+emit_16(407);
+emit_16(471);
+emit_16(406);
+emit_16(471);
+emit_16(407);
+emit_16(472);
+emit_16(408);
+emit_16(472);
+emit_16(407);
+emit_16(472);
+emit_16(408);
+emit_16(473);
+emit_16(409);
+emit_16(473);
+emit_16(408);
+emit_16(473);
+emit_16(409);
+emit_16(474);
+emit_16(410);
+emit_16(474);
+emit_16(409);
+emit_16(474);
+emit_16(410);
+emit_16(475);
+emit_16(411);
+emit_16(475);
+emit_16(410);
+emit_16(475);
+emit_16(411);
+emit_16(476);
+emit_16(412);
+emit_16(476);
+emit_16(411);
+emit_16(476);
+emit_16(412);
+emit_16(477);
+emit_16(413);
+emit_16(477);
+emit_16(412);
+emit_16(477);
+emit_16(413);
+emit_16(478);
+emit_16(414);
+emit_16(478);
+emit_16(413);
+emit_16(478);
+emit_16(414);
+emit_16(479);
+emit_16(415);
+emit_16(479);
+emit_16(414);
+emit_16(479);
+emit_16(415);
+emit_16(480);
+emit_16(416);
+emit_16(480);
+emit_16(415);
+emit_16(480);
+emit_16(416);
+emit_16(481);
+emit_16(417);
+emit_16(481);
+emit_16(416);
+emit_16(481);
+emit_16(417);
+emit_16(482);
+emit_16(418);
+emit_16(482);
+emit_16(417);
+emit_16(482);
+emit_16(418);
+emit_16(483);
+emit_16(419);
+emit_16(483);
+emit_16(418);
+emit_16(483);
+emit_16(419);
+emit_16(484);
+emit_16(420);
+emit_16(484);
+emit_16(419);
+emit_16(484);
+emit_16(420);
+emit_16(485);
+emit_16(421);
+emit_16(485);
+emit_16(420);
+emit_16(485);
+emit_16(421);
+emit_16(486);
+emit_16(422);
+emit_16(486);
+emit_16(421);
+emit_16(486);
+emit_16(422);
+emit_16(487);
+emit_16(423);
+emit_16(487);
+emit_16(422);
+emit_16(487);
+emit_16(423);
+emit_16(488);
+emit_16(424);
+emit_16(488);
+emit_16(423);
+emit_16(488);
+emit_16(424);
+emit_16(489);
+emit_16(425);
+emit_16(489);
+emit_16(424);
+emit_16(489);
+emit_16(425);
+emit_16(490);
+emit_16(426);
+emit_16(490);
+emit_16(425);
+emit_16(490);
+emit_16(426);
+emit_16(491);
+emit_16(427);
+emit_16(491);
+emit_16(426);
+emit_16(491);
+emit_16(427);
+emit_16(492);
+emit_16(428);
+emit_16(492);
+emit_16(427);
+emit_16(492);
+emit_16(428);
+emit_16(493);
+emit_16(429);
+emit_16(493);
+emit_16(428);
+emit_16(493);
+emit_16(429);
+emit_16(494);
+emit_16(430);
+emit_16(494);
+emit_16(429);
+emit_16(494);
+emit_16(430);
+emit_16(495);
+emit_16(431);
+emit_16(495);
+emit_16(430);
+emit_16(495);
+emit_16(431);
+emit_16(496);
+emit_16(432);
+emit_16(496);
+emit_16(431);
+emit_16(496);
+emit_16(432);
+emit_16(497);
+emit_16(433);
+emit_16(497);
+emit_16(432);
+emit_16(497);
+emit_16(433);
+emit_16(498);
+emit_16(434);
+emit_16(498);
+emit_16(433);
+emit_16(498);
+emit_16(434);
+emit_16(499);
+emit_16(435);
+emit_16(499);
+emit_16(434);
+emit_16(499);
+emit_16(435);
+emit_16(500);
+emit_16(436);
+emit_16(500);
+emit_16(435);
+emit_16(500);
+emit_16(436);
+emit_16(501);
+emit_16(437);
+emit_16(501);
+emit_16(436);
+emit_16(501);
+emit_16(437);
+emit_16(502);
+emit_16(438);
+emit_16(502);
+emit_16(437);
+emit_16(502);
+emit_16(438);
+emit_16(503);
+emit_16(439);
+emit_16(503);
+emit_16(438);
+emit_16(503);
+emit_16(439);
+emit_16(504);
+emit_16(440);
+emit_16(504);
+emit_16(439);
+emit_16(504);
+emit_16(440);
+emit_16(505);
+emit_16(441);
+emit_16(505);
+emit_16(440);
+emit_16(505);
+emit_16(441);
+emit_16(506);
+emit_16(442);
+emit_16(506);
+emit_16(441);
+emit_16(506);
+emit_16(442);
+emit_16(507);
+emit_16(443);
+emit_16(507);
+emit_16(442);
+emit_16(507);
+emit_16(443);
+emit_16(508);
+emit_16(444);
+emit_16(508);
+emit_16(443);
+emit_16(508);
+emit_16(444);
+emit_16(509);
+emit_16(445);
+emit_16(509);
+emit_16(444);
+emit_16(509);
+emit_16(445);
+emit_16(510);
+emit_16(446);
+emit_16(510);
+emit_16(445);
+emit_16(510);
+emit_16(446);
+emit_16(511);
+emit_16(447);
+emit_16(511);
+emit_16(446);
+emit_16(512);
+emit_16(448);
+emit_16(513);
+emit_16(449);
+emit_16(513);
+emit_16(448);
+emit_16(513);
+emit_16(449);
+emit_16(514);
+emit_16(450);
+emit_16(514);
+emit_16(449);
+emit_16(514);
+emit_16(450);
+emit_16(515);
+emit_16(451);
+emit_16(515);
+emit_16(450);
+emit_16(515);
+emit_16(451);
+emit_16(516);
+emit_16(452);
+emit_16(516);
+emit_16(451);
+emit_16(516);
+emit_16(452);
+emit_16(517);
+emit_16(453);
+emit_16(517);
+emit_16(452);
+emit_16(517);
+emit_16(453);
+emit_16(518);
+emit_16(454);
+emit_16(518);
+emit_16(453);
+emit_16(518);
+emit_16(454);
+emit_16(519);
+emit_16(455);
+emit_16(519);
+emit_16(454);
+emit_16(519);
+emit_16(455);
+emit_16(520);
+emit_16(456);
+emit_16(520);
+emit_16(455);
+emit_16(520);
+emit_16(456);
+emit_16(521);
+emit_16(457);
+emit_16(521);
+emit_16(456);
+emit_16(521);
+emit_16(457);
+emit_16(522);
+emit_16(458);
+emit_16(522);
+emit_16(457);
+emit_16(522);
+emit_16(458);
+emit_16(523);
+emit_16(459);
+emit_16(523);
+emit_16(458);
+emit_16(523);
+emit_16(459);
+emit_16(524);
+emit_16(460);
+emit_16(524);
+emit_16(459);
+emit_16(524);
+emit_16(460);
+emit_16(525);
+emit_16(461);
+emit_16(525);
+emit_16(460);
+emit_16(525);
+emit_16(461);
+emit_16(526);
+emit_16(462);
+emit_16(526);
+emit_16(461);
+emit_16(526);
+emit_16(462);
+emit_16(527);
+emit_16(463);
+emit_16(527);
+emit_16(462);
+emit_16(527);
+emit_16(463);
+emit_16(528);
+emit_16(464);
+emit_16(528);
+emit_16(463);
+emit_16(528);
+emit_16(464);
+emit_16(529);
+emit_16(465);
+emit_16(529);
+emit_16(464);
+emit_16(529);
+emit_16(465);
+emit_16(530);
+emit_16(466);
+emit_16(530);
+emit_16(465);
+emit_16(530);
+emit_16(466);
+emit_16(531);
+emit_16(467);
+emit_16(531);
+emit_16(466);
+emit_16(531);
+emit_16(467);
+emit_16(532);
+emit_16(468);
+emit_16(532);
+emit_16(467);
+emit_16(532);
+emit_16(468);
+emit_16(533);
+emit_16(469);
+emit_16(533);
+emit_16(468);
+emit_16(533);
+emit_16(469);
+emit_16(534);
+emit_16(470);
+emit_16(534);
+emit_16(469);
+emit_16(534);
+emit_16(470);
+emit_16(535);
+emit_16(471);
+emit_16(535);
+emit_16(470);
+emit_16(535);
+emit_16(471);
+emit_16(536);
+emit_16(472);
+emit_16(536);
+emit_16(471);
+emit_16(536);
+emit_16(472);
+emit_16(537);
+emit_16(473);
+emit_16(537);
+emit_16(472);
+emit_16(537);
+emit_16(473);
+emit_16(538);
+emit_16(474);
+emit_16(538);
+emit_16(473);
+emit_16(538);
+emit_16(474);
+emit_16(539);
+emit_16(475);
+emit_16(539);
+emit_16(474);
+emit_16(539);
+emit_16(475);
+emit_16(540);
+emit_16(476);
+emit_16(540);
+emit_16(475);
+emit_16(540);
+emit_16(476);
+emit_16(541);
+emit_16(477);
+emit_16(541);
+emit_16(476);
+emit_16(541);
+emit_16(477);
+emit_16(542);
+emit_16(478);
+emit_16(542);
+emit_16(477);
+emit_16(542);
+emit_16(478);
+emit_16(543);
+emit_16(479);
+emit_16(543);
+emit_16(478);
+emit_16(543);
+emit_16(479);
+emit_16(544);
+emit_16(480);
+emit_16(544);
+emit_16(479);
+emit_16(544);
+emit_16(480);
+emit_16(545);
+emit_16(481);
+emit_16(545);
+emit_16(480);
+emit_16(545);
+emit_16(481);
+emit_16(546);
+emit_16(482);
+emit_16(546);
+emit_16(481);
+emit_16(546);
+emit_16(482);
+emit_16(547);
+emit_16(483);
+emit_16(547);
+emit_16(482);
+emit_16(547);
+emit_16(483);
+emit_16(548);
+emit_16(484);
+emit_16(548);
+emit_16(483);
+emit_16(548);
+emit_16(484);
+emit_16(549);
+emit_16(485);
+emit_16(549);
+emit_16(484);
+emit_16(549);
+emit_16(485);
+emit_16(550);
+emit_16(486);
+emit_16(550);
+emit_16(485);
+emit_16(550);
+emit_16(486);
+emit_16(551);
+emit_16(487);
+emit_16(551);
+emit_16(486);
+emit_16(551);
+emit_16(487);
+emit_16(552);
+emit_16(488);
+emit_16(552);
+emit_16(487);
+emit_16(552);
+emit_16(488);
+emit_16(553);
+emit_16(489);
+emit_16(553);
+emit_16(488);
+emit_16(553);
+emit_16(489);
+emit_16(554);
+emit_16(490);
+emit_16(554);
+emit_16(489);
+emit_16(554);
+emit_16(490);
+emit_16(555);
+emit_16(491);
+emit_16(555);
+emit_16(490);
+emit_16(555);
+emit_16(491);
+emit_16(556);
+emit_16(492);
+emit_16(556);
+emit_16(491);
+emit_16(556);
+emit_16(492);
+emit_16(557);
+emit_16(493);
+emit_16(557);
+emit_16(492);
+emit_16(557);
+emit_16(493);
+emit_16(558);
+emit_16(494);
+emit_16(558);
+emit_16(493);
+emit_16(558);
+emit_16(494);
+emit_16(559);
+emit_16(495);
+emit_16(559);
+emit_16(494);
+emit_16(559);
+emit_16(495);
+emit_16(560);
+emit_16(496);
+emit_16(560);
+emit_16(495);
+emit_16(560);
+emit_16(496);
+emit_16(561);
+emit_16(497);
+emit_16(561);
+emit_16(496);
+emit_16(561);
+emit_16(497);
+emit_16(562);
+emit_16(498);
+emit_16(562);
+emit_16(497);
+emit_16(562);
+emit_16(498);
+emit_16(563);
+emit_16(499);
+emit_16(563);
+emit_16(498);
+emit_16(563);
+emit_16(499);
+emit_16(564);
+emit_16(500);
+emit_16(564);
+emit_16(499);
+emit_16(564);
+emit_16(500);
+emit_16(565);
+emit_16(501);
+emit_16(565);
+emit_16(500);
+emit_16(565);
+emit_16(501);
+emit_16(566);
+emit_16(502);
+emit_16(566);
+emit_16(501);
+emit_16(566);
+emit_16(502);
+emit_16(567);
+emit_16(503);
+emit_16(567);
+emit_16(502);
+emit_16(567);
+emit_16(503);
+emit_16(568);
+emit_16(504);
+emit_16(568);
+emit_16(503);
+emit_16(568);
+emit_16(504);
+emit_16(569);
+emit_16(505);
+emit_16(569);
+emit_16(504);
+emit_16(569);
+emit_16(505);
+emit_16(570);
+emit_16(506);
+emit_16(570);
+emit_16(505);
+emit_16(570);
+emit_16(506);
+emit_16(571);
+emit_16(507);
+emit_16(571);
+emit_16(506);
+emit_16(571);
+emit_16(507);
+emit_16(572);
+emit_16(508);
+emit_16(572);
+emit_16(507);
+emit_16(572);
+emit_16(508);
+emit_16(573);
+emit_16(509);
+emit_16(573);
+emit_16(508);
+emit_16(573);
+emit_16(509);
+emit_16(574);
+emit_16(510);
+emit_16(574);
+emit_16(509);
+emit_16(574);
+emit_16(510);
+emit_16(575);
+emit_16(511);
+emit_16(575);
+emit_16(510);
+emit_16(576);
+emit_16(512);
+emit_16(577);
+emit_16(513);
+emit_16(577);
+emit_16(512);
+emit_16(577);
+emit_16(513);
+emit_16(578);
+emit_16(514);
+emit_16(578);
+emit_16(513);
+emit_16(578);
+emit_16(514);
+emit_16(579);
+emit_16(515);
+emit_16(579);
+emit_16(514);
+emit_16(579);
+emit_16(515);
+emit_16(580);
+emit_16(516);
+emit_16(580);
+emit_16(515);
+emit_16(580);
+emit_16(516);
+emit_16(581);
+emit_16(517);
+emit_16(581);
+emit_16(516);
+emit_16(581);
+emit_16(517);
+emit_16(582);
+emit_16(518);
+emit_16(582);
+emit_16(517);
+emit_16(582);
+emit_16(518);
+emit_16(583);
+emit_16(519);
+emit_16(583);
+emit_16(518);
+emit_16(583);
+emit_16(519);
+emit_16(584);
+emit_16(520);
+emit_16(584);
+emit_16(519);
+emit_16(584);
+emit_16(520);
+emit_16(585);
+emit_16(521);
+emit_16(585);
+emit_16(520);
+emit_16(585);
+emit_16(521);
+emit_16(586);
+emit_16(522);
+emit_16(586);
+emit_16(521);
+emit_16(586);
+emit_16(522);
+emit_16(587);
+emit_16(523);
+emit_16(587);
+emit_16(522);
+emit_16(587);
+emit_16(523);
+emit_16(588);
+emit_16(524);
+emit_16(588);
+emit_16(523);
+emit_16(588);
+emit_16(524);
+emit_16(589);
+emit_16(525);
+emit_16(589);
+emit_16(524);
+emit_16(589);
+emit_16(525);
+emit_16(590);
+emit_16(526);
+emit_16(590);
+emit_16(525);
+emit_16(590);
+emit_16(526);
+emit_16(591);
+emit_16(527);
+emit_16(591);
+emit_16(526);
+emit_16(591);
+emit_16(527);
+emit_16(592);
+emit_16(528);
+emit_16(592);
+emit_16(527);
+emit_16(592);
+emit_16(528);
+emit_16(593);
+emit_16(529);
+emit_16(593);
+emit_16(528);
+emit_16(593);
+emit_16(529);
+emit_16(594);
+emit_16(530);
+emit_16(594);
+emit_16(529);
+emit_16(594);
+emit_16(530);
+emit_16(595);
+emit_16(531);
+emit_16(595);
+emit_16(530);
+emit_16(595);
+emit_16(531);
+emit_16(596);
+emit_16(532);
+emit_16(596);
+emit_16(531);
+emit_16(596);
+emit_16(532);
+emit_16(597);
+emit_16(533);
+emit_16(597);
+emit_16(532);
+emit_16(597);
+emit_16(533);
+emit_16(598);
+emit_16(534);
+emit_16(598);
+emit_16(533);
+emit_16(598);
+emit_16(534);
+emit_16(599);
+emit_16(535);
+emit_16(599);
+emit_16(534);
+emit_16(599);
+emit_16(535);
+emit_16(600);
+emit_16(536);
+emit_16(600);
+emit_16(535);
+emit_16(600);
+emit_16(536);
+emit_16(601);
+emit_16(537);
+emit_16(601);
+emit_16(536);
+emit_16(601);
+emit_16(537);
+emit_16(602);
+emit_16(538);
+emit_16(602);
+emit_16(537);
+emit_16(602);
+emit_16(538);
+emit_16(603);
+emit_16(539);
+emit_16(603);
+emit_16(538);
+emit_16(603);
+emit_16(539);
+emit_16(604);
+emit_16(540);
+emit_16(604);
+emit_16(539);
+emit_16(604);
+emit_16(540);
+emit_16(605);
+emit_16(541);
+emit_16(605);
+emit_16(540);
+emit_16(605);
+emit_16(541);
+emit_16(606);
+emit_16(542);
+emit_16(606);
+emit_16(541);
+emit_16(606);
+emit_16(542);
+emit_16(607);
+emit_16(543);
+emit_16(607);
+emit_16(542);
+emit_16(607);
+emit_16(543);
+emit_16(608);
+emit_16(544);
+emit_16(608);
+emit_16(543);
+emit_16(608);
+emit_16(544);
+emit_16(609);
+emit_16(545);
+emit_16(609);
+emit_16(544);
+emit_16(609);
+emit_16(545);
+emit_16(610);
+emit_16(546);
+emit_16(610);
+emit_16(545);
+emit_16(610);
+emit_16(546);
+emit_16(611);
+emit_16(547);
+emit_16(611);
+emit_16(546);
+emit_16(611);
+emit_16(547);
+emit_16(612);
+emit_16(548);
+emit_16(612);
+emit_16(547);
+emit_16(612);
+emit_16(548);
+emit_16(613);
+emit_16(549);
+emit_16(613);
+emit_16(548);
+emit_16(613);
+emit_16(549);
+emit_16(614);
+emit_16(550);
+emit_16(614);
+emit_16(549);
+emit_16(614);
+emit_16(550);
+emit_16(615);
+emit_16(551);
+emit_16(615);
+emit_16(550);
+emit_16(615);
+emit_16(551);
+emit_16(616);
+emit_16(552);
+emit_16(616);
+emit_16(551);
+emit_16(616);
+emit_16(552);
+emit_16(617);
+emit_16(553);
+emit_16(617);
+emit_16(552);
+emit_16(617);
+emit_16(553);
+emit_16(618);
+emit_16(554);
+emit_16(618);
+emit_16(553);
+emit_16(618);
+emit_16(554);
+emit_16(619);
+emit_16(555);
+emit_16(619);
+emit_16(554);
+emit_16(619);
+emit_16(555);
+emit_16(620);
+emit_16(556);
+emit_16(620);
+emit_16(555);
+emit_16(620);
+emit_16(556);
+emit_16(621);
+emit_16(557);
+emit_16(621);
+emit_16(556);
+emit_16(621);
+emit_16(557);
+emit_16(622);
+emit_16(558);
+emit_16(622);
+emit_16(557);
+emit_16(622);
+emit_16(558);
+emit_16(623);
+emit_16(559);
+emit_16(623);
+emit_16(558);
+emit_16(623);
+emit_16(559);
+emit_16(624);
+emit_16(560);
+emit_16(624);
+emit_16(559);
+emit_16(624);
+emit_16(560);
+emit_16(625);
+emit_16(561);
+emit_16(625);
+emit_16(560);
+emit_16(625);
+emit_16(561);
+emit_16(626);
+emit_16(562);
+emit_16(626);
+emit_16(561);
+emit_16(626);
+emit_16(562);
+emit_16(627);
+emit_16(563);
+emit_16(627);
+emit_16(562);
+emit_16(627);
+emit_16(563);
+emit_16(628);
+emit_16(564);
+emit_16(628);
+emit_16(563);
+emit_16(628);
+emit_16(564);
+emit_16(629);
+emit_16(565);
+emit_16(629);
+emit_16(564);
+emit_16(629);
+emit_16(565);
+emit_16(630);
+emit_16(566);
+emit_16(630);
+emit_16(565);
+emit_16(630);
+emit_16(566);
+emit_16(631);
+emit_16(567);
+emit_16(631);
+emit_16(566);
+emit_16(631);
+emit_16(567);
+emit_16(632);
+emit_16(568);
+emit_16(632);
+emit_16(567);
+emit_16(632);
+emit_16(568);
+emit_16(633);
+emit_16(569);
+emit_16(633);
+emit_16(568);
+emit_16(633);
+emit_16(569);
+emit_16(634);
+emit_16(570);
+emit_16(634);
+emit_16(569);
+emit_16(634);
+emit_16(570);
+emit_16(635);
+emit_16(571);
+emit_16(635);
+emit_16(570);
+emit_16(635);
+emit_16(571);
+emit_16(636);
+emit_16(572);
+emit_16(636);
+emit_16(571);
+emit_16(636);
+emit_16(572);
+emit_16(637);
+emit_16(573);
+emit_16(637);
+emit_16(572);
+emit_16(637);
+emit_16(573);
+emit_16(638);
+emit_16(574);
+emit_16(638);
+emit_16(573);
+emit_16(638);
+emit_16(574);
+emit_16(639);
+emit_16(575);
+emit_16(639);
+emit_16(574);
+emit_16(640);
+emit_16(576);
+emit_16(641);
+emit_16(577);
+emit_16(641);
+emit_16(576);
+emit_16(641);
+emit_16(577);
+emit_16(642);
+emit_16(578);
+emit_16(642);
+emit_16(577);
+emit_16(642);
+emit_16(578);
+emit_16(643);
+emit_16(579);
+emit_16(643);
+emit_16(578);
+emit_16(643);
+emit_16(579);
+emit_16(644);
+emit_16(580);
+emit_16(644);
+emit_16(579);
+emit_16(644);
+emit_16(580);
+emit_16(645);
+emit_16(581);
+emit_16(645);
+emit_16(580);
+emit_16(645);
+emit_16(581);
+emit_16(646);
+emit_16(582);
+emit_16(646);
+emit_16(581);
+emit_16(646);
+emit_16(582);
+emit_16(647);
+emit_16(583);
+emit_16(647);
+emit_16(582);
+emit_16(647);
+emit_16(583);
+emit_16(648);
+emit_16(584);
+emit_16(648);
+emit_16(583);
+emit_16(648);
+emit_16(584);
+emit_16(649);
+emit_16(585);
+emit_16(649);
+emit_16(584);
+emit_16(649);
+emit_16(585);
+emit_16(650);
+emit_16(586);
+emit_16(650);
+emit_16(585);
+emit_16(650);
+emit_16(586);
+emit_16(651);
+emit_16(587);
+emit_16(651);
+emit_16(586);
+emit_16(651);
+emit_16(587);
+emit_16(652);
+emit_16(588);
+emit_16(652);
+emit_16(587);
+emit_16(652);
+emit_16(588);
+emit_16(653);
+emit_16(589);
+emit_16(653);
+emit_16(588);
+emit_16(653);
+emit_16(589);
+emit_16(654);
+emit_16(590);
+emit_16(654);
+emit_16(589);
+emit_16(654);
+emit_16(590);
+emit_16(655);
+emit_16(591);
+emit_16(655);
+emit_16(590);
+emit_16(655);
+emit_16(591);
+emit_16(656);
+emit_16(592);
+emit_16(656);
+emit_16(591);
+emit_16(656);
+emit_16(592);
+emit_16(657);
+emit_16(593);
+emit_16(657);
+emit_16(592);
+emit_16(657);
+emit_16(593);
+emit_16(658);
+emit_16(594);
+emit_16(658);
+emit_16(593);
+emit_16(658);
+emit_16(594);
+emit_16(659);
+emit_16(595);
+emit_16(659);
+emit_16(594);
+emit_16(659);
+emit_16(595);
+emit_16(660);
+emit_16(596);
+emit_16(660);
+emit_16(595);
+emit_16(660);
+emit_16(596);
+emit_16(661);
+emit_16(597);
+emit_16(661);
+emit_16(596);
+emit_16(661);
+emit_16(597);
+emit_16(662);
+emit_16(598);
+emit_16(662);
+emit_16(597);
+emit_16(662);
+emit_16(598);
+emit_16(663);
+emit_16(599);
+emit_16(663);
+emit_16(598);
+emit_16(663);
+emit_16(599);
+emit_16(664);
+emit_16(600);
+emit_16(664);
+emit_16(599);
+emit_16(664);
+emit_16(600);
+emit_16(665);
+emit_16(601);
+emit_16(665);
+emit_16(600);
+emit_16(665);
+emit_16(601);
+emit_16(666);
+emit_16(602);
+emit_16(666);
+emit_16(601);
+emit_16(666);
+emit_16(602);
+emit_16(667);
+emit_16(603);
+emit_16(667);
+emit_16(602);
+emit_16(667);
+emit_16(603);
+emit_16(668);
+emit_16(604);
+emit_16(668);
+emit_16(603);
+emit_16(668);
+emit_16(604);
+emit_16(669);
+emit_16(605);
+emit_16(669);
+emit_16(604);
+emit_16(669);
+emit_16(605);
+emit_16(670);
+emit_16(606);
+emit_16(670);
+emit_16(605);
+emit_16(670);
+emit_16(606);
+emit_16(671);
+emit_16(607);
+emit_16(671);
+emit_16(606);
+emit_16(671);
+emit_16(607);
+emit_16(672);
+emit_16(608);
+emit_16(672);
+emit_16(607);
+emit_16(672);
+emit_16(608);
+emit_16(673);
+emit_16(609);
+emit_16(673);
+emit_16(608);
+emit_16(673);
+emit_16(609);
+emit_16(674);
+emit_16(610);
+emit_16(674);
+emit_16(609);
+emit_16(674);
+emit_16(610);
+emit_16(675);
+emit_16(611);
+emit_16(675);
+emit_16(610);
+emit_16(675);
+emit_16(611);
+emit_16(676);
+emit_16(612);
+emit_16(676);
+emit_16(611);
+emit_16(676);
+emit_16(612);
+emit_16(677);
+emit_16(613);
+emit_16(677);
+emit_16(612);
+emit_16(677);
+emit_16(613);
+emit_16(678);
+emit_16(614);
+emit_16(678);
+emit_16(613);
+emit_16(678);
+emit_16(614);
+emit_16(679);
+emit_16(615);
+emit_16(679);
+emit_16(614);
+emit_16(679);
+emit_16(615);
+emit_16(680);
+emit_16(616);
+emit_16(680);
+emit_16(615);
+emit_16(680);
+emit_16(616);
+emit_16(681);
+emit_16(617);
+emit_16(681);
+emit_16(616);
+emit_16(681);
+emit_16(617);
+emit_16(682);
+emit_16(618);
+emit_16(682);
+emit_16(617);
+emit_16(682);
+emit_16(618);
+emit_16(683);
+emit_16(619);
+emit_16(683);
+emit_16(618);
+emit_16(683);
+emit_16(619);
+emit_16(684);
+emit_16(620);
+emit_16(684);
+emit_16(619);
+emit_16(684);
+emit_16(620);
+emit_16(685);
+emit_16(621);
+emit_16(685);
+emit_16(620);
+emit_16(685);
+emit_16(621);
+emit_16(686);
+emit_16(622);
+emit_16(686);
+emit_16(621);
+emit_16(686);
+emit_16(622);
+emit_16(687);
+emit_16(623);
+emit_16(687);
+emit_16(622);
+emit_16(687);
+emit_16(623);
+emit_16(688);
+emit_16(624);
+emit_16(688);
+emit_16(623);
+emit_16(688);
+emit_16(624);
+emit_16(689);
+emit_16(625);
+emit_16(689);
+emit_16(624);
+emit_16(689);
+emit_16(625);
+emit_16(690);
+emit_16(626);
+emit_16(690);
+emit_16(625);
+emit_16(690);
+emit_16(626);
+emit_16(691);
+emit_16(627);
+emit_16(691);
+emit_16(626);
+emit_16(691);
+emit_16(627);
+emit_16(692);
+emit_16(628);
+emit_16(692);
+emit_16(627);
+emit_16(692);
+emit_16(628);
+emit_16(693);
+emit_16(629);
+emit_16(693);
+emit_16(628);
+emit_16(693);
+emit_16(629);
+emit_16(694);
+emit_16(630);
+emit_16(694);
+emit_16(629);
+emit_16(694);
+emit_16(630);
+emit_16(695);
+emit_16(631);
+emit_16(695);
+emit_16(630);
+emit_16(695);
+emit_16(631);
+emit_16(696);
+emit_16(632);
+emit_16(696);
+emit_16(631);
+emit_16(696);
+emit_16(632);
+emit_16(697);
+emit_16(633);
+emit_16(697);
+emit_16(632);
+emit_16(697);
+emit_16(633);
+emit_16(698);
+emit_16(634);
+emit_16(698);
+emit_16(633);
+emit_16(698);
+emit_16(634);
+emit_16(699);
+emit_16(635);
+emit_16(699);
+emit_16(634);
+emit_16(699);
+emit_16(635);
+emit_16(700);
+emit_16(636);
+emit_16(700);
+emit_16(635);
+emit_16(700);
+emit_16(636);
+emit_16(701);
+emit_16(637);
+emit_16(701);
+emit_16(636);
+emit_16(701);
+emit_16(637);
+emit_16(702);
+emit_16(638);
+emit_16(702);
+emit_16(637);
+emit_16(702);
+emit_16(638);
+emit_16(703);
+emit_16(639);
+emit_16(703);
+emit_16(638);
+emit_16(704);
+emit_16(640);
+emit_16(705);
+emit_16(641);
+emit_16(705);
+emit_16(640);
+emit_16(705);
+emit_16(641);
+emit_16(706);
+emit_16(642);
+emit_16(706);
+emit_16(641);
+emit_16(706);
+emit_16(642);
+emit_16(707);
+emit_16(643);
+emit_16(707);
+emit_16(642);
+emit_16(707);
+emit_16(643);
+emit_16(708);
+emit_16(644);
+emit_16(708);
+emit_16(643);
+emit_16(708);
+emit_16(644);
+emit_16(709);
+emit_16(645);
+emit_16(709);
+emit_16(644);
+emit_16(709);
+emit_16(645);
+emit_16(710);
+emit_16(646);
+emit_16(710);
+emit_16(645);
+emit_16(710);
+emit_16(646);
+emit_16(711);
+emit_16(647);
+emit_16(711);
+emit_16(646);
+emit_16(711);
+emit_16(647);
+emit_16(712);
+emit_16(648);
+emit_16(712);
+emit_16(647);
+emit_16(712);
+emit_16(648);
+emit_16(713);
+emit_16(649);
+emit_16(713);
+emit_16(648);
+emit_16(713);
+emit_16(649);
+emit_16(714);
+emit_16(650);
+emit_16(714);
+emit_16(649);
+emit_16(714);
+emit_16(650);
+emit_16(715);
+emit_16(651);
+emit_16(715);
+emit_16(650);
+emit_16(715);
+emit_16(651);
+emit_16(716);
+emit_16(652);
+emit_16(716);
+emit_16(651);
+emit_16(716);
+emit_16(652);
+emit_16(717);
+emit_16(653);
+emit_16(717);
+emit_16(652);
+emit_16(717);
+emit_16(653);
+emit_16(718);
+emit_16(654);
+emit_16(718);
+emit_16(653);
+emit_16(718);
+emit_16(654);
+emit_16(719);
+emit_16(655);
+emit_16(719);
+emit_16(654);
+emit_16(719);
+emit_16(655);
+emit_16(720);
+emit_16(656);
+emit_16(720);
+emit_16(655);
+emit_16(720);
+emit_16(656);
+emit_16(721);
+emit_16(657);
+emit_16(721);
+emit_16(656);
+emit_16(721);
+emit_16(657);
+emit_16(722);
+emit_16(658);
+emit_16(722);
+emit_16(657);
+emit_16(722);
+emit_16(658);
+emit_16(723);
+emit_16(659);
+emit_16(723);
+emit_16(658);
+emit_16(723);
+emit_16(659);
+emit_16(724);
+emit_16(660);
+emit_16(724);
+emit_16(659);
+emit_16(724);
+emit_16(660);
+emit_16(725);
+emit_16(661);
+emit_16(725);
+emit_16(660);
+emit_16(725);
+emit_16(661);
+emit_16(726);
+emit_16(662);
+emit_16(726);
+emit_16(661);
+emit_16(726);
+emit_16(662);
+emit_16(727);
+emit_16(663);
+emit_16(727);
+emit_16(662);
+emit_16(727);
+emit_16(663);
+emit_16(728);
+emit_16(664);
+emit_16(728);
+emit_16(663);
+emit_16(728);
+emit_16(664);
+emit_16(729);
+emit_16(665);
+emit_16(729);
+emit_16(664);
+emit_16(729);
+emit_16(665);
+emit_16(730);
+emit_16(666);
+emit_16(730);
+emit_16(665);
+emit_16(730);
+emit_16(666);
+emit_16(731);
+emit_16(667);
+emit_16(731);
+emit_16(666);
+emit_16(731);
+emit_16(667);
+emit_16(732);
+emit_16(668);
+emit_16(732);
+emit_16(667);
+emit_16(732);
+emit_16(668);
+emit_16(733);
+emit_16(669);
+emit_16(733);
+emit_16(668);
+emit_16(733);
+emit_16(669);
+emit_16(734);
+emit_16(670);
+emit_16(734);
+emit_16(669);
+emit_16(734);
+emit_16(670);
+emit_16(735);
+emit_16(671);
+emit_16(735);
+emit_16(670);
+emit_16(735);
+emit_16(671);
+emit_16(736);
+emit_16(672);
+emit_16(736);
+emit_16(671);
+emit_16(736);
+emit_16(672);
+emit_16(737);
+emit_16(673);
+emit_16(737);
+emit_16(672);
+emit_16(737);
+emit_16(673);
+emit_16(738);
+emit_16(674);
+emit_16(738);
+emit_16(673);
+emit_16(738);
+emit_16(674);
+emit_16(739);
+emit_16(675);
+emit_16(739);
+emit_16(674);
+emit_16(739);
+emit_16(675);
+emit_16(740);
+emit_16(676);
+emit_16(740);
+emit_16(675);
+emit_16(740);
+emit_16(676);
+emit_16(741);
+emit_16(677);
+emit_16(741);
+emit_16(676);
+emit_16(741);
+emit_16(677);
+emit_16(742);
+emit_16(678);
+emit_16(742);
+emit_16(677);
+emit_16(742);
+emit_16(678);
+emit_16(743);
+emit_16(679);
+emit_16(743);
+emit_16(678);
+emit_16(743);
+emit_16(679);
+emit_16(744);
+emit_16(680);
+emit_16(744);
+emit_16(679);
+emit_16(744);
+emit_16(680);
+emit_16(745);
+emit_16(681);
+emit_16(745);
+emit_16(680);
+emit_16(745);
+emit_16(681);
+emit_16(746);
+emit_16(682);
+emit_16(746);
+emit_16(681);
+emit_16(746);
+emit_16(682);
+emit_16(747);
+emit_16(683);
+emit_16(747);
+emit_16(682);
+emit_16(747);
+emit_16(683);
+emit_16(748);
+emit_16(684);
+emit_16(748);
+emit_16(683);
+emit_16(748);
+emit_16(684);
+emit_16(749);
+emit_16(685);
+emit_16(749);
+emit_16(684);
+emit_16(749);
+emit_16(685);
+emit_16(750);
+emit_16(686);
+emit_16(750);
+emit_16(685);
+emit_16(750);
+emit_16(686);
+emit_16(751);
+emit_16(687);
+emit_16(751);
+emit_16(686);
+emit_16(751);
+emit_16(687);
+emit_16(752);
+emit_16(688);
+emit_16(752);
+emit_16(687);
+emit_16(752);
+emit_16(688);
+emit_16(753);
+emit_16(689);
+emit_16(753);
+emit_16(688);
+emit_16(753);
+emit_16(689);
+emit_16(754);
+emit_16(690);
+emit_16(754);
+emit_16(689);
+emit_16(754);
+emit_16(690);
+emit_16(755);
+emit_16(691);
+emit_16(755);
+emit_16(690);
+emit_16(755);
+emit_16(691);
+emit_16(756);
+emit_16(692);
+emit_16(756);
+emit_16(691);
+emit_16(756);
+emit_16(692);
+emit_16(757);
+emit_16(693);
+emit_16(757);
+emit_16(692);
+emit_16(757);
+emit_16(693);
+emit_16(758);
+emit_16(694);
+emit_16(758);
+emit_16(693);
+emit_16(758);
+emit_16(694);
+emit_16(759);
+emit_16(695);
+emit_16(759);
+emit_16(694);
+emit_16(759);
+emit_16(695);
+emit_16(760);
+emit_16(696);
+emit_16(760);
+emit_16(695);
+emit_16(760);
+emit_16(696);
+emit_16(761);
+emit_16(697);
+emit_16(761);
+emit_16(696);
+emit_16(761);
+emit_16(697);
+emit_16(762);
+emit_16(698);
+emit_16(762);
+emit_16(697);
+emit_16(762);
+emit_16(698);
+emit_16(763);
+emit_16(699);
+emit_16(763);
+emit_16(698);
+emit_16(763);
+emit_16(699);
+emit_16(764);
+emit_16(700);
+emit_16(764);
+emit_16(699);
+emit_16(764);
+emit_16(700);
+emit_16(765);
+emit_16(701);
+emit_16(765);
+emit_16(700);
+emit_16(765);
+emit_16(701);
+emit_16(766);
+emit_16(702);
+emit_16(766);
+emit_16(701);
+emit_16(766);
+emit_16(702);
+emit_16(767);
+emit_16(703);
+emit_16(767);
+emit_16(702);
+emit_16(768);
+emit_16(704);
+emit_16(769);
+emit_16(705);
+emit_16(769);
+emit_16(704);
+emit_16(769);
+emit_16(705);
+emit_16(770);
+emit_16(706);
+emit_16(770);
+emit_16(705);
+emit_16(770);
+emit_16(706);
+emit_16(771);
+emit_16(707);
+emit_16(771);
+emit_16(706);
+emit_16(771);
+emit_16(707);
+emit_16(772);
+emit_16(708);
+emit_16(772);
+emit_16(707);
+emit_16(772);
+emit_16(708);
+emit_16(773);
+emit_16(709);
+emit_16(773);
+emit_16(708);
+emit_16(773);
+emit_16(709);
+emit_16(774);
+emit_16(710);
+emit_16(774);
+emit_16(709);
+emit_16(774);
+emit_16(710);
+emit_16(775);
+emit_16(711);
+emit_16(775);
+emit_16(710);
+emit_16(775);
+emit_16(711);
+emit_16(776);
+emit_16(712);
+emit_16(776);
+emit_16(711);
+emit_16(776);
+emit_16(712);
+emit_16(777);
+emit_16(713);
+emit_16(777);
+emit_16(712);
+emit_16(777);
+emit_16(713);
+emit_16(778);
+emit_16(714);
+emit_16(778);
+emit_16(713);
+emit_16(778);
+emit_16(714);
+emit_16(779);
+emit_16(715);
+emit_16(779);
+emit_16(714);
+emit_16(779);
+emit_16(715);
+emit_16(780);
+emit_16(716);
+emit_16(780);
+emit_16(715);
+emit_16(780);
+emit_16(716);
+emit_16(781);
+emit_16(717);
+emit_16(781);
+emit_16(716);
+emit_16(781);
+emit_16(717);
+emit_16(782);
+emit_16(718);
+emit_16(782);
+emit_16(717);
+emit_16(782);
+emit_16(718);
+emit_16(783);
+emit_16(719);
+emit_16(783);
+emit_16(718);
+emit_16(783);
+emit_16(719);
+emit_16(784);
+emit_16(720);
+emit_16(784);
+emit_16(719);
+emit_16(784);
+emit_16(720);
+emit_16(785);
+emit_16(721);
+emit_16(785);
+emit_16(720);
+emit_16(785);
+emit_16(721);
+emit_16(786);
+emit_16(722);
+emit_16(786);
+emit_16(721);
+emit_16(786);
+emit_16(722);
+emit_16(787);
+emit_16(723);
+emit_16(787);
+emit_16(722);
+emit_16(787);
+emit_16(723);
+emit_16(788);
+emit_16(724);
+emit_16(788);
+emit_16(723);
+emit_16(788);
+emit_16(724);
+emit_16(789);
+emit_16(725);
+emit_16(789);
+emit_16(724);
+emit_16(789);
+emit_16(725);
+emit_16(790);
+emit_16(726);
+emit_16(790);
+emit_16(725);
+emit_16(790);
+emit_16(726);
+emit_16(791);
+emit_16(727);
+emit_16(791);
+emit_16(726);
+emit_16(791);
+emit_16(727);
+emit_16(792);
+emit_16(728);
+emit_16(792);
+emit_16(727);
+emit_16(792);
+emit_16(728);
+emit_16(793);
+emit_16(729);
+emit_16(793);
+emit_16(728);
+emit_16(793);
+emit_16(729);
+emit_16(794);
+emit_16(730);
+emit_16(794);
+emit_16(729);
+emit_16(794);
+emit_16(730);
+emit_16(795);
+emit_16(731);
+emit_16(795);
+emit_16(730);
+emit_16(795);
+emit_16(731);
+emit_16(796);
+emit_16(732);
+emit_16(796);
+emit_16(731);
+emit_16(796);
+emit_16(732);
+emit_16(797);
+emit_16(733);
+emit_16(797);
+emit_16(732);
+emit_16(797);
+emit_16(733);
+emit_16(798);
+emit_16(734);
+emit_16(798);
+emit_16(733);
+emit_16(798);
+emit_16(734);
+emit_16(799);
+emit_16(735);
+emit_16(799);
+emit_16(734);
+emit_16(799);
+emit_16(735);
+emit_16(800);
+emit_16(736);
+emit_16(800);
+emit_16(735);
+emit_16(800);
+emit_16(736);
+emit_16(801);
+emit_16(737);
+emit_16(801);
+emit_16(736);
+emit_16(801);
+emit_16(737);
+emit_16(802);
+emit_16(738);
+emit_16(802);
+emit_16(737);
+emit_16(802);
+emit_16(738);
+emit_16(803);
+emit_16(739);
+emit_16(803);
+emit_16(738);
+emit_16(803);
+emit_16(739);
+emit_16(804);
+emit_16(740);
+emit_16(804);
+emit_16(739);
+emit_16(804);
+emit_16(740);
+emit_16(805);
+emit_16(741);
+emit_16(805);
+emit_16(740);
+emit_16(805);
+emit_16(741);
+emit_16(806);
+emit_16(742);
+emit_16(806);
+emit_16(741);
+emit_16(806);
+emit_16(742);
+emit_16(807);
+emit_16(743);
+emit_16(807);
+emit_16(742);
+emit_16(807);
+emit_16(743);
+emit_16(808);
+emit_16(744);
+emit_16(808);
+emit_16(743);
+emit_16(808);
+emit_16(744);
+emit_16(809);
+emit_16(745);
+emit_16(809);
+emit_16(744);
+emit_16(809);
+emit_16(745);
+emit_16(810);
+emit_16(746);
+emit_16(810);
+emit_16(745);
+emit_16(810);
+emit_16(746);
+emit_16(811);
+emit_16(747);
+emit_16(811);
+emit_16(746);
+emit_16(811);
+emit_16(747);
+emit_16(812);
+emit_16(748);
+emit_16(812);
+emit_16(747);
+emit_16(812);
+emit_16(748);
+emit_16(813);
+emit_16(749);
+emit_16(813);
+emit_16(748);
+emit_16(813);
+emit_16(749);
+emit_16(814);
+emit_16(750);
+emit_16(814);
+emit_16(749);
+emit_16(814);
+emit_16(750);
+emit_16(815);
+emit_16(751);
+emit_16(815);
+emit_16(750);
+emit_16(815);
+emit_16(751);
+emit_16(816);
+emit_16(752);
+emit_16(816);
+emit_16(751);
+emit_16(816);
+emit_16(752);
+emit_16(817);
+emit_16(753);
+emit_16(817);
+emit_16(752);
+emit_16(817);
+emit_16(753);
+emit_16(818);
+emit_16(754);
+emit_16(818);
+emit_16(753);
+emit_16(818);
+emit_16(754);
+emit_16(819);
+emit_16(755);
+emit_16(819);
+emit_16(754);
+emit_16(819);
+emit_16(755);
+emit_16(820);
+emit_16(756);
+emit_16(820);
+emit_16(755);
+emit_16(820);
+emit_16(756);
+emit_16(821);
+emit_16(757);
+emit_16(821);
+emit_16(756);
+emit_16(821);
+emit_16(757);
+emit_16(822);
+emit_16(758);
+emit_16(822);
+emit_16(757);
+emit_16(822);
+emit_16(758);
+emit_16(823);
+emit_16(759);
+emit_16(823);
+emit_16(758);
+emit_16(823);
+emit_16(759);
+emit_16(824);
+emit_16(760);
+emit_16(824);
+emit_16(759);
+emit_16(824);
+emit_16(760);
+emit_16(825);
+emit_16(761);
+emit_16(825);
+emit_16(760);
+emit_16(825);
+emit_16(761);
+emit_16(826);
+emit_16(762);
+emit_16(826);
+emit_16(761);
+emit_16(826);
+emit_16(762);
+emit_16(827);
+emit_16(763);
+emit_16(827);
+emit_16(762);
+emit_16(827);
+emit_16(763);
+emit_16(828);
+emit_16(764);
+emit_16(828);
+emit_16(763);
+emit_16(828);
+emit_16(764);
+emit_16(829);
+emit_16(765);
+emit_16(829);
+emit_16(764);
+emit_16(829);
+emit_16(765);
+emit_16(830);
+emit_16(766);
+emit_16(830);
+emit_16(765);
+emit_16(830);
+emit_16(766);
+emit_16(831);
+emit_16(767);
+emit_16(831);
+emit_16(766);
+emit_16(832);
+emit_16(768);
+emit_16(833);
+emit_16(769);
+emit_16(833);
+emit_16(768);
+emit_16(833);
+emit_16(769);
+emit_16(834);
+emit_16(770);
+emit_16(834);
+emit_16(769);
+emit_16(834);
+emit_16(770);
+emit_16(835);
+emit_16(771);
+emit_16(835);
+emit_16(770);
+emit_16(835);
+emit_16(771);
+emit_16(836);
+emit_16(772);
+emit_16(836);
+emit_16(771);
+emit_16(836);
+emit_16(772);
+emit_16(837);
+emit_16(773);
+emit_16(837);
+emit_16(772);
+emit_16(837);
+emit_16(773);
+emit_16(838);
+emit_16(774);
+emit_16(838);
+emit_16(773);
+emit_16(838);
+emit_16(774);
+emit_16(839);
+emit_16(775);
+emit_16(839);
+emit_16(774);
+emit_16(839);
+emit_16(775);
+emit_16(840);
+emit_16(776);
+emit_16(840);
+emit_16(775);
+emit_16(840);
+emit_16(776);
+emit_16(841);
+emit_16(777);
+emit_16(841);
+emit_16(776);
+emit_16(841);
+emit_16(777);
+emit_16(842);
+emit_16(778);
+emit_16(842);
+emit_16(777);
+emit_16(842);
+emit_16(778);
+emit_16(843);
+emit_16(779);
+emit_16(843);
+emit_16(778);
+emit_16(843);
+emit_16(779);
+emit_16(844);
+emit_16(780);
+emit_16(844);
+emit_16(779);
+emit_16(844);
+emit_16(780);
+emit_16(845);
+emit_16(781);
+emit_16(845);
+emit_16(780);
+emit_16(845);
+emit_16(781);
+emit_16(846);
+emit_16(782);
+emit_16(846);
+emit_16(781);
+emit_16(846);
+emit_16(782);
+emit_16(847);
+emit_16(783);
+emit_16(847);
+emit_16(782);
+emit_16(847);
+emit_16(783);
+emit_16(848);
+emit_16(784);
+emit_16(848);
+emit_16(783);
+emit_16(848);
+emit_16(784);
+emit_16(849);
+emit_16(785);
+emit_16(849);
+emit_16(784);
+emit_16(849);
+emit_16(785);
+emit_16(850);
+emit_16(786);
+emit_16(850);
+emit_16(785);
+emit_16(850);
+emit_16(786);
+emit_16(851);
+emit_16(787);
+emit_16(851);
+emit_16(786);
+emit_16(851);
+emit_16(787);
+emit_16(852);
+emit_16(788);
+emit_16(852);
+emit_16(787);
+emit_16(852);
+emit_16(788);
+emit_16(853);
+emit_16(789);
+emit_16(853);
+emit_16(788);
+emit_16(853);
+emit_16(789);
+emit_16(854);
+emit_16(790);
+emit_16(854);
+emit_16(789);
+emit_16(854);
+emit_16(790);
+emit_16(855);
+emit_16(791);
+emit_16(855);
+emit_16(790);
+emit_16(855);
+emit_16(791);
+emit_16(856);
+emit_16(792);
+emit_16(856);
+emit_16(791);
+emit_16(856);
+emit_16(792);
+emit_16(857);
+emit_16(793);
+emit_16(857);
+emit_16(792);
+emit_16(857);
+emit_16(793);
+emit_16(858);
+emit_16(794);
+emit_16(858);
+emit_16(793);
+emit_16(858);
+emit_16(794);
+emit_16(859);
+emit_16(795);
+emit_16(859);
+emit_16(794);
+emit_16(859);
+emit_16(795);
+emit_16(860);
+emit_16(796);
+emit_16(860);
+emit_16(795);
+emit_16(860);
+emit_16(796);
+emit_16(861);
+emit_16(797);
+emit_16(861);
+emit_16(796);
+emit_16(861);
+emit_16(797);
+emit_16(862);
+emit_16(798);
+emit_16(862);
+emit_16(797);
+emit_16(862);
+emit_16(798);
+emit_16(863);
+emit_16(799);
+emit_16(863);
+emit_16(798);
+emit_16(863);
+emit_16(799);
+emit_16(864);
+emit_16(800);
+emit_16(864);
+emit_16(799);
+emit_16(864);
+emit_16(800);
+emit_16(865);
+emit_16(801);
+emit_16(865);
+emit_16(800);
+emit_16(865);
+emit_16(801);
+emit_16(866);
+emit_16(802);
+emit_16(866);
+emit_16(801);
+emit_16(866);
+emit_16(802);
+emit_16(867);
+emit_16(803);
+emit_16(867);
+emit_16(802);
+emit_16(867);
+emit_16(803);
+emit_16(868);
+emit_16(804);
+emit_16(868);
+emit_16(803);
+emit_16(868);
+emit_16(804);
+emit_16(869);
+emit_16(805);
+emit_16(869);
+emit_16(804);
+emit_16(869);
+emit_16(805);
+emit_16(870);
+emit_16(806);
+emit_16(870);
+emit_16(805);
+emit_16(870);
+emit_16(806);
+emit_16(871);
+emit_16(807);
+emit_16(871);
+emit_16(806);
+emit_16(871);
+emit_16(807);
+emit_16(872);
+emit_16(808);
+emit_16(872);
+emit_16(807);
+emit_16(872);
+emit_16(808);
+emit_16(873);
+emit_16(809);
+emit_16(873);
+emit_16(808);
+emit_16(873);
+emit_16(809);
+emit_16(874);
+emit_16(810);
+emit_16(874);
+emit_16(809);
+emit_16(874);
+emit_16(810);
+emit_16(875);
+emit_16(811);
+emit_16(875);
+emit_16(810);
+emit_16(875);
+emit_16(811);
+emit_16(876);
+emit_16(812);
+emit_16(876);
+emit_16(811);
+emit_16(876);
+emit_16(812);
+emit_16(877);
+emit_16(813);
+emit_16(877);
+emit_16(812);
+emit_16(877);
+emit_16(813);
+emit_16(878);
+emit_16(814);
+emit_16(878);
+emit_16(813);
+emit_16(878);
+emit_16(814);
+emit_16(879);
+emit_16(815);
+emit_16(879);
+emit_16(814);
+emit_16(879);
+emit_16(815);
+emit_16(880);
+emit_16(816);
+emit_16(880);
+emit_16(815);
+emit_16(880);
+emit_16(816);
+emit_16(881);
+emit_16(817);
+emit_16(881);
+emit_16(816);
+emit_16(881);
+emit_16(817);
+emit_16(882);
+emit_16(818);
+emit_16(882);
+emit_16(817);
+emit_16(882);
+emit_16(818);
+emit_16(883);
+emit_16(819);
+emit_16(883);
+emit_16(818);
+emit_16(883);
+emit_16(819);
+emit_16(884);
+emit_16(820);
+emit_16(884);
+emit_16(819);
+emit_16(884);
+emit_16(820);
+emit_16(885);
+emit_16(821);
+emit_16(885);
+emit_16(820);
+emit_16(885);
+emit_16(821);
+emit_16(886);
+emit_16(822);
+emit_16(886);
+emit_16(821);
+emit_16(886);
+emit_16(822);
+emit_16(887);
+emit_16(823);
+emit_16(887);
+emit_16(822);
+emit_16(887);
+emit_16(823);
+emit_16(888);
+emit_16(824);
+emit_16(888);
+emit_16(823);
+emit_16(888);
+emit_16(824);
+emit_16(889);
+emit_16(825);
+emit_16(889);
+emit_16(824);
+emit_16(889);
+emit_16(825);
+emit_16(890);
+emit_16(826);
+emit_16(890);
+emit_16(825);
+emit_16(890);
+emit_16(826);
+emit_16(891);
+emit_16(827);
+emit_16(891);
+emit_16(826);
+emit_16(891);
+emit_16(827);
+emit_16(892);
+emit_16(828);
+emit_16(892);
+emit_16(827);
+emit_16(892);
+emit_16(828);
+emit_16(893);
+emit_16(829);
+emit_16(893);
+emit_16(828);
+emit_16(893);
+emit_16(829);
+emit_16(894);
+emit_16(830);
+emit_16(894);
+emit_16(829);
+emit_16(894);
+emit_16(830);
+emit_16(895);
+emit_16(831);
+emit_16(895);
+emit_16(830);
+emit_16(896);
+emit_16(832);
+emit_16(897);
+emit_16(833);
+emit_16(897);
+emit_16(832);
+emit_16(897);
+emit_16(833);
+emit_16(898);
+emit_16(834);
+emit_16(898);
+emit_16(833);
+emit_16(898);
+emit_16(834);
+emit_16(899);
+emit_16(835);
+emit_16(899);
+emit_16(834);
+emit_16(899);
+emit_16(835);
+emit_16(900);
+emit_16(836);
+emit_16(900);
+emit_16(835);
+emit_16(900);
+emit_16(836);
+emit_16(901);
+emit_16(837);
+emit_16(901);
+emit_16(836);
+emit_16(901);
+emit_16(837);
+emit_16(902);
+emit_16(838);
+emit_16(902);
+emit_16(837);
+emit_16(902);
+emit_16(838);
+emit_16(903);
+emit_16(839);
+emit_16(903);
+emit_16(838);
+emit_16(903);
+emit_16(839);
+emit_16(904);
+emit_16(840);
+emit_16(904);
+emit_16(839);
+emit_16(904);
+emit_16(840);
+emit_16(905);
+emit_16(841);
+emit_16(905);
+emit_16(840);
+emit_16(905);
+emit_16(841);
+emit_16(906);
+emit_16(842);
+emit_16(906);
+emit_16(841);
+emit_16(906);
+emit_16(842);
+emit_16(907);
+emit_16(843);
+emit_16(907);
+emit_16(842);
+emit_16(907);
+emit_16(843);
+emit_16(908);
+emit_16(844);
+emit_16(908);
+emit_16(843);
+emit_16(908);
+emit_16(844);
+emit_16(909);
+emit_16(845);
+emit_16(909);
+emit_16(844);
+emit_16(909);
+emit_16(845);
+emit_16(910);
+emit_16(846);
+emit_16(910);
+emit_16(845);
+emit_16(910);
+emit_16(846);
+emit_16(911);
+emit_16(847);
+emit_16(911);
+emit_16(846);
+emit_16(911);
+emit_16(847);
+emit_16(912);
+emit_16(848);
+emit_16(912);
+emit_16(847);
+emit_16(912);
+emit_16(848);
+emit_16(913);
+emit_16(849);
+emit_16(913);
+emit_16(848);
+emit_16(913);
+emit_16(849);
+emit_16(914);
+emit_16(850);
+emit_16(914);
+emit_16(849);
+emit_16(914);
+emit_16(850);
+emit_16(915);
+emit_16(851);
+emit_16(915);
+emit_16(850);
+emit_16(915);
+emit_16(851);
+emit_16(916);
+emit_16(852);
+emit_16(916);
+emit_16(851);
+emit_16(916);
+emit_16(852);
+emit_16(917);
+emit_16(853);
+emit_16(917);
+emit_16(852);
+emit_16(917);
+emit_16(853);
+emit_16(918);
+emit_16(854);
+emit_16(918);
+emit_16(853);
+emit_16(918);
+emit_16(854);
+emit_16(919);
+emit_16(855);
+emit_16(919);
+emit_16(854);
+emit_16(919);
+emit_16(855);
+emit_16(920);
+emit_16(856);
+emit_16(920);
+emit_16(855);
+emit_16(920);
+emit_16(856);
+emit_16(921);
+emit_16(857);
+emit_16(921);
+emit_16(856);
+emit_16(921);
+emit_16(857);
+emit_16(922);
+emit_16(858);
+emit_16(922);
+emit_16(857);
+emit_16(922);
+emit_16(858);
+emit_16(923);
+emit_16(859);
+emit_16(923);
+emit_16(858);
+emit_16(923);
+emit_16(859);
+emit_16(924);
+emit_16(860);
+emit_16(924);
+emit_16(859);
+emit_16(924);
+emit_16(860);
+emit_16(925);
+emit_16(861);
+emit_16(925);
+emit_16(860);
+emit_16(925);
+emit_16(861);
+emit_16(926);
+emit_16(862);
+emit_16(926);
+emit_16(861);
+emit_16(926);
+emit_16(862);
+emit_16(927);
+emit_16(863);
+emit_16(927);
+emit_16(862);
+emit_16(927);
+emit_16(863);
+emit_16(928);
+emit_16(864);
+emit_16(928);
+emit_16(863);
+emit_16(928);
+emit_16(864);
+emit_16(929);
+emit_16(865);
+emit_16(929);
+emit_16(864);
+emit_16(929);
+emit_16(865);
+emit_16(930);
+emit_16(866);
+emit_16(930);
+emit_16(865);
+emit_16(930);
+emit_16(866);
+emit_16(931);
+emit_16(867);
+emit_16(931);
+emit_16(866);
+emit_16(931);
+emit_16(867);
+emit_16(932);
+emit_16(868);
+emit_16(932);
+emit_16(867);
+emit_16(932);
+emit_16(868);
+emit_16(933);
+emit_16(869);
+emit_16(933);
+emit_16(868);
+emit_16(933);
+emit_16(869);
+emit_16(934);
+emit_16(870);
+emit_16(934);
+emit_16(869);
+emit_16(934);
+emit_16(870);
+emit_16(935);
+emit_16(871);
+emit_16(935);
+emit_16(870);
+emit_16(935);
+emit_16(871);
+emit_16(936);
+emit_16(872);
+emit_16(936);
+emit_16(871);
+emit_16(936);
+emit_16(872);
+emit_16(937);
+emit_16(873);
+emit_16(937);
+emit_16(872);
+emit_16(937);
+emit_16(873);
+emit_16(938);
+emit_16(874);
+emit_16(938);
+emit_16(873);
+emit_16(938);
+emit_16(874);
+emit_16(939);
+emit_16(875);
+emit_16(939);
+emit_16(874);
+emit_16(939);
+emit_16(875);
+emit_16(940);
+emit_16(876);
+emit_16(940);
+emit_16(875);
+emit_16(940);
+emit_16(876);
+emit_16(941);
+emit_16(877);
+emit_16(941);
+emit_16(876);
+emit_16(941);
+emit_16(877);
+emit_16(942);
+emit_16(878);
+emit_16(942);
+emit_16(877);
+emit_16(942);
+emit_16(878);
+emit_16(943);
+emit_16(879);
+emit_16(943);
+emit_16(878);
+emit_16(943);
+emit_16(879);
+emit_16(944);
+emit_16(880);
+emit_16(944);
+emit_16(879);
+emit_16(944);
+emit_16(880);
+emit_16(945);
+emit_16(881);
+emit_16(945);
+emit_16(880);
+emit_16(945);
+emit_16(881);
+emit_16(946);
+emit_16(882);
+emit_16(946);
+emit_16(881);
+emit_16(946);
+emit_16(882);
+emit_16(947);
+emit_16(883);
+emit_16(947);
+emit_16(882);
+emit_16(947);
+emit_16(883);
+emit_16(948);
+emit_16(884);
+emit_16(948);
+emit_16(883);
+emit_16(948);
+emit_16(884);
+emit_16(949);
+emit_16(885);
+emit_16(949);
+emit_16(884);
+emit_16(949);
+emit_16(885);
+emit_16(950);
+emit_16(886);
+emit_16(950);
+emit_16(885);
+emit_16(950);
+emit_16(886);
+emit_16(951);
+emit_16(887);
+emit_16(951);
+emit_16(886);
+emit_16(951);
+emit_16(887);
+emit_16(952);
+emit_16(888);
+emit_16(952);
+emit_16(887);
+emit_16(952);
+emit_16(888);
+emit_16(953);
+emit_16(889);
+emit_16(953);
+emit_16(888);
+emit_16(953);
+emit_16(889);
+emit_16(954);
+emit_16(890);
+emit_16(954);
+emit_16(889);
+emit_16(954);
+emit_16(890);
+emit_16(955);
+emit_16(891);
+emit_16(955);
+emit_16(890);
+emit_16(955);
+emit_16(891);
+emit_16(956);
+emit_16(892);
+emit_16(956);
+emit_16(891);
+emit_16(956);
+emit_16(892);
+emit_16(957);
+emit_16(893);
+emit_16(957);
+emit_16(892);
+emit_16(957);
+emit_16(893);
+emit_16(958);
+emit_16(894);
+emit_16(958);
+emit_16(893);
+emit_16(958);
+emit_16(894);
+emit_16(959);
+emit_16(895);
+emit_16(959);
+emit_16(894);
+emit_16(960);
+emit_16(896);
+emit_16(961);
+emit_16(897);
+emit_16(961);
+emit_16(896);
+emit_16(961);
+emit_16(897);
+emit_16(962);
+emit_16(898);
+emit_16(962);
+emit_16(897);
+emit_16(962);
+emit_16(898);
+emit_16(963);
+emit_16(899);
+emit_16(963);
+emit_16(898);
+emit_16(963);
+emit_16(899);
+emit_16(964);
+emit_16(900);
+emit_16(964);
+emit_16(899);
+emit_16(964);
+emit_16(900);
+emit_16(965);
+emit_16(901);
+emit_16(965);
+emit_16(900);
+emit_16(965);
+emit_16(901);
+emit_16(966);
+emit_16(902);
+emit_16(966);
+emit_16(901);
+emit_16(966);
+emit_16(902);
+emit_16(967);
+emit_16(903);
+emit_16(967);
+emit_16(902);
+emit_16(967);
+emit_16(903);
+emit_16(968);
+emit_16(904);
+emit_16(968);
+emit_16(903);
+emit_16(968);
+emit_16(904);
+emit_16(969);
+emit_16(905);
+emit_16(969);
+emit_16(904);
+emit_16(969);
+emit_16(905);
+emit_16(970);
+emit_16(906);
+emit_16(970);
+emit_16(905);
+emit_16(970);
+emit_16(906);
+emit_16(971);
+emit_16(907);
+emit_16(971);
+emit_16(906);
+emit_16(971);
+emit_16(907);
+emit_16(972);
+emit_16(908);
+emit_16(972);
+emit_16(907);
+emit_16(972);
+emit_16(908);
+emit_16(973);
+emit_16(909);
+emit_16(973);
+emit_16(908);
+emit_16(973);
+emit_16(909);
+emit_16(974);
+emit_16(910);
+emit_16(974);
+emit_16(909);
+emit_16(974);
+emit_16(910);
+emit_16(975);
+emit_16(911);
+emit_16(975);
+emit_16(910);
+emit_16(975);
+emit_16(911);
+emit_16(976);
+emit_16(912);
+emit_16(976);
+emit_16(911);
+emit_16(976);
+emit_16(912);
+emit_16(977);
+emit_16(913);
+emit_16(977);
+emit_16(912);
+emit_16(977);
+emit_16(913);
+emit_16(978);
+emit_16(914);
+emit_16(978);
+emit_16(913);
+emit_16(978);
+emit_16(914);
+emit_16(979);
+emit_16(915);
+emit_16(979);
+emit_16(914);
+emit_16(979);
+emit_16(915);
+emit_16(980);
+emit_16(916);
+emit_16(980);
+emit_16(915);
+emit_16(980);
+emit_16(916);
+emit_16(981);
+emit_16(917);
+emit_16(981);
+emit_16(916);
+emit_16(981);
+emit_16(917);
+emit_16(982);
+emit_16(918);
+emit_16(982);
+emit_16(917);
+emit_16(982);
+emit_16(918);
+emit_16(983);
+emit_16(919);
+emit_16(983);
+emit_16(918);
+emit_16(983);
+emit_16(919);
+emit_16(984);
+emit_16(920);
+emit_16(984);
+emit_16(919);
+emit_16(984);
+emit_16(920);
+emit_16(985);
+emit_16(921);
+emit_16(985);
+emit_16(920);
+emit_16(985);
+emit_16(921);
+emit_16(986);
+emit_16(922);
+emit_16(986);
+emit_16(921);
+emit_16(986);
+emit_16(922);
+emit_16(987);
+emit_16(923);
+emit_16(987);
+emit_16(922);
+emit_16(987);
+emit_16(923);
+emit_16(988);
+emit_16(924);
+emit_16(988);
+emit_16(923);
+emit_16(988);
+emit_16(924);
+emit_16(989);
+emit_16(925);
+emit_16(989);
+emit_16(924);
+emit_16(989);
+emit_16(925);
+emit_16(990);
+emit_16(926);
+emit_16(990);
+emit_16(925);
+emit_16(990);
+emit_16(926);
+emit_16(991);
+emit_16(927);
+emit_16(991);
+emit_16(926);
+emit_16(991);
+emit_16(927);
+emit_16(992);
+emit_16(928);
+emit_16(992);
+emit_16(927);
+emit_16(992);
+emit_16(928);
+emit_16(993);
+emit_16(929);
+emit_16(993);
+emit_16(928);
+emit_16(993);
+emit_16(929);
+emit_16(994);
+emit_16(930);
+emit_16(994);
+emit_16(929);
+emit_16(994);
+emit_16(930);
+emit_16(995);
+emit_16(931);
+emit_16(995);
+emit_16(930);
+emit_16(995);
+emit_16(931);
+emit_16(996);
+emit_16(932);
+emit_16(996);
+emit_16(931);
+emit_16(996);
+emit_16(932);
+emit_16(997);
+emit_16(933);
+emit_16(997);
+emit_16(932);
+emit_16(997);
+emit_16(933);
+emit_16(998);
+emit_16(934);
+emit_16(998);
+emit_16(933);
+emit_16(998);
+emit_16(934);
+emit_16(999);
+emit_16(935);
+emit_16(999);
+emit_16(934);
+emit_16(999);
+emit_16(935);
+emit_16(1000);
+emit_16(936);
+emit_16(1000);
+emit_16(935);
+emit_16(1000);
+emit_16(936);
+emit_16(1001);
+emit_16(937);
+emit_16(1001);
+emit_16(936);
+emit_16(1001);
+emit_16(937);
+emit_16(1002);
+emit_16(938);
+emit_16(1002);
+emit_16(937);
+emit_16(1002);
+emit_16(938);
+emit_16(1003);
+emit_16(939);
+emit_16(1003);
+emit_16(938);
+emit_16(1003);
+emit_16(939);
+emit_16(1004);
+emit_16(940);
+emit_16(1004);
+emit_16(939);
+emit_16(1004);
+emit_16(940);
+emit_16(1005);
+emit_16(941);
+emit_16(1005);
+emit_16(940);
+emit_16(1005);
+emit_16(941);
+emit_16(1006);
+emit_16(942);
+emit_16(1006);
+emit_16(941);
+emit_16(1006);
+emit_16(942);
+emit_16(1007);
+emit_16(943);
+emit_16(1007);
+emit_16(942);
+emit_16(1007);
+emit_16(943);
+emit_16(1008);
+emit_16(944);
+emit_16(1008);
+emit_16(943);
+emit_16(1008);
+emit_16(944);
+emit_16(1009);
+emit_16(945);
+emit_16(1009);
+emit_16(944);
+emit_16(1009);
+emit_16(945);
+emit_16(1010);
+emit_16(946);
+emit_16(1010);
+emit_16(945);
+emit_16(1010);
+emit_16(946);
+emit_16(1011);
+emit_16(947);
+emit_16(1011);
+emit_16(946);
+emit_16(1011);
+emit_16(947);
+emit_16(1012);
+emit_16(948);
+emit_16(1012);
+emit_16(947);
+emit_16(1012);
+emit_16(948);
+emit_16(1013);
+emit_16(949);
+emit_16(1013);
+emit_16(948);
+emit_16(1013);
+emit_16(949);
+emit_16(1014);
+emit_16(950);
+emit_16(1014);
+emit_16(949);
+emit_16(1014);
+emit_16(950);
+emit_16(1015);
+emit_16(951);
+emit_16(1015);
+emit_16(950);
+emit_16(1015);
+emit_16(951);
+emit_16(1016);
+emit_16(952);
+emit_16(1016);
+emit_16(951);
+emit_16(1016);
+emit_16(952);
+emit_16(1017);
+emit_16(953);
+emit_16(1017);
+emit_16(952);
+emit_16(1017);
+emit_16(953);
+emit_16(1018);
+emit_16(954);
+emit_16(1018);
+emit_16(953);
+emit_16(1018);
+emit_16(954);
+emit_16(1019);
+emit_16(955);
+emit_16(1019);
+emit_16(954);
+emit_16(1019);
+emit_16(955);
+emit_16(1020);
+emit_16(956);
+emit_16(1020);
+emit_16(955);
+emit_16(1020);
+emit_16(956);
+emit_16(1021);
+emit_16(957);
+emit_16(1021);
+emit_16(956);
+emit_16(1021);
+emit_16(957);
+emit_16(1022);
+emit_16(958);
+emit_16(1022);
+emit_16(957);
+emit_16(1022);
+emit_16(958);
+emit_16(1023);
+emit_16(959);
+emit_16(1023);
+emit_16(958);
+emit_16(1024);
+emit_16(960);
+emit_16(1025);
+emit_16(961);
+emit_16(1025);
+emit_16(960);
+emit_16(1025);
+emit_16(961);
+emit_16(1026);
+emit_16(962);
+emit_16(1026);
+emit_16(961);
+emit_16(1026);
+emit_16(962);
+emit_16(1027);
+emit_16(963);
+emit_16(1027);
+emit_16(962);
+emit_16(1027);
+emit_16(963);
+emit_16(1028);
+emit_16(964);
+emit_16(1028);
+emit_16(963);
+emit_16(1028);
+emit_16(964);
+emit_16(1029);
+emit_16(965);
+emit_16(1029);
+emit_16(964);
+emit_16(1029);
+emit_16(965);
+emit_16(1030);
+emit_16(966);
+emit_16(1030);
+emit_16(965);
+emit_16(1030);
+emit_16(966);
+emit_16(1031);
+emit_16(967);
+emit_16(1031);
+emit_16(966);
+emit_16(1031);
+emit_16(967);
+emit_16(1032);
+emit_16(968);
+emit_16(1032);
+emit_16(967);
+emit_16(1032);
+emit_16(968);
+emit_16(1033);
+emit_16(969);
+emit_16(1033);
+emit_16(968);
+emit_16(1033);
+emit_16(969);
+emit_16(1034);
+emit_16(970);
+emit_16(1034);
+emit_16(969);
+emit_16(1034);
+emit_16(970);
+emit_16(1035);
+emit_16(971);
+emit_16(1035);
+emit_16(970);
+emit_16(1035);
+emit_16(971);
+emit_16(1036);
+emit_16(972);
+emit_16(1036);
+emit_16(971);
+emit_16(1036);
+emit_16(972);
+emit_16(1037);
+emit_16(973);
+emit_16(1037);
+emit_16(972);
+emit_16(1037);
+emit_16(973);
+emit_16(1038);
+emit_16(974);
+emit_16(1038);
+emit_16(973);
+emit_16(1038);
+emit_16(974);
+emit_16(1039);
+emit_16(975);
+emit_16(1039);
+emit_16(974);
+emit_16(1039);
+emit_16(975);
+emit_16(1040);
+emit_16(976);
+emit_16(1040);
+emit_16(975);
+emit_16(1040);
+emit_16(976);
+emit_16(1041);
+emit_16(977);
+emit_16(1041);
+emit_16(976);
+emit_16(1041);
+emit_16(977);
+emit_16(1042);
+emit_16(978);
+emit_16(1042);
+emit_16(977);
+emit_16(1042);
+emit_16(978);
+emit_16(1043);
+emit_16(979);
+emit_16(1043);
+emit_16(978);
+emit_16(1043);
+emit_16(979);
+emit_16(1044);
+emit_16(980);
+emit_16(1044);
+emit_16(979);
+emit_16(1044);
+emit_16(980);
+emit_16(1045);
+emit_16(981);
+emit_16(1045);
+emit_16(980);
+emit_16(1045);
+emit_16(981);
+emit_16(1046);
+emit_16(982);
+emit_16(1046);
+emit_16(981);
+emit_16(1046);
+emit_16(982);
+emit_16(1047);
+emit_16(983);
+emit_16(1047);
+emit_16(982);
+emit_16(1047);
+emit_16(983);
+emit_16(1048);
+emit_16(984);
+emit_16(1048);
+emit_16(983);
+emit_16(1048);
+emit_16(984);
+emit_16(1049);
+emit_16(985);
+emit_16(1049);
+emit_16(984);
+emit_16(1049);
+emit_16(985);
+emit_16(1050);
+emit_16(986);
+emit_16(1050);
+emit_16(985);
+emit_16(1050);
+emit_16(986);
+emit_16(1051);
+emit_16(987);
+emit_16(1051);
+emit_16(986);
+emit_16(1051);
+emit_16(987);
+emit_16(1052);
+emit_16(988);
+emit_16(1052);
+emit_16(987);
+emit_16(1052);
+emit_16(988);
+emit_16(1053);
+emit_16(989);
+emit_16(1053);
+emit_16(988);
+emit_16(1053);
+emit_16(989);
+emit_16(1054);
+emit_16(990);
+emit_16(1054);
+emit_16(989);
+emit_16(1054);
+emit_16(990);
+emit_16(1055);
+emit_16(991);
+emit_16(1055);
+emit_16(990);
+emit_16(1055);
+emit_16(991);
+emit_16(1056);
+emit_16(992);
+emit_16(1056);
+emit_16(991);
+emit_16(1056);
+emit_16(992);
+emit_16(1057);
+emit_16(993);
+emit_16(1057);
+emit_16(992);
+emit_16(1057);
+emit_16(993);
+emit_16(1058);
+emit_16(994);
+emit_16(1058);
+emit_16(993);
+emit_16(1058);
+emit_16(994);
+emit_16(1059);
+emit_16(995);
+emit_16(1059);
+emit_16(994);
+emit_16(1059);
+emit_16(995);
+emit_16(1060);
+emit_16(996);
+emit_16(1060);
+emit_16(995);
+emit_16(1060);
+emit_16(996);
+emit_16(1061);
+emit_16(997);
+emit_16(1061);
+emit_16(996);
+emit_16(1061);
+emit_16(997);
+emit_16(1062);
+emit_16(998);
+emit_16(1062);
+emit_16(997);
+emit_16(1062);
+emit_16(998);
+emit_16(1063);
+emit_16(999);
+emit_16(1063);
+emit_16(998);
+emit_16(1063);
+emit_16(999);
+emit_16(1064);
+emit_16(1000);
+emit_16(1064);
+emit_16(999);
+emit_16(1064);
+emit_16(1000);
+emit_16(1065);
+emit_16(1001);
+emit_16(1065);
+emit_16(1000);
+emit_16(1065);
+emit_16(1001);
+emit_16(1066);
+emit_16(1002);
+emit_16(1066);
+emit_16(1001);
+emit_16(1066);
+emit_16(1002);
+emit_16(1067);
+emit_16(1003);
+emit_16(1067);
+emit_16(1002);
+emit_16(1067);
+emit_16(1003);
+emit_16(1068);
+emit_16(1004);
+emit_16(1068);
+emit_16(1003);
+emit_16(1068);
+emit_16(1004);
+emit_16(1069);
+emit_16(1005);
+emit_16(1069);
+emit_16(1004);
+emit_16(1069);
+emit_16(1005);
+emit_16(1070);
+emit_16(1006);
+emit_16(1070);
+emit_16(1005);
+emit_16(1070);
+emit_16(1006);
+emit_16(1071);
+emit_16(1007);
+emit_16(1071);
+emit_16(1006);
+emit_16(1071);
+emit_16(1007);
+emit_16(1072);
+emit_16(1008);
+emit_16(1072);
+emit_16(1007);
+emit_16(1072);
+emit_16(1008);
+emit_16(1073);
+emit_16(1009);
+emit_16(1073);
+emit_16(1008);
+emit_16(1073);
+emit_16(1009);
+emit_16(1074);
+emit_16(1010);
+emit_16(1074);
+emit_16(1009);
+emit_16(1074);
+emit_16(1010);
+emit_16(1075);
+emit_16(1011);
+emit_16(1075);
+emit_16(1010);
+emit_16(1075);
+emit_16(1011);
+emit_16(1076);
+emit_16(1012);
+emit_16(1076);
+emit_16(1011);
+emit_16(1076);
+emit_16(1012);
+emit_16(1077);
+emit_16(1013);
+emit_16(1077);
+emit_16(1012);
+emit_16(1077);
+emit_16(1013);
+emit_16(1078);
+emit_16(1014);
+emit_16(1078);
+emit_16(1013);
+emit_16(1078);
+emit_16(1014);
+emit_16(1079);
+emit_16(1015);
+emit_16(1079);
+emit_16(1014);
+emit_16(1079);
+emit_16(1015);
+emit_16(1080);
+emit_16(1016);
+emit_16(1080);
+emit_16(1015);
+emit_16(1080);
+emit_16(1016);
+emit_16(1081);
+emit_16(1017);
+emit_16(1081);
+emit_16(1016);
+emit_16(1081);
+emit_16(1017);
+emit_16(1082);
+emit_16(1018);
+emit_16(1082);
+emit_16(1017);
+emit_16(1082);
+emit_16(1018);
+emit_16(1083);
+emit_16(1019);
+emit_16(1083);
+emit_16(1018);
+emit_16(1083);
+emit_16(1019);
+emit_16(1084);
+emit_16(1020);
+emit_16(1084);
+emit_16(1019);
+emit_16(1084);
+emit_16(1020);
+emit_16(1085);
+emit_16(1021);
+emit_16(1085);
+emit_16(1020);
+emit_16(1085);
+emit_16(1021);
+emit_16(1086);
+emit_16(1022);
+emit_16(1086);
+emit_16(1021);
+emit_16(1086);
+emit_16(1022);
+emit_16(1087);
+emit_16(1023);
+emit_16(1087);
+emit_16(1022);
+emit_16(1088);
+emit_16(1024);
+emit_16(1089);
+emit_16(1025);
+emit_16(1089);
+emit_16(1024);
+emit_16(1089);
+emit_16(1025);
+emit_16(1090);
+emit_16(1026);
+emit_16(1090);
+emit_16(1025);
+emit_16(1090);
+emit_16(1026);
+emit_16(1091);
+emit_16(1027);
+emit_16(1091);
+emit_16(1026);
+emit_16(1091);
+emit_16(1027);
+emit_16(1092);
+emit_16(1028);
+emit_16(1092);
+emit_16(1027);
+emit_16(1092);
+emit_16(1028);
+emit_16(1093);
+emit_16(1029);
+emit_16(1093);
+emit_16(1028);
+emit_16(1093);
+emit_16(1029);
+emit_16(1094);
+emit_16(1030);
+emit_16(1094);
+emit_16(1029);
+emit_16(1094);
+emit_16(1030);
+emit_16(1095);
+emit_16(1031);
+emit_16(1095);
+emit_16(1030);
+emit_16(1095);
+emit_16(1031);
+emit_16(1096);
+emit_16(1032);
+emit_16(1096);
+emit_16(1031);
+emit_16(1096);
+emit_16(1032);
+emit_16(1097);
+emit_16(1033);
+emit_16(1097);
+emit_16(1032);
+emit_16(1097);
+emit_16(1033);
+emit_16(1098);
+emit_16(1034);
+emit_16(1098);
+emit_16(1033);
+emit_16(1098);
+emit_16(1034);
+emit_16(1099);
+emit_16(1035);
+emit_16(1099);
+emit_16(1034);
+emit_16(1099);
+emit_16(1035);
+emit_16(1100);
+emit_16(1036);
+emit_16(1100);
+emit_16(1035);
+emit_16(1100);
+emit_16(1036);
+emit_16(1101);
+emit_16(1037);
+emit_16(1101);
+emit_16(1036);
+emit_16(1101);
+emit_16(1037);
+emit_16(1102);
+emit_16(1038);
+emit_16(1102);
+emit_16(1037);
+emit_16(1102);
+emit_16(1038);
+emit_16(1103);
+emit_16(1039);
+emit_16(1103);
+emit_16(1038);
+emit_16(1103);
+emit_16(1039);
+emit_16(1104);
+emit_16(1040);
+emit_16(1104);
+emit_16(1039);
+emit_16(1104);
+emit_16(1040);
+emit_16(1105);
+emit_16(1041);
+emit_16(1105);
+emit_16(1040);
+emit_16(1105);
+emit_16(1041);
+emit_16(1106);
+emit_16(1042);
+emit_16(1106);
+emit_16(1041);
+emit_16(1106);
+emit_16(1042);
+emit_16(1107);
+emit_16(1043);
+emit_16(1107);
+emit_16(1042);
+emit_16(1107);
+emit_16(1043);
+emit_16(1108);
+emit_16(1044);
+emit_16(1108);
+emit_16(1043);
+emit_16(1108);
+emit_16(1044);
+emit_16(1109);
+emit_16(1045);
+emit_16(1109);
+emit_16(1044);
+emit_16(1109);
+emit_16(1045);
+emit_16(1110);
+emit_16(1046);
+emit_16(1110);
+emit_16(1045);
+emit_16(1110);
+emit_16(1046);
+emit_16(1111);
+emit_16(1047);
+emit_16(1111);
+emit_16(1046);
+emit_16(1111);
+emit_16(1047);
+emit_16(1112);
+emit_16(1048);
+emit_16(1112);
+emit_16(1047);
+emit_16(1112);
+emit_16(1048);
+emit_16(1113);
+emit_16(1049);
+emit_16(1113);
+emit_16(1048);
+emit_16(1113);
+emit_16(1049);
+emit_16(1114);
+emit_16(1050);
+emit_16(1114);
+emit_16(1049);
+emit_16(1114);
+emit_16(1050);
+emit_16(1115);
+emit_16(1051);
+emit_16(1115);
+emit_16(1050);
+emit_16(1115);
+emit_16(1051);
+emit_16(1116);
+emit_16(1052);
+emit_16(1116);
+emit_16(1051);
+emit_16(1116);
+emit_16(1052);
+emit_16(1117);
+emit_16(1053);
+emit_16(1117);
+emit_16(1052);
+emit_16(1117);
+emit_16(1053);
+emit_16(1118);
+emit_16(1054);
+emit_16(1118);
+emit_16(1053);
+emit_16(1118);
+emit_16(1054);
+emit_16(1119);
+emit_16(1055);
+emit_16(1119);
+emit_16(1054);
+emit_16(1119);
+emit_16(1055);
+emit_16(1120);
+emit_16(1056);
+emit_16(1120);
+emit_16(1055);
+emit_16(1120);
+emit_16(1056);
+emit_16(1121);
+emit_16(1057);
+emit_16(1121);
+emit_16(1056);
+emit_16(1121);
+emit_16(1057);
+emit_16(1122);
+emit_16(1058);
+emit_16(1122);
+emit_16(1057);
+emit_16(1122);
+emit_16(1058);
+emit_16(1123);
+emit_16(1059);
+emit_16(1123);
+emit_16(1058);
+emit_16(1123);
+emit_16(1059);
+emit_16(1124);
+emit_16(1060);
+emit_16(1124);
+emit_16(1059);
+emit_16(1124);
+emit_16(1060);
+emit_16(1125);
+emit_16(1061);
+emit_16(1125);
+emit_16(1060);
+emit_16(1125);
+emit_16(1061);
+emit_16(1126);
+emit_16(1062);
+emit_16(1126);
+emit_16(1061);
+emit_16(1126);
+emit_16(1062);
+emit_16(1127);
+emit_16(1063);
+emit_16(1127);
+emit_16(1062);
+emit_16(1127);
+emit_16(1063);
+emit_16(1128);
+emit_16(1064);
+emit_16(1128);
+emit_16(1063);
+emit_16(1128);
+emit_16(1064);
+emit_16(1129);
+emit_16(1065);
+emit_16(1129);
+emit_16(1064);
+emit_16(1129);
+emit_16(1065);
+emit_16(1130);
+emit_16(1066);
+emit_16(1130);
+emit_16(1065);
+emit_16(1130);
+emit_16(1066);
+emit_16(1131);
+emit_16(1067);
+emit_16(1131);
+emit_16(1066);
+emit_16(1131);
+emit_16(1067);
+emit_16(1132);
+emit_16(1068);
+emit_16(1132);
+emit_16(1067);
+emit_16(1132);
+emit_16(1068);
+emit_16(1133);
+emit_16(1069);
+emit_16(1133);
+emit_16(1068);
+emit_16(1133);
+emit_16(1069);
+emit_16(1134);
+emit_16(1070);
+emit_16(1134);
+emit_16(1069);
+emit_16(1134);
+emit_16(1070);
+emit_16(1135);
+emit_16(1071);
+emit_16(1135);
+emit_16(1070);
+emit_16(1135);
+emit_16(1071);
+emit_16(1136);
+emit_16(1072);
+emit_16(1136);
+emit_16(1071);
+emit_16(1136);
+emit_16(1072);
+emit_16(1137);
+emit_16(1073);
+emit_16(1137);
+emit_16(1072);
+emit_16(1137);
+emit_16(1073);
+emit_16(1138);
+emit_16(1074);
+emit_16(1138);
+emit_16(1073);
+emit_16(1138);
+emit_16(1074);
+emit_16(1139);
+emit_16(1075);
+emit_16(1139);
+emit_16(1074);
+emit_16(1139);
+emit_16(1075);
+emit_16(1140);
+emit_16(1076);
+emit_16(1140);
+emit_16(1075);
+emit_16(1140);
+emit_16(1076);
+emit_16(1141);
+emit_16(1077);
+emit_16(1141);
+emit_16(1076);
+emit_16(1141);
+emit_16(1077);
+emit_16(1142);
+emit_16(1078);
+emit_16(1142);
+emit_16(1077);
+emit_16(1142);
+emit_16(1078);
+emit_16(1143);
+emit_16(1079);
+emit_16(1143);
+emit_16(1078);
+emit_16(1143);
+emit_16(1079);
+emit_16(1144);
+emit_16(1080);
+emit_16(1144);
+emit_16(1079);
+emit_16(1144);
+emit_16(1080);
+emit_16(1145);
+emit_16(1081);
+emit_16(1145);
+emit_16(1080);
+emit_16(1145);
+emit_16(1081);
+emit_16(1146);
+emit_16(1082);
+emit_16(1146);
+emit_16(1081);
+emit_16(1146);
+emit_16(1082);
+emit_16(1147);
+emit_16(1083);
+emit_16(1147);
+emit_16(1082);
+emit_16(1147);
+emit_16(1083);
+emit_16(1148);
+emit_16(1084);
+emit_16(1148);
+emit_16(1083);
+emit_16(1148);
+emit_16(1084);
+emit_16(1149);
+emit_16(1085);
+emit_16(1149);
+emit_16(1084);
+emit_16(1149);
+emit_16(1085);
+emit_16(1150);
+emit_16(1086);
+emit_16(1150);
+emit_16(1085);
+emit_16(1150);
+emit_16(1086);
+emit_16(1151);
+emit_16(1087);
+emit_16(1151);
+emit_16(1086);
+emit_16(1152);
+emit_16(1088);
+emit_16(1153);
+emit_16(1089);
+emit_16(1153);
+emit_16(1088);
+emit_16(1153);
+emit_16(1089);
+emit_16(1154);
+emit_16(1090);
+emit_16(1154);
+emit_16(1089);
+emit_16(1154);
+emit_16(1090);
+emit_16(1155);
+emit_16(1091);
+emit_16(1155);
+emit_16(1090);
+emit_16(1155);
+emit_16(1091);
+emit_16(1156);
+emit_16(1092);
+emit_16(1156);
+emit_16(1091);
+emit_16(1156);
+emit_16(1092);
+emit_16(1157);
+emit_16(1093);
+emit_16(1157);
+emit_16(1092);
+emit_16(1157);
+emit_16(1093);
+emit_16(1158);
+emit_16(1094);
+emit_16(1158);
+emit_16(1093);
+emit_16(1158);
+emit_16(1094);
+emit_16(1159);
+emit_16(1095);
+emit_16(1159);
+emit_16(1094);
+emit_16(1159);
+emit_16(1095);
+emit_16(1160);
+emit_16(1096);
+emit_16(1160);
+emit_16(1095);
+emit_16(1160);
+emit_16(1096);
+emit_16(1161);
+emit_16(1097);
+emit_16(1161);
+emit_16(1096);
+emit_16(1161);
+emit_16(1097);
+emit_16(1162);
+emit_16(1098);
+emit_16(1162);
+emit_16(1097);
+emit_16(1162);
+emit_16(1098);
+emit_16(1163);
+emit_16(1099);
+emit_16(1163);
+emit_16(1098);
+emit_16(1163);
+emit_16(1099);
+emit_16(1164);
+emit_16(1100);
+emit_16(1164);
+emit_16(1099);
+emit_16(1164);
+emit_16(1100);
+emit_16(1165);
+emit_16(1101);
+emit_16(1165);
+emit_16(1100);
+emit_16(1165);
+emit_16(1101);
+emit_16(1166);
+emit_16(1102);
+emit_16(1166);
+emit_16(1101);
+emit_16(1166);
+emit_16(1102);
+emit_16(1167);
+emit_16(1103);
+emit_16(1167);
+emit_16(1102);
+emit_16(1167);
+emit_16(1103);
+emit_16(1168);
+emit_16(1104);
+emit_16(1168);
+emit_16(1103);
+emit_16(1168);
+emit_16(1104);
+emit_16(1169);
+emit_16(1105);
+emit_16(1169);
+emit_16(1104);
+emit_16(1169);
+emit_16(1105);
+emit_16(1170);
+emit_16(1106);
+emit_16(1170);
+emit_16(1105);
+emit_16(1170);
+emit_16(1106);
+emit_16(1171);
+emit_16(1107);
+emit_16(1171);
+emit_16(1106);
+emit_16(1171);
+emit_16(1107);
+emit_16(1172);
+emit_16(1108);
+emit_16(1172);
+emit_16(1107);
+emit_16(1172);
+emit_16(1108);
+emit_16(1173);
+emit_16(1109);
+emit_16(1173);
+emit_16(1108);
+emit_16(1173);
+emit_16(1109);
+emit_16(1174);
+emit_16(1110);
+emit_16(1174);
+emit_16(1109);
+emit_16(1174);
+emit_16(1110);
+emit_16(1175);
+emit_16(1111);
+emit_16(1175);
+emit_16(1110);
+emit_16(1175);
+emit_16(1111);
+emit_16(1176);
+emit_16(1112);
+emit_16(1176);
+emit_16(1111);
+emit_16(1176);
+emit_16(1112);
+emit_16(1177);
+emit_16(1113);
+emit_16(1177);
+emit_16(1112);
+emit_16(1177);
+emit_16(1113);
+emit_16(1178);
+emit_16(1114);
+emit_16(1178);
+emit_16(1113);
+emit_16(1178);
+emit_16(1114);
+emit_16(1179);
+emit_16(1115);
+emit_16(1179);
+emit_16(1114);
+emit_16(1179);
+emit_16(1115);
+emit_16(1180);
+emit_16(1116);
+emit_16(1180);
+emit_16(1115);
+emit_16(1180);
+emit_16(1116);
+emit_16(1181);
+emit_16(1117);
+emit_16(1181);
+emit_16(1116);
+emit_16(1181);
+emit_16(1117);
+emit_16(1182);
+emit_16(1118);
+emit_16(1182);
+emit_16(1117);
+emit_16(1182);
+emit_16(1118);
+emit_16(1183);
+emit_16(1119);
+emit_16(1183);
+emit_16(1118);
+emit_16(1183);
+emit_16(1119);
+emit_16(1184);
+emit_16(1120);
+emit_16(1184);
+emit_16(1119);
+emit_16(1184);
+emit_16(1120);
+emit_16(1185);
+emit_16(1121);
+emit_16(1185);
+emit_16(1120);
+emit_16(1185);
+emit_16(1121);
+emit_16(1186);
+emit_16(1122);
+emit_16(1186);
+emit_16(1121);
+emit_16(1186);
+emit_16(1122);
+emit_16(1187);
+emit_16(1123);
+emit_16(1187);
+emit_16(1122);
+emit_16(1187);
+emit_16(1123);
+emit_16(1188);
+emit_16(1124);
+emit_16(1188);
+emit_16(1123);
+emit_16(1188);
+emit_16(1124);
+emit_16(1189);
+emit_16(1125);
+emit_16(1189);
+emit_16(1124);
+emit_16(1189);
+emit_16(1125);
+emit_16(1190);
+emit_16(1126);
+emit_16(1190);
+emit_16(1125);
+emit_16(1190);
+emit_16(1126);
+emit_16(1191);
+emit_16(1127);
+emit_16(1191);
+emit_16(1126);
+emit_16(1191);
+emit_16(1127);
+emit_16(1192);
+emit_16(1128);
+emit_16(1192);
+emit_16(1127);
+emit_16(1192);
+emit_16(1128);
+emit_16(1193);
+emit_16(1129);
+emit_16(1193);
+emit_16(1128);
+emit_16(1193);
+emit_16(1129);
+emit_16(1194);
+emit_16(1130);
+emit_16(1194);
+emit_16(1129);
+emit_16(1194);
+emit_16(1130);
+emit_16(1195);
+emit_16(1131);
+emit_16(1195);
+emit_16(1130);
+emit_16(1195);
+emit_16(1131);
+emit_16(1196);
+emit_16(1132);
+emit_16(1196);
+emit_16(1131);
+emit_16(1196);
+emit_16(1132);
+emit_16(1197);
+emit_16(1133);
+emit_16(1197);
+emit_16(1132);
+emit_16(1197);
+emit_16(1133);
+emit_16(1198);
+emit_16(1134);
+emit_16(1198);
+emit_16(1133);
+emit_16(1198);
+emit_16(1134);
+emit_16(1199);
+emit_16(1135);
+emit_16(1199);
+emit_16(1134);
+emit_16(1199);
+emit_16(1135);
+emit_16(1200);
+emit_16(1136);
+emit_16(1200);
+emit_16(1135);
+emit_16(1200);
+emit_16(1136);
+emit_16(1201);
+emit_16(1137);
+emit_16(1201);
+emit_16(1136);
+emit_16(1201);
+emit_16(1137);
+emit_16(1202);
+emit_16(1138);
+emit_16(1202);
+emit_16(1137);
+emit_16(1202);
+emit_16(1138);
+emit_16(1203);
+emit_16(1139);
+emit_16(1203);
+emit_16(1138);
+emit_16(1203);
+emit_16(1139);
+emit_16(1204);
+emit_16(1140);
+emit_16(1204);
+emit_16(1139);
+emit_16(1204);
+emit_16(1140);
+emit_16(1205);
+emit_16(1141);
+emit_16(1205);
+emit_16(1140);
+emit_16(1205);
+emit_16(1141);
+emit_16(1206);
+emit_16(1142);
+emit_16(1206);
+emit_16(1141);
+emit_16(1206);
+emit_16(1142);
+emit_16(1207);
+emit_16(1143);
+emit_16(1207);
+emit_16(1142);
+emit_16(1207);
+emit_16(1143);
+emit_16(1208);
+emit_16(1144);
+emit_16(1208);
+emit_16(1143);
+emit_16(1208);
+emit_16(1144);
+emit_16(1209);
+emit_16(1145);
+emit_16(1209);
+emit_16(1144);
+emit_16(1209);
+emit_16(1145);
+emit_16(1210);
+emit_16(1146);
+emit_16(1210);
+emit_16(1145);
+emit_16(1210);
+emit_16(1146);
+emit_16(1211);
+emit_16(1147);
+emit_16(1211);
+emit_16(1146);
+emit_16(1211);
+emit_16(1147);
+emit_16(1212);
+emit_16(1148);
+emit_16(1212);
+emit_16(1147);
+emit_16(1212);
+emit_16(1148);
+emit_16(1213);
+emit_16(1149);
+emit_16(1213);
+emit_16(1148);
+emit_16(1213);
+emit_16(1149);
+emit_16(1214);
+emit_16(1150);
+emit_16(1214);
+emit_16(1149);
+emit_16(1214);
+emit_16(1150);
+emit_16(1215);
+emit_16(1151);
+emit_16(1215);
+emit_16(1150);
+emit_16(1216);
+emit_16(1152);
+emit_16(1217);
+emit_16(1153);
+emit_16(1217);
+emit_16(1152);
+emit_16(1217);
+emit_16(1153);
+emit_16(1218);
+emit_16(1154);
+emit_16(1218);
+emit_16(1153);
+emit_16(1218);
+emit_16(1154);
+emit_16(1219);
+emit_16(1155);
+emit_16(1219);
+emit_16(1154);
+emit_16(1219);
+emit_16(1155);
+emit_16(1220);
+emit_16(1156);
+emit_16(1220);
+emit_16(1155);
+emit_16(1220);
+emit_16(1156);
+emit_16(1221);
+emit_16(1157);
+emit_16(1221);
+emit_16(1156);
+emit_16(1221);
+emit_16(1157);
+emit_16(1222);
+emit_16(1158);
+emit_16(1222);
+emit_16(1157);
+emit_16(1222);
+emit_16(1158);
+emit_16(1223);
+emit_16(1159);
+emit_16(1223);
+emit_16(1158);
+emit_16(1223);
+emit_16(1159);
+emit_16(1224);
+emit_16(1160);
+emit_16(1224);
+emit_16(1159);
+emit_16(1224);
+emit_16(1160);
+emit_16(1225);
+emit_16(1161);
+emit_16(1225);
+emit_16(1160);
+emit_16(1225);
+emit_16(1161);
+emit_16(1226);
+emit_16(1162);
+emit_16(1226);
+emit_16(1161);
+emit_16(1226);
+emit_16(1162);
+emit_16(1227);
+emit_16(1163);
+emit_16(1227);
+emit_16(1162);
+emit_16(1227);
+emit_16(1163);
+emit_16(1228);
+emit_16(1164);
+emit_16(1228);
+emit_16(1163);
+emit_16(1228);
+emit_16(1164);
+emit_16(1229);
+emit_16(1165);
+emit_16(1229);
+emit_16(1164);
+emit_16(1229);
+emit_16(1165);
+emit_16(1230);
+emit_16(1166);
+emit_16(1230);
+emit_16(1165);
+emit_16(1230);
+emit_16(1166);
+emit_16(1231);
+emit_16(1167);
+emit_16(1231);
+emit_16(1166);
+emit_16(1231);
+emit_16(1167);
+emit_16(1232);
+emit_16(1168);
+emit_16(1232);
+emit_16(1167);
+emit_16(1232);
+emit_16(1168);
+emit_16(1233);
+emit_16(1169);
+emit_16(1233);
+emit_16(1168);
+emit_16(1233);
+emit_16(1169);
+emit_16(1234);
+emit_16(1170);
+emit_16(1234);
+emit_16(1169);
+emit_16(1234);
+emit_16(1170);
+emit_16(1235);
+emit_16(1171);
+emit_16(1235);
+emit_16(1170);
+emit_16(1235);
+emit_16(1171);
+emit_16(1236);
+emit_16(1172);
+emit_16(1236);
+emit_16(1171);
+emit_16(1236);
+emit_16(1172);
+emit_16(1237);
+emit_16(1173);
+emit_16(1237);
+emit_16(1172);
+emit_16(1237);
+emit_16(1173);
+emit_16(1238);
+emit_16(1174);
+emit_16(1238);
+emit_16(1173);
+emit_16(1238);
+emit_16(1174);
+emit_16(1239);
+emit_16(1175);
+emit_16(1239);
+emit_16(1174);
+emit_16(1239);
+emit_16(1175);
+emit_16(1240);
+emit_16(1176);
+emit_16(1240);
+emit_16(1175);
+emit_16(1240);
+emit_16(1176);
+emit_16(1241);
+emit_16(1177);
+emit_16(1241);
+emit_16(1176);
+emit_16(1241);
+emit_16(1177);
+emit_16(1242);
+emit_16(1178);
+emit_16(1242);
+emit_16(1177);
+emit_16(1242);
+emit_16(1178);
+emit_16(1243);
+emit_16(1179);
+emit_16(1243);
+emit_16(1178);
+emit_16(1243);
+emit_16(1179);
+emit_16(1244);
+emit_16(1180);
+emit_16(1244);
+emit_16(1179);
+emit_16(1244);
+emit_16(1180);
+emit_16(1245);
+emit_16(1181);
+emit_16(1245);
+emit_16(1180);
+emit_16(1245);
+emit_16(1181);
+emit_16(1246);
+emit_16(1182);
+emit_16(1246);
+emit_16(1181);
+emit_16(1246);
+emit_16(1182);
+emit_16(1247);
+emit_16(1183);
+emit_16(1247);
+emit_16(1182);
+emit_16(1247);
+emit_16(1183);
+emit_16(1248);
+emit_16(1184);
+emit_16(1248);
+emit_16(1183);
+emit_16(1248);
+emit_16(1184);
+emit_16(1249);
+emit_16(1185);
+emit_16(1249);
+emit_16(1184);
+emit_16(1249);
+emit_16(1185);
+emit_16(1250);
+emit_16(1186);
+emit_16(1250);
+emit_16(1185);
+emit_16(1250);
+emit_16(1186);
+emit_16(1251);
+emit_16(1187);
+emit_16(1251);
+emit_16(1186);
+emit_16(1251);
+emit_16(1187);
+emit_16(1252);
+emit_16(1188);
+emit_16(1252);
+emit_16(1187);
+emit_16(1252);
+emit_16(1188);
+emit_16(1253);
+emit_16(1189);
+emit_16(1253);
+emit_16(1188);
+emit_16(1253);
+emit_16(1189);
+emit_16(1254);
+emit_16(1190);
+emit_16(1254);
+emit_16(1189);
+emit_16(1254);
+emit_16(1190);
+emit_16(1255);
+emit_16(1191);
+emit_16(1255);
+emit_16(1190);
+emit_16(1255);
+emit_16(1191);
+emit_16(1256);
+emit_16(1192);
+emit_16(1256);
+emit_16(1191);
+emit_16(1256);
+emit_16(1192);
+emit_16(1257);
+emit_16(1193);
+emit_16(1257);
+emit_16(1192);
+emit_16(1257);
+emit_16(1193);
+emit_16(1258);
+emit_16(1194);
+emit_16(1258);
+emit_16(1193);
+emit_16(1258);
+emit_16(1194);
+emit_16(1259);
+emit_16(1195);
+emit_16(1259);
+emit_16(1194);
+emit_16(1259);
+emit_16(1195);
+emit_16(1260);
+emit_16(1196);
+emit_16(1260);
+emit_16(1195);
+emit_16(1260);
+emit_16(1196);
+emit_16(1261);
+emit_16(1197);
+emit_16(1261);
+emit_16(1196);
+emit_16(1261);
+emit_16(1197);
+emit_16(1262);
+emit_16(1198);
+emit_16(1262);
+emit_16(1197);
+emit_16(1262);
+emit_16(1198);
+emit_16(1263);
+emit_16(1199);
+emit_16(1263);
+emit_16(1198);
+emit_16(1263);
+emit_16(1199);
+emit_16(1264);
+emit_16(1200);
+emit_16(1264);
+emit_16(1199);
+emit_16(1264);
+emit_16(1200);
+emit_16(1265);
+emit_16(1201);
+emit_16(1265);
+emit_16(1200);
+emit_16(1265);
+emit_16(1201);
+emit_16(1266);
+emit_16(1202);
+emit_16(1266);
+emit_16(1201);
+emit_16(1266);
+emit_16(1202);
+emit_16(1267);
+emit_16(1203);
+emit_16(1267);
+emit_16(1202);
+emit_16(1267);
+emit_16(1203);
+emit_16(1268);
+emit_16(1204);
+emit_16(1268);
+emit_16(1203);
+emit_16(1268);
+emit_16(1204);
+emit_16(1269);
+emit_16(1205);
+emit_16(1269);
+emit_16(1204);
+emit_16(1269);
+emit_16(1205);
+emit_16(1270);
+emit_16(1206);
+emit_16(1270);
+emit_16(1205);
+emit_16(1270);
+emit_16(1206);
+emit_16(1271);
+emit_16(1207);
+emit_16(1271);
+emit_16(1206);
+emit_16(1271);
+emit_16(1207);
+emit_16(1272);
+emit_16(1208);
+emit_16(1272);
+emit_16(1207);
+emit_16(1272);
+emit_16(1208);
+emit_16(1273);
+emit_16(1209);
+emit_16(1273);
+emit_16(1208);
+emit_16(1273);
+emit_16(1209);
+emit_16(1274);
+emit_16(1210);
+emit_16(1274);
+emit_16(1209);
+emit_16(1274);
+emit_16(1210);
+emit_16(1275);
+emit_16(1211);
+emit_16(1275);
+emit_16(1210);
+emit_16(1275);
+emit_16(1211);
+emit_16(1276);
+emit_16(1212);
+emit_16(1276);
+emit_16(1211);
+emit_16(1276);
+emit_16(1212);
+emit_16(1277);
+emit_16(1213);
+emit_16(1277);
+emit_16(1212);
+emit_16(1277);
+emit_16(1213);
+emit_16(1278);
+emit_16(1214);
+emit_16(1278);
+emit_16(1213);
+emit_16(1278);
+emit_16(1214);
+emit_16(1279);
+emit_16(1215);
+emit_16(1279);
+emit_16(1214);
+emit_16(1280);
+emit_16(1216);
+emit_16(1281);
+emit_16(1217);
+emit_16(1281);
+emit_16(1216);
+emit_16(1281);
+emit_16(1217);
+emit_16(1282);
+emit_16(1218);
+emit_16(1282);
+emit_16(1217);
+emit_16(1282);
+emit_16(1218);
+emit_16(1283);
+emit_16(1219);
+emit_16(1283);
+emit_16(1218);
+emit_16(1283);
+emit_16(1219);
+emit_16(1284);
+emit_16(1220);
+emit_16(1284);
+emit_16(1219);
+emit_16(1284);
+emit_16(1220);
+emit_16(1285);
+emit_16(1221);
+emit_16(1285);
+emit_16(1220);
+emit_16(1285);
+emit_16(1221);
+emit_16(1286);
+emit_16(1222);
+emit_16(1286);
+emit_16(1221);
+emit_16(1286);
+emit_16(1222);
+emit_16(1287);
+emit_16(1223);
+emit_16(1287);
+emit_16(1222);
+emit_16(1287);
+emit_16(1223);
+emit_16(1288);
+emit_16(1224);
+emit_16(1288);
+emit_16(1223);
+emit_16(1288);
+emit_16(1224);
+emit_16(1289);
+emit_16(1225);
+emit_16(1289);
+emit_16(1224);
+emit_16(1289);
+emit_16(1225);
+emit_16(1290);
+emit_16(1226);
+emit_16(1290);
+emit_16(1225);
+emit_16(1290);
+emit_16(1226);
+emit_16(1291);
+emit_16(1227);
+emit_16(1291);
+emit_16(1226);
+emit_16(1291);
+emit_16(1227);
+emit_16(1292);
+emit_16(1228);
+emit_16(1292);
+emit_16(1227);
+emit_16(1292);
+emit_16(1228);
+emit_16(1293);
+emit_16(1229);
+emit_16(1293);
+emit_16(1228);
+emit_16(1293);
+emit_16(1229);
+emit_16(1294);
+emit_16(1230);
+emit_16(1294);
+emit_16(1229);
+emit_16(1294);
+emit_16(1230);
+emit_16(1295);
+emit_16(1231);
+emit_16(1295);
+emit_16(1230);
+emit_16(1295);
+emit_16(1231);
+emit_16(1296);
+emit_16(1232);
+emit_16(1296);
+emit_16(1231);
+emit_16(1296);
+emit_16(1232);
+emit_16(1297);
+emit_16(1233);
+emit_16(1297);
+emit_16(1232);
+emit_16(1297);
+emit_16(1233);
+emit_16(1298);
+emit_16(1234);
+emit_16(1298);
+emit_16(1233);
+emit_16(1298);
+emit_16(1234);
+emit_16(1299);
+emit_16(1235);
+emit_16(1299);
+emit_16(1234);
+emit_16(1299);
+emit_16(1235);
+emit_16(1300);
+emit_16(1236);
+emit_16(1300);
+emit_16(1235);
+emit_16(1300);
+emit_16(1236);
+emit_16(1301);
+emit_16(1237);
+emit_16(1301);
+emit_16(1236);
+emit_16(1301);
+emit_16(1237);
+emit_16(1302);
+emit_16(1238);
+emit_16(1302);
+emit_16(1237);
+emit_16(1302);
+emit_16(1238);
+emit_16(1303);
+emit_16(1239);
+emit_16(1303);
+emit_16(1238);
+emit_16(1303);
+emit_16(1239);
+emit_16(1304);
+emit_16(1240);
+emit_16(1304);
+emit_16(1239);
+emit_16(1304);
+emit_16(1240);
+emit_16(1305);
+emit_16(1241);
+emit_16(1305);
+emit_16(1240);
+emit_16(1305);
+emit_16(1241);
+emit_16(1306);
+emit_16(1242);
+emit_16(1306);
+emit_16(1241);
+emit_16(1306);
+emit_16(1242);
+emit_16(1307);
+emit_16(1243);
+emit_16(1307);
+emit_16(1242);
+emit_16(1307);
+emit_16(1243);
+emit_16(1308);
+emit_16(1244);
+emit_16(1308);
+emit_16(1243);
+emit_16(1308);
+emit_16(1244);
+emit_16(1309);
+emit_16(1245);
+emit_16(1309);
+emit_16(1244);
+emit_16(1309);
+emit_16(1245);
+emit_16(1310);
+emit_16(1246);
+emit_16(1310);
+emit_16(1245);
+emit_16(1310);
+emit_16(1246);
+emit_16(1311);
+emit_16(1247);
+emit_16(1311);
+emit_16(1246);
+emit_16(1311);
+emit_16(1247);
+emit_16(1312);
+emit_16(1248);
+emit_16(1312);
+emit_16(1247);
+emit_16(1312);
+emit_16(1248);
+emit_16(1313);
+emit_16(1249);
+emit_16(1313);
+emit_16(1248);
+emit_16(1313);
+emit_16(1249);
+emit_16(1314);
+emit_16(1250);
+emit_16(1314);
+emit_16(1249);
+emit_16(1314);
+emit_16(1250);
+emit_16(1315);
+emit_16(1251);
+emit_16(1315);
+emit_16(1250);
+emit_16(1315);
+emit_16(1251);
+emit_16(1316);
+emit_16(1252);
+emit_16(1316);
+emit_16(1251);
+emit_16(1316);
+emit_16(1252);
+emit_16(1317);
+emit_16(1253);
+emit_16(1317);
+emit_16(1252);
+emit_16(1317);
+emit_16(1253);
+emit_16(1318);
+emit_16(1254);
+emit_16(1318);
+emit_16(1253);
+emit_16(1318);
+emit_16(1254);
+emit_16(1319);
+emit_16(1255);
+emit_16(1319);
+emit_16(1254);
+emit_16(1319);
+emit_16(1255);
+emit_16(1320);
+emit_16(1256);
+emit_16(1320);
+emit_16(1255);
+emit_16(1320);
+emit_16(1256);
+emit_16(1321);
+emit_16(1257);
+emit_16(1321);
+emit_16(1256);
+emit_16(1321);
+emit_16(1257);
+emit_16(1322);
+emit_16(1258);
+emit_16(1322);
+emit_16(1257);
+emit_16(1322);
+emit_16(1258);
+emit_16(1323);
+emit_16(1259);
+emit_16(1323);
+emit_16(1258);
+emit_16(1323);
+emit_16(1259);
+emit_16(1324);
+emit_16(1260);
+emit_16(1324);
+emit_16(1259);
+emit_16(1324);
+emit_16(1260);
+emit_16(1325);
+emit_16(1261);
+emit_16(1325);
+emit_16(1260);
+emit_16(1325);
+emit_16(1261);
+emit_16(1326);
+emit_16(1262);
+emit_16(1326);
+emit_16(1261);
+emit_16(1326);
+emit_16(1262);
+emit_16(1327);
+emit_16(1263);
+emit_16(1327);
+emit_16(1262);
+emit_16(1327);
+emit_16(1263);
+emit_16(1328);
+emit_16(1264);
+emit_16(1328);
+emit_16(1263);
+emit_16(1328);
+emit_16(1264);
+emit_16(1329);
+emit_16(1265);
+emit_16(1329);
+emit_16(1264);
+emit_16(1329);
+emit_16(1265);
+emit_16(1330);
+emit_16(1266);
+emit_16(1330);
+emit_16(1265);
+emit_16(1330);
+emit_16(1266);
+emit_16(1331);
+emit_16(1267);
+emit_16(1331);
+emit_16(1266);
+emit_16(1331);
+emit_16(1267);
+emit_16(1332);
+emit_16(1268);
+emit_16(1332);
+emit_16(1267);
+emit_16(1332);
+emit_16(1268);
+emit_16(1333);
+emit_16(1269);
+emit_16(1333);
+emit_16(1268);
+emit_16(1333);
+emit_16(1269);
+emit_16(1334);
+emit_16(1270);
+emit_16(1334);
+emit_16(1269);
+emit_16(1334);
+emit_16(1270);
+emit_16(1335);
+emit_16(1271);
+emit_16(1335);
+emit_16(1270);
+emit_16(1335);
+emit_16(1271);
+emit_16(1336);
+emit_16(1272);
+emit_16(1336);
+emit_16(1271);
+emit_16(1336);
+emit_16(1272);
+emit_16(1337);
+emit_16(1273);
+emit_16(1337);
+emit_16(1272);
+emit_16(1337);
+emit_16(1273);
+emit_16(1338);
+emit_16(1274);
+emit_16(1338);
+emit_16(1273);
+emit_16(1338);
+emit_16(1274);
+emit_16(1339);
+emit_16(1275);
+emit_16(1339);
+emit_16(1274);
+emit_16(1339);
+emit_16(1275);
+emit_16(1340);
+emit_16(1276);
+emit_16(1340);
+emit_16(1275);
+emit_16(1340);
+emit_16(1276);
+emit_16(1341);
+emit_16(1277);
+emit_16(1341);
+emit_16(1276);
+emit_16(1341);
+emit_16(1277);
+emit_16(1342);
+emit_16(1278);
+emit_16(1342);
+emit_16(1277);
+emit_16(1342);
+emit_16(1278);
+emit_16(1343);
+emit_16(1279);
+emit_16(1343);
+emit_16(1278);
+emit_16(1344);
+emit_16(1280);
+emit_16(1345);
+emit_16(1281);
+emit_16(1345);
+emit_16(1280);
+emit_16(1345);
+emit_16(1281);
+emit_16(1346);
+emit_16(1282);
+emit_16(1346);
+emit_16(1281);
+emit_16(1346);
+emit_16(1282);
+emit_16(1347);
+emit_16(1283);
+emit_16(1347);
+emit_16(1282);
+emit_16(1347);
+emit_16(1283);
+emit_16(1348);
+emit_16(1284);
+emit_16(1348);
+emit_16(1283);
+emit_16(1348);
+emit_16(1284);
+emit_16(1349);
+emit_16(1285);
+emit_16(1349);
+emit_16(1284);
+emit_16(1349);
+emit_16(1285);
+emit_16(1350);
+emit_16(1286);
+emit_16(1350);
+emit_16(1285);
+emit_16(1350);
+emit_16(1286);
+emit_16(1351);
+emit_16(1287);
+emit_16(1351);
+emit_16(1286);
+emit_16(1351);
+emit_16(1287);
+emit_16(1352);
+emit_16(1288);
+emit_16(1352);
+emit_16(1287);
+emit_16(1352);
+emit_16(1288);
+emit_16(1353);
+emit_16(1289);
+emit_16(1353);
+emit_16(1288);
+emit_16(1353);
+emit_16(1289);
+emit_16(1354);
+emit_16(1290);
+emit_16(1354);
+emit_16(1289);
+emit_16(1354);
+emit_16(1290);
+emit_16(1355);
+emit_16(1291);
+emit_16(1355);
+emit_16(1290);
+emit_16(1355);
+emit_16(1291);
+emit_16(1356);
+emit_16(1292);
+emit_16(1356);
+emit_16(1291);
+emit_16(1356);
+emit_16(1292);
+emit_16(1357);
+emit_16(1293);
+emit_16(1357);
+emit_16(1292);
+emit_16(1357);
+emit_16(1293);
+emit_16(1358);
+emit_16(1294);
+emit_16(1358);
+emit_16(1293);
+emit_16(1358);
+emit_16(1294);
+emit_16(1359);
+emit_16(1295);
+emit_16(1359);
+emit_16(1294);
+emit_16(1359);
+emit_16(1295);
+emit_16(1360);
+emit_16(1296);
+emit_16(1360);
+emit_16(1295);
+emit_16(1360);
+emit_16(1296);
+emit_16(1361);
+emit_16(1297);
+emit_16(1361);
+emit_16(1296);
+emit_16(1361);
+emit_16(1297);
+emit_16(1362);
+emit_16(1298);
+emit_16(1362);
+emit_16(1297);
+emit_16(1362);
+emit_16(1298);
+emit_16(1363);
+emit_16(1299);
+emit_16(1363);
+emit_16(1298);
+emit_16(1363);
+emit_16(1299);
+emit_16(1364);
+emit_16(1300);
+emit_16(1364);
+emit_16(1299);
+emit_16(1364);
+emit_16(1300);
+emit_16(1365);
+emit_16(1301);
+emit_16(1365);
+emit_16(1300);
+emit_16(1365);
+emit_16(1301);
+emit_16(1366);
+emit_16(1302);
+emit_16(1366);
+emit_16(1301);
+emit_16(1366);
+emit_16(1302);
+emit_16(1367);
+emit_16(1303);
+emit_16(1367);
+emit_16(1302);
+emit_16(1367);
+emit_16(1303);
+emit_16(1368);
+emit_16(1304);
+emit_16(1368);
+emit_16(1303);
+emit_16(1368);
+emit_16(1304);
+emit_16(1369);
+emit_16(1305);
+emit_16(1369);
+emit_16(1304);
+emit_16(1369);
+emit_16(1305);
+emit_16(1370);
+emit_16(1306);
+emit_16(1370);
+emit_16(1305);
+emit_16(1370);
+emit_16(1306);
+emit_16(1371);
+emit_16(1307);
+emit_16(1371);
+emit_16(1306);
+emit_16(1371);
+emit_16(1307);
+emit_16(1372);
+emit_16(1308);
+emit_16(1372);
+emit_16(1307);
+emit_16(1372);
+emit_16(1308);
+emit_16(1373);
+emit_16(1309);
+emit_16(1373);
+emit_16(1308);
+emit_16(1373);
+emit_16(1309);
+emit_16(1374);
+emit_16(1310);
+emit_16(1374);
+emit_16(1309);
+emit_16(1374);
+emit_16(1310);
+emit_16(1375);
+emit_16(1311);
+emit_16(1375);
+emit_16(1310);
+emit_16(1375);
+emit_16(1311);
+emit_16(1376);
+emit_16(1312);
+emit_16(1376);
+emit_16(1311);
+emit_16(1376);
+emit_16(1312);
+emit_16(1377);
+emit_16(1313);
+emit_16(1377);
+emit_16(1312);
+emit_16(1377);
+emit_16(1313);
+emit_16(1378);
+emit_16(1314);
+emit_16(1378);
+emit_16(1313);
+emit_16(1378);
+emit_16(1314);
+emit_16(1379);
+emit_16(1315);
+emit_16(1379);
+emit_16(1314);
+emit_16(1379);
+emit_16(1315);
+emit_16(1380);
+emit_16(1316);
+emit_16(1380);
+emit_16(1315);
+emit_16(1380);
+emit_16(1316);
+emit_16(1381);
+emit_16(1317);
+emit_16(1381);
+emit_16(1316);
+emit_16(1381);
+emit_16(1317);
+emit_16(1382);
+emit_16(1318);
+emit_16(1382);
+emit_16(1317);
+emit_16(1382);
+emit_16(1318);
+emit_16(1383);
+emit_16(1319);
+emit_16(1383);
+emit_16(1318);
+emit_16(1383);
+emit_16(1319);
+emit_16(1384);
+emit_16(1320);
+emit_16(1384);
+emit_16(1319);
+emit_16(1384);
+emit_16(1320);
+emit_16(1385);
+emit_16(1321);
+emit_16(1385);
+emit_16(1320);
+emit_16(1385);
+emit_16(1321);
+emit_16(1386);
+emit_16(1322);
+emit_16(1386);
+emit_16(1321);
+emit_16(1386);
+emit_16(1322);
+emit_16(1387);
+emit_16(1323);
+emit_16(1387);
+emit_16(1322);
+emit_16(1387);
+emit_16(1323);
+emit_16(1388);
+emit_16(1324);
+emit_16(1388);
+emit_16(1323);
+emit_16(1388);
+emit_16(1324);
+emit_16(1389);
+emit_16(1325);
+emit_16(1389);
+emit_16(1324);
+emit_16(1389);
+emit_16(1325);
+emit_16(1390);
+emit_16(1326);
+emit_16(1390);
+emit_16(1325);
+emit_16(1390);
+emit_16(1326);
+emit_16(1391);
+emit_16(1327);
+emit_16(1391);
+emit_16(1326);
+emit_16(1391);
+emit_16(1327);
+emit_16(1392);
+emit_16(1328);
+emit_16(1392);
+emit_16(1327);
+emit_16(1392);
+emit_16(1328);
+emit_16(1393);
+emit_16(1329);
+emit_16(1393);
+emit_16(1328);
+emit_16(1393);
+emit_16(1329);
+emit_16(1394);
+emit_16(1330);
+emit_16(1394);
+emit_16(1329);
+emit_16(1394);
+emit_16(1330);
+emit_16(1395);
+emit_16(1331);
+emit_16(1395);
+emit_16(1330);
+emit_16(1395);
+emit_16(1331);
+emit_16(1396);
+emit_16(1332);
+emit_16(1396);
+emit_16(1331);
+emit_16(1396);
+emit_16(1332);
+emit_16(1397);
+emit_16(1333);
+emit_16(1397);
+emit_16(1332);
+emit_16(1397);
+emit_16(1333);
+emit_16(1398);
+emit_16(1334);
+emit_16(1398);
+emit_16(1333);
+emit_16(1398);
+emit_16(1334);
+emit_16(1399);
+emit_16(1335);
+emit_16(1399);
+emit_16(1334);
+emit_16(1399);
+emit_16(1335);
+emit_16(1400);
+emit_16(1336);
+emit_16(1400);
+emit_16(1335);
+emit_16(1400);
+emit_16(1336);
+emit_16(1401);
+emit_16(1337);
+emit_16(1401);
+emit_16(1336);
+emit_16(1401);
+emit_16(1337);
+emit_16(1402);
+emit_16(1338);
+emit_16(1402);
+emit_16(1337);
+emit_16(1402);
+emit_16(1338);
+emit_16(1403);
+emit_16(1339);
+emit_16(1403);
+emit_16(1338);
+emit_16(1403);
+emit_16(1339);
+emit_16(1404);
+emit_16(1340);
+emit_16(1404);
+emit_16(1339);
+emit_16(1404);
+emit_16(1340);
+emit_16(1405);
+emit_16(1341);
+emit_16(1405);
+emit_16(1340);
+emit_16(1405);
+emit_16(1341);
+emit_16(1406);
+emit_16(1342);
+emit_16(1406);
+emit_16(1341);
+emit_16(1406);
+emit_16(1342);
+emit_16(1407);
+emit_16(1343);
+emit_16(1407);
+emit_16(1342);
+emit_16(1408);
+emit_16(1344);
+emit_16(1409);
+emit_16(1345);
+emit_16(1409);
+emit_16(1344);
+emit_16(1409);
+emit_16(1345);
+emit_16(1410);
+emit_16(1346);
+emit_16(1410);
+emit_16(1345);
+emit_16(1410);
+emit_16(1346);
+emit_16(1411);
+emit_16(1347);
+emit_16(1411);
+emit_16(1346);
+emit_16(1411);
+emit_16(1347);
+emit_16(1412);
+emit_16(1348);
+emit_16(1412);
+emit_16(1347);
+emit_16(1412);
+emit_16(1348);
+emit_16(1413);
+emit_16(1349);
+emit_16(1413);
+emit_16(1348);
+emit_16(1413);
+emit_16(1349);
+emit_16(1414);
+emit_16(1350);
+emit_16(1414);
+emit_16(1349);
+emit_16(1414);
+emit_16(1350);
+emit_16(1415);
+emit_16(1351);
+emit_16(1415);
+emit_16(1350);
+emit_16(1415);
+emit_16(1351);
+emit_16(1416);
+emit_16(1352);
+emit_16(1416);
+emit_16(1351);
+emit_16(1416);
+emit_16(1352);
+emit_16(1417);
+emit_16(1353);
+emit_16(1417);
+emit_16(1352);
+emit_16(1417);
+emit_16(1353);
+emit_16(1418);
+emit_16(1354);
+emit_16(1418);
+emit_16(1353);
+emit_16(1418);
+emit_16(1354);
+emit_16(1419);
+emit_16(1355);
+emit_16(1419);
+emit_16(1354);
+emit_16(1419);
+emit_16(1355);
+emit_16(1420);
+emit_16(1356);
+emit_16(1420);
+emit_16(1355);
+emit_16(1420);
+emit_16(1356);
+emit_16(1421);
+emit_16(1357);
+emit_16(1421);
+emit_16(1356);
+emit_16(1421);
+emit_16(1357);
+emit_16(1422);
+emit_16(1358);
+emit_16(1422);
+emit_16(1357);
+emit_16(1422);
+emit_16(1358);
+emit_16(1423);
+emit_16(1359);
+emit_16(1423);
+emit_16(1358);
+emit_16(1423);
+emit_16(1359);
+emit_16(1424);
+emit_16(1360);
+emit_16(1424);
+emit_16(1359);
+emit_16(1424);
+emit_16(1360);
+emit_16(1425);
+emit_16(1361);
+emit_16(1425);
+emit_16(1360);
+emit_16(1425);
+emit_16(1361);
+emit_16(1426);
+emit_16(1362);
+emit_16(1426);
+emit_16(1361);
+emit_16(1426);
+emit_16(1362);
+emit_16(1427);
+emit_16(1363);
+emit_16(1427);
+emit_16(1362);
+emit_16(1427);
+emit_16(1363);
+emit_16(1428);
+emit_16(1364);
+emit_16(1428);
+emit_16(1363);
+emit_16(1428);
+emit_16(1364);
+emit_16(1429);
+emit_16(1365);
+emit_16(1429);
+emit_16(1364);
+emit_16(1429);
+emit_16(1365);
+emit_16(1430);
+emit_16(1366);
+emit_16(1430);
+emit_16(1365);
+emit_16(1430);
+emit_16(1366);
+emit_16(1431);
+emit_16(1367);
+emit_16(1431);
+emit_16(1366);
+emit_16(1431);
+emit_16(1367);
+emit_16(1432);
+emit_16(1368);
+emit_16(1432);
+emit_16(1367);
+emit_16(1432);
+emit_16(1368);
+emit_16(1433);
+emit_16(1369);
+emit_16(1433);
+emit_16(1368);
+emit_16(1433);
+emit_16(1369);
+emit_16(1434);
+emit_16(1370);
+emit_16(1434);
+emit_16(1369);
+emit_16(1434);
+emit_16(1370);
+emit_16(1435);
+emit_16(1371);
+emit_16(1435);
+emit_16(1370);
+emit_16(1435);
+emit_16(1371);
+emit_16(1436);
+emit_16(1372);
+emit_16(1436);
+emit_16(1371);
+emit_16(1436);
+emit_16(1372);
+emit_16(1437);
+emit_16(1373);
+emit_16(1437);
+emit_16(1372);
+emit_16(1437);
+emit_16(1373);
+emit_16(1438);
+emit_16(1374);
+emit_16(1438);
+emit_16(1373);
+emit_16(1438);
+emit_16(1374);
+emit_16(1439);
+emit_16(1375);
+emit_16(1439);
+emit_16(1374);
+emit_16(1439);
+emit_16(1375);
+emit_16(1440);
+emit_16(1376);
+emit_16(1440);
+emit_16(1375);
+emit_16(1440);
+emit_16(1376);
+emit_16(1441);
+emit_16(1377);
+emit_16(1441);
+emit_16(1376);
+emit_16(1441);
+emit_16(1377);
+emit_16(1442);
+emit_16(1378);
+emit_16(1442);
+emit_16(1377);
+emit_16(1442);
+emit_16(1378);
+emit_16(1443);
+emit_16(1379);
+emit_16(1443);
+emit_16(1378);
+emit_16(1443);
+emit_16(1379);
+emit_16(1444);
+emit_16(1380);
+emit_16(1444);
+emit_16(1379);
+emit_16(1444);
+emit_16(1380);
+emit_16(1445);
+emit_16(1381);
+emit_16(1445);
+emit_16(1380);
+emit_16(1445);
+emit_16(1381);
+emit_16(1446);
+emit_16(1382);
+emit_16(1446);
+emit_16(1381);
+emit_16(1446);
+emit_16(1382);
+emit_16(1447);
+emit_16(1383);
+emit_16(1447);
+emit_16(1382);
+emit_16(1447);
+emit_16(1383);
+emit_16(1448);
+emit_16(1384);
+emit_16(1448);
+emit_16(1383);
+emit_16(1448);
+emit_16(1384);
+emit_16(1449);
+emit_16(1385);
+emit_16(1449);
+emit_16(1384);
+emit_16(1449);
+emit_16(1385);
+emit_16(1450);
+emit_16(1386);
+emit_16(1450);
+emit_16(1385);
+emit_16(1450);
+emit_16(1386);
+emit_16(1451);
+emit_16(1387);
+emit_16(1451);
+emit_16(1386);
+emit_16(1451);
+emit_16(1387);
+emit_16(1452);
+emit_16(1388);
+emit_16(1452);
+emit_16(1387);
+emit_16(1452);
+emit_16(1388);
+emit_16(1453);
+emit_16(1389);
+emit_16(1453);
+emit_16(1388);
+emit_16(1453);
+emit_16(1389);
+emit_16(1454);
+emit_16(1390);
+emit_16(1454);
+emit_16(1389);
+emit_16(1454);
+emit_16(1390);
+emit_16(1455);
+emit_16(1391);
+emit_16(1455);
+emit_16(1390);
+emit_16(1455);
+emit_16(1391);
+emit_16(1456);
+emit_16(1392);
+emit_16(1456);
+emit_16(1391);
+emit_16(1456);
+emit_16(1392);
+emit_16(1457);
+emit_16(1393);
+emit_16(1457);
+emit_16(1392);
+emit_16(1457);
+emit_16(1393);
+emit_16(1458);
+emit_16(1394);
+emit_16(1458);
+emit_16(1393);
+emit_16(1458);
+emit_16(1394);
+emit_16(1459);
+emit_16(1395);
+emit_16(1459);
+emit_16(1394);
+emit_16(1459);
+emit_16(1395);
+emit_16(1460);
+emit_16(1396);
+emit_16(1460);
+emit_16(1395);
+emit_16(1460);
+emit_16(1396);
+emit_16(1461);
+emit_16(1397);
+emit_16(1461);
+emit_16(1396);
+emit_16(1461);
+emit_16(1397);
+emit_16(1462);
+emit_16(1398);
+emit_16(1462);
+emit_16(1397);
+emit_16(1462);
+emit_16(1398);
+emit_16(1463);
+emit_16(1399);
+emit_16(1463);
+emit_16(1398);
+emit_16(1463);
+emit_16(1399);
+emit_16(1464);
+emit_16(1400);
+emit_16(1464);
+emit_16(1399);
+emit_16(1464);
+emit_16(1400);
+emit_16(1465);
+emit_16(1401);
+emit_16(1465);
+emit_16(1400);
+emit_16(1465);
+emit_16(1401);
+emit_16(1466);
+emit_16(1402);
+emit_16(1466);
+emit_16(1401);
+emit_16(1466);
+emit_16(1402);
+emit_16(1467);
+emit_16(1403);
+emit_16(1467);
+emit_16(1402);
+emit_16(1467);
+emit_16(1403);
+emit_16(1468);
+emit_16(1404);
+emit_16(1468);
+emit_16(1403);
+emit_16(1468);
+emit_16(1404);
+emit_16(1469);
+emit_16(1405);
+emit_16(1469);
+emit_16(1404);
+emit_16(1469);
+emit_16(1405);
+emit_16(1470);
+emit_16(1406);
+emit_16(1470);
+emit_16(1405);
+emit_16(1470);
+emit_16(1406);
+emit_16(1471);
+emit_16(1407);
+emit_16(1471);
+emit_16(1406);
+emit_16(1472);
+emit_16(1408);
+emit_16(1473);
+emit_16(1409);
+emit_16(1473);
+emit_16(1408);
+emit_16(1473);
+emit_16(1409);
+emit_16(1474);
+emit_16(1410);
+emit_16(1474);
+emit_16(1409);
+emit_16(1474);
+emit_16(1410);
+emit_16(1475);
+emit_16(1411);
+emit_16(1475);
+emit_16(1410);
+emit_16(1475);
+emit_16(1411);
+emit_16(1476);
+emit_16(1412);
+emit_16(1476);
+emit_16(1411);
+emit_16(1476);
+emit_16(1412);
+emit_16(1477);
+emit_16(1413);
+emit_16(1477);
+emit_16(1412);
+emit_16(1477);
+emit_16(1413);
+emit_16(1478);
+emit_16(1414);
+emit_16(1478);
+emit_16(1413);
+emit_16(1478);
+emit_16(1414);
+emit_16(1479);
+emit_16(1415);
+emit_16(1479);
+emit_16(1414);
+emit_16(1479);
+emit_16(1415);
+emit_16(1480);
+emit_16(1416);
+emit_16(1480);
+emit_16(1415);
+emit_16(1480);
+emit_16(1416);
+emit_16(1481);
+emit_16(1417);
+emit_16(1481);
+emit_16(1416);
+emit_16(1481);
+emit_16(1417);
+emit_16(1482);
+emit_16(1418);
+emit_16(1482);
+emit_16(1417);
+emit_16(1482);
+emit_16(1418);
+emit_16(1483);
+emit_16(1419);
+emit_16(1483);
+emit_16(1418);
+emit_16(1483);
+emit_16(1419);
+emit_16(1484);
+emit_16(1420);
+emit_16(1484);
+emit_16(1419);
+emit_16(1484);
+emit_16(1420);
+emit_16(1485);
+emit_16(1421);
+emit_16(1485);
+emit_16(1420);
+emit_16(1485);
+emit_16(1421);
+emit_16(1486);
+emit_16(1422);
+emit_16(1486);
+emit_16(1421);
+emit_16(1486);
+emit_16(1422);
+emit_16(1487);
+emit_16(1423);
+emit_16(1487);
+emit_16(1422);
+emit_16(1487);
+emit_16(1423);
+emit_16(1488);
+emit_16(1424);
+emit_16(1488);
+emit_16(1423);
+emit_16(1488);
+emit_16(1424);
+emit_16(1489);
+emit_16(1425);
+emit_16(1489);
+emit_16(1424);
+emit_16(1489);
+emit_16(1425);
+emit_16(1490);
+emit_16(1426);
+emit_16(1490);
+emit_16(1425);
+emit_16(1490);
+emit_16(1426);
+emit_16(1491);
+emit_16(1427);
+emit_16(1491);
+emit_16(1426);
+emit_16(1491);
+emit_16(1427);
+emit_16(1492);
+emit_16(1428);
+emit_16(1492);
+emit_16(1427);
+emit_16(1492);
+emit_16(1428);
+emit_16(1493);
+emit_16(1429);
+emit_16(1493);
+emit_16(1428);
+emit_16(1493);
+emit_16(1429);
+emit_16(1494);
+emit_16(1430);
+emit_16(1494);
+emit_16(1429);
+emit_16(1494);
+emit_16(1430);
+emit_16(1495);
+emit_16(1431);
+emit_16(1495);
+emit_16(1430);
+emit_16(1495);
+emit_16(1431);
+emit_16(1496);
+emit_16(1432);
+emit_16(1496);
+emit_16(1431);
+emit_16(1496);
+emit_16(1432);
+emit_16(1497);
+emit_16(1433);
+emit_16(1497);
+emit_16(1432);
+emit_16(1497);
+emit_16(1433);
+emit_16(1498);
+emit_16(1434);
+emit_16(1498);
+emit_16(1433);
+emit_16(1498);
+emit_16(1434);
+emit_16(1499);
+emit_16(1435);
+emit_16(1499);
+emit_16(1434);
+emit_16(1499);
+emit_16(1435);
+emit_16(1500);
+emit_16(1436);
+emit_16(1500);
+emit_16(1435);
+emit_16(1500);
+emit_16(1436);
+emit_16(1501);
+emit_16(1437);
+emit_16(1501);
+emit_16(1436);
+emit_16(1501);
+emit_16(1437);
+emit_16(1502);
+emit_16(1438);
+emit_16(1502);
+emit_16(1437);
+emit_16(1502);
+emit_16(1438);
+emit_16(1503);
+emit_16(1439);
+emit_16(1503);
+emit_16(1438);
+emit_16(1503);
+emit_16(1439);
+emit_16(1504);
+emit_16(1440);
+emit_16(1504);
+emit_16(1439);
+emit_16(1504);
+emit_16(1440);
+emit_16(1505);
+emit_16(1441);
+emit_16(1505);
+emit_16(1440);
+emit_16(1505);
+emit_16(1441);
+emit_16(1506);
+emit_16(1442);
+emit_16(1506);
+emit_16(1441);
+emit_16(1506);
+emit_16(1442);
+emit_16(1507);
+emit_16(1443);
+emit_16(1507);
+emit_16(1442);
+emit_16(1507);
+emit_16(1443);
+emit_16(1508);
+emit_16(1444);
+emit_16(1508);
+emit_16(1443);
+emit_16(1508);
+emit_16(1444);
+emit_16(1509);
+emit_16(1445);
+emit_16(1509);
+emit_16(1444);
+emit_16(1509);
+emit_16(1445);
+emit_16(1510);
+emit_16(1446);
+emit_16(1510);
+emit_16(1445);
+emit_16(1510);
+emit_16(1446);
+emit_16(1511);
+emit_16(1447);
+emit_16(1511);
+emit_16(1446);
+emit_16(1511);
+emit_16(1447);
+emit_16(1512);
+emit_16(1448);
+emit_16(1512);
+emit_16(1447);
+emit_16(1512);
+emit_16(1448);
+emit_16(1513);
+emit_16(1449);
+emit_16(1513);
+emit_16(1448);
+emit_16(1513);
+emit_16(1449);
+emit_16(1514);
+emit_16(1450);
+emit_16(1514);
+emit_16(1449);
+emit_16(1514);
+emit_16(1450);
+emit_16(1515);
+emit_16(1451);
+emit_16(1515);
+emit_16(1450);
+emit_16(1515);
+emit_16(1451);
+emit_16(1516);
+emit_16(1452);
+emit_16(1516);
+emit_16(1451);
+emit_16(1516);
+emit_16(1452);
+emit_16(1517);
+emit_16(1453);
+emit_16(1517);
+emit_16(1452);
+emit_16(1517);
+emit_16(1453);
+emit_16(1518);
+emit_16(1454);
+emit_16(1518);
+emit_16(1453);
+emit_16(1518);
+emit_16(1454);
+emit_16(1519);
+emit_16(1455);
+emit_16(1519);
+emit_16(1454);
+emit_16(1519);
+emit_16(1455);
+emit_16(1520);
+emit_16(1456);
+emit_16(1520);
+emit_16(1455);
+emit_16(1520);
+emit_16(1456);
+emit_16(1521);
+emit_16(1457);
+emit_16(1521);
+emit_16(1456);
+emit_16(1521);
+emit_16(1457);
+emit_16(1522);
+emit_16(1458);
+emit_16(1522);
+emit_16(1457);
+emit_16(1522);
+emit_16(1458);
+emit_16(1523);
+emit_16(1459);
+emit_16(1523);
+emit_16(1458);
+emit_16(1523);
+emit_16(1459);
+emit_16(1524);
+emit_16(1460);
+emit_16(1524);
+emit_16(1459);
+emit_16(1524);
+emit_16(1460);
+emit_16(1525);
+emit_16(1461);
+emit_16(1525);
+emit_16(1460);
+emit_16(1525);
+emit_16(1461);
+emit_16(1526);
+emit_16(1462);
+emit_16(1526);
+emit_16(1461);
+emit_16(1526);
+emit_16(1462);
+emit_16(1527);
+emit_16(1463);
+emit_16(1527);
+emit_16(1462);
+emit_16(1527);
+emit_16(1463);
+emit_16(1528);
+emit_16(1464);
+emit_16(1528);
+emit_16(1463);
+emit_16(1528);
+emit_16(1464);
+emit_16(1529);
+emit_16(1465);
+emit_16(1529);
+emit_16(1464);
+emit_16(1529);
+emit_16(1465);
+emit_16(1530);
+emit_16(1466);
+emit_16(1530);
+emit_16(1465);
+emit_16(1530);
+emit_16(1466);
+emit_16(1531);
+emit_16(1467);
+emit_16(1531);
+emit_16(1466);
+emit_16(1531);
+emit_16(1467);
+emit_16(1532);
+emit_16(1468);
+emit_16(1532);
+emit_16(1467);
+emit_16(1532);
+emit_16(1468);
+emit_16(1533);
+emit_16(1469);
+emit_16(1533);
+emit_16(1468);
+emit_16(1533);
+emit_16(1469);
+emit_16(1534);
+emit_16(1470);
+emit_16(1534);
+emit_16(1469);
+emit_16(1534);
+emit_16(1470);
+emit_16(1535);
+emit_16(1471);
+emit_16(1535);
+emit_16(1470);
+emit_16(1536);
+emit_16(1472);
+emit_16(1537);
+emit_16(1473);
+emit_16(1537);
+emit_16(1472);
+emit_16(1537);
+emit_16(1473);
+emit_16(1538);
+emit_16(1474);
+emit_16(1538);
+emit_16(1473);
+emit_16(1538);
+emit_16(1474);
+emit_16(1539);
+emit_16(1475);
+emit_16(1539);
+emit_16(1474);
+emit_16(1539);
+emit_16(1475);
+emit_16(1540);
+emit_16(1476);
+emit_16(1540);
+emit_16(1475);
+emit_16(1540);
+emit_16(1476);
+emit_16(1541);
+emit_16(1477);
+emit_16(1541);
+emit_16(1476);
+emit_16(1541);
+emit_16(1477);
+emit_16(1542);
+emit_16(1478);
+emit_16(1542);
+emit_16(1477);
+emit_16(1542);
+emit_16(1478);
+emit_16(1543);
+emit_16(1479);
+emit_16(1543);
+emit_16(1478);
+emit_16(1543);
+emit_16(1479);
+emit_16(1544);
+emit_16(1480);
+emit_16(1544);
+emit_16(1479);
+emit_16(1544);
+emit_16(1480);
+emit_16(1545);
+emit_16(1481);
+emit_16(1545);
+emit_16(1480);
+emit_16(1545);
+emit_16(1481);
+emit_16(1546);
+emit_16(1482);
+emit_16(1546);
+emit_16(1481);
+emit_16(1546);
+emit_16(1482);
+emit_16(1547);
+emit_16(1483);
+emit_16(1547);
+emit_16(1482);
+emit_16(1547);
+emit_16(1483);
+emit_16(1548);
+emit_16(1484);
+emit_16(1548);
+emit_16(1483);
+emit_16(1548);
+emit_16(1484);
+emit_16(1549);
+emit_16(1485);
+emit_16(1549);
+emit_16(1484);
+emit_16(1549);
+emit_16(1485);
+emit_16(1550);
+emit_16(1486);
+emit_16(1550);
+emit_16(1485);
+emit_16(1550);
+emit_16(1486);
+emit_16(1551);
+emit_16(1487);
+emit_16(1551);
+emit_16(1486);
+emit_16(1551);
+emit_16(1487);
+emit_16(1552);
+emit_16(1488);
+emit_16(1552);
+emit_16(1487);
+emit_16(1552);
+emit_16(1488);
+emit_16(1553);
+emit_16(1489);
+emit_16(1553);
+emit_16(1488);
+emit_16(1553);
+emit_16(1489);
+emit_16(1554);
+emit_16(1490);
+emit_16(1554);
+emit_16(1489);
+emit_16(1554);
+emit_16(1490);
+emit_16(1555);
+emit_16(1491);
+emit_16(1555);
+emit_16(1490);
+emit_16(1555);
+emit_16(1491);
+emit_16(1556);
+emit_16(1492);
+emit_16(1556);
+emit_16(1491);
+emit_16(1556);
+emit_16(1492);
+emit_16(1557);
+emit_16(1493);
+emit_16(1557);
+emit_16(1492);
+emit_16(1557);
+emit_16(1493);
+emit_16(1558);
+emit_16(1494);
+emit_16(1558);
+emit_16(1493);
+emit_16(1558);
+emit_16(1494);
+emit_16(1559);
+emit_16(1495);
+emit_16(1559);
+emit_16(1494);
+emit_16(1559);
+emit_16(1495);
+emit_16(1560);
+emit_16(1496);
+emit_16(1560);
+emit_16(1495);
+emit_16(1560);
+emit_16(1496);
+emit_16(1561);
+emit_16(1497);
+emit_16(1561);
+emit_16(1496);
+emit_16(1561);
+emit_16(1497);
+emit_16(1562);
+emit_16(1498);
+emit_16(1562);
+emit_16(1497);
+emit_16(1562);
+emit_16(1498);
+emit_16(1563);
+emit_16(1499);
+emit_16(1563);
+emit_16(1498);
+emit_16(1563);
+emit_16(1499);
+emit_16(1564);
+emit_16(1500);
+emit_16(1564);
+emit_16(1499);
+emit_16(1564);
+emit_16(1500);
+emit_16(1565);
+emit_16(1501);
+emit_16(1565);
+emit_16(1500);
+emit_16(1565);
+emit_16(1501);
+emit_16(1566);
+emit_16(1502);
+emit_16(1566);
+emit_16(1501);
+emit_16(1566);
+emit_16(1502);
+emit_16(1567);
+emit_16(1503);
+emit_16(1567);
+emit_16(1502);
+emit_16(1567);
+emit_16(1503);
+emit_16(1568);
+emit_16(1504);
+emit_16(1568);
+emit_16(1503);
+emit_16(1568);
+emit_16(1504);
+emit_16(1569);
+emit_16(1505);
+emit_16(1569);
+emit_16(1504);
+emit_16(1569);
+emit_16(1505);
+emit_16(1570);
+emit_16(1506);
+emit_16(1570);
+emit_16(1505);
+emit_16(1570);
+emit_16(1506);
+emit_16(1571);
+emit_16(1507);
+emit_16(1571);
+emit_16(1506);
+emit_16(1571);
+emit_16(1507);
+emit_16(1572);
+emit_16(1508);
+emit_16(1572);
+emit_16(1507);
+emit_16(1572);
+emit_16(1508);
+emit_16(1573);
+emit_16(1509);
+emit_16(1573);
+emit_16(1508);
+emit_16(1573);
+emit_16(1509);
+emit_16(1574);
+emit_16(1510);
+emit_16(1574);
+emit_16(1509);
+emit_16(1574);
+emit_16(1510);
+emit_16(1575);
+emit_16(1511);
+emit_16(1575);
+emit_16(1510);
+emit_16(1575);
+emit_16(1511);
+emit_16(1576);
+emit_16(1512);
+emit_16(1576);
+emit_16(1511);
+emit_16(1576);
+emit_16(1512);
+emit_16(1577);
+emit_16(1513);
+emit_16(1577);
+emit_16(1512);
+emit_16(1577);
+emit_16(1513);
+emit_16(1578);
+emit_16(1514);
+emit_16(1578);
+emit_16(1513);
+emit_16(1578);
+emit_16(1514);
+emit_16(1579);
+emit_16(1515);
+emit_16(1579);
+emit_16(1514);
+emit_16(1579);
+emit_16(1515);
+emit_16(1580);
+emit_16(1516);
+emit_16(1580);
+emit_16(1515);
+emit_16(1580);
+emit_16(1516);
+emit_16(1581);
+emit_16(1517);
+emit_16(1581);
+emit_16(1516);
+emit_16(1581);
+emit_16(1517);
+emit_16(1582);
+emit_16(1518);
+emit_16(1582);
+emit_16(1517);
+emit_16(1582);
+emit_16(1518);
+emit_16(1583);
+emit_16(1519);
+emit_16(1583);
+emit_16(1518);
+emit_16(1583);
+emit_16(1519);
+emit_16(1584);
+emit_16(1520);
+emit_16(1584);
+emit_16(1519);
+emit_16(1584);
+emit_16(1520);
+emit_16(1585);
+emit_16(1521);
+emit_16(1585);
+emit_16(1520);
+emit_16(1585);
+emit_16(1521);
+emit_16(1586);
+emit_16(1522);
+emit_16(1586);
+emit_16(1521);
+emit_16(1586);
+emit_16(1522);
+emit_16(1587);
+emit_16(1523);
+emit_16(1587);
+emit_16(1522);
+emit_16(1587);
+emit_16(1523);
+emit_16(1588);
+emit_16(1524);
+emit_16(1588);
+emit_16(1523);
+emit_16(1588);
+emit_16(1524);
+emit_16(1589);
+emit_16(1525);
+emit_16(1589);
+emit_16(1524);
+emit_16(1589);
+emit_16(1525);
+emit_16(1590);
+emit_16(1526);
+emit_16(1590);
+emit_16(1525);
+emit_16(1590);
+emit_16(1526);
+emit_16(1591);
+emit_16(1527);
+emit_16(1591);
+emit_16(1526);
+emit_16(1591);
+emit_16(1527);
+emit_16(1592);
+emit_16(1528);
+emit_16(1592);
+emit_16(1527);
+emit_16(1592);
+emit_16(1528);
+emit_16(1593);
+emit_16(1529);
+emit_16(1593);
+emit_16(1528);
+emit_16(1593);
+emit_16(1529);
+emit_16(1594);
+emit_16(1530);
+emit_16(1594);
+emit_16(1529);
+emit_16(1594);
+emit_16(1530);
+emit_16(1595);
+emit_16(1531);
+emit_16(1595);
+emit_16(1530);
+emit_16(1595);
+emit_16(1531);
+emit_16(1596);
+emit_16(1532);
+emit_16(1596);
+emit_16(1531);
+emit_16(1596);
+emit_16(1532);
+emit_16(1597);
+emit_16(1533);
+emit_16(1597);
+emit_16(1532);
+emit_16(1597);
+emit_16(1533);
+emit_16(1598);
+emit_16(1534);
+emit_16(1598);
+emit_16(1533);
+emit_16(1598);
+emit_16(1534);
+emit_16(1599);
+emit_16(1535);
+emit_16(1599);
+emit_16(1534);
+emit_16(1600);
+emit_16(1536);
+emit_16(1601);
+emit_16(1537);
+emit_16(1601);
+emit_16(1536);
+emit_16(1601);
+emit_16(1537);
+emit_16(1602);
+emit_16(1538);
+emit_16(1602);
+emit_16(1537);
+emit_16(1602);
+emit_16(1538);
+emit_16(1603);
+emit_16(1539);
+emit_16(1603);
+emit_16(1538);
+emit_16(1603);
+emit_16(1539);
+emit_16(1604);
+emit_16(1540);
+emit_16(1604);
+emit_16(1539);
+emit_16(1604);
+emit_16(1540);
+emit_16(1605);
+emit_16(1541);
+emit_16(1605);
+emit_16(1540);
+emit_16(1605);
+emit_16(1541);
+emit_16(1606);
+emit_16(1542);
+emit_16(1606);
+emit_16(1541);
+emit_16(1606);
+emit_16(1542);
+emit_16(1607);
+emit_16(1543);
+emit_16(1607);
+emit_16(1542);
+emit_16(1607);
+emit_16(1543);
+emit_16(1608);
+emit_16(1544);
+emit_16(1608);
+emit_16(1543);
+emit_16(1608);
+emit_16(1544);
+emit_16(1609);
+emit_16(1545);
+emit_16(1609);
+emit_16(1544);
+emit_16(1609);
+emit_16(1545);
+emit_16(1610);
+emit_16(1546);
+emit_16(1610);
+emit_16(1545);
+emit_16(1610);
+emit_16(1546);
+emit_16(1611);
+emit_16(1547);
+emit_16(1611);
+emit_16(1546);
+emit_16(1611);
+emit_16(1547);
+emit_16(1612);
+emit_16(1548);
+emit_16(1612);
+emit_16(1547);
+emit_16(1612);
+emit_16(1548);
+emit_16(1613);
+emit_16(1549);
+emit_16(1613);
+emit_16(1548);
+emit_16(1613);
+emit_16(1549);
+emit_16(1614);
+emit_16(1550);
+emit_16(1614);
+emit_16(1549);
+emit_16(1614);
+emit_16(1550);
+emit_16(1615);
+emit_16(1551);
+emit_16(1615);
+emit_16(1550);
+emit_16(1615);
+emit_16(1551);
+emit_16(1616);
+emit_16(1552);
+emit_16(1616);
+emit_16(1551);
+emit_16(1616);
+emit_16(1552);
+emit_16(1617);
+emit_16(1553);
+emit_16(1617);
+emit_16(1552);
+emit_16(1617);
+emit_16(1553);
+emit_16(1618);
+emit_16(1554);
+emit_16(1618);
+emit_16(1553);
+emit_16(1618);
+emit_16(1554);
+emit_16(1619);
+emit_16(1555);
+emit_16(1619);
+emit_16(1554);
+emit_16(1619);
+emit_16(1555);
+emit_16(1620);
+emit_16(1556);
+emit_16(1620);
+emit_16(1555);
+emit_16(1620);
+emit_16(1556);
+emit_16(1621);
+emit_16(1557);
+emit_16(1621);
+emit_16(1556);
+emit_16(1621);
+emit_16(1557);
+emit_16(1622);
+emit_16(1558);
+emit_16(1622);
+emit_16(1557);
+emit_16(1622);
+emit_16(1558);
+emit_16(1623);
+emit_16(1559);
+emit_16(1623);
+emit_16(1558);
+emit_16(1623);
+emit_16(1559);
+emit_16(1624);
+emit_16(1560);
+emit_16(1624);
+emit_16(1559);
+emit_16(1624);
+emit_16(1560);
+emit_16(1625);
+emit_16(1561);
+emit_16(1625);
+emit_16(1560);
+emit_16(1625);
+emit_16(1561);
+emit_16(1626);
+emit_16(1562);
+emit_16(1626);
+emit_16(1561);
+emit_16(1626);
+emit_16(1562);
+emit_16(1627);
+emit_16(1563);
+emit_16(1627);
+emit_16(1562);
+emit_16(1627);
+emit_16(1563);
+emit_16(1628);
+emit_16(1564);
+emit_16(1628);
+emit_16(1563);
+emit_16(1628);
+emit_16(1564);
+emit_16(1629);
+emit_16(1565);
+emit_16(1629);
+emit_16(1564);
+emit_16(1629);
+emit_16(1565);
+emit_16(1630);
+emit_16(1566);
+emit_16(1630);
+emit_16(1565);
+emit_16(1630);
+emit_16(1566);
+emit_16(1631);
+emit_16(1567);
+emit_16(1631);
+emit_16(1566);
+emit_16(1631);
+emit_16(1567);
+emit_16(1632);
+emit_16(1568);
+emit_16(1632);
+emit_16(1567);
+emit_16(1632);
+emit_16(1568);
+emit_16(1633);
+emit_16(1569);
+emit_16(1633);
+emit_16(1568);
+emit_16(1633);
+emit_16(1569);
+emit_16(1634);
+emit_16(1570);
+emit_16(1634);
+emit_16(1569);
+emit_16(1634);
+emit_16(1570);
+emit_16(1635);
+emit_16(1571);
+emit_16(1635);
+emit_16(1570);
+emit_16(1635);
+emit_16(1571);
+emit_16(1636);
+emit_16(1572);
+emit_16(1636);
+emit_16(1571);
+emit_16(1636);
+emit_16(1572);
+emit_16(1637);
+emit_16(1573);
+emit_16(1637);
+emit_16(1572);
+emit_16(1637);
+emit_16(1573);
+emit_16(1638);
+emit_16(1574);
+emit_16(1638);
+emit_16(1573);
+emit_16(1638);
+emit_16(1574);
+emit_16(1639);
+emit_16(1575);
+emit_16(1639);
+emit_16(1574);
+emit_16(1639);
+emit_16(1575);
+emit_16(1640);
+emit_16(1576);
+emit_16(1640);
+emit_16(1575);
+emit_16(1640);
+emit_16(1576);
+emit_16(1641);
+emit_16(1577);
+emit_16(1641);
+emit_16(1576);
+emit_16(1641);
+emit_16(1577);
+emit_16(1642);
+emit_16(1578);
+emit_16(1642);
+emit_16(1577);
+emit_16(1642);
+emit_16(1578);
+emit_16(1643);
+emit_16(1579);
+emit_16(1643);
+emit_16(1578);
+emit_16(1643);
+emit_16(1579);
+emit_16(1644);
+emit_16(1580);
+emit_16(1644);
+emit_16(1579);
+emit_16(1644);
+emit_16(1580);
+emit_16(1645);
+emit_16(1581);
+emit_16(1645);
+emit_16(1580);
+emit_16(1645);
+emit_16(1581);
+emit_16(1646);
+emit_16(1582);
+emit_16(1646);
+emit_16(1581);
+emit_16(1646);
+emit_16(1582);
+emit_16(1647);
+emit_16(1583);
+emit_16(1647);
+emit_16(1582);
+emit_16(1647);
+emit_16(1583);
+emit_16(1648);
+emit_16(1584);
+emit_16(1648);
+emit_16(1583);
+emit_16(1648);
+emit_16(1584);
+emit_16(1649);
+emit_16(1585);
+emit_16(1649);
+emit_16(1584);
+emit_16(1649);
+emit_16(1585);
+emit_16(1650);
+emit_16(1586);
+emit_16(1650);
+emit_16(1585);
+emit_16(1650);
+emit_16(1586);
+emit_16(1651);
+emit_16(1587);
+emit_16(1651);
+emit_16(1586);
+emit_16(1651);
+emit_16(1587);
+emit_16(1652);
+emit_16(1588);
+emit_16(1652);
+emit_16(1587);
+emit_16(1652);
+emit_16(1588);
+emit_16(1653);
+emit_16(1589);
+emit_16(1653);
+emit_16(1588);
+emit_16(1653);
+emit_16(1589);
+emit_16(1654);
+emit_16(1590);
+emit_16(1654);
+emit_16(1589);
+emit_16(1654);
+emit_16(1590);
+emit_16(1655);
+emit_16(1591);
+emit_16(1655);
+emit_16(1590);
+emit_16(1655);
+emit_16(1591);
+emit_16(1656);
+emit_16(1592);
+emit_16(1656);
+emit_16(1591);
+emit_16(1656);
+emit_16(1592);
+emit_16(1657);
+emit_16(1593);
+emit_16(1657);
+emit_16(1592);
+emit_16(1657);
+emit_16(1593);
+emit_16(1658);
+emit_16(1594);
+emit_16(1658);
+emit_16(1593);
+emit_16(1658);
+emit_16(1594);
+emit_16(1659);
+emit_16(1595);
+emit_16(1659);
+emit_16(1594);
+emit_16(1659);
+emit_16(1595);
+emit_16(1660);
+emit_16(1596);
+emit_16(1660);
+emit_16(1595);
+emit_16(1660);
+emit_16(1596);
+emit_16(1661);
+emit_16(1597);
+emit_16(1661);
+emit_16(1596);
+emit_16(1661);
+emit_16(1597);
+emit_16(1662);
+emit_16(1598);
+emit_16(1662);
+emit_16(1597);
+emit_16(1662);
+emit_16(1598);
+emit_16(1663);
+emit_16(1599);
+emit_16(1663);
+emit_16(1598);
+emit_16(1664);
+emit_16(1600);
+emit_16(1665);
+emit_16(1601);
+emit_16(1665);
+emit_16(1600);
+emit_16(1665);
+emit_16(1601);
+emit_16(1666);
+emit_16(1602);
+emit_16(1666);
+emit_16(1601);
+emit_16(1666);
+emit_16(1602);
+emit_16(1667);
+emit_16(1603);
+emit_16(1667);
+emit_16(1602);
+emit_16(1667);
+emit_16(1603);
+emit_16(1668);
+emit_16(1604);
+emit_16(1668);
+emit_16(1603);
+emit_16(1668);
+emit_16(1604);
+emit_16(1669);
+emit_16(1605);
+emit_16(1669);
+emit_16(1604);
+emit_16(1669);
+emit_16(1605);
+emit_16(1670);
+emit_16(1606);
+emit_16(1670);
+emit_16(1605);
+emit_16(1670);
+emit_16(1606);
+emit_16(1671);
+emit_16(1607);
+emit_16(1671);
+emit_16(1606);
+emit_16(1671);
+emit_16(1607);
+emit_16(1672);
+emit_16(1608);
+emit_16(1672);
+emit_16(1607);
+emit_16(1672);
+emit_16(1608);
+emit_16(1673);
+emit_16(1609);
+emit_16(1673);
+emit_16(1608);
+emit_16(1673);
+emit_16(1609);
+emit_16(1674);
+emit_16(1610);
+emit_16(1674);
+emit_16(1609);
+emit_16(1674);
+emit_16(1610);
+emit_16(1675);
+emit_16(1611);
+emit_16(1675);
+emit_16(1610);
+emit_16(1675);
+emit_16(1611);
+emit_16(1676);
+emit_16(1612);
+emit_16(1676);
+emit_16(1611);
+emit_16(1676);
+emit_16(1612);
+emit_16(1677);
+emit_16(1613);
+emit_16(1677);
+emit_16(1612);
+emit_16(1677);
+emit_16(1613);
+emit_16(1678);
+emit_16(1614);
+emit_16(1678);
+emit_16(1613);
+emit_16(1678);
+emit_16(1614);
+emit_16(1679);
+emit_16(1615);
+emit_16(1679);
+emit_16(1614);
+emit_16(1679);
+emit_16(1615);
+emit_16(1680);
+emit_16(1616);
+emit_16(1680);
+emit_16(1615);
+emit_16(1680);
+emit_16(1616);
+emit_16(1681);
+emit_16(1617);
+emit_16(1681);
+emit_16(1616);
+emit_16(1681);
+emit_16(1617);
+emit_16(1682);
+emit_16(1618);
+emit_16(1682);
+emit_16(1617);
+emit_16(1682);
+emit_16(1618);
+emit_16(1683);
+emit_16(1619);
+emit_16(1683);
+emit_16(1618);
+emit_16(1683);
+emit_16(1619);
+emit_16(1684);
+emit_16(1620);
+emit_16(1684);
+emit_16(1619);
+emit_16(1684);
+emit_16(1620);
+emit_16(1685);
+emit_16(1621);
+emit_16(1685);
+emit_16(1620);
+emit_16(1685);
+emit_16(1621);
+emit_16(1686);
+emit_16(1622);
+emit_16(1686);
+emit_16(1621);
+emit_16(1686);
+emit_16(1622);
+emit_16(1687);
+emit_16(1623);
+emit_16(1687);
+emit_16(1622);
+emit_16(1687);
+emit_16(1623);
+emit_16(1688);
+emit_16(1624);
+emit_16(1688);
+emit_16(1623);
+emit_16(1688);
+emit_16(1624);
+emit_16(1689);
+emit_16(1625);
+emit_16(1689);
+emit_16(1624);
+emit_16(1689);
+emit_16(1625);
+emit_16(1690);
+emit_16(1626);
+emit_16(1690);
+emit_16(1625);
+emit_16(1690);
+emit_16(1626);
+emit_16(1691);
+emit_16(1627);
+emit_16(1691);
+emit_16(1626);
+emit_16(1691);
+emit_16(1627);
+emit_16(1692);
+emit_16(1628);
+emit_16(1692);
+emit_16(1627);
+emit_16(1692);
+emit_16(1628);
+emit_16(1693);
+emit_16(1629);
+emit_16(1693);
+emit_16(1628);
+emit_16(1693);
+emit_16(1629);
+emit_16(1694);
+emit_16(1630);
+emit_16(1694);
+emit_16(1629);
+emit_16(1694);
+emit_16(1630);
+emit_16(1695);
+emit_16(1631);
+emit_16(1695);
+emit_16(1630);
+emit_16(1695);
+emit_16(1631);
+emit_16(1696);
+emit_16(1632);
+emit_16(1696);
+emit_16(1631);
+emit_16(1696);
+emit_16(1632);
+emit_16(1697);
+emit_16(1633);
+emit_16(1697);
+emit_16(1632);
+emit_16(1697);
+emit_16(1633);
+emit_16(1698);
+emit_16(1634);
+emit_16(1698);
+emit_16(1633);
+emit_16(1698);
+emit_16(1634);
+emit_16(1699);
+emit_16(1635);
+emit_16(1699);
+emit_16(1634);
+emit_16(1699);
+emit_16(1635);
+emit_16(1700);
+emit_16(1636);
+emit_16(1700);
+emit_16(1635);
+emit_16(1700);
+emit_16(1636);
+emit_16(1701);
+emit_16(1637);
+emit_16(1701);
+emit_16(1636);
+emit_16(1701);
+emit_16(1637);
+emit_16(1702);
+emit_16(1638);
+emit_16(1702);
+emit_16(1637);
+emit_16(1702);
+emit_16(1638);
+emit_16(1703);
+emit_16(1639);
+emit_16(1703);
+emit_16(1638);
+emit_16(1703);
+emit_16(1639);
+emit_16(1704);
+emit_16(1640);
+emit_16(1704);
+emit_16(1639);
+emit_16(1704);
+emit_16(1640);
+emit_16(1705);
+emit_16(1641);
+emit_16(1705);
+emit_16(1640);
+emit_16(1705);
+emit_16(1641);
+emit_16(1706);
+emit_16(1642);
+emit_16(1706);
+emit_16(1641);
+emit_16(1706);
+emit_16(1642);
+emit_16(1707);
+emit_16(1643);
+emit_16(1707);
+emit_16(1642);
+emit_16(1707);
+emit_16(1643);
+emit_16(1708);
+emit_16(1644);
+emit_16(1708);
+emit_16(1643);
+emit_16(1708);
+emit_16(1644);
+emit_16(1709);
+emit_16(1645);
+emit_16(1709);
+emit_16(1644);
+emit_16(1709);
+emit_16(1645);
+emit_16(1710);
+emit_16(1646);
+emit_16(1710);
+emit_16(1645);
+emit_16(1710);
+emit_16(1646);
+emit_16(1711);
+emit_16(1647);
+emit_16(1711);
+emit_16(1646);
+emit_16(1711);
+emit_16(1647);
+emit_16(1712);
+emit_16(1648);
+emit_16(1712);
+emit_16(1647);
+emit_16(1712);
+emit_16(1648);
+emit_16(1713);
+emit_16(1649);
+emit_16(1713);
+emit_16(1648);
+emit_16(1713);
+emit_16(1649);
+emit_16(1714);
+emit_16(1650);
+emit_16(1714);
+emit_16(1649);
+emit_16(1714);
+emit_16(1650);
+emit_16(1715);
+emit_16(1651);
+emit_16(1715);
+emit_16(1650);
+emit_16(1715);
+emit_16(1651);
+emit_16(1716);
+emit_16(1652);
+emit_16(1716);
+emit_16(1651);
+emit_16(1716);
+emit_16(1652);
+emit_16(1717);
+emit_16(1653);
+emit_16(1717);
+emit_16(1652);
+emit_16(1717);
+emit_16(1653);
+emit_16(1718);
+emit_16(1654);
+emit_16(1718);
+emit_16(1653);
+emit_16(1718);
+emit_16(1654);
+emit_16(1719);
+emit_16(1655);
+emit_16(1719);
+emit_16(1654);
+emit_16(1719);
+emit_16(1655);
+emit_16(1720);
+emit_16(1656);
+emit_16(1720);
+emit_16(1655);
+emit_16(1720);
+emit_16(1656);
+emit_16(1721);
+emit_16(1657);
+emit_16(1721);
+emit_16(1656);
+emit_16(1721);
+emit_16(1657);
+emit_16(1722);
+emit_16(1658);
+emit_16(1722);
+emit_16(1657);
+emit_16(1722);
+emit_16(1658);
+emit_16(1723);
+emit_16(1659);
+emit_16(1723);
+emit_16(1658);
+emit_16(1723);
+emit_16(1659);
+emit_16(1724);
+emit_16(1660);
+emit_16(1724);
+emit_16(1659);
+emit_16(1724);
+emit_16(1660);
+emit_16(1725);
+emit_16(1661);
+emit_16(1725);
+emit_16(1660);
+emit_16(1725);
+emit_16(1661);
+emit_16(1726);
+emit_16(1662);
+emit_16(1726);
+emit_16(1661);
+emit_16(1726);
+emit_16(1662);
+emit_16(1727);
+emit_16(1663);
+emit_16(1727);
+emit_16(1662);
+emit_16(1728);
+emit_16(1664);
+emit_16(1729);
+emit_16(1665);
+emit_16(1729);
+emit_16(1664);
+emit_16(1729);
+emit_16(1665);
+emit_16(1730);
+emit_16(1666);
+emit_16(1730);
+emit_16(1665);
+emit_16(1730);
+emit_16(1666);
+emit_16(1731);
+emit_16(1667);
+emit_16(1731);
+emit_16(1666);
+emit_16(1731);
+emit_16(1667);
+emit_16(1732);
+emit_16(1668);
+emit_16(1732);
+emit_16(1667);
+emit_16(1732);
+emit_16(1668);
+emit_16(1733);
+emit_16(1669);
+emit_16(1733);
+emit_16(1668);
+emit_16(1733);
+emit_16(1669);
+emit_16(1734);
+emit_16(1670);
+emit_16(1734);
+emit_16(1669);
+emit_16(1734);
+emit_16(1670);
+emit_16(1735);
+emit_16(1671);
+emit_16(1735);
+emit_16(1670);
+emit_16(1735);
+emit_16(1671);
+emit_16(1736);
+emit_16(1672);
+emit_16(1736);
+emit_16(1671);
+emit_16(1736);
+emit_16(1672);
+emit_16(1737);
+emit_16(1673);
+emit_16(1737);
+emit_16(1672);
+emit_16(1737);
+emit_16(1673);
+emit_16(1738);
+emit_16(1674);
+emit_16(1738);
+emit_16(1673);
+emit_16(1738);
+emit_16(1674);
+emit_16(1739);
+emit_16(1675);
+emit_16(1739);
+emit_16(1674);
+emit_16(1739);
+emit_16(1675);
+emit_16(1740);
+emit_16(1676);
+emit_16(1740);
+emit_16(1675);
+emit_16(1740);
+emit_16(1676);
+emit_16(1741);
+emit_16(1677);
+emit_16(1741);
+emit_16(1676);
+emit_16(1741);
+emit_16(1677);
+emit_16(1742);
+emit_16(1678);
+emit_16(1742);
+emit_16(1677);
+emit_16(1742);
+emit_16(1678);
+emit_16(1743);
+emit_16(1679);
+emit_16(1743);
+emit_16(1678);
+emit_16(1743);
+emit_16(1679);
+emit_16(1744);
+emit_16(1680);
+emit_16(1744);
+emit_16(1679);
+emit_16(1744);
+emit_16(1680);
+emit_16(1745);
+emit_16(1681);
+emit_16(1745);
+emit_16(1680);
+emit_16(1745);
+emit_16(1681);
+emit_16(1746);
+emit_16(1682);
+emit_16(1746);
+emit_16(1681);
+emit_16(1746);
+emit_16(1682);
+emit_16(1747);
+emit_16(1683);
+emit_16(1747);
+emit_16(1682);
+emit_16(1747);
+emit_16(1683);
+emit_16(1748);
+emit_16(1684);
+emit_16(1748);
+emit_16(1683);
+emit_16(1748);
+emit_16(1684);
+emit_16(1749);
+emit_16(1685);
+emit_16(1749);
+emit_16(1684);
+emit_16(1749);
+emit_16(1685);
+emit_16(1750);
+emit_16(1686);
+emit_16(1750);
+emit_16(1685);
+emit_16(1750);
+emit_16(1686);
+emit_16(1751);
+emit_16(1687);
+emit_16(1751);
+emit_16(1686);
+emit_16(1751);
+emit_16(1687);
+emit_16(1752);
+emit_16(1688);
+emit_16(1752);
+emit_16(1687);
+emit_16(1752);
+emit_16(1688);
+emit_16(1753);
+emit_16(1689);
+emit_16(1753);
+emit_16(1688);
+emit_16(1753);
+emit_16(1689);
+emit_16(1754);
+emit_16(1690);
+emit_16(1754);
+emit_16(1689);
+emit_16(1754);
+emit_16(1690);
+emit_16(1755);
+emit_16(1691);
+emit_16(1755);
+emit_16(1690);
+emit_16(1755);
+emit_16(1691);
+emit_16(1756);
+emit_16(1692);
+emit_16(1756);
+emit_16(1691);
+emit_16(1756);
+emit_16(1692);
+emit_16(1757);
+emit_16(1693);
+emit_16(1757);
+emit_16(1692);
+emit_16(1757);
+emit_16(1693);
+emit_16(1758);
+emit_16(1694);
+emit_16(1758);
+emit_16(1693);
+emit_16(1758);
+emit_16(1694);
+emit_16(1759);
+emit_16(1695);
+emit_16(1759);
+emit_16(1694);
+emit_16(1759);
+emit_16(1695);
+emit_16(1760);
+emit_16(1696);
+emit_16(1760);
+emit_16(1695);
+emit_16(1760);
+emit_16(1696);
+emit_16(1761);
+emit_16(1697);
+emit_16(1761);
+emit_16(1696);
+emit_16(1761);
+emit_16(1697);
+emit_16(1762);
+emit_16(1698);
+emit_16(1762);
+emit_16(1697);
+emit_16(1762);
+emit_16(1698);
+emit_16(1763);
+emit_16(1699);
+emit_16(1763);
+emit_16(1698);
+emit_16(1763);
+emit_16(1699);
+emit_16(1764);
+emit_16(1700);
+emit_16(1764);
+emit_16(1699);
+emit_16(1764);
+emit_16(1700);
+emit_16(1765);
+emit_16(1701);
+emit_16(1765);
+emit_16(1700);
+emit_16(1765);
+emit_16(1701);
+emit_16(1766);
+emit_16(1702);
+emit_16(1766);
+emit_16(1701);
+emit_16(1766);
+emit_16(1702);
+emit_16(1767);
+emit_16(1703);
+emit_16(1767);
+emit_16(1702);
+emit_16(1767);
+emit_16(1703);
+emit_16(1768);
+emit_16(1704);
+emit_16(1768);
+emit_16(1703);
+emit_16(1768);
+emit_16(1704);
+emit_16(1769);
+emit_16(1705);
+emit_16(1769);
+emit_16(1704);
+emit_16(1769);
+emit_16(1705);
+emit_16(1770);
+emit_16(1706);
+emit_16(1770);
+emit_16(1705);
+emit_16(1770);
+emit_16(1706);
+emit_16(1771);
+emit_16(1707);
+emit_16(1771);
+emit_16(1706);
+emit_16(1771);
+emit_16(1707);
+emit_16(1772);
+emit_16(1708);
+emit_16(1772);
+emit_16(1707);
+emit_16(1772);
+emit_16(1708);
+emit_16(1773);
+emit_16(1709);
+emit_16(1773);
+emit_16(1708);
+emit_16(1773);
+emit_16(1709);
+emit_16(1774);
+emit_16(1710);
+emit_16(1774);
+emit_16(1709);
+emit_16(1774);
+emit_16(1710);
+emit_16(1775);
+emit_16(1711);
+emit_16(1775);
+emit_16(1710);
+emit_16(1775);
+emit_16(1711);
+emit_16(1776);
+emit_16(1712);
+emit_16(1776);
+emit_16(1711);
+emit_16(1776);
+emit_16(1712);
+emit_16(1777);
+emit_16(1713);
+emit_16(1777);
+emit_16(1712);
+emit_16(1777);
+emit_16(1713);
+emit_16(1778);
+emit_16(1714);
+emit_16(1778);
+emit_16(1713);
+emit_16(1778);
+emit_16(1714);
+emit_16(1779);
+emit_16(1715);
+emit_16(1779);
+emit_16(1714);
+emit_16(1779);
+emit_16(1715);
+emit_16(1780);
+emit_16(1716);
+emit_16(1780);
+emit_16(1715);
+emit_16(1780);
+emit_16(1716);
+emit_16(1781);
+emit_16(1717);
+emit_16(1781);
+emit_16(1716);
+emit_16(1781);
+emit_16(1717);
+emit_16(1782);
+emit_16(1718);
+emit_16(1782);
+emit_16(1717);
+emit_16(1782);
+emit_16(1718);
+emit_16(1783);
+emit_16(1719);
+emit_16(1783);
+emit_16(1718);
+emit_16(1783);
+emit_16(1719);
+emit_16(1784);
+emit_16(1720);
+emit_16(1784);
+emit_16(1719);
+emit_16(1784);
+emit_16(1720);
+emit_16(1785);
+emit_16(1721);
+emit_16(1785);
+emit_16(1720);
+emit_16(1785);
+emit_16(1721);
+emit_16(1786);
+emit_16(1722);
+emit_16(1786);
+emit_16(1721);
+emit_16(1786);
+emit_16(1722);
+emit_16(1787);
+emit_16(1723);
+emit_16(1787);
+emit_16(1722);
+emit_16(1787);
+emit_16(1723);
+emit_16(1788);
+emit_16(1724);
+emit_16(1788);
+emit_16(1723);
+emit_16(1788);
+emit_16(1724);
+emit_16(1789);
+emit_16(1725);
+emit_16(1789);
+emit_16(1724);
+emit_16(1789);
+emit_16(1725);
+emit_16(1790);
+emit_16(1726);
+emit_16(1790);
+emit_16(1725);
+emit_16(1790);
+emit_16(1726);
+emit_16(1791);
+emit_16(1727);
+emit_16(1791);
+emit_16(1726);
+emit_16(1792);
+emit_16(1728);
+emit_16(1793);
+emit_16(1729);
+emit_16(1793);
+emit_16(1728);
+emit_16(1793);
+emit_16(1729);
+emit_16(1794);
+emit_16(1730);
+emit_16(1794);
+emit_16(1729);
+emit_16(1794);
+emit_16(1730);
+emit_16(1795);
+emit_16(1731);
+emit_16(1795);
+emit_16(1730);
+emit_16(1795);
+emit_16(1731);
+emit_16(1796);
+emit_16(1732);
+emit_16(1796);
+emit_16(1731);
+emit_16(1796);
+emit_16(1732);
+emit_16(1797);
+emit_16(1733);
+emit_16(1797);
+emit_16(1732);
+emit_16(1797);
+emit_16(1733);
+emit_16(1798);
+emit_16(1734);
+emit_16(1798);
+emit_16(1733);
+emit_16(1798);
+emit_16(1734);
+emit_16(1799);
+emit_16(1735);
+emit_16(1799);
+emit_16(1734);
+emit_16(1799);
+emit_16(1735);
+emit_16(1800);
+emit_16(1736);
+emit_16(1800);
+emit_16(1735);
+emit_16(1800);
+emit_16(1736);
+emit_16(1801);
+emit_16(1737);
+emit_16(1801);
+emit_16(1736);
+emit_16(1801);
+emit_16(1737);
+emit_16(1802);
+emit_16(1738);
+emit_16(1802);
+emit_16(1737);
+emit_16(1802);
+emit_16(1738);
+emit_16(1803);
+emit_16(1739);
+emit_16(1803);
+emit_16(1738);
+emit_16(1803);
+emit_16(1739);
+emit_16(1804);
+emit_16(1740);
+emit_16(1804);
+emit_16(1739);
+emit_16(1804);
+emit_16(1740);
+emit_16(1805);
+emit_16(1741);
+emit_16(1805);
+emit_16(1740);
+emit_16(1805);
+emit_16(1741);
+emit_16(1806);
+emit_16(1742);
+emit_16(1806);
+emit_16(1741);
+emit_16(1806);
+emit_16(1742);
+emit_16(1807);
+emit_16(1743);
+emit_16(1807);
+emit_16(1742);
+emit_16(1807);
+emit_16(1743);
+emit_16(1808);
+emit_16(1744);
+emit_16(1808);
+emit_16(1743);
+emit_16(1808);
+emit_16(1744);
+emit_16(1809);
+emit_16(1745);
+emit_16(1809);
+emit_16(1744);
+emit_16(1809);
+emit_16(1745);
+emit_16(1810);
+emit_16(1746);
+emit_16(1810);
+emit_16(1745);
+emit_16(1810);
+emit_16(1746);
+emit_16(1811);
+emit_16(1747);
+emit_16(1811);
+emit_16(1746);
+emit_16(1811);
+emit_16(1747);
+emit_16(1812);
+emit_16(1748);
+emit_16(1812);
+emit_16(1747);
+emit_16(1812);
+emit_16(1748);
+emit_16(1813);
+emit_16(1749);
+emit_16(1813);
+emit_16(1748);
+emit_16(1813);
+emit_16(1749);
+emit_16(1814);
+emit_16(1750);
+emit_16(1814);
+emit_16(1749);
+emit_16(1814);
+emit_16(1750);
+emit_16(1815);
+emit_16(1751);
+emit_16(1815);
+emit_16(1750);
+emit_16(1815);
+emit_16(1751);
+emit_16(1816);
+emit_16(1752);
+emit_16(1816);
+emit_16(1751);
+emit_16(1816);
+emit_16(1752);
+emit_16(1817);
+emit_16(1753);
+emit_16(1817);
+emit_16(1752);
+emit_16(1817);
+emit_16(1753);
+emit_16(1818);
+emit_16(1754);
+emit_16(1818);
+emit_16(1753);
+emit_16(1818);
+emit_16(1754);
+emit_16(1819);
+emit_16(1755);
+emit_16(1819);
+emit_16(1754);
+emit_16(1819);
+emit_16(1755);
+emit_16(1820);
+emit_16(1756);
+emit_16(1820);
+emit_16(1755);
+emit_16(1820);
+emit_16(1756);
+emit_16(1821);
+emit_16(1757);
+emit_16(1821);
+emit_16(1756);
+emit_16(1821);
+emit_16(1757);
+emit_16(1822);
+emit_16(1758);
+emit_16(1822);
+emit_16(1757);
+emit_16(1822);
+emit_16(1758);
+emit_16(1823);
+emit_16(1759);
+emit_16(1823);
+emit_16(1758);
+emit_16(1823);
+emit_16(1759);
+emit_16(1824);
+emit_16(1760);
+emit_16(1824);
+emit_16(1759);
+emit_16(1824);
+emit_16(1760);
+emit_16(1825);
+emit_16(1761);
+emit_16(1825);
+emit_16(1760);
+emit_16(1825);
+emit_16(1761);
+emit_16(1826);
+emit_16(1762);
+emit_16(1826);
+emit_16(1761);
+emit_16(1826);
+emit_16(1762);
+emit_16(1827);
+emit_16(1763);
+emit_16(1827);
+emit_16(1762);
+emit_16(1827);
+emit_16(1763);
+emit_16(1828);
+emit_16(1764);
+emit_16(1828);
+emit_16(1763);
+emit_16(1828);
+emit_16(1764);
+emit_16(1829);
+emit_16(1765);
+emit_16(1829);
+emit_16(1764);
+emit_16(1829);
+emit_16(1765);
+emit_16(1830);
+emit_16(1766);
+emit_16(1830);
+emit_16(1765);
+emit_16(1830);
+emit_16(1766);
+emit_16(1831);
+emit_16(1767);
+emit_16(1831);
+emit_16(1766);
+emit_16(1831);
+emit_16(1767);
+emit_16(1832);
+emit_16(1768);
+emit_16(1832);
+emit_16(1767);
+emit_16(1832);
+emit_16(1768);
+emit_16(1833);
+emit_16(1769);
+emit_16(1833);
+emit_16(1768);
+emit_16(1833);
+emit_16(1769);
+emit_16(1834);
+emit_16(1770);
+emit_16(1834);
+emit_16(1769);
+emit_16(1834);
+emit_16(1770);
+emit_16(1835);
+emit_16(1771);
+emit_16(1835);
+emit_16(1770);
+emit_16(1835);
+emit_16(1771);
+emit_16(1836);
+emit_16(1772);
+emit_16(1836);
+emit_16(1771);
+emit_16(1836);
+emit_16(1772);
+emit_16(1837);
+emit_16(1773);
+emit_16(1837);
+emit_16(1772);
+emit_16(1837);
+emit_16(1773);
+emit_16(1838);
+emit_16(1774);
+emit_16(1838);
+emit_16(1773);
+emit_16(1838);
+emit_16(1774);
+emit_16(1839);
+emit_16(1775);
+emit_16(1839);
+emit_16(1774);
+emit_16(1839);
+emit_16(1775);
+emit_16(1840);
+emit_16(1776);
+emit_16(1840);
+emit_16(1775);
+emit_16(1840);
+emit_16(1776);
+emit_16(1841);
+emit_16(1777);
+emit_16(1841);
+emit_16(1776);
+emit_16(1841);
+emit_16(1777);
+emit_16(1842);
+emit_16(1778);
+emit_16(1842);
+emit_16(1777);
+emit_16(1842);
+emit_16(1778);
+emit_16(1843);
+emit_16(1779);
+emit_16(1843);
+emit_16(1778);
+emit_16(1843);
+emit_16(1779);
+emit_16(1844);
+emit_16(1780);
+emit_16(1844);
+emit_16(1779);
+emit_16(1844);
+emit_16(1780);
+emit_16(1845);
+emit_16(1781);
+emit_16(1845);
+emit_16(1780);
+emit_16(1845);
+emit_16(1781);
+emit_16(1846);
+emit_16(1782);
+emit_16(1846);
+emit_16(1781);
+emit_16(1846);
+emit_16(1782);
+emit_16(1847);
+emit_16(1783);
+emit_16(1847);
+emit_16(1782);
+emit_16(1847);
+emit_16(1783);
+emit_16(1848);
+emit_16(1784);
+emit_16(1848);
+emit_16(1783);
+emit_16(1848);
+emit_16(1784);
+emit_16(1849);
+emit_16(1785);
+emit_16(1849);
+emit_16(1784);
+emit_16(1849);
+emit_16(1785);
+emit_16(1850);
+emit_16(1786);
+emit_16(1850);
+emit_16(1785);
+emit_16(1850);
+emit_16(1786);
+emit_16(1851);
+emit_16(1787);
+emit_16(1851);
+emit_16(1786);
+emit_16(1851);
+emit_16(1787);
+emit_16(1852);
+emit_16(1788);
+emit_16(1852);
+emit_16(1787);
+emit_16(1852);
+emit_16(1788);
+emit_16(1853);
+emit_16(1789);
+emit_16(1853);
+emit_16(1788);
+emit_16(1853);
+emit_16(1789);
+emit_16(1854);
+emit_16(1790);
+emit_16(1854);
+emit_16(1789);
+emit_16(1854);
+emit_16(1790);
+emit_16(1855);
+emit_16(1791);
+emit_16(1855);
+emit_16(1790);
+emit_16(1856);
+emit_16(1792);
+emit_16(1857);
+emit_16(1793);
+emit_16(1857);
+emit_16(1792);
+emit_16(1857);
+emit_16(1793);
+emit_16(1858);
+emit_16(1794);
+emit_16(1858);
+emit_16(1793);
+emit_16(1858);
+emit_16(1794);
+emit_16(1859);
+emit_16(1795);
+emit_16(1859);
+emit_16(1794);
+emit_16(1859);
+emit_16(1795);
+emit_16(1860);
+emit_16(1796);
+emit_16(1860);
+emit_16(1795);
+emit_16(1860);
+emit_16(1796);
+emit_16(1861);
+emit_16(1797);
+emit_16(1861);
+emit_16(1796);
+emit_16(1861);
+emit_16(1797);
+emit_16(1862);
+emit_16(1798);
+emit_16(1862);
+emit_16(1797);
+emit_16(1862);
+emit_16(1798);
+emit_16(1863);
+emit_16(1799);
+emit_16(1863);
+emit_16(1798);
+emit_16(1863);
+emit_16(1799);
+emit_16(1864);
+emit_16(1800);
+emit_16(1864);
+emit_16(1799);
+emit_16(1864);
+emit_16(1800);
+emit_16(1865);
+emit_16(1801);
+emit_16(1865);
+emit_16(1800);
+emit_16(1865);
+emit_16(1801);
+emit_16(1866);
+emit_16(1802);
+emit_16(1866);
+emit_16(1801);
+emit_16(1866);
+emit_16(1802);
+emit_16(1867);
+emit_16(1803);
+emit_16(1867);
+emit_16(1802);
+emit_16(1867);
+emit_16(1803);
+emit_16(1868);
+emit_16(1804);
+emit_16(1868);
+emit_16(1803);
+emit_16(1868);
+emit_16(1804);
+emit_16(1869);
+emit_16(1805);
+emit_16(1869);
+emit_16(1804);
+emit_16(1869);
+emit_16(1805);
+emit_16(1870);
+emit_16(1806);
+emit_16(1870);
+emit_16(1805);
+emit_16(1870);
+emit_16(1806);
+emit_16(1871);
+emit_16(1807);
+emit_16(1871);
+emit_16(1806);
+emit_16(1871);
+emit_16(1807);
+emit_16(1872);
+emit_16(1808);
+emit_16(1872);
+emit_16(1807);
+emit_16(1872);
+emit_16(1808);
+emit_16(1873);
+emit_16(1809);
+emit_16(1873);
+emit_16(1808);
+emit_16(1873);
+emit_16(1809);
+emit_16(1874);
+emit_16(1810);
+emit_16(1874);
+emit_16(1809);
+emit_16(1874);
+emit_16(1810);
+emit_16(1875);
+emit_16(1811);
+emit_16(1875);
+emit_16(1810);
+emit_16(1875);
+emit_16(1811);
+emit_16(1876);
+emit_16(1812);
+emit_16(1876);
+emit_16(1811);
+emit_16(1876);
+emit_16(1812);
+emit_16(1877);
+emit_16(1813);
+emit_16(1877);
+emit_16(1812);
+emit_16(1877);
+emit_16(1813);
+emit_16(1878);
+emit_16(1814);
+emit_16(1878);
+emit_16(1813);
+emit_16(1878);
+emit_16(1814);
+emit_16(1879);
+emit_16(1815);
+emit_16(1879);
+emit_16(1814);
+emit_16(1879);
+emit_16(1815);
+emit_16(1880);
+emit_16(1816);
+emit_16(1880);
+emit_16(1815);
+emit_16(1880);
+emit_16(1816);
+emit_16(1881);
+emit_16(1817);
+emit_16(1881);
+emit_16(1816);
+emit_16(1881);
+emit_16(1817);
+emit_16(1882);
+emit_16(1818);
+emit_16(1882);
+emit_16(1817);
+emit_16(1882);
+emit_16(1818);
+emit_16(1883);
+emit_16(1819);
+emit_16(1883);
+emit_16(1818);
+emit_16(1883);
+emit_16(1819);
+emit_16(1884);
+emit_16(1820);
+emit_16(1884);
+emit_16(1819);
+emit_16(1884);
+emit_16(1820);
+emit_16(1885);
+emit_16(1821);
+emit_16(1885);
+emit_16(1820);
+emit_16(1885);
+emit_16(1821);
+emit_16(1886);
+emit_16(1822);
+emit_16(1886);
+emit_16(1821);
+emit_16(1886);
+emit_16(1822);
+emit_16(1887);
+emit_16(1823);
+emit_16(1887);
+emit_16(1822);
+emit_16(1887);
+emit_16(1823);
+emit_16(1888);
+emit_16(1824);
+emit_16(1888);
+emit_16(1823);
+emit_16(1888);
+emit_16(1824);
+emit_16(1889);
+emit_16(1825);
+emit_16(1889);
+emit_16(1824);
+emit_16(1889);
+emit_16(1825);
+emit_16(1890);
+emit_16(1826);
+emit_16(1890);
+emit_16(1825);
+emit_16(1890);
+emit_16(1826);
+emit_16(1891);
+emit_16(1827);
+emit_16(1891);
+emit_16(1826);
+emit_16(1891);
+emit_16(1827);
+emit_16(1892);
+emit_16(1828);
+emit_16(1892);
+emit_16(1827);
+emit_16(1892);
+emit_16(1828);
+emit_16(1893);
+emit_16(1829);
+emit_16(1893);
+emit_16(1828);
+emit_16(1893);
+emit_16(1829);
+emit_16(1894);
+emit_16(1830);
+emit_16(1894);
+emit_16(1829);
+emit_16(1894);
+emit_16(1830);
+emit_16(1895);
+emit_16(1831);
+emit_16(1895);
+emit_16(1830);
+emit_16(1895);
+emit_16(1831);
+emit_16(1896);
+emit_16(1832);
+emit_16(1896);
+emit_16(1831);
+emit_16(1896);
+emit_16(1832);
+emit_16(1897);
+emit_16(1833);
+emit_16(1897);
+emit_16(1832);
+emit_16(1897);
+emit_16(1833);
+emit_16(1898);
+emit_16(1834);
+emit_16(1898);
+emit_16(1833);
+emit_16(1898);
+emit_16(1834);
+emit_16(1899);
+emit_16(1835);
+emit_16(1899);
+emit_16(1834);
+emit_16(1899);
+emit_16(1835);
+emit_16(1900);
+emit_16(1836);
+emit_16(1900);
+emit_16(1835);
+emit_16(1900);
+emit_16(1836);
+emit_16(1901);
+emit_16(1837);
+emit_16(1901);
+emit_16(1836);
+emit_16(1901);
+emit_16(1837);
+emit_16(1902);
+emit_16(1838);
+emit_16(1902);
+emit_16(1837);
+emit_16(1902);
+emit_16(1838);
+emit_16(1903);
+emit_16(1839);
+emit_16(1903);
+emit_16(1838);
+emit_16(1903);
+emit_16(1839);
+emit_16(1904);
+emit_16(1840);
+emit_16(1904);
+emit_16(1839);
+emit_16(1904);
+emit_16(1840);
+emit_16(1905);
+emit_16(1841);
+emit_16(1905);
+emit_16(1840);
+emit_16(1905);
+emit_16(1841);
+emit_16(1906);
+emit_16(1842);
+emit_16(1906);
+emit_16(1841);
+emit_16(1906);
+emit_16(1842);
+emit_16(1907);
+emit_16(1843);
+emit_16(1907);
+emit_16(1842);
+emit_16(1907);
+emit_16(1843);
+emit_16(1908);
+emit_16(1844);
+emit_16(1908);
+emit_16(1843);
+emit_16(1908);
+emit_16(1844);
+emit_16(1909);
+emit_16(1845);
+emit_16(1909);
+emit_16(1844);
+emit_16(1909);
+emit_16(1845);
+emit_16(1910);
+emit_16(1846);
+emit_16(1910);
+emit_16(1845);
+emit_16(1910);
+emit_16(1846);
+emit_16(1911);
+emit_16(1847);
+emit_16(1911);
+emit_16(1846);
+emit_16(1911);
+emit_16(1847);
+emit_16(1912);
+emit_16(1848);
+emit_16(1912);
+emit_16(1847);
+emit_16(1912);
+emit_16(1848);
+emit_16(1913);
+emit_16(1849);
+emit_16(1913);
+emit_16(1848);
+emit_16(1913);
+emit_16(1849);
+emit_16(1914);
+emit_16(1850);
+emit_16(1914);
+emit_16(1849);
+emit_16(1914);
+emit_16(1850);
+emit_16(1915);
+emit_16(1851);
+emit_16(1915);
+emit_16(1850);
+emit_16(1915);
+emit_16(1851);
+emit_16(1916);
+emit_16(1852);
+emit_16(1916);
+emit_16(1851);
+emit_16(1916);
+emit_16(1852);
+emit_16(1917);
+emit_16(1853);
+emit_16(1917);
+emit_16(1852);
+emit_16(1917);
+emit_16(1853);
+emit_16(1918);
+emit_16(1854);
+emit_16(1918);
+emit_16(1853);
+emit_16(1918);
+emit_16(1854);
+emit_16(1919);
+emit_16(1855);
+emit_16(1919);
+emit_16(1854);
+emit_16(1920);
+emit_16(1856);
+emit_16(1921);
+emit_16(1857);
+emit_16(1921);
+emit_16(1856);
+emit_16(1921);
+emit_16(1857);
+emit_16(1922);
+emit_16(1858);
+emit_16(1922);
+emit_16(1857);
+emit_16(1922);
+emit_16(1858);
+emit_16(1923);
+emit_16(1859);
+emit_16(1923);
+emit_16(1858);
+emit_16(1923);
+emit_16(1859);
+emit_16(1924);
+emit_16(1860);
+emit_16(1924);
+emit_16(1859);
+emit_16(1924);
+emit_16(1860);
+emit_16(1925);
+emit_16(1861);
+emit_16(1925);
+emit_16(1860);
+emit_16(1925);
+emit_16(1861);
+emit_16(1926);
+emit_16(1862);
+emit_16(1926);
+emit_16(1861);
+emit_16(1926);
+emit_16(1862);
+emit_16(1927);
+emit_16(1863);
+emit_16(1927);
+emit_16(1862);
+emit_16(1927);
+emit_16(1863);
+emit_16(1928);
+emit_16(1864);
+emit_16(1928);
+emit_16(1863);
+emit_16(1928);
+emit_16(1864);
+emit_16(1929);
+emit_16(1865);
+emit_16(1929);
+emit_16(1864);
+emit_16(1929);
+emit_16(1865);
+emit_16(1930);
+emit_16(1866);
+emit_16(1930);
+emit_16(1865);
+emit_16(1930);
+emit_16(1866);
+emit_16(1931);
+emit_16(1867);
+emit_16(1931);
+emit_16(1866);
+emit_16(1931);
+emit_16(1867);
+emit_16(1932);
+emit_16(1868);
+emit_16(1932);
+emit_16(1867);
+emit_16(1932);
+emit_16(1868);
+emit_16(1933);
+emit_16(1869);
+emit_16(1933);
+emit_16(1868);
+emit_16(1933);
+emit_16(1869);
+emit_16(1934);
+emit_16(1870);
+emit_16(1934);
+emit_16(1869);
+emit_16(1934);
+emit_16(1870);
+emit_16(1935);
+emit_16(1871);
+emit_16(1935);
+emit_16(1870);
+emit_16(1935);
+emit_16(1871);
+emit_16(1936);
+emit_16(1872);
+emit_16(1936);
+emit_16(1871);
+emit_16(1936);
+emit_16(1872);
+emit_16(1937);
+emit_16(1873);
+emit_16(1937);
+emit_16(1872);
+emit_16(1937);
+emit_16(1873);
+emit_16(1938);
+emit_16(1874);
+emit_16(1938);
+emit_16(1873);
+emit_16(1938);
+emit_16(1874);
+emit_16(1939);
+emit_16(1875);
+emit_16(1939);
+emit_16(1874);
+emit_16(1939);
+emit_16(1875);
+emit_16(1940);
+emit_16(1876);
+emit_16(1940);
+emit_16(1875);
+emit_16(1940);
+emit_16(1876);
+emit_16(1941);
+emit_16(1877);
+emit_16(1941);
+emit_16(1876);
+emit_16(1941);
+emit_16(1877);
+emit_16(1942);
+emit_16(1878);
+emit_16(1942);
+emit_16(1877);
+emit_16(1942);
+emit_16(1878);
+emit_16(1943);
+emit_16(1879);
+emit_16(1943);
+emit_16(1878);
+emit_16(1943);
+emit_16(1879);
+emit_16(1944);
+emit_16(1880);
+emit_16(1944);
+emit_16(1879);
+emit_16(1944);
+emit_16(1880);
+emit_16(1945);
+emit_16(1881);
+emit_16(1945);
+emit_16(1880);
+emit_16(1945);
+emit_16(1881);
+emit_16(1946);
+emit_16(1882);
+emit_16(1946);
+emit_16(1881);
+emit_16(1946);
+emit_16(1882);
+emit_16(1947);
+emit_16(1883);
+emit_16(1947);
+emit_16(1882);
+emit_16(1947);
+emit_16(1883);
+emit_16(1948);
+emit_16(1884);
+emit_16(1948);
+emit_16(1883);
+emit_16(1948);
+emit_16(1884);
+emit_16(1949);
+emit_16(1885);
+emit_16(1949);
+emit_16(1884);
+emit_16(1949);
+emit_16(1885);
+emit_16(1950);
+emit_16(1886);
+emit_16(1950);
+emit_16(1885);
+emit_16(1950);
+emit_16(1886);
+emit_16(1951);
+emit_16(1887);
+emit_16(1951);
+emit_16(1886);
+emit_16(1951);
+emit_16(1887);
+emit_16(1952);
+emit_16(1888);
+emit_16(1952);
+emit_16(1887);
+emit_16(1952);
+emit_16(1888);
+emit_16(1953);
+emit_16(1889);
+emit_16(1953);
+emit_16(1888);
+emit_16(1953);
+emit_16(1889);
+emit_16(1954);
+emit_16(1890);
+emit_16(1954);
+emit_16(1889);
+emit_16(1954);
+emit_16(1890);
+emit_16(1955);
+emit_16(1891);
+emit_16(1955);
+emit_16(1890);
+emit_16(1955);
+emit_16(1891);
+emit_16(1956);
+emit_16(1892);
+emit_16(1956);
+emit_16(1891);
+emit_16(1956);
+emit_16(1892);
+emit_16(1957);
+emit_16(1893);
+emit_16(1957);
+emit_16(1892);
+emit_16(1957);
+emit_16(1893);
+emit_16(1958);
+emit_16(1894);
+emit_16(1958);
+emit_16(1893);
+emit_16(1958);
+emit_16(1894);
+emit_16(1959);
+emit_16(1895);
+emit_16(1959);
+emit_16(1894);
+emit_16(1959);
+emit_16(1895);
+emit_16(1960);
+emit_16(1896);
+emit_16(1960);
+emit_16(1895);
+emit_16(1960);
+emit_16(1896);
+emit_16(1961);
+emit_16(1897);
+emit_16(1961);
+emit_16(1896);
+emit_16(1961);
+emit_16(1897);
+emit_16(1962);
+emit_16(1898);
+emit_16(1962);
+emit_16(1897);
+emit_16(1962);
+emit_16(1898);
+emit_16(1963);
+emit_16(1899);
+emit_16(1963);
+emit_16(1898);
+emit_16(1963);
+emit_16(1899);
+emit_16(1964);
+emit_16(1900);
+emit_16(1964);
+emit_16(1899);
+emit_16(1964);
+emit_16(1900);
+emit_16(1965);
+emit_16(1901);
+emit_16(1965);
+emit_16(1900);
+emit_16(1965);
+emit_16(1901);
+emit_16(1966);
+emit_16(1902);
+emit_16(1966);
+emit_16(1901);
+emit_16(1966);
+emit_16(1902);
+emit_16(1967);
+emit_16(1903);
+emit_16(1967);
+emit_16(1902);
+emit_16(1967);
+emit_16(1903);
+emit_16(1968);
+emit_16(1904);
+emit_16(1968);
+emit_16(1903);
+emit_16(1968);
+emit_16(1904);
+emit_16(1969);
+emit_16(1905);
+emit_16(1969);
+emit_16(1904);
+emit_16(1969);
+emit_16(1905);
+emit_16(1970);
+emit_16(1906);
+emit_16(1970);
+emit_16(1905);
+emit_16(1970);
+emit_16(1906);
+emit_16(1971);
+emit_16(1907);
+emit_16(1971);
+emit_16(1906);
+emit_16(1971);
+emit_16(1907);
+emit_16(1972);
+emit_16(1908);
+emit_16(1972);
+emit_16(1907);
+emit_16(1972);
+emit_16(1908);
+emit_16(1973);
+emit_16(1909);
+emit_16(1973);
+emit_16(1908);
+emit_16(1973);
+emit_16(1909);
+emit_16(1974);
+emit_16(1910);
+emit_16(1974);
+emit_16(1909);
+emit_16(1974);
+emit_16(1910);
+emit_16(1975);
+emit_16(1911);
+emit_16(1975);
+emit_16(1910);
+emit_16(1975);
+emit_16(1911);
+emit_16(1976);
+emit_16(1912);
+emit_16(1976);
+emit_16(1911);
+emit_16(1976);
+emit_16(1912);
+emit_16(1977);
+emit_16(1913);
+emit_16(1977);
+emit_16(1912);
+emit_16(1977);
+emit_16(1913);
+emit_16(1978);
+emit_16(1914);
+emit_16(1978);
+emit_16(1913);
+emit_16(1978);
+emit_16(1914);
+emit_16(1979);
+emit_16(1915);
+emit_16(1979);
+emit_16(1914);
+emit_16(1979);
+emit_16(1915);
+emit_16(1980);
+emit_16(1916);
+emit_16(1980);
+emit_16(1915);
+emit_16(1980);
+emit_16(1916);
+emit_16(1981);
+emit_16(1917);
+emit_16(1981);
+emit_16(1916);
+emit_16(1981);
+emit_16(1917);
+emit_16(1982);
+emit_16(1918);
+emit_16(1982);
+emit_16(1917);
+emit_16(1982);
+emit_16(1918);
+emit_16(1983);
+emit_16(1919);
+emit_16(1983);
+emit_16(1918);
+emit_16(1984);
+emit_16(1920);
+emit_16(1985);
+emit_16(1921);
+emit_16(1985);
+emit_16(1920);
+emit_16(1985);
+emit_16(1921);
+emit_16(1986);
+emit_16(1922);
+emit_16(1986);
+emit_16(1921);
+emit_16(1986);
+emit_16(1922);
+emit_16(1987);
+emit_16(1923);
+emit_16(1987);
+emit_16(1922);
+emit_16(1987);
+emit_16(1923);
+emit_16(1988);
+emit_16(1924);
+emit_16(1988);
+emit_16(1923);
+emit_16(1988);
+emit_16(1924);
+emit_16(1989);
+emit_16(1925);
+emit_16(1989);
+emit_16(1924);
+emit_16(1989);
+emit_16(1925);
+emit_16(1990);
+emit_16(1926);
+emit_16(1990);
+emit_16(1925);
+emit_16(1990);
+emit_16(1926);
+emit_16(1991);
+emit_16(1927);
+emit_16(1991);
+emit_16(1926);
+emit_16(1991);
+emit_16(1927);
+emit_16(1992);
+emit_16(1928);
+emit_16(1992);
+emit_16(1927);
+emit_16(1992);
+emit_16(1928);
+emit_16(1993);
+emit_16(1929);
+emit_16(1993);
+emit_16(1928);
+emit_16(1993);
+emit_16(1929);
+emit_16(1994);
+emit_16(1930);
+emit_16(1994);
+emit_16(1929);
+emit_16(1994);
+emit_16(1930);
+emit_16(1995);
+emit_16(1931);
+emit_16(1995);
+emit_16(1930);
+emit_16(1995);
+emit_16(1931);
+emit_16(1996);
+emit_16(1932);
+emit_16(1996);
+emit_16(1931);
+emit_16(1996);
+emit_16(1932);
+emit_16(1997);
+emit_16(1933);
+emit_16(1997);
+emit_16(1932);
+emit_16(1997);
+emit_16(1933);
+emit_16(1998);
+emit_16(1934);
+emit_16(1998);
+emit_16(1933);
+emit_16(1998);
+emit_16(1934);
+emit_16(1999);
+emit_16(1935);
+emit_16(1999);
+emit_16(1934);
+emit_16(1999);
+emit_16(1935);
+emit_16(2000);
+emit_16(1936);
+emit_16(2000);
+emit_16(1935);
+emit_16(2000);
+emit_16(1936);
+emit_16(2001);
+emit_16(1937);
+emit_16(2001);
+emit_16(1936);
+emit_16(2001);
+emit_16(1937);
+emit_16(2002);
+emit_16(1938);
+emit_16(2002);
+emit_16(1937);
+emit_16(2002);
+emit_16(1938);
+emit_16(2003);
+emit_16(1939);
+emit_16(2003);
+emit_16(1938);
+emit_16(2003);
+emit_16(1939);
+emit_16(2004);
+emit_16(1940);
+emit_16(2004);
+emit_16(1939);
+emit_16(2004);
+emit_16(1940);
+emit_16(2005);
+emit_16(1941);
+emit_16(2005);
+emit_16(1940);
+emit_16(2005);
+emit_16(1941);
+emit_16(2006);
+emit_16(1942);
+emit_16(2006);
+emit_16(1941);
+emit_16(2006);
+emit_16(1942);
+emit_16(2007);
+emit_16(1943);
+emit_16(2007);
+emit_16(1942);
+emit_16(2007);
+emit_16(1943);
+emit_16(2008);
+emit_16(1944);
+emit_16(2008);
+emit_16(1943);
+emit_16(2008);
+emit_16(1944);
+emit_16(2009);
+emit_16(1945);
+emit_16(2009);
+emit_16(1944);
+emit_16(2009);
+emit_16(1945);
+emit_16(2010);
+emit_16(1946);
+emit_16(2010);
+emit_16(1945);
+emit_16(2010);
+emit_16(1946);
+emit_16(2011);
+emit_16(1947);
+emit_16(2011);
+emit_16(1946);
+emit_16(2011);
+emit_16(1947);
+emit_16(2012);
+emit_16(1948);
+emit_16(2012);
+emit_16(1947);
+emit_16(2012);
+emit_16(1948);
+emit_16(2013);
+emit_16(1949);
+emit_16(2013);
+emit_16(1948);
+emit_16(2013);
+emit_16(1949);
+emit_16(2014);
+emit_16(1950);
+emit_16(2014);
+emit_16(1949);
+emit_16(2014);
+emit_16(1950);
+emit_16(2015);
+emit_16(1951);
+emit_16(2015);
+emit_16(1950);
+emit_16(2015);
+emit_16(1951);
+emit_16(2016);
+emit_16(1952);
+emit_16(2016);
+emit_16(1951);
+emit_16(2016);
+emit_16(1952);
+emit_16(2017);
+emit_16(1953);
+emit_16(2017);
+emit_16(1952);
+emit_16(2017);
+emit_16(1953);
+emit_16(2018);
+emit_16(1954);
+emit_16(2018);
+emit_16(1953);
+emit_16(2018);
+emit_16(1954);
+emit_16(2019);
+emit_16(1955);
+emit_16(2019);
+emit_16(1954);
+emit_16(2019);
+emit_16(1955);
+emit_16(2020);
+emit_16(1956);
+emit_16(2020);
+emit_16(1955);
+emit_16(2020);
+emit_16(1956);
+emit_16(2021);
+emit_16(1957);
+emit_16(2021);
+emit_16(1956);
+emit_16(2021);
+emit_16(1957);
+emit_16(2022);
+emit_16(1958);
+emit_16(2022);
+emit_16(1957);
+emit_16(2022);
+emit_16(1958);
+emit_16(2023);
+emit_16(1959);
+emit_16(2023);
+emit_16(1958);
+emit_16(2023);
+emit_16(1959);
+emit_16(2024);
+emit_16(1960);
+emit_16(2024);
+emit_16(1959);
+emit_16(2024);
+emit_16(1960);
+emit_16(2025);
+emit_16(1961);
+emit_16(2025);
+emit_16(1960);
+emit_16(2025);
+emit_16(1961);
+emit_16(2026);
+emit_16(1962);
+emit_16(2026);
+emit_16(1961);
+emit_16(2026);
+emit_16(1962);
+emit_16(2027);
+emit_16(1963);
+emit_16(2027);
+emit_16(1962);
+emit_16(2027);
+emit_16(1963);
+emit_16(2028);
+emit_16(1964);
+emit_16(2028);
+emit_16(1963);
+emit_16(2028);
+emit_16(1964);
+emit_16(2029);
+emit_16(1965);
+emit_16(2029);
+emit_16(1964);
+emit_16(2029);
+emit_16(1965);
+emit_16(2030);
+emit_16(1966);
+emit_16(2030);
+emit_16(1965);
+emit_16(2030);
+emit_16(1966);
+emit_16(2031);
+emit_16(1967);
+emit_16(2031);
+emit_16(1966);
+emit_16(2031);
+emit_16(1967);
+emit_16(2032);
+emit_16(1968);
+emit_16(2032);
+emit_16(1967);
+emit_16(2032);
+emit_16(1968);
+emit_16(2033);
+emit_16(1969);
+emit_16(2033);
+emit_16(1968);
+emit_16(2033);
+emit_16(1969);
+emit_16(2034);
+emit_16(1970);
+emit_16(2034);
+emit_16(1969);
+emit_16(2034);
+emit_16(1970);
+emit_16(2035);
+emit_16(1971);
+emit_16(2035);
+emit_16(1970);
+emit_16(2035);
+emit_16(1971);
+emit_16(2036);
+emit_16(1972);
+emit_16(2036);
+emit_16(1971);
+emit_16(2036);
+emit_16(1972);
+emit_16(2037);
+emit_16(1973);
+emit_16(2037);
+emit_16(1972);
+emit_16(2037);
+emit_16(1973);
+emit_16(2038);
+emit_16(1974);
+emit_16(2038);
+emit_16(1973);
+emit_16(2038);
+emit_16(1974);
+emit_16(2039);
+emit_16(1975);
+emit_16(2039);
+emit_16(1974);
+emit_16(2039);
+emit_16(1975);
+emit_16(2040);
+emit_16(1976);
+emit_16(2040);
+emit_16(1975);
+emit_16(2040);
+emit_16(1976);
+emit_16(2041);
+emit_16(1977);
+emit_16(2041);
+emit_16(1976);
+emit_16(2041);
+emit_16(1977);
+emit_16(2042);
+emit_16(1978);
+emit_16(2042);
+emit_16(1977);
+emit_16(2042);
+emit_16(1978);
+emit_16(2043);
+emit_16(1979);
+emit_16(2043);
+emit_16(1978);
+emit_16(2043);
+emit_16(1979);
+emit_16(2044);
+emit_16(1980);
+emit_16(2044);
+emit_16(1979);
+emit_16(2044);
+emit_16(1980);
+emit_16(2045);
+emit_16(1981);
+emit_16(2045);
+emit_16(1980);
+emit_16(2045);
+emit_16(1981);
+emit_16(2046);
+emit_16(1982);
+emit_16(2046);
+emit_16(1981);
+emit_16(2046);
+emit_16(1982);
+emit_16(2047);
+emit_16(1983);
+emit_16(2047);
+emit_16(1982);
+emit_16(2048);
+emit_16(1984);
+emit_16(2049);
+emit_16(1985);
+emit_16(2049);
+emit_16(1984);
+emit_16(2049);
+emit_16(1985);
+emit_16(2050);
+emit_16(1986);
+emit_16(2050);
+emit_16(1985);
+emit_16(2050);
+emit_16(1986);
+emit_16(2051);
+emit_16(1987);
+emit_16(2051);
+emit_16(1986);
+emit_16(2051);
+emit_16(1987);
+emit_16(2052);
+emit_16(1988);
+emit_16(2052);
+emit_16(1987);
+emit_16(2052);
+emit_16(1988);
+emit_16(2053);
+emit_16(1989);
+emit_16(2053);
+emit_16(1988);
+emit_16(2053);
+emit_16(1989);
+emit_16(2054);
+emit_16(1990);
+emit_16(2054);
+emit_16(1989);
+emit_16(2054);
+emit_16(1990);
+emit_16(2055);
+emit_16(1991);
+emit_16(2055);
+emit_16(1990);
+emit_16(2055);
+emit_16(1991);
+emit_16(2056);
+emit_16(1992);
+emit_16(2056);
+emit_16(1991);
+emit_16(2056);
+emit_16(1992);
+emit_16(2057);
+emit_16(1993);
+emit_16(2057);
+emit_16(1992);
+emit_16(2057);
+emit_16(1993);
+emit_16(2058);
+emit_16(1994);
+emit_16(2058);
+emit_16(1993);
+emit_16(2058);
+emit_16(1994);
+emit_16(2059);
+emit_16(1995);
+emit_16(2059);
+emit_16(1994);
+emit_16(2059);
+emit_16(1995);
+emit_16(2060);
+emit_16(1996);
+emit_16(2060);
+emit_16(1995);
+emit_16(2060);
+emit_16(1996);
+emit_16(2061);
+emit_16(1997);
+emit_16(2061);
+emit_16(1996);
+emit_16(2061);
+emit_16(1997);
+emit_16(2062);
+emit_16(1998);
+emit_16(2062);
+emit_16(1997);
+emit_16(2062);
+emit_16(1998);
+emit_16(2063);
+emit_16(1999);
+emit_16(2063);
+emit_16(1998);
+emit_16(2063);
+emit_16(1999);
+emit_16(2064);
+emit_16(2000);
+emit_16(2064);
+emit_16(1999);
+emit_16(2064);
+emit_16(2000);
+emit_16(2065);
+emit_16(2001);
+emit_16(2065);
+emit_16(2000);
+emit_16(2065);
+emit_16(2001);
+emit_16(2066);
+emit_16(2002);
+emit_16(2066);
+emit_16(2001);
+emit_16(2066);
+emit_16(2002);
+emit_16(2067);
+emit_16(2003);
+emit_16(2067);
+emit_16(2002);
+emit_16(2067);
+emit_16(2003);
+emit_16(2068);
+emit_16(2004);
+emit_16(2068);
+emit_16(2003);
+emit_16(2068);
+emit_16(2004);
+emit_16(2069);
+emit_16(2005);
+emit_16(2069);
+emit_16(2004);
+emit_16(2069);
+emit_16(2005);
+emit_16(2070);
+emit_16(2006);
+emit_16(2070);
+emit_16(2005);
+emit_16(2070);
+emit_16(2006);
+emit_16(2071);
+emit_16(2007);
+emit_16(2071);
+emit_16(2006);
+emit_16(2071);
+emit_16(2007);
+emit_16(2072);
+emit_16(2008);
+emit_16(2072);
+emit_16(2007);
+emit_16(2072);
+emit_16(2008);
+emit_16(2073);
+emit_16(2009);
+emit_16(2073);
+emit_16(2008);
+emit_16(2073);
+emit_16(2009);
+emit_16(2074);
+emit_16(2010);
+emit_16(2074);
+emit_16(2009);
+emit_16(2074);
+emit_16(2010);
+emit_16(2075);
+emit_16(2011);
+emit_16(2075);
+emit_16(2010);
+emit_16(2075);
+emit_16(2011);
+emit_16(2076);
+emit_16(2012);
+emit_16(2076);
+emit_16(2011);
+emit_16(2076);
+emit_16(2012);
+emit_16(2077);
+emit_16(2013);
+emit_16(2077);
+emit_16(2012);
+emit_16(2077);
+emit_16(2013);
+emit_16(2078);
+emit_16(2014);
+emit_16(2078);
+emit_16(2013);
+emit_16(2078);
+emit_16(2014);
+emit_16(2079);
+emit_16(2015);
+emit_16(2079);
+emit_16(2014);
+emit_16(2079);
+emit_16(2015);
+emit_16(2080);
+emit_16(2016);
+emit_16(2080);
+emit_16(2015);
+emit_16(2080);
+emit_16(2016);
+emit_16(2081);
+emit_16(2017);
+emit_16(2081);
+emit_16(2016);
+emit_16(2081);
+emit_16(2017);
+emit_16(2082);
+emit_16(2018);
+emit_16(2082);
+emit_16(2017);
+emit_16(2082);
+emit_16(2018);
+emit_16(2083);
+emit_16(2019);
+emit_16(2083);
+emit_16(2018);
+emit_16(2083);
+emit_16(2019);
+emit_16(2084);
+emit_16(2020);
+emit_16(2084);
+emit_16(2019);
+emit_16(2084);
+emit_16(2020);
+emit_16(2085);
+emit_16(2021);
+emit_16(2085);
+emit_16(2020);
+emit_16(2085);
+emit_16(2021);
+emit_16(2086);
+emit_16(2022);
+emit_16(2086);
+emit_16(2021);
+emit_16(2086);
+emit_16(2022);
+emit_16(2087);
+emit_16(2023);
+emit_16(2087);
+emit_16(2022);
+emit_16(2087);
+emit_16(2023);
+emit_16(2088);
+emit_16(2024);
+emit_16(2088);
+emit_16(2023);
+emit_16(2088);
+emit_16(2024);
+emit_16(2089);
+emit_16(2025);
+emit_16(2089);
+emit_16(2024);
+emit_16(2089);
+emit_16(2025);
+emit_16(2090);
+emit_16(2026);
+emit_16(2090);
+emit_16(2025);
+emit_16(2090);
+emit_16(2026);
+emit_16(2091);
+emit_16(2027);
+emit_16(2091);
+emit_16(2026);
+emit_16(2091);
+emit_16(2027);
+emit_16(2092);
+emit_16(2028);
+emit_16(2092);
+emit_16(2027);
+emit_16(2092);
+emit_16(2028);
+emit_16(2093);
+emit_16(2029);
+emit_16(2093);
+emit_16(2028);
+emit_16(2093);
+emit_16(2029);
+emit_16(2094);
+emit_16(2030);
+emit_16(2094);
+emit_16(2029);
+emit_16(2094);
+emit_16(2030);
+emit_16(2095);
+emit_16(2031);
+emit_16(2095);
+emit_16(2030);
+emit_16(2095);
+emit_16(2031);
+emit_16(2096);
+emit_16(2032);
+emit_16(2096);
+emit_16(2031);
+emit_16(2096);
+emit_16(2032);
+emit_16(2097);
+emit_16(2033);
+emit_16(2097);
+emit_16(2032);
+emit_16(2097);
+emit_16(2033);
+emit_16(2098);
+emit_16(2034);
+emit_16(2098);
+emit_16(2033);
+emit_16(2098);
+emit_16(2034);
+emit_16(2099);
+emit_16(2035);
+emit_16(2099);
+emit_16(2034);
+emit_16(2099);
+emit_16(2035);
+emit_16(2100);
+emit_16(2036);
+emit_16(2100);
+emit_16(2035);
+emit_16(2100);
+emit_16(2036);
+emit_16(2101);
+emit_16(2037);
+emit_16(2101);
+emit_16(2036);
+emit_16(2101);
+emit_16(2037);
+emit_16(2102);
+emit_16(2038);
+emit_16(2102);
+emit_16(2037);
+emit_16(2102);
+emit_16(2038);
+emit_16(2103);
+emit_16(2039);
+emit_16(2103);
+emit_16(2038);
+emit_16(2103);
+emit_16(2039);
+emit_16(2104);
+emit_16(2040);
+emit_16(2104);
+emit_16(2039);
+emit_16(2104);
+emit_16(2040);
+emit_16(2105);
+emit_16(2041);
+emit_16(2105);
+emit_16(2040);
+emit_16(2105);
+emit_16(2041);
+emit_16(2106);
+emit_16(2042);
+emit_16(2106);
+emit_16(2041);
+emit_16(2106);
+emit_16(2042);
+emit_16(2107);
+emit_16(2043);
+emit_16(2107);
+emit_16(2042);
+emit_16(2107);
+emit_16(2043);
+emit_16(2108);
+emit_16(2044);
+emit_16(2108);
+emit_16(2043);
+emit_16(2108);
+emit_16(2044);
+emit_16(2109);
+emit_16(2045);
+emit_16(2109);
+emit_16(2044);
+emit_16(2109);
+emit_16(2045);
+emit_16(2110);
+emit_16(2046);
+emit_16(2110);
+emit_16(2045);
+emit_16(2110);
+emit_16(2046);
+emit_16(2111);
+emit_16(2047);
+emit_16(2111);
+emit_16(2046);
+emit_start(Landscape05Idx)
+emit_16(0);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(2);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(4);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(6);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(8);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(10);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(12);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(14);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(16);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(18);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(20);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(22);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(24);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(26);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(28);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(30);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(32);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(34);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(36);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(38);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(40);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(42);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(44);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(46);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(48);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(50);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(52);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(54);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(56);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(58);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(60);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(62);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(64);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(66);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(68);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(70);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(72);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(74);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(76);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(78);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(80);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(82);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(84);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(86);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(88);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(90);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(92);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(94);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(96);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(98);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(100);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(102);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(104);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(106);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(108);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(110);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(112);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(114);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(116);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(118);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(120);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(122);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(124);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(126);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(128);
+emit_16(129);
+emit_16(128);
+emit_16(127);
+emit_16(128);
+emit_16(129);
+emit_16(130);
+emit_16(131);
+emit_16(130);
+emit_16(129);
+emit_16(132);
+emit_16(0);
+emit_16(133);
+emit_16(2);
+emit_16(133);
+emit_16(0);
+emit_16(133);
+emit_16(2);
+emit_16(134);
+emit_16(4);
+emit_16(134);
+emit_16(2);
+emit_16(134);
+emit_16(4);
+emit_16(135);
+emit_16(6);
+emit_16(135);
+emit_16(4);
+emit_16(135);
+emit_16(6);
+emit_16(136);
+emit_16(8);
+emit_16(136);
+emit_16(6);
+emit_16(136);
+emit_16(8);
+emit_16(137);
+emit_16(10);
+emit_16(137);
+emit_16(8);
+emit_16(137);
+emit_16(10);
+emit_16(138);
+emit_16(12);
+emit_16(138);
+emit_16(10);
+emit_16(138);
+emit_16(12);
+emit_16(139);
+emit_16(14);
+emit_16(139);
+emit_16(12);
+emit_16(139);
+emit_16(14);
+emit_16(140);
+emit_16(16);
+emit_16(140);
+emit_16(14);
+emit_16(140);
+emit_16(16);
+emit_16(141);
+emit_16(18);
+emit_16(141);
+emit_16(16);
+emit_16(141);
+emit_16(18);
+emit_16(142);
+emit_16(20);
+emit_16(142);
+emit_16(18);
+emit_16(142);
+emit_16(20);
+emit_16(143);
+emit_16(22);
+emit_16(143);
+emit_16(20);
+emit_16(143);
+emit_16(22);
+emit_16(144);
+emit_16(24);
+emit_16(144);
+emit_16(22);
+emit_16(144);
+emit_16(24);
+emit_16(145);
+emit_16(26);
+emit_16(145);
+emit_16(24);
+emit_16(145);
+emit_16(26);
+emit_16(146);
+emit_16(28);
+emit_16(146);
+emit_16(26);
+emit_16(146);
+emit_16(28);
+emit_16(147);
+emit_16(30);
+emit_16(147);
+emit_16(28);
+emit_16(147);
+emit_16(30);
+emit_16(148);
+emit_16(32);
+emit_16(148);
+emit_16(30);
+emit_16(148);
+emit_16(32);
+emit_16(149);
+emit_16(34);
+emit_16(149);
+emit_16(32);
+emit_16(149);
+emit_16(34);
+emit_16(150);
+emit_16(36);
+emit_16(150);
+emit_16(34);
+emit_16(150);
+emit_16(36);
+emit_16(151);
+emit_16(38);
+emit_16(151);
+emit_16(36);
+emit_16(151);
+emit_16(38);
+emit_16(152);
+emit_16(40);
+emit_16(152);
+emit_16(38);
+emit_16(152);
+emit_16(40);
+emit_16(153);
+emit_16(42);
+emit_16(153);
+emit_16(40);
+emit_16(153);
+emit_16(42);
+emit_16(154);
+emit_16(44);
+emit_16(154);
+emit_16(42);
+emit_16(154);
+emit_16(44);
+emit_16(155);
+emit_16(46);
+emit_16(155);
+emit_16(44);
+emit_16(155);
+emit_16(46);
+emit_16(156);
+emit_16(48);
+emit_16(156);
+emit_16(46);
+emit_16(156);
+emit_16(48);
+emit_16(157);
+emit_16(50);
+emit_16(157);
+emit_16(48);
+emit_16(157);
+emit_16(50);
+emit_16(158);
+emit_16(52);
+emit_16(158);
+emit_16(50);
+emit_16(158);
+emit_16(52);
+emit_16(159);
+emit_16(54);
+emit_16(159);
+emit_16(52);
+emit_16(159);
+emit_16(54);
+emit_16(160);
+emit_16(56);
+emit_16(160);
+emit_16(54);
+emit_16(160);
+emit_16(56);
+emit_16(161);
+emit_16(58);
+emit_16(161);
+emit_16(56);
+emit_16(161);
+emit_16(58);
+emit_16(162);
+emit_16(60);
+emit_16(162);
+emit_16(58);
+emit_16(162);
+emit_16(60);
+emit_16(163);
+emit_16(62);
+emit_16(163);
+emit_16(60);
+emit_16(163);
+emit_16(62);
+emit_16(164);
+emit_16(64);
+emit_16(164);
+emit_16(62);
+emit_16(164);
+emit_16(64);
+emit_16(165);
+emit_16(66);
+emit_16(165);
+emit_16(64);
+emit_16(165);
+emit_16(66);
+emit_16(166);
+emit_16(68);
+emit_16(166);
+emit_16(66);
+emit_16(166);
+emit_16(68);
+emit_16(167);
+emit_16(70);
+emit_16(167);
+emit_16(68);
+emit_16(167);
+emit_16(70);
+emit_16(168);
+emit_16(72);
+emit_16(168);
+emit_16(70);
+emit_16(168);
+emit_16(72);
+emit_16(169);
+emit_16(74);
+emit_16(169);
+emit_16(72);
+emit_16(169);
+emit_16(74);
+emit_16(170);
+emit_16(76);
+emit_16(170);
+emit_16(74);
+emit_16(170);
+emit_16(76);
+emit_16(171);
+emit_16(78);
+emit_16(171);
+emit_16(76);
+emit_16(171);
+emit_16(78);
+emit_16(172);
+emit_16(80);
+emit_16(172);
+emit_16(78);
+emit_16(172);
+emit_16(80);
+emit_16(173);
+emit_16(82);
+emit_16(173);
+emit_16(80);
+emit_16(173);
+emit_16(82);
+emit_16(174);
+emit_16(84);
+emit_16(174);
+emit_16(82);
+emit_16(174);
+emit_16(84);
+emit_16(175);
+emit_16(86);
+emit_16(175);
+emit_16(84);
+emit_16(175);
+emit_16(86);
+emit_16(176);
+emit_16(88);
+emit_16(176);
+emit_16(86);
+emit_16(176);
+emit_16(88);
+emit_16(177);
+emit_16(90);
+emit_16(177);
+emit_16(88);
+emit_16(177);
+emit_16(90);
+emit_16(178);
+emit_16(92);
+emit_16(178);
+emit_16(90);
+emit_16(178);
+emit_16(92);
+emit_16(179);
+emit_16(94);
+emit_16(179);
+emit_16(92);
+emit_16(179);
+emit_16(94);
+emit_16(180);
+emit_16(96);
+emit_16(180);
+emit_16(94);
+emit_16(180);
+emit_16(96);
+emit_16(181);
+emit_16(98);
+emit_16(181);
+emit_16(96);
+emit_16(181);
+emit_16(98);
+emit_16(182);
+emit_16(100);
+emit_16(182);
+emit_16(98);
+emit_16(182);
+emit_16(100);
+emit_16(183);
+emit_16(102);
+emit_16(183);
+emit_16(100);
+emit_16(183);
+emit_16(102);
+emit_16(184);
+emit_16(104);
+emit_16(184);
+emit_16(102);
+emit_16(184);
+emit_16(104);
+emit_16(185);
+emit_16(106);
+emit_16(185);
+emit_16(104);
+emit_16(185);
+emit_16(106);
+emit_16(186);
+emit_16(108);
+emit_16(186);
+emit_16(106);
+emit_16(186);
+emit_16(108);
+emit_16(187);
+emit_16(110);
+emit_16(187);
+emit_16(108);
+emit_16(187);
+emit_16(110);
+emit_16(188);
+emit_16(112);
+emit_16(188);
+emit_16(110);
+emit_16(188);
+emit_16(112);
+emit_16(189);
+emit_16(114);
+emit_16(189);
+emit_16(112);
+emit_16(189);
+emit_16(114);
+emit_16(190);
+emit_16(116);
+emit_16(190);
+emit_16(114);
+emit_16(190);
+emit_16(116);
+emit_16(191);
+emit_16(118);
+emit_16(191);
+emit_16(116);
+emit_16(191);
+emit_16(118);
+emit_16(192);
+emit_16(120);
+emit_16(192);
+emit_16(118);
+emit_16(192);
+emit_16(120);
+emit_16(193);
+emit_16(122);
+emit_16(193);
+emit_16(120);
+emit_16(193);
+emit_16(122);
+emit_16(194);
+emit_16(124);
+emit_16(194);
+emit_16(122);
+emit_16(194);
+emit_16(124);
+emit_16(195);
+emit_16(126);
+emit_16(195);
+emit_16(124);
+emit_16(195);
+emit_16(126);
+emit_16(196);
+emit_16(128);
+emit_16(196);
+emit_16(126);
+emit_16(196);
+emit_16(128);
+emit_16(197);
+emit_16(130);
+emit_16(197);
+emit_16(128);
+emit_16(198);
+emit_16(132);
+emit_16(199);
+emit_16(133);
+emit_16(199);
+emit_16(132);
+emit_16(199);
+emit_16(133);
+emit_16(200);
+emit_16(134);
+emit_16(200);
+emit_16(133);
+emit_16(200);
+emit_16(134);
+emit_16(201);
+emit_16(135);
+emit_16(201);
+emit_16(134);
+emit_16(201);
+emit_16(135);
+emit_16(202);
+emit_16(136);
+emit_16(202);
+emit_16(135);
+emit_16(202);
+emit_16(136);
+emit_16(203);
+emit_16(137);
+emit_16(203);
+emit_16(136);
+emit_16(203);
+emit_16(137);
+emit_16(204);
+emit_16(138);
+emit_16(204);
+emit_16(137);
+emit_16(204);
+emit_16(138);
+emit_16(205);
+emit_16(139);
+emit_16(205);
+emit_16(138);
+emit_16(205);
+emit_16(139);
+emit_16(206);
+emit_16(140);
+emit_16(206);
+emit_16(139);
+emit_16(206);
+emit_16(140);
+emit_16(207);
+emit_16(141);
+emit_16(207);
+emit_16(140);
+emit_16(207);
+emit_16(141);
+emit_16(208);
+emit_16(142);
+emit_16(208);
+emit_16(141);
+emit_16(208);
+emit_16(142);
+emit_16(209);
+emit_16(143);
+emit_16(209);
+emit_16(142);
+emit_16(209);
+emit_16(143);
+emit_16(210);
+emit_16(144);
+emit_16(210);
+emit_16(143);
+emit_16(210);
+emit_16(144);
+emit_16(211);
+emit_16(145);
+emit_16(211);
+emit_16(144);
+emit_16(211);
+emit_16(145);
+emit_16(212);
+emit_16(146);
+emit_16(212);
+emit_16(145);
+emit_16(212);
+emit_16(146);
+emit_16(213);
+emit_16(147);
+emit_16(213);
+emit_16(146);
+emit_16(213);
+emit_16(147);
+emit_16(214);
+emit_16(148);
+emit_16(214);
+emit_16(147);
+emit_16(214);
+emit_16(148);
+emit_16(215);
+emit_16(149);
+emit_16(215);
+emit_16(148);
+emit_16(215);
+emit_16(149);
+emit_16(216);
+emit_16(150);
+emit_16(216);
+emit_16(149);
+emit_16(216);
+emit_16(150);
+emit_16(217);
+emit_16(151);
+emit_16(217);
+emit_16(150);
+emit_16(217);
+emit_16(151);
+emit_16(218);
+emit_16(152);
+emit_16(218);
+emit_16(151);
+emit_16(218);
+emit_16(152);
+emit_16(219);
+emit_16(153);
+emit_16(219);
+emit_16(152);
+emit_16(219);
+emit_16(153);
+emit_16(220);
+emit_16(154);
+emit_16(220);
+emit_16(153);
+emit_16(220);
+emit_16(154);
+emit_16(221);
+emit_16(155);
+emit_16(221);
+emit_16(154);
+emit_16(221);
+emit_16(155);
+emit_16(222);
+emit_16(156);
+emit_16(222);
+emit_16(155);
+emit_16(222);
+emit_16(156);
+emit_16(223);
+emit_16(157);
+emit_16(223);
+emit_16(156);
+emit_16(223);
+emit_16(157);
+emit_16(224);
+emit_16(158);
+emit_16(224);
+emit_16(157);
+emit_16(224);
+emit_16(158);
+emit_16(225);
+emit_16(159);
+emit_16(225);
+emit_16(158);
+emit_16(225);
+emit_16(159);
+emit_16(226);
+emit_16(160);
+emit_16(226);
+emit_16(159);
+emit_16(226);
+emit_16(160);
+emit_16(227);
+emit_16(161);
+emit_16(227);
+emit_16(160);
+emit_16(227);
+emit_16(161);
+emit_16(228);
+emit_16(162);
+emit_16(228);
+emit_16(161);
+emit_16(228);
+emit_16(162);
+emit_16(229);
+emit_16(163);
+emit_16(229);
+emit_16(162);
+emit_16(229);
+emit_16(163);
+emit_16(230);
+emit_16(164);
+emit_16(230);
+emit_16(163);
+emit_16(230);
+emit_16(164);
+emit_16(231);
+emit_16(165);
+emit_16(231);
+emit_16(164);
+emit_16(231);
+emit_16(165);
+emit_16(232);
+emit_16(166);
+emit_16(232);
+emit_16(165);
+emit_16(232);
+emit_16(166);
+emit_16(233);
+emit_16(167);
+emit_16(233);
+emit_16(166);
+emit_16(233);
+emit_16(167);
+emit_16(234);
+emit_16(168);
+emit_16(234);
+emit_16(167);
+emit_16(234);
+emit_16(168);
+emit_16(235);
+emit_16(169);
+emit_16(235);
+emit_16(168);
+emit_16(235);
+emit_16(169);
+emit_16(236);
+emit_16(170);
+emit_16(236);
+emit_16(169);
+emit_16(236);
+emit_16(170);
+emit_16(237);
+emit_16(171);
+emit_16(237);
+emit_16(170);
+emit_16(237);
+emit_16(171);
+emit_16(238);
+emit_16(172);
+emit_16(238);
+emit_16(171);
+emit_16(238);
+emit_16(172);
+emit_16(239);
+emit_16(173);
+emit_16(239);
+emit_16(172);
+emit_16(239);
+emit_16(173);
+emit_16(240);
+emit_16(174);
+emit_16(240);
+emit_16(173);
+emit_16(240);
+emit_16(174);
+emit_16(241);
+emit_16(175);
+emit_16(241);
+emit_16(174);
+emit_16(241);
+emit_16(175);
+emit_16(242);
+emit_16(176);
+emit_16(242);
+emit_16(175);
+emit_16(242);
+emit_16(176);
+emit_16(243);
+emit_16(177);
+emit_16(243);
+emit_16(176);
+emit_16(243);
+emit_16(177);
+emit_16(244);
+emit_16(178);
+emit_16(244);
+emit_16(177);
+emit_16(244);
+emit_16(178);
+emit_16(245);
+emit_16(179);
+emit_16(245);
+emit_16(178);
+emit_16(245);
+emit_16(179);
+emit_16(246);
+emit_16(180);
+emit_16(246);
+emit_16(179);
+emit_16(246);
+emit_16(180);
+emit_16(247);
+emit_16(181);
+emit_16(247);
+emit_16(180);
+emit_16(247);
+emit_16(181);
+emit_16(248);
+emit_16(182);
+emit_16(248);
+emit_16(181);
+emit_16(248);
+emit_16(182);
+emit_16(249);
+emit_16(183);
+emit_16(249);
+emit_16(182);
+emit_16(249);
+emit_16(183);
+emit_16(250);
+emit_16(184);
+emit_16(250);
+emit_16(183);
+emit_16(250);
+emit_16(184);
+emit_16(251);
+emit_16(185);
+emit_16(251);
+emit_16(184);
+emit_16(251);
+emit_16(185);
+emit_16(252);
+emit_16(186);
+emit_16(252);
+emit_16(185);
+emit_16(252);
+emit_16(186);
+emit_16(253);
+emit_16(187);
+emit_16(253);
+emit_16(186);
+emit_16(253);
+emit_16(187);
+emit_16(254);
+emit_16(188);
+emit_16(254);
+emit_16(187);
+emit_16(254);
+emit_16(188);
+emit_16(255);
+emit_16(189);
+emit_16(255);
+emit_16(188);
+emit_16(255);
+emit_16(189);
+emit_16(256);
+emit_16(190);
+emit_16(256);
+emit_16(189);
+emit_16(256);
+emit_16(190);
+emit_16(257);
+emit_16(191);
+emit_16(257);
+emit_16(190);
+emit_16(257);
+emit_16(191);
+emit_16(258);
+emit_16(192);
+emit_16(258);
+emit_16(191);
+emit_16(258);
+emit_16(192);
+emit_16(259);
+emit_16(193);
+emit_16(259);
+emit_16(192);
+emit_16(259);
+emit_16(193);
+emit_16(260);
+emit_16(194);
+emit_16(260);
+emit_16(193);
+emit_16(260);
+emit_16(194);
+emit_16(261);
+emit_16(195);
+emit_16(261);
+emit_16(194);
+emit_16(261);
+emit_16(195);
+emit_16(262);
+emit_16(196);
+emit_16(262);
+emit_16(195);
+emit_16(262);
+emit_16(196);
+emit_16(263);
+emit_16(197);
+emit_16(263);
+emit_16(196);
+emit_16(264);
+emit_16(198);
+emit_16(265);
+emit_16(199);
+emit_16(265);
+emit_16(198);
+emit_16(265);
+emit_16(199);
+emit_16(266);
+emit_16(200);
+emit_16(266);
+emit_16(199);
+emit_16(266);
+emit_16(200);
+emit_16(267);
+emit_16(201);
+emit_16(267);
+emit_16(200);
+emit_16(267);
+emit_16(201);
+emit_16(268);
+emit_16(202);
+emit_16(268);
+emit_16(201);
+emit_16(268);
+emit_16(202);
+emit_16(269);
+emit_16(203);
+emit_16(269);
+emit_16(202);
+emit_16(269);
+emit_16(203);
+emit_16(270);
+emit_16(204);
+emit_16(270);
+emit_16(203);
+emit_16(270);
+emit_16(204);
+emit_16(271);
+emit_16(205);
+emit_16(271);
+emit_16(204);
+emit_16(271);
+emit_16(205);
+emit_16(272);
+emit_16(206);
+emit_16(272);
+emit_16(205);
+emit_16(272);
+emit_16(206);
+emit_16(273);
+emit_16(207);
+emit_16(273);
+emit_16(206);
+emit_16(273);
+emit_16(207);
+emit_16(274);
+emit_16(208);
+emit_16(274);
+emit_16(207);
+emit_16(274);
+emit_16(208);
+emit_16(275);
+emit_16(209);
+emit_16(275);
+emit_16(208);
+emit_16(275);
+emit_16(209);
+emit_16(276);
+emit_16(210);
+emit_16(276);
+emit_16(209);
+emit_16(276);
+emit_16(210);
+emit_16(277);
+emit_16(211);
+emit_16(277);
+emit_16(210);
+emit_16(277);
+emit_16(211);
+emit_16(278);
+emit_16(212);
+emit_16(278);
+emit_16(211);
+emit_16(278);
+emit_16(212);
+emit_16(279);
+emit_16(213);
+emit_16(279);
+emit_16(212);
+emit_16(279);
+emit_16(213);
+emit_16(280);
+emit_16(214);
+emit_16(280);
+emit_16(213);
+emit_16(280);
+emit_16(214);
+emit_16(281);
+emit_16(215);
+emit_16(281);
+emit_16(214);
+emit_16(281);
+emit_16(215);
+emit_16(282);
+emit_16(216);
+emit_16(282);
+emit_16(215);
+emit_16(282);
+emit_16(216);
+emit_16(283);
+emit_16(217);
+emit_16(283);
+emit_16(216);
+emit_16(283);
+emit_16(217);
+emit_16(284);
+emit_16(218);
+emit_16(284);
+emit_16(217);
+emit_16(284);
+emit_16(218);
+emit_16(285);
+emit_16(219);
+emit_16(285);
+emit_16(218);
+emit_16(285);
+emit_16(219);
+emit_16(286);
+emit_16(220);
+emit_16(286);
+emit_16(219);
+emit_16(286);
+emit_16(220);
+emit_16(287);
+emit_16(221);
+emit_16(287);
+emit_16(220);
+emit_16(287);
+emit_16(221);
+emit_16(288);
+emit_16(222);
+emit_16(288);
+emit_16(221);
+emit_16(288);
+emit_16(222);
+emit_16(289);
+emit_16(223);
+emit_16(289);
+emit_16(222);
+emit_16(289);
+emit_16(223);
+emit_16(290);
+emit_16(224);
+emit_16(290);
+emit_16(223);
+emit_16(290);
+emit_16(224);
+emit_16(291);
+emit_16(225);
+emit_16(291);
+emit_16(224);
+emit_16(291);
+emit_16(225);
+emit_16(292);
+emit_16(226);
+emit_16(292);
+emit_16(225);
+emit_16(292);
+emit_16(226);
+emit_16(293);
+emit_16(227);
+emit_16(293);
+emit_16(226);
+emit_16(293);
+emit_16(227);
+emit_16(294);
+emit_16(228);
+emit_16(294);
+emit_16(227);
+emit_16(294);
+emit_16(228);
+emit_16(295);
+emit_16(229);
+emit_16(295);
+emit_16(228);
+emit_16(295);
+emit_16(229);
+emit_16(296);
+emit_16(230);
+emit_16(296);
+emit_16(229);
+emit_16(296);
+emit_16(230);
+emit_16(297);
+emit_16(231);
+emit_16(297);
+emit_16(230);
+emit_16(297);
+emit_16(231);
+emit_16(298);
+emit_16(232);
+emit_16(298);
+emit_16(231);
+emit_16(298);
+emit_16(232);
+emit_16(299);
+emit_16(233);
+emit_16(299);
+emit_16(232);
+emit_16(299);
+emit_16(233);
+emit_16(300);
+emit_16(234);
+emit_16(300);
+emit_16(233);
+emit_16(300);
+emit_16(234);
+emit_16(301);
+emit_16(235);
+emit_16(301);
+emit_16(234);
+emit_16(301);
+emit_16(235);
+emit_16(302);
+emit_16(236);
+emit_16(302);
+emit_16(235);
+emit_16(302);
+emit_16(236);
+emit_16(303);
+emit_16(237);
+emit_16(303);
+emit_16(236);
+emit_16(303);
+emit_16(237);
+emit_16(304);
+emit_16(238);
+emit_16(304);
+emit_16(237);
+emit_16(304);
+emit_16(238);
+emit_16(305);
+emit_16(239);
+emit_16(305);
+emit_16(238);
+emit_16(305);
+emit_16(239);
+emit_16(306);
+emit_16(240);
+emit_16(306);
+emit_16(239);
+emit_16(306);
+emit_16(240);
+emit_16(307);
+emit_16(241);
+emit_16(307);
+emit_16(240);
+emit_16(307);
+emit_16(241);
+emit_16(308);
+emit_16(242);
+emit_16(308);
+emit_16(241);
+emit_16(308);
+emit_16(242);
+emit_16(309);
+emit_16(243);
+emit_16(309);
+emit_16(242);
+emit_16(309);
+emit_16(243);
+emit_16(310);
+emit_16(244);
+emit_16(310);
+emit_16(243);
+emit_16(310);
+emit_16(244);
+emit_16(311);
+emit_16(245);
+emit_16(311);
+emit_16(244);
+emit_16(311);
+emit_16(245);
+emit_16(312);
+emit_16(246);
+emit_16(312);
+emit_16(245);
+emit_16(312);
+emit_16(246);
+emit_16(313);
+emit_16(247);
+emit_16(313);
+emit_16(246);
+emit_16(313);
+emit_16(247);
+emit_16(314);
+emit_16(248);
+emit_16(314);
+emit_16(247);
+emit_16(314);
+emit_16(248);
+emit_16(315);
+emit_16(249);
+emit_16(315);
+emit_16(248);
+emit_16(315);
+emit_16(249);
+emit_16(316);
+emit_16(250);
+emit_16(316);
+emit_16(249);
+emit_16(316);
+emit_16(250);
+emit_16(317);
+emit_16(251);
+emit_16(317);
+emit_16(250);
+emit_16(317);
+emit_16(251);
+emit_16(318);
+emit_16(252);
+emit_16(318);
+emit_16(251);
+emit_16(318);
+emit_16(252);
+emit_16(319);
+emit_16(253);
+emit_16(319);
+emit_16(252);
+emit_16(319);
+emit_16(253);
+emit_16(320);
+emit_16(254);
+emit_16(320);
+emit_16(253);
+emit_16(320);
+emit_16(254);
+emit_16(321);
+emit_16(255);
+emit_16(321);
+emit_16(254);
+emit_16(321);
+emit_16(255);
+emit_16(322);
+emit_16(256);
+emit_16(322);
+emit_16(255);
+emit_16(322);
+emit_16(256);
+emit_16(323);
+emit_16(257);
+emit_16(323);
+emit_16(256);
+emit_16(323);
+emit_16(257);
+emit_16(324);
+emit_16(258);
+emit_16(324);
+emit_16(257);
+emit_16(324);
+emit_16(258);
+emit_16(325);
+emit_16(259);
+emit_16(325);
+emit_16(258);
+emit_16(325);
+emit_16(259);
+emit_16(326);
+emit_16(260);
+emit_16(326);
+emit_16(259);
+emit_16(326);
+emit_16(260);
+emit_16(327);
+emit_16(261);
+emit_16(327);
+emit_16(260);
+emit_16(327);
+emit_16(261);
+emit_16(328);
+emit_16(262);
+emit_16(328);
+emit_16(261);
+emit_16(328);
+emit_16(262);
+emit_16(329);
+emit_16(263);
+emit_16(329);
+emit_16(262);
+emit_16(330);
+emit_16(264);
+emit_16(331);
+emit_16(265);
+emit_16(331);
+emit_16(264);
+emit_16(331);
+emit_16(265);
+emit_16(332);
+emit_16(266);
+emit_16(332);
+emit_16(265);
+emit_16(332);
+emit_16(266);
+emit_16(333);
+emit_16(267);
+emit_16(333);
+emit_16(266);
+emit_16(333);
+emit_16(267);
+emit_16(334);
+emit_16(268);
+emit_16(334);
+emit_16(267);
+emit_16(334);
+emit_16(268);
+emit_16(335);
+emit_16(269);
+emit_16(335);
+emit_16(268);
+emit_16(335);
+emit_16(269);
+emit_16(336);
+emit_16(270);
+emit_16(336);
+emit_16(269);
+emit_16(336);
+emit_16(270);
+emit_16(337);
+emit_16(271);
+emit_16(337);
+emit_16(270);
+emit_16(337);
+emit_16(271);
+emit_16(338);
+emit_16(272);
+emit_16(338);
+emit_16(271);
+emit_16(338);
+emit_16(272);
+emit_16(339);
+emit_16(273);
+emit_16(339);
+emit_16(272);
+emit_16(339);
+emit_16(273);
+emit_16(340);
+emit_16(274);
+emit_16(340);
+emit_16(273);
+emit_16(340);
+emit_16(274);
+emit_16(341);
+emit_16(275);
+emit_16(341);
+emit_16(274);
+emit_16(341);
+emit_16(275);
+emit_16(342);
+emit_16(276);
+emit_16(342);
+emit_16(275);
+emit_16(342);
+emit_16(276);
+emit_16(343);
+emit_16(277);
+emit_16(343);
+emit_16(276);
+emit_16(343);
+emit_16(277);
+emit_16(344);
+emit_16(278);
+emit_16(344);
+emit_16(277);
+emit_16(344);
+emit_16(278);
+emit_16(345);
+emit_16(279);
+emit_16(345);
+emit_16(278);
+emit_16(345);
+emit_16(279);
+emit_16(346);
+emit_16(280);
+emit_16(346);
+emit_16(279);
+emit_16(346);
+emit_16(280);
+emit_16(347);
+emit_16(281);
+emit_16(347);
+emit_16(280);
+emit_16(347);
+emit_16(281);
+emit_16(348);
+emit_16(282);
+emit_16(348);
+emit_16(281);
+emit_16(348);
+emit_16(282);
+emit_16(349);
+emit_16(283);
+emit_16(349);
+emit_16(282);
+emit_16(349);
+emit_16(283);
+emit_16(350);
+emit_16(284);
+emit_16(350);
+emit_16(283);
+emit_16(350);
+emit_16(284);
+emit_16(351);
+emit_16(285);
+emit_16(351);
+emit_16(284);
+emit_16(351);
+emit_16(285);
+emit_16(352);
+emit_16(286);
+emit_16(352);
+emit_16(285);
+emit_16(352);
+emit_16(286);
+emit_16(353);
+emit_16(287);
+emit_16(353);
+emit_16(286);
+emit_16(353);
+emit_16(287);
+emit_16(354);
+emit_16(288);
+emit_16(354);
+emit_16(287);
+emit_16(354);
+emit_16(288);
+emit_16(355);
+emit_16(289);
+emit_16(355);
+emit_16(288);
+emit_16(355);
+emit_16(289);
+emit_16(356);
+emit_16(290);
+emit_16(356);
+emit_16(289);
+emit_16(356);
+emit_16(290);
+emit_16(357);
+emit_16(291);
+emit_16(357);
+emit_16(290);
+emit_16(357);
+emit_16(291);
+emit_16(358);
+emit_16(292);
+emit_16(358);
+emit_16(291);
+emit_16(358);
+emit_16(292);
+emit_16(359);
+emit_16(293);
+emit_16(359);
+emit_16(292);
+emit_16(359);
+emit_16(293);
+emit_16(360);
+emit_16(294);
+emit_16(360);
+emit_16(293);
+emit_16(360);
+emit_16(294);
+emit_16(361);
+emit_16(295);
+emit_16(361);
+emit_16(294);
+emit_16(361);
+emit_16(295);
+emit_16(362);
+emit_16(296);
+emit_16(362);
+emit_16(295);
+emit_16(362);
+emit_16(296);
+emit_16(363);
+emit_16(297);
+emit_16(363);
+emit_16(296);
+emit_16(363);
+emit_16(297);
+emit_16(364);
+emit_16(298);
+emit_16(364);
+emit_16(297);
+emit_16(364);
+emit_16(298);
+emit_16(365);
+emit_16(299);
+emit_16(365);
+emit_16(298);
+emit_16(365);
+emit_16(299);
+emit_16(366);
+emit_16(300);
+emit_16(366);
+emit_16(299);
+emit_16(366);
+emit_16(300);
+emit_16(367);
+emit_16(301);
+emit_16(367);
+emit_16(300);
+emit_16(367);
+emit_16(301);
+emit_16(368);
+emit_16(302);
+emit_16(368);
+emit_16(301);
+emit_16(368);
+emit_16(302);
+emit_16(369);
+emit_16(303);
+emit_16(369);
+emit_16(302);
+emit_16(369);
+emit_16(303);
+emit_16(370);
+emit_16(304);
+emit_16(370);
+emit_16(303);
+emit_16(370);
+emit_16(304);
+emit_16(371);
+emit_16(305);
+emit_16(371);
+emit_16(304);
+emit_16(371);
+emit_16(305);
+emit_16(372);
+emit_16(306);
+emit_16(372);
+emit_16(305);
+emit_16(372);
+emit_16(306);
+emit_16(373);
+emit_16(307);
+emit_16(373);
+emit_16(306);
+emit_16(373);
+emit_16(307);
+emit_16(374);
+emit_16(308);
+emit_16(374);
+emit_16(307);
+emit_16(374);
+emit_16(308);
+emit_16(375);
+emit_16(309);
+emit_16(375);
+emit_16(308);
+emit_16(375);
+emit_16(309);
+emit_16(376);
+emit_16(310);
+emit_16(376);
+emit_16(309);
+emit_16(376);
+emit_16(310);
+emit_16(377);
+emit_16(311);
+emit_16(377);
+emit_16(310);
+emit_16(377);
+emit_16(311);
+emit_16(378);
+emit_16(312);
+emit_16(378);
+emit_16(311);
+emit_16(378);
+emit_16(312);
+emit_16(379);
+emit_16(313);
+emit_16(379);
+emit_16(312);
+emit_16(379);
+emit_16(313);
+emit_16(380);
+emit_16(314);
+emit_16(380);
+emit_16(313);
+emit_16(380);
+emit_16(314);
+emit_16(381);
+emit_16(315);
+emit_16(381);
+emit_16(314);
+emit_16(381);
+emit_16(315);
+emit_16(382);
+emit_16(316);
+emit_16(382);
+emit_16(315);
+emit_16(382);
+emit_16(316);
+emit_16(383);
+emit_16(317);
+emit_16(383);
+emit_16(316);
+emit_16(383);
+emit_16(317);
+emit_16(384);
+emit_16(318);
+emit_16(384);
+emit_16(317);
+emit_16(384);
+emit_16(318);
+emit_16(385);
+emit_16(319);
+emit_16(385);
+emit_16(318);
+emit_16(385);
+emit_16(319);
+emit_16(386);
+emit_16(320);
+emit_16(386);
+emit_16(319);
+emit_16(386);
+emit_16(320);
+emit_16(387);
+emit_16(321);
+emit_16(387);
+emit_16(320);
+emit_16(387);
+emit_16(321);
+emit_16(388);
+emit_16(322);
+emit_16(388);
+emit_16(321);
+emit_16(388);
+emit_16(322);
+emit_16(389);
+emit_16(323);
+emit_16(389);
+emit_16(322);
+emit_16(389);
+emit_16(323);
+emit_16(390);
+emit_16(324);
+emit_16(390);
+emit_16(323);
+emit_16(390);
+emit_16(324);
+emit_16(391);
+emit_16(325);
+emit_16(391);
+emit_16(324);
+emit_16(391);
+emit_16(325);
+emit_16(392);
+emit_16(326);
+emit_16(392);
+emit_16(325);
+emit_16(392);
+emit_16(326);
+emit_16(393);
+emit_16(327);
+emit_16(393);
+emit_16(326);
+emit_16(393);
+emit_16(327);
+emit_16(394);
+emit_16(328);
+emit_16(394);
+emit_16(327);
+emit_16(394);
+emit_16(328);
+emit_16(395);
+emit_16(329);
+emit_16(395);
+emit_16(328);
+emit_16(396);
+emit_16(330);
+emit_16(397);
+emit_16(331);
+emit_16(397);
+emit_16(330);
+emit_16(397);
+emit_16(331);
+emit_16(398);
+emit_16(332);
+emit_16(398);
+emit_16(331);
+emit_16(398);
+emit_16(332);
+emit_16(399);
+emit_16(333);
+emit_16(399);
+emit_16(332);
+emit_16(399);
+emit_16(333);
+emit_16(400);
+emit_16(334);
+emit_16(400);
+emit_16(333);
+emit_16(400);
+emit_16(334);
+emit_16(401);
+emit_16(335);
+emit_16(401);
+emit_16(334);
+emit_16(401);
+emit_16(335);
+emit_16(402);
+emit_16(336);
+emit_16(402);
+emit_16(335);
+emit_16(402);
+emit_16(336);
+emit_16(403);
+emit_16(337);
+emit_16(403);
+emit_16(336);
+emit_16(403);
+emit_16(337);
+emit_16(404);
+emit_16(338);
+emit_16(404);
+emit_16(337);
+emit_16(404);
+emit_16(338);
+emit_16(405);
+emit_16(339);
+emit_16(405);
+emit_16(338);
+emit_16(405);
+emit_16(339);
+emit_16(406);
+emit_16(340);
+emit_16(406);
+emit_16(339);
+emit_16(406);
+emit_16(340);
+emit_16(407);
+emit_16(341);
+emit_16(407);
+emit_16(340);
+emit_16(407);
+emit_16(341);
+emit_16(408);
+emit_16(342);
+emit_16(408);
+emit_16(341);
+emit_16(408);
+emit_16(342);
+emit_16(409);
+emit_16(343);
+emit_16(409);
+emit_16(342);
+emit_16(409);
+emit_16(343);
+emit_16(410);
+emit_16(344);
+emit_16(410);
+emit_16(343);
+emit_16(410);
+emit_16(344);
+emit_16(411);
+emit_16(345);
+emit_16(411);
+emit_16(344);
+emit_16(411);
+emit_16(345);
+emit_16(412);
+emit_16(346);
+emit_16(412);
+emit_16(345);
+emit_16(412);
+emit_16(346);
+emit_16(413);
+emit_16(347);
+emit_16(413);
+emit_16(346);
+emit_16(413);
+emit_16(347);
+emit_16(414);
+emit_16(348);
+emit_16(414);
+emit_16(347);
+emit_16(414);
+emit_16(348);
+emit_16(415);
+emit_16(349);
+emit_16(415);
+emit_16(348);
+emit_16(415);
+emit_16(349);
+emit_16(416);
+emit_16(350);
+emit_16(416);
+emit_16(349);
+emit_16(416);
+emit_16(350);
+emit_16(417);
+emit_16(351);
+emit_16(417);
+emit_16(350);
+emit_16(417);
+emit_16(351);
+emit_16(418);
+emit_16(352);
+emit_16(418);
+emit_16(351);
+emit_16(418);
+emit_16(352);
+emit_16(419);
+emit_16(353);
+emit_16(419);
+emit_16(352);
+emit_16(419);
+emit_16(353);
+emit_16(420);
+emit_16(354);
+emit_16(420);
+emit_16(353);
+emit_16(420);
+emit_16(354);
+emit_16(421);
+emit_16(355);
+emit_16(421);
+emit_16(354);
+emit_16(421);
+emit_16(355);
+emit_16(422);
+emit_16(356);
+emit_16(422);
+emit_16(355);
+emit_16(422);
+emit_16(356);
+emit_16(423);
+emit_16(357);
+emit_16(423);
+emit_16(356);
+emit_16(423);
+emit_16(357);
+emit_16(424);
+emit_16(358);
+emit_16(424);
+emit_16(357);
+emit_16(424);
+emit_16(358);
+emit_16(425);
+emit_16(359);
+emit_16(425);
+emit_16(358);
+emit_16(425);
+emit_16(359);
+emit_16(426);
+emit_16(360);
+emit_16(426);
+emit_16(359);
+emit_16(426);
+emit_16(360);
+emit_16(427);
+emit_16(361);
+emit_16(427);
+emit_16(360);
+emit_16(427);
+emit_16(361);
+emit_16(428);
+emit_16(362);
+emit_16(428);
+emit_16(361);
+emit_16(428);
+emit_16(362);
+emit_16(429);
+emit_16(363);
+emit_16(429);
+emit_16(362);
+emit_16(429);
+emit_16(363);
+emit_16(430);
+emit_16(364);
+emit_16(430);
+emit_16(363);
+emit_16(430);
+emit_16(364);
+emit_16(431);
+emit_16(365);
+emit_16(431);
+emit_16(364);
+emit_16(431);
+emit_16(365);
+emit_16(432);
+emit_16(366);
+emit_16(432);
+emit_16(365);
+emit_16(432);
+emit_16(366);
+emit_16(433);
+emit_16(367);
+emit_16(433);
+emit_16(366);
+emit_16(433);
+emit_16(367);
+emit_16(434);
+emit_16(368);
+emit_16(434);
+emit_16(367);
+emit_16(434);
+emit_16(368);
+emit_16(435);
+emit_16(369);
+emit_16(435);
+emit_16(368);
+emit_16(435);
+emit_16(369);
+emit_16(436);
+emit_16(370);
+emit_16(436);
+emit_16(369);
+emit_16(436);
+emit_16(370);
+emit_16(437);
+emit_16(371);
+emit_16(437);
+emit_16(370);
+emit_16(437);
+emit_16(371);
+emit_16(438);
+emit_16(372);
+emit_16(438);
+emit_16(371);
+emit_16(438);
+emit_16(372);
+emit_16(439);
+emit_16(373);
+emit_16(439);
+emit_16(372);
+emit_16(439);
+emit_16(373);
+emit_16(440);
+emit_16(374);
+emit_16(440);
+emit_16(373);
+emit_16(440);
+emit_16(374);
+emit_16(441);
+emit_16(375);
+emit_16(441);
+emit_16(374);
+emit_16(441);
+emit_16(375);
+emit_16(442);
+emit_16(376);
+emit_16(442);
+emit_16(375);
+emit_16(442);
+emit_16(376);
+emit_16(443);
+emit_16(377);
+emit_16(443);
+emit_16(376);
+emit_16(443);
+emit_16(377);
+emit_16(444);
+emit_16(378);
+emit_16(444);
+emit_16(377);
+emit_16(444);
+emit_16(378);
+emit_16(445);
+emit_16(379);
+emit_16(445);
+emit_16(378);
+emit_16(445);
+emit_16(379);
+emit_16(446);
+emit_16(380);
+emit_16(446);
+emit_16(379);
+emit_16(446);
+emit_16(380);
+emit_16(447);
+emit_16(381);
+emit_16(447);
+emit_16(380);
+emit_16(447);
+emit_16(381);
+emit_16(448);
+emit_16(382);
+emit_16(448);
+emit_16(381);
+emit_16(448);
+emit_16(382);
+emit_16(449);
+emit_16(383);
+emit_16(449);
+emit_16(382);
+emit_16(449);
+emit_16(383);
+emit_16(450);
+emit_16(384);
+emit_16(450);
+emit_16(383);
+emit_16(450);
+emit_16(384);
+emit_16(451);
+emit_16(385);
+emit_16(451);
+emit_16(384);
+emit_16(451);
+emit_16(385);
+emit_16(452);
+emit_16(386);
+emit_16(452);
+emit_16(385);
+emit_16(452);
+emit_16(386);
+emit_16(453);
+emit_16(387);
+emit_16(453);
+emit_16(386);
+emit_16(453);
+emit_16(387);
+emit_16(454);
+emit_16(388);
+emit_16(454);
+emit_16(387);
+emit_16(454);
+emit_16(388);
+emit_16(455);
+emit_16(389);
+emit_16(455);
+emit_16(388);
+emit_16(455);
+emit_16(389);
+emit_16(456);
+emit_16(390);
+emit_16(456);
+emit_16(389);
+emit_16(456);
+emit_16(390);
+emit_16(457);
+emit_16(391);
+emit_16(457);
+emit_16(390);
+emit_16(457);
+emit_16(391);
+emit_16(458);
+emit_16(392);
+emit_16(458);
+emit_16(391);
+emit_16(458);
+emit_16(392);
+emit_16(459);
+emit_16(393);
+emit_16(459);
+emit_16(392);
+emit_16(459);
+emit_16(393);
+emit_16(460);
+emit_16(394);
+emit_16(460);
+emit_16(393);
+emit_16(460);
+emit_16(394);
+emit_16(461);
+emit_16(395);
+emit_16(461);
+emit_16(394);
+emit_16(462);
+emit_16(396);
+emit_16(463);
+emit_16(397);
+emit_16(463);
+emit_16(396);
+emit_16(463);
+emit_16(397);
+emit_16(464);
+emit_16(398);
+emit_16(464);
+emit_16(397);
+emit_16(464);
+emit_16(398);
+emit_16(465);
+emit_16(399);
+emit_16(465);
+emit_16(398);
+emit_16(465);
+emit_16(399);
+emit_16(466);
+emit_16(400);
+emit_16(466);
+emit_16(399);
+emit_16(466);
+emit_16(400);
+emit_16(467);
+emit_16(401);
+emit_16(467);
+emit_16(400);
+emit_16(467);
+emit_16(401);
+emit_16(468);
+emit_16(402);
+emit_16(468);
+emit_16(401);
+emit_16(468);
+emit_16(402);
+emit_16(469);
+emit_16(403);
+emit_16(469);
+emit_16(402);
+emit_16(469);
+emit_16(403);
+emit_16(470);
+emit_16(404);
+emit_16(470);
+emit_16(403);
+emit_16(470);
+emit_16(404);
+emit_16(471);
+emit_16(405);
+emit_16(471);
+emit_16(404);
+emit_16(471);
+emit_16(405);
+emit_16(472);
+emit_16(406);
+emit_16(472);
+emit_16(405);
+emit_16(472);
+emit_16(406);
+emit_16(473);
+emit_16(407);
+emit_16(473);
+emit_16(406);
+emit_16(473);
+emit_16(407);
+emit_16(474);
+emit_16(408);
+emit_16(474);
+emit_16(407);
+emit_16(474);
+emit_16(408);
+emit_16(475);
+emit_16(409);
+emit_16(475);
+emit_16(408);
+emit_16(475);
+emit_16(409);
+emit_16(476);
+emit_16(410);
+emit_16(476);
+emit_16(409);
+emit_16(476);
+emit_16(410);
+emit_16(477);
+emit_16(411);
+emit_16(477);
+emit_16(410);
+emit_16(477);
+emit_16(411);
+emit_16(478);
+emit_16(412);
+emit_16(478);
+emit_16(411);
+emit_16(478);
+emit_16(412);
+emit_16(479);
+emit_16(413);
+emit_16(479);
+emit_16(412);
+emit_16(479);
+emit_16(413);
+emit_16(480);
+emit_16(414);
+emit_16(480);
+emit_16(413);
+emit_16(480);
+emit_16(414);
+emit_16(481);
+emit_16(415);
+emit_16(481);
+emit_16(414);
+emit_16(481);
+emit_16(415);
+emit_16(482);
+emit_16(416);
+emit_16(482);
+emit_16(415);
+emit_16(482);
+emit_16(416);
+emit_16(483);
+emit_16(417);
+emit_16(483);
+emit_16(416);
+emit_16(483);
+emit_16(417);
+emit_16(484);
+emit_16(418);
+emit_16(484);
+emit_16(417);
+emit_16(484);
+emit_16(418);
+emit_16(485);
+emit_16(419);
+emit_16(485);
+emit_16(418);
+emit_16(485);
+emit_16(419);
+emit_16(486);
+emit_16(420);
+emit_16(486);
+emit_16(419);
+emit_16(486);
+emit_16(420);
+emit_16(487);
+emit_16(421);
+emit_16(487);
+emit_16(420);
+emit_16(487);
+emit_16(421);
+emit_16(488);
+emit_16(422);
+emit_16(488);
+emit_16(421);
+emit_16(488);
+emit_16(422);
+emit_16(489);
+emit_16(423);
+emit_16(489);
+emit_16(422);
+emit_16(489);
+emit_16(423);
+emit_16(490);
+emit_16(424);
+emit_16(490);
+emit_16(423);
+emit_16(490);
+emit_16(424);
+emit_16(491);
+emit_16(425);
+emit_16(491);
+emit_16(424);
+emit_16(491);
+emit_16(425);
+emit_16(492);
+emit_16(426);
+emit_16(492);
+emit_16(425);
+emit_16(492);
+emit_16(426);
+emit_16(493);
+emit_16(427);
+emit_16(493);
+emit_16(426);
+emit_16(493);
+emit_16(427);
+emit_16(494);
+emit_16(428);
+emit_16(494);
+emit_16(427);
+emit_16(494);
+emit_16(428);
+emit_16(495);
+emit_16(429);
+emit_16(495);
+emit_16(428);
+emit_16(495);
+emit_16(429);
+emit_16(496);
+emit_16(430);
+emit_16(496);
+emit_16(429);
+emit_16(496);
+emit_16(430);
+emit_16(497);
+emit_16(431);
+emit_16(497);
+emit_16(430);
+emit_16(497);
+emit_16(431);
+emit_16(498);
+emit_16(432);
+emit_16(498);
+emit_16(431);
+emit_16(498);
+emit_16(432);
+emit_16(499);
+emit_16(433);
+emit_16(499);
+emit_16(432);
+emit_16(499);
+emit_16(433);
+emit_16(500);
+emit_16(434);
+emit_16(500);
+emit_16(433);
+emit_16(500);
+emit_16(434);
+emit_16(501);
+emit_16(435);
+emit_16(501);
+emit_16(434);
+emit_16(501);
+emit_16(435);
+emit_16(502);
+emit_16(436);
+emit_16(502);
+emit_16(435);
+emit_16(502);
+emit_16(436);
+emit_16(503);
+emit_16(437);
+emit_16(503);
+emit_16(436);
+emit_16(503);
+emit_16(437);
+emit_16(504);
+emit_16(438);
+emit_16(504);
+emit_16(437);
+emit_16(504);
+emit_16(438);
+emit_16(505);
+emit_16(439);
+emit_16(505);
+emit_16(438);
+emit_16(505);
+emit_16(439);
+emit_16(506);
+emit_16(440);
+emit_16(506);
+emit_16(439);
+emit_16(506);
+emit_16(440);
+emit_16(507);
+emit_16(441);
+emit_16(507);
+emit_16(440);
+emit_16(507);
+emit_16(441);
+emit_16(508);
+emit_16(442);
+emit_16(508);
+emit_16(441);
+emit_16(508);
+emit_16(442);
+emit_16(509);
+emit_16(443);
+emit_16(509);
+emit_16(442);
+emit_16(509);
+emit_16(443);
+emit_16(510);
+emit_16(444);
+emit_16(510);
+emit_16(443);
+emit_16(510);
+emit_16(444);
+emit_16(511);
+emit_16(445);
+emit_16(511);
+emit_16(444);
+emit_16(511);
+emit_16(445);
+emit_16(512);
+emit_16(446);
+emit_16(512);
+emit_16(445);
+emit_16(512);
+emit_16(446);
+emit_16(513);
+emit_16(447);
+emit_16(513);
+emit_16(446);
+emit_16(513);
+emit_16(447);
+emit_16(514);
+emit_16(448);
+emit_16(514);
+emit_16(447);
+emit_16(514);
+emit_16(448);
+emit_16(515);
+emit_16(449);
+emit_16(515);
+emit_16(448);
+emit_16(515);
+emit_16(449);
+emit_16(516);
+emit_16(450);
+emit_16(516);
+emit_16(449);
+emit_16(516);
+emit_16(450);
+emit_16(517);
+emit_16(451);
+emit_16(517);
+emit_16(450);
+emit_16(517);
+emit_16(451);
+emit_16(518);
+emit_16(452);
+emit_16(518);
+emit_16(451);
+emit_16(518);
+emit_16(452);
+emit_16(519);
+emit_16(453);
+emit_16(519);
+emit_16(452);
+emit_16(519);
+emit_16(453);
+emit_16(520);
+emit_16(454);
+emit_16(520);
+emit_16(453);
+emit_16(520);
+emit_16(454);
+emit_16(521);
+emit_16(455);
+emit_16(521);
+emit_16(454);
+emit_16(521);
+emit_16(455);
+emit_16(522);
+emit_16(456);
+emit_16(522);
+emit_16(455);
+emit_16(522);
+emit_16(456);
+emit_16(523);
+emit_16(457);
+emit_16(523);
+emit_16(456);
+emit_16(523);
+emit_16(457);
+emit_16(524);
+emit_16(458);
+emit_16(524);
+emit_16(457);
+emit_16(524);
+emit_16(458);
+emit_16(525);
+emit_16(459);
+emit_16(525);
+emit_16(458);
+emit_16(525);
+emit_16(459);
+emit_16(526);
+emit_16(460);
+emit_16(526);
+emit_16(459);
+emit_16(526);
+emit_16(460);
+emit_16(527);
+emit_16(461);
+emit_16(527);
+emit_16(460);
+emit_16(528);
+emit_16(462);
+emit_16(529);
+emit_16(463);
+emit_16(529);
+emit_16(462);
+emit_16(529);
+emit_16(463);
+emit_16(530);
+emit_16(464);
+emit_16(530);
+emit_16(463);
+emit_16(530);
+emit_16(464);
+emit_16(531);
+emit_16(465);
+emit_16(531);
+emit_16(464);
+emit_16(531);
+emit_16(465);
+emit_16(532);
+emit_16(466);
+emit_16(532);
+emit_16(465);
+emit_16(532);
+emit_16(466);
+emit_16(533);
+emit_16(467);
+emit_16(533);
+emit_16(466);
+emit_16(533);
+emit_16(467);
+emit_16(534);
+emit_16(468);
+emit_16(534);
+emit_16(467);
+emit_16(534);
+emit_16(468);
+emit_16(535);
+emit_16(469);
+emit_16(535);
+emit_16(468);
+emit_16(535);
+emit_16(469);
+emit_16(536);
+emit_16(470);
+emit_16(536);
+emit_16(469);
+emit_16(536);
+emit_16(470);
+emit_16(537);
+emit_16(471);
+emit_16(537);
+emit_16(470);
+emit_16(537);
+emit_16(471);
+emit_16(538);
+emit_16(472);
+emit_16(538);
+emit_16(471);
+emit_16(538);
+emit_16(472);
+emit_16(539);
+emit_16(473);
+emit_16(539);
+emit_16(472);
+emit_16(539);
+emit_16(473);
+emit_16(540);
+emit_16(474);
+emit_16(540);
+emit_16(473);
+emit_16(540);
+emit_16(474);
+emit_16(541);
+emit_16(475);
+emit_16(541);
+emit_16(474);
+emit_16(541);
+emit_16(475);
+emit_16(542);
+emit_16(476);
+emit_16(542);
+emit_16(475);
+emit_16(542);
+emit_16(476);
+emit_16(543);
+emit_16(477);
+emit_16(543);
+emit_16(476);
+emit_16(543);
+emit_16(477);
+emit_16(544);
+emit_16(478);
+emit_16(544);
+emit_16(477);
+emit_16(544);
+emit_16(478);
+emit_16(545);
+emit_16(479);
+emit_16(545);
+emit_16(478);
+emit_16(545);
+emit_16(479);
+emit_16(546);
+emit_16(480);
+emit_16(546);
+emit_16(479);
+emit_16(546);
+emit_16(480);
+emit_16(547);
+emit_16(481);
+emit_16(547);
+emit_16(480);
+emit_16(547);
+emit_16(481);
+emit_16(548);
+emit_16(482);
+emit_16(548);
+emit_16(481);
+emit_16(548);
+emit_16(482);
+emit_16(549);
+emit_16(483);
+emit_16(549);
+emit_16(482);
+emit_16(549);
+emit_16(483);
+emit_16(550);
+emit_16(484);
+emit_16(550);
+emit_16(483);
+emit_16(550);
+emit_16(484);
+emit_16(551);
+emit_16(485);
+emit_16(551);
+emit_16(484);
+emit_16(551);
+emit_16(485);
+emit_16(552);
+emit_16(486);
+emit_16(552);
+emit_16(485);
+emit_16(552);
+emit_16(486);
+emit_16(553);
+emit_16(487);
+emit_16(553);
+emit_16(486);
+emit_16(553);
+emit_16(487);
+emit_16(554);
+emit_16(488);
+emit_16(554);
+emit_16(487);
+emit_16(554);
+emit_16(488);
+emit_16(555);
+emit_16(489);
+emit_16(555);
+emit_16(488);
+emit_16(555);
+emit_16(489);
+emit_16(556);
+emit_16(490);
+emit_16(556);
+emit_16(489);
+emit_16(556);
+emit_16(490);
+emit_16(557);
+emit_16(491);
+emit_16(557);
+emit_16(490);
+emit_16(557);
+emit_16(491);
+emit_16(558);
+emit_16(492);
+emit_16(558);
+emit_16(491);
+emit_16(558);
+emit_16(492);
+emit_16(559);
+emit_16(493);
+emit_16(559);
+emit_16(492);
+emit_16(559);
+emit_16(493);
+emit_16(560);
+emit_16(494);
+emit_16(560);
+emit_16(493);
+emit_16(560);
+emit_16(494);
+emit_16(561);
+emit_16(495);
+emit_16(561);
+emit_16(494);
+emit_16(561);
+emit_16(495);
+emit_16(562);
+emit_16(496);
+emit_16(562);
+emit_16(495);
+emit_16(562);
+emit_16(496);
+emit_16(563);
+emit_16(497);
+emit_16(563);
+emit_16(496);
+emit_16(563);
+emit_16(497);
+emit_16(564);
+emit_16(498);
+emit_16(564);
+emit_16(497);
+emit_16(564);
+emit_16(498);
+emit_16(565);
+emit_16(499);
+emit_16(565);
+emit_16(498);
+emit_16(565);
+emit_16(499);
+emit_16(566);
+emit_16(500);
+emit_16(566);
+emit_16(499);
+emit_16(566);
+emit_16(500);
+emit_16(567);
+emit_16(501);
+emit_16(567);
+emit_16(500);
+emit_16(567);
+emit_16(501);
+emit_16(568);
+emit_16(502);
+emit_16(568);
+emit_16(501);
+emit_16(568);
+emit_16(502);
+emit_16(569);
+emit_16(503);
+emit_16(569);
+emit_16(502);
+emit_16(569);
+emit_16(503);
+emit_16(570);
+emit_16(504);
+emit_16(570);
+emit_16(503);
+emit_16(570);
+emit_16(504);
+emit_16(571);
+emit_16(505);
+emit_16(571);
+emit_16(504);
+emit_16(571);
+emit_16(505);
+emit_16(572);
+emit_16(506);
+emit_16(572);
+emit_16(505);
+emit_16(572);
+emit_16(506);
+emit_16(573);
+emit_16(507);
+emit_16(573);
+emit_16(506);
+emit_16(573);
+emit_16(507);
+emit_16(574);
+emit_16(508);
+emit_16(574);
+emit_16(507);
+emit_16(574);
+emit_16(508);
+emit_16(575);
+emit_16(509);
+emit_16(575);
+emit_16(508);
+emit_16(575);
+emit_16(509);
+emit_16(576);
+emit_16(510);
+emit_16(576);
+emit_16(509);
+emit_16(576);
+emit_16(510);
+emit_16(577);
+emit_16(511);
+emit_16(577);
+emit_16(510);
+emit_16(577);
+emit_16(511);
+emit_16(578);
+emit_16(512);
+emit_16(578);
+emit_16(511);
+emit_16(578);
+emit_16(512);
+emit_16(579);
+emit_16(513);
+emit_16(579);
+emit_16(512);
+emit_16(579);
+emit_16(513);
+emit_16(580);
+emit_16(514);
+emit_16(580);
+emit_16(513);
+emit_16(580);
+emit_16(514);
+emit_16(581);
+emit_16(515);
+emit_16(581);
+emit_16(514);
+emit_16(581);
+emit_16(515);
+emit_16(582);
+emit_16(516);
+emit_16(582);
+emit_16(515);
+emit_16(582);
+emit_16(516);
+emit_16(583);
+emit_16(517);
+emit_16(583);
+emit_16(516);
+emit_16(583);
+emit_16(517);
+emit_16(584);
+emit_16(518);
+emit_16(584);
+emit_16(517);
+emit_16(584);
+emit_16(518);
+emit_16(585);
+emit_16(519);
+emit_16(585);
+emit_16(518);
+emit_16(585);
+emit_16(519);
+emit_16(586);
+emit_16(520);
+emit_16(586);
+emit_16(519);
+emit_16(586);
+emit_16(520);
+emit_16(587);
+emit_16(521);
+emit_16(587);
+emit_16(520);
+emit_16(587);
+emit_16(521);
+emit_16(588);
+emit_16(522);
+emit_16(588);
+emit_16(521);
+emit_16(588);
+emit_16(522);
+emit_16(589);
+emit_16(523);
+emit_16(589);
+emit_16(522);
+emit_16(589);
+emit_16(523);
+emit_16(590);
+emit_16(524);
+emit_16(590);
+emit_16(523);
+emit_16(590);
+emit_16(524);
+emit_16(591);
+emit_16(525);
+emit_16(591);
+emit_16(524);
+emit_16(591);
+emit_16(525);
+emit_16(592);
+emit_16(526);
+emit_16(592);
+emit_16(525);
+emit_16(592);
+emit_16(526);
+emit_16(593);
+emit_16(527);
+emit_16(593);
+emit_16(526);
+emit_16(594);
+emit_16(528);
+emit_16(595);
+emit_16(529);
+emit_16(595);
+emit_16(528);
+emit_16(595);
+emit_16(529);
+emit_16(596);
+emit_16(530);
+emit_16(596);
+emit_16(529);
+emit_16(596);
+emit_16(530);
+emit_16(597);
+emit_16(531);
+emit_16(597);
+emit_16(530);
+emit_16(597);
+emit_16(531);
+emit_16(598);
+emit_16(532);
+emit_16(598);
+emit_16(531);
+emit_16(598);
+emit_16(532);
+emit_16(599);
+emit_16(533);
+emit_16(599);
+emit_16(532);
+emit_16(599);
+emit_16(533);
+emit_16(600);
+emit_16(534);
+emit_16(600);
+emit_16(533);
+emit_16(600);
+emit_16(534);
+emit_16(601);
+emit_16(535);
+emit_16(601);
+emit_16(534);
+emit_16(601);
+emit_16(535);
+emit_16(602);
+emit_16(536);
+emit_16(602);
+emit_16(535);
+emit_16(602);
+emit_16(536);
+emit_16(603);
+emit_16(537);
+emit_16(603);
+emit_16(536);
+emit_16(603);
+emit_16(537);
+emit_16(604);
+emit_16(538);
+emit_16(604);
+emit_16(537);
+emit_16(604);
+emit_16(538);
+emit_16(605);
+emit_16(539);
+emit_16(605);
+emit_16(538);
+emit_16(605);
+emit_16(539);
+emit_16(606);
+emit_16(540);
+emit_16(606);
+emit_16(539);
+emit_16(606);
+emit_16(540);
+emit_16(607);
+emit_16(541);
+emit_16(607);
+emit_16(540);
+emit_16(607);
+emit_16(541);
+emit_16(608);
+emit_16(542);
+emit_16(608);
+emit_16(541);
+emit_16(608);
+emit_16(542);
+emit_16(609);
+emit_16(543);
+emit_16(609);
+emit_16(542);
+emit_16(609);
+emit_16(543);
+emit_16(610);
+emit_16(544);
+emit_16(610);
+emit_16(543);
+emit_16(610);
+emit_16(544);
+emit_16(611);
+emit_16(545);
+emit_16(611);
+emit_16(544);
+emit_16(611);
+emit_16(545);
+emit_16(612);
+emit_16(546);
+emit_16(612);
+emit_16(545);
+emit_16(612);
+emit_16(546);
+emit_16(613);
+emit_16(547);
+emit_16(613);
+emit_16(546);
+emit_16(613);
+emit_16(547);
+emit_16(614);
+emit_16(548);
+emit_16(614);
+emit_16(547);
+emit_16(614);
+emit_16(548);
+emit_16(615);
+emit_16(549);
+emit_16(615);
+emit_16(548);
+emit_16(615);
+emit_16(549);
+emit_16(616);
+emit_16(550);
+emit_16(616);
+emit_16(549);
+emit_16(616);
+emit_16(550);
+emit_16(617);
+emit_16(551);
+emit_16(617);
+emit_16(550);
+emit_16(617);
+emit_16(551);
+emit_16(618);
+emit_16(552);
+emit_16(618);
+emit_16(551);
+emit_16(618);
+emit_16(552);
+emit_16(619);
+emit_16(553);
+emit_16(619);
+emit_16(552);
+emit_16(619);
+emit_16(553);
+emit_16(620);
+emit_16(554);
+emit_16(620);
+emit_16(553);
+emit_16(620);
+emit_16(554);
+emit_16(621);
+emit_16(555);
+emit_16(621);
+emit_16(554);
+emit_16(621);
+emit_16(555);
+emit_16(622);
+emit_16(556);
+emit_16(622);
+emit_16(555);
+emit_16(622);
+emit_16(556);
+emit_16(623);
+emit_16(557);
+emit_16(623);
+emit_16(556);
+emit_16(623);
+emit_16(557);
+emit_16(624);
+emit_16(558);
+emit_16(624);
+emit_16(557);
+emit_16(624);
+emit_16(558);
+emit_16(625);
+emit_16(559);
+emit_16(625);
+emit_16(558);
+emit_16(625);
+emit_16(559);
+emit_16(626);
+emit_16(560);
+emit_16(626);
+emit_16(559);
+emit_16(626);
+emit_16(560);
+emit_16(627);
+emit_16(561);
+emit_16(627);
+emit_16(560);
+emit_16(627);
+emit_16(561);
+emit_16(628);
+emit_16(562);
+emit_16(628);
+emit_16(561);
+emit_16(628);
+emit_16(562);
+emit_16(629);
+emit_16(563);
+emit_16(629);
+emit_16(562);
+emit_16(629);
+emit_16(563);
+emit_16(630);
+emit_16(564);
+emit_16(630);
+emit_16(563);
+emit_16(630);
+emit_16(564);
+emit_16(631);
+emit_16(565);
+emit_16(631);
+emit_16(564);
+emit_16(631);
+emit_16(565);
+emit_16(632);
+emit_16(566);
+emit_16(632);
+emit_16(565);
+emit_16(632);
+emit_16(566);
+emit_16(633);
+emit_16(567);
+emit_16(633);
+emit_16(566);
+emit_16(633);
+emit_16(567);
+emit_16(634);
+emit_16(568);
+emit_16(634);
+emit_16(567);
+emit_16(634);
+emit_16(568);
+emit_16(635);
+emit_16(569);
+emit_16(635);
+emit_16(568);
+emit_16(635);
+emit_16(569);
+emit_16(636);
+emit_16(570);
+emit_16(636);
+emit_16(569);
+emit_16(636);
+emit_16(570);
+emit_16(637);
+emit_16(571);
+emit_16(637);
+emit_16(570);
+emit_16(637);
+emit_16(571);
+emit_16(638);
+emit_16(572);
+emit_16(638);
+emit_16(571);
+emit_16(638);
+emit_16(572);
+emit_16(639);
+emit_16(573);
+emit_16(639);
+emit_16(572);
+emit_16(639);
+emit_16(573);
+emit_16(640);
+emit_16(574);
+emit_16(640);
+emit_16(573);
+emit_16(640);
+emit_16(574);
+emit_16(641);
+emit_16(575);
+emit_16(641);
+emit_16(574);
+emit_16(641);
+emit_16(575);
+emit_16(642);
+emit_16(576);
+emit_16(642);
+emit_16(575);
+emit_16(642);
+emit_16(576);
+emit_16(643);
+emit_16(577);
+emit_16(643);
+emit_16(576);
+emit_16(643);
+emit_16(577);
+emit_16(644);
+emit_16(578);
+emit_16(644);
+emit_16(577);
+emit_16(644);
+emit_16(578);
+emit_16(645);
+emit_16(579);
+emit_16(645);
+emit_16(578);
+emit_16(645);
+emit_16(579);
+emit_16(646);
+emit_16(580);
+emit_16(646);
+emit_16(579);
+emit_16(646);
+emit_16(580);
+emit_16(647);
+emit_16(581);
+emit_16(647);
+emit_16(580);
+emit_16(647);
+emit_16(581);
+emit_16(648);
+emit_16(582);
+emit_16(648);
+emit_16(581);
+emit_16(648);
+emit_16(582);
+emit_16(649);
+emit_16(583);
+emit_16(649);
+emit_16(582);
+emit_16(649);
+emit_16(583);
+emit_16(650);
+emit_16(584);
+emit_16(650);
+emit_16(583);
+emit_16(650);
+emit_16(584);
+emit_16(651);
+emit_16(585);
+emit_16(651);
+emit_16(584);
+emit_16(651);
+emit_16(585);
+emit_16(652);
+emit_16(586);
+emit_16(652);
+emit_16(585);
+emit_16(652);
+emit_16(586);
+emit_16(653);
+emit_16(587);
+emit_16(653);
+emit_16(586);
+emit_16(653);
+emit_16(587);
+emit_16(654);
+emit_16(588);
+emit_16(654);
+emit_16(587);
+emit_16(654);
+emit_16(588);
+emit_16(655);
+emit_16(589);
+emit_16(655);
+emit_16(588);
+emit_16(655);
+emit_16(589);
+emit_16(656);
+emit_16(590);
+emit_16(656);
+emit_16(589);
+emit_16(656);
+emit_16(590);
+emit_16(657);
+emit_16(591);
+emit_16(657);
+emit_16(590);
+emit_16(657);
+emit_16(591);
+emit_16(658);
+emit_16(592);
+emit_16(658);
+emit_16(591);
+emit_16(658);
+emit_16(592);
+emit_16(659);
+emit_16(593);
+emit_16(659);
+emit_16(592);
+emit_16(660);
+emit_16(594);
+emit_16(661);
+emit_16(595);
+emit_16(661);
+emit_16(594);
+emit_16(661);
+emit_16(595);
+emit_16(662);
+emit_16(596);
+emit_16(662);
+emit_16(595);
+emit_16(662);
+emit_16(596);
+emit_16(663);
+emit_16(597);
+emit_16(663);
+emit_16(596);
+emit_16(663);
+emit_16(597);
+emit_16(664);
+emit_16(598);
+emit_16(664);
+emit_16(597);
+emit_16(664);
+emit_16(598);
+emit_16(665);
+emit_16(599);
+emit_16(665);
+emit_16(598);
+emit_16(665);
+emit_16(599);
+emit_16(666);
+emit_16(600);
+emit_16(666);
+emit_16(599);
+emit_16(666);
+emit_16(600);
+emit_16(667);
+emit_16(601);
+emit_16(667);
+emit_16(600);
+emit_16(667);
+emit_16(601);
+emit_16(668);
+emit_16(602);
+emit_16(668);
+emit_16(601);
+emit_16(668);
+emit_16(602);
+emit_16(669);
+emit_16(603);
+emit_16(669);
+emit_16(602);
+emit_16(669);
+emit_16(603);
+emit_16(670);
+emit_16(604);
+emit_16(670);
+emit_16(603);
+emit_16(670);
+emit_16(604);
+emit_16(671);
+emit_16(605);
+emit_16(671);
+emit_16(604);
+emit_16(671);
+emit_16(605);
+emit_16(672);
+emit_16(606);
+emit_16(672);
+emit_16(605);
+emit_16(672);
+emit_16(606);
+emit_16(673);
+emit_16(607);
+emit_16(673);
+emit_16(606);
+emit_16(673);
+emit_16(607);
+emit_16(674);
+emit_16(608);
+emit_16(674);
+emit_16(607);
+emit_16(674);
+emit_16(608);
+emit_16(675);
+emit_16(609);
+emit_16(675);
+emit_16(608);
+emit_16(675);
+emit_16(609);
+emit_16(676);
+emit_16(610);
+emit_16(676);
+emit_16(609);
+emit_16(676);
+emit_16(610);
+emit_16(677);
+emit_16(611);
+emit_16(677);
+emit_16(610);
+emit_16(677);
+emit_16(611);
+emit_16(678);
+emit_16(612);
+emit_16(678);
+emit_16(611);
+emit_16(678);
+emit_16(612);
+emit_16(679);
+emit_16(613);
+emit_16(679);
+emit_16(612);
+emit_16(679);
+emit_16(613);
+emit_16(680);
+emit_16(614);
+emit_16(680);
+emit_16(613);
+emit_16(680);
+emit_16(614);
+emit_16(681);
+emit_16(615);
+emit_16(681);
+emit_16(614);
+emit_16(681);
+emit_16(615);
+emit_16(682);
+emit_16(616);
+emit_16(682);
+emit_16(615);
+emit_16(682);
+emit_16(616);
+emit_16(683);
+emit_16(617);
+emit_16(683);
+emit_16(616);
+emit_16(683);
+emit_16(617);
+emit_16(684);
+emit_16(618);
+emit_16(684);
+emit_16(617);
+emit_16(684);
+emit_16(618);
+emit_16(685);
+emit_16(619);
+emit_16(685);
+emit_16(618);
+emit_16(685);
+emit_16(619);
+emit_16(686);
+emit_16(620);
+emit_16(686);
+emit_16(619);
+emit_16(686);
+emit_16(620);
+emit_16(687);
+emit_16(621);
+emit_16(687);
+emit_16(620);
+emit_16(687);
+emit_16(621);
+emit_16(688);
+emit_16(622);
+emit_16(688);
+emit_16(621);
+emit_16(688);
+emit_16(622);
+emit_16(689);
+emit_16(623);
+emit_16(689);
+emit_16(622);
+emit_16(689);
+emit_16(623);
+emit_16(690);
+emit_16(624);
+emit_16(690);
+emit_16(623);
+emit_16(690);
+emit_16(624);
+emit_16(691);
+emit_16(625);
+emit_16(691);
+emit_16(624);
+emit_16(691);
+emit_16(625);
+emit_16(692);
+emit_16(626);
+emit_16(692);
+emit_16(625);
+emit_16(692);
+emit_16(626);
+emit_16(693);
+emit_16(627);
+emit_16(693);
+emit_16(626);
+emit_16(693);
+emit_16(627);
+emit_16(694);
+emit_16(628);
+emit_16(694);
+emit_16(627);
+emit_16(694);
+emit_16(628);
+emit_16(695);
+emit_16(629);
+emit_16(695);
+emit_16(628);
+emit_16(695);
+emit_16(629);
+emit_16(696);
+emit_16(630);
+emit_16(696);
+emit_16(629);
+emit_16(696);
+emit_16(630);
+emit_16(697);
+emit_16(631);
+emit_16(697);
+emit_16(630);
+emit_16(697);
+emit_16(631);
+emit_16(698);
+emit_16(632);
+emit_16(698);
+emit_16(631);
+emit_16(698);
+emit_16(632);
+emit_16(699);
+emit_16(633);
+emit_16(699);
+emit_16(632);
+emit_16(699);
+emit_16(633);
+emit_16(700);
+emit_16(634);
+emit_16(700);
+emit_16(633);
+emit_16(700);
+emit_16(634);
+emit_16(701);
+emit_16(635);
+emit_16(701);
+emit_16(634);
+emit_16(701);
+emit_16(635);
+emit_16(702);
+emit_16(636);
+emit_16(702);
+emit_16(635);
+emit_16(702);
+emit_16(636);
+emit_16(703);
+emit_16(637);
+emit_16(703);
+emit_16(636);
+emit_16(703);
+emit_16(637);
+emit_16(704);
+emit_16(638);
+emit_16(704);
+emit_16(637);
+emit_16(704);
+emit_16(638);
+emit_16(705);
+emit_16(639);
+emit_16(705);
+emit_16(638);
+emit_16(705);
+emit_16(639);
+emit_16(706);
+emit_16(640);
+emit_16(706);
+emit_16(639);
+emit_16(706);
+emit_16(640);
+emit_16(707);
+emit_16(641);
+emit_16(707);
+emit_16(640);
+emit_16(707);
+emit_16(641);
+emit_16(708);
+emit_16(642);
+emit_16(708);
+emit_16(641);
+emit_16(708);
+emit_16(642);
+emit_16(709);
+emit_16(643);
+emit_16(709);
+emit_16(642);
+emit_16(709);
+emit_16(643);
+emit_16(710);
+emit_16(644);
+emit_16(710);
+emit_16(643);
+emit_16(710);
+emit_16(644);
+emit_16(711);
+emit_16(645);
+emit_16(711);
+emit_16(644);
+emit_16(711);
+emit_16(645);
+emit_16(712);
+emit_16(646);
+emit_16(712);
+emit_16(645);
+emit_16(712);
+emit_16(646);
+emit_16(713);
+emit_16(647);
+emit_16(713);
+emit_16(646);
+emit_16(713);
+emit_16(647);
+emit_16(714);
+emit_16(648);
+emit_16(714);
+emit_16(647);
+emit_16(714);
+emit_16(648);
+emit_16(715);
+emit_16(649);
+emit_16(715);
+emit_16(648);
+emit_16(715);
+emit_16(649);
+emit_16(716);
+emit_16(650);
+emit_16(716);
+emit_16(649);
+emit_16(716);
+emit_16(650);
+emit_16(717);
+emit_16(651);
+emit_16(717);
+emit_16(650);
+emit_16(717);
+emit_16(651);
+emit_16(718);
+emit_16(652);
+emit_16(718);
+emit_16(651);
+emit_16(718);
+emit_16(652);
+emit_16(719);
+emit_16(653);
+emit_16(719);
+emit_16(652);
+emit_16(719);
+emit_16(653);
+emit_16(720);
+emit_16(654);
+emit_16(720);
+emit_16(653);
+emit_16(720);
+emit_16(654);
+emit_16(721);
+emit_16(655);
+emit_16(721);
+emit_16(654);
+emit_16(721);
+emit_16(655);
+emit_16(722);
+emit_16(656);
+emit_16(722);
+emit_16(655);
+emit_16(722);
+emit_16(656);
+emit_16(723);
+emit_16(657);
+emit_16(723);
+emit_16(656);
+emit_16(723);
+emit_16(657);
+emit_16(724);
+emit_16(658);
+emit_16(724);
+emit_16(657);
+emit_16(724);
+emit_16(658);
+emit_16(725);
+emit_16(659);
+emit_16(725);
+emit_16(658);
+emit_16(726);
+emit_16(660);
+emit_16(727);
+emit_16(661);
+emit_16(727);
+emit_16(660);
+emit_16(727);
+emit_16(661);
+emit_16(728);
+emit_16(662);
+emit_16(728);
+emit_16(661);
+emit_16(728);
+emit_16(662);
+emit_16(729);
+emit_16(663);
+emit_16(729);
+emit_16(662);
+emit_16(729);
+emit_16(663);
+emit_16(730);
+emit_16(664);
+emit_16(730);
+emit_16(663);
+emit_16(730);
+emit_16(664);
+emit_16(731);
+emit_16(665);
+emit_16(731);
+emit_16(664);
+emit_16(731);
+emit_16(665);
+emit_16(732);
+emit_16(666);
+emit_16(732);
+emit_16(665);
+emit_16(732);
+emit_16(666);
+emit_16(733);
+emit_16(667);
+emit_16(733);
+emit_16(666);
+emit_16(733);
+emit_16(667);
+emit_16(734);
+emit_16(668);
+emit_16(734);
+emit_16(667);
+emit_16(734);
+emit_16(668);
+emit_16(735);
+emit_16(669);
+emit_16(735);
+emit_16(668);
+emit_16(735);
+emit_16(669);
+emit_16(736);
+emit_16(670);
+emit_16(736);
+emit_16(669);
+emit_16(736);
+emit_16(670);
+emit_16(737);
+emit_16(671);
+emit_16(737);
+emit_16(670);
+emit_16(737);
+emit_16(671);
+emit_16(738);
+emit_16(672);
+emit_16(738);
+emit_16(671);
+emit_16(738);
+emit_16(672);
+emit_16(739);
+emit_16(673);
+emit_16(739);
+emit_16(672);
+emit_16(739);
+emit_16(673);
+emit_16(740);
+emit_16(674);
+emit_16(740);
+emit_16(673);
+emit_16(740);
+emit_16(674);
+emit_16(741);
+emit_16(675);
+emit_16(741);
+emit_16(674);
+emit_16(741);
+emit_16(675);
+emit_16(742);
+emit_16(676);
+emit_16(742);
+emit_16(675);
+emit_16(742);
+emit_16(676);
+emit_16(743);
+emit_16(677);
+emit_16(743);
+emit_16(676);
+emit_16(743);
+emit_16(677);
+emit_16(744);
+emit_16(678);
+emit_16(744);
+emit_16(677);
+emit_16(744);
+emit_16(678);
+emit_16(745);
+emit_16(679);
+emit_16(745);
+emit_16(678);
+emit_16(745);
+emit_16(679);
+emit_16(746);
+emit_16(680);
+emit_16(746);
+emit_16(679);
+emit_16(746);
+emit_16(680);
+emit_16(747);
+emit_16(681);
+emit_16(747);
+emit_16(680);
+emit_16(747);
+emit_16(681);
+emit_16(748);
+emit_16(682);
+emit_16(748);
+emit_16(681);
+emit_16(748);
+emit_16(682);
+emit_16(749);
+emit_16(683);
+emit_16(749);
+emit_16(682);
+emit_16(749);
+emit_16(683);
+emit_16(750);
+emit_16(684);
+emit_16(750);
+emit_16(683);
+emit_16(750);
+emit_16(684);
+emit_16(751);
+emit_16(685);
+emit_16(751);
+emit_16(684);
+emit_16(751);
+emit_16(685);
+emit_16(752);
+emit_16(686);
+emit_16(752);
+emit_16(685);
+emit_16(752);
+emit_16(686);
+emit_16(753);
+emit_16(687);
+emit_16(753);
+emit_16(686);
+emit_16(753);
+emit_16(687);
+emit_16(754);
+emit_16(688);
+emit_16(754);
+emit_16(687);
+emit_16(754);
+emit_16(688);
+emit_16(755);
+emit_16(689);
+emit_16(755);
+emit_16(688);
+emit_16(755);
+emit_16(689);
+emit_16(756);
+emit_16(690);
+emit_16(756);
+emit_16(689);
+emit_16(756);
+emit_16(690);
+emit_16(757);
+emit_16(691);
+emit_16(757);
+emit_16(690);
+emit_16(757);
+emit_16(691);
+emit_16(758);
+emit_16(692);
+emit_16(758);
+emit_16(691);
+emit_16(758);
+emit_16(692);
+emit_16(759);
+emit_16(693);
+emit_16(759);
+emit_16(692);
+emit_16(759);
+emit_16(693);
+emit_16(760);
+emit_16(694);
+emit_16(760);
+emit_16(693);
+emit_16(760);
+emit_16(694);
+emit_16(761);
+emit_16(695);
+emit_16(761);
+emit_16(694);
+emit_16(761);
+emit_16(695);
+emit_16(762);
+emit_16(696);
+emit_16(762);
+emit_16(695);
+emit_16(762);
+emit_16(696);
+emit_16(763);
+emit_16(697);
+emit_16(763);
+emit_16(696);
+emit_16(763);
+emit_16(697);
+emit_16(764);
+emit_16(698);
+emit_16(764);
+emit_16(697);
+emit_16(764);
+emit_16(698);
+emit_16(765);
+emit_16(699);
+emit_16(765);
+emit_16(698);
+emit_16(765);
+emit_16(699);
+emit_16(766);
+emit_16(700);
+emit_16(766);
+emit_16(699);
+emit_16(766);
+emit_16(700);
+emit_16(767);
+emit_16(701);
+emit_16(767);
+emit_16(700);
+emit_16(767);
+emit_16(701);
+emit_16(768);
+emit_16(702);
+emit_16(768);
+emit_16(701);
+emit_16(768);
+emit_16(702);
+emit_16(769);
+emit_16(703);
+emit_16(769);
+emit_16(702);
+emit_16(769);
+emit_16(703);
+emit_16(770);
+emit_16(704);
+emit_16(770);
+emit_16(703);
+emit_16(770);
+emit_16(704);
+emit_16(771);
+emit_16(705);
+emit_16(771);
+emit_16(704);
+emit_16(771);
+emit_16(705);
+emit_16(772);
+emit_16(706);
+emit_16(772);
+emit_16(705);
+emit_16(772);
+emit_16(706);
+emit_16(773);
+emit_16(707);
+emit_16(773);
+emit_16(706);
+emit_16(773);
+emit_16(707);
+emit_16(774);
+emit_16(708);
+emit_16(774);
+emit_16(707);
+emit_16(774);
+emit_16(708);
+emit_16(775);
+emit_16(709);
+emit_16(775);
+emit_16(708);
+emit_16(775);
+emit_16(709);
+emit_16(776);
+emit_16(710);
+emit_16(776);
+emit_16(709);
+emit_16(776);
+emit_16(710);
+emit_16(777);
+emit_16(711);
+emit_16(777);
+emit_16(710);
+emit_16(777);
+emit_16(711);
+emit_16(778);
+emit_16(712);
+emit_16(778);
+emit_16(711);
+emit_16(778);
+emit_16(712);
+emit_16(779);
+emit_16(713);
+emit_16(779);
+emit_16(712);
+emit_16(779);
+emit_16(713);
+emit_16(780);
+emit_16(714);
+emit_16(780);
+emit_16(713);
+emit_16(780);
+emit_16(714);
+emit_16(781);
+emit_16(715);
+emit_16(781);
+emit_16(714);
+emit_16(781);
+emit_16(715);
+emit_16(782);
+emit_16(716);
+emit_16(782);
+emit_16(715);
+emit_16(782);
+emit_16(716);
+emit_16(783);
+emit_16(717);
+emit_16(783);
+emit_16(716);
+emit_16(783);
+emit_16(717);
+emit_16(784);
+emit_16(718);
+emit_16(784);
+emit_16(717);
+emit_16(784);
+emit_16(718);
+emit_16(785);
+emit_16(719);
+emit_16(785);
+emit_16(718);
+emit_16(785);
+emit_16(719);
+emit_16(786);
+emit_16(720);
+emit_16(786);
+emit_16(719);
+emit_16(786);
+emit_16(720);
+emit_16(787);
+emit_16(721);
+emit_16(787);
+emit_16(720);
+emit_16(787);
+emit_16(721);
+emit_16(788);
+emit_16(722);
+emit_16(788);
+emit_16(721);
+emit_16(788);
+emit_16(722);
+emit_16(789);
+emit_16(723);
+emit_16(789);
+emit_16(722);
+emit_16(789);
+emit_16(723);
+emit_16(790);
+emit_16(724);
+emit_16(790);
+emit_16(723);
+emit_16(790);
+emit_16(724);
+emit_16(791);
+emit_16(725);
+emit_16(791);
+emit_16(724);
+emit_16(792);
+emit_16(726);
+emit_16(793);
+emit_16(727);
+emit_16(793);
+emit_16(726);
+emit_16(793);
+emit_16(727);
+emit_16(794);
+emit_16(728);
+emit_16(794);
+emit_16(727);
+emit_16(794);
+emit_16(728);
+emit_16(795);
+emit_16(729);
+emit_16(795);
+emit_16(728);
+emit_16(795);
+emit_16(729);
+emit_16(796);
+emit_16(730);
+emit_16(796);
+emit_16(729);
+emit_16(796);
+emit_16(730);
+emit_16(797);
+emit_16(731);
+emit_16(797);
+emit_16(730);
+emit_16(797);
+emit_16(731);
+emit_16(798);
+emit_16(732);
+emit_16(798);
+emit_16(731);
+emit_16(798);
+emit_16(732);
+emit_16(799);
+emit_16(733);
+emit_16(799);
+emit_16(732);
+emit_16(799);
+emit_16(733);
+emit_16(800);
+emit_16(734);
+emit_16(800);
+emit_16(733);
+emit_16(800);
+emit_16(734);
+emit_16(801);
+emit_16(735);
+emit_16(801);
+emit_16(734);
+emit_16(801);
+emit_16(735);
+emit_16(802);
+emit_16(736);
+emit_16(802);
+emit_16(735);
+emit_16(802);
+emit_16(736);
+emit_16(803);
+emit_16(737);
+emit_16(803);
+emit_16(736);
+emit_16(803);
+emit_16(737);
+emit_16(804);
+emit_16(738);
+emit_16(804);
+emit_16(737);
+emit_16(804);
+emit_16(738);
+emit_16(805);
+emit_16(739);
+emit_16(805);
+emit_16(738);
+emit_16(805);
+emit_16(739);
+emit_16(806);
+emit_16(740);
+emit_16(806);
+emit_16(739);
+emit_16(806);
+emit_16(740);
+emit_16(807);
+emit_16(741);
+emit_16(807);
+emit_16(740);
+emit_16(807);
+emit_16(741);
+emit_16(808);
+emit_16(742);
+emit_16(808);
+emit_16(741);
+emit_16(808);
+emit_16(742);
+emit_16(809);
+emit_16(743);
+emit_16(809);
+emit_16(742);
+emit_16(809);
+emit_16(743);
+emit_16(810);
+emit_16(744);
+emit_16(810);
+emit_16(743);
+emit_16(810);
+emit_16(744);
+emit_16(811);
+emit_16(745);
+emit_16(811);
+emit_16(744);
+emit_16(811);
+emit_16(745);
+emit_16(812);
+emit_16(746);
+emit_16(812);
+emit_16(745);
+emit_16(812);
+emit_16(746);
+emit_16(813);
+emit_16(747);
+emit_16(813);
+emit_16(746);
+emit_16(813);
+emit_16(747);
+emit_16(814);
+emit_16(748);
+emit_16(814);
+emit_16(747);
+emit_16(814);
+emit_16(748);
+emit_16(815);
+emit_16(749);
+emit_16(815);
+emit_16(748);
+emit_16(815);
+emit_16(749);
+emit_16(816);
+emit_16(750);
+emit_16(816);
+emit_16(749);
+emit_16(816);
+emit_16(750);
+emit_16(817);
+emit_16(751);
+emit_16(817);
+emit_16(750);
+emit_16(817);
+emit_16(751);
+emit_16(818);
+emit_16(752);
+emit_16(818);
+emit_16(751);
+emit_16(818);
+emit_16(752);
+emit_16(819);
+emit_16(753);
+emit_16(819);
+emit_16(752);
+emit_16(819);
+emit_16(753);
+emit_16(820);
+emit_16(754);
+emit_16(820);
+emit_16(753);
+emit_16(820);
+emit_16(754);
+emit_16(821);
+emit_16(755);
+emit_16(821);
+emit_16(754);
+emit_16(821);
+emit_16(755);
+emit_16(822);
+emit_16(756);
+emit_16(822);
+emit_16(755);
+emit_16(822);
+emit_16(756);
+emit_16(823);
+emit_16(757);
+emit_16(823);
+emit_16(756);
+emit_16(823);
+emit_16(757);
+emit_16(824);
+emit_16(758);
+emit_16(824);
+emit_16(757);
+emit_16(824);
+emit_16(758);
+emit_16(825);
+emit_16(759);
+emit_16(825);
+emit_16(758);
+emit_16(825);
+emit_16(759);
+emit_16(826);
+emit_16(760);
+emit_16(826);
+emit_16(759);
+emit_16(826);
+emit_16(760);
+emit_16(827);
+emit_16(761);
+emit_16(827);
+emit_16(760);
+emit_16(827);
+emit_16(761);
+emit_16(828);
+emit_16(762);
+emit_16(828);
+emit_16(761);
+emit_16(828);
+emit_16(762);
+emit_16(829);
+emit_16(763);
+emit_16(829);
+emit_16(762);
+emit_16(829);
+emit_16(763);
+emit_16(830);
+emit_16(764);
+emit_16(830);
+emit_16(763);
+emit_16(830);
+emit_16(764);
+emit_16(831);
+emit_16(765);
+emit_16(831);
+emit_16(764);
+emit_16(831);
+emit_16(765);
+emit_16(832);
+emit_16(766);
+emit_16(832);
+emit_16(765);
+emit_16(832);
+emit_16(766);
+emit_16(833);
+emit_16(767);
+emit_16(833);
+emit_16(766);
+emit_16(833);
+emit_16(767);
+emit_16(834);
+emit_16(768);
+emit_16(834);
+emit_16(767);
+emit_16(834);
+emit_16(768);
+emit_16(835);
+emit_16(769);
+emit_16(835);
+emit_16(768);
+emit_16(835);
+emit_16(769);
+emit_16(836);
+emit_16(770);
+emit_16(836);
+emit_16(769);
+emit_16(836);
+emit_16(770);
+emit_16(837);
+emit_16(771);
+emit_16(837);
+emit_16(770);
+emit_16(837);
+emit_16(771);
+emit_16(838);
+emit_16(772);
+emit_16(838);
+emit_16(771);
+emit_16(838);
+emit_16(772);
+emit_16(839);
+emit_16(773);
+emit_16(839);
+emit_16(772);
+emit_16(839);
+emit_16(773);
+emit_16(840);
+emit_16(774);
+emit_16(840);
+emit_16(773);
+emit_16(840);
+emit_16(774);
+emit_16(841);
+emit_16(775);
+emit_16(841);
+emit_16(774);
+emit_16(841);
+emit_16(775);
+emit_16(842);
+emit_16(776);
+emit_16(842);
+emit_16(775);
+emit_16(842);
+emit_16(776);
+emit_16(843);
+emit_16(777);
+emit_16(843);
+emit_16(776);
+emit_16(843);
+emit_16(777);
+emit_16(844);
+emit_16(778);
+emit_16(844);
+emit_16(777);
+emit_16(844);
+emit_16(778);
+emit_16(845);
+emit_16(779);
+emit_16(845);
+emit_16(778);
+emit_16(845);
+emit_16(779);
+emit_16(846);
+emit_16(780);
+emit_16(846);
+emit_16(779);
+emit_16(846);
+emit_16(780);
+emit_16(847);
+emit_16(781);
+emit_16(847);
+emit_16(780);
+emit_16(847);
+emit_16(781);
+emit_16(848);
+emit_16(782);
+emit_16(848);
+emit_16(781);
+emit_16(848);
+emit_16(782);
+emit_16(849);
+emit_16(783);
+emit_16(849);
+emit_16(782);
+emit_16(849);
+emit_16(783);
+emit_16(850);
+emit_16(784);
+emit_16(850);
+emit_16(783);
+emit_16(850);
+emit_16(784);
+emit_16(851);
+emit_16(785);
+emit_16(851);
+emit_16(784);
+emit_16(851);
+emit_16(785);
+emit_16(852);
+emit_16(786);
+emit_16(852);
+emit_16(785);
+emit_16(852);
+emit_16(786);
+emit_16(853);
+emit_16(787);
+emit_16(853);
+emit_16(786);
+emit_16(853);
+emit_16(787);
+emit_16(854);
+emit_16(788);
+emit_16(854);
+emit_16(787);
+emit_16(854);
+emit_16(788);
+emit_16(855);
+emit_16(789);
+emit_16(855);
+emit_16(788);
+emit_16(855);
+emit_16(789);
+emit_16(856);
+emit_16(790);
+emit_16(856);
+emit_16(789);
+emit_16(856);
+emit_16(790);
+emit_16(857);
+emit_16(791);
+emit_16(857);
+emit_16(790);
+emit_16(858);
+emit_16(792);
+emit_16(859);
+emit_16(793);
+emit_16(859);
+emit_16(792);
+emit_16(859);
+emit_16(793);
+emit_16(860);
+emit_16(794);
+emit_16(860);
+emit_16(793);
+emit_16(860);
+emit_16(794);
+emit_16(861);
+emit_16(795);
+emit_16(861);
+emit_16(794);
+emit_16(861);
+emit_16(795);
+emit_16(862);
+emit_16(796);
+emit_16(862);
+emit_16(795);
+emit_16(862);
+emit_16(796);
+emit_16(863);
+emit_16(797);
+emit_16(863);
+emit_16(796);
+emit_16(863);
+emit_16(797);
+emit_16(864);
+emit_16(798);
+emit_16(864);
+emit_16(797);
+emit_16(864);
+emit_16(798);
+emit_16(865);
+emit_16(799);
+emit_16(865);
+emit_16(798);
+emit_16(865);
+emit_16(799);
+emit_16(866);
+emit_16(800);
+emit_16(866);
+emit_16(799);
+emit_16(866);
+emit_16(800);
+emit_16(867);
+emit_16(801);
+emit_16(867);
+emit_16(800);
+emit_16(867);
+emit_16(801);
+emit_16(868);
+emit_16(802);
+emit_16(868);
+emit_16(801);
+emit_16(868);
+emit_16(802);
+emit_16(869);
+emit_16(803);
+emit_16(869);
+emit_16(802);
+emit_16(869);
+emit_16(803);
+emit_16(870);
+emit_16(804);
+emit_16(870);
+emit_16(803);
+emit_16(870);
+emit_16(804);
+emit_16(871);
+emit_16(805);
+emit_16(871);
+emit_16(804);
+emit_16(871);
+emit_16(805);
+emit_16(872);
+emit_16(806);
+emit_16(872);
+emit_16(805);
+emit_16(872);
+emit_16(806);
+emit_16(873);
+emit_16(807);
+emit_16(873);
+emit_16(806);
+emit_16(873);
+emit_16(807);
+emit_16(874);
+emit_16(808);
+emit_16(874);
+emit_16(807);
+emit_16(874);
+emit_16(808);
+emit_16(875);
+emit_16(809);
+emit_16(875);
+emit_16(808);
+emit_16(875);
+emit_16(809);
+emit_16(876);
+emit_16(810);
+emit_16(876);
+emit_16(809);
+emit_16(876);
+emit_16(810);
+emit_16(877);
+emit_16(811);
+emit_16(877);
+emit_16(810);
+emit_16(877);
+emit_16(811);
+emit_16(878);
+emit_16(812);
+emit_16(878);
+emit_16(811);
+emit_16(878);
+emit_16(812);
+emit_16(879);
+emit_16(813);
+emit_16(879);
+emit_16(812);
+emit_16(879);
+emit_16(813);
+emit_16(880);
+emit_16(814);
+emit_16(880);
+emit_16(813);
+emit_16(880);
+emit_16(814);
+emit_16(881);
+emit_16(815);
+emit_16(881);
+emit_16(814);
+emit_16(881);
+emit_16(815);
+emit_16(882);
+emit_16(816);
+emit_16(882);
+emit_16(815);
+emit_16(882);
+emit_16(816);
+emit_16(883);
+emit_16(817);
+emit_16(883);
+emit_16(816);
+emit_16(883);
+emit_16(817);
+emit_16(884);
+emit_16(818);
+emit_16(884);
+emit_16(817);
+emit_16(884);
+emit_16(818);
+emit_16(885);
+emit_16(819);
+emit_16(885);
+emit_16(818);
+emit_16(885);
+emit_16(819);
+emit_16(886);
+emit_16(820);
+emit_16(886);
+emit_16(819);
+emit_16(886);
+emit_16(820);
+emit_16(887);
+emit_16(821);
+emit_16(887);
+emit_16(820);
+emit_16(887);
+emit_16(821);
+emit_16(888);
+emit_16(822);
+emit_16(888);
+emit_16(821);
+emit_16(888);
+emit_16(822);
+emit_16(889);
+emit_16(823);
+emit_16(889);
+emit_16(822);
+emit_16(889);
+emit_16(823);
+emit_16(890);
+emit_16(824);
+emit_16(890);
+emit_16(823);
+emit_16(890);
+emit_16(824);
+emit_16(891);
+emit_16(825);
+emit_16(891);
+emit_16(824);
+emit_16(891);
+emit_16(825);
+emit_16(892);
+emit_16(826);
+emit_16(892);
+emit_16(825);
+emit_16(892);
+emit_16(826);
+emit_16(893);
+emit_16(827);
+emit_16(893);
+emit_16(826);
+emit_16(893);
+emit_16(827);
+emit_16(894);
+emit_16(828);
+emit_16(894);
+emit_16(827);
+emit_16(894);
+emit_16(828);
+emit_16(895);
+emit_16(829);
+emit_16(895);
+emit_16(828);
+emit_16(895);
+emit_16(829);
+emit_16(896);
+emit_16(830);
+emit_16(896);
+emit_16(829);
+emit_16(896);
+emit_16(830);
+emit_16(897);
+emit_16(831);
+emit_16(897);
+emit_16(830);
+emit_16(897);
+emit_16(831);
+emit_16(898);
+emit_16(832);
+emit_16(898);
+emit_16(831);
+emit_16(898);
+emit_16(832);
+emit_16(899);
+emit_16(833);
+emit_16(899);
+emit_16(832);
+emit_16(899);
+emit_16(833);
+emit_16(900);
+emit_16(834);
+emit_16(900);
+emit_16(833);
+emit_16(900);
+emit_16(834);
+emit_16(901);
+emit_16(835);
+emit_16(901);
+emit_16(834);
+emit_16(901);
+emit_16(835);
+emit_16(902);
+emit_16(836);
+emit_16(902);
+emit_16(835);
+emit_16(902);
+emit_16(836);
+emit_16(903);
+emit_16(837);
+emit_16(903);
+emit_16(836);
+emit_16(903);
+emit_16(837);
+emit_16(904);
+emit_16(838);
+emit_16(904);
+emit_16(837);
+emit_16(904);
+emit_16(838);
+emit_16(905);
+emit_16(839);
+emit_16(905);
+emit_16(838);
+emit_16(905);
+emit_16(839);
+emit_16(906);
+emit_16(840);
+emit_16(906);
+emit_16(839);
+emit_16(906);
+emit_16(840);
+emit_16(907);
+emit_16(841);
+emit_16(907);
+emit_16(840);
+emit_16(907);
+emit_16(841);
+emit_16(908);
+emit_16(842);
+emit_16(908);
+emit_16(841);
+emit_16(908);
+emit_16(842);
+emit_16(909);
+emit_16(843);
+emit_16(909);
+emit_16(842);
+emit_16(909);
+emit_16(843);
+emit_16(910);
+emit_16(844);
+emit_16(910);
+emit_16(843);
+emit_16(910);
+emit_16(844);
+emit_16(911);
+emit_16(845);
+emit_16(911);
+emit_16(844);
+emit_16(911);
+emit_16(845);
+emit_16(912);
+emit_16(846);
+emit_16(912);
+emit_16(845);
+emit_16(912);
+emit_16(846);
+emit_16(913);
+emit_16(847);
+emit_16(913);
+emit_16(846);
+emit_16(913);
+emit_16(847);
+emit_16(914);
+emit_16(848);
+emit_16(914);
+emit_16(847);
+emit_16(914);
+emit_16(848);
+emit_16(915);
+emit_16(849);
+emit_16(915);
+emit_16(848);
+emit_16(915);
+emit_16(849);
+emit_16(916);
+emit_16(850);
+emit_16(916);
+emit_16(849);
+emit_16(916);
+emit_16(850);
+emit_16(917);
+emit_16(851);
+emit_16(917);
+emit_16(850);
+emit_16(917);
+emit_16(851);
+emit_16(918);
+emit_16(852);
+emit_16(918);
+emit_16(851);
+emit_16(918);
+emit_16(852);
+emit_16(919);
+emit_16(853);
+emit_16(919);
+emit_16(852);
+emit_16(919);
+emit_16(853);
+emit_16(920);
+emit_16(854);
+emit_16(920);
+emit_16(853);
+emit_16(920);
+emit_16(854);
+emit_16(921);
+emit_16(855);
+emit_16(921);
+emit_16(854);
+emit_16(921);
+emit_16(855);
+emit_16(922);
+emit_16(856);
+emit_16(922);
+emit_16(855);
+emit_16(922);
+emit_16(856);
+emit_16(923);
+emit_16(857);
+emit_16(923);
+emit_16(856);
+emit_16(924);
+emit_16(858);
+emit_16(925);
+emit_16(859);
+emit_16(925);
+emit_16(858);
+emit_16(925);
+emit_16(859);
+emit_16(926);
+emit_16(860);
+emit_16(926);
+emit_16(859);
+emit_16(926);
+emit_16(860);
+emit_16(927);
+emit_16(861);
+emit_16(927);
+emit_16(860);
+emit_16(927);
+emit_16(861);
+emit_16(928);
+emit_16(862);
+emit_16(928);
+emit_16(861);
+emit_16(928);
+emit_16(862);
+emit_16(929);
+emit_16(863);
+emit_16(929);
+emit_16(862);
+emit_16(929);
+emit_16(863);
+emit_16(930);
+emit_16(864);
+emit_16(930);
+emit_16(863);
+emit_16(930);
+emit_16(864);
+emit_16(931);
+emit_16(865);
+emit_16(931);
+emit_16(864);
+emit_16(931);
+emit_16(865);
+emit_16(932);
+emit_16(866);
+emit_16(932);
+emit_16(865);
+emit_16(932);
+emit_16(866);
+emit_16(933);
+emit_16(867);
+emit_16(933);
+emit_16(866);
+emit_16(933);
+emit_16(867);
+emit_16(934);
+emit_16(868);
+emit_16(934);
+emit_16(867);
+emit_16(934);
+emit_16(868);
+emit_16(935);
+emit_16(869);
+emit_16(935);
+emit_16(868);
+emit_16(935);
+emit_16(869);
+emit_16(936);
+emit_16(870);
+emit_16(936);
+emit_16(869);
+emit_16(936);
+emit_16(870);
+emit_16(937);
+emit_16(871);
+emit_16(937);
+emit_16(870);
+emit_16(937);
+emit_16(871);
+emit_16(938);
+emit_16(872);
+emit_16(938);
+emit_16(871);
+emit_16(938);
+emit_16(872);
+emit_16(939);
+emit_16(873);
+emit_16(939);
+emit_16(872);
+emit_16(939);
+emit_16(873);
+emit_16(940);
+emit_16(874);
+emit_16(940);
+emit_16(873);
+emit_16(940);
+emit_16(874);
+emit_16(941);
+emit_16(875);
+emit_16(941);
+emit_16(874);
+emit_16(941);
+emit_16(875);
+emit_16(942);
+emit_16(876);
+emit_16(942);
+emit_16(875);
+emit_16(942);
+emit_16(876);
+emit_16(943);
+emit_16(877);
+emit_16(943);
+emit_16(876);
+emit_16(943);
+emit_16(877);
+emit_16(944);
+emit_16(878);
+emit_16(944);
+emit_16(877);
+emit_16(944);
+emit_16(878);
+emit_16(945);
+emit_16(879);
+emit_16(945);
+emit_16(878);
+emit_16(945);
+emit_16(879);
+emit_16(946);
+emit_16(880);
+emit_16(946);
+emit_16(879);
+emit_16(946);
+emit_16(880);
+emit_16(947);
+emit_16(881);
+emit_16(947);
+emit_16(880);
+emit_16(947);
+emit_16(881);
+emit_16(948);
+emit_16(882);
+emit_16(948);
+emit_16(881);
+emit_16(948);
+emit_16(882);
+emit_16(949);
+emit_16(883);
+emit_16(949);
+emit_16(882);
+emit_16(949);
+emit_16(883);
+emit_16(950);
+emit_16(884);
+emit_16(950);
+emit_16(883);
+emit_16(950);
+emit_16(884);
+emit_16(951);
+emit_16(885);
+emit_16(951);
+emit_16(884);
+emit_16(951);
+emit_16(885);
+emit_16(952);
+emit_16(886);
+emit_16(952);
+emit_16(885);
+emit_16(952);
+emit_16(886);
+emit_16(953);
+emit_16(887);
+emit_16(953);
+emit_16(886);
+emit_16(953);
+emit_16(887);
+emit_16(954);
+emit_16(888);
+emit_16(954);
+emit_16(887);
+emit_16(954);
+emit_16(888);
+emit_16(955);
+emit_16(889);
+emit_16(955);
+emit_16(888);
+emit_16(955);
+emit_16(889);
+emit_16(956);
+emit_16(890);
+emit_16(956);
+emit_16(889);
+emit_16(956);
+emit_16(890);
+emit_16(957);
+emit_16(891);
+emit_16(957);
+emit_16(890);
+emit_16(957);
+emit_16(891);
+emit_16(958);
+emit_16(892);
+emit_16(958);
+emit_16(891);
+emit_16(958);
+emit_16(892);
+emit_16(959);
+emit_16(893);
+emit_16(959);
+emit_16(892);
+emit_16(959);
+emit_16(893);
+emit_16(960);
+emit_16(894);
+emit_16(960);
+emit_16(893);
+emit_16(960);
+emit_16(894);
+emit_16(961);
+emit_16(895);
+emit_16(961);
+emit_16(894);
+emit_16(961);
+emit_16(895);
+emit_16(962);
+emit_16(896);
+emit_16(962);
+emit_16(895);
+emit_16(962);
+emit_16(896);
+emit_16(963);
+emit_16(897);
+emit_16(963);
+emit_16(896);
+emit_16(963);
+emit_16(897);
+emit_16(964);
+emit_16(898);
+emit_16(964);
+emit_16(897);
+emit_16(964);
+emit_16(898);
+emit_16(965);
+emit_16(899);
+emit_16(965);
+emit_16(898);
+emit_16(965);
+emit_16(899);
+emit_16(966);
+emit_16(900);
+emit_16(966);
+emit_16(899);
+emit_16(966);
+emit_16(900);
+emit_16(967);
+emit_16(901);
+emit_16(967);
+emit_16(900);
+emit_16(967);
+emit_16(901);
+emit_16(968);
+emit_16(902);
+emit_16(968);
+emit_16(901);
+emit_16(968);
+emit_16(902);
+emit_16(969);
+emit_16(903);
+emit_16(969);
+emit_16(902);
+emit_16(969);
+emit_16(903);
+emit_16(970);
+emit_16(904);
+emit_16(970);
+emit_16(903);
+emit_16(970);
+emit_16(904);
+emit_16(971);
+emit_16(905);
+emit_16(971);
+emit_16(904);
+emit_16(971);
+emit_16(905);
+emit_16(972);
+emit_16(906);
+emit_16(972);
+emit_16(905);
+emit_16(972);
+emit_16(906);
+emit_16(973);
+emit_16(907);
+emit_16(973);
+emit_16(906);
+emit_16(973);
+emit_16(907);
+emit_16(974);
+emit_16(908);
+emit_16(974);
+emit_16(907);
+emit_16(974);
+emit_16(908);
+emit_16(975);
+emit_16(909);
+emit_16(975);
+emit_16(908);
+emit_16(975);
+emit_16(909);
+emit_16(976);
+emit_16(910);
+emit_16(976);
+emit_16(909);
+emit_16(976);
+emit_16(910);
+emit_16(977);
+emit_16(911);
+emit_16(977);
+emit_16(910);
+emit_16(977);
+emit_16(911);
+emit_16(978);
+emit_16(912);
+emit_16(978);
+emit_16(911);
+emit_16(978);
+emit_16(912);
+emit_16(979);
+emit_16(913);
+emit_16(979);
+emit_16(912);
+emit_16(979);
+emit_16(913);
+emit_16(980);
+emit_16(914);
+emit_16(980);
+emit_16(913);
+emit_16(980);
+emit_16(914);
+emit_16(981);
+emit_16(915);
+emit_16(981);
+emit_16(914);
+emit_16(981);
+emit_16(915);
+emit_16(982);
+emit_16(916);
+emit_16(982);
+emit_16(915);
+emit_16(982);
+emit_16(916);
+emit_16(983);
+emit_16(917);
+emit_16(983);
+emit_16(916);
+emit_16(983);
+emit_16(917);
+emit_16(984);
+emit_16(918);
+emit_16(984);
+emit_16(917);
+emit_16(984);
+emit_16(918);
+emit_16(985);
+emit_16(919);
+emit_16(985);
+emit_16(918);
+emit_16(985);
+emit_16(919);
+emit_16(986);
+emit_16(920);
+emit_16(986);
+emit_16(919);
+emit_16(986);
+emit_16(920);
+emit_16(987);
+emit_16(921);
+emit_16(987);
+emit_16(920);
+emit_16(987);
+emit_16(921);
+emit_16(988);
+emit_16(922);
+emit_16(988);
+emit_16(921);
+emit_16(988);
+emit_16(922);
+emit_16(989);
+emit_16(923);
+emit_16(989);
+emit_16(922);
+emit_16(990);
+emit_16(924);
+emit_16(991);
+emit_16(925);
+emit_16(991);
+emit_16(924);
+emit_16(991);
+emit_16(925);
+emit_16(992);
+emit_16(926);
+emit_16(992);
+emit_16(925);
+emit_16(992);
+emit_16(926);
+emit_16(993);
+emit_16(927);
+emit_16(993);
+emit_16(926);
+emit_16(993);
+emit_16(927);
+emit_16(994);
+emit_16(928);
+emit_16(994);
+emit_16(927);
+emit_16(994);
+emit_16(928);
+emit_16(995);
+emit_16(929);
+emit_16(995);
+emit_16(928);
+emit_16(995);
+emit_16(929);
+emit_16(996);
+emit_16(930);
+emit_16(996);
+emit_16(929);
+emit_16(996);
+emit_16(930);
+emit_16(997);
+emit_16(931);
+emit_16(997);
+emit_16(930);
+emit_16(997);
+emit_16(931);
+emit_16(998);
+emit_16(932);
+emit_16(998);
+emit_16(931);
+emit_16(998);
+emit_16(932);
+emit_16(999);
+emit_16(933);
+emit_16(999);
+emit_16(932);
+emit_16(999);
+emit_16(933);
+emit_16(1000);
+emit_16(934);
+emit_16(1000);
+emit_16(933);
+emit_16(1000);
+emit_16(934);
+emit_16(1001);
+emit_16(935);
+emit_16(1001);
+emit_16(934);
+emit_16(1001);
+emit_16(935);
+emit_16(1002);
+emit_16(936);
+emit_16(1002);
+emit_16(935);
+emit_16(1002);
+emit_16(936);
+emit_16(1003);
+emit_16(937);
+emit_16(1003);
+emit_16(936);
+emit_16(1003);
+emit_16(937);
+emit_16(1004);
+emit_16(938);
+emit_16(1004);
+emit_16(937);
+emit_16(1004);
+emit_16(938);
+emit_16(1005);
+emit_16(939);
+emit_16(1005);
+emit_16(938);
+emit_16(1005);
+emit_16(939);
+emit_16(1006);
+emit_16(940);
+emit_16(1006);
+emit_16(939);
+emit_16(1006);
+emit_16(940);
+emit_16(1007);
+emit_16(941);
+emit_16(1007);
+emit_16(940);
+emit_16(1007);
+emit_16(941);
+emit_16(1008);
+emit_16(942);
+emit_16(1008);
+emit_16(941);
+emit_16(1008);
+emit_16(942);
+emit_16(1009);
+emit_16(943);
+emit_16(1009);
+emit_16(942);
+emit_16(1009);
+emit_16(943);
+emit_16(1010);
+emit_16(944);
+emit_16(1010);
+emit_16(943);
+emit_16(1010);
+emit_16(944);
+emit_16(1011);
+emit_16(945);
+emit_16(1011);
+emit_16(944);
+emit_16(1011);
+emit_16(945);
+emit_16(1012);
+emit_16(946);
+emit_16(1012);
+emit_16(945);
+emit_16(1012);
+emit_16(946);
+emit_16(1013);
+emit_16(947);
+emit_16(1013);
+emit_16(946);
+emit_16(1013);
+emit_16(947);
+emit_16(1014);
+emit_16(948);
+emit_16(1014);
+emit_16(947);
+emit_16(1014);
+emit_16(948);
+emit_16(1015);
+emit_16(949);
+emit_16(1015);
+emit_16(948);
+emit_16(1015);
+emit_16(949);
+emit_16(1016);
+emit_16(950);
+emit_16(1016);
+emit_16(949);
+emit_16(1016);
+emit_16(950);
+emit_16(1017);
+emit_16(951);
+emit_16(1017);
+emit_16(950);
+emit_16(1017);
+emit_16(951);
+emit_16(1018);
+emit_16(952);
+emit_16(1018);
+emit_16(951);
+emit_16(1018);
+emit_16(952);
+emit_16(1019);
+emit_16(953);
+emit_16(1019);
+emit_16(952);
+emit_16(1019);
+emit_16(953);
+emit_16(1020);
+emit_16(954);
+emit_16(1020);
+emit_16(953);
+emit_16(1020);
+emit_16(954);
+emit_16(1021);
+emit_16(955);
+emit_16(1021);
+emit_16(954);
+emit_16(1021);
+emit_16(955);
+emit_16(1022);
+emit_16(956);
+emit_16(1022);
+emit_16(955);
+emit_16(1022);
+emit_16(956);
+emit_16(1023);
+emit_16(957);
+emit_16(1023);
+emit_16(956);
+emit_16(1023);
+emit_16(957);
+emit_16(1024);
+emit_16(958);
+emit_16(1024);
+emit_16(957);
+emit_16(1024);
+emit_16(958);
+emit_16(1025);
+emit_16(959);
+emit_16(1025);
+emit_16(958);
+emit_16(1025);
+emit_16(959);
+emit_16(1026);
+emit_16(960);
+emit_16(1026);
+emit_16(959);
+emit_16(1026);
+emit_16(960);
+emit_16(1027);
+emit_16(961);
+emit_16(1027);
+emit_16(960);
+emit_16(1027);
+emit_16(961);
+emit_16(1028);
+emit_16(962);
+emit_16(1028);
+emit_16(961);
+emit_16(1028);
+emit_16(962);
+emit_16(1029);
+emit_16(963);
+emit_16(1029);
+emit_16(962);
+emit_16(1029);
+emit_16(963);
+emit_16(1030);
+emit_16(964);
+emit_16(1030);
+emit_16(963);
+emit_16(1030);
+emit_16(964);
+emit_16(1031);
+emit_16(965);
+emit_16(1031);
+emit_16(964);
+emit_16(1031);
+emit_16(965);
+emit_16(1032);
+emit_16(966);
+emit_16(1032);
+emit_16(965);
+emit_16(1032);
+emit_16(966);
+emit_16(1033);
+emit_16(967);
+emit_16(1033);
+emit_16(966);
+emit_16(1033);
+emit_16(967);
+emit_16(1034);
+emit_16(968);
+emit_16(1034);
+emit_16(967);
+emit_16(1034);
+emit_16(968);
+emit_16(1035);
+emit_16(969);
+emit_16(1035);
+emit_16(968);
+emit_16(1035);
+emit_16(969);
+emit_16(1036);
+emit_16(970);
+emit_16(1036);
+emit_16(969);
+emit_16(1036);
+emit_16(970);
+emit_16(1037);
+emit_16(971);
+emit_16(1037);
+emit_16(970);
+emit_16(1037);
+emit_16(971);
+emit_16(1038);
+emit_16(972);
+emit_16(1038);
+emit_16(971);
+emit_16(1038);
+emit_16(972);
+emit_16(1039);
+emit_16(973);
+emit_16(1039);
+emit_16(972);
+emit_16(1039);
+emit_16(973);
+emit_16(1040);
+emit_16(974);
+emit_16(1040);
+emit_16(973);
+emit_16(1040);
+emit_16(974);
+emit_16(1041);
+emit_16(975);
+emit_16(1041);
+emit_16(974);
+emit_16(1041);
+emit_16(975);
+emit_16(1042);
+emit_16(976);
+emit_16(1042);
+emit_16(975);
+emit_16(1042);
+emit_16(976);
+emit_16(1043);
+emit_16(977);
+emit_16(1043);
+emit_16(976);
+emit_16(1043);
+emit_16(977);
+emit_16(1044);
+emit_16(978);
+emit_16(1044);
+emit_16(977);
+emit_16(1044);
+emit_16(978);
+emit_16(1045);
+emit_16(979);
+emit_16(1045);
+emit_16(978);
+emit_16(1045);
+emit_16(979);
+emit_16(1046);
+emit_16(980);
+emit_16(1046);
+emit_16(979);
+emit_16(1046);
+emit_16(980);
+emit_16(1047);
+emit_16(981);
+emit_16(1047);
+emit_16(980);
+emit_16(1047);
+emit_16(981);
+emit_16(1048);
+emit_16(982);
+emit_16(1048);
+emit_16(981);
+emit_16(1048);
+emit_16(982);
+emit_16(1049);
+emit_16(983);
+emit_16(1049);
+emit_16(982);
+emit_16(1049);
+emit_16(983);
+emit_16(1050);
+emit_16(984);
+emit_16(1050);
+emit_16(983);
+emit_16(1050);
+emit_16(984);
+emit_16(1051);
+emit_16(985);
+emit_16(1051);
+emit_16(984);
+emit_16(1051);
+emit_16(985);
+emit_16(1052);
+emit_16(986);
+emit_16(1052);
+emit_16(985);
+emit_16(1052);
+emit_16(986);
+emit_16(1053);
+emit_16(987);
+emit_16(1053);
+emit_16(986);
+emit_16(1053);
+emit_16(987);
+emit_16(1054);
+emit_16(988);
+emit_16(1054);
+emit_16(987);
+emit_16(1054);
+emit_16(988);
+emit_16(1055);
+emit_16(989);
+emit_16(1055);
+emit_16(988);
+emit_16(1056);
+emit_16(990);
+emit_16(1057);
+emit_16(991);
+emit_16(1057);
+emit_16(990);
+emit_16(1057);
+emit_16(991);
+emit_16(1058);
+emit_16(992);
+emit_16(1058);
+emit_16(991);
+emit_16(1058);
+emit_16(992);
+emit_16(1059);
+emit_16(993);
+emit_16(1059);
+emit_16(992);
+emit_16(1059);
+emit_16(993);
+emit_16(1060);
+emit_16(994);
+emit_16(1060);
+emit_16(993);
+emit_16(1060);
+emit_16(994);
+emit_16(1061);
+emit_16(995);
+emit_16(1061);
+emit_16(994);
+emit_16(1061);
+emit_16(995);
+emit_16(1062);
+emit_16(996);
+emit_16(1062);
+emit_16(995);
+emit_16(1062);
+emit_16(996);
+emit_16(1063);
+emit_16(997);
+emit_16(1063);
+emit_16(996);
+emit_16(1063);
+emit_16(997);
+emit_16(1064);
+emit_16(998);
+emit_16(1064);
+emit_16(997);
+emit_16(1064);
+emit_16(998);
+emit_16(1065);
+emit_16(999);
+emit_16(1065);
+emit_16(998);
+emit_16(1065);
+emit_16(999);
+emit_16(1066);
+emit_16(1000);
+emit_16(1066);
+emit_16(999);
+emit_16(1066);
+emit_16(1000);
+emit_16(1067);
+emit_16(1001);
+emit_16(1067);
+emit_16(1000);
+emit_16(1067);
+emit_16(1001);
+emit_16(1068);
+emit_16(1002);
+emit_16(1068);
+emit_16(1001);
+emit_16(1068);
+emit_16(1002);
+emit_16(1069);
+emit_16(1003);
+emit_16(1069);
+emit_16(1002);
+emit_16(1069);
+emit_16(1003);
+emit_16(1070);
+emit_16(1004);
+emit_16(1070);
+emit_16(1003);
+emit_16(1070);
+emit_16(1004);
+emit_16(1071);
+emit_16(1005);
+emit_16(1071);
+emit_16(1004);
+emit_16(1071);
+emit_16(1005);
+emit_16(1072);
+emit_16(1006);
+emit_16(1072);
+emit_16(1005);
+emit_16(1072);
+emit_16(1006);
+emit_16(1073);
+emit_16(1007);
+emit_16(1073);
+emit_16(1006);
+emit_16(1073);
+emit_16(1007);
+emit_16(1074);
+emit_16(1008);
+emit_16(1074);
+emit_16(1007);
+emit_16(1074);
+emit_16(1008);
+emit_16(1075);
+emit_16(1009);
+emit_16(1075);
+emit_16(1008);
+emit_16(1075);
+emit_16(1009);
+emit_16(1076);
+emit_16(1010);
+emit_16(1076);
+emit_16(1009);
+emit_16(1076);
+emit_16(1010);
+emit_16(1077);
+emit_16(1011);
+emit_16(1077);
+emit_16(1010);
+emit_16(1077);
+emit_16(1011);
+emit_16(1078);
+emit_16(1012);
+emit_16(1078);
+emit_16(1011);
+emit_16(1078);
+emit_16(1012);
+emit_16(1079);
+emit_16(1013);
+emit_16(1079);
+emit_16(1012);
+emit_16(1079);
+emit_16(1013);
+emit_16(1080);
+emit_16(1014);
+emit_16(1080);
+emit_16(1013);
+emit_16(1080);
+emit_16(1014);
+emit_16(1081);
+emit_16(1015);
+emit_16(1081);
+emit_16(1014);
+emit_16(1081);
+emit_16(1015);
+emit_16(1082);
+emit_16(1016);
+emit_16(1082);
+emit_16(1015);
+emit_16(1082);
+emit_16(1016);
+emit_16(1083);
+emit_16(1017);
+emit_16(1083);
+emit_16(1016);
+emit_16(1083);
+emit_16(1017);
+emit_16(1084);
+emit_16(1018);
+emit_16(1084);
+emit_16(1017);
+emit_16(1084);
+emit_16(1018);
+emit_16(1085);
+emit_16(1019);
+emit_16(1085);
+emit_16(1018);
+emit_16(1085);
+emit_16(1019);
+emit_16(1086);
+emit_16(1020);
+emit_16(1086);
+emit_16(1019);
+emit_16(1086);
+emit_16(1020);
+emit_16(1087);
+emit_16(1021);
+emit_16(1087);
+emit_16(1020);
+emit_16(1087);
+emit_16(1021);
+emit_16(1088);
+emit_16(1022);
+emit_16(1088);
+emit_16(1021);
+emit_16(1088);
+emit_16(1022);
+emit_16(1089);
+emit_16(1023);
+emit_16(1089);
+emit_16(1022);
+emit_16(1089);
+emit_16(1023);
+emit_16(1090);
+emit_16(1024);
+emit_16(1090);
+emit_16(1023);
+emit_16(1090);
+emit_16(1024);
+emit_16(1091);
+emit_16(1025);
+emit_16(1091);
+emit_16(1024);
+emit_16(1091);
+emit_16(1025);
+emit_16(1092);
+emit_16(1026);
+emit_16(1092);
+emit_16(1025);
+emit_16(1092);
+emit_16(1026);
+emit_16(1093);
+emit_16(1027);
+emit_16(1093);
+emit_16(1026);
+emit_16(1093);
+emit_16(1027);
+emit_16(1094);
+emit_16(1028);
+emit_16(1094);
+emit_16(1027);
+emit_16(1094);
+emit_16(1028);
+emit_16(1095);
+emit_16(1029);
+emit_16(1095);
+emit_16(1028);
+emit_16(1095);
+emit_16(1029);
+emit_16(1096);
+emit_16(1030);
+emit_16(1096);
+emit_16(1029);
+emit_16(1096);
+emit_16(1030);
+emit_16(1097);
+emit_16(1031);
+emit_16(1097);
+emit_16(1030);
+emit_16(1097);
+emit_16(1031);
+emit_16(1098);
+emit_16(1032);
+emit_16(1098);
+emit_16(1031);
+emit_16(1098);
+emit_16(1032);
+emit_16(1099);
+emit_16(1033);
+emit_16(1099);
+emit_16(1032);
+emit_16(1099);
+emit_16(1033);
+emit_16(1100);
+emit_16(1034);
+emit_16(1100);
+emit_16(1033);
+emit_16(1100);
+emit_16(1034);
+emit_16(1101);
+emit_16(1035);
+emit_16(1101);
+emit_16(1034);
+emit_16(1101);
+emit_16(1035);
+emit_16(1102);
+emit_16(1036);
+emit_16(1102);
+emit_16(1035);
+emit_16(1102);
+emit_16(1036);
+emit_16(1103);
+emit_16(1037);
+emit_16(1103);
+emit_16(1036);
+emit_16(1103);
+emit_16(1037);
+emit_16(1104);
+emit_16(1038);
+emit_16(1104);
+emit_16(1037);
+emit_16(1104);
+emit_16(1038);
+emit_16(1105);
+emit_16(1039);
+emit_16(1105);
+emit_16(1038);
+emit_16(1105);
+emit_16(1039);
+emit_16(1106);
+emit_16(1040);
+emit_16(1106);
+emit_16(1039);
+emit_16(1106);
+emit_16(1040);
+emit_16(1107);
+emit_16(1041);
+emit_16(1107);
+emit_16(1040);
+emit_16(1107);
+emit_16(1041);
+emit_16(1108);
+emit_16(1042);
+emit_16(1108);
+emit_16(1041);
+emit_16(1108);
+emit_16(1042);
+emit_16(1109);
+emit_16(1043);
+emit_16(1109);
+emit_16(1042);
+emit_16(1109);
+emit_16(1043);
+emit_16(1110);
+emit_16(1044);
+emit_16(1110);
+emit_16(1043);
+emit_16(1110);
+emit_16(1044);
+emit_16(1111);
+emit_16(1045);
+emit_16(1111);
+emit_16(1044);
+emit_16(1111);
+emit_16(1045);
+emit_16(1112);
+emit_16(1046);
+emit_16(1112);
+emit_16(1045);
+emit_16(1112);
+emit_16(1046);
+emit_16(1113);
+emit_16(1047);
+emit_16(1113);
+emit_16(1046);
+emit_16(1113);
+emit_16(1047);
+emit_16(1114);
+emit_16(1048);
+emit_16(1114);
+emit_16(1047);
+emit_16(1114);
+emit_16(1048);
+emit_16(1115);
+emit_16(1049);
+emit_16(1115);
+emit_16(1048);
+emit_16(1115);
+emit_16(1049);
+emit_16(1116);
+emit_16(1050);
+emit_16(1116);
+emit_16(1049);
+emit_16(1116);
+emit_16(1050);
+emit_16(1117);
+emit_16(1051);
+emit_16(1117);
+emit_16(1050);
+emit_16(1117);
+emit_16(1051);
+emit_16(1118);
+emit_16(1052);
+emit_16(1118);
+emit_16(1051);
+emit_16(1118);
+emit_16(1052);
+emit_16(1119);
+emit_16(1053);
+emit_16(1119);
+emit_16(1052);
+emit_16(1119);
+emit_16(1053);
+emit_16(1120);
+emit_16(1054);
+emit_16(1120);
+emit_16(1053);
+emit_16(1120);
+emit_16(1054);
+emit_16(1121);
+emit_16(1055);
+emit_16(1121);
+emit_16(1054);
+emit_16(1122);
+emit_16(1056);
+emit_16(1123);
+emit_16(1057);
+emit_16(1123);
+emit_16(1056);
+emit_16(1123);
+emit_16(1057);
+emit_16(1124);
+emit_16(1058);
+emit_16(1124);
+emit_16(1057);
+emit_16(1124);
+emit_16(1058);
+emit_16(1125);
+emit_16(1059);
+emit_16(1125);
+emit_16(1058);
+emit_16(1125);
+emit_16(1059);
+emit_16(1126);
+emit_16(1060);
+emit_16(1126);
+emit_16(1059);
+emit_16(1126);
+emit_16(1060);
+emit_16(1127);
+emit_16(1061);
+emit_16(1127);
+emit_16(1060);
+emit_16(1127);
+emit_16(1061);
+emit_16(1128);
+emit_16(1062);
+emit_16(1128);
+emit_16(1061);
+emit_16(1128);
+emit_16(1062);
+emit_16(1129);
+emit_16(1063);
+emit_16(1129);
+emit_16(1062);
+emit_16(1129);
+emit_16(1063);
+emit_16(1130);
+emit_16(1064);
+emit_16(1130);
+emit_16(1063);
+emit_16(1130);
+emit_16(1064);
+emit_16(1131);
+emit_16(1065);
+emit_16(1131);
+emit_16(1064);
+emit_16(1131);
+emit_16(1065);
+emit_16(1132);
+emit_16(1066);
+emit_16(1132);
+emit_16(1065);
+emit_16(1132);
+emit_16(1066);
+emit_16(1133);
+emit_16(1067);
+emit_16(1133);
+emit_16(1066);
+emit_16(1133);
+emit_16(1067);
+emit_16(1134);
+emit_16(1068);
+emit_16(1134);
+emit_16(1067);
+emit_16(1134);
+emit_16(1068);
+emit_16(1135);
+emit_16(1069);
+emit_16(1135);
+emit_16(1068);
+emit_16(1135);
+emit_16(1069);
+emit_16(1136);
+emit_16(1070);
+emit_16(1136);
+emit_16(1069);
+emit_16(1136);
+emit_16(1070);
+emit_16(1137);
+emit_16(1071);
+emit_16(1137);
+emit_16(1070);
+emit_16(1137);
+emit_16(1071);
+emit_16(1138);
+emit_16(1072);
+emit_16(1138);
+emit_16(1071);
+emit_16(1138);
+emit_16(1072);
+emit_16(1139);
+emit_16(1073);
+emit_16(1139);
+emit_16(1072);
+emit_16(1139);
+emit_16(1073);
+emit_16(1140);
+emit_16(1074);
+emit_16(1140);
+emit_16(1073);
+emit_16(1140);
+emit_16(1074);
+emit_16(1141);
+emit_16(1075);
+emit_16(1141);
+emit_16(1074);
+emit_16(1141);
+emit_16(1075);
+emit_16(1142);
+emit_16(1076);
+emit_16(1142);
+emit_16(1075);
+emit_16(1142);
+emit_16(1076);
+emit_16(1143);
+emit_16(1077);
+emit_16(1143);
+emit_16(1076);
+emit_16(1143);
+emit_16(1077);
+emit_16(1144);
+emit_16(1078);
+emit_16(1144);
+emit_16(1077);
+emit_16(1144);
+emit_16(1078);
+emit_16(1145);
+emit_16(1079);
+emit_16(1145);
+emit_16(1078);
+emit_16(1145);
+emit_16(1079);
+emit_16(1146);
+emit_16(1080);
+emit_16(1146);
+emit_16(1079);
+emit_16(1146);
+emit_16(1080);
+emit_16(1147);
+emit_16(1081);
+emit_16(1147);
+emit_16(1080);
+emit_16(1147);
+emit_16(1081);
+emit_16(1148);
+emit_16(1082);
+emit_16(1148);
+emit_16(1081);
+emit_16(1148);
+emit_16(1082);
+emit_16(1149);
+emit_16(1083);
+emit_16(1149);
+emit_16(1082);
+emit_16(1149);
+emit_16(1083);
+emit_16(1150);
+emit_16(1084);
+emit_16(1150);
+emit_16(1083);
+emit_16(1150);
+emit_16(1084);
+emit_16(1151);
+emit_16(1085);
+emit_16(1151);
+emit_16(1084);
+emit_16(1151);
+emit_16(1085);
+emit_16(1152);
+emit_16(1086);
+emit_16(1152);
+emit_16(1085);
+emit_16(1152);
+emit_16(1086);
+emit_16(1153);
+emit_16(1087);
+emit_16(1153);
+emit_16(1086);
+emit_16(1153);
+emit_16(1087);
+emit_16(1154);
+emit_16(1088);
+emit_16(1154);
+emit_16(1087);
+emit_16(1154);
+emit_16(1088);
+emit_16(1155);
+emit_16(1089);
+emit_16(1155);
+emit_16(1088);
+emit_16(1155);
+emit_16(1089);
+emit_16(1156);
+emit_16(1090);
+emit_16(1156);
+emit_16(1089);
+emit_16(1156);
+emit_16(1090);
+emit_16(1157);
+emit_16(1091);
+emit_16(1157);
+emit_16(1090);
+emit_16(1157);
+emit_16(1091);
+emit_16(1158);
+emit_16(1092);
+emit_16(1158);
+emit_16(1091);
+emit_16(1158);
+emit_16(1092);
+emit_16(1159);
+emit_16(1093);
+emit_16(1159);
+emit_16(1092);
+emit_16(1159);
+emit_16(1093);
+emit_16(1160);
+emit_16(1094);
+emit_16(1160);
+emit_16(1093);
+emit_16(1160);
+emit_16(1094);
+emit_16(1161);
+emit_16(1095);
+emit_16(1161);
+emit_16(1094);
+emit_16(1161);
+emit_16(1095);
+emit_16(1162);
+emit_16(1096);
+emit_16(1162);
+emit_16(1095);
+emit_16(1162);
+emit_16(1096);
+emit_16(1163);
+emit_16(1097);
+emit_16(1163);
+emit_16(1096);
+emit_16(1163);
+emit_16(1097);
+emit_16(1164);
+emit_16(1098);
+emit_16(1164);
+emit_16(1097);
+emit_16(1164);
+emit_16(1098);
+emit_16(1165);
+emit_16(1099);
+emit_16(1165);
+emit_16(1098);
+emit_16(1165);
+emit_16(1099);
+emit_16(1166);
+emit_16(1100);
+emit_16(1166);
+emit_16(1099);
+emit_16(1166);
+emit_16(1100);
+emit_16(1167);
+emit_16(1101);
+emit_16(1167);
+emit_16(1100);
+emit_16(1167);
+emit_16(1101);
+emit_16(1168);
+emit_16(1102);
+emit_16(1168);
+emit_16(1101);
+emit_16(1168);
+emit_16(1102);
+emit_16(1169);
+emit_16(1103);
+emit_16(1169);
+emit_16(1102);
+emit_16(1169);
+emit_16(1103);
+emit_16(1170);
+emit_16(1104);
+emit_16(1170);
+emit_16(1103);
+emit_16(1170);
+emit_16(1104);
+emit_16(1171);
+emit_16(1105);
+emit_16(1171);
+emit_16(1104);
+emit_16(1171);
+emit_16(1105);
+emit_16(1172);
+emit_16(1106);
+emit_16(1172);
+emit_16(1105);
+emit_16(1172);
+emit_16(1106);
+emit_16(1173);
+emit_16(1107);
+emit_16(1173);
+emit_16(1106);
+emit_16(1173);
+emit_16(1107);
+emit_16(1174);
+emit_16(1108);
+emit_16(1174);
+emit_16(1107);
+emit_16(1174);
+emit_16(1108);
+emit_16(1175);
+emit_16(1109);
+emit_16(1175);
+emit_16(1108);
+emit_16(1175);
+emit_16(1109);
+emit_16(1176);
+emit_16(1110);
+emit_16(1176);
+emit_16(1109);
+emit_16(1176);
+emit_16(1110);
+emit_16(1177);
+emit_16(1111);
+emit_16(1177);
+emit_16(1110);
+emit_16(1177);
+emit_16(1111);
+emit_16(1178);
+emit_16(1112);
+emit_16(1178);
+emit_16(1111);
+emit_16(1178);
+emit_16(1112);
+emit_16(1179);
+emit_16(1113);
+emit_16(1179);
+emit_16(1112);
+emit_16(1179);
+emit_16(1113);
+emit_16(1180);
+emit_16(1114);
+emit_16(1180);
+emit_16(1113);
+emit_16(1180);
+emit_16(1114);
+emit_16(1181);
+emit_16(1115);
+emit_16(1181);
+emit_16(1114);
+emit_16(1181);
+emit_16(1115);
+emit_16(1182);
+emit_16(1116);
+emit_16(1182);
+emit_16(1115);
+emit_16(1182);
+emit_16(1116);
+emit_16(1183);
+emit_16(1117);
+emit_16(1183);
+emit_16(1116);
+emit_16(1183);
+emit_16(1117);
+emit_16(1184);
+emit_16(1118);
+emit_16(1184);
+emit_16(1117);
+emit_16(1184);
+emit_16(1118);
+emit_16(1185);
+emit_16(1119);
+emit_16(1185);
+emit_16(1118);
+emit_16(1185);
+emit_16(1119);
+emit_16(1186);
+emit_16(1120);
+emit_16(1186);
+emit_16(1119);
+emit_16(1186);
+emit_16(1120);
+emit_16(1187);
+emit_16(1121);
+emit_16(1187);
+emit_16(1120);
+emit_16(1188);
+emit_16(1122);
+emit_16(1189);
+emit_16(1123);
+emit_16(1189);
+emit_16(1122);
+emit_16(1189);
+emit_16(1123);
+emit_16(1190);
+emit_16(1124);
+emit_16(1190);
+emit_16(1123);
+emit_16(1190);
+emit_16(1124);
+emit_16(1191);
+emit_16(1125);
+emit_16(1191);
+emit_16(1124);
+emit_16(1191);
+emit_16(1125);
+emit_16(1192);
+emit_16(1126);
+emit_16(1192);
+emit_16(1125);
+emit_16(1192);
+emit_16(1126);
+emit_16(1193);
+emit_16(1127);
+emit_16(1193);
+emit_16(1126);
+emit_16(1193);
+emit_16(1127);
+emit_16(1194);
+emit_16(1128);
+emit_16(1194);
+emit_16(1127);
+emit_16(1194);
+emit_16(1128);
+emit_16(1195);
+emit_16(1129);
+emit_16(1195);
+emit_16(1128);
+emit_16(1195);
+emit_16(1129);
+emit_16(1196);
+emit_16(1130);
+emit_16(1196);
+emit_16(1129);
+emit_16(1196);
+emit_16(1130);
+emit_16(1197);
+emit_16(1131);
+emit_16(1197);
+emit_16(1130);
+emit_16(1197);
+emit_16(1131);
+emit_16(1198);
+emit_16(1132);
+emit_16(1198);
+emit_16(1131);
+emit_16(1198);
+emit_16(1132);
+emit_16(1199);
+emit_16(1133);
+emit_16(1199);
+emit_16(1132);
+emit_16(1199);
+emit_16(1133);
+emit_16(1200);
+emit_16(1134);
+emit_16(1200);
+emit_16(1133);
+emit_16(1200);
+emit_16(1134);
+emit_16(1201);
+emit_16(1135);
+emit_16(1201);
+emit_16(1134);
+emit_16(1201);
+emit_16(1135);
+emit_16(1202);
+emit_16(1136);
+emit_16(1202);
+emit_16(1135);
+emit_16(1202);
+emit_16(1136);
+emit_16(1203);
+emit_16(1137);
+emit_16(1203);
+emit_16(1136);
+emit_16(1203);
+emit_16(1137);
+emit_16(1204);
+emit_16(1138);
+emit_16(1204);
+emit_16(1137);
+emit_16(1204);
+emit_16(1138);
+emit_16(1205);
+emit_16(1139);
+emit_16(1205);
+emit_16(1138);
+emit_16(1205);
+emit_16(1139);
+emit_16(1206);
+emit_16(1140);
+emit_16(1206);
+emit_16(1139);
+emit_16(1206);
+emit_16(1140);
+emit_16(1207);
+emit_16(1141);
+emit_16(1207);
+emit_16(1140);
+emit_16(1207);
+emit_16(1141);
+emit_16(1208);
+emit_16(1142);
+emit_16(1208);
+emit_16(1141);
+emit_16(1208);
+emit_16(1142);
+emit_16(1209);
+emit_16(1143);
+emit_16(1209);
+emit_16(1142);
+emit_16(1209);
+emit_16(1143);
+emit_16(1210);
+emit_16(1144);
+emit_16(1210);
+emit_16(1143);
+emit_16(1210);
+emit_16(1144);
+emit_16(1211);
+emit_16(1145);
+emit_16(1211);
+emit_16(1144);
+emit_16(1211);
+emit_16(1145);
+emit_16(1212);
+emit_16(1146);
+emit_16(1212);
+emit_16(1145);
+emit_16(1212);
+emit_16(1146);
+emit_16(1213);
+emit_16(1147);
+emit_16(1213);
+emit_16(1146);
+emit_16(1213);
+emit_16(1147);
+emit_16(1214);
+emit_16(1148);
+emit_16(1214);
+emit_16(1147);
+emit_16(1214);
+emit_16(1148);
+emit_16(1215);
+emit_16(1149);
+emit_16(1215);
+emit_16(1148);
+emit_16(1215);
+emit_16(1149);
+emit_16(1216);
+emit_16(1150);
+emit_16(1216);
+emit_16(1149);
+emit_16(1216);
+emit_16(1150);
+emit_16(1217);
+emit_16(1151);
+emit_16(1217);
+emit_16(1150);
+emit_16(1217);
+emit_16(1151);
+emit_16(1218);
+emit_16(1152);
+emit_16(1218);
+emit_16(1151);
+emit_16(1218);
+emit_16(1152);
+emit_16(1219);
+emit_16(1153);
+emit_16(1219);
+emit_16(1152);
+emit_16(1219);
+emit_16(1153);
+emit_16(1220);
+emit_16(1154);
+emit_16(1220);
+emit_16(1153);
+emit_16(1220);
+emit_16(1154);
+emit_16(1221);
+emit_16(1155);
+emit_16(1221);
+emit_16(1154);
+emit_16(1221);
+emit_16(1155);
+emit_16(1222);
+emit_16(1156);
+emit_16(1222);
+emit_16(1155);
+emit_16(1222);
+emit_16(1156);
+emit_16(1223);
+emit_16(1157);
+emit_16(1223);
+emit_16(1156);
+emit_16(1223);
+emit_16(1157);
+emit_16(1224);
+emit_16(1158);
+emit_16(1224);
+emit_16(1157);
+emit_16(1224);
+emit_16(1158);
+emit_16(1225);
+emit_16(1159);
+emit_16(1225);
+emit_16(1158);
+emit_16(1225);
+emit_16(1159);
+emit_16(1226);
+emit_16(1160);
+emit_16(1226);
+emit_16(1159);
+emit_16(1226);
+emit_16(1160);
+emit_16(1227);
+emit_16(1161);
+emit_16(1227);
+emit_16(1160);
+emit_16(1227);
+emit_16(1161);
+emit_16(1228);
+emit_16(1162);
+emit_16(1228);
+emit_16(1161);
+emit_16(1228);
+emit_16(1162);
+emit_16(1229);
+emit_16(1163);
+emit_16(1229);
+emit_16(1162);
+emit_16(1229);
+emit_16(1163);
+emit_16(1230);
+emit_16(1164);
+emit_16(1230);
+emit_16(1163);
+emit_16(1230);
+emit_16(1164);
+emit_16(1231);
+emit_16(1165);
+emit_16(1231);
+emit_16(1164);
+emit_16(1231);
+emit_16(1165);
+emit_16(1232);
+emit_16(1166);
+emit_16(1232);
+emit_16(1165);
+emit_16(1232);
+emit_16(1166);
+emit_16(1233);
+emit_16(1167);
+emit_16(1233);
+emit_16(1166);
+emit_16(1233);
+emit_16(1167);
+emit_16(1234);
+emit_16(1168);
+emit_16(1234);
+emit_16(1167);
+emit_16(1234);
+emit_16(1168);
+emit_16(1235);
+emit_16(1169);
+emit_16(1235);
+emit_16(1168);
+emit_16(1235);
+emit_16(1169);
+emit_16(1236);
+emit_16(1170);
+emit_16(1236);
+emit_16(1169);
+emit_16(1236);
+emit_16(1170);
+emit_16(1237);
+emit_16(1171);
+emit_16(1237);
+emit_16(1170);
+emit_16(1237);
+emit_16(1171);
+emit_16(1238);
+emit_16(1172);
+emit_16(1238);
+emit_16(1171);
+emit_16(1238);
+emit_16(1172);
+emit_16(1239);
+emit_16(1173);
+emit_16(1239);
+emit_16(1172);
+emit_16(1239);
+emit_16(1173);
+emit_16(1240);
+emit_16(1174);
+emit_16(1240);
+emit_16(1173);
+emit_16(1240);
+emit_16(1174);
+emit_16(1241);
+emit_16(1175);
+emit_16(1241);
+emit_16(1174);
+emit_16(1241);
+emit_16(1175);
+emit_16(1242);
+emit_16(1176);
+emit_16(1242);
+emit_16(1175);
+emit_16(1242);
+emit_16(1176);
+emit_16(1243);
+emit_16(1177);
+emit_16(1243);
+emit_16(1176);
+emit_16(1243);
+emit_16(1177);
+emit_16(1244);
+emit_16(1178);
+emit_16(1244);
+emit_16(1177);
+emit_16(1244);
+emit_16(1178);
+emit_16(1245);
+emit_16(1179);
+emit_16(1245);
+emit_16(1178);
+emit_16(1245);
+emit_16(1179);
+emit_16(1246);
+emit_16(1180);
+emit_16(1246);
+emit_16(1179);
+emit_16(1246);
+emit_16(1180);
+emit_16(1247);
+emit_16(1181);
+emit_16(1247);
+emit_16(1180);
+emit_16(1247);
+emit_16(1181);
+emit_16(1248);
+emit_16(1182);
+emit_16(1248);
+emit_16(1181);
+emit_16(1248);
+emit_16(1182);
+emit_16(1249);
+emit_16(1183);
+emit_16(1249);
+emit_16(1182);
+emit_16(1249);
+emit_16(1183);
+emit_16(1250);
+emit_16(1184);
+emit_16(1250);
+emit_16(1183);
+emit_16(1250);
+emit_16(1184);
+emit_16(1251);
+emit_16(1185);
+emit_16(1251);
+emit_16(1184);
+emit_16(1251);
+emit_16(1185);
+emit_16(1252);
+emit_16(1186);
+emit_16(1252);
+emit_16(1185);
+emit_16(1252);
+emit_16(1186);
+emit_16(1253);
+emit_16(1187);
+emit_16(1253);
+emit_16(1186);
+emit_16(1254);
+emit_16(1188);
+emit_16(1255);
+emit_16(1189);
+emit_16(1255);
+emit_16(1188);
+emit_16(1255);
+emit_16(1189);
+emit_16(1256);
+emit_16(1190);
+emit_16(1256);
+emit_16(1189);
+emit_16(1256);
+emit_16(1190);
+emit_16(1257);
+emit_16(1191);
+emit_16(1257);
+emit_16(1190);
+emit_16(1257);
+emit_16(1191);
+emit_16(1258);
+emit_16(1192);
+emit_16(1258);
+emit_16(1191);
+emit_16(1258);
+emit_16(1192);
+emit_16(1259);
+emit_16(1193);
+emit_16(1259);
+emit_16(1192);
+emit_16(1259);
+emit_16(1193);
+emit_16(1260);
+emit_16(1194);
+emit_16(1260);
+emit_16(1193);
+emit_16(1260);
+emit_16(1194);
+emit_16(1261);
+emit_16(1195);
+emit_16(1261);
+emit_16(1194);
+emit_16(1261);
+emit_16(1195);
+emit_16(1262);
+emit_16(1196);
+emit_16(1262);
+emit_16(1195);
+emit_16(1262);
+emit_16(1196);
+emit_16(1263);
+emit_16(1197);
+emit_16(1263);
+emit_16(1196);
+emit_16(1263);
+emit_16(1197);
+emit_16(1264);
+emit_16(1198);
+emit_16(1264);
+emit_16(1197);
+emit_16(1264);
+emit_16(1198);
+emit_16(1265);
+emit_16(1199);
+emit_16(1265);
+emit_16(1198);
+emit_16(1265);
+emit_16(1199);
+emit_16(1266);
+emit_16(1200);
+emit_16(1266);
+emit_16(1199);
+emit_16(1266);
+emit_16(1200);
+emit_16(1267);
+emit_16(1201);
+emit_16(1267);
+emit_16(1200);
+emit_16(1267);
+emit_16(1201);
+emit_16(1268);
+emit_16(1202);
+emit_16(1268);
+emit_16(1201);
+emit_16(1268);
+emit_16(1202);
+emit_16(1269);
+emit_16(1203);
+emit_16(1269);
+emit_16(1202);
+emit_16(1269);
+emit_16(1203);
+emit_16(1270);
+emit_16(1204);
+emit_16(1270);
+emit_16(1203);
+emit_16(1270);
+emit_16(1204);
+emit_16(1271);
+emit_16(1205);
+emit_16(1271);
+emit_16(1204);
+emit_16(1271);
+emit_16(1205);
+emit_16(1272);
+emit_16(1206);
+emit_16(1272);
+emit_16(1205);
+emit_16(1272);
+emit_16(1206);
+emit_16(1273);
+emit_16(1207);
+emit_16(1273);
+emit_16(1206);
+emit_16(1273);
+emit_16(1207);
+emit_16(1274);
+emit_16(1208);
+emit_16(1274);
+emit_16(1207);
+emit_16(1274);
+emit_16(1208);
+emit_16(1275);
+emit_16(1209);
+emit_16(1275);
+emit_16(1208);
+emit_16(1275);
+emit_16(1209);
+emit_16(1276);
+emit_16(1210);
+emit_16(1276);
+emit_16(1209);
+emit_16(1276);
+emit_16(1210);
+emit_16(1277);
+emit_16(1211);
+emit_16(1277);
+emit_16(1210);
+emit_16(1277);
+emit_16(1211);
+emit_16(1278);
+emit_16(1212);
+emit_16(1278);
+emit_16(1211);
+emit_16(1278);
+emit_16(1212);
+emit_16(1279);
+emit_16(1213);
+emit_16(1279);
+emit_16(1212);
+emit_16(1279);
+emit_16(1213);
+emit_16(1280);
+emit_16(1214);
+emit_16(1280);
+emit_16(1213);
+emit_16(1280);
+emit_16(1214);
+emit_16(1281);
+emit_16(1215);
+emit_16(1281);
+emit_16(1214);
+emit_16(1281);
+emit_16(1215);
+emit_16(1282);
+emit_16(1216);
+emit_16(1282);
+emit_16(1215);
+emit_16(1282);
+emit_16(1216);
+emit_16(1283);
+emit_16(1217);
+emit_16(1283);
+emit_16(1216);
+emit_16(1283);
+emit_16(1217);
+emit_16(1284);
+emit_16(1218);
+emit_16(1284);
+emit_16(1217);
+emit_16(1284);
+emit_16(1218);
+emit_16(1285);
+emit_16(1219);
+emit_16(1285);
+emit_16(1218);
+emit_16(1285);
+emit_16(1219);
+emit_16(1286);
+emit_16(1220);
+emit_16(1286);
+emit_16(1219);
+emit_16(1286);
+emit_16(1220);
+emit_16(1287);
+emit_16(1221);
+emit_16(1287);
+emit_16(1220);
+emit_16(1287);
+emit_16(1221);
+emit_16(1288);
+emit_16(1222);
+emit_16(1288);
+emit_16(1221);
+emit_16(1288);
+emit_16(1222);
+emit_16(1289);
+emit_16(1223);
+emit_16(1289);
+emit_16(1222);
+emit_16(1289);
+emit_16(1223);
+emit_16(1290);
+emit_16(1224);
+emit_16(1290);
+emit_16(1223);
+emit_16(1290);
+emit_16(1224);
+emit_16(1291);
+emit_16(1225);
+emit_16(1291);
+emit_16(1224);
+emit_16(1291);
+emit_16(1225);
+emit_16(1292);
+emit_16(1226);
+emit_16(1292);
+emit_16(1225);
+emit_16(1292);
+emit_16(1226);
+emit_16(1293);
+emit_16(1227);
+emit_16(1293);
+emit_16(1226);
+emit_16(1293);
+emit_16(1227);
+emit_16(1294);
+emit_16(1228);
+emit_16(1294);
+emit_16(1227);
+emit_16(1294);
+emit_16(1228);
+emit_16(1295);
+emit_16(1229);
+emit_16(1295);
+emit_16(1228);
+emit_16(1295);
+emit_16(1229);
+emit_16(1296);
+emit_16(1230);
+emit_16(1296);
+emit_16(1229);
+emit_16(1296);
+emit_16(1230);
+emit_16(1297);
+emit_16(1231);
+emit_16(1297);
+emit_16(1230);
+emit_16(1297);
+emit_16(1231);
+emit_16(1298);
+emit_16(1232);
+emit_16(1298);
+emit_16(1231);
+emit_16(1298);
+emit_16(1232);
+emit_16(1299);
+emit_16(1233);
+emit_16(1299);
+emit_16(1232);
+emit_16(1299);
+emit_16(1233);
+emit_16(1300);
+emit_16(1234);
+emit_16(1300);
+emit_16(1233);
+emit_16(1300);
+emit_16(1234);
+emit_16(1301);
+emit_16(1235);
+emit_16(1301);
+emit_16(1234);
+emit_16(1301);
+emit_16(1235);
+emit_16(1302);
+emit_16(1236);
+emit_16(1302);
+emit_16(1235);
+emit_16(1302);
+emit_16(1236);
+emit_16(1303);
+emit_16(1237);
+emit_16(1303);
+emit_16(1236);
+emit_16(1303);
+emit_16(1237);
+emit_16(1304);
+emit_16(1238);
+emit_16(1304);
+emit_16(1237);
+emit_16(1304);
+emit_16(1238);
+emit_16(1305);
+emit_16(1239);
+emit_16(1305);
+emit_16(1238);
+emit_16(1305);
+emit_16(1239);
+emit_16(1306);
+emit_16(1240);
+emit_16(1306);
+emit_16(1239);
+emit_16(1306);
+emit_16(1240);
+emit_16(1307);
+emit_16(1241);
+emit_16(1307);
+emit_16(1240);
+emit_16(1307);
+emit_16(1241);
+emit_16(1308);
+emit_16(1242);
+emit_16(1308);
+emit_16(1241);
+emit_16(1308);
+emit_16(1242);
+emit_16(1309);
+emit_16(1243);
+emit_16(1309);
+emit_16(1242);
+emit_16(1309);
+emit_16(1243);
+emit_16(1310);
+emit_16(1244);
+emit_16(1310);
+emit_16(1243);
+emit_16(1310);
+emit_16(1244);
+emit_16(1311);
+emit_16(1245);
+emit_16(1311);
+emit_16(1244);
+emit_16(1311);
+emit_16(1245);
+emit_16(1312);
+emit_16(1246);
+emit_16(1312);
+emit_16(1245);
+emit_16(1312);
+emit_16(1246);
+emit_16(1313);
+emit_16(1247);
+emit_16(1313);
+emit_16(1246);
+emit_16(1313);
+emit_16(1247);
+emit_16(1314);
+emit_16(1248);
+emit_16(1314);
+emit_16(1247);
+emit_16(1314);
+emit_16(1248);
+emit_16(1315);
+emit_16(1249);
+emit_16(1315);
+emit_16(1248);
+emit_16(1315);
+emit_16(1249);
+emit_16(1316);
+emit_16(1250);
+emit_16(1316);
+emit_16(1249);
+emit_16(1316);
+emit_16(1250);
+emit_16(1317);
+emit_16(1251);
+emit_16(1317);
+emit_16(1250);
+emit_16(1317);
+emit_16(1251);
+emit_16(1318);
+emit_16(1252);
+emit_16(1318);
+emit_16(1251);
+emit_16(1318);
+emit_16(1252);
+emit_16(1319);
+emit_16(1253);
+emit_16(1319);
+emit_16(1252);
+emit_16(1320);
+emit_16(1254);
+emit_16(1321);
+emit_16(1255);
+emit_16(1321);
+emit_16(1254);
+emit_16(1321);
+emit_16(1255);
+emit_16(1322);
+emit_16(1256);
+emit_16(1322);
+emit_16(1255);
+emit_16(1322);
+emit_16(1256);
+emit_16(1323);
+emit_16(1257);
+emit_16(1323);
+emit_16(1256);
+emit_16(1323);
+emit_16(1257);
+emit_16(1324);
+emit_16(1258);
+emit_16(1324);
+emit_16(1257);
+emit_16(1324);
+emit_16(1258);
+emit_16(1325);
+emit_16(1259);
+emit_16(1325);
+emit_16(1258);
+emit_16(1325);
+emit_16(1259);
+emit_16(1326);
+emit_16(1260);
+emit_16(1326);
+emit_16(1259);
+emit_16(1326);
+emit_16(1260);
+emit_16(1327);
+emit_16(1261);
+emit_16(1327);
+emit_16(1260);
+emit_16(1327);
+emit_16(1261);
+emit_16(1328);
+emit_16(1262);
+emit_16(1328);
+emit_16(1261);
+emit_16(1328);
+emit_16(1262);
+emit_16(1329);
+emit_16(1263);
+emit_16(1329);
+emit_16(1262);
+emit_16(1329);
+emit_16(1263);
+emit_16(1330);
+emit_16(1264);
+emit_16(1330);
+emit_16(1263);
+emit_16(1330);
+emit_16(1264);
+emit_16(1331);
+emit_16(1265);
+emit_16(1331);
+emit_16(1264);
+emit_16(1331);
+emit_16(1265);
+emit_16(1332);
+emit_16(1266);
+emit_16(1332);
+emit_16(1265);
+emit_16(1332);
+emit_16(1266);
+emit_16(1333);
+emit_16(1267);
+emit_16(1333);
+emit_16(1266);
+emit_16(1333);
+emit_16(1267);
+emit_16(1334);
+emit_16(1268);
+emit_16(1334);
+emit_16(1267);
+emit_16(1334);
+emit_16(1268);
+emit_16(1335);
+emit_16(1269);
+emit_16(1335);
+emit_16(1268);
+emit_16(1335);
+emit_16(1269);
+emit_16(1336);
+emit_16(1270);
+emit_16(1336);
+emit_16(1269);
+emit_16(1336);
+emit_16(1270);
+emit_16(1337);
+emit_16(1271);
+emit_16(1337);
+emit_16(1270);
+emit_16(1337);
+emit_16(1271);
+emit_16(1338);
+emit_16(1272);
+emit_16(1338);
+emit_16(1271);
+emit_16(1338);
+emit_16(1272);
+emit_16(1339);
+emit_16(1273);
+emit_16(1339);
+emit_16(1272);
+emit_16(1339);
+emit_16(1273);
+emit_16(1340);
+emit_16(1274);
+emit_16(1340);
+emit_16(1273);
+emit_16(1340);
+emit_16(1274);
+emit_16(1341);
+emit_16(1275);
+emit_16(1341);
+emit_16(1274);
+emit_16(1341);
+emit_16(1275);
+emit_16(1342);
+emit_16(1276);
+emit_16(1342);
+emit_16(1275);
+emit_16(1342);
+emit_16(1276);
+emit_16(1343);
+emit_16(1277);
+emit_16(1343);
+emit_16(1276);
+emit_16(1343);
+emit_16(1277);
+emit_16(1344);
+emit_16(1278);
+emit_16(1344);
+emit_16(1277);
+emit_16(1344);
+emit_16(1278);
+emit_16(1345);
+emit_16(1279);
+emit_16(1345);
+emit_16(1278);
+emit_16(1345);
+emit_16(1279);
+emit_16(1346);
+emit_16(1280);
+emit_16(1346);
+emit_16(1279);
+emit_16(1346);
+emit_16(1280);
+emit_16(1347);
+emit_16(1281);
+emit_16(1347);
+emit_16(1280);
+emit_16(1347);
+emit_16(1281);
+emit_16(1348);
+emit_16(1282);
+emit_16(1348);
+emit_16(1281);
+emit_16(1348);
+emit_16(1282);
+emit_16(1349);
+emit_16(1283);
+emit_16(1349);
+emit_16(1282);
+emit_16(1349);
+emit_16(1283);
+emit_16(1350);
+emit_16(1284);
+emit_16(1350);
+emit_16(1283);
+emit_16(1350);
+emit_16(1284);
+emit_16(1351);
+emit_16(1285);
+emit_16(1351);
+emit_16(1284);
+emit_16(1351);
+emit_16(1285);
+emit_16(1352);
+emit_16(1286);
+emit_16(1352);
+emit_16(1285);
+emit_16(1352);
+emit_16(1286);
+emit_16(1353);
+emit_16(1287);
+emit_16(1353);
+emit_16(1286);
+emit_16(1353);
+emit_16(1287);
+emit_16(1354);
+emit_16(1288);
+emit_16(1354);
+emit_16(1287);
+emit_16(1354);
+emit_16(1288);
+emit_16(1355);
+emit_16(1289);
+emit_16(1355);
+emit_16(1288);
+emit_16(1355);
+emit_16(1289);
+emit_16(1356);
+emit_16(1290);
+emit_16(1356);
+emit_16(1289);
+emit_16(1356);
+emit_16(1290);
+emit_16(1357);
+emit_16(1291);
+emit_16(1357);
+emit_16(1290);
+emit_16(1357);
+emit_16(1291);
+emit_16(1358);
+emit_16(1292);
+emit_16(1358);
+emit_16(1291);
+emit_16(1358);
+emit_16(1292);
+emit_16(1359);
+emit_16(1293);
+emit_16(1359);
+emit_16(1292);
+emit_16(1359);
+emit_16(1293);
+emit_16(1360);
+emit_16(1294);
+emit_16(1360);
+emit_16(1293);
+emit_16(1360);
+emit_16(1294);
+emit_16(1361);
+emit_16(1295);
+emit_16(1361);
+emit_16(1294);
+emit_16(1361);
+emit_16(1295);
+emit_16(1362);
+emit_16(1296);
+emit_16(1362);
+emit_16(1295);
+emit_16(1362);
+emit_16(1296);
+emit_16(1363);
+emit_16(1297);
+emit_16(1363);
+emit_16(1296);
+emit_16(1363);
+emit_16(1297);
+emit_16(1364);
+emit_16(1298);
+emit_16(1364);
+emit_16(1297);
+emit_16(1364);
+emit_16(1298);
+emit_16(1365);
+emit_16(1299);
+emit_16(1365);
+emit_16(1298);
+emit_16(1365);
+emit_16(1299);
+emit_16(1366);
+emit_16(1300);
+emit_16(1366);
+emit_16(1299);
+emit_16(1366);
+emit_16(1300);
+emit_16(1367);
+emit_16(1301);
+emit_16(1367);
+emit_16(1300);
+emit_16(1367);
+emit_16(1301);
+emit_16(1368);
+emit_16(1302);
+emit_16(1368);
+emit_16(1301);
+emit_16(1368);
+emit_16(1302);
+emit_16(1369);
+emit_16(1303);
+emit_16(1369);
+emit_16(1302);
+emit_16(1369);
+emit_16(1303);
+emit_16(1370);
+emit_16(1304);
+emit_16(1370);
+emit_16(1303);
+emit_16(1370);
+emit_16(1304);
+emit_16(1371);
+emit_16(1305);
+emit_16(1371);
+emit_16(1304);
+emit_16(1371);
+emit_16(1305);
+emit_16(1372);
+emit_16(1306);
+emit_16(1372);
+emit_16(1305);
+emit_16(1372);
+emit_16(1306);
+emit_16(1373);
+emit_16(1307);
+emit_16(1373);
+emit_16(1306);
+emit_16(1373);
+emit_16(1307);
+emit_16(1374);
+emit_16(1308);
+emit_16(1374);
+emit_16(1307);
+emit_16(1374);
+emit_16(1308);
+emit_16(1375);
+emit_16(1309);
+emit_16(1375);
+emit_16(1308);
+emit_16(1375);
+emit_16(1309);
+emit_16(1376);
+emit_16(1310);
+emit_16(1376);
+emit_16(1309);
+emit_16(1376);
+emit_16(1310);
+emit_16(1377);
+emit_16(1311);
+emit_16(1377);
+emit_16(1310);
+emit_16(1377);
+emit_16(1311);
+emit_16(1378);
+emit_16(1312);
+emit_16(1378);
+emit_16(1311);
+emit_16(1378);
+emit_16(1312);
+emit_16(1379);
+emit_16(1313);
+emit_16(1379);
+emit_16(1312);
+emit_16(1379);
+emit_16(1313);
+emit_16(1380);
+emit_16(1314);
+emit_16(1380);
+emit_16(1313);
+emit_16(1380);
+emit_16(1314);
+emit_16(1381);
+emit_16(1315);
+emit_16(1381);
+emit_16(1314);
+emit_16(1381);
+emit_16(1315);
+emit_16(1382);
+emit_16(1316);
+emit_16(1382);
+emit_16(1315);
+emit_16(1382);
+emit_16(1316);
+emit_16(1383);
+emit_16(1317);
+emit_16(1383);
+emit_16(1316);
+emit_16(1383);
+emit_16(1317);
+emit_16(1384);
+emit_16(1318);
+emit_16(1384);
+emit_16(1317);
+emit_16(1384);
+emit_16(1318);
+emit_16(1385);
+emit_16(1319);
+emit_16(1385);
+emit_16(1318);
+emit_16(1386);
+emit_16(1320);
+emit_16(1387);
+emit_16(1321);
+emit_16(1387);
+emit_16(1320);
+emit_16(1387);
+emit_16(1321);
+emit_16(1388);
+emit_16(1322);
+emit_16(1388);
+emit_16(1321);
+emit_16(1388);
+emit_16(1322);
+emit_16(1389);
+emit_16(1323);
+emit_16(1389);
+emit_16(1322);
+emit_16(1389);
+emit_16(1323);
+emit_16(1390);
+emit_16(1324);
+emit_16(1390);
+emit_16(1323);
+emit_16(1390);
+emit_16(1324);
+emit_16(1391);
+emit_16(1325);
+emit_16(1391);
+emit_16(1324);
+emit_16(1391);
+emit_16(1325);
+emit_16(1392);
+emit_16(1326);
+emit_16(1392);
+emit_16(1325);
+emit_16(1392);
+emit_16(1326);
+emit_16(1393);
+emit_16(1327);
+emit_16(1393);
+emit_16(1326);
+emit_16(1393);
+emit_16(1327);
+emit_16(1394);
+emit_16(1328);
+emit_16(1394);
+emit_16(1327);
+emit_16(1394);
+emit_16(1328);
+emit_16(1395);
+emit_16(1329);
+emit_16(1395);
+emit_16(1328);
+emit_16(1395);
+emit_16(1329);
+emit_16(1396);
+emit_16(1330);
+emit_16(1396);
+emit_16(1329);
+emit_16(1396);
+emit_16(1330);
+emit_16(1397);
+emit_16(1331);
+emit_16(1397);
+emit_16(1330);
+emit_16(1397);
+emit_16(1331);
+emit_16(1398);
+emit_16(1332);
+emit_16(1398);
+emit_16(1331);
+emit_16(1398);
+emit_16(1332);
+emit_16(1399);
+emit_16(1333);
+emit_16(1399);
+emit_16(1332);
+emit_16(1399);
+emit_16(1333);
+emit_16(1400);
+emit_16(1334);
+emit_16(1400);
+emit_16(1333);
+emit_16(1400);
+emit_16(1334);
+emit_16(1401);
+emit_16(1335);
+emit_16(1401);
+emit_16(1334);
+emit_16(1401);
+emit_16(1335);
+emit_16(1402);
+emit_16(1336);
+emit_16(1402);
+emit_16(1335);
+emit_16(1402);
+emit_16(1336);
+emit_16(1403);
+emit_16(1337);
+emit_16(1403);
+emit_16(1336);
+emit_16(1403);
+emit_16(1337);
+emit_16(1404);
+emit_16(1338);
+emit_16(1404);
+emit_16(1337);
+emit_16(1404);
+emit_16(1338);
+emit_16(1405);
+emit_16(1339);
+emit_16(1405);
+emit_16(1338);
+emit_16(1405);
+emit_16(1339);
+emit_16(1406);
+emit_16(1340);
+emit_16(1406);
+emit_16(1339);
+emit_16(1406);
+emit_16(1340);
+emit_16(1407);
+emit_16(1341);
+emit_16(1407);
+emit_16(1340);
+emit_16(1407);
+emit_16(1341);
+emit_16(1408);
+emit_16(1342);
+emit_16(1408);
+emit_16(1341);
+emit_16(1408);
+emit_16(1342);
+emit_16(1409);
+emit_16(1343);
+emit_16(1409);
+emit_16(1342);
+emit_16(1409);
+emit_16(1343);
+emit_16(1410);
+emit_16(1344);
+emit_16(1410);
+emit_16(1343);
+emit_16(1410);
+emit_16(1344);
+emit_16(1411);
+emit_16(1345);
+emit_16(1411);
+emit_16(1344);
+emit_16(1411);
+emit_16(1345);
+emit_16(1412);
+emit_16(1346);
+emit_16(1412);
+emit_16(1345);
+emit_16(1412);
+emit_16(1346);
+emit_16(1413);
+emit_16(1347);
+emit_16(1413);
+emit_16(1346);
+emit_16(1413);
+emit_16(1347);
+emit_16(1414);
+emit_16(1348);
+emit_16(1414);
+emit_16(1347);
+emit_16(1414);
+emit_16(1348);
+emit_16(1415);
+emit_16(1349);
+emit_16(1415);
+emit_16(1348);
+emit_16(1415);
+emit_16(1349);
+emit_16(1416);
+emit_16(1350);
+emit_16(1416);
+emit_16(1349);
+emit_16(1416);
+emit_16(1350);
+emit_16(1417);
+emit_16(1351);
+emit_16(1417);
+emit_16(1350);
+emit_16(1417);
+emit_16(1351);
+emit_16(1418);
+emit_16(1352);
+emit_16(1418);
+emit_16(1351);
+emit_16(1418);
+emit_16(1352);
+emit_16(1419);
+emit_16(1353);
+emit_16(1419);
+emit_16(1352);
+emit_16(1419);
+emit_16(1353);
+emit_16(1420);
+emit_16(1354);
+emit_16(1420);
+emit_16(1353);
+emit_16(1420);
+emit_16(1354);
+emit_16(1421);
+emit_16(1355);
+emit_16(1421);
+emit_16(1354);
+emit_16(1421);
+emit_16(1355);
+emit_16(1422);
+emit_16(1356);
+emit_16(1422);
+emit_16(1355);
+emit_16(1422);
+emit_16(1356);
+emit_16(1423);
+emit_16(1357);
+emit_16(1423);
+emit_16(1356);
+emit_16(1423);
+emit_16(1357);
+emit_16(1424);
+emit_16(1358);
+emit_16(1424);
+emit_16(1357);
+emit_16(1424);
+emit_16(1358);
+emit_16(1425);
+emit_16(1359);
+emit_16(1425);
+emit_16(1358);
+emit_16(1425);
+emit_16(1359);
+emit_16(1426);
+emit_16(1360);
+emit_16(1426);
+emit_16(1359);
+emit_16(1426);
+emit_16(1360);
+emit_16(1427);
+emit_16(1361);
+emit_16(1427);
+emit_16(1360);
+emit_16(1427);
+emit_16(1361);
+emit_16(1428);
+emit_16(1362);
+emit_16(1428);
+emit_16(1361);
+emit_16(1428);
+emit_16(1362);
+emit_16(1429);
+emit_16(1363);
+emit_16(1429);
+emit_16(1362);
+emit_16(1429);
+emit_16(1363);
+emit_16(1430);
+emit_16(1364);
+emit_16(1430);
+emit_16(1363);
+emit_16(1430);
+emit_16(1364);
+emit_16(1431);
+emit_16(1365);
+emit_16(1431);
+emit_16(1364);
+emit_16(1431);
+emit_16(1365);
+emit_16(1432);
+emit_16(1366);
+emit_16(1432);
+emit_16(1365);
+emit_16(1432);
+emit_16(1366);
+emit_16(1433);
+emit_16(1367);
+emit_16(1433);
+emit_16(1366);
+emit_16(1433);
+emit_16(1367);
+emit_16(1434);
+emit_16(1368);
+emit_16(1434);
+emit_16(1367);
+emit_16(1434);
+emit_16(1368);
+emit_16(1435);
+emit_16(1369);
+emit_16(1435);
+emit_16(1368);
+emit_16(1435);
+emit_16(1369);
+emit_16(1436);
+emit_16(1370);
+emit_16(1436);
+emit_16(1369);
+emit_16(1436);
+emit_16(1370);
+emit_16(1437);
+emit_16(1371);
+emit_16(1437);
+emit_16(1370);
+emit_16(1437);
+emit_16(1371);
+emit_16(1438);
+emit_16(1372);
+emit_16(1438);
+emit_16(1371);
+emit_16(1438);
+emit_16(1372);
+emit_16(1439);
+emit_16(1373);
+emit_16(1439);
+emit_16(1372);
+emit_16(1439);
+emit_16(1373);
+emit_16(1440);
+emit_16(1374);
+emit_16(1440);
+emit_16(1373);
+emit_16(1440);
+emit_16(1374);
+emit_16(1441);
+emit_16(1375);
+emit_16(1441);
+emit_16(1374);
+emit_16(1441);
+emit_16(1375);
+emit_16(1442);
+emit_16(1376);
+emit_16(1442);
+emit_16(1375);
+emit_16(1442);
+emit_16(1376);
+emit_16(1443);
+emit_16(1377);
+emit_16(1443);
+emit_16(1376);
+emit_16(1443);
+emit_16(1377);
+emit_16(1444);
+emit_16(1378);
+emit_16(1444);
+emit_16(1377);
+emit_16(1444);
+emit_16(1378);
+emit_16(1445);
+emit_16(1379);
+emit_16(1445);
+emit_16(1378);
+emit_16(1445);
+emit_16(1379);
+emit_16(1446);
+emit_16(1380);
+emit_16(1446);
+emit_16(1379);
+emit_16(1446);
+emit_16(1380);
+emit_16(1447);
+emit_16(1381);
+emit_16(1447);
+emit_16(1380);
+emit_16(1447);
+emit_16(1381);
+emit_16(1448);
+emit_16(1382);
+emit_16(1448);
+emit_16(1381);
+emit_16(1448);
+emit_16(1382);
+emit_16(1449);
+emit_16(1383);
+emit_16(1449);
+emit_16(1382);
+emit_16(1449);
+emit_16(1383);
+emit_16(1450);
+emit_16(1384);
+emit_16(1450);
+emit_16(1383);
+emit_16(1450);
+emit_16(1384);
+emit_16(1451);
+emit_16(1385);
+emit_16(1451);
+emit_16(1384);
+emit_16(1452);
+emit_16(1386);
+emit_16(1453);
+emit_16(1387);
+emit_16(1453);
+emit_16(1386);
+emit_16(1453);
+emit_16(1387);
+emit_16(1454);
+emit_16(1388);
+emit_16(1454);
+emit_16(1387);
+emit_16(1454);
+emit_16(1388);
+emit_16(1455);
+emit_16(1389);
+emit_16(1455);
+emit_16(1388);
+emit_16(1455);
+emit_16(1389);
+emit_16(1456);
+emit_16(1390);
+emit_16(1456);
+emit_16(1389);
+emit_16(1456);
+emit_16(1390);
+emit_16(1457);
+emit_16(1391);
+emit_16(1457);
+emit_16(1390);
+emit_16(1457);
+emit_16(1391);
+emit_16(1458);
+emit_16(1392);
+emit_16(1458);
+emit_16(1391);
+emit_16(1458);
+emit_16(1392);
+emit_16(1459);
+emit_16(1393);
+emit_16(1459);
+emit_16(1392);
+emit_16(1459);
+emit_16(1393);
+emit_16(1460);
+emit_16(1394);
+emit_16(1460);
+emit_16(1393);
+emit_16(1460);
+emit_16(1394);
+emit_16(1461);
+emit_16(1395);
+emit_16(1461);
+emit_16(1394);
+emit_16(1461);
+emit_16(1395);
+emit_16(1462);
+emit_16(1396);
+emit_16(1462);
+emit_16(1395);
+emit_16(1462);
+emit_16(1396);
+emit_16(1463);
+emit_16(1397);
+emit_16(1463);
+emit_16(1396);
+emit_16(1463);
+emit_16(1397);
+emit_16(1464);
+emit_16(1398);
+emit_16(1464);
+emit_16(1397);
+emit_16(1464);
+emit_16(1398);
+emit_16(1465);
+emit_16(1399);
+emit_16(1465);
+emit_16(1398);
+emit_16(1465);
+emit_16(1399);
+emit_16(1466);
+emit_16(1400);
+emit_16(1466);
+emit_16(1399);
+emit_16(1466);
+emit_16(1400);
+emit_16(1467);
+emit_16(1401);
+emit_16(1467);
+emit_16(1400);
+emit_16(1467);
+emit_16(1401);
+emit_16(1468);
+emit_16(1402);
+emit_16(1468);
+emit_16(1401);
+emit_16(1468);
+emit_16(1402);
+emit_16(1469);
+emit_16(1403);
+emit_16(1469);
+emit_16(1402);
+emit_16(1469);
+emit_16(1403);
+emit_16(1470);
+emit_16(1404);
+emit_16(1470);
+emit_16(1403);
+emit_16(1470);
+emit_16(1404);
+emit_16(1471);
+emit_16(1405);
+emit_16(1471);
+emit_16(1404);
+emit_16(1471);
+emit_16(1405);
+emit_16(1472);
+emit_16(1406);
+emit_16(1472);
+emit_16(1405);
+emit_16(1472);
+emit_16(1406);
+emit_16(1473);
+emit_16(1407);
+emit_16(1473);
+emit_16(1406);
+emit_16(1473);
+emit_16(1407);
+emit_16(1474);
+emit_16(1408);
+emit_16(1474);
+emit_16(1407);
+emit_16(1474);
+emit_16(1408);
+emit_16(1475);
+emit_16(1409);
+emit_16(1475);
+emit_16(1408);
+emit_16(1475);
+emit_16(1409);
+emit_16(1476);
+emit_16(1410);
+emit_16(1476);
+emit_16(1409);
+emit_16(1476);
+emit_16(1410);
+emit_16(1477);
+emit_16(1411);
+emit_16(1477);
+emit_16(1410);
+emit_16(1477);
+emit_16(1411);
+emit_16(1478);
+emit_16(1412);
+emit_16(1478);
+emit_16(1411);
+emit_16(1478);
+emit_16(1412);
+emit_16(1479);
+emit_16(1413);
+emit_16(1479);
+emit_16(1412);
+emit_16(1479);
+emit_16(1413);
+emit_16(1480);
+emit_16(1414);
+emit_16(1480);
+emit_16(1413);
+emit_16(1480);
+emit_16(1414);
+emit_16(1481);
+emit_16(1415);
+emit_16(1481);
+emit_16(1414);
+emit_16(1481);
+emit_16(1415);
+emit_16(1482);
+emit_16(1416);
+emit_16(1482);
+emit_16(1415);
+emit_16(1482);
+emit_16(1416);
+emit_16(1483);
+emit_16(1417);
+emit_16(1483);
+emit_16(1416);
+emit_16(1483);
+emit_16(1417);
+emit_16(1484);
+emit_16(1418);
+emit_16(1484);
+emit_16(1417);
+emit_16(1484);
+emit_16(1418);
+emit_16(1485);
+emit_16(1419);
+emit_16(1485);
+emit_16(1418);
+emit_16(1485);
+emit_16(1419);
+emit_16(1486);
+emit_16(1420);
+emit_16(1486);
+emit_16(1419);
+emit_16(1486);
+emit_16(1420);
+emit_16(1487);
+emit_16(1421);
+emit_16(1487);
+emit_16(1420);
+emit_16(1487);
+emit_16(1421);
+emit_16(1488);
+emit_16(1422);
+emit_16(1488);
+emit_16(1421);
+emit_16(1488);
+emit_16(1422);
+emit_16(1489);
+emit_16(1423);
+emit_16(1489);
+emit_16(1422);
+emit_16(1489);
+emit_16(1423);
+emit_16(1490);
+emit_16(1424);
+emit_16(1490);
+emit_16(1423);
+emit_16(1490);
+emit_16(1424);
+emit_16(1491);
+emit_16(1425);
+emit_16(1491);
+emit_16(1424);
+emit_16(1491);
+emit_16(1425);
+emit_16(1492);
+emit_16(1426);
+emit_16(1492);
+emit_16(1425);
+emit_16(1492);
+emit_16(1426);
+emit_16(1493);
+emit_16(1427);
+emit_16(1493);
+emit_16(1426);
+emit_16(1493);
+emit_16(1427);
+emit_16(1494);
+emit_16(1428);
+emit_16(1494);
+emit_16(1427);
+emit_16(1494);
+emit_16(1428);
+emit_16(1495);
+emit_16(1429);
+emit_16(1495);
+emit_16(1428);
+emit_16(1495);
+emit_16(1429);
+emit_16(1496);
+emit_16(1430);
+emit_16(1496);
+emit_16(1429);
+emit_16(1496);
+emit_16(1430);
+emit_16(1497);
+emit_16(1431);
+emit_16(1497);
+emit_16(1430);
+emit_16(1497);
+emit_16(1431);
+emit_16(1498);
+emit_16(1432);
+emit_16(1498);
+emit_16(1431);
+emit_16(1498);
+emit_16(1432);
+emit_16(1499);
+emit_16(1433);
+emit_16(1499);
+emit_16(1432);
+emit_16(1499);
+emit_16(1433);
+emit_16(1500);
+emit_16(1434);
+emit_16(1500);
+emit_16(1433);
+emit_16(1500);
+emit_16(1434);
+emit_16(1501);
+emit_16(1435);
+emit_16(1501);
+emit_16(1434);
+emit_16(1501);
+emit_16(1435);
+emit_16(1502);
+emit_16(1436);
+emit_16(1502);
+emit_16(1435);
+emit_16(1502);
+emit_16(1436);
+emit_16(1503);
+emit_16(1437);
+emit_16(1503);
+emit_16(1436);
+emit_16(1503);
+emit_16(1437);
+emit_16(1504);
+emit_16(1438);
+emit_16(1504);
+emit_16(1437);
+emit_16(1504);
+emit_16(1438);
+emit_16(1505);
+emit_16(1439);
+emit_16(1505);
+emit_16(1438);
+emit_16(1505);
+emit_16(1439);
+emit_16(1506);
+emit_16(1440);
+emit_16(1506);
+emit_16(1439);
+emit_16(1506);
+emit_16(1440);
+emit_16(1507);
+emit_16(1441);
+emit_16(1507);
+emit_16(1440);
+emit_16(1507);
+emit_16(1441);
+emit_16(1508);
+emit_16(1442);
+emit_16(1508);
+emit_16(1441);
+emit_16(1508);
+emit_16(1442);
+emit_16(1509);
+emit_16(1443);
+emit_16(1509);
+emit_16(1442);
+emit_16(1509);
+emit_16(1443);
+emit_16(1510);
+emit_16(1444);
+emit_16(1510);
+emit_16(1443);
+emit_16(1510);
+emit_16(1444);
+emit_16(1511);
+emit_16(1445);
+emit_16(1511);
+emit_16(1444);
+emit_16(1511);
+emit_16(1445);
+emit_16(1512);
+emit_16(1446);
+emit_16(1512);
+emit_16(1445);
+emit_16(1512);
+emit_16(1446);
+emit_16(1513);
+emit_16(1447);
+emit_16(1513);
+emit_16(1446);
+emit_16(1513);
+emit_16(1447);
+emit_16(1514);
+emit_16(1448);
+emit_16(1514);
+emit_16(1447);
+emit_16(1514);
+emit_16(1448);
+emit_16(1515);
+emit_16(1449);
+emit_16(1515);
+emit_16(1448);
+emit_16(1515);
+emit_16(1449);
+emit_16(1516);
+emit_16(1450);
+emit_16(1516);
+emit_16(1449);
+emit_16(1516);
+emit_16(1450);
+emit_16(1517);
+emit_16(1451);
+emit_16(1517);
+emit_16(1450);
+emit_16(1518);
+emit_16(1452);
+emit_16(1519);
+emit_16(1453);
+emit_16(1519);
+emit_16(1452);
+emit_16(1519);
+emit_16(1453);
+emit_16(1520);
+emit_16(1454);
+emit_16(1520);
+emit_16(1453);
+emit_16(1520);
+emit_16(1454);
+emit_16(1521);
+emit_16(1455);
+emit_16(1521);
+emit_16(1454);
+emit_16(1521);
+emit_16(1455);
+emit_16(1522);
+emit_16(1456);
+emit_16(1522);
+emit_16(1455);
+emit_16(1522);
+emit_16(1456);
+emit_16(1523);
+emit_16(1457);
+emit_16(1523);
+emit_16(1456);
+emit_16(1523);
+emit_16(1457);
+emit_16(1524);
+emit_16(1458);
+emit_16(1524);
+emit_16(1457);
+emit_16(1524);
+emit_16(1458);
+emit_16(1525);
+emit_16(1459);
+emit_16(1525);
+emit_16(1458);
+emit_16(1525);
+emit_16(1459);
+emit_16(1526);
+emit_16(1460);
+emit_16(1526);
+emit_16(1459);
+emit_16(1526);
+emit_16(1460);
+emit_16(1527);
+emit_16(1461);
+emit_16(1527);
+emit_16(1460);
+emit_16(1527);
+emit_16(1461);
+emit_16(1528);
+emit_16(1462);
+emit_16(1528);
+emit_16(1461);
+emit_16(1528);
+emit_16(1462);
+emit_16(1529);
+emit_16(1463);
+emit_16(1529);
+emit_16(1462);
+emit_16(1529);
+emit_16(1463);
+emit_16(1530);
+emit_16(1464);
+emit_16(1530);
+emit_16(1463);
+emit_16(1530);
+emit_16(1464);
+emit_16(1531);
+emit_16(1465);
+emit_16(1531);
+emit_16(1464);
+emit_16(1531);
+emit_16(1465);
+emit_16(1532);
+emit_16(1466);
+emit_16(1532);
+emit_16(1465);
+emit_16(1532);
+emit_16(1466);
+emit_16(1533);
+emit_16(1467);
+emit_16(1533);
+emit_16(1466);
+emit_16(1533);
+emit_16(1467);
+emit_16(1534);
+emit_16(1468);
+emit_16(1534);
+emit_16(1467);
+emit_16(1534);
+emit_16(1468);
+emit_16(1535);
+emit_16(1469);
+emit_16(1535);
+emit_16(1468);
+emit_16(1535);
+emit_16(1469);
+emit_16(1536);
+emit_16(1470);
+emit_16(1536);
+emit_16(1469);
+emit_16(1536);
+emit_16(1470);
+emit_16(1537);
+emit_16(1471);
+emit_16(1537);
+emit_16(1470);
+emit_16(1537);
+emit_16(1471);
+emit_16(1538);
+emit_16(1472);
+emit_16(1538);
+emit_16(1471);
+emit_16(1538);
+emit_16(1472);
+emit_16(1539);
+emit_16(1473);
+emit_16(1539);
+emit_16(1472);
+emit_16(1539);
+emit_16(1473);
+emit_16(1540);
+emit_16(1474);
+emit_16(1540);
+emit_16(1473);
+emit_16(1540);
+emit_16(1474);
+emit_16(1541);
+emit_16(1475);
+emit_16(1541);
+emit_16(1474);
+emit_16(1541);
+emit_16(1475);
+emit_16(1542);
+emit_16(1476);
+emit_16(1542);
+emit_16(1475);
+emit_16(1542);
+emit_16(1476);
+emit_16(1543);
+emit_16(1477);
+emit_16(1543);
+emit_16(1476);
+emit_16(1543);
+emit_16(1477);
+emit_16(1544);
+emit_16(1478);
+emit_16(1544);
+emit_16(1477);
+emit_16(1544);
+emit_16(1478);
+emit_16(1545);
+emit_16(1479);
+emit_16(1545);
+emit_16(1478);
+emit_16(1545);
+emit_16(1479);
+emit_16(1546);
+emit_16(1480);
+emit_16(1546);
+emit_16(1479);
+emit_16(1546);
+emit_16(1480);
+emit_16(1547);
+emit_16(1481);
+emit_16(1547);
+emit_16(1480);
+emit_16(1547);
+emit_16(1481);
+emit_16(1548);
+emit_16(1482);
+emit_16(1548);
+emit_16(1481);
+emit_16(1548);
+emit_16(1482);
+emit_16(1549);
+emit_16(1483);
+emit_16(1549);
+emit_16(1482);
+emit_16(1549);
+emit_16(1483);
+emit_16(1550);
+emit_16(1484);
+emit_16(1550);
+emit_16(1483);
+emit_16(1550);
+emit_16(1484);
+emit_16(1551);
+emit_16(1485);
+emit_16(1551);
+emit_16(1484);
+emit_16(1551);
+emit_16(1485);
+emit_16(1552);
+emit_16(1486);
+emit_16(1552);
+emit_16(1485);
+emit_16(1552);
+emit_16(1486);
+emit_16(1553);
+emit_16(1487);
+emit_16(1553);
+emit_16(1486);
+emit_16(1553);
+emit_16(1487);
+emit_16(1554);
+emit_16(1488);
+emit_16(1554);
+emit_16(1487);
+emit_16(1554);
+emit_16(1488);
+emit_16(1555);
+emit_16(1489);
+emit_16(1555);
+emit_16(1488);
+emit_16(1555);
+emit_16(1489);
+emit_16(1556);
+emit_16(1490);
+emit_16(1556);
+emit_16(1489);
+emit_16(1556);
+emit_16(1490);
+emit_16(1557);
+emit_16(1491);
+emit_16(1557);
+emit_16(1490);
+emit_16(1557);
+emit_16(1491);
+emit_16(1558);
+emit_16(1492);
+emit_16(1558);
+emit_16(1491);
+emit_16(1558);
+emit_16(1492);
+emit_16(1559);
+emit_16(1493);
+emit_16(1559);
+emit_16(1492);
+emit_16(1559);
+emit_16(1493);
+emit_16(1560);
+emit_16(1494);
+emit_16(1560);
+emit_16(1493);
+emit_16(1560);
+emit_16(1494);
+emit_16(1561);
+emit_16(1495);
+emit_16(1561);
+emit_16(1494);
+emit_16(1561);
+emit_16(1495);
+emit_16(1562);
+emit_16(1496);
+emit_16(1562);
+emit_16(1495);
+emit_16(1562);
+emit_16(1496);
+emit_16(1563);
+emit_16(1497);
+emit_16(1563);
+emit_16(1496);
+emit_16(1563);
+emit_16(1497);
+emit_16(1564);
+emit_16(1498);
+emit_16(1564);
+emit_16(1497);
+emit_16(1564);
+emit_16(1498);
+emit_16(1565);
+emit_16(1499);
+emit_16(1565);
+emit_16(1498);
+emit_16(1565);
+emit_16(1499);
+emit_16(1566);
+emit_16(1500);
+emit_16(1566);
+emit_16(1499);
+emit_16(1566);
+emit_16(1500);
+emit_16(1567);
+emit_16(1501);
+emit_16(1567);
+emit_16(1500);
+emit_16(1567);
+emit_16(1501);
+emit_16(1568);
+emit_16(1502);
+emit_16(1568);
+emit_16(1501);
+emit_16(1568);
+emit_16(1502);
+emit_16(1569);
+emit_16(1503);
+emit_16(1569);
+emit_16(1502);
+emit_16(1569);
+emit_16(1503);
+emit_16(1570);
+emit_16(1504);
+emit_16(1570);
+emit_16(1503);
+emit_16(1570);
+emit_16(1504);
+emit_16(1571);
+emit_16(1505);
+emit_16(1571);
+emit_16(1504);
+emit_16(1571);
+emit_16(1505);
+emit_16(1572);
+emit_16(1506);
+emit_16(1572);
+emit_16(1505);
+emit_16(1572);
+emit_16(1506);
+emit_16(1573);
+emit_16(1507);
+emit_16(1573);
+emit_16(1506);
+emit_16(1573);
+emit_16(1507);
+emit_16(1574);
+emit_16(1508);
+emit_16(1574);
+emit_16(1507);
+emit_16(1574);
+emit_16(1508);
+emit_16(1575);
+emit_16(1509);
+emit_16(1575);
+emit_16(1508);
+emit_16(1575);
+emit_16(1509);
+emit_16(1576);
+emit_16(1510);
+emit_16(1576);
+emit_16(1509);
+emit_16(1576);
+emit_16(1510);
+emit_16(1577);
+emit_16(1511);
+emit_16(1577);
+emit_16(1510);
+emit_16(1577);
+emit_16(1511);
+emit_16(1578);
+emit_16(1512);
+emit_16(1578);
+emit_16(1511);
+emit_16(1578);
+emit_16(1512);
+emit_16(1579);
+emit_16(1513);
+emit_16(1579);
+emit_16(1512);
+emit_16(1579);
+emit_16(1513);
+emit_16(1580);
+emit_16(1514);
+emit_16(1580);
+emit_16(1513);
+emit_16(1580);
+emit_16(1514);
+emit_16(1581);
+emit_16(1515);
+emit_16(1581);
+emit_16(1514);
+emit_16(1581);
+emit_16(1515);
+emit_16(1582);
+emit_16(1516);
+emit_16(1582);
+emit_16(1515);
+emit_16(1582);
+emit_16(1516);
+emit_16(1583);
+emit_16(1517);
+emit_16(1583);
+emit_16(1516);
+emit_16(1584);
+emit_16(1518);
+emit_16(1585);
+emit_16(1519);
+emit_16(1585);
+emit_16(1518);
+emit_16(1585);
+emit_16(1519);
+emit_16(1586);
+emit_16(1520);
+emit_16(1586);
+emit_16(1519);
+emit_16(1586);
+emit_16(1520);
+emit_16(1587);
+emit_16(1521);
+emit_16(1587);
+emit_16(1520);
+emit_16(1587);
+emit_16(1521);
+emit_16(1588);
+emit_16(1522);
+emit_16(1588);
+emit_16(1521);
+emit_16(1588);
+emit_16(1522);
+emit_16(1589);
+emit_16(1523);
+emit_16(1589);
+emit_16(1522);
+emit_16(1589);
+emit_16(1523);
+emit_16(1590);
+emit_16(1524);
+emit_16(1590);
+emit_16(1523);
+emit_16(1590);
+emit_16(1524);
+emit_16(1591);
+emit_16(1525);
+emit_16(1591);
+emit_16(1524);
+emit_16(1591);
+emit_16(1525);
+emit_16(1592);
+emit_16(1526);
+emit_16(1592);
+emit_16(1525);
+emit_16(1592);
+emit_16(1526);
+emit_16(1593);
+emit_16(1527);
+emit_16(1593);
+emit_16(1526);
+emit_16(1593);
+emit_16(1527);
+emit_16(1594);
+emit_16(1528);
+emit_16(1594);
+emit_16(1527);
+emit_16(1594);
+emit_16(1528);
+emit_16(1595);
+emit_16(1529);
+emit_16(1595);
+emit_16(1528);
+emit_16(1595);
+emit_16(1529);
+emit_16(1596);
+emit_16(1530);
+emit_16(1596);
+emit_16(1529);
+emit_16(1596);
+emit_16(1530);
+emit_16(1597);
+emit_16(1531);
+emit_16(1597);
+emit_16(1530);
+emit_16(1597);
+emit_16(1531);
+emit_16(1598);
+emit_16(1532);
+emit_16(1598);
+emit_16(1531);
+emit_16(1598);
+emit_16(1532);
+emit_16(1599);
+emit_16(1533);
+emit_16(1599);
+emit_16(1532);
+emit_16(1599);
+emit_16(1533);
+emit_16(1600);
+emit_16(1534);
+emit_16(1600);
+emit_16(1533);
+emit_16(1600);
+emit_16(1534);
+emit_16(1601);
+emit_16(1535);
+emit_16(1601);
+emit_16(1534);
+emit_16(1601);
+emit_16(1535);
+emit_16(1602);
+emit_16(1536);
+emit_16(1602);
+emit_16(1535);
+emit_16(1602);
+emit_16(1536);
+emit_16(1603);
+emit_16(1537);
+emit_16(1603);
+emit_16(1536);
+emit_16(1603);
+emit_16(1537);
+emit_16(1604);
+emit_16(1538);
+emit_16(1604);
+emit_16(1537);
+emit_16(1604);
+emit_16(1538);
+emit_16(1605);
+emit_16(1539);
+emit_16(1605);
+emit_16(1538);
+emit_16(1605);
+emit_16(1539);
+emit_16(1606);
+emit_16(1540);
+emit_16(1606);
+emit_16(1539);
+emit_16(1606);
+emit_16(1540);
+emit_16(1607);
+emit_16(1541);
+emit_16(1607);
+emit_16(1540);
+emit_16(1607);
+emit_16(1541);
+emit_16(1608);
+emit_16(1542);
+emit_16(1608);
+emit_16(1541);
+emit_16(1608);
+emit_16(1542);
+emit_16(1609);
+emit_16(1543);
+emit_16(1609);
+emit_16(1542);
+emit_16(1609);
+emit_16(1543);
+emit_16(1610);
+emit_16(1544);
+emit_16(1610);
+emit_16(1543);
+emit_16(1610);
+emit_16(1544);
+emit_16(1611);
+emit_16(1545);
+emit_16(1611);
+emit_16(1544);
+emit_16(1611);
+emit_16(1545);
+emit_16(1612);
+emit_16(1546);
+emit_16(1612);
+emit_16(1545);
+emit_16(1612);
+emit_16(1546);
+emit_16(1613);
+emit_16(1547);
+emit_16(1613);
+emit_16(1546);
+emit_16(1613);
+emit_16(1547);
+emit_16(1614);
+emit_16(1548);
+emit_16(1614);
+emit_16(1547);
+emit_16(1614);
+emit_16(1548);
+emit_16(1615);
+emit_16(1549);
+emit_16(1615);
+emit_16(1548);
+emit_16(1615);
+emit_16(1549);
+emit_16(1616);
+emit_16(1550);
+emit_16(1616);
+emit_16(1549);
+emit_16(1616);
+emit_16(1550);
+emit_16(1617);
+emit_16(1551);
+emit_16(1617);
+emit_16(1550);
+emit_16(1617);
+emit_16(1551);
+emit_16(1618);
+emit_16(1552);
+emit_16(1618);
+emit_16(1551);
+emit_16(1618);
+emit_16(1552);
+emit_16(1619);
+emit_16(1553);
+emit_16(1619);
+emit_16(1552);
+emit_16(1619);
+emit_16(1553);
+emit_16(1620);
+emit_16(1554);
+emit_16(1620);
+emit_16(1553);
+emit_16(1620);
+emit_16(1554);
+emit_16(1621);
+emit_16(1555);
+emit_16(1621);
+emit_16(1554);
+emit_16(1621);
+emit_16(1555);
+emit_16(1622);
+emit_16(1556);
+emit_16(1622);
+emit_16(1555);
+emit_16(1622);
+emit_16(1556);
+emit_16(1623);
+emit_16(1557);
+emit_16(1623);
+emit_16(1556);
+emit_16(1623);
+emit_16(1557);
+emit_16(1624);
+emit_16(1558);
+emit_16(1624);
+emit_16(1557);
+emit_16(1624);
+emit_16(1558);
+emit_16(1625);
+emit_16(1559);
+emit_16(1625);
+emit_16(1558);
+emit_16(1625);
+emit_16(1559);
+emit_16(1626);
+emit_16(1560);
+emit_16(1626);
+emit_16(1559);
+emit_16(1626);
+emit_16(1560);
+emit_16(1627);
+emit_16(1561);
+emit_16(1627);
+emit_16(1560);
+emit_16(1627);
+emit_16(1561);
+emit_16(1628);
+emit_16(1562);
+emit_16(1628);
+emit_16(1561);
+emit_16(1628);
+emit_16(1562);
+emit_16(1629);
+emit_16(1563);
+emit_16(1629);
+emit_16(1562);
+emit_16(1629);
+emit_16(1563);
+emit_16(1630);
+emit_16(1564);
+emit_16(1630);
+emit_16(1563);
+emit_16(1630);
+emit_16(1564);
+emit_16(1631);
+emit_16(1565);
+emit_16(1631);
+emit_16(1564);
+emit_16(1631);
+emit_16(1565);
+emit_16(1632);
+emit_16(1566);
+emit_16(1632);
+emit_16(1565);
+emit_16(1632);
+emit_16(1566);
+emit_16(1633);
+emit_16(1567);
+emit_16(1633);
+emit_16(1566);
+emit_16(1633);
+emit_16(1567);
+emit_16(1634);
+emit_16(1568);
+emit_16(1634);
+emit_16(1567);
+emit_16(1634);
+emit_16(1568);
+emit_16(1635);
+emit_16(1569);
+emit_16(1635);
+emit_16(1568);
+emit_16(1635);
+emit_16(1569);
+emit_16(1636);
+emit_16(1570);
+emit_16(1636);
+emit_16(1569);
+emit_16(1636);
+emit_16(1570);
+emit_16(1637);
+emit_16(1571);
+emit_16(1637);
+emit_16(1570);
+emit_16(1637);
+emit_16(1571);
+emit_16(1638);
+emit_16(1572);
+emit_16(1638);
+emit_16(1571);
+emit_16(1638);
+emit_16(1572);
+emit_16(1639);
+emit_16(1573);
+emit_16(1639);
+emit_16(1572);
+emit_16(1639);
+emit_16(1573);
+emit_16(1640);
+emit_16(1574);
+emit_16(1640);
+emit_16(1573);
+emit_16(1640);
+emit_16(1574);
+emit_16(1641);
+emit_16(1575);
+emit_16(1641);
+emit_16(1574);
+emit_16(1641);
+emit_16(1575);
+emit_16(1642);
+emit_16(1576);
+emit_16(1642);
+emit_16(1575);
+emit_16(1642);
+emit_16(1576);
+emit_16(1643);
+emit_16(1577);
+emit_16(1643);
+emit_16(1576);
+emit_16(1643);
+emit_16(1577);
+emit_16(1644);
+emit_16(1578);
+emit_16(1644);
+emit_16(1577);
+emit_16(1644);
+emit_16(1578);
+emit_16(1645);
+emit_16(1579);
+emit_16(1645);
+emit_16(1578);
+emit_16(1645);
+emit_16(1579);
+emit_16(1646);
+emit_16(1580);
+emit_16(1646);
+emit_16(1579);
+emit_16(1646);
+emit_16(1580);
+emit_16(1647);
+emit_16(1581);
+emit_16(1647);
+emit_16(1580);
+emit_16(1647);
+emit_16(1581);
+emit_16(1648);
+emit_16(1582);
+emit_16(1648);
+emit_16(1581);
+emit_16(1648);
+emit_16(1582);
+emit_16(1649);
+emit_16(1583);
+emit_16(1649);
+emit_16(1582);
+emit_16(1650);
+emit_16(1584);
+emit_16(1651);
+emit_16(1585);
+emit_16(1651);
+emit_16(1584);
+emit_16(1651);
+emit_16(1585);
+emit_16(1652);
+emit_16(1586);
+emit_16(1652);
+emit_16(1585);
+emit_16(1652);
+emit_16(1586);
+emit_16(1653);
+emit_16(1587);
+emit_16(1653);
+emit_16(1586);
+emit_16(1653);
+emit_16(1587);
+emit_16(1654);
+emit_16(1588);
+emit_16(1654);
+emit_16(1587);
+emit_16(1654);
+emit_16(1588);
+emit_16(1655);
+emit_16(1589);
+emit_16(1655);
+emit_16(1588);
+emit_16(1655);
+emit_16(1589);
+emit_16(1656);
+emit_16(1590);
+emit_16(1656);
+emit_16(1589);
+emit_16(1656);
+emit_16(1590);
+emit_16(1657);
+emit_16(1591);
+emit_16(1657);
+emit_16(1590);
+emit_16(1657);
+emit_16(1591);
+emit_16(1658);
+emit_16(1592);
+emit_16(1658);
+emit_16(1591);
+emit_16(1658);
+emit_16(1592);
+emit_16(1659);
+emit_16(1593);
+emit_16(1659);
+emit_16(1592);
+emit_16(1659);
+emit_16(1593);
+emit_16(1660);
+emit_16(1594);
+emit_16(1660);
+emit_16(1593);
+emit_16(1660);
+emit_16(1594);
+emit_16(1661);
+emit_16(1595);
+emit_16(1661);
+emit_16(1594);
+emit_16(1661);
+emit_16(1595);
+emit_16(1662);
+emit_16(1596);
+emit_16(1662);
+emit_16(1595);
+emit_16(1662);
+emit_16(1596);
+emit_16(1663);
+emit_16(1597);
+emit_16(1663);
+emit_16(1596);
+emit_16(1663);
+emit_16(1597);
+emit_16(1664);
+emit_16(1598);
+emit_16(1664);
+emit_16(1597);
+emit_16(1664);
+emit_16(1598);
+emit_16(1665);
+emit_16(1599);
+emit_16(1665);
+emit_16(1598);
+emit_16(1665);
+emit_16(1599);
+emit_16(1666);
+emit_16(1600);
+emit_16(1666);
+emit_16(1599);
+emit_16(1666);
+emit_16(1600);
+emit_16(1667);
+emit_16(1601);
+emit_16(1667);
+emit_16(1600);
+emit_16(1667);
+emit_16(1601);
+emit_16(1668);
+emit_16(1602);
+emit_16(1668);
+emit_16(1601);
+emit_16(1668);
+emit_16(1602);
+emit_16(1669);
+emit_16(1603);
+emit_16(1669);
+emit_16(1602);
+emit_16(1669);
+emit_16(1603);
+emit_16(1670);
+emit_16(1604);
+emit_16(1670);
+emit_16(1603);
+emit_16(1670);
+emit_16(1604);
+emit_16(1671);
+emit_16(1605);
+emit_16(1671);
+emit_16(1604);
+emit_16(1671);
+emit_16(1605);
+emit_16(1672);
+emit_16(1606);
+emit_16(1672);
+emit_16(1605);
+emit_16(1672);
+emit_16(1606);
+emit_16(1673);
+emit_16(1607);
+emit_16(1673);
+emit_16(1606);
+emit_16(1673);
+emit_16(1607);
+emit_16(1674);
+emit_16(1608);
+emit_16(1674);
+emit_16(1607);
+emit_16(1674);
+emit_16(1608);
+emit_16(1675);
+emit_16(1609);
+emit_16(1675);
+emit_16(1608);
+emit_16(1675);
+emit_16(1609);
+emit_16(1676);
+emit_16(1610);
+emit_16(1676);
+emit_16(1609);
+emit_16(1676);
+emit_16(1610);
+emit_16(1677);
+emit_16(1611);
+emit_16(1677);
+emit_16(1610);
+emit_16(1677);
+emit_16(1611);
+emit_16(1678);
+emit_16(1612);
+emit_16(1678);
+emit_16(1611);
+emit_16(1678);
+emit_16(1612);
+emit_16(1679);
+emit_16(1613);
+emit_16(1679);
+emit_16(1612);
+emit_16(1679);
+emit_16(1613);
+emit_16(1680);
+emit_16(1614);
+emit_16(1680);
+emit_16(1613);
+emit_16(1680);
+emit_16(1614);
+emit_16(1681);
+emit_16(1615);
+emit_16(1681);
+emit_16(1614);
+emit_16(1681);
+emit_16(1615);
+emit_16(1682);
+emit_16(1616);
+emit_16(1682);
+emit_16(1615);
+emit_16(1682);
+emit_16(1616);
+emit_16(1683);
+emit_16(1617);
+emit_16(1683);
+emit_16(1616);
+emit_16(1683);
+emit_16(1617);
+emit_16(1684);
+emit_16(1618);
+emit_16(1684);
+emit_16(1617);
+emit_16(1684);
+emit_16(1618);
+emit_16(1685);
+emit_16(1619);
+emit_16(1685);
+emit_16(1618);
+emit_16(1685);
+emit_16(1619);
+emit_16(1686);
+emit_16(1620);
+emit_16(1686);
+emit_16(1619);
+emit_16(1686);
+emit_16(1620);
+emit_16(1687);
+emit_16(1621);
+emit_16(1687);
+emit_16(1620);
+emit_16(1687);
+emit_16(1621);
+emit_16(1688);
+emit_16(1622);
+emit_16(1688);
+emit_16(1621);
+emit_16(1688);
+emit_16(1622);
+emit_16(1689);
+emit_16(1623);
+emit_16(1689);
+emit_16(1622);
+emit_16(1689);
+emit_16(1623);
+emit_16(1690);
+emit_16(1624);
+emit_16(1690);
+emit_16(1623);
+emit_16(1690);
+emit_16(1624);
+emit_16(1691);
+emit_16(1625);
+emit_16(1691);
+emit_16(1624);
+emit_16(1691);
+emit_16(1625);
+emit_16(1692);
+emit_16(1626);
+emit_16(1692);
+emit_16(1625);
+emit_16(1692);
+emit_16(1626);
+emit_16(1693);
+emit_16(1627);
+emit_16(1693);
+emit_16(1626);
+emit_16(1693);
+emit_16(1627);
+emit_16(1694);
+emit_16(1628);
+emit_16(1694);
+emit_16(1627);
+emit_16(1694);
+emit_16(1628);
+emit_16(1695);
+emit_16(1629);
+emit_16(1695);
+emit_16(1628);
+emit_16(1695);
+emit_16(1629);
+emit_16(1696);
+emit_16(1630);
+emit_16(1696);
+emit_16(1629);
+emit_16(1696);
+emit_16(1630);
+emit_16(1697);
+emit_16(1631);
+emit_16(1697);
+emit_16(1630);
+emit_16(1697);
+emit_16(1631);
+emit_16(1698);
+emit_16(1632);
+emit_16(1698);
+emit_16(1631);
+emit_16(1698);
+emit_16(1632);
+emit_16(1699);
+emit_16(1633);
+emit_16(1699);
+emit_16(1632);
+emit_16(1699);
+emit_16(1633);
+emit_16(1700);
+emit_16(1634);
+emit_16(1700);
+emit_16(1633);
+emit_16(1700);
+emit_16(1634);
+emit_16(1701);
+emit_16(1635);
+emit_16(1701);
+emit_16(1634);
+emit_16(1701);
+emit_16(1635);
+emit_16(1702);
+emit_16(1636);
+emit_16(1702);
+emit_16(1635);
+emit_16(1702);
+emit_16(1636);
+emit_16(1703);
+emit_16(1637);
+emit_16(1703);
+emit_16(1636);
+emit_16(1703);
+emit_16(1637);
+emit_16(1704);
+emit_16(1638);
+emit_16(1704);
+emit_16(1637);
+emit_16(1704);
+emit_16(1638);
+emit_16(1705);
+emit_16(1639);
+emit_16(1705);
+emit_16(1638);
+emit_16(1705);
+emit_16(1639);
+emit_16(1706);
+emit_16(1640);
+emit_16(1706);
+emit_16(1639);
+emit_16(1706);
+emit_16(1640);
+emit_16(1707);
+emit_16(1641);
+emit_16(1707);
+emit_16(1640);
+emit_16(1707);
+emit_16(1641);
+emit_16(1708);
+emit_16(1642);
+emit_16(1708);
+emit_16(1641);
+emit_16(1708);
+emit_16(1642);
+emit_16(1709);
+emit_16(1643);
+emit_16(1709);
+emit_16(1642);
+emit_16(1709);
+emit_16(1643);
+emit_16(1710);
+emit_16(1644);
+emit_16(1710);
+emit_16(1643);
+emit_16(1710);
+emit_16(1644);
+emit_16(1711);
+emit_16(1645);
+emit_16(1711);
+emit_16(1644);
+emit_16(1711);
+emit_16(1645);
+emit_16(1712);
+emit_16(1646);
+emit_16(1712);
+emit_16(1645);
+emit_16(1712);
+emit_16(1646);
+emit_16(1713);
+emit_16(1647);
+emit_16(1713);
+emit_16(1646);
+emit_16(1713);
+emit_16(1647);
+emit_16(1714);
+emit_16(1648);
+emit_16(1714);
+emit_16(1647);
+emit_16(1714);
+emit_16(1648);
+emit_16(1715);
+emit_16(1649);
+emit_16(1715);
+emit_16(1648);
+emit_16(1716);
+emit_16(1650);
+emit_16(1717);
+emit_16(1651);
+emit_16(1717);
+emit_16(1650);
+emit_16(1717);
+emit_16(1651);
+emit_16(1718);
+emit_16(1652);
+emit_16(1718);
+emit_16(1651);
+emit_16(1718);
+emit_16(1652);
+emit_16(1719);
+emit_16(1653);
+emit_16(1719);
+emit_16(1652);
+emit_16(1719);
+emit_16(1653);
+emit_16(1720);
+emit_16(1654);
+emit_16(1720);
+emit_16(1653);
+emit_16(1720);
+emit_16(1654);
+emit_16(1721);
+emit_16(1655);
+emit_16(1721);
+emit_16(1654);
+emit_16(1721);
+emit_16(1655);
+emit_16(1722);
+emit_16(1656);
+emit_16(1722);
+emit_16(1655);
+emit_16(1722);
+emit_16(1656);
+emit_16(1723);
+emit_16(1657);
+emit_16(1723);
+emit_16(1656);
+emit_16(1723);
+emit_16(1657);
+emit_16(1724);
+emit_16(1658);
+emit_16(1724);
+emit_16(1657);
+emit_16(1724);
+emit_16(1658);
+emit_16(1725);
+emit_16(1659);
+emit_16(1725);
+emit_16(1658);
+emit_16(1725);
+emit_16(1659);
+emit_16(1726);
+emit_16(1660);
+emit_16(1726);
+emit_16(1659);
+emit_16(1726);
+emit_16(1660);
+emit_16(1727);
+emit_16(1661);
+emit_16(1727);
+emit_16(1660);
+emit_16(1727);
+emit_16(1661);
+emit_16(1728);
+emit_16(1662);
+emit_16(1728);
+emit_16(1661);
+emit_16(1728);
+emit_16(1662);
+emit_16(1729);
+emit_16(1663);
+emit_16(1729);
+emit_16(1662);
+emit_16(1729);
+emit_16(1663);
+emit_16(1730);
+emit_16(1664);
+emit_16(1730);
+emit_16(1663);
+emit_16(1730);
+emit_16(1664);
+emit_16(1731);
+emit_16(1665);
+emit_16(1731);
+emit_16(1664);
+emit_16(1731);
+emit_16(1665);
+emit_16(1732);
+emit_16(1666);
+emit_16(1732);
+emit_16(1665);
+emit_16(1732);
+emit_16(1666);
+emit_16(1733);
+emit_16(1667);
+emit_16(1733);
+emit_16(1666);
+emit_16(1733);
+emit_16(1667);
+emit_16(1734);
+emit_16(1668);
+emit_16(1734);
+emit_16(1667);
+emit_16(1734);
+emit_16(1668);
+emit_16(1735);
+emit_16(1669);
+emit_16(1735);
+emit_16(1668);
+emit_16(1735);
+emit_16(1669);
+emit_16(1736);
+emit_16(1670);
+emit_16(1736);
+emit_16(1669);
+emit_16(1736);
+emit_16(1670);
+emit_16(1737);
+emit_16(1671);
+emit_16(1737);
+emit_16(1670);
+emit_16(1737);
+emit_16(1671);
+emit_16(1738);
+emit_16(1672);
+emit_16(1738);
+emit_16(1671);
+emit_16(1738);
+emit_16(1672);
+emit_16(1739);
+emit_16(1673);
+emit_16(1739);
+emit_16(1672);
+emit_16(1739);
+emit_16(1673);
+emit_16(1740);
+emit_16(1674);
+emit_16(1740);
+emit_16(1673);
+emit_16(1740);
+emit_16(1674);
+emit_16(1741);
+emit_16(1675);
+emit_16(1741);
+emit_16(1674);
+emit_16(1741);
+emit_16(1675);
+emit_16(1742);
+emit_16(1676);
+emit_16(1742);
+emit_16(1675);
+emit_16(1742);
+emit_16(1676);
+emit_16(1743);
+emit_16(1677);
+emit_16(1743);
+emit_16(1676);
+emit_16(1743);
+emit_16(1677);
+emit_16(1744);
+emit_16(1678);
+emit_16(1744);
+emit_16(1677);
+emit_16(1744);
+emit_16(1678);
+emit_16(1745);
+emit_16(1679);
+emit_16(1745);
+emit_16(1678);
+emit_16(1745);
+emit_16(1679);
+emit_16(1746);
+emit_16(1680);
+emit_16(1746);
+emit_16(1679);
+emit_16(1746);
+emit_16(1680);
+emit_16(1747);
+emit_16(1681);
+emit_16(1747);
+emit_16(1680);
+emit_16(1747);
+emit_16(1681);
+emit_16(1748);
+emit_16(1682);
+emit_16(1748);
+emit_16(1681);
+emit_16(1748);
+emit_16(1682);
+emit_16(1749);
+emit_16(1683);
+emit_16(1749);
+emit_16(1682);
+emit_16(1749);
+emit_16(1683);
+emit_16(1750);
+emit_16(1684);
+emit_16(1750);
+emit_16(1683);
+emit_16(1750);
+emit_16(1684);
+emit_16(1751);
+emit_16(1685);
+emit_16(1751);
+emit_16(1684);
+emit_16(1751);
+emit_16(1685);
+emit_16(1752);
+emit_16(1686);
+emit_16(1752);
+emit_16(1685);
+emit_16(1752);
+emit_16(1686);
+emit_16(1753);
+emit_16(1687);
+emit_16(1753);
+emit_16(1686);
+emit_16(1753);
+emit_16(1687);
+emit_16(1754);
+emit_16(1688);
+emit_16(1754);
+emit_16(1687);
+emit_16(1754);
+emit_16(1688);
+emit_16(1755);
+emit_16(1689);
+emit_16(1755);
+emit_16(1688);
+emit_16(1755);
+emit_16(1689);
+emit_16(1756);
+emit_16(1690);
+emit_16(1756);
+emit_16(1689);
+emit_16(1756);
+emit_16(1690);
+emit_16(1757);
+emit_16(1691);
+emit_16(1757);
+emit_16(1690);
+emit_16(1757);
+emit_16(1691);
+emit_16(1758);
+emit_16(1692);
+emit_16(1758);
+emit_16(1691);
+emit_16(1758);
+emit_16(1692);
+emit_16(1759);
+emit_16(1693);
+emit_16(1759);
+emit_16(1692);
+emit_16(1759);
+emit_16(1693);
+emit_16(1760);
+emit_16(1694);
+emit_16(1760);
+emit_16(1693);
+emit_16(1760);
+emit_16(1694);
+emit_16(1761);
+emit_16(1695);
+emit_16(1761);
+emit_16(1694);
+emit_16(1761);
+emit_16(1695);
+emit_16(1762);
+emit_16(1696);
+emit_16(1762);
+emit_16(1695);
+emit_16(1762);
+emit_16(1696);
+emit_16(1763);
+emit_16(1697);
+emit_16(1763);
+emit_16(1696);
+emit_16(1763);
+emit_16(1697);
+emit_16(1764);
+emit_16(1698);
+emit_16(1764);
+emit_16(1697);
+emit_16(1764);
+emit_16(1698);
+emit_16(1765);
+emit_16(1699);
+emit_16(1765);
+emit_16(1698);
+emit_16(1765);
+emit_16(1699);
+emit_16(1766);
+emit_16(1700);
+emit_16(1766);
+emit_16(1699);
+emit_16(1766);
+emit_16(1700);
+emit_16(1767);
+emit_16(1701);
+emit_16(1767);
+emit_16(1700);
+emit_16(1767);
+emit_16(1701);
+emit_16(1768);
+emit_16(1702);
+emit_16(1768);
+emit_16(1701);
+emit_16(1768);
+emit_16(1702);
+emit_16(1769);
+emit_16(1703);
+emit_16(1769);
+emit_16(1702);
+emit_16(1769);
+emit_16(1703);
+emit_16(1770);
+emit_16(1704);
+emit_16(1770);
+emit_16(1703);
+emit_16(1770);
+emit_16(1704);
+emit_16(1771);
+emit_16(1705);
+emit_16(1771);
+emit_16(1704);
+emit_16(1771);
+emit_16(1705);
+emit_16(1772);
+emit_16(1706);
+emit_16(1772);
+emit_16(1705);
+emit_16(1772);
+emit_16(1706);
+emit_16(1773);
+emit_16(1707);
+emit_16(1773);
+emit_16(1706);
+emit_16(1773);
+emit_16(1707);
+emit_16(1774);
+emit_16(1708);
+emit_16(1774);
+emit_16(1707);
+emit_16(1774);
+emit_16(1708);
+emit_16(1775);
+emit_16(1709);
+emit_16(1775);
+emit_16(1708);
+emit_16(1775);
+emit_16(1709);
+emit_16(1776);
+emit_16(1710);
+emit_16(1776);
+emit_16(1709);
+emit_16(1776);
+emit_16(1710);
+emit_16(1777);
+emit_16(1711);
+emit_16(1777);
+emit_16(1710);
+emit_16(1777);
+emit_16(1711);
+emit_16(1778);
+emit_16(1712);
+emit_16(1778);
+emit_16(1711);
+emit_16(1778);
+emit_16(1712);
+emit_16(1779);
+emit_16(1713);
+emit_16(1779);
+emit_16(1712);
+emit_16(1779);
+emit_16(1713);
+emit_16(1780);
+emit_16(1714);
+emit_16(1780);
+emit_16(1713);
+emit_16(1780);
+emit_16(1714);
+emit_16(1781);
+emit_16(1715);
+emit_16(1781);
+emit_16(1714);
+emit_16(1782);
+emit_16(1716);
+emit_16(1783);
+emit_16(1717);
+emit_16(1783);
+emit_16(1716);
+emit_16(1783);
+emit_16(1717);
+emit_16(1784);
+emit_16(1718);
+emit_16(1784);
+emit_16(1717);
+emit_16(1784);
+emit_16(1718);
+emit_16(1785);
+emit_16(1719);
+emit_16(1785);
+emit_16(1718);
+emit_16(1785);
+emit_16(1719);
+emit_16(1786);
+emit_16(1720);
+emit_16(1786);
+emit_16(1719);
+emit_16(1786);
+emit_16(1720);
+emit_16(1787);
+emit_16(1721);
+emit_16(1787);
+emit_16(1720);
+emit_16(1787);
+emit_16(1721);
+emit_16(1788);
+emit_16(1722);
+emit_16(1788);
+emit_16(1721);
+emit_16(1788);
+emit_16(1722);
+emit_16(1789);
+emit_16(1723);
+emit_16(1789);
+emit_16(1722);
+emit_16(1789);
+emit_16(1723);
+emit_16(1790);
+emit_16(1724);
+emit_16(1790);
+emit_16(1723);
+emit_16(1790);
+emit_16(1724);
+emit_16(1791);
+emit_16(1725);
+emit_16(1791);
+emit_16(1724);
+emit_16(1791);
+emit_16(1725);
+emit_16(1792);
+emit_16(1726);
+emit_16(1792);
+emit_16(1725);
+emit_16(1792);
+emit_16(1726);
+emit_16(1793);
+emit_16(1727);
+emit_16(1793);
+emit_16(1726);
+emit_16(1793);
+emit_16(1727);
+emit_16(1794);
+emit_16(1728);
+emit_16(1794);
+emit_16(1727);
+emit_16(1794);
+emit_16(1728);
+emit_16(1795);
+emit_16(1729);
+emit_16(1795);
+emit_16(1728);
+emit_16(1795);
+emit_16(1729);
+emit_16(1796);
+emit_16(1730);
+emit_16(1796);
+emit_16(1729);
+emit_16(1796);
+emit_16(1730);
+emit_16(1797);
+emit_16(1731);
+emit_16(1797);
+emit_16(1730);
+emit_16(1797);
+emit_16(1731);
+emit_16(1798);
+emit_16(1732);
+emit_16(1798);
+emit_16(1731);
+emit_16(1798);
+emit_16(1732);
+emit_16(1799);
+emit_16(1733);
+emit_16(1799);
+emit_16(1732);
+emit_16(1799);
+emit_16(1733);
+emit_16(1800);
+emit_16(1734);
+emit_16(1800);
+emit_16(1733);
+emit_16(1800);
+emit_16(1734);
+emit_16(1801);
+emit_16(1735);
+emit_16(1801);
+emit_16(1734);
+emit_16(1801);
+emit_16(1735);
+emit_16(1802);
+emit_16(1736);
+emit_16(1802);
+emit_16(1735);
+emit_16(1802);
+emit_16(1736);
+emit_16(1803);
+emit_16(1737);
+emit_16(1803);
+emit_16(1736);
+emit_16(1803);
+emit_16(1737);
+emit_16(1804);
+emit_16(1738);
+emit_16(1804);
+emit_16(1737);
+emit_16(1804);
+emit_16(1738);
+emit_16(1805);
+emit_16(1739);
+emit_16(1805);
+emit_16(1738);
+emit_16(1805);
+emit_16(1739);
+emit_16(1806);
+emit_16(1740);
+emit_16(1806);
+emit_16(1739);
+emit_16(1806);
+emit_16(1740);
+emit_16(1807);
+emit_16(1741);
+emit_16(1807);
+emit_16(1740);
+emit_16(1807);
+emit_16(1741);
+emit_16(1808);
+emit_16(1742);
+emit_16(1808);
+emit_16(1741);
+emit_16(1808);
+emit_16(1742);
+emit_16(1809);
+emit_16(1743);
+emit_16(1809);
+emit_16(1742);
+emit_16(1809);
+emit_16(1743);
+emit_16(1810);
+emit_16(1744);
+emit_16(1810);
+emit_16(1743);
+emit_16(1810);
+emit_16(1744);
+emit_16(1811);
+emit_16(1745);
+emit_16(1811);
+emit_16(1744);
+emit_16(1811);
+emit_16(1745);
+emit_16(1812);
+emit_16(1746);
+emit_16(1812);
+emit_16(1745);
+emit_16(1812);
+emit_16(1746);
+emit_16(1813);
+emit_16(1747);
+emit_16(1813);
+emit_16(1746);
+emit_16(1813);
+emit_16(1747);
+emit_16(1814);
+emit_16(1748);
+emit_16(1814);
+emit_16(1747);
+emit_16(1814);
+emit_16(1748);
+emit_16(1815);
+emit_16(1749);
+emit_16(1815);
+emit_16(1748);
+emit_16(1815);
+emit_16(1749);
+emit_16(1816);
+emit_16(1750);
+emit_16(1816);
+emit_16(1749);
+emit_16(1816);
+emit_16(1750);
+emit_16(1817);
+emit_16(1751);
+emit_16(1817);
+emit_16(1750);
+emit_16(1817);
+emit_16(1751);
+emit_16(1818);
+emit_16(1752);
+emit_16(1818);
+emit_16(1751);
+emit_16(1818);
+emit_16(1752);
+emit_16(1819);
+emit_16(1753);
+emit_16(1819);
+emit_16(1752);
+emit_16(1819);
+emit_16(1753);
+emit_16(1820);
+emit_16(1754);
+emit_16(1820);
+emit_16(1753);
+emit_16(1820);
+emit_16(1754);
+emit_16(1821);
+emit_16(1755);
+emit_16(1821);
+emit_16(1754);
+emit_16(1821);
+emit_16(1755);
+emit_16(1822);
+emit_16(1756);
+emit_16(1822);
+emit_16(1755);
+emit_16(1822);
+emit_16(1756);
+emit_16(1823);
+emit_16(1757);
+emit_16(1823);
+emit_16(1756);
+emit_16(1823);
+emit_16(1757);
+emit_16(1824);
+emit_16(1758);
+emit_16(1824);
+emit_16(1757);
+emit_16(1824);
+emit_16(1758);
+emit_16(1825);
+emit_16(1759);
+emit_16(1825);
+emit_16(1758);
+emit_16(1825);
+emit_16(1759);
+emit_16(1826);
+emit_16(1760);
+emit_16(1826);
+emit_16(1759);
+emit_16(1826);
+emit_16(1760);
+emit_16(1827);
+emit_16(1761);
+emit_16(1827);
+emit_16(1760);
+emit_16(1827);
+emit_16(1761);
+emit_16(1828);
+emit_16(1762);
+emit_16(1828);
+emit_16(1761);
+emit_16(1828);
+emit_16(1762);
+emit_16(1829);
+emit_16(1763);
+emit_16(1829);
+emit_16(1762);
+emit_16(1829);
+emit_16(1763);
+emit_16(1830);
+emit_16(1764);
+emit_16(1830);
+emit_16(1763);
+emit_16(1830);
+emit_16(1764);
+emit_16(1831);
+emit_16(1765);
+emit_16(1831);
+emit_16(1764);
+emit_16(1831);
+emit_16(1765);
+emit_16(1832);
+emit_16(1766);
+emit_16(1832);
+emit_16(1765);
+emit_16(1832);
+emit_16(1766);
+emit_16(1833);
+emit_16(1767);
+emit_16(1833);
+emit_16(1766);
+emit_16(1833);
+emit_16(1767);
+emit_16(1834);
+emit_16(1768);
+emit_16(1834);
+emit_16(1767);
+emit_16(1834);
+emit_16(1768);
+emit_16(1835);
+emit_16(1769);
+emit_16(1835);
+emit_16(1768);
+emit_16(1835);
+emit_16(1769);
+emit_16(1836);
+emit_16(1770);
+emit_16(1836);
+emit_16(1769);
+emit_16(1836);
+emit_16(1770);
+emit_16(1837);
+emit_16(1771);
+emit_16(1837);
+emit_16(1770);
+emit_16(1837);
+emit_16(1771);
+emit_16(1838);
+emit_16(1772);
+emit_16(1838);
+emit_16(1771);
+emit_16(1838);
+emit_16(1772);
+emit_16(1839);
+emit_16(1773);
+emit_16(1839);
+emit_16(1772);
+emit_16(1839);
+emit_16(1773);
+emit_16(1840);
+emit_16(1774);
+emit_16(1840);
+emit_16(1773);
+emit_16(1840);
+emit_16(1774);
+emit_16(1841);
+emit_16(1775);
+emit_16(1841);
+emit_16(1774);
+emit_16(1841);
+emit_16(1775);
+emit_16(1842);
+emit_16(1776);
+emit_16(1842);
+emit_16(1775);
+emit_16(1842);
+emit_16(1776);
+emit_16(1843);
+emit_16(1777);
+emit_16(1843);
+emit_16(1776);
+emit_16(1843);
+emit_16(1777);
+emit_16(1844);
+emit_16(1778);
+emit_16(1844);
+emit_16(1777);
+emit_16(1844);
+emit_16(1778);
+emit_16(1845);
+emit_16(1779);
+emit_16(1845);
+emit_16(1778);
+emit_16(1845);
+emit_16(1779);
+emit_16(1846);
+emit_16(1780);
+emit_16(1846);
+emit_16(1779);
+emit_16(1846);
+emit_16(1780);
+emit_16(1847);
+emit_16(1781);
+emit_16(1847);
+emit_16(1780);
+emit_16(1848);
+emit_16(1782);
+emit_16(1849);
+emit_16(1783);
+emit_16(1849);
+emit_16(1782);
+emit_16(1849);
+emit_16(1783);
+emit_16(1850);
+emit_16(1784);
+emit_16(1850);
+emit_16(1783);
+emit_16(1850);
+emit_16(1784);
+emit_16(1851);
+emit_16(1785);
+emit_16(1851);
+emit_16(1784);
+emit_16(1851);
+emit_16(1785);
+emit_16(1852);
+emit_16(1786);
+emit_16(1852);
+emit_16(1785);
+emit_16(1852);
+emit_16(1786);
+emit_16(1853);
+emit_16(1787);
+emit_16(1853);
+emit_16(1786);
+emit_16(1853);
+emit_16(1787);
+emit_16(1854);
+emit_16(1788);
+emit_16(1854);
+emit_16(1787);
+emit_16(1854);
+emit_16(1788);
+emit_16(1855);
+emit_16(1789);
+emit_16(1855);
+emit_16(1788);
+emit_16(1855);
+emit_16(1789);
+emit_16(1856);
+emit_16(1790);
+emit_16(1856);
+emit_16(1789);
+emit_16(1856);
+emit_16(1790);
+emit_16(1857);
+emit_16(1791);
+emit_16(1857);
+emit_16(1790);
+emit_16(1857);
+emit_16(1791);
+emit_16(1858);
+emit_16(1792);
+emit_16(1858);
+emit_16(1791);
+emit_16(1858);
+emit_16(1792);
+emit_16(1859);
+emit_16(1793);
+emit_16(1859);
+emit_16(1792);
+emit_16(1859);
+emit_16(1793);
+emit_16(1860);
+emit_16(1794);
+emit_16(1860);
+emit_16(1793);
+emit_16(1860);
+emit_16(1794);
+emit_16(1861);
+emit_16(1795);
+emit_16(1861);
+emit_16(1794);
+emit_16(1861);
+emit_16(1795);
+emit_16(1862);
+emit_16(1796);
+emit_16(1862);
+emit_16(1795);
+emit_16(1862);
+emit_16(1796);
+emit_16(1863);
+emit_16(1797);
+emit_16(1863);
+emit_16(1796);
+emit_16(1863);
+emit_16(1797);
+emit_16(1864);
+emit_16(1798);
+emit_16(1864);
+emit_16(1797);
+emit_16(1864);
+emit_16(1798);
+emit_16(1865);
+emit_16(1799);
+emit_16(1865);
+emit_16(1798);
+emit_16(1865);
+emit_16(1799);
+emit_16(1866);
+emit_16(1800);
+emit_16(1866);
+emit_16(1799);
+emit_16(1866);
+emit_16(1800);
+emit_16(1867);
+emit_16(1801);
+emit_16(1867);
+emit_16(1800);
+emit_16(1867);
+emit_16(1801);
+emit_16(1868);
+emit_16(1802);
+emit_16(1868);
+emit_16(1801);
+emit_16(1868);
+emit_16(1802);
+emit_16(1869);
+emit_16(1803);
+emit_16(1869);
+emit_16(1802);
+emit_16(1869);
+emit_16(1803);
+emit_16(1870);
+emit_16(1804);
+emit_16(1870);
+emit_16(1803);
+emit_16(1870);
+emit_16(1804);
+emit_16(1871);
+emit_16(1805);
+emit_16(1871);
+emit_16(1804);
+emit_16(1871);
+emit_16(1805);
+emit_16(1872);
+emit_16(1806);
+emit_16(1872);
+emit_16(1805);
+emit_16(1872);
+emit_16(1806);
+emit_16(1873);
+emit_16(1807);
+emit_16(1873);
+emit_16(1806);
+emit_16(1873);
+emit_16(1807);
+emit_16(1874);
+emit_16(1808);
+emit_16(1874);
+emit_16(1807);
+emit_16(1874);
+emit_16(1808);
+emit_16(1875);
+emit_16(1809);
+emit_16(1875);
+emit_16(1808);
+emit_16(1875);
+emit_16(1809);
+emit_16(1876);
+emit_16(1810);
+emit_16(1876);
+emit_16(1809);
+emit_16(1876);
+emit_16(1810);
+emit_16(1877);
+emit_16(1811);
+emit_16(1877);
+emit_16(1810);
+emit_16(1877);
+emit_16(1811);
+emit_16(1878);
+emit_16(1812);
+emit_16(1878);
+emit_16(1811);
+emit_16(1878);
+emit_16(1812);
+emit_16(1879);
+emit_16(1813);
+emit_16(1879);
+emit_16(1812);
+emit_16(1879);
+emit_16(1813);
+emit_16(1880);
+emit_16(1814);
+emit_16(1880);
+emit_16(1813);
+emit_16(1880);
+emit_16(1814);
+emit_16(1881);
+emit_16(1815);
+emit_16(1881);
+emit_16(1814);
+emit_16(1881);
+emit_16(1815);
+emit_16(1882);
+emit_16(1816);
+emit_16(1882);
+emit_16(1815);
+emit_16(1882);
+emit_16(1816);
+emit_16(1883);
+emit_16(1817);
+emit_16(1883);
+emit_16(1816);
+emit_16(1883);
+emit_16(1817);
+emit_16(1884);
+emit_16(1818);
+emit_16(1884);
+emit_16(1817);
+emit_16(1884);
+emit_16(1818);
+emit_16(1885);
+emit_16(1819);
+emit_16(1885);
+emit_16(1818);
+emit_16(1885);
+emit_16(1819);
+emit_16(1886);
+emit_16(1820);
+emit_16(1886);
+emit_16(1819);
+emit_16(1886);
+emit_16(1820);
+emit_16(1887);
+emit_16(1821);
+emit_16(1887);
+emit_16(1820);
+emit_16(1887);
+emit_16(1821);
+emit_16(1888);
+emit_16(1822);
+emit_16(1888);
+emit_16(1821);
+emit_16(1888);
+emit_16(1822);
+emit_16(1889);
+emit_16(1823);
+emit_16(1889);
+emit_16(1822);
+emit_16(1889);
+emit_16(1823);
+emit_16(1890);
+emit_16(1824);
+emit_16(1890);
+emit_16(1823);
+emit_16(1890);
+emit_16(1824);
+emit_16(1891);
+emit_16(1825);
+emit_16(1891);
+emit_16(1824);
+emit_16(1891);
+emit_16(1825);
+emit_16(1892);
+emit_16(1826);
+emit_16(1892);
+emit_16(1825);
+emit_16(1892);
+emit_16(1826);
+emit_16(1893);
+emit_16(1827);
+emit_16(1893);
+emit_16(1826);
+emit_16(1893);
+emit_16(1827);
+emit_16(1894);
+emit_16(1828);
+emit_16(1894);
+emit_16(1827);
+emit_16(1894);
+emit_16(1828);
+emit_16(1895);
+emit_16(1829);
+emit_16(1895);
+emit_16(1828);
+emit_16(1895);
+emit_16(1829);
+emit_16(1896);
+emit_16(1830);
+emit_16(1896);
+emit_16(1829);
+emit_16(1896);
+emit_16(1830);
+emit_16(1897);
+emit_16(1831);
+emit_16(1897);
+emit_16(1830);
+emit_16(1897);
+emit_16(1831);
+emit_16(1898);
+emit_16(1832);
+emit_16(1898);
+emit_16(1831);
+emit_16(1898);
+emit_16(1832);
+emit_16(1899);
+emit_16(1833);
+emit_16(1899);
+emit_16(1832);
+emit_16(1899);
+emit_16(1833);
+emit_16(1900);
+emit_16(1834);
+emit_16(1900);
+emit_16(1833);
+emit_16(1900);
+emit_16(1834);
+emit_16(1901);
+emit_16(1835);
+emit_16(1901);
+emit_16(1834);
+emit_16(1901);
+emit_16(1835);
+emit_16(1902);
+emit_16(1836);
+emit_16(1902);
+emit_16(1835);
+emit_16(1902);
+emit_16(1836);
+emit_16(1903);
+emit_16(1837);
+emit_16(1903);
+emit_16(1836);
+emit_16(1903);
+emit_16(1837);
+emit_16(1904);
+emit_16(1838);
+emit_16(1904);
+emit_16(1837);
+emit_16(1904);
+emit_16(1838);
+emit_16(1905);
+emit_16(1839);
+emit_16(1905);
+emit_16(1838);
+emit_16(1905);
+emit_16(1839);
+emit_16(1906);
+emit_16(1840);
+emit_16(1906);
+emit_16(1839);
+emit_16(1906);
+emit_16(1840);
+emit_16(1907);
+emit_16(1841);
+emit_16(1907);
+emit_16(1840);
+emit_16(1907);
+emit_16(1841);
+emit_16(1908);
+emit_16(1842);
+emit_16(1908);
+emit_16(1841);
+emit_16(1908);
+emit_16(1842);
+emit_16(1909);
+emit_16(1843);
+emit_16(1909);
+emit_16(1842);
+emit_16(1909);
+emit_16(1843);
+emit_16(1910);
+emit_16(1844);
+emit_16(1910);
+emit_16(1843);
+emit_16(1910);
+emit_16(1844);
+emit_16(1911);
+emit_16(1845);
+emit_16(1911);
+emit_16(1844);
+emit_16(1911);
+emit_16(1845);
+emit_16(1912);
+emit_16(1846);
+emit_16(1912);
+emit_16(1845);
+emit_16(1912);
+emit_16(1846);
+emit_16(1913);
+emit_16(1847);
+emit_16(1913);
+emit_16(1846);
+emit_16(1914);
+emit_16(1848);
+emit_16(1915);
+emit_16(1849);
+emit_16(1915);
+emit_16(1848);
+emit_16(1915);
+emit_16(1849);
+emit_16(1916);
+emit_16(1850);
+emit_16(1916);
+emit_16(1849);
+emit_16(1916);
+emit_16(1850);
+emit_16(1917);
+emit_16(1851);
+emit_16(1917);
+emit_16(1850);
+emit_16(1917);
+emit_16(1851);
+emit_16(1918);
+emit_16(1852);
+emit_16(1918);
+emit_16(1851);
+emit_16(1918);
+emit_16(1852);
+emit_16(1919);
+emit_16(1853);
+emit_16(1919);
+emit_16(1852);
+emit_16(1919);
+emit_16(1853);
+emit_16(1920);
+emit_16(1854);
+emit_16(1920);
+emit_16(1853);
+emit_16(1920);
+emit_16(1854);
+emit_16(1921);
+emit_16(1855);
+emit_16(1921);
+emit_16(1854);
+emit_16(1921);
+emit_16(1855);
+emit_16(1922);
+emit_16(1856);
+emit_16(1922);
+emit_16(1855);
+emit_16(1922);
+emit_16(1856);
+emit_16(1923);
+emit_16(1857);
+emit_16(1923);
+emit_16(1856);
+emit_16(1923);
+emit_16(1857);
+emit_16(1924);
+emit_16(1858);
+emit_16(1924);
+emit_16(1857);
+emit_16(1924);
+emit_16(1858);
+emit_16(1925);
+emit_16(1859);
+emit_16(1925);
+emit_16(1858);
+emit_16(1925);
+emit_16(1859);
+emit_16(1926);
+emit_16(1860);
+emit_16(1926);
+emit_16(1859);
+emit_16(1926);
+emit_16(1860);
+emit_16(1927);
+emit_16(1861);
+emit_16(1927);
+emit_16(1860);
+emit_16(1927);
+emit_16(1861);
+emit_16(1928);
+emit_16(1862);
+emit_16(1928);
+emit_16(1861);
+emit_16(1928);
+emit_16(1862);
+emit_16(1929);
+emit_16(1863);
+emit_16(1929);
+emit_16(1862);
+emit_16(1929);
+emit_16(1863);
+emit_16(1930);
+emit_16(1864);
+emit_16(1930);
+emit_16(1863);
+emit_16(1930);
+emit_16(1864);
+emit_16(1931);
+emit_16(1865);
+emit_16(1931);
+emit_16(1864);
+emit_16(1931);
+emit_16(1865);
+emit_16(1932);
+emit_16(1866);
+emit_16(1932);
+emit_16(1865);
+emit_16(1932);
+emit_16(1866);
+emit_16(1933);
+emit_16(1867);
+emit_16(1933);
+emit_16(1866);
+emit_16(1933);
+emit_16(1867);
+emit_16(1934);
+emit_16(1868);
+emit_16(1934);
+emit_16(1867);
+emit_16(1934);
+emit_16(1868);
+emit_16(1935);
+emit_16(1869);
+emit_16(1935);
+emit_16(1868);
+emit_16(1935);
+emit_16(1869);
+emit_16(1936);
+emit_16(1870);
+emit_16(1936);
+emit_16(1869);
+emit_16(1936);
+emit_16(1870);
+emit_16(1937);
+emit_16(1871);
+emit_16(1937);
+emit_16(1870);
+emit_16(1937);
+emit_16(1871);
+emit_16(1938);
+emit_16(1872);
+emit_16(1938);
+emit_16(1871);
+emit_16(1938);
+emit_16(1872);
+emit_16(1939);
+emit_16(1873);
+emit_16(1939);
+emit_16(1872);
+emit_16(1939);
+emit_16(1873);
+emit_16(1940);
+emit_16(1874);
+emit_16(1940);
+emit_16(1873);
+emit_16(1940);
+emit_16(1874);
+emit_16(1941);
+emit_16(1875);
+emit_16(1941);
+emit_16(1874);
+emit_16(1941);
+emit_16(1875);
+emit_16(1942);
+emit_16(1876);
+emit_16(1942);
+emit_16(1875);
+emit_16(1942);
+emit_16(1876);
+emit_16(1943);
+emit_16(1877);
+emit_16(1943);
+emit_16(1876);
+emit_16(1943);
+emit_16(1877);
+emit_16(1944);
+emit_16(1878);
+emit_16(1944);
+emit_16(1877);
+emit_16(1944);
+emit_16(1878);
+emit_16(1945);
+emit_16(1879);
+emit_16(1945);
+emit_16(1878);
+emit_16(1945);
+emit_16(1879);
+emit_16(1946);
+emit_16(1880);
+emit_16(1946);
+emit_16(1879);
+emit_16(1946);
+emit_16(1880);
+emit_16(1947);
+emit_16(1881);
+emit_16(1947);
+emit_16(1880);
+emit_16(1947);
+emit_16(1881);
+emit_16(1948);
+emit_16(1882);
+emit_16(1948);
+emit_16(1881);
+emit_16(1948);
+emit_16(1882);
+emit_16(1949);
+emit_16(1883);
+emit_16(1949);
+emit_16(1882);
+emit_16(1949);
+emit_16(1883);
+emit_16(1950);
+emit_16(1884);
+emit_16(1950);
+emit_16(1883);
+emit_16(1950);
+emit_16(1884);
+emit_16(1951);
+emit_16(1885);
+emit_16(1951);
+emit_16(1884);
+emit_16(1951);
+emit_16(1885);
+emit_16(1952);
+emit_16(1886);
+emit_16(1952);
+emit_16(1885);
+emit_16(1952);
+emit_16(1886);
+emit_16(1953);
+emit_16(1887);
+emit_16(1953);
+emit_16(1886);
+emit_16(1953);
+emit_16(1887);
+emit_16(1954);
+emit_16(1888);
+emit_16(1954);
+emit_16(1887);
+emit_16(1954);
+emit_16(1888);
+emit_16(1955);
+emit_16(1889);
+emit_16(1955);
+emit_16(1888);
+emit_16(1955);
+emit_16(1889);
+emit_16(1956);
+emit_16(1890);
+emit_16(1956);
+emit_16(1889);
+emit_16(1956);
+emit_16(1890);
+emit_16(1957);
+emit_16(1891);
+emit_16(1957);
+emit_16(1890);
+emit_16(1957);
+emit_16(1891);
+emit_16(1958);
+emit_16(1892);
+emit_16(1958);
+emit_16(1891);
+emit_16(1958);
+emit_16(1892);
+emit_16(1959);
+emit_16(1893);
+emit_16(1959);
+emit_16(1892);
+emit_16(1959);
+emit_16(1893);
+emit_16(1960);
+emit_16(1894);
+emit_16(1960);
+emit_16(1893);
+emit_16(1960);
+emit_16(1894);
+emit_16(1961);
+emit_16(1895);
+emit_16(1961);
+emit_16(1894);
+emit_16(1961);
+emit_16(1895);
+emit_16(1962);
+emit_16(1896);
+emit_16(1962);
+emit_16(1895);
+emit_16(1962);
+emit_16(1896);
+emit_16(1963);
+emit_16(1897);
+emit_16(1963);
+emit_16(1896);
+emit_16(1963);
+emit_16(1897);
+emit_16(1964);
+emit_16(1898);
+emit_16(1964);
+emit_16(1897);
+emit_16(1964);
+emit_16(1898);
+emit_16(1965);
+emit_16(1899);
+emit_16(1965);
+emit_16(1898);
+emit_16(1965);
+emit_16(1899);
+emit_16(1966);
+emit_16(1900);
+emit_16(1966);
+emit_16(1899);
+emit_16(1966);
+emit_16(1900);
+emit_16(1967);
+emit_16(1901);
+emit_16(1967);
+emit_16(1900);
+emit_16(1967);
+emit_16(1901);
+emit_16(1968);
+emit_16(1902);
+emit_16(1968);
+emit_16(1901);
+emit_16(1968);
+emit_16(1902);
+emit_16(1969);
+emit_16(1903);
+emit_16(1969);
+emit_16(1902);
+emit_16(1969);
+emit_16(1903);
+emit_16(1970);
+emit_16(1904);
+emit_16(1970);
+emit_16(1903);
+emit_16(1970);
+emit_16(1904);
+emit_16(1971);
+emit_16(1905);
+emit_16(1971);
+emit_16(1904);
+emit_16(1971);
+emit_16(1905);
+emit_16(1972);
+emit_16(1906);
+emit_16(1972);
+emit_16(1905);
+emit_16(1972);
+emit_16(1906);
+emit_16(1973);
+emit_16(1907);
+emit_16(1973);
+emit_16(1906);
+emit_16(1973);
+emit_16(1907);
+emit_16(1974);
+emit_16(1908);
+emit_16(1974);
+emit_16(1907);
+emit_16(1974);
+emit_16(1908);
+emit_16(1975);
+emit_16(1909);
+emit_16(1975);
+emit_16(1908);
+emit_16(1975);
+emit_16(1909);
+emit_16(1976);
+emit_16(1910);
+emit_16(1976);
+emit_16(1909);
+emit_16(1976);
+emit_16(1910);
+emit_16(1977);
+emit_16(1911);
+emit_16(1977);
+emit_16(1910);
+emit_16(1977);
+emit_16(1911);
+emit_16(1978);
+emit_16(1912);
+emit_16(1978);
+emit_16(1911);
+emit_16(1978);
+emit_16(1912);
+emit_16(1979);
+emit_16(1913);
+emit_16(1979);
+emit_16(1912);
+emit_16(1980);
+emit_16(1914);
+emit_16(1981);
+emit_16(1915);
+emit_16(1981);
+emit_16(1914);
+emit_16(1981);
+emit_16(1915);
+emit_16(1982);
+emit_16(1916);
+emit_16(1982);
+emit_16(1915);
+emit_16(1982);
+emit_16(1916);
+emit_16(1983);
+emit_16(1917);
+emit_16(1983);
+emit_16(1916);
+emit_16(1983);
+emit_16(1917);
+emit_16(1984);
+emit_16(1918);
+emit_16(1984);
+emit_16(1917);
+emit_16(1984);
+emit_16(1918);
+emit_16(1985);
+emit_16(1919);
+emit_16(1985);
+emit_16(1918);
+emit_16(1985);
+emit_16(1919);
+emit_16(1986);
+emit_16(1920);
+emit_16(1986);
+emit_16(1919);
+emit_16(1986);
+emit_16(1920);
+emit_16(1987);
+emit_16(1921);
+emit_16(1987);
+emit_16(1920);
+emit_16(1987);
+emit_16(1921);
+emit_16(1988);
+emit_16(1922);
+emit_16(1988);
+emit_16(1921);
+emit_16(1988);
+emit_16(1922);
+emit_16(1989);
+emit_16(1923);
+emit_16(1989);
+emit_16(1922);
+emit_16(1989);
+emit_16(1923);
+emit_16(1990);
+emit_16(1924);
+emit_16(1990);
+emit_16(1923);
+emit_16(1990);
+emit_16(1924);
+emit_16(1991);
+emit_16(1925);
+emit_16(1991);
+emit_16(1924);
+emit_16(1991);
+emit_16(1925);
+emit_16(1992);
+emit_16(1926);
+emit_16(1992);
+emit_16(1925);
+emit_16(1992);
+emit_16(1926);
+emit_16(1993);
+emit_16(1927);
+emit_16(1993);
+emit_16(1926);
+emit_16(1993);
+emit_16(1927);
+emit_16(1994);
+emit_16(1928);
+emit_16(1994);
+emit_16(1927);
+emit_16(1994);
+emit_16(1928);
+emit_16(1995);
+emit_16(1929);
+emit_16(1995);
+emit_16(1928);
+emit_16(1995);
+emit_16(1929);
+emit_16(1996);
+emit_16(1930);
+emit_16(1996);
+emit_16(1929);
+emit_16(1996);
+emit_16(1930);
+emit_16(1997);
+emit_16(1931);
+emit_16(1997);
+emit_16(1930);
+emit_16(1997);
+emit_16(1931);
+emit_16(1998);
+emit_16(1932);
+emit_16(1998);
+emit_16(1931);
+emit_16(1998);
+emit_16(1932);
+emit_16(1999);
+emit_16(1933);
+emit_16(1999);
+emit_16(1932);
+emit_16(1999);
+emit_16(1933);
+emit_16(2000);
+emit_16(1934);
+emit_16(2000);
+emit_16(1933);
+emit_16(2000);
+emit_16(1934);
+emit_16(2001);
+emit_16(1935);
+emit_16(2001);
+emit_16(1934);
+emit_16(2001);
+emit_16(1935);
+emit_16(2002);
+emit_16(1936);
+emit_16(2002);
+emit_16(1935);
+emit_16(2002);
+emit_16(1936);
+emit_16(2003);
+emit_16(1937);
+emit_16(2003);
+emit_16(1936);
+emit_16(2003);
+emit_16(1937);
+emit_16(2004);
+emit_16(1938);
+emit_16(2004);
+emit_16(1937);
+emit_16(2004);
+emit_16(1938);
+emit_16(2005);
+emit_16(1939);
+emit_16(2005);
+emit_16(1938);
+emit_16(2005);
+emit_16(1939);
+emit_16(2006);
+emit_16(1940);
+emit_16(2006);
+emit_16(1939);
+emit_16(2006);
+emit_16(1940);
+emit_16(2007);
+emit_16(1941);
+emit_16(2007);
+emit_16(1940);
+emit_16(2007);
+emit_16(1941);
+emit_16(2008);
+emit_16(1942);
+emit_16(2008);
+emit_16(1941);
+emit_16(2008);
+emit_16(1942);
+emit_16(2009);
+emit_16(1943);
+emit_16(2009);
+emit_16(1942);
+emit_16(2009);
+emit_16(1943);
+emit_16(2010);
+emit_16(1944);
+emit_16(2010);
+emit_16(1943);
+emit_16(2010);
+emit_16(1944);
+emit_16(2011);
+emit_16(1945);
+emit_16(2011);
+emit_16(1944);
+emit_16(2011);
+emit_16(1945);
+emit_16(2012);
+emit_16(1946);
+emit_16(2012);
+emit_16(1945);
+emit_16(2012);
+emit_16(1946);
+emit_16(2013);
+emit_16(1947);
+emit_16(2013);
+emit_16(1946);
+emit_16(2013);
+emit_16(1947);
+emit_16(2014);
+emit_16(1948);
+emit_16(2014);
+emit_16(1947);
+emit_16(2014);
+emit_16(1948);
+emit_16(2015);
+emit_16(1949);
+emit_16(2015);
+emit_16(1948);
+emit_16(2015);
+emit_16(1949);
+emit_16(2016);
+emit_16(1950);
+emit_16(2016);
+emit_16(1949);
+emit_16(2016);
+emit_16(1950);
+emit_16(2017);
+emit_16(1951);
+emit_16(2017);
+emit_16(1950);
+emit_16(2017);
+emit_16(1951);
+emit_16(2018);
+emit_16(1952);
+emit_16(2018);
+emit_16(1951);
+emit_16(2018);
+emit_16(1952);
+emit_16(2019);
+emit_16(1953);
+emit_16(2019);
+emit_16(1952);
+emit_16(2019);
+emit_16(1953);
+emit_16(2020);
+emit_16(1954);
+emit_16(2020);
+emit_16(1953);
+emit_16(2020);
+emit_16(1954);
+emit_16(2021);
+emit_16(1955);
+emit_16(2021);
+emit_16(1954);
+emit_16(2021);
+emit_16(1955);
+emit_16(2022);
+emit_16(1956);
+emit_16(2022);
+emit_16(1955);
+emit_16(2022);
+emit_16(1956);
+emit_16(2023);
+emit_16(1957);
+emit_16(2023);
+emit_16(1956);
+emit_16(2023);
+emit_16(1957);
+emit_16(2024);
+emit_16(1958);
+emit_16(2024);
+emit_16(1957);
+emit_16(2024);
+emit_16(1958);
+emit_16(2025);
+emit_16(1959);
+emit_16(2025);
+emit_16(1958);
+emit_16(2025);
+emit_16(1959);
+emit_16(2026);
+emit_16(1960);
+emit_16(2026);
+emit_16(1959);
+emit_16(2026);
+emit_16(1960);
+emit_16(2027);
+emit_16(1961);
+emit_16(2027);
+emit_16(1960);
+emit_16(2027);
+emit_16(1961);
+emit_16(2028);
+emit_16(1962);
+emit_16(2028);
+emit_16(1961);
+emit_16(2028);
+emit_16(1962);
+emit_16(2029);
+emit_16(1963);
+emit_16(2029);
+emit_16(1962);
+emit_16(2029);
+emit_16(1963);
+emit_16(2030);
+emit_16(1964);
+emit_16(2030);
+emit_16(1963);
+emit_16(2030);
+emit_16(1964);
+emit_16(2031);
+emit_16(1965);
+emit_16(2031);
+emit_16(1964);
+emit_16(2031);
+emit_16(1965);
+emit_16(2032);
+emit_16(1966);
+emit_16(2032);
+emit_16(1965);
+emit_16(2032);
+emit_16(1966);
+emit_16(2033);
+emit_16(1967);
+emit_16(2033);
+emit_16(1966);
+emit_16(2033);
+emit_16(1967);
+emit_16(2034);
+emit_16(1968);
+emit_16(2034);
+emit_16(1967);
+emit_16(2034);
+emit_16(1968);
+emit_16(2035);
+emit_16(1969);
+emit_16(2035);
+emit_16(1968);
+emit_16(2035);
+emit_16(1969);
+emit_16(2036);
+emit_16(1970);
+emit_16(2036);
+emit_16(1969);
+emit_16(2036);
+emit_16(1970);
+emit_16(2037);
+emit_16(1971);
+emit_16(2037);
+emit_16(1970);
+emit_16(2037);
+emit_16(1971);
+emit_16(2038);
+emit_16(1972);
+emit_16(2038);
+emit_16(1971);
+emit_16(2038);
+emit_16(1972);
+emit_16(2039);
+emit_16(1973);
+emit_16(2039);
+emit_16(1972);
+emit_16(2039);
+emit_16(1973);
+emit_16(2040);
+emit_16(1974);
+emit_16(2040);
+emit_16(1973);
+emit_16(2040);
+emit_16(1974);
+emit_16(2041);
+emit_16(1975);
+emit_16(2041);
+emit_16(1974);
+emit_16(2041);
+emit_16(1975);
+emit_16(2042);
+emit_16(1976);
+emit_16(2042);
+emit_16(1975);
+emit_16(2042);
+emit_16(1976);
+emit_16(2043);
+emit_16(1977);
+emit_16(2043);
+emit_16(1976);
+emit_16(2043);
+emit_16(1977);
+emit_16(2044);
+emit_16(1978);
+emit_16(2044);
+emit_16(1977);
+emit_16(2044);
+emit_16(1978);
+emit_16(2045);
+emit_16(1979);
+emit_16(2045);
+emit_16(1978);
+emit_16(2046);
+emit_16(1980);
+emit_16(2047);
+emit_16(1981);
+emit_16(2047);
+emit_16(1980);
+emit_16(2047);
+emit_16(1981);
+emit_16(2048);
+emit_16(1982);
+emit_16(2048);
+emit_16(1981);
+emit_16(2048);
+emit_16(1982);
+emit_16(2049);
+emit_16(1983);
+emit_16(2049);
+emit_16(1982);
+emit_16(2049);
+emit_16(1983);
+emit_16(2050);
+emit_16(1984);
+emit_16(2050);
+emit_16(1983);
+emit_16(2050);
+emit_16(1984);
+emit_16(2051);
+emit_16(1985);
+emit_16(2051);
+emit_16(1984);
+emit_16(2051);
+emit_16(1985);
+emit_16(2052);
+emit_16(1986);
+emit_16(2052);
+emit_16(1985);
+emit_16(2052);
+emit_16(1986);
+emit_16(2053);
+emit_16(1987);
+emit_16(2053);
+emit_16(1986);
+emit_16(2053);
+emit_16(1987);
+emit_16(2054);
+emit_16(1988);
+emit_16(2054);
+emit_16(1987);
+emit_16(2054);
+emit_16(1988);
+emit_16(2055);
+emit_16(1989);
+emit_16(2055);
+emit_16(1988);
+emit_16(2055);
+emit_16(1989);
+emit_16(2056);
+emit_16(1990);
+emit_16(2056);
+emit_16(1989);
+emit_16(2056);
+emit_16(1990);
+emit_16(2057);
+emit_16(1991);
+emit_16(2057);
+emit_16(1990);
+emit_16(2057);
+emit_16(1991);
+emit_16(2058);
+emit_16(1992);
+emit_16(2058);
+emit_16(1991);
+emit_16(2058);
+emit_16(1992);
+emit_16(2059);
+emit_16(1993);
+emit_16(2059);
+emit_16(1992);
+emit_16(2059);
+emit_16(1993);
+emit_16(2060);
+emit_16(1994);
+emit_16(2060);
+emit_16(1993);
+emit_16(2060);
+emit_16(1994);
+emit_16(2061);
+emit_16(1995);
+emit_16(2061);
+emit_16(1994);
+emit_16(2061);
+emit_16(1995);
+emit_16(2062);
+emit_16(1996);
+emit_16(2062);
+emit_16(1995);
+emit_16(2062);
+emit_16(1996);
+emit_16(2063);
+emit_16(1997);
+emit_16(2063);
+emit_16(1996);
+emit_16(2063);
+emit_16(1997);
+emit_16(2064);
+emit_16(1998);
+emit_16(2064);
+emit_16(1997);
+emit_16(2064);
+emit_16(1998);
+emit_16(2065);
+emit_16(1999);
+emit_16(2065);
+emit_16(1998);
+emit_16(2065);
+emit_16(1999);
+emit_16(2066);
+emit_16(2000);
+emit_16(2066);
+emit_16(1999);
+emit_16(2066);
+emit_16(2000);
+emit_16(2067);
+emit_16(2001);
+emit_16(2067);
+emit_16(2000);
+emit_16(2067);
+emit_16(2001);
+emit_16(2068);
+emit_16(2002);
+emit_16(2068);
+emit_16(2001);
+emit_16(2068);
+emit_16(2002);
+emit_16(2069);
+emit_16(2003);
+emit_16(2069);
+emit_16(2002);
+emit_16(2069);
+emit_16(2003);
+emit_16(2070);
+emit_16(2004);
+emit_16(2070);
+emit_16(2003);
+emit_16(2070);
+emit_16(2004);
+emit_16(2071);
+emit_16(2005);
+emit_16(2071);
+emit_16(2004);
+emit_16(2071);
+emit_16(2005);
+emit_16(2072);
+emit_16(2006);
+emit_16(2072);
+emit_16(2005);
+emit_16(2072);
+emit_16(2006);
+emit_16(2073);
+emit_16(2007);
+emit_16(2073);
+emit_16(2006);
+emit_16(2073);
+emit_16(2007);
+emit_16(2074);
+emit_16(2008);
+emit_16(2074);
+emit_16(2007);
+emit_16(2074);
+emit_16(2008);
+emit_16(2075);
+emit_16(2009);
+emit_16(2075);
+emit_16(2008);
+emit_16(2075);
+emit_16(2009);
+emit_16(2076);
+emit_16(2010);
+emit_16(2076);
+emit_16(2009);
+emit_16(2076);
+emit_16(2010);
+emit_16(2077);
+emit_16(2011);
+emit_16(2077);
+emit_16(2010);
+emit_16(2077);
+emit_16(2011);
+emit_16(2078);
+emit_16(2012);
+emit_16(2078);
+emit_16(2011);
+emit_16(2078);
+emit_16(2012);
+emit_16(2079);
+emit_16(2013);
+emit_16(2079);
+emit_16(2012);
+emit_16(2079);
+emit_16(2013);
+emit_16(2080);
+emit_16(2014);
+emit_16(2080);
+emit_16(2013);
+emit_16(2080);
+emit_16(2014);
+emit_16(2081);
+emit_16(2015);
+emit_16(2081);
+emit_16(2014);
+emit_16(2081);
+emit_16(2015);
+emit_16(2082);
+emit_16(2016);
+emit_16(2082);
+emit_16(2015);
+emit_16(2082);
+emit_16(2016);
+emit_16(2083);
+emit_16(2017);
+emit_16(2083);
+emit_16(2016);
+emit_16(2083);
+emit_16(2017);
+emit_16(2084);
+emit_16(2018);
+emit_16(2084);
+emit_16(2017);
+emit_16(2084);
+emit_16(2018);
+emit_16(2085);
+emit_16(2019);
+emit_16(2085);
+emit_16(2018);
+emit_16(2085);
+emit_16(2019);
+emit_16(2086);
+emit_16(2020);
+emit_16(2086);
+emit_16(2019);
+emit_16(2086);
+emit_16(2020);
+emit_16(2087);
+emit_16(2021);
+emit_16(2087);
+emit_16(2020);
+emit_16(2087);
+emit_16(2021);
+emit_16(2088);
+emit_16(2022);
+emit_16(2088);
+emit_16(2021);
+emit_16(2088);
+emit_16(2022);
+emit_16(2089);
+emit_16(2023);
+emit_16(2089);
+emit_16(2022);
+emit_16(2089);
+emit_16(2023);
+emit_16(2090);
+emit_16(2024);
+emit_16(2090);
+emit_16(2023);
+emit_16(2090);
+emit_16(2024);
+emit_16(2091);
+emit_16(2025);
+emit_16(2091);
+emit_16(2024);
+emit_16(2091);
+emit_16(2025);
+emit_16(2092);
+emit_16(2026);
+emit_16(2092);
+emit_16(2025);
+emit_16(2092);
+emit_16(2026);
+emit_16(2093);
+emit_16(2027);
+emit_16(2093);
+emit_16(2026);
+emit_16(2093);
+emit_16(2027);
+emit_16(2094);
+emit_16(2028);
+emit_16(2094);
+emit_16(2027);
+emit_16(2094);
+emit_16(2028);
+emit_16(2095);
+emit_16(2029);
+emit_16(2095);
+emit_16(2028);
+emit_16(2095);
+emit_16(2029);
+emit_16(2096);
+emit_16(2030);
+emit_16(2096);
+emit_16(2029);
+emit_16(2096);
+emit_16(2030);
+emit_16(2097);
+emit_16(2031);
+emit_16(2097);
+emit_16(2030);
+emit_16(2097);
+emit_16(2031);
+emit_16(2098);
+emit_16(2032);
+emit_16(2098);
+emit_16(2031);
+emit_16(2098);
+emit_16(2032);
+emit_16(2099);
+emit_16(2033);
+emit_16(2099);
+emit_16(2032);
+emit_16(2099);
+emit_16(2033);
+emit_16(2100);
+emit_16(2034);
+emit_16(2100);
+emit_16(2033);
+emit_16(2100);
+emit_16(2034);
+emit_16(2101);
+emit_16(2035);
+emit_16(2101);
+emit_16(2034);
+emit_16(2101);
+emit_16(2035);
+emit_16(2102);
+emit_16(2036);
+emit_16(2102);
+emit_16(2035);
+emit_16(2102);
+emit_16(2036);
+emit_16(2103);
+emit_16(2037);
+emit_16(2103);
+emit_16(2036);
+emit_16(2103);
+emit_16(2037);
+emit_16(2104);
+emit_16(2038);
+emit_16(2104);
+emit_16(2037);
+emit_16(2104);
+emit_16(2038);
+emit_16(2105);
+emit_16(2039);
+emit_16(2105);
+emit_16(2038);
+emit_16(2105);
+emit_16(2039);
+emit_16(2106);
+emit_16(2040);
+emit_16(2106);
+emit_16(2039);
+emit_16(2106);
+emit_16(2040);
+emit_16(2107);
+emit_16(2041);
+emit_16(2107);
+emit_16(2040);
+emit_16(2107);
+emit_16(2041);
+emit_16(2108);
+emit_16(2042);
+emit_16(2108);
+emit_16(2041);
+emit_16(2108);
+emit_16(2042);
+emit_16(2109);
+emit_16(2043);
+emit_16(2109);
+emit_16(2042);
+emit_16(2109);
+emit_16(2043);
+emit_16(2110);
+emit_16(2044);
+emit_16(2110);
+emit_16(2043);
+emit_16(2110);
+emit_16(2044);
+emit_16(2111);
+emit_16(2045);
+emit_16(2111);
+emit_16(2044);
+emit_16(2112);
+emit_16(2046);
+emit_16(2113);
+emit_16(2047);
+emit_16(2113);
+emit_16(2046);
+emit_16(2113);
+emit_16(2047);
+emit_16(2114);
+emit_16(2048);
+emit_16(2114);
+emit_16(2047);
+emit_16(2114);
+emit_16(2048);
+emit_16(2115);
+emit_16(2049);
+emit_16(2115);
+emit_16(2048);
+emit_16(2115);
+emit_16(2049);
+emit_16(2116);
+emit_16(2050);
+emit_16(2116);
+emit_16(2049);
+emit_16(2116);
+emit_16(2050);
+emit_16(2117);
+emit_16(2051);
+emit_16(2117);
+emit_16(2050);
+emit_16(2117);
+emit_16(2051);
+emit_16(2118);
+emit_16(2052);
+emit_16(2118);
+emit_16(2051);
+emit_16(2118);
+emit_16(2052);
+emit_16(2119);
+emit_16(2053);
+emit_16(2119);
+emit_16(2052);
+emit_16(2119);
+emit_16(2053);
+emit_16(2120);
+emit_16(2054);
+emit_16(2120);
+emit_16(2053);
+emit_16(2120);
+emit_16(2054);
+emit_16(2121);
+emit_16(2055);
+emit_16(2121);
+emit_16(2054);
+emit_16(2121);
+emit_16(2055);
+emit_16(2122);
+emit_16(2056);
+emit_16(2122);
+emit_16(2055);
+emit_16(2122);
+emit_16(2056);
+emit_16(2123);
+emit_16(2057);
+emit_16(2123);
+emit_16(2056);
+emit_16(2123);
+emit_16(2057);
+emit_16(2124);
+emit_16(2058);
+emit_16(2124);
+emit_16(2057);
+emit_16(2124);
+emit_16(2058);
+emit_16(2125);
+emit_16(2059);
+emit_16(2125);
+emit_16(2058);
+emit_16(2125);
+emit_16(2059);
+emit_16(2126);
+emit_16(2060);
+emit_16(2126);
+emit_16(2059);
+emit_16(2126);
+emit_16(2060);
+emit_16(2127);
+emit_16(2061);
+emit_16(2127);
+emit_16(2060);
+emit_16(2127);
+emit_16(2061);
+emit_16(2128);
+emit_16(2062);
+emit_16(2128);
+emit_16(2061);
+emit_16(2128);
+emit_16(2062);
+emit_16(2129);
+emit_16(2063);
+emit_16(2129);
+emit_16(2062);
+emit_16(2129);
+emit_16(2063);
+emit_16(2130);
+emit_16(2064);
+emit_16(2130);
+emit_16(2063);
+emit_16(2130);
+emit_16(2064);
+emit_16(2131);
+emit_16(2065);
+emit_16(2131);
+emit_16(2064);
+emit_16(2131);
+emit_16(2065);
+emit_16(2132);
+emit_16(2066);
+emit_16(2132);
+emit_16(2065);
+emit_16(2132);
+emit_16(2066);
+emit_16(2133);
+emit_16(2067);
+emit_16(2133);
+emit_16(2066);
+emit_16(2133);
+emit_16(2067);
+emit_16(2134);
+emit_16(2068);
+emit_16(2134);
+emit_16(2067);
+emit_16(2134);
+emit_16(2068);
+emit_16(2135);
+emit_16(2069);
+emit_16(2135);
+emit_16(2068);
+emit_16(2135);
+emit_16(2069);
+emit_16(2136);
+emit_16(2070);
+emit_16(2136);
+emit_16(2069);
+emit_16(2136);
+emit_16(2070);
+emit_16(2137);
+emit_16(2071);
+emit_16(2137);
+emit_16(2070);
+emit_16(2137);
+emit_16(2071);
+emit_16(2138);
+emit_16(2072);
+emit_16(2138);
+emit_16(2071);
+emit_16(2138);
+emit_16(2072);
+emit_16(2139);
+emit_16(2073);
+emit_16(2139);
+emit_16(2072);
+emit_16(2139);
+emit_16(2073);
+emit_16(2140);
+emit_16(2074);
+emit_16(2140);
+emit_16(2073);
+emit_16(2140);
+emit_16(2074);
+emit_16(2141);
+emit_16(2075);
+emit_16(2141);
+emit_16(2074);
+emit_16(2141);
+emit_16(2075);
+emit_16(2142);
+emit_16(2076);
+emit_16(2142);
+emit_16(2075);
+emit_16(2142);
+emit_16(2076);
+emit_16(2143);
+emit_16(2077);
+emit_16(2143);
+emit_16(2076);
+emit_16(2143);
+emit_16(2077);
+emit_16(2144);
+emit_16(2078);
+emit_16(2144);
+emit_16(2077);
+emit_16(2144);
+emit_16(2078);
+emit_16(2145);
+emit_16(2079);
+emit_16(2145);
+emit_16(2078);
+emit_16(2145);
+emit_16(2079);
+emit_16(2146);
+emit_16(2080);
+emit_16(2146);
+emit_16(2079);
+emit_16(2146);
+emit_16(2080);
+emit_16(2147);
+emit_16(2081);
+emit_16(2147);
+emit_16(2080);
+emit_16(2147);
+emit_16(2081);
+emit_16(2148);
+emit_16(2082);
+emit_16(2148);
+emit_16(2081);
+emit_16(2148);
+emit_16(2082);
+emit_16(2149);
+emit_16(2083);
+emit_16(2149);
+emit_16(2082);
+emit_16(2149);
+emit_16(2083);
+emit_16(2150);
+emit_16(2084);
+emit_16(2150);
+emit_16(2083);
+emit_16(2150);
+emit_16(2084);
+emit_16(2151);
+emit_16(2085);
+emit_16(2151);
+emit_16(2084);
+emit_16(2151);
+emit_16(2085);
+emit_16(2152);
+emit_16(2086);
+emit_16(2152);
+emit_16(2085);
+emit_16(2152);
+emit_16(2086);
+emit_16(2153);
+emit_16(2087);
+emit_16(2153);
+emit_16(2086);
+emit_16(2153);
+emit_16(2087);
+emit_16(2154);
+emit_16(2088);
+emit_16(2154);
+emit_16(2087);
+emit_16(2154);
+emit_16(2088);
+emit_16(2155);
+emit_16(2089);
+emit_16(2155);
+emit_16(2088);
+emit_16(2155);
+emit_16(2089);
+emit_16(2156);
+emit_16(2090);
+emit_16(2156);
+emit_16(2089);
+emit_16(2156);
+emit_16(2090);
+emit_16(2157);
+emit_16(2091);
+emit_16(2157);
+emit_16(2090);
+emit_16(2157);
+emit_16(2091);
+emit_16(2158);
+emit_16(2092);
+emit_16(2158);
+emit_16(2091);
+emit_16(2158);
+emit_16(2092);
+emit_16(2159);
+emit_16(2093);
+emit_16(2159);
+emit_16(2092);
+emit_16(2159);
+emit_16(2093);
+emit_16(2160);
+emit_16(2094);
+emit_16(2160);
+emit_16(2093);
+emit_16(2160);
+emit_16(2094);
+emit_16(2161);
+emit_16(2095);
+emit_16(2161);
+emit_16(2094);
+emit_16(2161);
+emit_16(2095);
+emit_16(2162);
+emit_16(2096);
+emit_16(2162);
+emit_16(2095);
+emit_16(2162);
+emit_16(2096);
+emit_16(2163);
+emit_16(2097);
+emit_16(2163);
+emit_16(2096);
+emit_16(2163);
+emit_16(2097);
+emit_16(2164);
+emit_16(2098);
+emit_16(2164);
+emit_16(2097);
+emit_16(2164);
+emit_16(2098);
+emit_16(2165);
+emit_16(2099);
+emit_16(2165);
+emit_16(2098);
+emit_16(2165);
+emit_16(2099);
+emit_16(2166);
+emit_16(2100);
+emit_16(2166);
+emit_16(2099);
+emit_16(2166);
+emit_16(2100);
+emit_16(2167);
+emit_16(2101);
+emit_16(2167);
+emit_16(2100);
+emit_16(2167);
+emit_16(2101);
+emit_16(2168);
+emit_16(2102);
+emit_16(2168);
+emit_16(2101);
+emit_16(2168);
+emit_16(2102);
+emit_16(2169);
+emit_16(2103);
+emit_16(2169);
+emit_16(2102);
+emit_16(2169);
+emit_16(2103);
+emit_16(2170);
+emit_16(2104);
+emit_16(2170);
+emit_16(2103);
+emit_16(2170);
+emit_16(2104);
+emit_16(2171);
+emit_16(2105);
+emit_16(2171);
+emit_16(2104);
+emit_16(2171);
+emit_16(2105);
+emit_16(2172);
+emit_16(2106);
+emit_16(2172);
+emit_16(2105);
+emit_16(2172);
+emit_16(2106);
+emit_16(2173);
+emit_16(2107);
+emit_16(2173);
+emit_16(2106);
+emit_16(2173);
+emit_16(2107);
+emit_16(2174);
+emit_16(2108);
+emit_16(2174);
+emit_16(2107);
+emit_16(2174);
+emit_16(2108);
+emit_16(2175);
+emit_16(2109);
+emit_16(2175);
+emit_16(2108);
+emit_16(2175);
+emit_16(2109);
+emit_16(2176);
+emit_16(2110);
+emit_16(2176);
+emit_16(2109);
+emit_16(2176);
+emit_16(2110);
+emit_16(2177);
+emit_16(2111);
+emit_16(2177);
+emit_16(2110);
+emit_16(2178);
+emit_16(2112);
+emit_16(2179);
+emit_16(2113);
+emit_16(2179);
+emit_16(2112);
+emit_16(2179);
+emit_16(2113);
+emit_16(2180);
+emit_16(2114);
+emit_16(2180);
+emit_16(2113);
+emit_16(2180);
+emit_16(2114);
+emit_16(2181);
+emit_16(2115);
+emit_16(2181);
+emit_16(2114);
+emit_16(2181);
+emit_16(2115);
+emit_16(2182);
+emit_16(2116);
+emit_16(2182);
+emit_16(2115);
+emit_16(2182);
+emit_16(2116);
+emit_16(2183);
+emit_16(2117);
+emit_16(2183);
+emit_16(2116);
+emit_16(2183);
+emit_16(2117);
+emit_16(2184);
+emit_16(2118);
+emit_16(2184);
+emit_16(2117);
+emit_16(2184);
+emit_16(2118);
+emit_16(2185);
+emit_16(2119);
+emit_16(2185);
+emit_16(2118);
+emit_16(2185);
+emit_16(2119);
+emit_16(2186);
+emit_16(2120);
+emit_16(2186);
+emit_16(2119);
+emit_16(2186);
+emit_16(2120);
+emit_16(2187);
+emit_16(2121);
+emit_16(2187);
+emit_16(2120);
+emit_16(2187);
+emit_16(2121);
+emit_16(2188);
+emit_16(2122);
+emit_16(2188);
+emit_16(2121);
+emit_16(2188);
+emit_16(2122);
+emit_16(2189);
+emit_16(2123);
+emit_16(2189);
+emit_16(2122);
+emit_16(2189);
+emit_16(2123);
+emit_16(2190);
+emit_16(2124);
+emit_16(2190);
+emit_16(2123);
+emit_16(2190);
+emit_16(2124);
+emit_16(2191);
+emit_16(2125);
+emit_16(2191);
+emit_16(2124);
+emit_16(2191);
+emit_16(2125);
+emit_16(2192);
+emit_16(2126);
+emit_16(2192);
+emit_16(2125);
+emit_16(2192);
+emit_16(2126);
+emit_16(2193);
+emit_16(2127);
+emit_16(2193);
+emit_16(2126);
+emit_16(2193);
+emit_16(2127);
+emit_16(2194);
+emit_16(2128);
+emit_16(2194);
+emit_16(2127);
+emit_16(2194);
+emit_16(2128);
+emit_16(2195);
+emit_16(2129);
+emit_16(2195);
+emit_16(2128);
+emit_16(2195);
+emit_16(2129);
+emit_16(2196);
+emit_16(2130);
+emit_16(2196);
+emit_16(2129);
+emit_16(2196);
+emit_16(2130);
+emit_16(2197);
+emit_16(2131);
+emit_16(2197);
+emit_16(2130);
+emit_16(2197);
+emit_16(2131);
+emit_16(2198);
+emit_16(2132);
+emit_16(2198);
+emit_16(2131);
+emit_16(2198);
+emit_16(2132);
+emit_16(2199);
+emit_16(2133);
+emit_16(2199);
+emit_16(2132);
+emit_16(2199);
+emit_16(2133);
+emit_16(2200);
+emit_16(2134);
+emit_16(2200);
+emit_16(2133);
+emit_16(2200);
+emit_16(2134);
+emit_16(2201);
+emit_16(2135);
+emit_16(2201);
+emit_16(2134);
+emit_16(2201);
+emit_16(2135);
+emit_16(2202);
+emit_16(2136);
+emit_16(2202);
+emit_16(2135);
+emit_16(2202);
+emit_16(2136);
+emit_16(2203);
+emit_16(2137);
+emit_16(2203);
+emit_16(2136);
+emit_16(2203);
+emit_16(2137);
+emit_16(2204);
+emit_16(2138);
+emit_16(2204);
+emit_16(2137);
+emit_16(2204);
+emit_16(2138);
+emit_16(2205);
+emit_16(2139);
+emit_16(2205);
+emit_16(2138);
+emit_16(2205);
+emit_16(2139);
+emit_16(2206);
+emit_16(2140);
+emit_16(2206);
+emit_16(2139);
+emit_16(2206);
+emit_16(2140);
+emit_16(2207);
+emit_16(2141);
+emit_16(2207);
+emit_16(2140);
+emit_16(2207);
+emit_16(2141);
+emit_16(2208);
+emit_16(2142);
+emit_16(2208);
+emit_16(2141);
+emit_16(2208);
+emit_16(2142);
+emit_16(2209);
+emit_16(2143);
+emit_16(2209);
+emit_16(2142);
+emit_16(2209);
+emit_16(2143);
+emit_16(2210);
+emit_16(2144);
+emit_16(2210);
+emit_16(2143);
+emit_16(2210);
+emit_16(2144);
+emit_16(2211);
+emit_16(2145);
+emit_16(2211);
+emit_16(2144);
+emit_16(2211);
+emit_16(2145);
+emit_16(2212);
+emit_16(2146);
+emit_16(2212);
+emit_16(2145);
+emit_16(2212);
+emit_16(2146);
+emit_16(2213);
+emit_16(2147);
+emit_16(2213);
+emit_16(2146);
+emit_16(2213);
+emit_16(2147);
+emit_16(2214);
+emit_16(2148);
+emit_16(2214);
+emit_16(2147);
+emit_16(2214);
+emit_16(2148);
+emit_16(2215);
+emit_16(2149);
+emit_16(2215);
+emit_16(2148);
+emit_16(2215);
+emit_16(2149);
+emit_16(2216);
+emit_16(2150);
+emit_16(2216);
+emit_16(2149);
+emit_16(2216);
+emit_16(2150);
+emit_16(2217);
+emit_16(2151);
+emit_16(2217);
+emit_16(2150);
+emit_16(2217);
+emit_16(2151);
+emit_16(2218);
+emit_16(2152);
+emit_16(2218);
+emit_16(2151);
+emit_16(2218);
+emit_16(2152);
+emit_16(2219);
+emit_16(2153);
+emit_16(2219);
+emit_16(2152);
+emit_16(2219);
+emit_16(2153);
+emit_16(2220);
+emit_16(2154);
+emit_16(2220);
+emit_16(2153);
+emit_16(2220);
+emit_16(2154);
+emit_16(2221);
+emit_16(2155);
+emit_16(2221);
+emit_16(2154);
+emit_16(2221);
+emit_16(2155);
+emit_16(2222);
+emit_16(2156);
+emit_16(2222);
+emit_16(2155);
+emit_16(2222);
+emit_16(2156);
+emit_16(2223);
+emit_16(2157);
+emit_16(2223);
+emit_16(2156);
+emit_16(2223);
+emit_16(2157);
+emit_16(2224);
+emit_16(2158);
+emit_16(2224);
+emit_16(2157);
+emit_16(2224);
+emit_16(2158);
+emit_16(2225);
+emit_16(2159);
+emit_16(2225);
+emit_16(2158);
+emit_16(2225);
+emit_16(2159);
+emit_16(2226);
+emit_16(2160);
+emit_16(2226);
+emit_16(2159);
+emit_16(2226);
+emit_16(2160);
+emit_16(2227);
+emit_16(2161);
+emit_16(2227);
+emit_16(2160);
+emit_16(2227);
+emit_16(2161);
+emit_16(2228);
+emit_16(2162);
+emit_16(2228);
+emit_16(2161);
+emit_16(2228);
+emit_16(2162);
+emit_16(2229);
+emit_16(2163);
+emit_16(2229);
+emit_16(2162);
+emit_16(2229);
+emit_16(2163);
+emit_16(2230);
+emit_16(2164);
+emit_16(2230);
+emit_16(2163);
+emit_16(2230);
+emit_16(2164);
+emit_16(2231);
+emit_16(2165);
+emit_16(2231);
+emit_16(2164);
+emit_16(2231);
+emit_16(2165);
+emit_16(2232);
+emit_16(2166);
+emit_16(2232);
+emit_16(2165);
+emit_16(2232);
+emit_16(2166);
+emit_16(2233);
+emit_16(2167);
+emit_16(2233);
+emit_16(2166);
+emit_16(2233);
+emit_16(2167);
+emit_16(2234);
+emit_16(2168);
+emit_16(2234);
+emit_16(2167);
+emit_16(2234);
+emit_16(2168);
+emit_16(2235);
+emit_16(2169);
+emit_16(2235);
+emit_16(2168);
+emit_16(2235);
+emit_16(2169);
+emit_16(2236);
+emit_16(2170);
+emit_16(2236);
+emit_16(2169);
+emit_16(2236);
+emit_16(2170);
+emit_16(2237);
+emit_16(2171);
+emit_16(2237);
+emit_16(2170);
+emit_16(2237);
+emit_16(2171);
+emit_16(2238);
+emit_16(2172);
+emit_16(2238);
+emit_16(2171);
+emit_16(2238);
+emit_16(2172);
+emit_16(2239);
+emit_16(2173);
+emit_16(2239);
+emit_16(2172);
+emit_16(2239);
+emit_16(2173);
+emit_16(2240);
+emit_16(2174);
+emit_16(2240);
+emit_16(2173);
+emit_16(2240);
+emit_16(2174);
+emit_16(2241);
+emit_16(2175);
+emit_16(2241);
+emit_16(2174);
+emit_16(2241);
+emit_16(2175);
+emit_16(2242);
+emit_16(2176);
+emit_16(2242);
+emit_16(2175);
+emit_16(2242);
+emit_16(2176);
+emit_16(2243);
+emit_16(2177);
+emit_16(2243);
+emit_16(2176);
+emit_start(Landscape06Idx)
+emit_16(0);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(2);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(4);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(6);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(8);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(10);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(12);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(14);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(16);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(18);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(20);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(22);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(24);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(26);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(28);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(30);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(32);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(34);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(36);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(38);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(40);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(42);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(44);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(46);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(48);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(50);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(52);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(54);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(56);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(58);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(60);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(62);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(64);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(66);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(68);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(70);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(72);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(74);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(76);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(78);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(80);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(82);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(84);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(86);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(88);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(90);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(92);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(94);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(96);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(98);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(100);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(102);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(104);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(106);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(108);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(110);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(112);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(114);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(116);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(118);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(120);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(122);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(124);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(126);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(128);
+emit_16(129);
+emit_16(128);
+emit_16(127);
+emit_16(128);
+emit_16(129);
+emit_16(130);
+emit_16(131);
+emit_16(130);
+emit_16(129);
+emit_16(132);
+emit_16(0);
+emit_16(133);
+emit_16(2);
+emit_16(133);
+emit_16(0);
+emit_16(133);
+emit_16(2);
+emit_16(134);
+emit_16(4);
+emit_16(134);
+emit_16(2);
+emit_16(134);
+emit_16(4);
+emit_16(135);
+emit_16(6);
+emit_16(135);
+emit_16(4);
+emit_16(135);
+emit_16(6);
+emit_16(136);
+emit_16(8);
+emit_16(136);
+emit_16(6);
+emit_16(136);
+emit_16(8);
+emit_16(137);
+emit_16(10);
+emit_16(137);
+emit_16(8);
+emit_16(137);
+emit_16(10);
+emit_16(138);
+emit_16(12);
+emit_16(138);
+emit_16(10);
+emit_16(138);
+emit_16(12);
+emit_16(139);
+emit_16(14);
+emit_16(139);
+emit_16(12);
+emit_16(139);
+emit_16(14);
+emit_16(140);
+emit_16(16);
+emit_16(140);
+emit_16(14);
+emit_16(140);
+emit_16(16);
+emit_16(141);
+emit_16(18);
+emit_16(141);
+emit_16(16);
+emit_16(141);
+emit_16(18);
+emit_16(142);
+emit_16(20);
+emit_16(142);
+emit_16(18);
+emit_16(142);
+emit_16(20);
+emit_16(143);
+emit_16(22);
+emit_16(143);
+emit_16(20);
+emit_16(143);
+emit_16(22);
+emit_16(144);
+emit_16(24);
+emit_16(144);
+emit_16(22);
+emit_16(144);
+emit_16(24);
+emit_16(145);
+emit_16(26);
+emit_16(145);
+emit_16(24);
+emit_16(145);
+emit_16(26);
+emit_16(146);
+emit_16(28);
+emit_16(146);
+emit_16(26);
+emit_16(146);
+emit_16(28);
+emit_16(147);
+emit_16(30);
+emit_16(147);
+emit_16(28);
+emit_16(147);
+emit_16(30);
+emit_16(148);
+emit_16(32);
+emit_16(148);
+emit_16(30);
+emit_16(148);
+emit_16(32);
+emit_16(149);
+emit_16(34);
+emit_16(149);
+emit_16(32);
+emit_16(149);
+emit_16(34);
+emit_16(150);
+emit_16(36);
+emit_16(150);
+emit_16(34);
+emit_16(150);
+emit_16(36);
+emit_16(151);
+emit_16(38);
+emit_16(151);
+emit_16(36);
+emit_16(151);
+emit_16(38);
+emit_16(152);
+emit_16(40);
+emit_16(152);
+emit_16(38);
+emit_16(152);
+emit_16(40);
+emit_16(153);
+emit_16(42);
+emit_16(153);
+emit_16(40);
+emit_16(153);
+emit_16(42);
+emit_16(154);
+emit_16(44);
+emit_16(154);
+emit_16(42);
+emit_16(154);
+emit_16(44);
+emit_16(155);
+emit_16(46);
+emit_16(155);
+emit_16(44);
+emit_16(155);
+emit_16(46);
+emit_16(156);
+emit_16(48);
+emit_16(156);
+emit_16(46);
+emit_16(156);
+emit_16(48);
+emit_16(157);
+emit_16(50);
+emit_16(157);
+emit_16(48);
+emit_16(157);
+emit_16(50);
+emit_16(158);
+emit_16(52);
+emit_16(158);
+emit_16(50);
+emit_16(158);
+emit_16(52);
+emit_16(159);
+emit_16(54);
+emit_16(159);
+emit_16(52);
+emit_16(159);
+emit_16(54);
+emit_16(160);
+emit_16(56);
+emit_16(160);
+emit_16(54);
+emit_16(160);
+emit_16(56);
+emit_16(161);
+emit_16(58);
+emit_16(161);
+emit_16(56);
+emit_16(161);
+emit_16(58);
+emit_16(162);
+emit_16(60);
+emit_16(162);
+emit_16(58);
+emit_16(162);
+emit_16(60);
+emit_16(163);
+emit_16(62);
+emit_16(163);
+emit_16(60);
+emit_16(163);
+emit_16(62);
+emit_16(164);
+emit_16(64);
+emit_16(164);
+emit_16(62);
+emit_16(164);
+emit_16(64);
+emit_16(165);
+emit_16(66);
+emit_16(165);
+emit_16(64);
+emit_16(165);
+emit_16(66);
+emit_16(166);
+emit_16(68);
+emit_16(166);
+emit_16(66);
+emit_16(166);
+emit_16(68);
+emit_16(167);
+emit_16(70);
+emit_16(167);
+emit_16(68);
+emit_16(167);
+emit_16(70);
+emit_16(168);
+emit_16(72);
+emit_16(168);
+emit_16(70);
+emit_16(168);
+emit_16(72);
+emit_16(169);
+emit_16(74);
+emit_16(169);
+emit_16(72);
+emit_16(169);
+emit_16(74);
+emit_16(170);
+emit_16(76);
+emit_16(170);
+emit_16(74);
+emit_16(170);
+emit_16(76);
+emit_16(171);
+emit_16(78);
+emit_16(171);
+emit_16(76);
+emit_16(171);
+emit_16(78);
+emit_16(172);
+emit_16(80);
+emit_16(172);
+emit_16(78);
+emit_16(172);
+emit_16(80);
+emit_16(173);
+emit_16(82);
+emit_16(173);
+emit_16(80);
+emit_16(173);
+emit_16(82);
+emit_16(174);
+emit_16(84);
+emit_16(174);
+emit_16(82);
+emit_16(174);
+emit_16(84);
+emit_16(175);
+emit_16(86);
+emit_16(175);
+emit_16(84);
+emit_16(175);
+emit_16(86);
+emit_16(176);
+emit_16(88);
+emit_16(176);
+emit_16(86);
+emit_16(176);
+emit_16(88);
+emit_16(177);
+emit_16(90);
+emit_16(177);
+emit_16(88);
+emit_16(177);
+emit_16(90);
+emit_16(178);
+emit_16(92);
+emit_16(178);
+emit_16(90);
+emit_16(178);
+emit_16(92);
+emit_16(179);
+emit_16(94);
+emit_16(179);
+emit_16(92);
+emit_16(179);
+emit_16(94);
+emit_16(180);
+emit_16(96);
+emit_16(180);
+emit_16(94);
+emit_16(180);
+emit_16(96);
+emit_16(181);
+emit_16(98);
+emit_16(181);
+emit_16(96);
+emit_16(181);
+emit_16(98);
+emit_16(182);
+emit_16(100);
+emit_16(182);
+emit_16(98);
+emit_16(182);
+emit_16(100);
+emit_16(183);
+emit_16(102);
+emit_16(183);
+emit_16(100);
+emit_16(183);
+emit_16(102);
+emit_16(184);
+emit_16(104);
+emit_16(184);
+emit_16(102);
+emit_16(184);
+emit_16(104);
+emit_16(185);
+emit_16(106);
+emit_16(185);
+emit_16(104);
+emit_16(185);
+emit_16(106);
+emit_16(186);
+emit_16(108);
+emit_16(186);
+emit_16(106);
+emit_16(186);
+emit_16(108);
+emit_16(187);
+emit_16(110);
+emit_16(187);
+emit_16(108);
+emit_16(187);
+emit_16(110);
+emit_16(188);
+emit_16(112);
+emit_16(188);
+emit_16(110);
+emit_16(188);
+emit_16(112);
+emit_16(189);
+emit_16(114);
+emit_16(189);
+emit_16(112);
+emit_16(189);
+emit_16(114);
+emit_16(190);
+emit_16(116);
+emit_16(190);
+emit_16(114);
+emit_16(190);
+emit_16(116);
+emit_16(191);
+emit_16(118);
+emit_16(191);
+emit_16(116);
+emit_16(191);
+emit_16(118);
+emit_16(192);
+emit_16(120);
+emit_16(192);
+emit_16(118);
+emit_16(192);
+emit_16(120);
+emit_16(193);
+emit_16(122);
+emit_16(193);
+emit_16(120);
+emit_16(193);
+emit_16(122);
+emit_16(194);
+emit_16(124);
+emit_16(194);
+emit_16(122);
+emit_16(194);
+emit_16(124);
+emit_16(195);
+emit_16(126);
+emit_16(195);
+emit_16(124);
+emit_16(195);
+emit_16(126);
+emit_16(196);
+emit_16(128);
+emit_16(196);
+emit_16(126);
+emit_16(196);
+emit_16(128);
+emit_16(197);
+emit_16(130);
+emit_16(197);
+emit_16(128);
+emit_16(198);
+emit_16(132);
+emit_16(199);
+emit_16(133);
+emit_16(199);
+emit_16(132);
+emit_16(199);
+emit_16(133);
+emit_16(200);
+emit_16(134);
+emit_16(200);
+emit_16(133);
+emit_16(200);
+emit_16(134);
+emit_16(201);
+emit_16(135);
+emit_16(201);
+emit_16(134);
+emit_16(201);
+emit_16(135);
+emit_16(202);
+emit_16(136);
+emit_16(202);
+emit_16(135);
+emit_16(202);
+emit_16(136);
+emit_16(203);
+emit_16(137);
+emit_16(203);
+emit_16(136);
+emit_16(203);
+emit_16(137);
+emit_16(204);
+emit_16(138);
+emit_16(204);
+emit_16(137);
+emit_16(204);
+emit_16(138);
+emit_16(205);
+emit_16(139);
+emit_16(205);
+emit_16(138);
+emit_16(205);
+emit_16(139);
+emit_16(206);
+emit_16(140);
+emit_16(206);
+emit_16(139);
+emit_16(206);
+emit_16(140);
+emit_16(207);
+emit_16(141);
+emit_16(207);
+emit_16(140);
+emit_16(207);
+emit_16(141);
+emit_16(208);
+emit_16(142);
+emit_16(208);
+emit_16(141);
+emit_16(208);
+emit_16(142);
+emit_16(209);
+emit_16(143);
+emit_16(209);
+emit_16(142);
+emit_16(209);
+emit_16(143);
+emit_16(210);
+emit_16(144);
+emit_16(210);
+emit_16(143);
+emit_16(210);
+emit_16(144);
+emit_16(211);
+emit_16(145);
+emit_16(211);
+emit_16(144);
+emit_16(211);
+emit_16(145);
+emit_16(212);
+emit_16(146);
+emit_16(212);
+emit_16(145);
+emit_16(212);
+emit_16(146);
+emit_16(213);
+emit_16(147);
+emit_16(213);
+emit_16(146);
+emit_16(213);
+emit_16(147);
+emit_16(214);
+emit_16(148);
+emit_16(214);
+emit_16(147);
+emit_16(214);
+emit_16(148);
+emit_16(215);
+emit_16(149);
+emit_16(215);
+emit_16(148);
+emit_16(215);
+emit_16(149);
+emit_16(216);
+emit_16(150);
+emit_16(216);
+emit_16(149);
+emit_16(216);
+emit_16(150);
+emit_16(217);
+emit_16(151);
+emit_16(217);
+emit_16(150);
+emit_16(217);
+emit_16(151);
+emit_16(218);
+emit_16(152);
+emit_16(218);
+emit_16(151);
+emit_16(218);
+emit_16(152);
+emit_16(219);
+emit_16(153);
+emit_16(219);
+emit_16(152);
+emit_16(219);
+emit_16(153);
+emit_16(220);
+emit_16(154);
+emit_16(220);
+emit_16(153);
+emit_16(220);
+emit_16(154);
+emit_16(221);
+emit_16(155);
+emit_16(221);
+emit_16(154);
+emit_16(221);
+emit_16(155);
+emit_16(222);
+emit_16(156);
+emit_16(222);
+emit_16(155);
+emit_16(222);
+emit_16(156);
+emit_16(223);
+emit_16(157);
+emit_16(223);
+emit_16(156);
+emit_16(223);
+emit_16(157);
+emit_16(224);
+emit_16(158);
+emit_16(224);
+emit_16(157);
+emit_16(224);
+emit_16(158);
+emit_16(225);
+emit_16(159);
+emit_16(225);
+emit_16(158);
+emit_16(225);
+emit_16(159);
+emit_16(226);
+emit_16(160);
+emit_16(226);
+emit_16(159);
+emit_16(226);
+emit_16(160);
+emit_16(227);
+emit_16(161);
+emit_16(227);
+emit_16(160);
+emit_16(227);
+emit_16(161);
+emit_16(228);
+emit_16(162);
+emit_16(228);
+emit_16(161);
+emit_16(228);
+emit_16(162);
+emit_16(229);
+emit_16(163);
+emit_16(229);
+emit_16(162);
+emit_16(229);
+emit_16(163);
+emit_16(230);
+emit_16(164);
+emit_16(230);
+emit_16(163);
+emit_16(230);
+emit_16(164);
+emit_16(231);
+emit_16(165);
+emit_16(231);
+emit_16(164);
+emit_16(231);
+emit_16(165);
+emit_16(232);
+emit_16(166);
+emit_16(232);
+emit_16(165);
+emit_16(232);
+emit_16(166);
+emit_16(233);
+emit_16(167);
+emit_16(233);
+emit_16(166);
+emit_16(233);
+emit_16(167);
+emit_16(234);
+emit_16(168);
+emit_16(234);
+emit_16(167);
+emit_16(234);
+emit_16(168);
+emit_16(235);
+emit_16(169);
+emit_16(235);
+emit_16(168);
+emit_16(235);
+emit_16(169);
+emit_16(236);
+emit_16(170);
+emit_16(236);
+emit_16(169);
+emit_16(236);
+emit_16(170);
+emit_16(237);
+emit_16(171);
+emit_16(237);
+emit_16(170);
+emit_16(237);
+emit_16(171);
+emit_16(238);
+emit_16(172);
+emit_16(238);
+emit_16(171);
+emit_16(238);
+emit_16(172);
+emit_16(239);
+emit_16(173);
+emit_16(239);
+emit_16(172);
+emit_16(239);
+emit_16(173);
+emit_16(240);
+emit_16(174);
+emit_16(240);
+emit_16(173);
+emit_16(240);
+emit_16(174);
+emit_16(241);
+emit_16(175);
+emit_16(241);
+emit_16(174);
+emit_16(241);
+emit_16(175);
+emit_16(242);
+emit_16(176);
+emit_16(242);
+emit_16(175);
+emit_16(242);
+emit_16(176);
+emit_16(243);
+emit_16(177);
+emit_16(243);
+emit_16(176);
+emit_16(243);
+emit_16(177);
+emit_16(244);
+emit_16(178);
+emit_16(244);
+emit_16(177);
+emit_16(244);
+emit_16(178);
+emit_16(245);
+emit_16(179);
+emit_16(245);
+emit_16(178);
+emit_16(245);
+emit_16(179);
+emit_16(246);
+emit_16(180);
+emit_16(246);
+emit_16(179);
+emit_16(246);
+emit_16(180);
+emit_16(247);
+emit_16(181);
+emit_16(247);
+emit_16(180);
+emit_16(247);
+emit_16(181);
+emit_16(248);
+emit_16(182);
+emit_16(248);
+emit_16(181);
+emit_16(248);
+emit_16(182);
+emit_16(249);
+emit_16(183);
+emit_16(249);
+emit_16(182);
+emit_16(249);
+emit_16(183);
+emit_16(250);
+emit_16(184);
+emit_16(250);
+emit_16(183);
+emit_16(250);
+emit_16(184);
+emit_16(251);
+emit_16(185);
+emit_16(251);
+emit_16(184);
+emit_16(251);
+emit_16(185);
+emit_16(252);
+emit_16(186);
+emit_16(252);
+emit_16(185);
+emit_16(252);
+emit_16(186);
+emit_16(253);
+emit_16(187);
+emit_16(253);
+emit_16(186);
+emit_16(253);
+emit_16(187);
+emit_16(254);
+emit_16(188);
+emit_16(254);
+emit_16(187);
+emit_16(254);
+emit_16(188);
+emit_16(255);
+emit_16(189);
+emit_16(255);
+emit_16(188);
+emit_16(255);
+emit_16(189);
+emit_16(256);
+emit_16(190);
+emit_16(256);
+emit_16(189);
+emit_16(256);
+emit_16(190);
+emit_16(257);
+emit_16(191);
+emit_16(257);
+emit_16(190);
+emit_16(257);
+emit_16(191);
+emit_16(258);
+emit_16(192);
+emit_16(258);
+emit_16(191);
+emit_16(258);
+emit_16(192);
+emit_16(259);
+emit_16(193);
+emit_16(259);
+emit_16(192);
+emit_16(259);
+emit_16(193);
+emit_16(260);
+emit_16(194);
+emit_16(260);
+emit_16(193);
+emit_16(260);
+emit_16(194);
+emit_16(261);
+emit_16(195);
+emit_16(261);
+emit_16(194);
+emit_16(261);
+emit_16(195);
+emit_16(262);
+emit_16(196);
+emit_16(262);
+emit_16(195);
+emit_16(262);
+emit_16(196);
+emit_16(263);
+emit_16(197);
+emit_16(263);
+emit_16(196);
+emit_16(264);
+emit_16(198);
+emit_16(265);
+emit_16(199);
+emit_16(265);
+emit_16(198);
+emit_16(265);
+emit_16(199);
+emit_16(266);
+emit_16(200);
+emit_16(266);
+emit_16(199);
+emit_16(266);
+emit_16(200);
+emit_16(267);
+emit_16(201);
+emit_16(267);
+emit_16(200);
+emit_16(267);
+emit_16(201);
+emit_16(268);
+emit_16(202);
+emit_16(268);
+emit_16(201);
+emit_16(268);
+emit_16(202);
+emit_16(269);
+emit_16(203);
+emit_16(269);
+emit_16(202);
+emit_16(269);
+emit_16(203);
+emit_16(270);
+emit_16(204);
+emit_16(270);
+emit_16(203);
+emit_16(270);
+emit_16(204);
+emit_16(271);
+emit_16(205);
+emit_16(271);
+emit_16(204);
+emit_16(271);
+emit_16(205);
+emit_16(272);
+emit_16(206);
+emit_16(272);
+emit_16(205);
+emit_16(272);
+emit_16(206);
+emit_16(273);
+emit_16(207);
+emit_16(273);
+emit_16(206);
+emit_16(273);
+emit_16(207);
+emit_16(274);
+emit_16(208);
+emit_16(274);
+emit_16(207);
+emit_16(274);
+emit_16(208);
+emit_16(275);
+emit_16(209);
+emit_16(275);
+emit_16(208);
+emit_16(275);
+emit_16(209);
+emit_16(276);
+emit_16(210);
+emit_16(276);
+emit_16(209);
+emit_16(276);
+emit_16(210);
+emit_16(277);
+emit_16(211);
+emit_16(277);
+emit_16(210);
+emit_16(277);
+emit_16(211);
+emit_16(278);
+emit_16(212);
+emit_16(278);
+emit_16(211);
+emit_16(278);
+emit_16(212);
+emit_16(279);
+emit_16(213);
+emit_16(279);
+emit_16(212);
+emit_16(279);
+emit_16(213);
+emit_16(280);
+emit_16(214);
+emit_16(280);
+emit_16(213);
+emit_16(280);
+emit_16(214);
+emit_16(281);
+emit_16(215);
+emit_16(281);
+emit_16(214);
+emit_16(281);
+emit_16(215);
+emit_16(282);
+emit_16(216);
+emit_16(282);
+emit_16(215);
+emit_16(282);
+emit_16(216);
+emit_16(283);
+emit_16(217);
+emit_16(283);
+emit_16(216);
+emit_16(283);
+emit_16(217);
+emit_16(284);
+emit_16(218);
+emit_16(284);
+emit_16(217);
+emit_16(284);
+emit_16(218);
+emit_16(285);
+emit_16(219);
+emit_16(285);
+emit_16(218);
+emit_16(285);
+emit_16(219);
+emit_16(286);
+emit_16(220);
+emit_16(286);
+emit_16(219);
+emit_16(286);
+emit_16(220);
+emit_16(287);
+emit_16(221);
+emit_16(287);
+emit_16(220);
+emit_16(287);
+emit_16(221);
+emit_16(288);
+emit_16(222);
+emit_16(288);
+emit_16(221);
+emit_16(288);
+emit_16(222);
+emit_16(289);
+emit_16(223);
+emit_16(289);
+emit_16(222);
+emit_16(289);
+emit_16(223);
+emit_16(290);
+emit_16(224);
+emit_16(290);
+emit_16(223);
+emit_16(290);
+emit_16(224);
+emit_16(291);
+emit_16(225);
+emit_16(291);
+emit_16(224);
+emit_16(291);
+emit_16(225);
+emit_16(292);
+emit_16(226);
+emit_16(292);
+emit_16(225);
+emit_16(292);
+emit_16(226);
+emit_16(293);
+emit_16(227);
+emit_16(293);
+emit_16(226);
+emit_16(293);
+emit_16(227);
+emit_16(294);
+emit_16(228);
+emit_16(294);
+emit_16(227);
+emit_16(294);
+emit_16(228);
+emit_16(295);
+emit_16(229);
+emit_16(295);
+emit_16(228);
+emit_16(295);
+emit_16(229);
+emit_16(296);
+emit_16(230);
+emit_16(296);
+emit_16(229);
+emit_16(296);
+emit_16(230);
+emit_16(297);
+emit_16(231);
+emit_16(297);
+emit_16(230);
+emit_16(297);
+emit_16(231);
+emit_16(298);
+emit_16(232);
+emit_16(298);
+emit_16(231);
+emit_16(298);
+emit_16(232);
+emit_16(299);
+emit_16(233);
+emit_16(299);
+emit_16(232);
+emit_16(299);
+emit_16(233);
+emit_16(300);
+emit_16(234);
+emit_16(300);
+emit_16(233);
+emit_16(300);
+emit_16(234);
+emit_16(301);
+emit_16(235);
+emit_16(301);
+emit_16(234);
+emit_16(301);
+emit_16(235);
+emit_16(302);
+emit_16(236);
+emit_16(302);
+emit_16(235);
+emit_16(302);
+emit_16(236);
+emit_16(303);
+emit_16(237);
+emit_16(303);
+emit_16(236);
+emit_16(303);
+emit_16(237);
+emit_16(304);
+emit_16(238);
+emit_16(304);
+emit_16(237);
+emit_16(304);
+emit_16(238);
+emit_16(305);
+emit_16(239);
+emit_16(305);
+emit_16(238);
+emit_16(305);
+emit_16(239);
+emit_16(306);
+emit_16(240);
+emit_16(306);
+emit_16(239);
+emit_16(306);
+emit_16(240);
+emit_16(307);
+emit_16(241);
+emit_16(307);
+emit_16(240);
+emit_16(307);
+emit_16(241);
+emit_16(308);
+emit_16(242);
+emit_16(308);
+emit_16(241);
+emit_16(308);
+emit_16(242);
+emit_16(309);
+emit_16(243);
+emit_16(309);
+emit_16(242);
+emit_16(309);
+emit_16(243);
+emit_16(310);
+emit_16(244);
+emit_16(310);
+emit_16(243);
+emit_16(310);
+emit_16(244);
+emit_16(311);
+emit_16(245);
+emit_16(311);
+emit_16(244);
+emit_16(311);
+emit_16(245);
+emit_16(312);
+emit_16(246);
+emit_16(312);
+emit_16(245);
+emit_16(312);
+emit_16(246);
+emit_16(313);
+emit_16(247);
+emit_16(313);
+emit_16(246);
+emit_16(313);
+emit_16(247);
+emit_16(314);
+emit_16(248);
+emit_16(314);
+emit_16(247);
+emit_16(314);
+emit_16(248);
+emit_16(315);
+emit_16(249);
+emit_16(315);
+emit_16(248);
+emit_16(315);
+emit_16(249);
+emit_16(316);
+emit_16(250);
+emit_16(316);
+emit_16(249);
+emit_16(316);
+emit_16(250);
+emit_16(317);
+emit_16(251);
+emit_16(317);
+emit_16(250);
+emit_16(317);
+emit_16(251);
+emit_16(318);
+emit_16(252);
+emit_16(318);
+emit_16(251);
+emit_16(318);
+emit_16(252);
+emit_16(319);
+emit_16(253);
+emit_16(319);
+emit_16(252);
+emit_16(319);
+emit_16(253);
+emit_16(320);
+emit_16(254);
+emit_16(320);
+emit_16(253);
+emit_16(320);
+emit_16(254);
+emit_16(321);
+emit_16(255);
+emit_16(321);
+emit_16(254);
+emit_16(321);
+emit_16(255);
+emit_16(322);
+emit_16(256);
+emit_16(322);
+emit_16(255);
+emit_16(322);
+emit_16(256);
+emit_16(323);
+emit_16(257);
+emit_16(323);
+emit_16(256);
+emit_16(323);
+emit_16(257);
+emit_16(324);
+emit_16(258);
+emit_16(324);
+emit_16(257);
+emit_16(324);
+emit_16(258);
+emit_16(325);
+emit_16(259);
+emit_16(325);
+emit_16(258);
+emit_16(325);
+emit_16(259);
+emit_16(326);
+emit_16(260);
+emit_16(326);
+emit_16(259);
+emit_16(326);
+emit_16(260);
+emit_16(327);
+emit_16(261);
+emit_16(327);
+emit_16(260);
+emit_16(327);
+emit_16(261);
+emit_16(328);
+emit_16(262);
+emit_16(328);
+emit_16(261);
+emit_16(328);
+emit_16(262);
+emit_16(329);
+emit_16(263);
+emit_16(329);
+emit_16(262);
+emit_16(330);
+emit_16(264);
+emit_16(331);
+emit_16(265);
+emit_16(331);
+emit_16(264);
+emit_16(331);
+emit_16(265);
+emit_16(332);
+emit_16(266);
+emit_16(332);
+emit_16(265);
+emit_16(332);
+emit_16(266);
+emit_16(333);
+emit_16(267);
+emit_16(333);
+emit_16(266);
+emit_16(333);
+emit_16(267);
+emit_16(334);
+emit_16(268);
+emit_16(334);
+emit_16(267);
+emit_16(334);
+emit_16(268);
+emit_16(335);
+emit_16(269);
+emit_16(335);
+emit_16(268);
+emit_16(335);
+emit_16(269);
+emit_16(336);
+emit_16(270);
+emit_16(336);
+emit_16(269);
+emit_16(336);
+emit_16(270);
+emit_16(337);
+emit_16(271);
+emit_16(337);
+emit_16(270);
+emit_16(337);
+emit_16(271);
+emit_16(338);
+emit_16(272);
+emit_16(338);
+emit_16(271);
+emit_16(338);
+emit_16(272);
+emit_16(339);
+emit_16(273);
+emit_16(339);
+emit_16(272);
+emit_16(339);
+emit_16(273);
+emit_16(340);
+emit_16(274);
+emit_16(340);
+emit_16(273);
+emit_16(340);
+emit_16(274);
+emit_16(341);
+emit_16(275);
+emit_16(341);
+emit_16(274);
+emit_16(341);
+emit_16(275);
+emit_16(342);
+emit_16(276);
+emit_16(342);
+emit_16(275);
+emit_16(342);
+emit_16(276);
+emit_16(343);
+emit_16(277);
+emit_16(343);
+emit_16(276);
+emit_16(343);
+emit_16(277);
+emit_16(344);
+emit_16(278);
+emit_16(344);
+emit_16(277);
+emit_16(344);
+emit_16(278);
+emit_16(345);
+emit_16(279);
+emit_16(345);
+emit_16(278);
+emit_16(345);
+emit_16(279);
+emit_16(346);
+emit_16(280);
+emit_16(346);
+emit_16(279);
+emit_16(346);
+emit_16(280);
+emit_16(347);
+emit_16(281);
+emit_16(347);
+emit_16(280);
+emit_16(347);
+emit_16(281);
+emit_16(348);
+emit_16(282);
+emit_16(348);
+emit_16(281);
+emit_16(348);
+emit_16(282);
+emit_16(349);
+emit_16(283);
+emit_16(349);
+emit_16(282);
+emit_16(349);
+emit_16(283);
+emit_16(350);
+emit_16(284);
+emit_16(350);
+emit_16(283);
+emit_16(350);
+emit_16(284);
+emit_16(351);
+emit_16(285);
+emit_16(351);
+emit_16(284);
+emit_16(351);
+emit_16(285);
+emit_16(352);
+emit_16(286);
+emit_16(352);
+emit_16(285);
+emit_16(352);
+emit_16(286);
+emit_16(353);
+emit_16(287);
+emit_16(353);
+emit_16(286);
+emit_16(353);
+emit_16(287);
+emit_16(354);
+emit_16(288);
+emit_16(354);
+emit_16(287);
+emit_16(354);
+emit_16(288);
+emit_16(355);
+emit_16(289);
+emit_16(355);
+emit_16(288);
+emit_16(355);
+emit_16(289);
+emit_16(356);
+emit_16(290);
+emit_16(356);
+emit_16(289);
+emit_16(356);
+emit_16(290);
+emit_16(357);
+emit_16(291);
+emit_16(357);
+emit_16(290);
+emit_16(357);
+emit_16(291);
+emit_16(358);
+emit_16(292);
+emit_16(358);
+emit_16(291);
+emit_16(358);
+emit_16(292);
+emit_16(359);
+emit_16(293);
+emit_16(359);
+emit_16(292);
+emit_16(359);
+emit_16(293);
+emit_16(360);
+emit_16(294);
+emit_16(360);
+emit_16(293);
+emit_16(360);
+emit_16(294);
+emit_16(361);
+emit_16(295);
+emit_16(361);
+emit_16(294);
+emit_16(361);
+emit_16(295);
+emit_16(362);
+emit_16(296);
+emit_16(362);
+emit_16(295);
+emit_16(362);
+emit_16(296);
+emit_16(363);
+emit_16(297);
+emit_16(363);
+emit_16(296);
+emit_16(363);
+emit_16(297);
+emit_16(364);
+emit_16(298);
+emit_16(364);
+emit_16(297);
+emit_16(364);
+emit_16(298);
+emit_16(365);
+emit_16(299);
+emit_16(365);
+emit_16(298);
+emit_16(365);
+emit_16(299);
+emit_16(366);
+emit_16(300);
+emit_16(366);
+emit_16(299);
+emit_16(366);
+emit_16(300);
+emit_16(367);
+emit_16(301);
+emit_16(367);
+emit_16(300);
+emit_16(367);
+emit_16(301);
+emit_16(368);
+emit_16(302);
+emit_16(368);
+emit_16(301);
+emit_16(368);
+emit_16(302);
+emit_16(369);
+emit_16(303);
+emit_16(369);
+emit_16(302);
+emit_16(369);
+emit_16(303);
+emit_16(370);
+emit_16(304);
+emit_16(370);
+emit_16(303);
+emit_16(370);
+emit_16(304);
+emit_16(371);
+emit_16(305);
+emit_16(371);
+emit_16(304);
+emit_16(371);
+emit_16(305);
+emit_16(372);
+emit_16(306);
+emit_16(372);
+emit_16(305);
+emit_16(372);
+emit_16(306);
+emit_16(373);
+emit_16(307);
+emit_16(373);
+emit_16(306);
+emit_16(373);
+emit_16(307);
+emit_16(374);
+emit_16(308);
+emit_16(374);
+emit_16(307);
+emit_16(374);
+emit_16(308);
+emit_16(375);
+emit_16(309);
+emit_16(375);
+emit_16(308);
+emit_16(375);
+emit_16(309);
+emit_16(376);
+emit_16(310);
+emit_16(376);
+emit_16(309);
+emit_16(376);
+emit_16(310);
+emit_16(377);
+emit_16(311);
+emit_16(377);
+emit_16(310);
+emit_16(377);
+emit_16(311);
+emit_16(378);
+emit_16(312);
+emit_16(378);
+emit_16(311);
+emit_16(378);
+emit_16(312);
+emit_16(379);
+emit_16(313);
+emit_16(379);
+emit_16(312);
+emit_16(379);
+emit_16(313);
+emit_16(380);
+emit_16(314);
+emit_16(380);
+emit_16(313);
+emit_16(380);
+emit_16(314);
+emit_16(381);
+emit_16(315);
+emit_16(381);
+emit_16(314);
+emit_16(381);
+emit_16(315);
+emit_16(382);
+emit_16(316);
+emit_16(382);
+emit_16(315);
+emit_16(382);
+emit_16(316);
+emit_16(383);
+emit_16(317);
+emit_16(383);
+emit_16(316);
+emit_16(383);
+emit_16(317);
+emit_16(384);
+emit_16(318);
+emit_16(384);
+emit_16(317);
+emit_16(384);
+emit_16(318);
+emit_16(385);
+emit_16(319);
+emit_16(385);
+emit_16(318);
+emit_16(385);
+emit_16(319);
+emit_16(386);
+emit_16(320);
+emit_16(386);
+emit_16(319);
+emit_16(386);
+emit_16(320);
+emit_16(387);
+emit_16(321);
+emit_16(387);
+emit_16(320);
+emit_16(387);
+emit_16(321);
+emit_16(388);
+emit_16(322);
+emit_16(388);
+emit_16(321);
+emit_16(388);
+emit_16(322);
+emit_16(389);
+emit_16(323);
+emit_16(389);
+emit_16(322);
+emit_16(389);
+emit_16(323);
+emit_16(390);
+emit_16(324);
+emit_16(390);
+emit_16(323);
+emit_16(390);
+emit_16(324);
+emit_16(391);
+emit_16(325);
+emit_16(391);
+emit_16(324);
+emit_16(391);
+emit_16(325);
+emit_16(392);
+emit_16(326);
+emit_16(392);
+emit_16(325);
+emit_16(392);
+emit_16(326);
+emit_16(393);
+emit_16(327);
+emit_16(393);
+emit_16(326);
+emit_16(393);
+emit_16(327);
+emit_16(394);
+emit_16(328);
+emit_16(394);
+emit_16(327);
+emit_16(394);
+emit_16(328);
+emit_16(395);
+emit_16(329);
+emit_16(395);
+emit_16(328);
+emit_16(396);
+emit_16(330);
+emit_16(397);
+emit_16(331);
+emit_16(397);
+emit_16(330);
+emit_16(397);
+emit_16(331);
+emit_16(398);
+emit_16(332);
+emit_16(398);
+emit_16(331);
+emit_16(398);
+emit_16(332);
+emit_16(399);
+emit_16(333);
+emit_16(399);
+emit_16(332);
+emit_16(399);
+emit_16(333);
+emit_16(400);
+emit_16(334);
+emit_16(400);
+emit_16(333);
+emit_16(400);
+emit_16(334);
+emit_16(401);
+emit_16(335);
+emit_16(401);
+emit_16(334);
+emit_16(401);
+emit_16(335);
+emit_16(402);
+emit_16(336);
+emit_16(402);
+emit_16(335);
+emit_16(402);
+emit_16(336);
+emit_16(403);
+emit_16(337);
+emit_16(403);
+emit_16(336);
+emit_16(403);
+emit_16(337);
+emit_16(404);
+emit_16(338);
+emit_16(404);
+emit_16(337);
+emit_16(404);
+emit_16(338);
+emit_16(405);
+emit_16(339);
+emit_16(405);
+emit_16(338);
+emit_16(405);
+emit_16(339);
+emit_16(406);
+emit_16(340);
+emit_16(406);
+emit_16(339);
+emit_16(406);
+emit_16(340);
+emit_16(407);
+emit_16(341);
+emit_16(407);
+emit_16(340);
+emit_16(407);
+emit_16(341);
+emit_16(408);
+emit_16(342);
+emit_16(408);
+emit_16(341);
+emit_16(408);
+emit_16(342);
+emit_16(409);
+emit_16(343);
+emit_16(409);
+emit_16(342);
+emit_16(409);
+emit_16(343);
+emit_16(410);
+emit_16(344);
+emit_16(410);
+emit_16(343);
+emit_16(410);
+emit_16(344);
+emit_16(411);
+emit_16(345);
+emit_16(411);
+emit_16(344);
+emit_16(411);
+emit_16(345);
+emit_16(412);
+emit_16(346);
+emit_16(412);
+emit_16(345);
+emit_16(412);
+emit_16(346);
+emit_16(413);
+emit_16(347);
+emit_16(413);
+emit_16(346);
+emit_16(413);
+emit_16(347);
+emit_16(414);
+emit_16(348);
+emit_16(414);
+emit_16(347);
+emit_16(414);
+emit_16(348);
+emit_16(415);
+emit_16(349);
+emit_16(415);
+emit_16(348);
+emit_16(415);
+emit_16(349);
+emit_16(416);
+emit_16(350);
+emit_16(416);
+emit_16(349);
+emit_16(416);
+emit_16(350);
+emit_16(417);
+emit_16(351);
+emit_16(417);
+emit_16(350);
+emit_16(417);
+emit_16(351);
+emit_16(418);
+emit_16(352);
+emit_16(418);
+emit_16(351);
+emit_16(418);
+emit_16(352);
+emit_16(419);
+emit_16(353);
+emit_16(419);
+emit_16(352);
+emit_16(419);
+emit_16(353);
+emit_16(420);
+emit_16(354);
+emit_16(420);
+emit_16(353);
+emit_16(420);
+emit_16(354);
+emit_16(421);
+emit_16(355);
+emit_16(421);
+emit_16(354);
+emit_16(421);
+emit_16(355);
+emit_16(422);
+emit_16(356);
+emit_16(422);
+emit_16(355);
+emit_16(422);
+emit_16(356);
+emit_16(423);
+emit_16(357);
+emit_16(423);
+emit_16(356);
+emit_16(423);
+emit_16(357);
+emit_16(424);
+emit_16(358);
+emit_16(424);
+emit_16(357);
+emit_16(424);
+emit_16(358);
+emit_16(425);
+emit_16(359);
+emit_16(425);
+emit_16(358);
+emit_16(425);
+emit_16(359);
+emit_16(426);
+emit_16(360);
+emit_16(426);
+emit_16(359);
+emit_16(426);
+emit_16(360);
+emit_16(427);
+emit_16(361);
+emit_16(427);
+emit_16(360);
+emit_16(427);
+emit_16(361);
+emit_16(428);
+emit_16(362);
+emit_16(428);
+emit_16(361);
+emit_16(428);
+emit_16(362);
+emit_16(429);
+emit_16(363);
+emit_16(429);
+emit_16(362);
+emit_16(429);
+emit_16(363);
+emit_16(430);
+emit_16(364);
+emit_16(430);
+emit_16(363);
+emit_16(430);
+emit_16(364);
+emit_16(431);
+emit_16(365);
+emit_16(431);
+emit_16(364);
+emit_16(431);
+emit_16(365);
+emit_16(432);
+emit_16(366);
+emit_16(432);
+emit_16(365);
+emit_16(432);
+emit_16(366);
+emit_16(433);
+emit_16(367);
+emit_16(433);
+emit_16(366);
+emit_16(433);
+emit_16(367);
+emit_16(434);
+emit_16(368);
+emit_16(434);
+emit_16(367);
+emit_16(434);
+emit_16(368);
+emit_16(435);
+emit_16(369);
+emit_16(435);
+emit_16(368);
+emit_16(435);
+emit_16(369);
+emit_16(436);
+emit_16(370);
+emit_16(436);
+emit_16(369);
+emit_16(436);
+emit_16(370);
+emit_16(437);
+emit_16(371);
+emit_16(437);
+emit_16(370);
+emit_16(437);
+emit_16(371);
+emit_16(438);
+emit_16(372);
+emit_16(438);
+emit_16(371);
+emit_16(438);
+emit_16(372);
+emit_16(439);
+emit_16(373);
+emit_16(439);
+emit_16(372);
+emit_16(439);
+emit_16(373);
+emit_16(440);
+emit_16(374);
+emit_16(440);
+emit_16(373);
+emit_16(440);
+emit_16(374);
+emit_16(441);
+emit_16(375);
+emit_16(441);
+emit_16(374);
+emit_16(441);
+emit_16(375);
+emit_16(442);
+emit_16(376);
+emit_16(442);
+emit_16(375);
+emit_16(442);
+emit_16(376);
+emit_16(443);
+emit_16(377);
+emit_16(443);
+emit_16(376);
+emit_16(443);
+emit_16(377);
+emit_16(444);
+emit_16(378);
+emit_16(444);
+emit_16(377);
+emit_16(444);
+emit_16(378);
+emit_16(445);
+emit_16(379);
+emit_16(445);
+emit_16(378);
+emit_16(445);
+emit_16(379);
+emit_16(446);
+emit_16(380);
+emit_16(446);
+emit_16(379);
+emit_16(446);
+emit_16(380);
+emit_16(447);
+emit_16(381);
+emit_16(447);
+emit_16(380);
+emit_16(447);
+emit_16(381);
+emit_16(448);
+emit_16(382);
+emit_16(448);
+emit_16(381);
+emit_16(448);
+emit_16(382);
+emit_16(449);
+emit_16(383);
+emit_16(449);
+emit_16(382);
+emit_16(449);
+emit_16(383);
+emit_16(450);
+emit_16(384);
+emit_16(450);
+emit_16(383);
+emit_16(450);
+emit_16(384);
+emit_16(451);
+emit_16(385);
+emit_16(451);
+emit_16(384);
+emit_16(451);
+emit_16(385);
+emit_16(452);
+emit_16(386);
+emit_16(452);
+emit_16(385);
+emit_16(452);
+emit_16(386);
+emit_16(453);
+emit_16(387);
+emit_16(453);
+emit_16(386);
+emit_16(453);
+emit_16(387);
+emit_16(454);
+emit_16(388);
+emit_16(454);
+emit_16(387);
+emit_16(454);
+emit_16(388);
+emit_16(455);
+emit_16(389);
+emit_16(455);
+emit_16(388);
+emit_16(455);
+emit_16(389);
+emit_16(456);
+emit_16(390);
+emit_16(456);
+emit_16(389);
+emit_16(456);
+emit_16(390);
+emit_16(457);
+emit_16(391);
+emit_16(457);
+emit_16(390);
+emit_16(457);
+emit_16(391);
+emit_16(458);
+emit_16(392);
+emit_16(458);
+emit_16(391);
+emit_16(458);
+emit_16(392);
+emit_16(459);
+emit_16(393);
+emit_16(459);
+emit_16(392);
+emit_16(459);
+emit_16(393);
+emit_16(460);
+emit_16(394);
+emit_16(460);
+emit_16(393);
+emit_16(460);
+emit_16(394);
+emit_16(461);
+emit_16(395);
+emit_16(461);
+emit_16(394);
+emit_16(462);
+emit_16(396);
+emit_16(463);
+emit_16(397);
+emit_16(463);
+emit_16(396);
+emit_16(463);
+emit_16(397);
+emit_16(464);
+emit_16(398);
+emit_16(464);
+emit_16(397);
+emit_16(464);
+emit_16(398);
+emit_16(465);
+emit_16(399);
+emit_16(465);
+emit_16(398);
+emit_16(465);
+emit_16(399);
+emit_16(466);
+emit_16(400);
+emit_16(466);
+emit_16(399);
+emit_16(466);
+emit_16(400);
+emit_16(467);
+emit_16(401);
+emit_16(467);
+emit_16(400);
+emit_16(467);
+emit_16(401);
+emit_16(468);
+emit_16(402);
+emit_16(468);
+emit_16(401);
+emit_16(468);
+emit_16(402);
+emit_16(469);
+emit_16(403);
+emit_16(469);
+emit_16(402);
+emit_16(469);
+emit_16(403);
+emit_16(470);
+emit_16(404);
+emit_16(470);
+emit_16(403);
+emit_16(470);
+emit_16(404);
+emit_16(471);
+emit_16(405);
+emit_16(471);
+emit_16(404);
+emit_16(471);
+emit_16(405);
+emit_16(472);
+emit_16(406);
+emit_16(472);
+emit_16(405);
+emit_16(472);
+emit_16(406);
+emit_16(473);
+emit_16(407);
+emit_16(473);
+emit_16(406);
+emit_16(473);
+emit_16(407);
+emit_16(474);
+emit_16(408);
+emit_16(474);
+emit_16(407);
+emit_16(474);
+emit_16(408);
+emit_16(475);
+emit_16(409);
+emit_16(475);
+emit_16(408);
+emit_16(475);
+emit_16(409);
+emit_16(476);
+emit_16(410);
+emit_16(476);
+emit_16(409);
+emit_16(476);
+emit_16(410);
+emit_16(477);
+emit_16(411);
+emit_16(477);
+emit_16(410);
+emit_16(477);
+emit_16(411);
+emit_16(478);
+emit_16(412);
+emit_16(478);
+emit_16(411);
+emit_16(478);
+emit_16(412);
+emit_16(479);
+emit_16(413);
+emit_16(479);
+emit_16(412);
+emit_16(479);
+emit_16(413);
+emit_16(480);
+emit_16(414);
+emit_16(480);
+emit_16(413);
+emit_16(480);
+emit_16(414);
+emit_16(481);
+emit_16(415);
+emit_16(481);
+emit_16(414);
+emit_16(481);
+emit_16(415);
+emit_16(482);
+emit_16(416);
+emit_16(482);
+emit_16(415);
+emit_16(482);
+emit_16(416);
+emit_16(483);
+emit_16(417);
+emit_16(483);
+emit_16(416);
+emit_16(483);
+emit_16(417);
+emit_16(484);
+emit_16(418);
+emit_16(484);
+emit_16(417);
+emit_16(484);
+emit_16(418);
+emit_16(485);
+emit_16(419);
+emit_16(485);
+emit_16(418);
+emit_16(485);
+emit_16(419);
+emit_16(486);
+emit_16(420);
+emit_16(486);
+emit_16(419);
+emit_16(486);
+emit_16(420);
+emit_16(487);
+emit_16(421);
+emit_16(487);
+emit_16(420);
+emit_16(487);
+emit_16(421);
+emit_16(488);
+emit_16(422);
+emit_16(488);
+emit_16(421);
+emit_16(488);
+emit_16(422);
+emit_16(489);
+emit_16(423);
+emit_16(489);
+emit_16(422);
+emit_16(489);
+emit_16(423);
+emit_16(490);
+emit_16(424);
+emit_16(490);
+emit_16(423);
+emit_16(490);
+emit_16(424);
+emit_16(491);
+emit_16(425);
+emit_16(491);
+emit_16(424);
+emit_16(491);
+emit_16(425);
+emit_16(492);
+emit_16(426);
+emit_16(492);
+emit_16(425);
+emit_16(492);
+emit_16(426);
+emit_16(493);
+emit_16(427);
+emit_16(493);
+emit_16(426);
+emit_16(493);
+emit_16(427);
+emit_16(494);
+emit_16(428);
+emit_16(494);
+emit_16(427);
+emit_16(494);
+emit_16(428);
+emit_16(495);
+emit_16(429);
+emit_16(495);
+emit_16(428);
+emit_16(495);
+emit_16(429);
+emit_16(496);
+emit_16(430);
+emit_16(496);
+emit_16(429);
+emit_16(496);
+emit_16(430);
+emit_16(497);
+emit_16(431);
+emit_16(497);
+emit_16(430);
+emit_16(497);
+emit_16(431);
+emit_16(498);
+emit_16(432);
+emit_16(498);
+emit_16(431);
+emit_16(498);
+emit_16(432);
+emit_16(499);
+emit_16(433);
+emit_16(499);
+emit_16(432);
+emit_16(499);
+emit_16(433);
+emit_16(500);
+emit_16(434);
+emit_16(500);
+emit_16(433);
+emit_16(500);
+emit_16(434);
+emit_16(501);
+emit_16(435);
+emit_16(501);
+emit_16(434);
+emit_16(501);
+emit_16(435);
+emit_16(502);
+emit_16(436);
+emit_16(502);
+emit_16(435);
+emit_16(502);
+emit_16(436);
+emit_16(503);
+emit_16(437);
+emit_16(503);
+emit_16(436);
+emit_16(503);
+emit_16(437);
+emit_16(504);
+emit_16(438);
+emit_16(504);
+emit_16(437);
+emit_16(504);
+emit_16(438);
+emit_16(505);
+emit_16(439);
+emit_16(505);
+emit_16(438);
+emit_16(505);
+emit_16(439);
+emit_16(506);
+emit_16(440);
+emit_16(506);
+emit_16(439);
+emit_16(506);
+emit_16(440);
+emit_16(507);
+emit_16(441);
+emit_16(507);
+emit_16(440);
+emit_16(507);
+emit_16(441);
+emit_16(508);
+emit_16(442);
+emit_16(508);
+emit_16(441);
+emit_16(508);
+emit_16(442);
+emit_16(509);
+emit_16(443);
+emit_16(509);
+emit_16(442);
+emit_16(509);
+emit_16(443);
+emit_16(510);
+emit_16(444);
+emit_16(510);
+emit_16(443);
+emit_16(510);
+emit_16(444);
+emit_16(511);
+emit_16(445);
+emit_16(511);
+emit_16(444);
+emit_16(511);
+emit_16(445);
+emit_16(512);
+emit_16(446);
+emit_16(512);
+emit_16(445);
+emit_16(512);
+emit_16(446);
+emit_16(513);
+emit_16(447);
+emit_16(513);
+emit_16(446);
+emit_16(513);
+emit_16(447);
+emit_16(514);
+emit_16(448);
+emit_16(514);
+emit_16(447);
+emit_16(514);
+emit_16(448);
+emit_16(515);
+emit_16(449);
+emit_16(515);
+emit_16(448);
+emit_16(515);
+emit_16(449);
+emit_16(516);
+emit_16(450);
+emit_16(516);
+emit_16(449);
+emit_16(516);
+emit_16(450);
+emit_16(517);
+emit_16(451);
+emit_16(517);
+emit_16(450);
+emit_16(517);
+emit_16(451);
+emit_16(518);
+emit_16(452);
+emit_16(518);
+emit_16(451);
+emit_16(518);
+emit_16(452);
+emit_16(519);
+emit_16(453);
+emit_16(519);
+emit_16(452);
+emit_16(519);
+emit_16(453);
+emit_16(520);
+emit_16(454);
+emit_16(520);
+emit_16(453);
+emit_16(520);
+emit_16(454);
+emit_16(521);
+emit_16(455);
+emit_16(521);
+emit_16(454);
+emit_16(521);
+emit_16(455);
+emit_16(522);
+emit_16(456);
+emit_16(522);
+emit_16(455);
+emit_16(522);
+emit_16(456);
+emit_16(523);
+emit_16(457);
+emit_16(523);
+emit_16(456);
+emit_16(523);
+emit_16(457);
+emit_16(524);
+emit_16(458);
+emit_16(524);
+emit_16(457);
+emit_16(524);
+emit_16(458);
+emit_16(525);
+emit_16(459);
+emit_16(525);
+emit_16(458);
+emit_16(525);
+emit_16(459);
+emit_16(526);
+emit_16(460);
+emit_16(526);
+emit_16(459);
+emit_16(526);
+emit_16(460);
+emit_16(527);
+emit_16(461);
+emit_16(527);
+emit_16(460);
+emit_16(528);
+emit_16(462);
+emit_16(529);
+emit_16(463);
+emit_16(529);
+emit_16(462);
+emit_16(529);
+emit_16(463);
+emit_16(530);
+emit_16(464);
+emit_16(530);
+emit_16(463);
+emit_16(530);
+emit_16(464);
+emit_16(531);
+emit_16(465);
+emit_16(531);
+emit_16(464);
+emit_16(531);
+emit_16(465);
+emit_16(532);
+emit_16(466);
+emit_16(532);
+emit_16(465);
+emit_16(532);
+emit_16(466);
+emit_16(533);
+emit_16(467);
+emit_16(533);
+emit_16(466);
+emit_16(533);
+emit_16(467);
+emit_16(534);
+emit_16(468);
+emit_16(534);
+emit_16(467);
+emit_16(534);
+emit_16(468);
+emit_16(535);
+emit_16(469);
+emit_16(535);
+emit_16(468);
+emit_16(535);
+emit_16(469);
+emit_16(536);
+emit_16(470);
+emit_16(536);
+emit_16(469);
+emit_16(536);
+emit_16(470);
+emit_16(537);
+emit_16(471);
+emit_16(537);
+emit_16(470);
+emit_16(537);
+emit_16(471);
+emit_16(538);
+emit_16(472);
+emit_16(538);
+emit_16(471);
+emit_16(538);
+emit_16(472);
+emit_16(539);
+emit_16(473);
+emit_16(539);
+emit_16(472);
+emit_16(539);
+emit_16(473);
+emit_16(540);
+emit_16(474);
+emit_16(540);
+emit_16(473);
+emit_16(540);
+emit_16(474);
+emit_16(541);
+emit_16(475);
+emit_16(541);
+emit_16(474);
+emit_16(541);
+emit_16(475);
+emit_16(542);
+emit_16(476);
+emit_16(542);
+emit_16(475);
+emit_16(542);
+emit_16(476);
+emit_16(543);
+emit_16(477);
+emit_16(543);
+emit_16(476);
+emit_16(543);
+emit_16(477);
+emit_16(544);
+emit_16(478);
+emit_16(544);
+emit_16(477);
+emit_16(544);
+emit_16(478);
+emit_16(545);
+emit_16(479);
+emit_16(545);
+emit_16(478);
+emit_16(545);
+emit_16(479);
+emit_16(546);
+emit_16(480);
+emit_16(546);
+emit_16(479);
+emit_16(546);
+emit_16(480);
+emit_16(547);
+emit_16(481);
+emit_16(547);
+emit_16(480);
+emit_16(547);
+emit_16(481);
+emit_16(548);
+emit_16(482);
+emit_16(548);
+emit_16(481);
+emit_16(548);
+emit_16(482);
+emit_16(549);
+emit_16(483);
+emit_16(549);
+emit_16(482);
+emit_16(549);
+emit_16(483);
+emit_16(550);
+emit_16(484);
+emit_16(550);
+emit_16(483);
+emit_16(550);
+emit_16(484);
+emit_16(551);
+emit_16(485);
+emit_16(551);
+emit_16(484);
+emit_16(551);
+emit_16(485);
+emit_16(552);
+emit_16(486);
+emit_16(552);
+emit_16(485);
+emit_16(552);
+emit_16(486);
+emit_16(553);
+emit_16(487);
+emit_16(553);
+emit_16(486);
+emit_16(553);
+emit_16(487);
+emit_16(554);
+emit_16(488);
+emit_16(554);
+emit_16(487);
+emit_16(554);
+emit_16(488);
+emit_16(555);
+emit_16(489);
+emit_16(555);
+emit_16(488);
+emit_16(555);
+emit_16(489);
+emit_16(556);
+emit_16(490);
+emit_16(556);
+emit_16(489);
+emit_16(556);
+emit_16(490);
+emit_16(557);
+emit_16(491);
+emit_16(557);
+emit_16(490);
+emit_16(557);
+emit_16(491);
+emit_16(558);
+emit_16(492);
+emit_16(558);
+emit_16(491);
+emit_16(558);
+emit_16(492);
+emit_16(559);
+emit_16(493);
+emit_16(559);
+emit_16(492);
+emit_16(559);
+emit_16(493);
+emit_16(560);
+emit_16(494);
+emit_16(560);
+emit_16(493);
+emit_16(560);
+emit_16(494);
+emit_16(561);
+emit_16(495);
+emit_16(561);
+emit_16(494);
+emit_16(561);
+emit_16(495);
+emit_16(562);
+emit_16(496);
+emit_16(562);
+emit_16(495);
+emit_16(562);
+emit_16(496);
+emit_16(563);
+emit_16(497);
+emit_16(563);
+emit_16(496);
+emit_16(563);
+emit_16(497);
+emit_16(564);
+emit_16(498);
+emit_16(564);
+emit_16(497);
+emit_16(564);
+emit_16(498);
+emit_16(565);
+emit_16(499);
+emit_16(565);
+emit_16(498);
+emit_16(565);
+emit_16(499);
+emit_16(566);
+emit_16(500);
+emit_16(566);
+emit_16(499);
+emit_16(566);
+emit_16(500);
+emit_16(567);
+emit_16(501);
+emit_16(567);
+emit_16(500);
+emit_16(567);
+emit_16(501);
+emit_16(568);
+emit_16(502);
+emit_16(568);
+emit_16(501);
+emit_16(568);
+emit_16(502);
+emit_16(569);
+emit_16(503);
+emit_16(569);
+emit_16(502);
+emit_16(569);
+emit_16(503);
+emit_16(570);
+emit_16(504);
+emit_16(570);
+emit_16(503);
+emit_16(570);
+emit_16(504);
+emit_16(571);
+emit_16(505);
+emit_16(571);
+emit_16(504);
+emit_16(571);
+emit_16(505);
+emit_16(572);
+emit_16(506);
+emit_16(572);
+emit_16(505);
+emit_16(572);
+emit_16(506);
+emit_16(573);
+emit_16(507);
+emit_16(573);
+emit_16(506);
+emit_16(573);
+emit_16(507);
+emit_16(574);
+emit_16(508);
+emit_16(574);
+emit_16(507);
+emit_16(574);
+emit_16(508);
+emit_16(575);
+emit_16(509);
+emit_16(575);
+emit_16(508);
+emit_16(575);
+emit_16(509);
+emit_16(576);
+emit_16(510);
+emit_16(576);
+emit_16(509);
+emit_16(576);
+emit_16(510);
+emit_16(577);
+emit_16(511);
+emit_16(577);
+emit_16(510);
+emit_16(577);
+emit_16(511);
+emit_16(578);
+emit_16(512);
+emit_16(578);
+emit_16(511);
+emit_16(578);
+emit_16(512);
+emit_16(579);
+emit_16(513);
+emit_16(579);
+emit_16(512);
+emit_16(579);
+emit_16(513);
+emit_16(580);
+emit_16(514);
+emit_16(580);
+emit_16(513);
+emit_16(580);
+emit_16(514);
+emit_16(581);
+emit_16(515);
+emit_16(581);
+emit_16(514);
+emit_16(581);
+emit_16(515);
+emit_16(582);
+emit_16(516);
+emit_16(582);
+emit_16(515);
+emit_16(582);
+emit_16(516);
+emit_16(583);
+emit_16(517);
+emit_16(583);
+emit_16(516);
+emit_16(583);
+emit_16(517);
+emit_16(584);
+emit_16(518);
+emit_16(584);
+emit_16(517);
+emit_16(584);
+emit_16(518);
+emit_16(585);
+emit_16(519);
+emit_16(585);
+emit_16(518);
+emit_16(585);
+emit_16(519);
+emit_16(586);
+emit_16(520);
+emit_16(586);
+emit_16(519);
+emit_16(586);
+emit_16(520);
+emit_16(587);
+emit_16(521);
+emit_16(587);
+emit_16(520);
+emit_16(587);
+emit_16(521);
+emit_16(588);
+emit_16(522);
+emit_16(588);
+emit_16(521);
+emit_16(588);
+emit_16(522);
+emit_16(589);
+emit_16(523);
+emit_16(589);
+emit_16(522);
+emit_16(589);
+emit_16(523);
+emit_16(590);
+emit_16(524);
+emit_16(590);
+emit_16(523);
+emit_16(590);
+emit_16(524);
+emit_16(591);
+emit_16(525);
+emit_16(591);
+emit_16(524);
+emit_16(591);
+emit_16(525);
+emit_16(592);
+emit_16(526);
+emit_16(592);
+emit_16(525);
+emit_16(592);
+emit_16(526);
+emit_16(593);
+emit_16(527);
+emit_16(593);
+emit_16(526);
+emit_16(594);
+emit_16(528);
+emit_16(595);
+emit_16(529);
+emit_16(595);
+emit_16(528);
+emit_16(595);
+emit_16(529);
+emit_16(596);
+emit_16(530);
+emit_16(596);
+emit_16(529);
+emit_16(596);
+emit_16(530);
+emit_16(597);
+emit_16(531);
+emit_16(597);
+emit_16(530);
+emit_16(597);
+emit_16(531);
+emit_16(598);
+emit_16(532);
+emit_16(598);
+emit_16(531);
+emit_16(598);
+emit_16(532);
+emit_16(599);
+emit_16(533);
+emit_16(599);
+emit_16(532);
+emit_16(599);
+emit_16(533);
+emit_16(600);
+emit_16(534);
+emit_16(600);
+emit_16(533);
+emit_16(600);
+emit_16(534);
+emit_16(601);
+emit_16(535);
+emit_16(601);
+emit_16(534);
+emit_16(601);
+emit_16(535);
+emit_16(602);
+emit_16(536);
+emit_16(602);
+emit_16(535);
+emit_16(602);
+emit_16(536);
+emit_16(603);
+emit_16(537);
+emit_16(603);
+emit_16(536);
+emit_16(603);
+emit_16(537);
+emit_16(604);
+emit_16(538);
+emit_16(604);
+emit_16(537);
+emit_16(604);
+emit_16(538);
+emit_16(605);
+emit_16(539);
+emit_16(605);
+emit_16(538);
+emit_16(605);
+emit_16(539);
+emit_16(606);
+emit_16(540);
+emit_16(606);
+emit_16(539);
+emit_16(606);
+emit_16(540);
+emit_16(607);
+emit_16(541);
+emit_16(607);
+emit_16(540);
+emit_16(607);
+emit_16(541);
+emit_16(608);
+emit_16(542);
+emit_16(608);
+emit_16(541);
+emit_16(608);
+emit_16(542);
+emit_16(609);
+emit_16(543);
+emit_16(609);
+emit_16(542);
+emit_16(609);
+emit_16(543);
+emit_16(610);
+emit_16(544);
+emit_16(610);
+emit_16(543);
+emit_16(610);
+emit_16(544);
+emit_16(611);
+emit_16(545);
+emit_16(611);
+emit_16(544);
+emit_16(611);
+emit_16(545);
+emit_16(612);
+emit_16(546);
+emit_16(612);
+emit_16(545);
+emit_16(612);
+emit_16(546);
+emit_16(613);
+emit_16(547);
+emit_16(613);
+emit_16(546);
+emit_16(613);
+emit_16(547);
+emit_16(614);
+emit_16(548);
+emit_16(614);
+emit_16(547);
+emit_16(614);
+emit_16(548);
+emit_16(615);
+emit_16(549);
+emit_16(615);
+emit_16(548);
+emit_16(615);
+emit_16(549);
+emit_16(616);
+emit_16(550);
+emit_16(616);
+emit_16(549);
+emit_16(616);
+emit_16(550);
+emit_16(617);
+emit_16(551);
+emit_16(617);
+emit_16(550);
+emit_16(617);
+emit_16(551);
+emit_16(618);
+emit_16(552);
+emit_16(618);
+emit_16(551);
+emit_16(618);
+emit_16(552);
+emit_16(619);
+emit_16(553);
+emit_16(619);
+emit_16(552);
+emit_16(619);
+emit_16(553);
+emit_16(620);
+emit_16(554);
+emit_16(620);
+emit_16(553);
+emit_16(620);
+emit_16(554);
+emit_16(621);
+emit_16(555);
+emit_16(621);
+emit_16(554);
+emit_16(621);
+emit_16(555);
+emit_16(622);
+emit_16(556);
+emit_16(622);
+emit_16(555);
+emit_16(622);
+emit_16(556);
+emit_16(623);
+emit_16(557);
+emit_16(623);
+emit_16(556);
+emit_16(623);
+emit_16(557);
+emit_16(624);
+emit_16(558);
+emit_16(624);
+emit_16(557);
+emit_16(624);
+emit_16(558);
+emit_16(625);
+emit_16(559);
+emit_16(625);
+emit_16(558);
+emit_16(625);
+emit_16(559);
+emit_16(626);
+emit_16(560);
+emit_16(626);
+emit_16(559);
+emit_16(626);
+emit_16(560);
+emit_16(627);
+emit_16(561);
+emit_16(627);
+emit_16(560);
+emit_16(627);
+emit_16(561);
+emit_16(628);
+emit_16(562);
+emit_16(628);
+emit_16(561);
+emit_16(628);
+emit_16(562);
+emit_16(629);
+emit_16(563);
+emit_16(629);
+emit_16(562);
+emit_16(629);
+emit_16(563);
+emit_16(630);
+emit_16(564);
+emit_16(630);
+emit_16(563);
+emit_16(630);
+emit_16(564);
+emit_16(631);
+emit_16(565);
+emit_16(631);
+emit_16(564);
+emit_16(631);
+emit_16(565);
+emit_16(632);
+emit_16(566);
+emit_16(632);
+emit_16(565);
+emit_16(632);
+emit_16(566);
+emit_16(633);
+emit_16(567);
+emit_16(633);
+emit_16(566);
+emit_16(633);
+emit_16(567);
+emit_16(634);
+emit_16(568);
+emit_16(634);
+emit_16(567);
+emit_16(634);
+emit_16(568);
+emit_16(635);
+emit_16(569);
+emit_16(635);
+emit_16(568);
+emit_16(635);
+emit_16(569);
+emit_16(636);
+emit_16(570);
+emit_16(636);
+emit_16(569);
+emit_16(636);
+emit_16(570);
+emit_16(637);
+emit_16(571);
+emit_16(637);
+emit_16(570);
+emit_16(637);
+emit_16(571);
+emit_16(638);
+emit_16(572);
+emit_16(638);
+emit_16(571);
+emit_16(638);
+emit_16(572);
+emit_16(639);
+emit_16(573);
+emit_16(639);
+emit_16(572);
+emit_16(639);
+emit_16(573);
+emit_16(640);
+emit_16(574);
+emit_16(640);
+emit_16(573);
+emit_16(640);
+emit_16(574);
+emit_16(641);
+emit_16(575);
+emit_16(641);
+emit_16(574);
+emit_16(641);
+emit_16(575);
+emit_16(642);
+emit_16(576);
+emit_16(642);
+emit_16(575);
+emit_16(642);
+emit_16(576);
+emit_16(643);
+emit_16(577);
+emit_16(643);
+emit_16(576);
+emit_16(643);
+emit_16(577);
+emit_16(644);
+emit_16(578);
+emit_16(644);
+emit_16(577);
+emit_16(644);
+emit_16(578);
+emit_16(645);
+emit_16(579);
+emit_16(645);
+emit_16(578);
+emit_16(645);
+emit_16(579);
+emit_16(646);
+emit_16(580);
+emit_16(646);
+emit_16(579);
+emit_16(646);
+emit_16(580);
+emit_16(647);
+emit_16(581);
+emit_16(647);
+emit_16(580);
+emit_16(647);
+emit_16(581);
+emit_16(648);
+emit_16(582);
+emit_16(648);
+emit_16(581);
+emit_16(648);
+emit_16(582);
+emit_16(649);
+emit_16(583);
+emit_16(649);
+emit_16(582);
+emit_16(649);
+emit_16(583);
+emit_16(650);
+emit_16(584);
+emit_16(650);
+emit_16(583);
+emit_16(650);
+emit_16(584);
+emit_16(651);
+emit_16(585);
+emit_16(651);
+emit_16(584);
+emit_16(651);
+emit_16(585);
+emit_16(652);
+emit_16(586);
+emit_16(652);
+emit_16(585);
+emit_16(652);
+emit_16(586);
+emit_16(653);
+emit_16(587);
+emit_16(653);
+emit_16(586);
+emit_16(653);
+emit_16(587);
+emit_16(654);
+emit_16(588);
+emit_16(654);
+emit_16(587);
+emit_16(654);
+emit_16(588);
+emit_16(655);
+emit_16(589);
+emit_16(655);
+emit_16(588);
+emit_16(655);
+emit_16(589);
+emit_16(656);
+emit_16(590);
+emit_16(656);
+emit_16(589);
+emit_16(656);
+emit_16(590);
+emit_16(657);
+emit_16(591);
+emit_16(657);
+emit_16(590);
+emit_16(657);
+emit_16(591);
+emit_16(658);
+emit_16(592);
+emit_16(658);
+emit_16(591);
+emit_16(658);
+emit_16(592);
+emit_16(659);
+emit_16(593);
+emit_16(659);
+emit_16(592);
+emit_16(660);
+emit_16(594);
+emit_16(661);
+emit_16(595);
+emit_16(661);
+emit_16(594);
+emit_16(661);
+emit_16(595);
+emit_16(662);
+emit_16(596);
+emit_16(662);
+emit_16(595);
+emit_16(662);
+emit_16(596);
+emit_16(663);
+emit_16(597);
+emit_16(663);
+emit_16(596);
+emit_16(663);
+emit_16(597);
+emit_16(664);
+emit_16(598);
+emit_16(664);
+emit_16(597);
+emit_16(664);
+emit_16(598);
+emit_16(665);
+emit_16(599);
+emit_16(665);
+emit_16(598);
+emit_16(665);
+emit_16(599);
+emit_16(666);
+emit_16(600);
+emit_16(666);
+emit_16(599);
+emit_16(666);
+emit_16(600);
+emit_16(667);
+emit_16(601);
+emit_16(667);
+emit_16(600);
+emit_16(667);
+emit_16(601);
+emit_16(668);
+emit_16(602);
+emit_16(668);
+emit_16(601);
+emit_16(668);
+emit_16(602);
+emit_16(669);
+emit_16(603);
+emit_16(669);
+emit_16(602);
+emit_16(669);
+emit_16(603);
+emit_16(670);
+emit_16(604);
+emit_16(670);
+emit_16(603);
+emit_16(670);
+emit_16(604);
+emit_16(671);
+emit_16(605);
+emit_16(671);
+emit_16(604);
+emit_16(671);
+emit_16(605);
+emit_16(672);
+emit_16(606);
+emit_16(672);
+emit_16(605);
+emit_16(672);
+emit_16(606);
+emit_16(673);
+emit_16(607);
+emit_16(673);
+emit_16(606);
+emit_16(673);
+emit_16(607);
+emit_16(674);
+emit_16(608);
+emit_16(674);
+emit_16(607);
+emit_16(674);
+emit_16(608);
+emit_16(675);
+emit_16(609);
+emit_16(675);
+emit_16(608);
+emit_16(675);
+emit_16(609);
+emit_16(676);
+emit_16(610);
+emit_16(676);
+emit_16(609);
+emit_16(676);
+emit_16(610);
+emit_16(677);
+emit_16(611);
+emit_16(677);
+emit_16(610);
+emit_16(677);
+emit_16(611);
+emit_16(678);
+emit_16(612);
+emit_16(678);
+emit_16(611);
+emit_16(678);
+emit_16(612);
+emit_16(679);
+emit_16(613);
+emit_16(679);
+emit_16(612);
+emit_16(679);
+emit_16(613);
+emit_16(680);
+emit_16(614);
+emit_16(680);
+emit_16(613);
+emit_16(680);
+emit_16(614);
+emit_16(681);
+emit_16(615);
+emit_16(681);
+emit_16(614);
+emit_16(681);
+emit_16(615);
+emit_16(682);
+emit_16(616);
+emit_16(682);
+emit_16(615);
+emit_16(682);
+emit_16(616);
+emit_16(683);
+emit_16(617);
+emit_16(683);
+emit_16(616);
+emit_16(683);
+emit_16(617);
+emit_16(684);
+emit_16(618);
+emit_16(684);
+emit_16(617);
+emit_16(684);
+emit_16(618);
+emit_16(685);
+emit_16(619);
+emit_16(685);
+emit_16(618);
+emit_16(685);
+emit_16(619);
+emit_16(686);
+emit_16(620);
+emit_16(686);
+emit_16(619);
+emit_16(686);
+emit_16(620);
+emit_16(687);
+emit_16(621);
+emit_16(687);
+emit_16(620);
+emit_16(687);
+emit_16(621);
+emit_16(688);
+emit_16(622);
+emit_16(688);
+emit_16(621);
+emit_16(688);
+emit_16(622);
+emit_16(689);
+emit_16(623);
+emit_16(689);
+emit_16(622);
+emit_16(689);
+emit_16(623);
+emit_16(690);
+emit_16(624);
+emit_16(690);
+emit_16(623);
+emit_16(690);
+emit_16(624);
+emit_16(691);
+emit_16(625);
+emit_16(691);
+emit_16(624);
+emit_16(691);
+emit_16(625);
+emit_16(692);
+emit_16(626);
+emit_16(692);
+emit_16(625);
+emit_16(692);
+emit_16(626);
+emit_16(693);
+emit_16(627);
+emit_16(693);
+emit_16(626);
+emit_16(693);
+emit_16(627);
+emit_16(694);
+emit_16(628);
+emit_16(694);
+emit_16(627);
+emit_16(694);
+emit_16(628);
+emit_16(695);
+emit_16(629);
+emit_16(695);
+emit_16(628);
+emit_16(695);
+emit_16(629);
+emit_16(696);
+emit_16(630);
+emit_16(696);
+emit_16(629);
+emit_16(696);
+emit_16(630);
+emit_16(697);
+emit_16(631);
+emit_16(697);
+emit_16(630);
+emit_16(697);
+emit_16(631);
+emit_16(698);
+emit_16(632);
+emit_16(698);
+emit_16(631);
+emit_16(698);
+emit_16(632);
+emit_16(699);
+emit_16(633);
+emit_16(699);
+emit_16(632);
+emit_16(699);
+emit_16(633);
+emit_16(700);
+emit_16(634);
+emit_16(700);
+emit_16(633);
+emit_16(700);
+emit_16(634);
+emit_16(701);
+emit_16(635);
+emit_16(701);
+emit_16(634);
+emit_16(701);
+emit_16(635);
+emit_16(702);
+emit_16(636);
+emit_16(702);
+emit_16(635);
+emit_16(702);
+emit_16(636);
+emit_16(703);
+emit_16(637);
+emit_16(703);
+emit_16(636);
+emit_16(703);
+emit_16(637);
+emit_16(704);
+emit_16(638);
+emit_16(704);
+emit_16(637);
+emit_16(704);
+emit_16(638);
+emit_16(705);
+emit_16(639);
+emit_16(705);
+emit_16(638);
+emit_16(705);
+emit_16(639);
+emit_16(706);
+emit_16(640);
+emit_16(706);
+emit_16(639);
+emit_16(706);
+emit_16(640);
+emit_16(707);
+emit_16(641);
+emit_16(707);
+emit_16(640);
+emit_16(707);
+emit_16(641);
+emit_16(708);
+emit_16(642);
+emit_16(708);
+emit_16(641);
+emit_16(708);
+emit_16(642);
+emit_16(709);
+emit_16(643);
+emit_16(709);
+emit_16(642);
+emit_16(709);
+emit_16(643);
+emit_16(710);
+emit_16(644);
+emit_16(710);
+emit_16(643);
+emit_16(710);
+emit_16(644);
+emit_16(711);
+emit_16(645);
+emit_16(711);
+emit_16(644);
+emit_16(711);
+emit_16(645);
+emit_16(712);
+emit_16(646);
+emit_16(712);
+emit_16(645);
+emit_16(712);
+emit_16(646);
+emit_16(713);
+emit_16(647);
+emit_16(713);
+emit_16(646);
+emit_16(713);
+emit_16(647);
+emit_16(714);
+emit_16(648);
+emit_16(714);
+emit_16(647);
+emit_16(714);
+emit_16(648);
+emit_16(715);
+emit_16(649);
+emit_16(715);
+emit_16(648);
+emit_16(715);
+emit_16(649);
+emit_16(716);
+emit_16(650);
+emit_16(716);
+emit_16(649);
+emit_16(716);
+emit_16(650);
+emit_16(717);
+emit_16(651);
+emit_16(717);
+emit_16(650);
+emit_16(717);
+emit_16(651);
+emit_16(718);
+emit_16(652);
+emit_16(718);
+emit_16(651);
+emit_16(718);
+emit_16(652);
+emit_16(719);
+emit_16(653);
+emit_16(719);
+emit_16(652);
+emit_16(719);
+emit_16(653);
+emit_16(720);
+emit_16(654);
+emit_16(720);
+emit_16(653);
+emit_16(720);
+emit_16(654);
+emit_16(721);
+emit_16(655);
+emit_16(721);
+emit_16(654);
+emit_16(721);
+emit_16(655);
+emit_16(722);
+emit_16(656);
+emit_16(722);
+emit_16(655);
+emit_16(722);
+emit_16(656);
+emit_16(723);
+emit_16(657);
+emit_16(723);
+emit_16(656);
+emit_16(723);
+emit_16(657);
+emit_16(724);
+emit_16(658);
+emit_16(724);
+emit_16(657);
+emit_16(724);
+emit_16(658);
+emit_16(725);
+emit_16(659);
+emit_16(725);
+emit_16(658);
+emit_16(726);
+emit_16(660);
+emit_16(727);
+emit_16(661);
+emit_16(727);
+emit_16(660);
+emit_16(727);
+emit_16(661);
+emit_16(728);
+emit_16(662);
+emit_16(728);
+emit_16(661);
+emit_16(728);
+emit_16(662);
+emit_16(729);
+emit_16(663);
+emit_16(729);
+emit_16(662);
+emit_16(729);
+emit_16(663);
+emit_16(730);
+emit_16(664);
+emit_16(730);
+emit_16(663);
+emit_16(730);
+emit_16(664);
+emit_16(731);
+emit_16(665);
+emit_16(731);
+emit_16(664);
+emit_16(731);
+emit_16(665);
+emit_16(732);
+emit_16(666);
+emit_16(732);
+emit_16(665);
+emit_16(732);
+emit_16(666);
+emit_16(733);
+emit_16(667);
+emit_16(733);
+emit_16(666);
+emit_16(733);
+emit_16(667);
+emit_16(734);
+emit_16(668);
+emit_16(734);
+emit_16(667);
+emit_16(734);
+emit_16(668);
+emit_16(735);
+emit_16(669);
+emit_16(735);
+emit_16(668);
+emit_16(735);
+emit_16(669);
+emit_16(736);
+emit_16(670);
+emit_16(736);
+emit_16(669);
+emit_16(736);
+emit_16(670);
+emit_16(737);
+emit_16(671);
+emit_16(737);
+emit_16(670);
+emit_16(737);
+emit_16(671);
+emit_16(738);
+emit_16(672);
+emit_16(738);
+emit_16(671);
+emit_16(738);
+emit_16(672);
+emit_16(739);
+emit_16(673);
+emit_16(739);
+emit_16(672);
+emit_16(739);
+emit_16(673);
+emit_16(740);
+emit_16(674);
+emit_16(740);
+emit_16(673);
+emit_16(740);
+emit_16(674);
+emit_16(741);
+emit_16(675);
+emit_16(741);
+emit_16(674);
+emit_16(741);
+emit_16(675);
+emit_16(742);
+emit_16(676);
+emit_16(742);
+emit_16(675);
+emit_16(742);
+emit_16(676);
+emit_16(743);
+emit_16(677);
+emit_16(743);
+emit_16(676);
+emit_16(743);
+emit_16(677);
+emit_16(744);
+emit_16(678);
+emit_16(744);
+emit_16(677);
+emit_16(744);
+emit_16(678);
+emit_16(745);
+emit_16(679);
+emit_16(745);
+emit_16(678);
+emit_16(745);
+emit_16(679);
+emit_16(746);
+emit_16(680);
+emit_16(746);
+emit_16(679);
+emit_16(746);
+emit_16(680);
+emit_16(747);
+emit_16(681);
+emit_16(747);
+emit_16(680);
+emit_16(747);
+emit_16(681);
+emit_16(748);
+emit_16(682);
+emit_16(748);
+emit_16(681);
+emit_16(748);
+emit_16(682);
+emit_16(749);
+emit_16(683);
+emit_16(749);
+emit_16(682);
+emit_16(749);
+emit_16(683);
+emit_16(750);
+emit_16(684);
+emit_16(750);
+emit_16(683);
+emit_16(750);
+emit_16(684);
+emit_16(751);
+emit_16(685);
+emit_16(751);
+emit_16(684);
+emit_16(751);
+emit_16(685);
+emit_16(752);
+emit_16(686);
+emit_16(752);
+emit_16(685);
+emit_16(752);
+emit_16(686);
+emit_16(753);
+emit_16(687);
+emit_16(753);
+emit_16(686);
+emit_16(753);
+emit_16(687);
+emit_16(754);
+emit_16(688);
+emit_16(754);
+emit_16(687);
+emit_16(754);
+emit_16(688);
+emit_16(755);
+emit_16(689);
+emit_16(755);
+emit_16(688);
+emit_16(755);
+emit_16(689);
+emit_16(756);
+emit_16(690);
+emit_16(756);
+emit_16(689);
+emit_16(756);
+emit_16(690);
+emit_16(757);
+emit_16(691);
+emit_16(757);
+emit_16(690);
+emit_16(757);
+emit_16(691);
+emit_16(758);
+emit_16(692);
+emit_16(758);
+emit_16(691);
+emit_16(758);
+emit_16(692);
+emit_16(759);
+emit_16(693);
+emit_16(759);
+emit_16(692);
+emit_16(759);
+emit_16(693);
+emit_16(760);
+emit_16(694);
+emit_16(760);
+emit_16(693);
+emit_16(760);
+emit_16(694);
+emit_16(761);
+emit_16(695);
+emit_16(761);
+emit_16(694);
+emit_16(761);
+emit_16(695);
+emit_16(762);
+emit_16(696);
+emit_16(762);
+emit_16(695);
+emit_16(762);
+emit_16(696);
+emit_16(763);
+emit_16(697);
+emit_16(763);
+emit_16(696);
+emit_16(763);
+emit_16(697);
+emit_16(764);
+emit_16(698);
+emit_16(764);
+emit_16(697);
+emit_16(764);
+emit_16(698);
+emit_16(765);
+emit_16(699);
+emit_16(765);
+emit_16(698);
+emit_16(765);
+emit_16(699);
+emit_16(766);
+emit_16(700);
+emit_16(766);
+emit_16(699);
+emit_16(766);
+emit_16(700);
+emit_16(767);
+emit_16(701);
+emit_16(767);
+emit_16(700);
+emit_16(767);
+emit_16(701);
+emit_16(768);
+emit_16(702);
+emit_16(768);
+emit_16(701);
+emit_16(768);
+emit_16(702);
+emit_16(769);
+emit_16(703);
+emit_16(769);
+emit_16(702);
+emit_16(769);
+emit_16(703);
+emit_16(770);
+emit_16(704);
+emit_16(770);
+emit_16(703);
+emit_16(770);
+emit_16(704);
+emit_16(771);
+emit_16(705);
+emit_16(771);
+emit_16(704);
+emit_16(771);
+emit_16(705);
+emit_16(772);
+emit_16(706);
+emit_16(772);
+emit_16(705);
+emit_16(772);
+emit_16(706);
+emit_16(773);
+emit_16(707);
+emit_16(773);
+emit_16(706);
+emit_16(773);
+emit_16(707);
+emit_16(774);
+emit_16(708);
+emit_16(774);
+emit_16(707);
+emit_16(774);
+emit_16(708);
+emit_16(775);
+emit_16(709);
+emit_16(775);
+emit_16(708);
+emit_16(775);
+emit_16(709);
+emit_16(776);
+emit_16(710);
+emit_16(776);
+emit_16(709);
+emit_16(776);
+emit_16(710);
+emit_16(777);
+emit_16(711);
+emit_16(777);
+emit_16(710);
+emit_16(777);
+emit_16(711);
+emit_16(778);
+emit_16(712);
+emit_16(778);
+emit_16(711);
+emit_16(778);
+emit_16(712);
+emit_16(779);
+emit_16(713);
+emit_16(779);
+emit_16(712);
+emit_16(779);
+emit_16(713);
+emit_16(780);
+emit_16(714);
+emit_16(780);
+emit_16(713);
+emit_16(780);
+emit_16(714);
+emit_16(781);
+emit_16(715);
+emit_16(781);
+emit_16(714);
+emit_16(781);
+emit_16(715);
+emit_16(782);
+emit_16(716);
+emit_16(782);
+emit_16(715);
+emit_16(782);
+emit_16(716);
+emit_16(783);
+emit_16(717);
+emit_16(783);
+emit_16(716);
+emit_16(783);
+emit_16(717);
+emit_16(784);
+emit_16(718);
+emit_16(784);
+emit_16(717);
+emit_16(784);
+emit_16(718);
+emit_16(785);
+emit_16(719);
+emit_16(785);
+emit_16(718);
+emit_16(785);
+emit_16(719);
+emit_16(786);
+emit_16(720);
+emit_16(786);
+emit_16(719);
+emit_16(786);
+emit_16(720);
+emit_16(787);
+emit_16(721);
+emit_16(787);
+emit_16(720);
+emit_16(787);
+emit_16(721);
+emit_16(788);
+emit_16(722);
+emit_16(788);
+emit_16(721);
+emit_16(788);
+emit_16(722);
+emit_16(789);
+emit_16(723);
+emit_16(789);
+emit_16(722);
+emit_16(789);
+emit_16(723);
+emit_16(790);
+emit_16(724);
+emit_16(790);
+emit_16(723);
+emit_16(790);
+emit_16(724);
+emit_16(791);
+emit_16(725);
+emit_16(791);
+emit_16(724);
+emit_16(792);
+emit_16(726);
+emit_16(793);
+emit_16(727);
+emit_16(793);
+emit_16(726);
+emit_16(793);
+emit_16(727);
+emit_16(794);
+emit_16(728);
+emit_16(794);
+emit_16(727);
+emit_16(794);
+emit_16(728);
+emit_16(795);
+emit_16(729);
+emit_16(795);
+emit_16(728);
+emit_16(795);
+emit_16(729);
+emit_16(796);
+emit_16(730);
+emit_16(796);
+emit_16(729);
+emit_16(796);
+emit_16(730);
+emit_16(797);
+emit_16(731);
+emit_16(797);
+emit_16(730);
+emit_16(797);
+emit_16(731);
+emit_16(798);
+emit_16(732);
+emit_16(798);
+emit_16(731);
+emit_16(798);
+emit_16(732);
+emit_16(799);
+emit_16(733);
+emit_16(799);
+emit_16(732);
+emit_16(799);
+emit_16(733);
+emit_16(800);
+emit_16(734);
+emit_16(800);
+emit_16(733);
+emit_16(800);
+emit_16(734);
+emit_16(801);
+emit_16(735);
+emit_16(801);
+emit_16(734);
+emit_16(801);
+emit_16(735);
+emit_16(802);
+emit_16(736);
+emit_16(802);
+emit_16(735);
+emit_16(802);
+emit_16(736);
+emit_16(803);
+emit_16(737);
+emit_16(803);
+emit_16(736);
+emit_16(803);
+emit_16(737);
+emit_16(804);
+emit_16(738);
+emit_16(804);
+emit_16(737);
+emit_16(804);
+emit_16(738);
+emit_16(805);
+emit_16(739);
+emit_16(805);
+emit_16(738);
+emit_16(805);
+emit_16(739);
+emit_16(806);
+emit_16(740);
+emit_16(806);
+emit_16(739);
+emit_16(806);
+emit_16(740);
+emit_16(807);
+emit_16(741);
+emit_16(807);
+emit_16(740);
+emit_16(807);
+emit_16(741);
+emit_16(808);
+emit_16(742);
+emit_16(808);
+emit_16(741);
+emit_16(808);
+emit_16(742);
+emit_16(809);
+emit_16(743);
+emit_16(809);
+emit_16(742);
+emit_16(809);
+emit_16(743);
+emit_16(810);
+emit_16(744);
+emit_16(810);
+emit_16(743);
+emit_16(810);
+emit_16(744);
+emit_16(811);
+emit_16(745);
+emit_16(811);
+emit_16(744);
+emit_16(811);
+emit_16(745);
+emit_16(812);
+emit_16(746);
+emit_16(812);
+emit_16(745);
+emit_16(812);
+emit_16(746);
+emit_16(813);
+emit_16(747);
+emit_16(813);
+emit_16(746);
+emit_16(813);
+emit_16(747);
+emit_16(814);
+emit_16(748);
+emit_16(814);
+emit_16(747);
+emit_16(814);
+emit_16(748);
+emit_16(815);
+emit_16(749);
+emit_16(815);
+emit_16(748);
+emit_16(815);
+emit_16(749);
+emit_16(816);
+emit_16(750);
+emit_16(816);
+emit_16(749);
+emit_16(816);
+emit_16(750);
+emit_16(817);
+emit_16(751);
+emit_16(817);
+emit_16(750);
+emit_16(817);
+emit_16(751);
+emit_16(818);
+emit_16(752);
+emit_16(818);
+emit_16(751);
+emit_16(818);
+emit_16(752);
+emit_16(819);
+emit_16(753);
+emit_16(819);
+emit_16(752);
+emit_16(819);
+emit_16(753);
+emit_16(820);
+emit_16(754);
+emit_16(820);
+emit_16(753);
+emit_16(820);
+emit_16(754);
+emit_16(821);
+emit_16(755);
+emit_16(821);
+emit_16(754);
+emit_16(821);
+emit_16(755);
+emit_16(822);
+emit_16(756);
+emit_16(822);
+emit_16(755);
+emit_16(822);
+emit_16(756);
+emit_16(823);
+emit_16(757);
+emit_16(823);
+emit_16(756);
+emit_16(823);
+emit_16(757);
+emit_16(824);
+emit_16(758);
+emit_16(824);
+emit_16(757);
+emit_16(824);
+emit_16(758);
+emit_16(825);
+emit_16(759);
+emit_16(825);
+emit_16(758);
+emit_16(825);
+emit_16(759);
+emit_16(826);
+emit_16(760);
+emit_16(826);
+emit_16(759);
+emit_16(826);
+emit_16(760);
+emit_16(827);
+emit_16(761);
+emit_16(827);
+emit_16(760);
+emit_16(827);
+emit_16(761);
+emit_16(828);
+emit_16(762);
+emit_16(828);
+emit_16(761);
+emit_16(828);
+emit_16(762);
+emit_16(829);
+emit_16(763);
+emit_16(829);
+emit_16(762);
+emit_16(829);
+emit_16(763);
+emit_16(830);
+emit_16(764);
+emit_16(830);
+emit_16(763);
+emit_16(830);
+emit_16(764);
+emit_16(831);
+emit_16(765);
+emit_16(831);
+emit_16(764);
+emit_16(831);
+emit_16(765);
+emit_16(832);
+emit_16(766);
+emit_16(832);
+emit_16(765);
+emit_16(832);
+emit_16(766);
+emit_16(833);
+emit_16(767);
+emit_16(833);
+emit_16(766);
+emit_16(833);
+emit_16(767);
+emit_16(834);
+emit_16(768);
+emit_16(834);
+emit_16(767);
+emit_16(834);
+emit_16(768);
+emit_16(835);
+emit_16(769);
+emit_16(835);
+emit_16(768);
+emit_16(835);
+emit_16(769);
+emit_16(836);
+emit_16(770);
+emit_16(836);
+emit_16(769);
+emit_16(836);
+emit_16(770);
+emit_16(837);
+emit_16(771);
+emit_16(837);
+emit_16(770);
+emit_16(837);
+emit_16(771);
+emit_16(838);
+emit_16(772);
+emit_16(838);
+emit_16(771);
+emit_16(838);
+emit_16(772);
+emit_16(839);
+emit_16(773);
+emit_16(839);
+emit_16(772);
+emit_16(839);
+emit_16(773);
+emit_16(840);
+emit_16(774);
+emit_16(840);
+emit_16(773);
+emit_16(840);
+emit_16(774);
+emit_16(841);
+emit_16(775);
+emit_16(841);
+emit_16(774);
+emit_16(841);
+emit_16(775);
+emit_16(842);
+emit_16(776);
+emit_16(842);
+emit_16(775);
+emit_16(842);
+emit_16(776);
+emit_16(843);
+emit_16(777);
+emit_16(843);
+emit_16(776);
+emit_16(843);
+emit_16(777);
+emit_16(844);
+emit_16(778);
+emit_16(844);
+emit_16(777);
+emit_16(844);
+emit_16(778);
+emit_16(845);
+emit_16(779);
+emit_16(845);
+emit_16(778);
+emit_16(845);
+emit_16(779);
+emit_16(846);
+emit_16(780);
+emit_16(846);
+emit_16(779);
+emit_16(846);
+emit_16(780);
+emit_16(847);
+emit_16(781);
+emit_16(847);
+emit_16(780);
+emit_16(847);
+emit_16(781);
+emit_16(848);
+emit_16(782);
+emit_16(848);
+emit_16(781);
+emit_16(848);
+emit_16(782);
+emit_16(849);
+emit_16(783);
+emit_16(849);
+emit_16(782);
+emit_16(849);
+emit_16(783);
+emit_16(850);
+emit_16(784);
+emit_16(850);
+emit_16(783);
+emit_16(850);
+emit_16(784);
+emit_16(851);
+emit_16(785);
+emit_16(851);
+emit_16(784);
+emit_16(851);
+emit_16(785);
+emit_16(852);
+emit_16(786);
+emit_16(852);
+emit_16(785);
+emit_16(852);
+emit_16(786);
+emit_16(853);
+emit_16(787);
+emit_16(853);
+emit_16(786);
+emit_16(853);
+emit_16(787);
+emit_16(854);
+emit_16(788);
+emit_16(854);
+emit_16(787);
+emit_16(854);
+emit_16(788);
+emit_16(855);
+emit_16(789);
+emit_16(855);
+emit_16(788);
+emit_16(855);
+emit_16(789);
+emit_16(856);
+emit_16(790);
+emit_16(856);
+emit_16(789);
+emit_16(856);
+emit_16(790);
+emit_16(857);
+emit_16(791);
+emit_16(857);
+emit_16(790);
+emit_16(858);
+emit_16(792);
+emit_16(859);
+emit_16(793);
+emit_16(859);
+emit_16(792);
+emit_16(859);
+emit_16(793);
+emit_16(860);
+emit_16(794);
+emit_16(860);
+emit_16(793);
+emit_16(860);
+emit_16(794);
+emit_16(861);
+emit_16(795);
+emit_16(861);
+emit_16(794);
+emit_16(861);
+emit_16(795);
+emit_16(862);
+emit_16(796);
+emit_16(862);
+emit_16(795);
+emit_16(862);
+emit_16(796);
+emit_16(863);
+emit_16(797);
+emit_16(863);
+emit_16(796);
+emit_16(863);
+emit_16(797);
+emit_16(864);
+emit_16(798);
+emit_16(864);
+emit_16(797);
+emit_16(864);
+emit_16(798);
+emit_16(865);
+emit_16(799);
+emit_16(865);
+emit_16(798);
+emit_16(865);
+emit_16(799);
+emit_16(866);
+emit_16(800);
+emit_16(866);
+emit_16(799);
+emit_16(866);
+emit_16(800);
+emit_16(867);
+emit_16(801);
+emit_16(867);
+emit_16(800);
+emit_16(867);
+emit_16(801);
+emit_16(868);
+emit_16(802);
+emit_16(868);
+emit_16(801);
+emit_16(868);
+emit_16(802);
+emit_16(869);
+emit_16(803);
+emit_16(869);
+emit_16(802);
+emit_16(869);
+emit_16(803);
+emit_16(870);
+emit_16(804);
+emit_16(870);
+emit_16(803);
+emit_16(870);
+emit_16(804);
+emit_16(871);
+emit_16(805);
+emit_16(871);
+emit_16(804);
+emit_16(871);
+emit_16(805);
+emit_16(872);
+emit_16(806);
+emit_16(872);
+emit_16(805);
+emit_16(872);
+emit_16(806);
+emit_16(873);
+emit_16(807);
+emit_16(873);
+emit_16(806);
+emit_16(873);
+emit_16(807);
+emit_16(874);
+emit_16(808);
+emit_16(874);
+emit_16(807);
+emit_16(874);
+emit_16(808);
+emit_16(875);
+emit_16(809);
+emit_16(875);
+emit_16(808);
+emit_16(875);
+emit_16(809);
+emit_16(876);
+emit_16(810);
+emit_16(876);
+emit_16(809);
+emit_16(876);
+emit_16(810);
+emit_16(877);
+emit_16(811);
+emit_16(877);
+emit_16(810);
+emit_16(877);
+emit_16(811);
+emit_16(878);
+emit_16(812);
+emit_16(878);
+emit_16(811);
+emit_16(878);
+emit_16(812);
+emit_16(879);
+emit_16(813);
+emit_16(879);
+emit_16(812);
+emit_16(879);
+emit_16(813);
+emit_16(880);
+emit_16(814);
+emit_16(880);
+emit_16(813);
+emit_16(880);
+emit_16(814);
+emit_16(881);
+emit_16(815);
+emit_16(881);
+emit_16(814);
+emit_16(881);
+emit_16(815);
+emit_16(882);
+emit_16(816);
+emit_16(882);
+emit_16(815);
+emit_16(882);
+emit_16(816);
+emit_16(883);
+emit_16(817);
+emit_16(883);
+emit_16(816);
+emit_16(883);
+emit_16(817);
+emit_16(884);
+emit_16(818);
+emit_16(884);
+emit_16(817);
+emit_16(884);
+emit_16(818);
+emit_16(885);
+emit_16(819);
+emit_16(885);
+emit_16(818);
+emit_16(885);
+emit_16(819);
+emit_16(886);
+emit_16(820);
+emit_16(886);
+emit_16(819);
+emit_16(886);
+emit_16(820);
+emit_16(887);
+emit_16(821);
+emit_16(887);
+emit_16(820);
+emit_16(887);
+emit_16(821);
+emit_16(888);
+emit_16(822);
+emit_16(888);
+emit_16(821);
+emit_16(888);
+emit_16(822);
+emit_16(889);
+emit_16(823);
+emit_16(889);
+emit_16(822);
+emit_16(889);
+emit_16(823);
+emit_16(890);
+emit_16(824);
+emit_16(890);
+emit_16(823);
+emit_16(890);
+emit_16(824);
+emit_16(891);
+emit_16(825);
+emit_16(891);
+emit_16(824);
+emit_16(891);
+emit_16(825);
+emit_16(892);
+emit_16(826);
+emit_16(892);
+emit_16(825);
+emit_16(892);
+emit_16(826);
+emit_16(893);
+emit_16(827);
+emit_16(893);
+emit_16(826);
+emit_16(893);
+emit_16(827);
+emit_16(894);
+emit_16(828);
+emit_16(894);
+emit_16(827);
+emit_16(894);
+emit_16(828);
+emit_16(895);
+emit_16(829);
+emit_16(895);
+emit_16(828);
+emit_16(895);
+emit_16(829);
+emit_16(896);
+emit_16(830);
+emit_16(896);
+emit_16(829);
+emit_16(896);
+emit_16(830);
+emit_16(897);
+emit_16(831);
+emit_16(897);
+emit_16(830);
+emit_16(897);
+emit_16(831);
+emit_16(898);
+emit_16(832);
+emit_16(898);
+emit_16(831);
+emit_16(898);
+emit_16(832);
+emit_16(899);
+emit_16(833);
+emit_16(899);
+emit_16(832);
+emit_16(899);
+emit_16(833);
+emit_16(900);
+emit_16(834);
+emit_16(900);
+emit_16(833);
+emit_16(900);
+emit_16(834);
+emit_16(901);
+emit_16(835);
+emit_16(901);
+emit_16(834);
+emit_16(901);
+emit_16(835);
+emit_16(902);
+emit_16(836);
+emit_16(902);
+emit_16(835);
+emit_16(902);
+emit_16(836);
+emit_16(903);
+emit_16(837);
+emit_16(903);
+emit_16(836);
+emit_16(903);
+emit_16(837);
+emit_16(904);
+emit_16(838);
+emit_16(904);
+emit_16(837);
+emit_16(904);
+emit_16(838);
+emit_16(905);
+emit_16(839);
+emit_16(905);
+emit_16(838);
+emit_16(905);
+emit_16(839);
+emit_16(906);
+emit_16(840);
+emit_16(906);
+emit_16(839);
+emit_16(906);
+emit_16(840);
+emit_16(907);
+emit_16(841);
+emit_16(907);
+emit_16(840);
+emit_16(907);
+emit_16(841);
+emit_16(908);
+emit_16(842);
+emit_16(908);
+emit_16(841);
+emit_16(908);
+emit_16(842);
+emit_16(909);
+emit_16(843);
+emit_16(909);
+emit_16(842);
+emit_16(909);
+emit_16(843);
+emit_16(910);
+emit_16(844);
+emit_16(910);
+emit_16(843);
+emit_16(910);
+emit_16(844);
+emit_16(911);
+emit_16(845);
+emit_16(911);
+emit_16(844);
+emit_16(911);
+emit_16(845);
+emit_16(912);
+emit_16(846);
+emit_16(912);
+emit_16(845);
+emit_16(912);
+emit_16(846);
+emit_16(913);
+emit_16(847);
+emit_16(913);
+emit_16(846);
+emit_16(913);
+emit_16(847);
+emit_16(914);
+emit_16(848);
+emit_16(914);
+emit_16(847);
+emit_16(914);
+emit_16(848);
+emit_16(915);
+emit_16(849);
+emit_16(915);
+emit_16(848);
+emit_16(915);
+emit_16(849);
+emit_16(916);
+emit_16(850);
+emit_16(916);
+emit_16(849);
+emit_16(916);
+emit_16(850);
+emit_16(917);
+emit_16(851);
+emit_16(917);
+emit_16(850);
+emit_16(917);
+emit_16(851);
+emit_16(918);
+emit_16(852);
+emit_16(918);
+emit_16(851);
+emit_16(918);
+emit_16(852);
+emit_16(919);
+emit_16(853);
+emit_16(919);
+emit_16(852);
+emit_16(919);
+emit_16(853);
+emit_16(920);
+emit_16(854);
+emit_16(920);
+emit_16(853);
+emit_16(920);
+emit_16(854);
+emit_16(921);
+emit_16(855);
+emit_16(921);
+emit_16(854);
+emit_16(921);
+emit_16(855);
+emit_16(922);
+emit_16(856);
+emit_16(922);
+emit_16(855);
+emit_16(922);
+emit_16(856);
+emit_16(923);
+emit_16(857);
+emit_16(923);
+emit_16(856);
+emit_16(924);
+emit_16(858);
+emit_16(925);
+emit_16(859);
+emit_16(925);
+emit_16(858);
+emit_16(925);
+emit_16(859);
+emit_16(926);
+emit_16(860);
+emit_16(926);
+emit_16(859);
+emit_16(926);
+emit_16(860);
+emit_16(927);
+emit_16(861);
+emit_16(927);
+emit_16(860);
+emit_16(927);
+emit_16(861);
+emit_16(928);
+emit_16(862);
+emit_16(928);
+emit_16(861);
+emit_16(928);
+emit_16(862);
+emit_16(929);
+emit_16(863);
+emit_16(929);
+emit_16(862);
+emit_16(929);
+emit_16(863);
+emit_16(930);
+emit_16(864);
+emit_16(930);
+emit_16(863);
+emit_16(930);
+emit_16(864);
+emit_16(931);
+emit_16(865);
+emit_16(931);
+emit_16(864);
+emit_16(931);
+emit_16(865);
+emit_16(932);
+emit_16(866);
+emit_16(932);
+emit_16(865);
+emit_16(932);
+emit_16(866);
+emit_16(933);
+emit_16(867);
+emit_16(933);
+emit_16(866);
+emit_16(933);
+emit_16(867);
+emit_16(934);
+emit_16(868);
+emit_16(934);
+emit_16(867);
+emit_16(934);
+emit_16(868);
+emit_16(935);
+emit_16(869);
+emit_16(935);
+emit_16(868);
+emit_16(935);
+emit_16(869);
+emit_16(936);
+emit_16(870);
+emit_16(936);
+emit_16(869);
+emit_16(936);
+emit_16(870);
+emit_16(937);
+emit_16(871);
+emit_16(937);
+emit_16(870);
+emit_16(937);
+emit_16(871);
+emit_16(938);
+emit_16(872);
+emit_16(938);
+emit_16(871);
+emit_16(938);
+emit_16(872);
+emit_16(939);
+emit_16(873);
+emit_16(939);
+emit_16(872);
+emit_16(939);
+emit_16(873);
+emit_16(940);
+emit_16(874);
+emit_16(940);
+emit_16(873);
+emit_16(940);
+emit_16(874);
+emit_16(941);
+emit_16(875);
+emit_16(941);
+emit_16(874);
+emit_16(941);
+emit_16(875);
+emit_16(942);
+emit_16(876);
+emit_16(942);
+emit_16(875);
+emit_16(942);
+emit_16(876);
+emit_16(943);
+emit_16(877);
+emit_16(943);
+emit_16(876);
+emit_16(943);
+emit_16(877);
+emit_16(944);
+emit_16(878);
+emit_16(944);
+emit_16(877);
+emit_16(944);
+emit_16(878);
+emit_16(945);
+emit_16(879);
+emit_16(945);
+emit_16(878);
+emit_16(945);
+emit_16(879);
+emit_16(946);
+emit_16(880);
+emit_16(946);
+emit_16(879);
+emit_16(946);
+emit_16(880);
+emit_16(947);
+emit_16(881);
+emit_16(947);
+emit_16(880);
+emit_16(947);
+emit_16(881);
+emit_16(948);
+emit_16(882);
+emit_16(948);
+emit_16(881);
+emit_16(948);
+emit_16(882);
+emit_16(949);
+emit_16(883);
+emit_16(949);
+emit_16(882);
+emit_16(949);
+emit_16(883);
+emit_16(950);
+emit_16(884);
+emit_16(950);
+emit_16(883);
+emit_16(950);
+emit_16(884);
+emit_16(951);
+emit_16(885);
+emit_16(951);
+emit_16(884);
+emit_16(951);
+emit_16(885);
+emit_16(952);
+emit_16(886);
+emit_16(952);
+emit_16(885);
+emit_16(952);
+emit_16(886);
+emit_16(953);
+emit_16(887);
+emit_16(953);
+emit_16(886);
+emit_16(953);
+emit_16(887);
+emit_16(954);
+emit_16(888);
+emit_16(954);
+emit_16(887);
+emit_16(954);
+emit_16(888);
+emit_16(955);
+emit_16(889);
+emit_16(955);
+emit_16(888);
+emit_16(955);
+emit_16(889);
+emit_16(956);
+emit_16(890);
+emit_16(956);
+emit_16(889);
+emit_16(956);
+emit_16(890);
+emit_16(957);
+emit_16(891);
+emit_16(957);
+emit_16(890);
+emit_16(957);
+emit_16(891);
+emit_16(958);
+emit_16(892);
+emit_16(958);
+emit_16(891);
+emit_16(958);
+emit_16(892);
+emit_16(959);
+emit_16(893);
+emit_16(959);
+emit_16(892);
+emit_16(959);
+emit_16(893);
+emit_16(960);
+emit_16(894);
+emit_16(960);
+emit_16(893);
+emit_16(960);
+emit_16(894);
+emit_16(961);
+emit_16(895);
+emit_16(961);
+emit_16(894);
+emit_16(961);
+emit_16(895);
+emit_16(962);
+emit_16(896);
+emit_16(962);
+emit_16(895);
+emit_16(962);
+emit_16(896);
+emit_16(963);
+emit_16(897);
+emit_16(963);
+emit_16(896);
+emit_16(963);
+emit_16(897);
+emit_16(964);
+emit_16(898);
+emit_16(964);
+emit_16(897);
+emit_16(964);
+emit_16(898);
+emit_16(965);
+emit_16(899);
+emit_16(965);
+emit_16(898);
+emit_16(965);
+emit_16(899);
+emit_16(966);
+emit_16(900);
+emit_16(966);
+emit_16(899);
+emit_16(966);
+emit_16(900);
+emit_16(967);
+emit_16(901);
+emit_16(967);
+emit_16(900);
+emit_16(967);
+emit_16(901);
+emit_16(968);
+emit_16(902);
+emit_16(968);
+emit_16(901);
+emit_16(968);
+emit_16(902);
+emit_16(969);
+emit_16(903);
+emit_16(969);
+emit_16(902);
+emit_16(969);
+emit_16(903);
+emit_16(970);
+emit_16(904);
+emit_16(970);
+emit_16(903);
+emit_16(970);
+emit_16(904);
+emit_16(971);
+emit_16(905);
+emit_16(971);
+emit_16(904);
+emit_16(971);
+emit_16(905);
+emit_16(972);
+emit_16(906);
+emit_16(972);
+emit_16(905);
+emit_16(972);
+emit_16(906);
+emit_16(973);
+emit_16(907);
+emit_16(973);
+emit_16(906);
+emit_16(973);
+emit_16(907);
+emit_16(974);
+emit_16(908);
+emit_16(974);
+emit_16(907);
+emit_16(974);
+emit_16(908);
+emit_16(975);
+emit_16(909);
+emit_16(975);
+emit_16(908);
+emit_16(975);
+emit_16(909);
+emit_16(976);
+emit_16(910);
+emit_16(976);
+emit_16(909);
+emit_16(976);
+emit_16(910);
+emit_16(977);
+emit_16(911);
+emit_16(977);
+emit_16(910);
+emit_16(977);
+emit_16(911);
+emit_16(978);
+emit_16(912);
+emit_16(978);
+emit_16(911);
+emit_16(978);
+emit_16(912);
+emit_16(979);
+emit_16(913);
+emit_16(979);
+emit_16(912);
+emit_16(979);
+emit_16(913);
+emit_16(980);
+emit_16(914);
+emit_16(980);
+emit_16(913);
+emit_16(980);
+emit_16(914);
+emit_16(981);
+emit_16(915);
+emit_16(981);
+emit_16(914);
+emit_16(981);
+emit_16(915);
+emit_16(982);
+emit_16(916);
+emit_16(982);
+emit_16(915);
+emit_16(982);
+emit_16(916);
+emit_16(983);
+emit_16(917);
+emit_16(983);
+emit_16(916);
+emit_16(983);
+emit_16(917);
+emit_16(984);
+emit_16(918);
+emit_16(984);
+emit_16(917);
+emit_16(984);
+emit_16(918);
+emit_16(985);
+emit_16(919);
+emit_16(985);
+emit_16(918);
+emit_16(985);
+emit_16(919);
+emit_16(986);
+emit_16(920);
+emit_16(986);
+emit_16(919);
+emit_16(986);
+emit_16(920);
+emit_16(987);
+emit_16(921);
+emit_16(987);
+emit_16(920);
+emit_16(987);
+emit_16(921);
+emit_16(988);
+emit_16(922);
+emit_16(988);
+emit_16(921);
+emit_16(988);
+emit_16(922);
+emit_16(989);
+emit_16(923);
+emit_16(989);
+emit_16(922);
+emit_16(990);
+emit_16(924);
+emit_16(991);
+emit_16(925);
+emit_16(991);
+emit_16(924);
+emit_16(991);
+emit_16(925);
+emit_16(992);
+emit_16(926);
+emit_16(992);
+emit_16(925);
+emit_16(992);
+emit_16(926);
+emit_16(993);
+emit_16(927);
+emit_16(993);
+emit_16(926);
+emit_16(993);
+emit_16(927);
+emit_16(994);
+emit_16(928);
+emit_16(994);
+emit_16(927);
+emit_16(994);
+emit_16(928);
+emit_16(995);
+emit_16(929);
+emit_16(995);
+emit_16(928);
+emit_16(995);
+emit_16(929);
+emit_16(996);
+emit_16(930);
+emit_16(996);
+emit_16(929);
+emit_16(996);
+emit_16(930);
+emit_16(997);
+emit_16(931);
+emit_16(997);
+emit_16(930);
+emit_16(997);
+emit_16(931);
+emit_16(998);
+emit_16(932);
+emit_16(998);
+emit_16(931);
+emit_16(998);
+emit_16(932);
+emit_16(999);
+emit_16(933);
+emit_16(999);
+emit_16(932);
+emit_16(999);
+emit_16(933);
+emit_16(1000);
+emit_16(934);
+emit_16(1000);
+emit_16(933);
+emit_16(1000);
+emit_16(934);
+emit_16(1001);
+emit_16(935);
+emit_16(1001);
+emit_16(934);
+emit_16(1001);
+emit_16(935);
+emit_16(1002);
+emit_16(936);
+emit_16(1002);
+emit_16(935);
+emit_16(1002);
+emit_16(936);
+emit_16(1003);
+emit_16(937);
+emit_16(1003);
+emit_16(936);
+emit_16(1003);
+emit_16(937);
+emit_16(1004);
+emit_16(938);
+emit_16(1004);
+emit_16(937);
+emit_16(1004);
+emit_16(938);
+emit_16(1005);
+emit_16(939);
+emit_16(1005);
+emit_16(938);
+emit_16(1005);
+emit_16(939);
+emit_16(1006);
+emit_16(940);
+emit_16(1006);
+emit_16(939);
+emit_16(1006);
+emit_16(940);
+emit_16(1007);
+emit_16(941);
+emit_16(1007);
+emit_16(940);
+emit_16(1007);
+emit_16(941);
+emit_16(1008);
+emit_16(942);
+emit_16(1008);
+emit_16(941);
+emit_16(1008);
+emit_16(942);
+emit_16(1009);
+emit_16(943);
+emit_16(1009);
+emit_16(942);
+emit_16(1009);
+emit_16(943);
+emit_16(1010);
+emit_16(944);
+emit_16(1010);
+emit_16(943);
+emit_16(1010);
+emit_16(944);
+emit_16(1011);
+emit_16(945);
+emit_16(1011);
+emit_16(944);
+emit_16(1011);
+emit_16(945);
+emit_16(1012);
+emit_16(946);
+emit_16(1012);
+emit_16(945);
+emit_16(1012);
+emit_16(946);
+emit_16(1013);
+emit_16(947);
+emit_16(1013);
+emit_16(946);
+emit_16(1013);
+emit_16(947);
+emit_16(1014);
+emit_16(948);
+emit_16(1014);
+emit_16(947);
+emit_16(1014);
+emit_16(948);
+emit_16(1015);
+emit_16(949);
+emit_16(1015);
+emit_16(948);
+emit_16(1015);
+emit_16(949);
+emit_16(1016);
+emit_16(950);
+emit_16(1016);
+emit_16(949);
+emit_16(1016);
+emit_16(950);
+emit_16(1017);
+emit_16(951);
+emit_16(1017);
+emit_16(950);
+emit_16(1017);
+emit_16(951);
+emit_16(1018);
+emit_16(952);
+emit_16(1018);
+emit_16(951);
+emit_16(1018);
+emit_16(952);
+emit_16(1019);
+emit_16(953);
+emit_16(1019);
+emit_16(952);
+emit_16(1019);
+emit_16(953);
+emit_16(1020);
+emit_16(954);
+emit_16(1020);
+emit_16(953);
+emit_16(1020);
+emit_16(954);
+emit_16(1021);
+emit_16(955);
+emit_16(1021);
+emit_16(954);
+emit_16(1021);
+emit_16(955);
+emit_16(1022);
+emit_16(956);
+emit_16(1022);
+emit_16(955);
+emit_16(1022);
+emit_16(956);
+emit_16(1023);
+emit_16(957);
+emit_16(1023);
+emit_16(956);
+emit_16(1023);
+emit_16(957);
+emit_16(1024);
+emit_16(958);
+emit_16(1024);
+emit_16(957);
+emit_16(1024);
+emit_16(958);
+emit_16(1025);
+emit_16(959);
+emit_16(1025);
+emit_16(958);
+emit_16(1025);
+emit_16(959);
+emit_16(1026);
+emit_16(960);
+emit_16(1026);
+emit_16(959);
+emit_16(1026);
+emit_16(960);
+emit_16(1027);
+emit_16(961);
+emit_16(1027);
+emit_16(960);
+emit_16(1027);
+emit_16(961);
+emit_16(1028);
+emit_16(962);
+emit_16(1028);
+emit_16(961);
+emit_16(1028);
+emit_16(962);
+emit_16(1029);
+emit_16(963);
+emit_16(1029);
+emit_16(962);
+emit_16(1029);
+emit_16(963);
+emit_16(1030);
+emit_16(964);
+emit_16(1030);
+emit_16(963);
+emit_16(1030);
+emit_16(964);
+emit_16(1031);
+emit_16(965);
+emit_16(1031);
+emit_16(964);
+emit_16(1031);
+emit_16(965);
+emit_16(1032);
+emit_16(966);
+emit_16(1032);
+emit_16(965);
+emit_16(1032);
+emit_16(966);
+emit_16(1033);
+emit_16(967);
+emit_16(1033);
+emit_16(966);
+emit_16(1033);
+emit_16(967);
+emit_16(1034);
+emit_16(968);
+emit_16(1034);
+emit_16(967);
+emit_16(1034);
+emit_16(968);
+emit_16(1035);
+emit_16(969);
+emit_16(1035);
+emit_16(968);
+emit_16(1035);
+emit_16(969);
+emit_16(1036);
+emit_16(970);
+emit_16(1036);
+emit_16(969);
+emit_16(1036);
+emit_16(970);
+emit_16(1037);
+emit_16(971);
+emit_16(1037);
+emit_16(970);
+emit_16(1037);
+emit_16(971);
+emit_16(1038);
+emit_16(972);
+emit_16(1038);
+emit_16(971);
+emit_16(1038);
+emit_16(972);
+emit_16(1039);
+emit_16(973);
+emit_16(1039);
+emit_16(972);
+emit_16(1039);
+emit_16(973);
+emit_16(1040);
+emit_16(974);
+emit_16(1040);
+emit_16(973);
+emit_16(1040);
+emit_16(974);
+emit_16(1041);
+emit_16(975);
+emit_16(1041);
+emit_16(974);
+emit_16(1041);
+emit_16(975);
+emit_16(1042);
+emit_16(976);
+emit_16(1042);
+emit_16(975);
+emit_16(1042);
+emit_16(976);
+emit_16(1043);
+emit_16(977);
+emit_16(1043);
+emit_16(976);
+emit_16(1043);
+emit_16(977);
+emit_16(1044);
+emit_16(978);
+emit_16(1044);
+emit_16(977);
+emit_16(1044);
+emit_16(978);
+emit_16(1045);
+emit_16(979);
+emit_16(1045);
+emit_16(978);
+emit_16(1045);
+emit_16(979);
+emit_16(1046);
+emit_16(980);
+emit_16(1046);
+emit_16(979);
+emit_16(1046);
+emit_16(980);
+emit_16(1047);
+emit_16(981);
+emit_16(1047);
+emit_16(980);
+emit_16(1047);
+emit_16(981);
+emit_16(1048);
+emit_16(982);
+emit_16(1048);
+emit_16(981);
+emit_16(1048);
+emit_16(982);
+emit_16(1049);
+emit_16(983);
+emit_16(1049);
+emit_16(982);
+emit_16(1049);
+emit_16(983);
+emit_16(1050);
+emit_16(984);
+emit_16(1050);
+emit_16(983);
+emit_16(1050);
+emit_16(984);
+emit_16(1051);
+emit_16(985);
+emit_16(1051);
+emit_16(984);
+emit_16(1051);
+emit_16(985);
+emit_16(1052);
+emit_16(986);
+emit_16(1052);
+emit_16(985);
+emit_16(1052);
+emit_16(986);
+emit_16(1053);
+emit_16(987);
+emit_16(1053);
+emit_16(986);
+emit_16(1053);
+emit_16(987);
+emit_16(1054);
+emit_16(988);
+emit_16(1054);
+emit_16(987);
+emit_16(1054);
+emit_16(988);
+emit_16(1055);
+emit_16(989);
+emit_16(1055);
+emit_16(988);
+emit_16(1056);
+emit_16(990);
+emit_16(1057);
+emit_16(991);
+emit_16(1057);
+emit_16(990);
+emit_16(1057);
+emit_16(991);
+emit_16(1058);
+emit_16(992);
+emit_16(1058);
+emit_16(991);
+emit_16(1058);
+emit_16(992);
+emit_16(1059);
+emit_16(993);
+emit_16(1059);
+emit_16(992);
+emit_16(1059);
+emit_16(993);
+emit_16(1060);
+emit_16(994);
+emit_16(1060);
+emit_16(993);
+emit_16(1060);
+emit_16(994);
+emit_16(1061);
+emit_16(995);
+emit_16(1061);
+emit_16(994);
+emit_16(1061);
+emit_16(995);
+emit_16(1062);
+emit_16(996);
+emit_16(1062);
+emit_16(995);
+emit_16(1062);
+emit_16(996);
+emit_16(1063);
+emit_16(997);
+emit_16(1063);
+emit_16(996);
+emit_16(1063);
+emit_16(997);
+emit_16(1064);
+emit_16(998);
+emit_16(1064);
+emit_16(997);
+emit_16(1064);
+emit_16(998);
+emit_16(1065);
+emit_16(999);
+emit_16(1065);
+emit_16(998);
+emit_16(1065);
+emit_16(999);
+emit_16(1066);
+emit_16(1000);
+emit_16(1066);
+emit_16(999);
+emit_16(1066);
+emit_16(1000);
+emit_16(1067);
+emit_16(1001);
+emit_16(1067);
+emit_16(1000);
+emit_16(1067);
+emit_16(1001);
+emit_16(1068);
+emit_16(1002);
+emit_16(1068);
+emit_16(1001);
+emit_16(1068);
+emit_16(1002);
+emit_16(1069);
+emit_16(1003);
+emit_16(1069);
+emit_16(1002);
+emit_16(1069);
+emit_16(1003);
+emit_16(1070);
+emit_16(1004);
+emit_16(1070);
+emit_16(1003);
+emit_16(1070);
+emit_16(1004);
+emit_16(1071);
+emit_16(1005);
+emit_16(1071);
+emit_16(1004);
+emit_16(1071);
+emit_16(1005);
+emit_16(1072);
+emit_16(1006);
+emit_16(1072);
+emit_16(1005);
+emit_16(1072);
+emit_16(1006);
+emit_16(1073);
+emit_16(1007);
+emit_16(1073);
+emit_16(1006);
+emit_16(1073);
+emit_16(1007);
+emit_16(1074);
+emit_16(1008);
+emit_16(1074);
+emit_16(1007);
+emit_16(1074);
+emit_16(1008);
+emit_16(1075);
+emit_16(1009);
+emit_16(1075);
+emit_16(1008);
+emit_16(1075);
+emit_16(1009);
+emit_16(1076);
+emit_16(1010);
+emit_16(1076);
+emit_16(1009);
+emit_16(1076);
+emit_16(1010);
+emit_16(1077);
+emit_16(1011);
+emit_16(1077);
+emit_16(1010);
+emit_16(1077);
+emit_16(1011);
+emit_16(1078);
+emit_16(1012);
+emit_16(1078);
+emit_16(1011);
+emit_16(1078);
+emit_16(1012);
+emit_16(1079);
+emit_16(1013);
+emit_16(1079);
+emit_16(1012);
+emit_16(1079);
+emit_16(1013);
+emit_16(1080);
+emit_16(1014);
+emit_16(1080);
+emit_16(1013);
+emit_16(1080);
+emit_16(1014);
+emit_16(1081);
+emit_16(1015);
+emit_16(1081);
+emit_16(1014);
+emit_16(1081);
+emit_16(1015);
+emit_16(1082);
+emit_16(1016);
+emit_16(1082);
+emit_16(1015);
+emit_16(1082);
+emit_16(1016);
+emit_16(1083);
+emit_16(1017);
+emit_16(1083);
+emit_16(1016);
+emit_16(1083);
+emit_16(1017);
+emit_16(1084);
+emit_16(1018);
+emit_16(1084);
+emit_16(1017);
+emit_16(1084);
+emit_16(1018);
+emit_16(1085);
+emit_16(1019);
+emit_16(1085);
+emit_16(1018);
+emit_16(1085);
+emit_16(1019);
+emit_16(1086);
+emit_16(1020);
+emit_16(1086);
+emit_16(1019);
+emit_16(1086);
+emit_16(1020);
+emit_16(1087);
+emit_16(1021);
+emit_16(1087);
+emit_16(1020);
+emit_16(1087);
+emit_16(1021);
+emit_16(1088);
+emit_16(1022);
+emit_16(1088);
+emit_16(1021);
+emit_16(1088);
+emit_16(1022);
+emit_16(1089);
+emit_16(1023);
+emit_16(1089);
+emit_16(1022);
+emit_16(1089);
+emit_16(1023);
+emit_16(1090);
+emit_16(1024);
+emit_16(1090);
+emit_16(1023);
+emit_16(1090);
+emit_16(1024);
+emit_16(1091);
+emit_16(1025);
+emit_16(1091);
+emit_16(1024);
+emit_16(1091);
+emit_16(1025);
+emit_16(1092);
+emit_16(1026);
+emit_16(1092);
+emit_16(1025);
+emit_16(1092);
+emit_16(1026);
+emit_16(1093);
+emit_16(1027);
+emit_16(1093);
+emit_16(1026);
+emit_16(1093);
+emit_16(1027);
+emit_16(1094);
+emit_16(1028);
+emit_16(1094);
+emit_16(1027);
+emit_16(1094);
+emit_16(1028);
+emit_16(1095);
+emit_16(1029);
+emit_16(1095);
+emit_16(1028);
+emit_16(1095);
+emit_16(1029);
+emit_16(1096);
+emit_16(1030);
+emit_16(1096);
+emit_16(1029);
+emit_16(1096);
+emit_16(1030);
+emit_16(1097);
+emit_16(1031);
+emit_16(1097);
+emit_16(1030);
+emit_16(1097);
+emit_16(1031);
+emit_16(1098);
+emit_16(1032);
+emit_16(1098);
+emit_16(1031);
+emit_16(1098);
+emit_16(1032);
+emit_16(1099);
+emit_16(1033);
+emit_16(1099);
+emit_16(1032);
+emit_16(1099);
+emit_16(1033);
+emit_16(1100);
+emit_16(1034);
+emit_16(1100);
+emit_16(1033);
+emit_16(1100);
+emit_16(1034);
+emit_16(1101);
+emit_16(1035);
+emit_16(1101);
+emit_16(1034);
+emit_16(1101);
+emit_16(1035);
+emit_16(1102);
+emit_16(1036);
+emit_16(1102);
+emit_16(1035);
+emit_16(1102);
+emit_16(1036);
+emit_16(1103);
+emit_16(1037);
+emit_16(1103);
+emit_16(1036);
+emit_16(1103);
+emit_16(1037);
+emit_16(1104);
+emit_16(1038);
+emit_16(1104);
+emit_16(1037);
+emit_16(1104);
+emit_16(1038);
+emit_16(1105);
+emit_16(1039);
+emit_16(1105);
+emit_16(1038);
+emit_16(1105);
+emit_16(1039);
+emit_16(1106);
+emit_16(1040);
+emit_16(1106);
+emit_16(1039);
+emit_16(1106);
+emit_16(1040);
+emit_16(1107);
+emit_16(1041);
+emit_16(1107);
+emit_16(1040);
+emit_16(1107);
+emit_16(1041);
+emit_16(1108);
+emit_16(1042);
+emit_16(1108);
+emit_16(1041);
+emit_16(1108);
+emit_16(1042);
+emit_16(1109);
+emit_16(1043);
+emit_16(1109);
+emit_16(1042);
+emit_16(1109);
+emit_16(1043);
+emit_16(1110);
+emit_16(1044);
+emit_16(1110);
+emit_16(1043);
+emit_16(1110);
+emit_16(1044);
+emit_16(1111);
+emit_16(1045);
+emit_16(1111);
+emit_16(1044);
+emit_16(1111);
+emit_16(1045);
+emit_16(1112);
+emit_16(1046);
+emit_16(1112);
+emit_16(1045);
+emit_16(1112);
+emit_16(1046);
+emit_16(1113);
+emit_16(1047);
+emit_16(1113);
+emit_16(1046);
+emit_16(1113);
+emit_16(1047);
+emit_16(1114);
+emit_16(1048);
+emit_16(1114);
+emit_16(1047);
+emit_16(1114);
+emit_16(1048);
+emit_16(1115);
+emit_16(1049);
+emit_16(1115);
+emit_16(1048);
+emit_16(1115);
+emit_16(1049);
+emit_16(1116);
+emit_16(1050);
+emit_16(1116);
+emit_16(1049);
+emit_16(1116);
+emit_16(1050);
+emit_16(1117);
+emit_16(1051);
+emit_16(1117);
+emit_16(1050);
+emit_16(1117);
+emit_16(1051);
+emit_16(1118);
+emit_16(1052);
+emit_16(1118);
+emit_16(1051);
+emit_16(1118);
+emit_16(1052);
+emit_16(1119);
+emit_16(1053);
+emit_16(1119);
+emit_16(1052);
+emit_16(1119);
+emit_16(1053);
+emit_16(1120);
+emit_16(1054);
+emit_16(1120);
+emit_16(1053);
+emit_16(1120);
+emit_16(1054);
+emit_16(1121);
+emit_16(1055);
+emit_16(1121);
+emit_16(1054);
+emit_16(1122);
+emit_16(1056);
+emit_16(1123);
+emit_16(1057);
+emit_16(1123);
+emit_16(1056);
+emit_16(1123);
+emit_16(1057);
+emit_16(1124);
+emit_16(1058);
+emit_16(1124);
+emit_16(1057);
+emit_16(1124);
+emit_16(1058);
+emit_16(1125);
+emit_16(1059);
+emit_16(1125);
+emit_16(1058);
+emit_16(1125);
+emit_16(1059);
+emit_16(1126);
+emit_16(1060);
+emit_16(1126);
+emit_16(1059);
+emit_16(1126);
+emit_16(1060);
+emit_16(1127);
+emit_16(1061);
+emit_16(1127);
+emit_16(1060);
+emit_16(1127);
+emit_16(1061);
+emit_16(1128);
+emit_16(1062);
+emit_16(1128);
+emit_16(1061);
+emit_16(1128);
+emit_16(1062);
+emit_16(1129);
+emit_16(1063);
+emit_16(1129);
+emit_16(1062);
+emit_16(1129);
+emit_16(1063);
+emit_16(1130);
+emit_16(1064);
+emit_16(1130);
+emit_16(1063);
+emit_16(1130);
+emit_16(1064);
+emit_16(1131);
+emit_16(1065);
+emit_16(1131);
+emit_16(1064);
+emit_16(1131);
+emit_16(1065);
+emit_16(1132);
+emit_16(1066);
+emit_16(1132);
+emit_16(1065);
+emit_16(1132);
+emit_16(1066);
+emit_16(1133);
+emit_16(1067);
+emit_16(1133);
+emit_16(1066);
+emit_16(1133);
+emit_16(1067);
+emit_16(1134);
+emit_16(1068);
+emit_16(1134);
+emit_16(1067);
+emit_16(1134);
+emit_16(1068);
+emit_16(1135);
+emit_16(1069);
+emit_16(1135);
+emit_16(1068);
+emit_16(1135);
+emit_16(1069);
+emit_16(1136);
+emit_16(1070);
+emit_16(1136);
+emit_16(1069);
+emit_16(1136);
+emit_16(1070);
+emit_16(1137);
+emit_16(1071);
+emit_16(1137);
+emit_16(1070);
+emit_16(1137);
+emit_16(1071);
+emit_16(1138);
+emit_16(1072);
+emit_16(1138);
+emit_16(1071);
+emit_16(1138);
+emit_16(1072);
+emit_16(1139);
+emit_16(1073);
+emit_16(1139);
+emit_16(1072);
+emit_16(1139);
+emit_16(1073);
+emit_16(1140);
+emit_16(1074);
+emit_16(1140);
+emit_16(1073);
+emit_16(1140);
+emit_16(1074);
+emit_16(1141);
+emit_16(1075);
+emit_16(1141);
+emit_16(1074);
+emit_16(1141);
+emit_16(1075);
+emit_16(1142);
+emit_16(1076);
+emit_16(1142);
+emit_16(1075);
+emit_16(1142);
+emit_16(1076);
+emit_16(1143);
+emit_16(1077);
+emit_16(1143);
+emit_16(1076);
+emit_16(1143);
+emit_16(1077);
+emit_16(1144);
+emit_16(1078);
+emit_16(1144);
+emit_16(1077);
+emit_16(1144);
+emit_16(1078);
+emit_16(1145);
+emit_16(1079);
+emit_16(1145);
+emit_16(1078);
+emit_16(1145);
+emit_16(1079);
+emit_16(1146);
+emit_16(1080);
+emit_16(1146);
+emit_16(1079);
+emit_16(1146);
+emit_16(1080);
+emit_16(1147);
+emit_16(1081);
+emit_16(1147);
+emit_16(1080);
+emit_16(1147);
+emit_16(1081);
+emit_16(1148);
+emit_16(1082);
+emit_16(1148);
+emit_16(1081);
+emit_16(1148);
+emit_16(1082);
+emit_16(1149);
+emit_16(1083);
+emit_16(1149);
+emit_16(1082);
+emit_16(1149);
+emit_16(1083);
+emit_16(1150);
+emit_16(1084);
+emit_16(1150);
+emit_16(1083);
+emit_16(1150);
+emit_16(1084);
+emit_16(1151);
+emit_16(1085);
+emit_16(1151);
+emit_16(1084);
+emit_16(1151);
+emit_16(1085);
+emit_16(1152);
+emit_16(1086);
+emit_16(1152);
+emit_16(1085);
+emit_16(1152);
+emit_16(1086);
+emit_16(1153);
+emit_16(1087);
+emit_16(1153);
+emit_16(1086);
+emit_16(1153);
+emit_16(1087);
+emit_16(1154);
+emit_16(1088);
+emit_16(1154);
+emit_16(1087);
+emit_16(1154);
+emit_16(1088);
+emit_16(1155);
+emit_16(1089);
+emit_16(1155);
+emit_16(1088);
+emit_16(1155);
+emit_16(1089);
+emit_16(1156);
+emit_16(1090);
+emit_16(1156);
+emit_16(1089);
+emit_16(1156);
+emit_16(1090);
+emit_16(1157);
+emit_16(1091);
+emit_16(1157);
+emit_16(1090);
+emit_16(1157);
+emit_16(1091);
+emit_16(1158);
+emit_16(1092);
+emit_16(1158);
+emit_16(1091);
+emit_16(1158);
+emit_16(1092);
+emit_16(1159);
+emit_16(1093);
+emit_16(1159);
+emit_16(1092);
+emit_16(1159);
+emit_16(1093);
+emit_16(1160);
+emit_16(1094);
+emit_16(1160);
+emit_16(1093);
+emit_16(1160);
+emit_16(1094);
+emit_16(1161);
+emit_16(1095);
+emit_16(1161);
+emit_16(1094);
+emit_16(1161);
+emit_16(1095);
+emit_16(1162);
+emit_16(1096);
+emit_16(1162);
+emit_16(1095);
+emit_16(1162);
+emit_16(1096);
+emit_16(1163);
+emit_16(1097);
+emit_16(1163);
+emit_16(1096);
+emit_16(1163);
+emit_16(1097);
+emit_16(1164);
+emit_16(1098);
+emit_16(1164);
+emit_16(1097);
+emit_16(1164);
+emit_16(1098);
+emit_16(1165);
+emit_16(1099);
+emit_16(1165);
+emit_16(1098);
+emit_16(1165);
+emit_16(1099);
+emit_16(1166);
+emit_16(1100);
+emit_16(1166);
+emit_16(1099);
+emit_16(1166);
+emit_16(1100);
+emit_16(1167);
+emit_16(1101);
+emit_16(1167);
+emit_16(1100);
+emit_16(1167);
+emit_16(1101);
+emit_16(1168);
+emit_16(1102);
+emit_16(1168);
+emit_16(1101);
+emit_16(1168);
+emit_16(1102);
+emit_16(1169);
+emit_16(1103);
+emit_16(1169);
+emit_16(1102);
+emit_16(1169);
+emit_16(1103);
+emit_16(1170);
+emit_16(1104);
+emit_16(1170);
+emit_16(1103);
+emit_16(1170);
+emit_16(1104);
+emit_16(1171);
+emit_16(1105);
+emit_16(1171);
+emit_16(1104);
+emit_16(1171);
+emit_16(1105);
+emit_16(1172);
+emit_16(1106);
+emit_16(1172);
+emit_16(1105);
+emit_16(1172);
+emit_16(1106);
+emit_16(1173);
+emit_16(1107);
+emit_16(1173);
+emit_16(1106);
+emit_16(1173);
+emit_16(1107);
+emit_16(1174);
+emit_16(1108);
+emit_16(1174);
+emit_16(1107);
+emit_16(1174);
+emit_16(1108);
+emit_16(1175);
+emit_16(1109);
+emit_16(1175);
+emit_16(1108);
+emit_16(1175);
+emit_16(1109);
+emit_16(1176);
+emit_16(1110);
+emit_16(1176);
+emit_16(1109);
+emit_16(1176);
+emit_16(1110);
+emit_16(1177);
+emit_16(1111);
+emit_16(1177);
+emit_16(1110);
+emit_16(1177);
+emit_16(1111);
+emit_16(1178);
+emit_16(1112);
+emit_16(1178);
+emit_16(1111);
+emit_16(1178);
+emit_16(1112);
+emit_16(1179);
+emit_16(1113);
+emit_16(1179);
+emit_16(1112);
+emit_16(1179);
+emit_16(1113);
+emit_16(1180);
+emit_16(1114);
+emit_16(1180);
+emit_16(1113);
+emit_16(1180);
+emit_16(1114);
+emit_16(1181);
+emit_16(1115);
+emit_16(1181);
+emit_16(1114);
+emit_16(1181);
+emit_16(1115);
+emit_16(1182);
+emit_16(1116);
+emit_16(1182);
+emit_16(1115);
+emit_16(1182);
+emit_16(1116);
+emit_16(1183);
+emit_16(1117);
+emit_16(1183);
+emit_16(1116);
+emit_16(1183);
+emit_16(1117);
+emit_16(1184);
+emit_16(1118);
+emit_16(1184);
+emit_16(1117);
+emit_16(1184);
+emit_16(1118);
+emit_16(1185);
+emit_16(1119);
+emit_16(1185);
+emit_16(1118);
+emit_16(1185);
+emit_16(1119);
+emit_16(1186);
+emit_16(1120);
+emit_16(1186);
+emit_16(1119);
+emit_16(1186);
+emit_16(1120);
+emit_16(1187);
+emit_16(1121);
+emit_16(1187);
+emit_16(1120);
+emit_16(1188);
+emit_16(1122);
+emit_16(1189);
+emit_16(1123);
+emit_16(1189);
+emit_16(1122);
+emit_16(1189);
+emit_16(1123);
+emit_16(1190);
+emit_16(1124);
+emit_16(1190);
+emit_16(1123);
+emit_16(1190);
+emit_16(1124);
+emit_16(1191);
+emit_16(1125);
+emit_16(1191);
+emit_16(1124);
+emit_16(1191);
+emit_16(1125);
+emit_16(1192);
+emit_16(1126);
+emit_16(1192);
+emit_16(1125);
+emit_16(1192);
+emit_16(1126);
+emit_16(1193);
+emit_16(1127);
+emit_16(1193);
+emit_16(1126);
+emit_16(1193);
+emit_16(1127);
+emit_16(1194);
+emit_16(1128);
+emit_16(1194);
+emit_16(1127);
+emit_16(1194);
+emit_16(1128);
+emit_16(1195);
+emit_16(1129);
+emit_16(1195);
+emit_16(1128);
+emit_16(1195);
+emit_16(1129);
+emit_16(1196);
+emit_16(1130);
+emit_16(1196);
+emit_16(1129);
+emit_16(1196);
+emit_16(1130);
+emit_16(1197);
+emit_16(1131);
+emit_16(1197);
+emit_16(1130);
+emit_16(1197);
+emit_16(1131);
+emit_16(1198);
+emit_16(1132);
+emit_16(1198);
+emit_16(1131);
+emit_16(1198);
+emit_16(1132);
+emit_16(1199);
+emit_16(1133);
+emit_16(1199);
+emit_16(1132);
+emit_16(1199);
+emit_16(1133);
+emit_16(1200);
+emit_16(1134);
+emit_16(1200);
+emit_16(1133);
+emit_16(1200);
+emit_16(1134);
+emit_16(1201);
+emit_16(1135);
+emit_16(1201);
+emit_16(1134);
+emit_16(1201);
+emit_16(1135);
+emit_16(1202);
+emit_16(1136);
+emit_16(1202);
+emit_16(1135);
+emit_16(1202);
+emit_16(1136);
+emit_16(1203);
+emit_16(1137);
+emit_16(1203);
+emit_16(1136);
+emit_16(1203);
+emit_16(1137);
+emit_16(1204);
+emit_16(1138);
+emit_16(1204);
+emit_16(1137);
+emit_16(1204);
+emit_16(1138);
+emit_16(1205);
+emit_16(1139);
+emit_16(1205);
+emit_16(1138);
+emit_16(1205);
+emit_16(1139);
+emit_16(1206);
+emit_16(1140);
+emit_16(1206);
+emit_16(1139);
+emit_16(1206);
+emit_16(1140);
+emit_16(1207);
+emit_16(1141);
+emit_16(1207);
+emit_16(1140);
+emit_16(1207);
+emit_16(1141);
+emit_16(1208);
+emit_16(1142);
+emit_16(1208);
+emit_16(1141);
+emit_16(1208);
+emit_16(1142);
+emit_16(1209);
+emit_16(1143);
+emit_16(1209);
+emit_16(1142);
+emit_16(1209);
+emit_16(1143);
+emit_16(1210);
+emit_16(1144);
+emit_16(1210);
+emit_16(1143);
+emit_16(1210);
+emit_16(1144);
+emit_16(1211);
+emit_16(1145);
+emit_16(1211);
+emit_16(1144);
+emit_16(1211);
+emit_16(1145);
+emit_16(1212);
+emit_16(1146);
+emit_16(1212);
+emit_16(1145);
+emit_16(1212);
+emit_16(1146);
+emit_16(1213);
+emit_16(1147);
+emit_16(1213);
+emit_16(1146);
+emit_16(1213);
+emit_16(1147);
+emit_16(1214);
+emit_16(1148);
+emit_16(1214);
+emit_16(1147);
+emit_16(1214);
+emit_16(1148);
+emit_16(1215);
+emit_16(1149);
+emit_16(1215);
+emit_16(1148);
+emit_16(1215);
+emit_16(1149);
+emit_16(1216);
+emit_16(1150);
+emit_16(1216);
+emit_16(1149);
+emit_16(1216);
+emit_16(1150);
+emit_16(1217);
+emit_16(1151);
+emit_16(1217);
+emit_16(1150);
+emit_16(1217);
+emit_16(1151);
+emit_16(1218);
+emit_16(1152);
+emit_16(1218);
+emit_16(1151);
+emit_16(1218);
+emit_16(1152);
+emit_16(1219);
+emit_16(1153);
+emit_16(1219);
+emit_16(1152);
+emit_16(1219);
+emit_16(1153);
+emit_16(1220);
+emit_16(1154);
+emit_16(1220);
+emit_16(1153);
+emit_16(1220);
+emit_16(1154);
+emit_16(1221);
+emit_16(1155);
+emit_16(1221);
+emit_16(1154);
+emit_16(1221);
+emit_16(1155);
+emit_16(1222);
+emit_16(1156);
+emit_16(1222);
+emit_16(1155);
+emit_16(1222);
+emit_16(1156);
+emit_16(1223);
+emit_16(1157);
+emit_16(1223);
+emit_16(1156);
+emit_16(1223);
+emit_16(1157);
+emit_16(1224);
+emit_16(1158);
+emit_16(1224);
+emit_16(1157);
+emit_16(1224);
+emit_16(1158);
+emit_16(1225);
+emit_16(1159);
+emit_16(1225);
+emit_16(1158);
+emit_16(1225);
+emit_16(1159);
+emit_16(1226);
+emit_16(1160);
+emit_16(1226);
+emit_16(1159);
+emit_16(1226);
+emit_16(1160);
+emit_16(1227);
+emit_16(1161);
+emit_16(1227);
+emit_16(1160);
+emit_16(1227);
+emit_16(1161);
+emit_16(1228);
+emit_16(1162);
+emit_16(1228);
+emit_16(1161);
+emit_16(1228);
+emit_16(1162);
+emit_16(1229);
+emit_16(1163);
+emit_16(1229);
+emit_16(1162);
+emit_16(1229);
+emit_16(1163);
+emit_16(1230);
+emit_16(1164);
+emit_16(1230);
+emit_16(1163);
+emit_16(1230);
+emit_16(1164);
+emit_16(1231);
+emit_16(1165);
+emit_16(1231);
+emit_16(1164);
+emit_16(1231);
+emit_16(1165);
+emit_16(1232);
+emit_16(1166);
+emit_16(1232);
+emit_16(1165);
+emit_16(1232);
+emit_16(1166);
+emit_16(1233);
+emit_16(1167);
+emit_16(1233);
+emit_16(1166);
+emit_16(1233);
+emit_16(1167);
+emit_16(1234);
+emit_16(1168);
+emit_16(1234);
+emit_16(1167);
+emit_16(1234);
+emit_16(1168);
+emit_16(1235);
+emit_16(1169);
+emit_16(1235);
+emit_16(1168);
+emit_16(1235);
+emit_16(1169);
+emit_16(1236);
+emit_16(1170);
+emit_16(1236);
+emit_16(1169);
+emit_16(1236);
+emit_16(1170);
+emit_16(1237);
+emit_16(1171);
+emit_16(1237);
+emit_16(1170);
+emit_16(1237);
+emit_16(1171);
+emit_16(1238);
+emit_16(1172);
+emit_16(1238);
+emit_16(1171);
+emit_16(1238);
+emit_16(1172);
+emit_16(1239);
+emit_16(1173);
+emit_16(1239);
+emit_16(1172);
+emit_16(1239);
+emit_16(1173);
+emit_16(1240);
+emit_16(1174);
+emit_16(1240);
+emit_16(1173);
+emit_16(1240);
+emit_16(1174);
+emit_16(1241);
+emit_16(1175);
+emit_16(1241);
+emit_16(1174);
+emit_16(1241);
+emit_16(1175);
+emit_16(1242);
+emit_16(1176);
+emit_16(1242);
+emit_16(1175);
+emit_16(1242);
+emit_16(1176);
+emit_16(1243);
+emit_16(1177);
+emit_16(1243);
+emit_16(1176);
+emit_16(1243);
+emit_16(1177);
+emit_16(1244);
+emit_16(1178);
+emit_16(1244);
+emit_16(1177);
+emit_16(1244);
+emit_16(1178);
+emit_16(1245);
+emit_16(1179);
+emit_16(1245);
+emit_16(1178);
+emit_16(1245);
+emit_16(1179);
+emit_16(1246);
+emit_16(1180);
+emit_16(1246);
+emit_16(1179);
+emit_16(1246);
+emit_16(1180);
+emit_16(1247);
+emit_16(1181);
+emit_16(1247);
+emit_16(1180);
+emit_16(1247);
+emit_16(1181);
+emit_16(1248);
+emit_16(1182);
+emit_16(1248);
+emit_16(1181);
+emit_16(1248);
+emit_16(1182);
+emit_16(1249);
+emit_16(1183);
+emit_16(1249);
+emit_16(1182);
+emit_16(1249);
+emit_16(1183);
+emit_16(1250);
+emit_16(1184);
+emit_16(1250);
+emit_16(1183);
+emit_16(1250);
+emit_16(1184);
+emit_16(1251);
+emit_16(1185);
+emit_16(1251);
+emit_16(1184);
+emit_16(1251);
+emit_16(1185);
+emit_16(1252);
+emit_16(1186);
+emit_16(1252);
+emit_16(1185);
+emit_16(1252);
+emit_16(1186);
+emit_16(1253);
+emit_16(1187);
+emit_16(1253);
+emit_16(1186);
+emit_16(1254);
+emit_16(1188);
+emit_16(1255);
+emit_16(1189);
+emit_16(1255);
+emit_16(1188);
+emit_16(1255);
+emit_16(1189);
+emit_16(1256);
+emit_16(1190);
+emit_16(1256);
+emit_16(1189);
+emit_16(1256);
+emit_16(1190);
+emit_16(1257);
+emit_16(1191);
+emit_16(1257);
+emit_16(1190);
+emit_16(1257);
+emit_16(1191);
+emit_16(1258);
+emit_16(1192);
+emit_16(1258);
+emit_16(1191);
+emit_16(1258);
+emit_16(1192);
+emit_16(1259);
+emit_16(1193);
+emit_16(1259);
+emit_16(1192);
+emit_16(1259);
+emit_16(1193);
+emit_16(1260);
+emit_16(1194);
+emit_16(1260);
+emit_16(1193);
+emit_16(1260);
+emit_16(1194);
+emit_16(1261);
+emit_16(1195);
+emit_16(1261);
+emit_16(1194);
+emit_16(1261);
+emit_16(1195);
+emit_16(1262);
+emit_16(1196);
+emit_16(1262);
+emit_16(1195);
+emit_16(1262);
+emit_16(1196);
+emit_16(1263);
+emit_16(1197);
+emit_16(1263);
+emit_16(1196);
+emit_16(1263);
+emit_16(1197);
+emit_16(1264);
+emit_16(1198);
+emit_16(1264);
+emit_16(1197);
+emit_16(1264);
+emit_16(1198);
+emit_16(1265);
+emit_16(1199);
+emit_16(1265);
+emit_16(1198);
+emit_16(1265);
+emit_16(1199);
+emit_16(1266);
+emit_16(1200);
+emit_16(1266);
+emit_16(1199);
+emit_16(1266);
+emit_16(1200);
+emit_16(1267);
+emit_16(1201);
+emit_16(1267);
+emit_16(1200);
+emit_16(1267);
+emit_16(1201);
+emit_16(1268);
+emit_16(1202);
+emit_16(1268);
+emit_16(1201);
+emit_16(1268);
+emit_16(1202);
+emit_16(1269);
+emit_16(1203);
+emit_16(1269);
+emit_16(1202);
+emit_16(1269);
+emit_16(1203);
+emit_16(1270);
+emit_16(1204);
+emit_16(1270);
+emit_16(1203);
+emit_16(1270);
+emit_16(1204);
+emit_16(1271);
+emit_16(1205);
+emit_16(1271);
+emit_16(1204);
+emit_16(1271);
+emit_16(1205);
+emit_16(1272);
+emit_16(1206);
+emit_16(1272);
+emit_16(1205);
+emit_16(1272);
+emit_16(1206);
+emit_16(1273);
+emit_16(1207);
+emit_16(1273);
+emit_16(1206);
+emit_16(1273);
+emit_16(1207);
+emit_16(1274);
+emit_16(1208);
+emit_16(1274);
+emit_16(1207);
+emit_16(1274);
+emit_16(1208);
+emit_16(1275);
+emit_16(1209);
+emit_16(1275);
+emit_16(1208);
+emit_16(1275);
+emit_16(1209);
+emit_16(1276);
+emit_16(1210);
+emit_16(1276);
+emit_16(1209);
+emit_16(1276);
+emit_16(1210);
+emit_16(1277);
+emit_16(1211);
+emit_16(1277);
+emit_16(1210);
+emit_16(1277);
+emit_16(1211);
+emit_16(1278);
+emit_16(1212);
+emit_16(1278);
+emit_16(1211);
+emit_16(1278);
+emit_16(1212);
+emit_16(1279);
+emit_16(1213);
+emit_16(1279);
+emit_16(1212);
+emit_16(1279);
+emit_16(1213);
+emit_16(1280);
+emit_16(1214);
+emit_16(1280);
+emit_16(1213);
+emit_16(1280);
+emit_16(1214);
+emit_16(1281);
+emit_16(1215);
+emit_16(1281);
+emit_16(1214);
+emit_16(1281);
+emit_16(1215);
+emit_16(1282);
+emit_16(1216);
+emit_16(1282);
+emit_16(1215);
+emit_16(1282);
+emit_16(1216);
+emit_16(1283);
+emit_16(1217);
+emit_16(1283);
+emit_16(1216);
+emit_16(1283);
+emit_16(1217);
+emit_16(1284);
+emit_16(1218);
+emit_16(1284);
+emit_16(1217);
+emit_16(1284);
+emit_16(1218);
+emit_16(1285);
+emit_16(1219);
+emit_16(1285);
+emit_16(1218);
+emit_16(1285);
+emit_16(1219);
+emit_16(1286);
+emit_16(1220);
+emit_16(1286);
+emit_16(1219);
+emit_16(1286);
+emit_16(1220);
+emit_16(1287);
+emit_16(1221);
+emit_16(1287);
+emit_16(1220);
+emit_16(1287);
+emit_16(1221);
+emit_16(1288);
+emit_16(1222);
+emit_16(1288);
+emit_16(1221);
+emit_16(1288);
+emit_16(1222);
+emit_16(1289);
+emit_16(1223);
+emit_16(1289);
+emit_16(1222);
+emit_16(1289);
+emit_16(1223);
+emit_16(1290);
+emit_16(1224);
+emit_16(1290);
+emit_16(1223);
+emit_16(1290);
+emit_16(1224);
+emit_16(1291);
+emit_16(1225);
+emit_16(1291);
+emit_16(1224);
+emit_16(1291);
+emit_16(1225);
+emit_16(1292);
+emit_16(1226);
+emit_16(1292);
+emit_16(1225);
+emit_16(1292);
+emit_16(1226);
+emit_16(1293);
+emit_16(1227);
+emit_16(1293);
+emit_16(1226);
+emit_16(1293);
+emit_16(1227);
+emit_16(1294);
+emit_16(1228);
+emit_16(1294);
+emit_16(1227);
+emit_16(1294);
+emit_16(1228);
+emit_16(1295);
+emit_16(1229);
+emit_16(1295);
+emit_16(1228);
+emit_16(1295);
+emit_16(1229);
+emit_16(1296);
+emit_16(1230);
+emit_16(1296);
+emit_16(1229);
+emit_16(1296);
+emit_16(1230);
+emit_16(1297);
+emit_16(1231);
+emit_16(1297);
+emit_16(1230);
+emit_16(1297);
+emit_16(1231);
+emit_16(1298);
+emit_16(1232);
+emit_16(1298);
+emit_16(1231);
+emit_16(1298);
+emit_16(1232);
+emit_16(1299);
+emit_16(1233);
+emit_16(1299);
+emit_16(1232);
+emit_16(1299);
+emit_16(1233);
+emit_16(1300);
+emit_16(1234);
+emit_16(1300);
+emit_16(1233);
+emit_16(1300);
+emit_16(1234);
+emit_16(1301);
+emit_16(1235);
+emit_16(1301);
+emit_16(1234);
+emit_16(1301);
+emit_16(1235);
+emit_16(1302);
+emit_16(1236);
+emit_16(1302);
+emit_16(1235);
+emit_16(1302);
+emit_16(1236);
+emit_16(1303);
+emit_16(1237);
+emit_16(1303);
+emit_16(1236);
+emit_16(1303);
+emit_16(1237);
+emit_16(1304);
+emit_16(1238);
+emit_16(1304);
+emit_16(1237);
+emit_16(1304);
+emit_16(1238);
+emit_16(1305);
+emit_16(1239);
+emit_16(1305);
+emit_16(1238);
+emit_16(1305);
+emit_16(1239);
+emit_16(1306);
+emit_16(1240);
+emit_16(1306);
+emit_16(1239);
+emit_16(1306);
+emit_16(1240);
+emit_16(1307);
+emit_16(1241);
+emit_16(1307);
+emit_16(1240);
+emit_16(1307);
+emit_16(1241);
+emit_16(1308);
+emit_16(1242);
+emit_16(1308);
+emit_16(1241);
+emit_16(1308);
+emit_16(1242);
+emit_16(1309);
+emit_16(1243);
+emit_16(1309);
+emit_16(1242);
+emit_16(1309);
+emit_16(1243);
+emit_16(1310);
+emit_16(1244);
+emit_16(1310);
+emit_16(1243);
+emit_16(1310);
+emit_16(1244);
+emit_16(1311);
+emit_16(1245);
+emit_16(1311);
+emit_16(1244);
+emit_16(1311);
+emit_16(1245);
+emit_16(1312);
+emit_16(1246);
+emit_16(1312);
+emit_16(1245);
+emit_16(1312);
+emit_16(1246);
+emit_16(1313);
+emit_16(1247);
+emit_16(1313);
+emit_16(1246);
+emit_16(1313);
+emit_16(1247);
+emit_16(1314);
+emit_16(1248);
+emit_16(1314);
+emit_16(1247);
+emit_16(1314);
+emit_16(1248);
+emit_16(1315);
+emit_16(1249);
+emit_16(1315);
+emit_16(1248);
+emit_16(1315);
+emit_16(1249);
+emit_16(1316);
+emit_16(1250);
+emit_16(1316);
+emit_16(1249);
+emit_16(1316);
+emit_16(1250);
+emit_16(1317);
+emit_16(1251);
+emit_16(1317);
+emit_16(1250);
+emit_16(1317);
+emit_16(1251);
+emit_16(1318);
+emit_16(1252);
+emit_16(1318);
+emit_16(1251);
+emit_16(1318);
+emit_16(1252);
+emit_16(1319);
+emit_16(1253);
+emit_16(1319);
+emit_16(1252);
+emit_16(1320);
+emit_16(1254);
+emit_16(1321);
+emit_16(1255);
+emit_16(1321);
+emit_16(1254);
+emit_16(1321);
+emit_16(1255);
+emit_16(1322);
+emit_16(1256);
+emit_16(1322);
+emit_16(1255);
+emit_16(1322);
+emit_16(1256);
+emit_16(1323);
+emit_16(1257);
+emit_16(1323);
+emit_16(1256);
+emit_16(1323);
+emit_16(1257);
+emit_16(1324);
+emit_16(1258);
+emit_16(1324);
+emit_16(1257);
+emit_16(1324);
+emit_16(1258);
+emit_16(1325);
+emit_16(1259);
+emit_16(1325);
+emit_16(1258);
+emit_16(1325);
+emit_16(1259);
+emit_16(1326);
+emit_16(1260);
+emit_16(1326);
+emit_16(1259);
+emit_16(1326);
+emit_16(1260);
+emit_16(1327);
+emit_16(1261);
+emit_16(1327);
+emit_16(1260);
+emit_16(1327);
+emit_16(1261);
+emit_16(1328);
+emit_16(1262);
+emit_16(1328);
+emit_16(1261);
+emit_16(1328);
+emit_16(1262);
+emit_16(1329);
+emit_16(1263);
+emit_16(1329);
+emit_16(1262);
+emit_16(1329);
+emit_16(1263);
+emit_16(1330);
+emit_16(1264);
+emit_16(1330);
+emit_16(1263);
+emit_16(1330);
+emit_16(1264);
+emit_16(1331);
+emit_16(1265);
+emit_16(1331);
+emit_16(1264);
+emit_16(1331);
+emit_16(1265);
+emit_16(1332);
+emit_16(1266);
+emit_16(1332);
+emit_16(1265);
+emit_16(1332);
+emit_16(1266);
+emit_16(1333);
+emit_16(1267);
+emit_16(1333);
+emit_16(1266);
+emit_16(1333);
+emit_16(1267);
+emit_16(1334);
+emit_16(1268);
+emit_16(1334);
+emit_16(1267);
+emit_16(1334);
+emit_16(1268);
+emit_16(1335);
+emit_16(1269);
+emit_16(1335);
+emit_16(1268);
+emit_16(1335);
+emit_16(1269);
+emit_16(1336);
+emit_16(1270);
+emit_16(1336);
+emit_16(1269);
+emit_16(1336);
+emit_16(1270);
+emit_16(1337);
+emit_16(1271);
+emit_16(1337);
+emit_16(1270);
+emit_16(1337);
+emit_16(1271);
+emit_16(1338);
+emit_16(1272);
+emit_16(1338);
+emit_16(1271);
+emit_16(1338);
+emit_16(1272);
+emit_16(1339);
+emit_16(1273);
+emit_16(1339);
+emit_16(1272);
+emit_16(1339);
+emit_16(1273);
+emit_16(1340);
+emit_16(1274);
+emit_16(1340);
+emit_16(1273);
+emit_16(1340);
+emit_16(1274);
+emit_16(1341);
+emit_16(1275);
+emit_16(1341);
+emit_16(1274);
+emit_16(1341);
+emit_16(1275);
+emit_16(1342);
+emit_16(1276);
+emit_16(1342);
+emit_16(1275);
+emit_16(1342);
+emit_16(1276);
+emit_16(1343);
+emit_16(1277);
+emit_16(1343);
+emit_16(1276);
+emit_16(1343);
+emit_16(1277);
+emit_16(1344);
+emit_16(1278);
+emit_16(1344);
+emit_16(1277);
+emit_16(1344);
+emit_16(1278);
+emit_16(1345);
+emit_16(1279);
+emit_16(1345);
+emit_16(1278);
+emit_16(1345);
+emit_16(1279);
+emit_16(1346);
+emit_16(1280);
+emit_16(1346);
+emit_16(1279);
+emit_16(1346);
+emit_16(1280);
+emit_16(1347);
+emit_16(1281);
+emit_16(1347);
+emit_16(1280);
+emit_16(1347);
+emit_16(1281);
+emit_16(1348);
+emit_16(1282);
+emit_16(1348);
+emit_16(1281);
+emit_16(1348);
+emit_16(1282);
+emit_16(1349);
+emit_16(1283);
+emit_16(1349);
+emit_16(1282);
+emit_16(1349);
+emit_16(1283);
+emit_16(1350);
+emit_16(1284);
+emit_16(1350);
+emit_16(1283);
+emit_16(1350);
+emit_16(1284);
+emit_16(1351);
+emit_16(1285);
+emit_16(1351);
+emit_16(1284);
+emit_16(1351);
+emit_16(1285);
+emit_16(1352);
+emit_16(1286);
+emit_16(1352);
+emit_16(1285);
+emit_16(1352);
+emit_16(1286);
+emit_16(1353);
+emit_16(1287);
+emit_16(1353);
+emit_16(1286);
+emit_16(1353);
+emit_16(1287);
+emit_16(1354);
+emit_16(1288);
+emit_16(1354);
+emit_16(1287);
+emit_16(1354);
+emit_16(1288);
+emit_16(1355);
+emit_16(1289);
+emit_16(1355);
+emit_16(1288);
+emit_16(1355);
+emit_16(1289);
+emit_16(1356);
+emit_16(1290);
+emit_16(1356);
+emit_16(1289);
+emit_16(1356);
+emit_16(1290);
+emit_16(1357);
+emit_16(1291);
+emit_16(1357);
+emit_16(1290);
+emit_16(1357);
+emit_16(1291);
+emit_16(1358);
+emit_16(1292);
+emit_16(1358);
+emit_16(1291);
+emit_16(1358);
+emit_16(1292);
+emit_16(1359);
+emit_16(1293);
+emit_16(1359);
+emit_16(1292);
+emit_16(1359);
+emit_16(1293);
+emit_16(1360);
+emit_16(1294);
+emit_16(1360);
+emit_16(1293);
+emit_16(1360);
+emit_16(1294);
+emit_16(1361);
+emit_16(1295);
+emit_16(1361);
+emit_16(1294);
+emit_16(1361);
+emit_16(1295);
+emit_16(1362);
+emit_16(1296);
+emit_16(1362);
+emit_16(1295);
+emit_16(1362);
+emit_16(1296);
+emit_16(1363);
+emit_16(1297);
+emit_16(1363);
+emit_16(1296);
+emit_16(1363);
+emit_16(1297);
+emit_16(1364);
+emit_16(1298);
+emit_16(1364);
+emit_16(1297);
+emit_16(1364);
+emit_16(1298);
+emit_16(1365);
+emit_16(1299);
+emit_16(1365);
+emit_16(1298);
+emit_16(1365);
+emit_16(1299);
+emit_16(1366);
+emit_16(1300);
+emit_16(1366);
+emit_16(1299);
+emit_16(1366);
+emit_16(1300);
+emit_16(1367);
+emit_16(1301);
+emit_16(1367);
+emit_16(1300);
+emit_16(1367);
+emit_16(1301);
+emit_16(1368);
+emit_16(1302);
+emit_16(1368);
+emit_16(1301);
+emit_16(1368);
+emit_16(1302);
+emit_16(1369);
+emit_16(1303);
+emit_16(1369);
+emit_16(1302);
+emit_16(1369);
+emit_16(1303);
+emit_16(1370);
+emit_16(1304);
+emit_16(1370);
+emit_16(1303);
+emit_16(1370);
+emit_16(1304);
+emit_16(1371);
+emit_16(1305);
+emit_16(1371);
+emit_16(1304);
+emit_16(1371);
+emit_16(1305);
+emit_16(1372);
+emit_16(1306);
+emit_16(1372);
+emit_16(1305);
+emit_16(1372);
+emit_16(1306);
+emit_16(1373);
+emit_16(1307);
+emit_16(1373);
+emit_16(1306);
+emit_16(1373);
+emit_16(1307);
+emit_16(1374);
+emit_16(1308);
+emit_16(1374);
+emit_16(1307);
+emit_16(1374);
+emit_16(1308);
+emit_16(1375);
+emit_16(1309);
+emit_16(1375);
+emit_16(1308);
+emit_16(1375);
+emit_16(1309);
+emit_16(1376);
+emit_16(1310);
+emit_16(1376);
+emit_16(1309);
+emit_16(1376);
+emit_16(1310);
+emit_16(1377);
+emit_16(1311);
+emit_16(1377);
+emit_16(1310);
+emit_16(1377);
+emit_16(1311);
+emit_16(1378);
+emit_16(1312);
+emit_16(1378);
+emit_16(1311);
+emit_16(1378);
+emit_16(1312);
+emit_16(1379);
+emit_16(1313);
+emit_16(1379);
+emit_16(1312);
+emit_16(1379);
+emit_16(1313);
+emit_16(1380);
+emit_16(1314);
+emit_16(1380);
+emit_16(1313);
+emit_16(1380);
+emit_16(1314);
+emit_16(1381);
+emit_16(1315);
+emit_16(1381);
+emit_16(1314);
+emit_16(1381);
+emit_16(1315);
+emit_16(1382);
+emit_16(1316);
+emit_16(1382);
+emit_16(1315);
+emit_16(1382);
+emit_16(1316);
+emit_16(1383);
+emit_16(1317);
+emit_16(1383);
+emit_16(1316);
+emit_16(1383);
+emit_16(1317);
+emit_16(1384);
+emit_16(1318);
+emit_16(1384);
+emit_16(1317);
+emit_16(1384);
+emit_16(1318);
+emit_16(1385);
+emit_16(1319);
+emit_16(1385);
+emit_16(1318);
+emit_16(1386);
+emit_16(1320);
+emit_16(1387);
+emit_16(1321);
+emit_16(1387);
+emit_16(1320);
+emit_16(1387);
+emit_16(1321);
+emit_16(1388);
+emit_16(1322);
+emit_16(1388);
+emit_16(1321);
+emit_16(1388);
+emit_16(1322);
+emit_16(1389);
+emit_16(1323);
+emit_16(1389);
+emit_16(1322);
+emit_16(1389);
+emit_16(1323);
+emit_16(1390);
+emit_16(1324);
+emit_16(1390);
+emit_16(1323);
+emit_16(1390);
+emit_16(1324);
+emit_16(1391);
+emit_16(1325);
+emit_16(1391);
+emit_16(1324);
+emit_16(1391);
+emit_16(1325);
+emit_16(1392);
+emit_16(1326);
+emit_16(1392);
+emit_16(1325);
+emit_16(1392);
+emit_16(1326);
+emit_16(1393);
+emit_16(1327);
+emit_16(1393);
+emit_16(1326);
+emit_16(1393);
+emit_16(1327);
+emit_16(1394);
+emit_16(1328);
+emit_16(1394);
+emit_16(1327);
+emit_16(1394);
+emit_16(1328);
+emit_16(1395);
+emit_16(1329);
+emit_16(1395);
+emit_16(1328);
+emit_16(1395);
+emit_16(1329);
+emit_16(1396);
+emit_16(1330);
+emit_16(1396);
+emit_16(1329);
+emit_16(1396);
+emit_16(1330);
+emit_16(1397);
+emit_16(1331);
+emit_16(1397);
+emit_16(1330);
+emit_16(1397);
+emit_16(1331);
+emit_16(1398);
+emit_16(1332);
+emit_16(1398);
+emit_16(1331);
+emit_16(1398);
+emit_16(1332);
+emit_16(1399);
+emit_16(1333);
+emit_16(1399);
+emit_16(1332);
+emit_16(1399);
+emit_16(1333);
+emit_16(1400);
+emit_16(1334);
+emit_16(1400);
+emit_16(1333);
+emit_16(1400);
+emit_16(1334);
+emit_16(1401);
+emit_16(1335);
+emit_16(1401);
+emit_16(1334);
+emit_16(1401);
+emit_16(1335);
+emit_16(1402);
+emit_16(1336);
+emit_16(1402);
+emit_16(1335);
+emit_16(1402);
+emit_16(1336);
+emit_16(1403);
+emit_16(1337);
+emit_16(1403);
+emit_16(1336);
+emit_16(1403);
+emit_16(1337);
+emit_16(1404);
+emit_16(1338);
+emit_16(1404);
+emit_16(1337);
+emit_16(1404);
+emit_16(1338);
+emit_16(1405);
+emit_16(1339);
+emit_16(1405);
+emit_16(1338);
+emit_16(1405);
+emit_16(1339);
+emit_16(1406);
+emit_16(1340);
+emit_16(1406);
+emit_16(1339);
+emit_16(1406);
+emit_16(1340);
+emit_16(1407);
+emit_16(1341);
+emit_16(1407);
+emit_16(1340);
+emit_16(1407);
+emit_16(1341);
+emit_16(1408);
+emit_16(1342);
+emit_16(1408);
+emit_16(1341);
+emit_16(1408);
+emit_16(1342);
+emit_16(1409);
+emit_16(1343);
+emit_16(1409);
+emit_16(1342);
+emit_16(1409);
+emit_16(1343);
+emit_16(1410);
+emit_16(1344);
+emit_16(1410);
+emit_16(1343);
+emit_16(1410);
+emit_16(1344);
+emit_16(1411);
+emit_16(1345);
+emit_16(1411);
+emit_16(1344);
+emit_16(1411);
+emit_16(1345);
+emit_16(1412);
+emit_16(1346);
+emit_16(1412);
+emit_16(1345);
+emit_16(1412);
+emit_16(1346);
+emit_16(1413);
+emit_16(1347);
+emit_16(1413);
+emit_16(1346);
+emit_16(1413);
+emit_16(1347);
+emit_16(1414);
+emit_16(1348);
+emit_16(1414);
+emit_16(1347);
+emit_16(1414);
+emit_16(1348);
+emit_16(1415);
+emit_16(1349);
+emit_16(1415);
+emit_16(1348);
+emit_16(1415);
+emit_16(1349);
+emit_16(1416);
+emit_16(1350);
+emit_16(1416);
+emit_16(1349);
+emit_16(1416);
+emit_16(1350);
+emit_16(1417);
+emit_16(1351);
+emit_16(1417);
+emit_16(1350);
+emit_16(1417);
+emit_16(1351);
+emit_16(1418);
+emit_16(1352);
+emit_16(1418);
+emit_16(1351);
+emit_16(1418);
+emit_16(1352);
+emit_16(1419);
+emit_16(1353);
+emit_16(1419);
+emit_16(1352);
+emit_16(1419);
+emit_16(1353);
+emit_16(1420);
+emit_16(1354);
+emit_16(1420);
+emit_16(1353);
+emit_16(1420);
+emit_16(1354);
+emit_16(1421);
+emit_16(1355);
+emit_16(1421);
+emit_16(1354);
+emit_16(1421);
+emit_16(1355);
+emit_16(1422);
+emit_16(1356);
+emit_16(1422);
+emit_16(1355);
+emit_16(1422);
+emit_16(1356);
+emit_16(1423);
+emit_16(1357);
+emit_16(1423);
+emit_16(1356);
+emit_16(1423);
+emit_16(1357);
+emit_16(1424);
+emit_16(1358);
+emit_16(1424);
+emit_16(1357);
+emit_16(1424);
+emit_16(1358);
+emit_16(1425);
+emit_16(1359);
+emit_16(1425);
+emit_16(1358);
+emit_16(1425);
+emit_16(1359);
+emit_16(1426);
+emit_16(1360);
+emit_16(1426);
+emit_16(1359);
+emit_16(1426);
+emit_16(1360);
+emit_16(1427);
+emit_16(1361);
+emit_16(1427);
+emit_16(1360);
+emit_16(1427);
+emit_16(1361);
+emit_16(1428);
+emit_16(1362);
+emit_16(1428);
+emit_16(1361);
+emit_16(1428);
+emit_16(1362);
+emit_16(1429);
+emit_16(1363);
+emit_16(1429);
+emit_16(1362);
+emit_16(1429);
+emit_16(1363);
+emit_16(1430);
+emit_16(1364);
+emit_16(1430);
+emit_16(1363);
+emit_16(1430);
+emit_16(1364);
+emit_16(1431);
+emit_16(1365);
+emit_16(1431);
+emit_16(1364);
+emit_16(1431);
+emit_16(1365);
+emit_16(1432);
+emit_16(1366);
+emit_16(1432);
+emit_16(1365);
+emit_16(1432);
+emit_16(1366);
+emit_16(1433);
+emit_16(1367);
+emit_16(1433);
+emit_16(1366);
+emit_16(1433);
+emit_16(1367);
+emit_16(1434);
+emit_16(1368);
+emit_16(1434);
+emit_16(1367);
+emit_16(1434);
+emit_16(1368);
+emit_16(1435);
+emit_16(1369);
+emit_16(1435);
+emit_16(1368);
+emit_16(1435);
+emit_16(1369);
+emit_16(1436);
+emit_16(1370);
+emit_16(1436);
+emit_16(1369);
+emit_16(1436);
+emit_16(1370);
+emit_16(1437);
+emit_16(1371);
+emit_16(1437);
+emit_16(1370);
+emit_16(1437);
+emit_16(1371);
+emit_16(1438);
+emit_16(1372);
+emit_16(1438);
+emit_16(1371);
+emit_16(1438);
+emit_16(1372);
+emit_16(1439);
+emit_16(1373);
+emit_16(1439);
+emit_16(1372);
+emit_16(1439);
+emit_16(1373);
+emit_16(1440);
+emit_16(1374);
+emit_16(1440);
+emit_16(1373);
+emit_16(1440);
+emit_16(1374);
+emit_16(1441);
+emit_16(1375);
+emit_16(1441);
+emit_16(1374);
+emit_16(1441);
+emit_16(1375);
+emit_16(1442);
+emit_16(1376);
+emit_16(1442);
+emit_16(1375);
+emit_16(1442);
+emit_16(1376);
+emit_16(1443);
+emit_16(1377);
+emit_16(1443);
+emit_16(1376);
+emit_16(1443);
+emit_16(1377);
+emit_16(1444);
+emit_16(1378);
+emit_16(1444);
+emit_16(1377);
+emit_16(1444);
+emit_16(1378);
+emit_16(1445);
+emit_16(1379);
+emit_16(1445);
+emit_16(1378);
+emit_16(1445);
+emit_16(1379);
+emit_16(1446);
+emit_16(1380);
+emit_16(1446);
+emit_16(1379);
+emit_16(1446);
+emit_16(1380);
+emit_16(1447);
+emit_16(1381);
+emit_16(1447);
+emit_16(1380);
+emit_16(1447);
+emit_16(1381);
+emit_16(1448);
+emit_16(1382);
+emit_16(1448);
+emit_16(1381);
+emit_16(1448);
+emit_16(1382);
+emit_16(1449);
+emit_16(1383);
+emit_16(1449);
+emit_16(1382);
+emit_16(1449);
+emit_16(1383);
+emit_16(1450);
+emit_16(1384);
+emit_16(1450);
+emit_16(1383);
+emit_16(1450);
+emit_16(1384);
+emit_16(1451);
+emit_16(1385);
+emit_16(1451);
+emit_16(1384);
+emit_16(1452);
+emit_16(1386);
+emit_16(1453);
+emit_16(1387);
+emit_16(1453);
+emit_16(1386);
+emit_16(1453);
+emit_16(1387);
+emit_16(1454);
+emit_16(1388);
+emit_16(1454);
+emit_16(1387);
+emit_16(1454);
+emit_16(1388);
+emit_16(1455);
+emit_16(1389);
+emit_16(1455);
+emit_16(1388);
+emit_16(1455);
+emit_16(1389);
+emit_16(1456);
+emit_16(1390);
+emit_16(1456);
+emit_16(1389);
+emit_16(1456);
+emit_16(1390);
+emit_16(1457);
+emit_16(1391);
+emit_16(1457);
+emit_16(1390);
+emit_16(1457);
+emit_16(1391);
+emit_16(1458);
+emit_16(1392);
+emit_16(1458);
+emit_16(1391);
+emit_16(1458);
+emit_16(1392);
+emit_16(1459);
+emit_16(1393);
+emit_16(1459);
+emit_16(1392);
+emit_16(1459);
+emit_16(1393);
+emit_16(1460);
+emit_16(1394);
+emit_16(1460);
+emit_16(1393);
+emit_16(1460);
+emit_16(1394);
+emit_16(1461);
+emit_16(1395);
+emit_16(1461);
+emit_16(1394);
+emit_16(1461);
+emit_16(1395);
+emit_16(1462);
+emit_16(1396);
+emit_16(1462);
+emit_16(1395);
+emit_16(1462);
+emit_16(1396);
+emit_16(1463);
+emit_16(1397);
+emit_16(1463);
+emit_16(1396);
+emit_16(1463);
+emit_16(1397);
+emit_16(1464);
+emit_16(1398);
+emit_16(1464);
+emit_16(1397);
+emit_16(1464);
+emit_16(1398);
+emit_16(1465);
+emit_16(1399);
+emit_16(1465);
+emit_16(1398);
+emit_16(1465);
+emit_16(1399);
+emit_16(1466);
+emit_16(1400);
+emit_16(1466);
+emit_16(1399);
+emit_16(1466);
+emit_16(1400);
+emit_16(1467);
+emit_16(1401);
+emit_16(1467);
+emit_16(1400);
+emit_16(1467);
+emit_16(1401);
+emit_16(1468);
+emit_16(1402);
+emit_16(1468);
+emit_16(1401);
+emit_16(1468);
+emit_16(1402);
+emit_16(1469);
+emit_16(1403);
+emit_16(1469);
+emit_16(1402);
+emit_16(1469);
+emit_16(1403);
+emit_16(1470);
+emit_16(1404);
+emit_16(1470);
+emit_16(1403);
+emit_16(1470);
+emit_16(1404);
+emit_16(1471);
+emit_16(1405);
+emit_16(1471);
+emit_16(1404);
+emit_16(1471);
+emit_16(1405);
+emit_16(1472);
+emit_16(1406);
+emit_16(1472);
+emit_16(1405);
+emit_16(1472);
+emit_16(1406);
+emit_16(1473);
+emit_16(1407);
+emit_16(1473);
+emit_16(1406);
+emit_16(1473);
+emit_16(1407);
+emit_16(1474);
+emit_16(1408);
+emit_16(1474);
+emit_16(1407);
+emit_16(1474);
+emit_16(1408);
+emit_16(1475);
+emit_16(1409);
+emit_16(1475);
+emit_16(1408);
+emit_16(1475);
+emit_16(1409);
+emit_16(1476);
+emit_16(1410);
+emit_16(1476);
+emit_16(1409);
+emit_16(1476);
+emit_16(1410);
+emit_16(1477);
+emit_16(1411);
+emit_16(1477);
+emit_16(1410);
+emit_16(1477);
+emit_16(1411);
+emit_16(1478);
+emit_16(1412);
+emit_16(1478);
+emit_16(1411);
+emit_16(1478);
+emit_16(1412);
+emit_16(1479);
+emit_16(1413);
+emit_16(1479);
+emit_16(1412);
+emit_16(1479);
+emit_16(1413);
+emit_16(1480);
+emit_16(1414);
+emit_16(1480);
+emit_16(1413);
+emit_16(1480);
+emit_16(1414);
+emit_16(1481);
+emit_16(1415);
+emit_16(1481);
+emit_16(1414);
+emit_16(1481);
+emit_16(1415);
+emit_16(1482);
+emit_16(1416);
+emit_16(1482);
+emit_16(1415);
+emit_16(1482);
+emit_16(1416);
+emit_16(1483);
+emit_16(1417);
+emit_16(1483);
+emit_16(1416);
+emit_16(1483);
+emit_16(1417);
+emit_16(1484);
+emit_16(1418);
+emit_16(1484);
+emit_16(1417);
+emit_16(1484);
+emit_16(1418);
+emit_16(1485);
+emit_16(1419);
+emit_16(1485);
+emit_16(1418);
+emit_16(1485);
+emit_16(1419);
+emit_16(1486);
+emit_16(1420);
+emit_16(1486);
+emit_16(1419);
+emit_16(1486);
+emit_16(1420);
+emit_16(1487);
+emit_16(1421);
+emit_16(1487);
+emit_16(1420);
+emit_16(1487);
+emit_16(1421);
+emit_16(1488);
+emit_16(1422);
+emit_16(1488);
+emit_16(1421);
+emit_16(1488);
+emit_16(1422);
+emit_16(1489);
+emit_16(1423);
+emit_16(1489);
+emit_16(1422);
+emit_16(1489);
+emit_16(1423);
+emit_16(1490);
+emit_16(1424);
+emit_16(1490);
+emit_16(1423);
+emit_16(1490);
+emit_16(1424);
+emit_16(1491);
+emit_16(1425);
+emit_16(1491);
+emit_16(1424);
+emit_16(1491);
+emit_16(1425);
+emit_16(1492);
+emit_16(1426);
+emit_16(1492);
+emit_16(1425);
+emit_16(1492);
+emit_16(1426);
+emit_16(1493);
+emit_16(1427);
+emit_16(1493);
+emit_16(1426);
+emit_16(1493);
+emit_16(1427);
+emit_16(1494);
+emit_16(1428);
+emit_16(1494);
+emit_16(1427);
+emit_16(1494);
+emit_16(1428);
+emit_16(1495);
+emit_16(1429);
+emit_16(1495);
+emit_16(1428);
+emit_16(1495);
+emit_16(1429);
+emit_16(1496);
+emit_16(1430);
+emit_16(1496);
+emit_16(1429);
+emit_16(1496);
+emit_16(1430);
+emit_16(1497);
+emit_16(1431);
+emit_16(1497);
+emit_16(1430);
+emit_16(1497);
+emit_16(1431);
+emit_16(1498);
+emit_16(1432);
+emit_16(1498);
+emit_16(1431);
+emit_16(1498);
+emit_16(1432);
+emit_16(1499);
+emit_16(1433);
+emit_16(1499);
+emit_16(1432);
+emit_16(1499);
+emit_16(1433);
+emit_16(1500);
+emit_16(1434);
+emit_16(1500);
+emit_16(1433);
+emit_16(1500);
+emit_16(1434);
+emit_16(1501);
+emit_16(1435);
+emit_16(1501);
+emit_16(1434);
+emit_16(1501);
+emit_16(1435);
+emit_16(1502);
+emit_16(1436);
+emit_16(1502);
+emit_16(1435);
+emit_16(1502);
+emit_16(1436);
+emit_16(1503);
+emit_16(1437);
+emit_16(1503);
+emit_16(1436);
+emit_16(1503);
+emit_16(1437);
+emit_16(1504);
+emit_16(1438);
+emit_16(1504);
+emit_16(1437);
+emit_16(1504);
+emit_16(1438);
+emit_16(1505);
+emit_16(1439);
+emit_16(1505);
+emit_16(1438);
+emit_16(1505);
+emit_16(1439);
+emit_16(1506);
+emit_16(1440);
+emit_16(1506);
+emit_16(1439);
+emit_16(1506);
+emit_16(1440);
+emit_16(1507);
+emit_16(1441);
+emit_16(1507);
+emit_16(1440);
+emit_16(1507);
+emit_16(1441);
+emit_16(1508);
+emit_16(1442);
+emit_16(1508);
+emit_16(1441);
+emit_16(1508);
+emit_16(1442);
+emit_16(1509);
+emit_16(1443);
+emit_16(1509);
+emit_16(1442);
+emit_16(1509);
+emit_16(1443);
+emit_16(1510);
+emit_16(1444);
+emit_16(1510);
+emit_16(1443);
+emit_16(1510);
+emit_16(1444);
+emit_16(1511);
+emit_16(1445);
+emit_16(1511);
+emit_16(1444);
+emit_16(1511);
+emit_16(1445);
+emit_16(1512);
+emit_16(1446);
+emit_16(1512);
+emit_16(1445);
+emit_16(1512);
+emit_16(1446);
+emit_16(1513);
+emit_16(1447);
+emit_16(1513);
+emit_16(1446);
+emit_16(1513);
+emit_16(1447);
+emit_16(1514);
+emit_16(1448);
+emit_16(1514);
+emit_16(1447);
+emit_16(1514);
+emit_16(1448);
+emit_16(1515);
+emit_16(1449);
+emit_16(1515);
+emit_16(1448);
+emit_16(1515);
+emit_16(1449);
+emit_16(1516);
+emit_16(1450);
+emit_16(1516);
+emit_16(1449);
+emit_16(1516);
+emit_16(1450);
+emit_16(1517);
+emit_16(1451);
+emit_16(1517);
+emit_16(1450);
+emit_16(1518);
+emit_16(1452);
+emit_16(1519);
+emit_16(1453);
+emit_16(1519);
+emit_16(1452);
+emit_16(1519);
+emit_16(1453);
+emit_16(1520);
+emit_16(1454);
+emit_16(1520);
+emit_16(1453);
+emit_16(1520);
+emit_16(1454);
+emit_16(1521);
+emit_16(1455);
+emit_16(1521);
+emit_16(1454);
+emit_16(1521);
+emit_16(1455);
+emit_16(1522);
+emit_16(1456);
+emit_16(1522);
+emit_16(1455);
+emit_16(1522);
+emit_16(1456);
+emit_16(1523);
+emit_16(1457);
+emit_16(1523);
+emit_16(1456);
+emit_16(1523);
+emit_16(1457);
+emit_16(1524);
+emit_16(1458);
+emit_16(1524);
+emit_16(1457);
+emit_16(1524);
+emit_16(1458);
+emit_16(1525);
+emit_16(1459);
+emit_16(1525);
+emit_16(1458);
+emit_16(1525);
+emit_16(1459);
+emit_16(1526);
+emit_16(1460);
+emit_16(1526);
+emit_16(1459);
+emit_16(1526);
+emit_16(1460);
+emit_16(1527);
+emit_16(1461);
+emit_16(1527);
+emit_16(1460);
+emit_16(1527);
+emit_16(1461);
+emit_16(1528);
+emit_16(1462);
+emit_16(1528);
+emit_16(1461);
+emit_16(1528);
+emit_16(1462);
+emit_16(1529);
+emit_16(1463);
+emit_16(1529);
+emit_16(1462);
+emit_16(1529);
+emit_16(1463);
+emit_16(1530);
+emit_16(1464);
+emit_16(1530);
+emit_16(1463);
+emit_16(1530);
+emit_16(1464);
+emit_16(1531);
+emit_16(1465);
+emit_16(1531);
+emit_16(1464);
+emit_16(1531);
+emit_16(1465);
+emit_16(1532);
+emit_16(1466);
+emit_16(1532);
+emit_16(1465);
+emit_16(1532);
+emit_16(1466);
+emit_16(1533);
+emit_16(1467);
+emit_16(1533);
+emit_16(1466);
+emit_16(1533);
+emit_16(1467);
+emit_16(1534);
+emit_16(1468);
+emit_16(1534);
+emit_16(1467);
+emit_16(1534);
+emit_16(1468);
+emit_16(1535);
+emit_16(1469);
+emit_16(1535);
+emit_16(1468);
+emit_16(1535);
+emit_16(1469);
+emit_16(1536);
+emit_16(1470);
+emit_16(1536);
+emit_16(1469);
+emit_16(1536);
+emit_16(1470);
+emit_16(1537);
+emit_16(1471);
+emit_16(1537);
+emit_16(1470);
+emit_16(1537);
+emit_16(1471);
+emit_16(1538);
+emit_16(1472);
+emit_16(1538);
+emit_16(1471);
+emit_16(1538);
+emit_16(1472);
+emit_16(1539);
+emit_16(1473);
+emit_16(1539);
+emit_16(1472);
+emit_16(1539);
+emit_16(1473);
+emit_16(1540);
+emit_16(1474);
+emit_16(1540);
+emit_16(1473);
+emit_16(1540);
+emit_16(1474);
+emit_16(1541);
+emit_16(1475);
+emit_16(1541);
+emit_16(1474);
+emit_16(1541);
+emit_16(1475);
+emit_16(1542);
+emit_16(1476);
+emit_16(1542);
+emit_16(1475);
+emit_16(1542);
+emit_16(1476);
+emit_16(1543);
+emit_16(1477);
+emit_16(1543);
+emit_16(1476);
+emit_16(1543);
+emit_16(1477);
+emit_16(1544);
+emit_16(1478);
+emit_16(1544);
+emit_16(1477);
+emit_16(1544);
+emit_16(1478);
+emit_16(1545);
+emit_16(1479);
+emit_16(1545);
+emit_16(1478);
+emit_16(1545);
+emit_16(1479);
+emit_16(1546);
+emit_16(1480);
+emit_16(1546);
+emit_16(1479);
+emit_16(1546);
+emit_16(1480);
+emit_16(1547);
+emit_16(1481);
+emit_16(1547);
+emit_16(1480);
+emit_16(1547);
+emit_16(1481);
+emit_16(1548);
+emit_16(1482);
+emit_16(1548);
+emit_16(1481);
+emit_16(1548);
+emit_16(1482);
+emit_16(1549);
+emit_16(1483);
+emit_16(1549);
+emit_16(1482);
+emit_16(1549);
+emit_16(1483);
+emit_16(1550);
+emit_16(1484);
+emit_16(1550);
+emit_16(1483);
+emit_16(1550);
+emit_16(1484);
+emit_16(1551);
+emit_16(1485);
+emit_16(1551);
+emit_16(1484);
+emit_16(1551);
+emit_16(1485);
+emit_16(1552);
+emit_16(1486);
+emit_16(1552);
+emit_16(1485);
+emit_16(1552);
+emit_16(1486);
+emit_16(1553);
+emit_16(1487);
+emit_16(1553);
+emit_16(1486);
+emit_16(1553);
+emit_16(1487);
+emit_16(1554);
+emit_16(1488);
+emit_16(1554);
+emit_16(1487);
+emit_16(1554);
+emit_16(1488);
+emit_16(1555);
+emit_16(1489);
+emit_16(1555);
+emit_16(1488);
+emit_16(1555);
+emit_16(1489);
+emit_16(1556);
+emit_16(1490);
+emit_16(1556);
+emit_16(1489);
+emit_16(1556);
+emit_16(1490);
+emit_16(1557);
+emit_16(1491);
+emit_16(1557);
+emit_16(1490);
+emit_16(1557);
+emit_16(1491);
+emit_16(1558);
+emit_16(1492);
+emit_16(1558);
+emit_16(1491);
+emit_16(1558);
+emit_16(1492);
+emit_16(1559);
+emit_16(1493);
+emit_16(1559);
+emit_16(1492);
+emit_16(1559);
+emit_16(1493);
+emit_16(1560);
+emit_16(1494);
+emit_16(1560);
+emit_16(1493);
+emit_16(1560);
+emit_16(1494);
+emit_16(1561);
+emit_16(1495);
+emit_16(1561);
+emit_16(1494);
+emit_16(1561);
+emit_16(1495);
+emit_16(1562);
+emit_16(1496);
+emit_16(1562);
+emit_16(1495);
+emit_16(1562);
+emit_16(1496);
+emit_16(1563);
+emit_16(1497);
+emit_16(1563);
+emit_16(1496);
+emit_16(1563);
+emit_16(1497);
+emit_16(1564);
+emit_16(1498);
+emit_16(1564);
+emit_16(1497);
+emit_16(1564);
+emit_16(1498);
+emit_16(1565);
+emit_16(1499);
+emit_16(1565);
+emit_16(1498);
+emit_16(1565);
+emit_16(1499);
+emit_16(1566);
+emit_16(1500);
+emit_16(1566);
+emit_16(1499);
+emit_16(1566);
+emit_16(1500);
+emit_16(1567);
+emit_16(1501);
+emit_16(1567);
+emit_16(1500);
+emit_16(1567);
+emit_16(1501);
+emit_16(1568);
+emit_16(1502);
+emit_16(1568);
+emit_16(1501);
+emit_16(1568);
+emit_16(1502);
+emit_16(1569);
+emit_16(1503);
+emit_16(1569);
+emit_16(1502);
+emit_16(1569);
+emit_16(1503);
+emit_16(1570);
+emit_16(1504);
+emit_16(1570);
+emit_16(1503);
+emit_16(1570);
+emit_16(1504);
+emit_16(1571);
+emit_16(1505);
+emit_16(1571);
+emit_16(1504);
+emit_16(1571);
+emit_16(1505);
+emit_16(1572);
+emit_16(1506);
+emit_16(1572);
+emit_16(1505);
+emit_16(1572);
+emit_16(1506);
+emit_16(1573);
+emit_16(1507);
+emit_16(1573);
+emit_16(1506);
+emit_16(1573);
+emit_16(1507);
+emit_16(1574);
+emit_16(1508);
+emit_16(1574);
+emit_16(1507);
+emit_16(1574);
+emit_16(1508);
+emit_16(1575);
+emit_16(1509);
+emit_16(1575);
+emit_16(1508);
+emit_16(1575);
+emit_16(1509);
+emit_16(1576);
+emit_16(1510);
+emit_16(1576);
+emit_16(1509);
+emit_16(1576);
+emit_16(1510);
+emit_16(1577);
+emit_16(1511);
+emit_16(1577);
+emit_16(1510);
+emit_16(1577);
+emit_16(1511);
+emit_16(1578);
+emit_16(1512);
+emit_16(1578);
+emit_16(1511);
+emit_16(1578);
+emit_16(1512);
+emit_16(1579);
+emit_16(1513);
+emit_16(1579);
+emit_16(1512);
+emit_16(1579);
+emit_16(1513);
+emit_16(1580);
+emit_16(1514);
+emit_16(1580);
+emit_16(1513);
+emit_16(1580);
+emit_16(1514);
+emit_16(1581);
+emit_16(1515);
+emit_16(1581);
+emit_16(1514);
+emit_16(1581);
+emit_16(1515);
+emit_16(1582);
+emit_16(1516);
+emit_16(1582);
+emit_16(1515);
+emit_16(1582);
+emit_16(1516);
+emit_16(1583);
+emit_16(1517);
+emit_16(1583);
+emit_16(1516);
+emit_16(1584);
+emit_16(1518);
+emit_16(1585);
+emit_16(1519);
+emit_16(1585);
+emit_16(1518);
+emit_16(1585);
+emit_16(1519);
+emit_16(1586);
+emit_16(1520);
+emit_16(1586);
+emit_16(1519);
+emit_16(1586);
+emit_16(1520);
+emit_16(1587);
+emit_16(1521);
+emit_16(1587);
+emit_16(1520);
+emit_16(1587);
+emit_16(1521);
+emit_16(1588);
+emit_16(1522);
+emit_16(1588);
+emit_16(1521);
+emit_16(1588);
+emit_16(1522);
+emit_16(1589);
+emit_16(1523);
+emit_16(1589);
+emit_16(1522);
+emit_16(1589);
+emit_16(1523);
+emit_16(1590);
+emit_16(1524);
+emit_16(1590);
+emit_16(1523);
+emit_16(1590);
+emit_16(1524);
+emit_16(1591);
+emit_16(1525);
+emit_16(1591);
+emit_16(1524);
+emit_16(1591);
+emit_16(1525);
+emit_16(1592);
+emit_16(1526);
+emit_16(1592);
+emit_16(1525);
+emit_16(1592);
+emit_16(1526);
+emit_16(1593);
+emit_16(1527);
+emit_16(1593);
+emit_16(1526);
+emit_16(1593);
+emit_16(1527);
+emit_16(1594);
+emit_16(1528);
+emit_16(1594);
+emit_16(1527);
+emit_16(1594);
+emit_16(1528);
+emit_16(1595);
+emit_16(1529);
+emit_16(1595);
+emit_16(1528);
+emit_16(1595);
+emit_16(1529);
+emit_16(1596);
+emit_16(1530);
+emit_16(1596);
+emit_16(1529);
+emit_16(1596);
+emit_16(1530);
+emit_16(1597);
+emit_16(1531);
+emit_16(1597);
+emit_16(1530);
+emit_16(1597);
+emit_16(1531);
+emit_16(1598);
+emit_16(1532);
+emit_16(1598);
+emit_16(1531);
+emit_16(1598);
+emit_16(1532);
+emit_16(1599);
+emit_16(1533);
+emit_16(1599);
+emit_16(1532);
+emit_16(1599);
+emit_16(1533);
+emit_16(1600);
+emit_16(1534);
+emit_16(1600);
+emit_16(1533);
+emit_16(1600);
+emit_16(1534);
+emit_16(1601);
+emit_16(1535);
+emit_16(1601);
+emit_16(1534);
+emit_16(1601);
+emit_16(1535);
+emit_16(1602);
+emit_16(1536);
+emit_16(1602);
+emit_16(1535);
+emit_16(1602);
+emit_16(1536);
+emit_16(1603);
+emit_16(1537);
+emit_16(1603);
+emit_16(1536);
+emit_16(1603);
+emit_16(1537);
+emit_16(1604);
+emit_16(1538);
+emit_16(1604);
+emit_16(1537);
+emit_16(1604);
+emit_16(1538);
+emit_16(1605);
+emit_16(1539);
+emit_16(1605);
+emit_16(1538);
+emit_16(1605);
+emit_16(1539);
+emit_16(1606);
+emit_16(1540);
+emit_16(1606);
+emit_16(1539);
+emit_16(1606);
+emit_16(1540);
+emit_16(1607);
+emit_16(1541);
+emit_16(1607);
+emit_16(1540);
+emit_16(1607);
+emit_16(1541);
+emit_16(1608);
+emit_16(1542);
+emit_16(1608);
+emit_16(1541);
+emit_16(1608);
+emit_16(1542);
+emit_16(1609);
+emit_16(1543);
+emit_16(1609);
+emit_16(1542);
+emit_16(1609);
+emit_16(1543);
+emit_16(1610);
+emit_16(1544);
+emit_16(1610);
+emit_16(1543);
+emit_16(1610);
+emit_16(1544);
+emit_16(1611);
+emit_16(1545);
+emit_16(1611);
+emit_16(1544);
+emit_16(1611);
+emit_16(1545);
+emit_16(1612);
+emit_16(1546);
+emit_16(1612);
+emit_16(1545);
+emit_16(1612);
+emit_16(1546);
+emit_16(1613);
+emit_16(1547);
+emit_16(1613);
+emit_16(1546);
+emit_16(1613);
+emit_16(1547);
+emit_16(1614);
+emit_16(1548);
+emit_16(1614);
+emit_16(1547);
+emit_16(1614);
+emit_16(1548);
+emit_16(1615);
+emit_16(1549);
+emit_16(1615);
+emit_16(1548);
+emit_16(1615);
+emit_16(1549);
+emit_16(1616);
+emit_16(1550);
+emit_16(1616);
+emit_16(1549);
+emit_16(1616);
+emit_16(1550);
+emit_16(1617);
+emit_16(1551);
+emit_16(1617);
+emit_16(1550);
+emit_16(1617);
+emit_16(1551);
+emit_16(1618);
+emit_16(1552);
+emit_16(1618);
+emit_16(1551);
+emit_16(1618);
+emit_16(1552);
+emit_16(1619);
+emit_16(1553);
+emit_16(1619);
+emit_16(1552);
+emit_16(1619);
+emit_16(1553);
+emit_16(1620);
+emit_16(1554);
+emit_16(1620);
+emit_16(1553);
+emit_16(1620);
+emit_16(1554);
+emit_16(1621);
+emit_16(1555);
+emit_16(1621);
+emit_16(1554);
+emit_16(1621);
+emit_16(1555);
+emit_16(1622);
+emit_16(1556);
+emit_16(1622);
+emit_16(1555);
+emit_16(1622);
+emit_16(1556);
+emit_16(1623);
+emit_16(1557);
+emit_16(1623);
+emit_16(1556);
+emit_16(1623);
+emit_16(1557);
+emit_16(1624);
+emit_16(1558);
+emit_16(1624);
+emit_16(1557);
+emit_16(1624);
+emit_16(1558);
+emit_16(1625);
+emit_16(1559);
+emit_16(1625);
+emit_16(1558);
+emit_16(1625);
+emit_16(1559);
+emit_16(1626);
+emit_16(1560);
+emit_16(1626);
+emit_16(1559);
+emit_16(1626);
+emit_16(1560);
+emit_16(1627);
+emit_16(1561);
+emit_16(1627);
+emit_16(1560);
+emit_16(1627);
+emit_16(1561);
+emit_16(1628);
+emit_16(1562);
+emit_16(1628);
+emit_16(1561);
+emit_16(1628);
+emit_16(1562);
+emit_16(1629);
+emit_16(1563);
+emit_16(1629);
+emit_16(1562);
+emit_16(1629);
+emit_16(1563);
+emit_16(1630);
+emit_16(1564);
+emit_16(1630);
+emit_16(1563);
+emit_16(1630);
+emit_16(1564);
+emit_16(1631);
+emit_16(1565);
+emit_16(1631);
+emit_16(1564);
+emit_16(1631);
+emit_16(1565);
+emit_16(1632);
+emit_16(1566);
+emit_16(1632);
+emit_16(1565);
+emit_16(1632);
+emit_16(1566);
+emit_16(1633);
+emit_16(1567);
+emit_16(1633);
+emit_16(1566);
+emit_16(1633);
+emit_16(1567);
+emit_16(1634);
+emit_16(1568);
+emit_16(1634);
+emit_16(1567);
+emit_16(1634);
+emit_16(1568);
+emit_16(1635);
+emit_16(1569);
+emit_16(1635);
+emit_16(1568);
+emit_16(1635);
+emit_16(1569);
+emit_16(1636);
+emit_16(1570);
+emit_16(1636);
+emit_16(1569);
+emit_16(1636);
+emit_16(1570);
+emit_16(1637);
+emit_16(1571);
+emit_16(1637);
+emit_16(1570);
+emit_16(1637);
+emit_16(1571);
+emit_16(1638);
+emit_16(1572);
+emit_16(1638);
+emit_16(1571);
+emit_16(1638);
+emit_16(1572);
+emit_16(1639);
+emit_16(1573);
+emit_16(1639);
+emit_16(1572);
+emit_16(1639);
+emit_16(1573);
+emit_16(1640);
+emit_16(1574);
+emit_16(1640);
+emit_16(1573);
+emit_16(1640);
+emit_16(1574);
+emit_16(1641);
+emit_16(1575);
+emit_16(1641);
+emit_16(1574);
+emit_16(1641);
+emit_16(1575);
+emit_16(1642);
+emit_16(1576);
+emit_16(1642);
+emit_16(1575);
+emit_16(1642);
+emit_16(1576);
+emit_16(1643);
+emit_16(1577);
+emit_16(1643);
+emit_16(1576);
+emit_16(1643);
+emit_16(1577);
+emit_16(1644);
+emit_16(1578);
+emit_16(1644);
+emit_16(1577);
+emit_16(1644);
+emit_16(1578);
+emit_16(1645);
+emit_16(1579);
+emit_16(1645);
+emit_16(1578);
+emit_16(1645);
+emit_16(1579);
+emit_16(1646);
+emit_16(1580);
+emit_16(1646);
+emit_16(1579);
+emit_16(1646);
+emit_16(1580);
+emit_16(1647);
+emit_16(1581);
+emit_16(1647);
+emit_16(1580);
+emit_16(1647);
+emit_16(1581);
+emit_16(1648);
+emit_16(1582);
+emit_16(1648);
+emit_16(1581);
+emit_16(1648);
+emit_16(1582);
+emit_16(1649);
+emit_16(1583);
+emit_16(1649);
+emit_16(1582);
+emit_16(1650);
+emit_16(1584);
+emit_16(1651);
+emit_16(1585);
+emit_16(1651);
+emit_16(1584);
+emit_16(1651);
+emit_16(1585);
+emit_16(1652);
+emit_16(1586);
+emit_16(1652);
+emit_16(1585);
+emit_16(1652);
+emit_16(1586);
+emit_16(1653);
+emit_16(1587);
+emit_16(1653);
+emit_16(1586);
+emit_16(1653);
+emit_16(1587);
+emit_16(1654);
+emit_16(1588);
+emit_16(1654);
+emit_16(1587);
+emit_16(1654);
+emit_16(1588);
+emit_16(1655);
+emit_16(1589);
+emit_16(1655);
+emit_16(1588);
+emit_16(1655);
+emit_16(1589);
+emit_16(1656);
+emit_16(1590);
+emit_16(1656);
+emit_16(1589);
+emit_16(1656);
+emit_16(1590);
+emit_16(1657);
+emit_16(1591);
+emit_16(1657);
+emit_16(1590);
+emit_16(1657);
+emit_16(1591);
+emit_16(1658);
+emit_16(1592);
+emit_16(1658);
+emit_16(1591);
+emit_16(1658);
+emit_16(1592);
+emit_16(1659);
+emit_16(1593);
+emit_16(1659);
+emit_16(1592);
+emit_16(1659);
+emit_16(1593);
+emit_16(1660);
+emit_16(1594);
+emit_16(1660);
+emit_16(1593);
+emit_16(1660);
+emit_16(1594);
+emit_16(1661);
+emit_16(1595);
+emit_16(1661);
+emit_16(1594);
+emit_16(1661);
+emit_16(1595);
+emit_16(1662);
+emit_16(1596);
+emit_16(1662);
+emit_16(1595);
+emit_16(1662);
+emit_16(1596);
+emit_16(1663);
+emit_16(1597);
+emit_16(1663);
+emit_16(1596);
+emit_16(1663);
+emit_16(1597);
+emit_16(1664);
+emit_16(1598);
+emit_16(1664);
+emit_16(1597);
+emit_16(1664);
+emit_16(1598);
+emit_16(1665);
+emit_16(1599);
+emit_16(1665);
+emit_16(1598);
+emit_16(1665);
+emit_16(1599);
+emit_16(1666);
+emit_16(1600);
+emit_16(1666);
+emit_16(1599);
+emit_16(1666);
+emit_16(1600);
+emit_16(1667);
+emit_16(1601);
+emit_16(1667);
+emit_16(1600);
+emit_16(1667);
+emit_16(1601);
+emit_16(1668);
+emit_16(1602);
+emit_16(1668);
+emit_16(1601);
+emit_16(1668);
+emit_16(1602);
+emit_16(1669);
+emit_16(1603);
+emit_16(1669);
+emit_16(1602);
+emit_16(1669);
+emit_16(1603);
+emit_16(1670);
+emit_16(1604);
+emit_16(1670);
+emit_16(1603);
+emit_16(1670);
+emit_16(1604);
+emit_16(1671);
+emit_16(1605);
+emit_16(1671);
+emit_16(1604);
+emit_16(1671);
+emit_16(1605);
+emit_16(1672);
+emit_16(1606);
+emit_16(1672);
+emit_16(1605);
+emit_16(1672);
+emit_16(1606);
+emit_16(1673);
+emit_16(1607);
+emit_16(1673);
+emit_16(1606);
+emit_16(1673);
+emit_16(1607);
+emit_16(1674);
+emit_16(1608);
+emit_16(1674);
+emit_16(1607);
+emit_16(1674);
+emit_16(1608);
+emit_16(1675);
+emit_16(1609);
+emit_16(1675);
+emit_16(1608);
+emit_16(1675);
+emit_16(1609);
+emit_16(1676);
+emit_16(1610);
+emit_16(1676);
+emit_16(1609);
+emit_16(1676);
+emit_16(1610);
+emit_16(1677);
+emit_16(1611);
+emit_16(1677);
+emit_16(1610);
+emit_16(1677);
+emit_16(1611);
+emit_16(1678);
+emit_16(1612);
+emit_16(1678);
+emit_16(1611);
+emit_16(1678);
+emit_16(1612);
+emit_16(1679);
+emit_16(1613);
+emit_16(1679);
+emit_16(1612);
+emit_16(1679);
+emit_16(1613);
+emit_16(1680);
+emit_16(1614);
+emit_16(1680);
+emit_16(1613);
+emit_16(1680);
+emit_16(1614);
+emit_16(1681);
+emit_16(1615);
+emit_16(1681);
+emit_16(1614);
+emit_16(1681);
+emit_16(1615);
+emit_16(1682);
+emit_16(1616);
+emit_16(1682);
+emit_16(1615);
+emit_16(1682);
+emit_16(1616);
+emit_16(1683);
+emit_16(1617);
+emit_16(1683);
+emit_16(1616);
+emit_16(1683);
+emit_16(1617);
+emit_16(1684);
+emit_16(1618);
+emit_16(1684);
+emit_16(1617);
+emit_16(1684);
+emit_16(1618);
+emit_16(1685);
+emit_16(1619);
+emit_16(1685);
+emit_16(1618);
+emit_16(1685);
+emit_16(1619);
+emit_16(1686);
+emit_16(1620);
+emit_16(1686);
+emit_16(1619);
+emit_16(1686);
+emit_16(1620);
+emit_16(1687);
+emit_16(1621);
+emit_16(1687);
+emit_16(1620);
+emit_16(1687);
+emit_16(1621);
+emit_16(1688);
+emit_16(1622);
+emit_16(1688);
+emit_16(1621);
+emit_16(1688);
+emit_16(1622);
+emit_16(1689);
+emit_16(1623);
+emit_16(1689);
+emit_16(1622);
+emit_16(1689);
+emit_16(1623);
+emit_16(1690);
+emit_16(1624);
+emit_16(1690);
+emit_16(1623);
+emit_16(1690);
+emit_16(1624);
+emit_16(1691);
+emit_16(1625);
+emit_16(1691);
+emit_16(1624);
+emit_16(1691);
+emit_16(1625);
+emit_16(1692);
+emit_16(1626);
+emit_16(1692);
+emit_16(1625);
+emit_16(1692);
+emit_16(1626);
+emit_16(1693);
+emit_16(1627);
+emit_16(1693);
+emit_16(1626);
+emit_16(1693);
+emit_16(1627);
+emit_16(1694);
+emit_16(1628);
+emit_16(1694);
+emit_16(1627);
+emit_16(1694);
+emit_16(1628);
+emit_16(1695);
+emit_16(1629);
+emit_16(1695);
+emit_16(1628);
+emit_16(1695);
+emit_16(1629);
+emit_16(1696);
+emit_16(1630);
+emit_16(1696);
+emit_16(1629);
+emit_16(1696);
+emit_16(1630);
+emit_16(1697);
+emit_16(1631);
+emit_16(1697);
+emit_16(1630);
+emit_16(1697);
+emit_16(1631);
+emit_16(1698);
+emit_16(1632);
+emit_16(1698);
+emit_16(1631);
+emit_16(1698);
+emit_16(1632);
+emit_16(1699);
+emit_16(1633);
+emit_16(1699);
+emit_16(1632);
+emit_16(1699);
+emit_16(1633);
+emit_16(1700);
+emit_16(1634);
+emit_16(1700);
+emit_16(1633);
+emit_16(1700);
+emit_16(1634);
+emit_16(1701);
+emit_16(1635);
+emit_16(1701);
+emit_16(1634);
+emit_16(1701);
+emit_16(1635);
+emit_16(1702);
+emit_16(1636);
+emit_16(1702);
+emit_16(1635);
+emit_16(1702);
+emit_16(1636);
+emit_16(1703);
+emit_16(1637);
+emit_16(1703);
+emit_16(1636);
+emit_16(1703);
+emit_16(1637);
+emit_16(1704);
+emit_16(1638);
+emit_16(1704);
+emit_16(1637);
+emit_16(1704);
+emit_16(1638);
+emit_16(1705);
+emit_16(1639);
+emit_16(1705);
+emit_16(1638);
+emit_16(1705);
+emit_16(1639);
+emit_16(1706);
+emit_16(1640);
+emit_16(1706);
+emit_16(1639);
+emit_16(1706);
+emit_16(1640);
+emit_16(1707);
+emit_16(1641);
+emit_16(1707);
+emit_16(1640);
+emit_16(1707);
+emit_16(1641);
+emit_16(1708);
+emit_16(1642);
+emit_16(1708);
+emit_16(1641);
+emit_16(1708);
+emit_16(1642);
+emit_16(1709);
+emit_16(1643);
+emit_16(1709);
+emit_16(1642);
+emit_16(1709);
+emit_16(1643);
+emit_16(1710);
+emit_16(1644);
+emit_16(1710);
+emit_16(1643);
+emit_16(1710);
+emit_16(1644);
+emit_16(1711);
+emit_16(1645);
+emit_16(1711);
+emit_16(1644);
+emit_16(1711);
+emit_16(1645);
+emit_16(1712);
+emit_16(1646);
+emit_16(1712);
+emit_16(1645);
+emit_16(1712);
+emit_16(1646);
+emit_16(1713);
+emit_16(1647);
+emit_16(1713);
+emit_16(1646);
+emit_16(1713);
+emit_16(1647);
+emit_16(1714);
+emit_16(1648);
+emit_16(1714);
+emit_16(1647);
+emit_16(1714);
+emit_16(1648);
+emit_16(1715);
+emit_16(1649);
+emit_16(1715);
+emit_16(1648);
+emit_16(1716);
+emit_16(1650);
+emit_16(1717);
+emit_16(1651);
+emit_16(1717);
+emit_16(1650);
+emit_16(1717);
+emit_16(1651);
+emit_16(1718);
+emit_16(1652);
+emit_16(1718);
+emit_16(1651);
+emit_16(1718);
+emit_16(1652);
+emit_16(1719);
+emit_16(1653);
+emit_16(1719);
+emit_16(1652);
+emit_16(1719);
+emit_16(1653);
+emit_16(1720);
+emit_16(1654);
+emit_16(1720);
+emit_16(1653);
+emit_16(1720);
+emit_16(1654);
+emit_16(1721);
+emit_16(1655);
+emit_16(1721);
+emit_16(1654);
+emit_16(1721);
+emit_16(1655);
+emit_16(1722);
+emit_16(1656);
+emit_16(1722);
+emit_16(1655);
+emit_16(1722);
+emit_16(1656);
+emit_16(1723);
+emit_16(1657);
+emit_16(1723);
+emit_16(1656);
+emit_16(1723);
+emit_16(1657);
+emit_16(1724);
+emit_16(1658);
+emit_16(1724);
+emit_16(1657);
+emit_16(1724);
+emit_16(1658);
+emit_16(1725);
+emit_16(1659);
+emit_16(1725);
+emit_16(1658);
+emit_16(1725);
+emit_16(1659);
+emit_16(1726);
+emit_16(1660);
+emit_16(1726);
+emit_16(1659);
+emit_16(1726);
+emit_16(1660);
+emit_16(1727);
+emit_16(1661);
+emit_16(1727);
+emit_16(1660);
+emit_16(1727);
+emit_16(1661);
+emit_16(1728);
+emit_16(1662);
+emit_16(1728);
+emit_16(1661);
+emit_16(1728);
+emit_16(1662);
+emit_16(1729);
+emit_16(1663);
+emit_16(1729);
+emit_16(1662);
+emit_16(1729);
+emit_16(1663);
+emit_16(1730);
+emit_16(1664);
+emit_16(1730);
+emit_16(1663);
+emit_16(1730);
+emit_16(1664);
+emit_16(1731);
+emit_16(1665);
+emit_16(1731);
+emit_16(1664);
+emit_16(1731);
+emit_16(1665);
+emit_16(1732);
+emit_16(1666);
+emit_16(1732);
+emit_16(1665);
+emit_16(1732);
+emit_16(1666);
+emit_16(1733);
+emit_16(1667);
+emit_16(1733);
+emit_16(1666);
+emit_16(1733);
+emit_16(1667);
+emit_16(1734);
+emit_16(1668);
+emit_16(1734);
+emit_16(1667);
+emit_16(1734);
+emit_16(1668);
+emit_16(1735);
+emit_16(1669);
+emit_16(1735);
+emit_16(1668);
+emit_16(1735);
+emit_16(1669);
+emit_16(1736);
+emit_16(1670);
+emit_16(1736);
+emit_16(1669);
+emit_16(1736);
+emit_16(1670);
+emit_16(1737);
+emit_16(1671);
+emit_16(1737);
+emit_16(1670);
+emit_16(1737);
+emit_16(1671);
+emit_16(1738);
+emit_16(1672);
+emit_16(1738);
+emit_16(1671);
+emit_16(1738);
+emit_16(1672);
+emit_16(1739);
+emit_16(1673);
+emit_16(1739);
+emit_16(1672);
+emit_16(1739);
+emit_16(1673);
+emit_16(1740);
+emit_16(1674);
+emit_16(1740);
+emit_16(1673);
+emit_16(1740);
+emit_16(1674);
+emit_16(1741);
+emit_16(1675);
+emit_16(1741);
+emit_16(1674);
+emit_16(1741);
+emit_16(1675);
+emit_16(1742);
+emit_16(1676);
+emit_16(1742);
+emit_16(1675);
+emit_16(1742);
+emit_16(1676);
+emit_16(1743);
+emit_16(1677);
+emit_16(1743);
+emit_16(1676);
+emit_16(1743);
+emit_16(1677);
+emit_16(1744);
+emit_16(1678);
+emit_16(1744);
+emit_16(1677);
+emit_16(1744);
+emit_16(1678);
+emit_16(1745);
+emit_16(1679);
+emit_16(1745);
+emit_16(1678);
+emit_16(1745);
+emit_16(1679);
+emit_16(1746);
+emit_16(1680);
+emit_16(1746);
+emit_16(1679);
+emit_16(1746);
+emit_16(1680);
+emit_16(1747);
+emit_16(1681);
+emit_16(1747);
+emit_16(1680);
+emit_16(1747);
+emit_16(1681);
+emit_16(1748);
+emit_16(1682);
+emit_16(1748);
+emit_16(1681);
+emit_16(1748);
+emit_16(1682);
+emit_16(1749);
+emit_16(1683);
+emit_16(1749);
+emit_16(1682);
+emit_16(1749);
+emit_16(1683);
+emit_16(1750);
+emit_16(1684);
+emit_16(1750);
+emit_16(1683);
+emit_16(1750);
+emit_16(1684);
+emit_16(1751);
+emit_16(1685);
+emit_16(1751);
+emit_16(1684);
+emit_16(1751);
+emit_16(1685);
+emit_16(1752);
+emit_16(1686);
+emit_16(1752);
+emit_16(1685);
+emit_16(1752);
+emit_16(1686);
+emit_16(1753);
+emit_16(1687);
+emit_16(1753);
+emit_16(1686);
+emit_16(1753);
+emit_16(1687);
+emit_16(1754);
+emit_16(1688);
+emit_16(1754);
+emit_16(1687);
+emit_16(1754);
+emit_16(1688);
+emit_16(1755);
+emit_16(1689);
+emit_16(1755);
+emit_16(1688);
+emit_16(1755);
+emit_16(1689);
+emit_16(1756);
+emit_16(1690);
+emit_16(1756);
+emit_16(1689);
+emit_16(1756);
+emit_16(1690);
+emit_16(1757);
+emit_16(1691);
+emit_16(1757);
+emit_16(1690);
+emit_16(1757);
+emit_16(1691);
+emit_16(1758);
+emit_16(1692);
+emit_16(1758);
+emit_16(1691);
+emit_16(1758);
+emit_16(1692);
+emit_16(1759);
+emit_16(1693);
+emit_16(1759);
+emit_16(1692);
+emit_16(1759);
+emit_16(1693);
+emit_16(1760);
+emit_16(1694);
+emit_16(1760);
+emit_16(1693);
+emit_16(1760);
+emit_16(1694);
+emit_16(1761);
+emit_16(1695);
+emit_16(1761);
+emit_16(1694);
+emit_16(1761);
+emit_16(1695);
+emit_16(1762);
+emit_16(1696);
+emit_16(1762);
+emit_16(1695);
+emit_16(1762);
+emit_16(1696);
+emit_16(1763);
+emit_16(1697);
+emit_16(1763);
+emit_16(1696);
+emit_16(1763);
+emit_16(1697);
+emit_16(1764);
+emit_16(1698);
+emit_16(1764);
+emit_16(1697);
+emit_16(1764);
+emit_16(1698);
+emit_16(1765);
+emit_16(1699);
+emit_16(1765);
+emit_16(1698);
+emit_16(1765);
+emit_16(1699);
+emit_16(1766);
+emit_16(1700);
+emit_16(1766);
+emit_16(1699);
+emit_16(1766);
+emit_16(1700);
+emit_16(1767);
+emit_16(1701);
+emit_16(1767);
+emit_16(1700);
+emit_16(1767);
+emit_16(1701);
+emit_16(1768);
+emit_16(1702);
+emit_16(1768);
+emit_16(1701);
+emit_16(1768);
+emit_16(1702);
+emit_16(1769);
+emit_16(1703);
+emit_16(1769);
+emit_16(1702);
+emit_16(1769);
+emit_16(1703);
+emit_16(1770);
+emit_16(1704);
+emit_16(1770);
+emit_16(1703);
+emit_16(1770);
+emit_16(1704);
+emit_16(1771);
+emit_16(1705);
+emit_16(1771);
+emit_16(1704);
+emit_16(1771);
+emit_16(1705);
+emit_16(1772);
+emit_16(1706);
+emit_16(1772);
+emit_16(1705);
+emit_16(1772);
+emit_16(1706);
+emit_16(1773);
+emit_16(1707);
+emit_16(1773);
+emit_16(1706);
+emit_16(1773);
+emit_16(1707);
+emit_16(1774);
+emit_16(1708);
+emit_16(1774);
+emit_16(1707);
+emit_16(1774);
+emit_16(1708);
+emit_16(1775);
+emit_16(1709);
+emit_16(1775);
+emit_16(1708);
+emit_16(1775);
+emit_16(1709);
+emit_16(1776);
+emit_16(1710);
+emit_16(1776);
+emit_16(1709);
+emit_16(1776);
+emit_16(1710);
+emit_16(1777);
+emit_16(1711);
+emit_16(1777);
+emit_16(1710);
+emit_16(1777);
+emit_16(1711);
+emit_16(1778);
+emit_16(1712);
+emit_16(1778);
+emit_16(1711);
+emit_16(1778);
+emit_16(1712);
+emit_16(1779);
+emit_16(1713);
+emit_16(1779);
+emit_16(1712);
+emit_16(1779);
+emit_16(1713);
+emit_16(1780);
+emit_16(1714);
+emit_16(1780);
+emit_16(1713);
+emit_16(1780);
+emit_16(1714);
+emit_16(1781);
+emit_16(1715);
+emit_16(1781);
+emit_16(1714);
+emit_16(1782);
+emit_16(1716);
+emit_16(1783);
+emit_16(1717);
+emit_16(1783);
+emit_16(1716);
+emit_16(1783);
+emit_16(1717);
+emit_16(1784);
+emit_16(1718);
+emit_16(1784);
+emit_16(1717);
+emit_16(1784);
+emit_16(1718);
+emit_16(1785);
+emit_16(1719);
+emit_16(1785);
+emit_16(1718);
+emit_16(1785);
+emit_16(1719);
+emit_16(1786);
+emit_16(1720);
+emit_16(1786);
+emit_16(1719);
+emit_16(1786);
+emit_16(1720);
+emit_16(1787);
+emit_16(1721);
+emit_16(1787);
+emit_16(1720);
+emit_16(1787);
+emit_16(1721);
+emit_16(1788);
+emit_16(1722);
+emit_16(1788);
+emit_16(1721);
+emit_16(1788);
+emit_16(1722);
+emit_16(1789);
+emit_16(1723);
+emit_16(1789);
+emit_16(1722);
+emit_16(1789);
+emit_16(1723);
+emit_16(1790);
+emit_16(1724);
+emit_16(1790);
+emit_16(1723);
+emit_16(1790);
+emit_16(1724);
+emit_16(1791);
+emit_16(1725);
+emit_16(1791);
+emit_16(1724);
+emit_16(1791);
+emit_16(1725);
+emit_16(1792);
+emit_16(1726);
+emit_16(1792);
+emit_16(1725);
+emit_16(1792);
+emit_16(1726);
+emit_16(1793);
+emit_16(1727);
+emit_16(1793);
+emit_16(1726);
+emit_16(1793);
+emit_16(1727);
+emit_16(1794);
+emit_16(1728);
+emit_16(1794);
+emit_16(1727);
+emit_16(1794);
+emit_16(1728);
+emit_16(1795);
+emit_16(1729);
+emit_16(1795);
+emit_16(1728);
+emit_16(1795);
+emit_16(1729);
+emit_16(1796);
+emit_16(1730);
+emit_16(1796);
+emit_16(1729);
+emit_16(1796);
+emit_16(1730);
+emit_16(1797);
+emit_16(1731);
+emit_16(1797);
+emit_16(1730);
+emit_16(1797);
+emit_16(1731);
+emit_16(1798);
+emit_16(1732);
+emit_16(1798);
+emit_16(1731);
+emit_16(1798);
+emit_16(1732);
+emit_16(1799);
+emit_16(1733);
+emit_16(1799);
+emit_16(1732);
+emit_16(1799);
+emit_16(1733);
+emit_16(1800);
+emit_16(1734);
+emit_16(1800);
+emit_16(1733);
+emit_16(1800);
+emit_16(1734);
+emit_16(1801);
+emit_16(1735);
+emit_16(1801);
+emit_16(1734);
+emit_16(1801);
+emit_16(1735);
+emit_16(1802);
+emit_16(1736);
+emit_16(1802);
+emit_16(1735);
+emit_16(1802);
+emit_16(1736);
+emit_16(1803);
+emit_16(1737);
+emit_16(1803);
+emit_16(1736);
+emit_16(1803);
+emit_16(1737);
+emit_16(1804);
+emit_16(1738);
+emit_16(1804);
+emit_16(1737);
+emit_16(1804);
+emit_16(1738);
+emit_16(1805);
+emit_16(1739);
+emit_16(1805);
+emit_16(1738);
+emit_16(1805);
+emit_16(1739);
+emit_16(1806);
+emit_16(1740);
+emit_16(1806);
+emit_16(1739);
+emit_16(1806);
+emit_16(1740);
+emit_16(1807);
+emit_16(1741);
+emit_16(1807);
+emit_16(1740);
+emit_16(1807);
+emit_16(1741);
+emit_16(1808);
+emit_16(1742);
+emit_16(1808);
+emit_16(1741);
+emit_16(1808);
+emit_16(1742);
+emit_16(1809);
+emit_16(1743);
+emit_16(1809);
+emit_16(1742);
+emit_16(1809);
+emit_16(1743);
+emit_16(1810);
+emit_16(1744);
+emit_16(1810);
+emit_16(1743);
+emit_16(1810);
+emit_16(1744);
+emit_16(1811);
+emit_16(1745);
+emit_16(1811);
+emit_16(1744);
+emit_16(1811);
+emit_16(1745);
+emit_16(1812);
+emit_16(1746);
+emit_16(1812);
+emit_16(1745);
+emit_16(1812);
+emit_16(1746);
+emit_16(1813);
+emit_16(1747);
+emit_16(1813);
+emit_16(1746);
+emit_16(1813);
+emit_16(1747);
+emit_16(1814);
+emit_16(1748);
+emit_16(1814);
+emit_16(1747);
+emit_16(1814);
+emit_16(1748);
+emit_16(1815);
+emit_16(1749);
+emit_16(1815);
+emit_16(1748);
+emit_16(1815);
+emit_16(1749);
+emit_16(1816);
+emit_16(1750);
+emit_16(1816);
+emit_16(1749);
+emit_16(1816);
+emit_16(1750);
+emit_16(1817);
+emit_16(1751);
+emit_16(1817);
+emit_16(1750);
+emit_16(1817);
+emit_16(1751);
+emit_16(1818);
+emit_16(1752);
+emit_16(1818);
+emit_16(1751);
+emit_16(1818);
+emit_16(1752);
+emit_16(1819);
+emit_16(1753);
+emit_16(1819);
+emit_16(1752);
+emit_16(1819);
+emit_16(1753);
+emit_16(1820);
+emit_16(1754);
+emit_16(1820);
+emit_16(1753);
+emit_16(1820);
+emit_16(1754);
+emit_16(1821);
+emit_16(1755);
+emit_16(1821);
+emit_16(1754);
+emit_16(1821);
+emit_16(1755);
+emit_16(1822);
+emit_16(1756);
+emit_16(1822);
+emit_16(1755);
+emit_16(1822);
+emit_16(1756);
+emit_16(1823);
+emit_16(1757);
+emit_16(1823);
+emit_16(1756);
+emit_16(1823);
+emit_16(1757);
+emit_16(1824);
+emit_16(1758);
+emit_16(1824);
+emit_16(1757);
+emit_16(1824);
+emit_16(1758);
+emit_16(1825);
+emit_16(1759);
+emit_16(1825);
+emit_16(1758);
+emit_16(1825);
+emit_16(1759);
+emit_16(1826);
+emit_16(1760);
+emit_16(1826);
+emit_16(1759);
+emit_16(1826);
+emit_16(1760);
+emit_16(1827);
+emit_16(1761);
+emit_16(1827);
+emit_16(1760);
+emit_16(1827);
+emit_16(1761);
+emit_16(1828);
+emit_16(1762);
+emit_16(1828);
+emit_16(1761);
+emit_16(1828);
+emit_16(1762);
+emit_16(1829);
+emit_16(1763);
+emit_16(1829);
+emit_16(1762);
+emit_16(1829);
+emit_16(1763);
+emit_16(1830);
+emit_16(1764);
+emit_16(1830);
+emit_16(1763);
+emit_16(1830);
+emit_16(1764);
+emit_16(1831);
+emit_16(1765);
+emit_16(1831);
+emit_16(1764);
+emit_16(1831);
+emit_16(1765);
+emit_16(1832);
+emit_16(1766);
+emit_16(1832);
+emit_16(1765);
+emit_16(1832);
+emit_16(1766);
+emit_16(1833);
+emit_16(1767);
+emit_16(1833);
+emit_16(1766);
+emit_16(1833);
+emit_16(1767);
+emit_16(1834);
+emit_16(1768);
+emit_16(1834);
+emit_16(1767);
+emit_16(1834);
+emit_16(1768);
+emit_16(1835);
+emit_16(1769);
+emit_16(1835);
+emit_16(1768);
+emit_16(1835);
+emit_16(1769);
+emit_16(1836);
+emit_16(1770);
+emit_16(1836);
+emit_16(1769);
+emit_16(1836);
+emit_16(1770);
+emit_16(1837);
+emit_16(1771);
+emit_16(1837);
+emit_16(1770);
+emit_16(1837);
+emit_16(1771);
+emit_16(1838);
+emit_16(1772);
+emit_16(1838);
+emit_16(1771);
+emit_16(1838);
+emit_16(1772);
+emit_16(1839);
+emit_16(1773);
+emit_16(1839);
+emit_16(1772);
+emit_16(1839);
+emit_16(1773);
+emit_16(1840);
+emit_16(1774);
+emit_16(1840);
+emit_16(1773);
+emit_16(1840);
+emit_16(1774);
+emit_16(1841);
+emit_16(1775);
+emit_16(1841);
+emit_16(1774);
+emit_16(1841);
+emit_16(1775);
+emit_16(1842);
+emit_16(1776);
+emit_16(1842);
+emit_16(1775);
+emit_16(1842);
+emit_16(1776);
+emit_16(1843);
+emit_16(1777);
+emit_16(1843);
+emit_16(1776);
+emit_16(1843);
+emit_16(1777);
+emit_16(1844);
+emit_16(1778);
+emit_16(1844);
+emit_16(1777);
+emit_16(1844);
+emit_16(1778);
+emit_16(1845);
+emit_16(1779);
+emit_16(1845);
+emit_16(1778);
+emit_16(1845);
+emit_16(1779);
+emit_16(1846);
+emit_16(1780);
+emit_16(1846);
+emit_16(1779);
+emit_16(1846);
+emit_16(1780);
+emit_16(1847);
+emit_16(1781);
+emit_16(1847);
+emit_16(1780);
+emit_16(1848);
+emit_16(1782);
+emit_16(1849);
+emit_16(1783);
+emit_16(1849);
+emit_16(1782);
+emit_16(1849);
+emit_16(1783);
+emit_16(1850);
+emit_16(1784);
+emit_16(1850);
+emit_16(1783);
+emit_16(1850);
+emit_16(1784);
+emit_16(1851);
+emit_16(1785);
+emit_16(1851);
+emit_16(1784);
+emit_16(1851);
+emit_16(1785);
+emit_16(1852);
+emit_16(1786);
+emit_16(1852);
+emit_16(1785);
+emit_16(1852);
+emit_16(1786);
+emit_16(1853);
+emit_16(1787);
+emit_16(1853);
+emit_16(1786);
+emit_16(1853);
+emit_16(1787);
+emit_16(1854);
+emit_16(1788);
+emit_16(1854);
+emit_16(1787);
+emit_16(1854);
+emit_16(1788);
+emit_16(1855);
+emit_16(1789);
+emit_16(1855);
+emit_16(1788);
+emit_16(1855);
+emit_16(1789);
+emit_16(1856);
+emit_16(1790);
+emit_16(1856);
+emit_16(1789);
+emit_16(1856);
+emit_16(1790);
+emit_16(1857);
+emit_16(1791);
+emit_16(1857);
+emit_16(1790);
+emit_16(1857);
+emit_16(1791);
+emit_16(1858);
+emit_16(1792);
+emit_16(1858);
+emit_16(1791);
+emit_16(1858);
+emit_16(1792);
+emit_16(1859);
+emit_16(1793);
+emit_16(1859);
+emit_16(1792);
+emit_16(1859);
+emit_16(1793);
+emit_16(1860);
+emit_16(1794);
+emit_16(1860);
+emit_16(1793);
+emit_16(1860);
+emit_16(1794);
+emit_16(1861);
+emit_16(1795);
+emit_16(1861);
+emit_16(1794);
+emit_16(1861);
+emit_16(1795);
+emit_16(1862);
+emit_16(1796);
+emit_16(1862);
+emit_16(1795);
+emit_16(1862);
+emit_16(1796);
+emit_16(1863);
+emit_16(1797);
+emit_16(1863);
+emit_16(1796);
+emit_16(1863);
+emit_16(1797);
+emit_16(1864);
+emit_16(1798);
+emit_16(1864);
+emit_16(1797);
+emit_16(1864);
+emit_16(1798);
+emit_16(1865);
+emit_16(1799);
+emit_16(1865);
+emit_16(1798);
+emit_16(1865);
+emit_16(1799);
+emit_16(1866);
+emit_16(1800);
+emit_16(1866);
+emit_16(1799);
+emit_16(1866);
+emit_16(1800);
+emit_16(1867);
+emit_16(1801);
+emit_16(1867);
+emit_16(1800);
+emit_16(1867);
+emit_16(1801);
+emit_16(1868);
+emit_16(1802);
+emit_16(1868);
+emit_16(1801);
+emit_16(1868);
+emit_16(1802);
+emit_16(1869);
+emit_16(1803);
+emit_16(1869);
+emit_16(1802);
+emit_16(1869);
+emit_16(1803);
+emit_16(1870);
+emit_16(1804);
+emit_16(1870);
+emit_16(1803);
+emit_16(1870);
+emit_16(1804);
+emit_16(1871);
+emit_16(1805);
+emit_16(1871);
+emit_16(1804);
+emit_16(1871);
+emit_16(1805);
+emit_16(1872);
+emit_16(1806);
+emit_16(1872);
+emit_16(1805);
+emit_16(1872);
+emit_16(1806);
+emit_16(1873);
+emit_16(1807);
+emit_16(1873);
+emit_16(1806);
+emit_16(1873);
+emit_16(1807);
+emit_16(1874);
+emit_16(1808);
+emit_16(1874);
+emit_16(1807);
+emit_16(1874);
+emit_16(1808);
+emit_16(1875);
+emit_16(1809);
+emit_16(1875);
+emit_16(1808);
+emit_16(1875);
+emit_16(1809);
+emit_16(1876);
+emit_16(1810);
+emit_16(1876);
+emit_16(1809);
+emit_16(1876);
+emit_16(1810);
+emit_16(1877);
+emit_16(1811);
+emit_16(1877);
+emit_16(1810);
+emit_16(1877);
+emit_16(1811);
+emit_16(1878);
+emit_16(1812);
+emit_16(1878);
+emit_16(1811);
+emit_16(1878);
+emit_16(1812);
+emit_16(1879);
+emit_16(1813);
+emit_16(1879);
+emit_16(1812);
+emit_16(1879);
+emit_16(1813);
+emit_16(1880);
+emit_16(1814);
+emit_16(1880);
+emit_16(1813);
+emit_16(1880);
+emit_16(1814);
+emit_16(1881);
+emit_16(1815);
+emit_16(1881);
+emit_16(1814);
+emit_16(1881);
+emit_16(1815);
+emit_16(1882);
+emit_16(1816);
+emit_16(1882);
+emit_16(1815);
+emit_16(1882);
+emit_16(1816);
+emit_16(1883);
+emit_16(1817);
+emit_16(1883);
+emit_16(1816);
+emit_16(1883);
+emit_16(1817);
+emit_16(1884);
+emit_16(1818);
+emit_16(1884);
+emit_16(1817);
+emit_16(1884);
+emit_16(1818);
+emit_16(1885);
+emit_16(1819);
+emit_16(1885);
+emit_16(1818);
+emit_16(1885);
+emit_16(1819);
+emit_16(1886);
+emit_16(1820);
+emit_16(1886);
+emit_16(1819);
+emit_16(1886);
+emit_16(1820);
+emit_16(1887);
+emit_16(1821);
+emit_16(1887);
+emit_16(1820);
+emit_16(1887);
+emit_16(1821);
+emit_16(1888);
+emit_16(1822);
+emit_16(1888);
+emit_16(1821);
+emit_16(1888);
+emit_16(1822);
+emit_16(1889);
+emit_16(1823);
+emit_16(1889);
+emit_16(1822);
+emit_16(1889);
+emit_16(1823);
+emit_16(1890);
+emit_16(1824);
+emit_16(1890);
+emit_16(1823);
+emit_16(1890);
+emit_16(1824);
+emit_16(1891);
+emit_16(1825);
+emit_16(1891);
+emit_16(1824);
+emit_16(1891);
+emit_16(1825);
+emit_16(1892);
+emit_16(1826);
+emit_16(1892);
+emit_16(1825);
+emit_16(1892);
+emit_16(1826);
+emit_16(1893);
+emit_16(1827);
+emit_16(1893);
+emit_16(1826);
+emit_16(1893);
+emit_16(1827);
+emit_16(1894);
+emit_16(1828);
+emit_16(1894);
+emit_16(1827);
+emit_16(1894);
+emit_16(1828);
+emit_16(1895);
+emit_16(1829);
+emit_16(1895);
+emit_16(1828);
+emit_16(1895);
+emit_16(1829);
+emit_16(1896);
+emit_16(1830);
+emit_16(1896);
+emit_16(1829);
+emit_16(1896);
+emit_16(1830);
+emit_16(1897);
+emit_16(1831);
+emit_16(1897);
+emit_16(1830);
+emit_16(1897);
+emit_16(1831);
+emit_16(1898);
+emit_16(1832);
+emit_16(1898);
+emit_16(1831);
+emit_16(1898);
+emit_16(1832);
+emit_16(1899);
+emit_16(1833);
+emit_16(1899);
+emit_16(1832);
+emit_16(1899);
+emit_16(1833);
+emit_16(1900);
+emit_16(1834);
+emit_16(1900);
+emit_16(1833);
+emit_16(1900);
+emit_16(1834);
+emit_16(1901);
+emit_16(1835);
+emit_16(1901);
+emit_16(1834);
+emit_16(1901);
+emit_16(1835);
+emit_16(1902);
+emit_16(1836);
+emit_16(1902);
+emit_16(1835);
+emit_16(1902);
+emit_16(1836);
+emit_16(1903);
+emit_16(1837);
+emit_16(1903);
+emit_16(1836);
+emit_16(1903);
+emit_16(1837);
+emit_16(1904);
+emit_16(1838);
+emit_16(1904);
+emit_16(1837);
+emit_16(1904);
+emit_16(1838);
+emit_16(1905);
+emit_16(1839);
+emit_16(1905);
+emit_16(1838);
+emit_16(1905);
+emit_16(1839);
+emit_16(1906);
+emit_16(1840);
+emit_16(1906);
+emit_16(1839);
+emit_16(1906);
+emit_16(1840);
+emit_16(1907);
+emit_16(1841);
+emit_16(1907);
+emit_16(1840);
+emit_16(1907);
+emit_16(1841);
+emit_16(1908);
+emit_16(1842);
+emit_16(1908);
+emit_16(1841);
+emit_16(1908);
+emit_16(1842);
+emit_16(1909);
+emit_16(1843);
+emit_16(1909);
+emit_16(1842);
+emit_16(1909);
+emit_16(1843);
+emit_16(1910);
+emit_16(1844);
+emit_16(1910);
+emit_16(1843);
+emit_16(1910);
+emit_16(1844);
+emit_16(1911);
+emit_16(1845);
+emit_16(1911);
+emit_16(1844);
+emit_16(1911);
+emit_16(1845);
+emit_16(1912);
+emit_16(1846);
+emit_16(1912);
+emit_16(1845);
+emit_16(1912);
+emit_16(1846);
+emit_16(1913);
+emit_16(1847);
+emit_16(1913);
+emit_16(1846);
+emit_16(1914);
+emit_16(1848);
+emit_16(1915);
+emit_16(1849);
+emit_16(1915);
+emit_16(1848);
+emit_16(1915);
+emit_16(1849);
+emit_16(1916);
+emit_16(1850);
+emit_16(1916);
+emit_16(1849);
+emit_16(1916);
+emit_16(1850);
+emit_16(1917);
+emit_16(1851);
+emit_16(1917);
+emit_16(1850);
+emit_16(1917);
+emit_16(1851);
+emit_16(1918);
+emit_16(1852);
+emit_16(1918);
+emit_16(1851);
+emit_16(1918);
+emit_16(1852);
+emit_16(1919);
+emit_16(1853);
+emit_16(1919);
+emit_16(1852);
+emit_16(1919);
+emit_16(1853);
+emit_16(1920);
+emit_16(1854);
+emit_16(1920);
+emit_16(1853);
+emit_16(1920);
+emit_16(1854);
+emit_16(1921);
+emit_16(1855);
+emit_16(1921);
+emit_16(1854);
+emit_16(1921);
+emit_16(1855);
+emit_16(1922);
+emit_16(1856);
+emit_16(1922);
+emit_16(1855);
+emit_16(1922);
+emit_16(1856);
+emit_16(1923);
+emit_16(1857);
+emit_16(1923);
+emit_16(1856);
+emit_16(1923);
+emit_16(1857);
+emit_16(1924);
+emit_16(1858);
+emit_16(1924);
+emit_16(1857);
+emit_16(1924);
+emit_16(1858);
+emit_16(1925);
+emit_16(1859);
+emit_16(1925);
+emit_16(1858);
+emit_16(1925);
+emit_16(1859);
+emit_16(1926);
+emit_16(1860);
+emit_16(1926);
+emit_16(1859);
+emit_16(1926);
+emit_16(1860);
+emit_16(1927);
+emit_16(1861);
+emit_16(1927);
+emit_16(1860);
+emit_16(1927);
+emit_16(1861);
+emit_16(1928);
+emit_16(1862);
+emit_16(1928);
+emit_16(1861);
+emit_16(1928);
+emit_16(1862);
+emit_16(1929);
+emit_16(1863);
+emit_16(1929);
+emit_16(1862);
+emit_16(1929);
+emit_16(1863);
+emit_16(1930);
+emit_16(1864);
+emit_16(1930);
+emit_16(1863);
+emit_16(1930);
+emit_16(1864);
+emit_16(1931);
+emit_16(1865);
+emit_16(1931);
+emit_16(1864);
+emit_16(1931);
+emit_16(1865);
+emit_16(1932);
+emit_16(1866);
+emit_16(1932);
+emit_16(1865);
+emit_16(1932);
+emit_16(1866);
+emit_16(1933);
+emit_16(1867);
+emit_16(1933);
+emit_16(1866);
+emit_16(1933);
+emit_16(1867);
+emit_16(1934);
+emit_16(1868);
+emit_16(1934);
+emit_16(1867);
+emit_16(1934);
+emit_16(1868);
+emit_16(1935);
+emit_16(1869);
+emit_16(1935);
+emit_16(1868);
+emit_16(1935);
+emit_16(1869);
+emit_16(1936);
+emit_16(1870);
+emit_16(1936);
+emit_16(1869);
+emit_16(1936);
+emit_16(1870);
+emit_16(1937);
+emit_16(1871);
+emit_16(1937);
+emit_16(1870);
+emit_16(1937);
+emit_16(1871);
+emit_16(1938);
+emit_16(1872);
+emit_16(1938);
+emit_16(1871);
+emit_16(1938);
+emit_16(1872);
+emit_16(1939);
+emit_16(1873);
+emit_16(1939);
+emit_16(1872);
+emit_16(1939);
+emit_16(1873);
+emit_16(1940);
+emit_16(1874);
+emit_16(1940);
+emit_16(1873);
+emit_16(1940);
+emit_16(1874);
+emit_16(1941);
+emit_16(1875);
+emit_16(1941);
+emit_16(1874);
+emit_16(1941);
+emit_16(1875);
+emit_16(1942);
+emit_16(1876);
+emit_16(1942);
+emit_16(1875);
+emit_16(1942);
+emit_16(1876);
+emit_16(1943);
+emit_16(1877);
+emit_16(1943);
+emit_16(1876);
+emit_16(1943);
+emit_16(1877);
+emit_16(1944);
+emit_16(1878);
+emit_16(1944);
+emit_16(1877);
+emit_16(1944);
+emit_16(1878);
+emit_16(1945);
+emit_16(1879);
+emit_16(1945);
+emit_16(1878);
+emit_16(1945);
+emit_16(1879);
+emit_16(1946);
+emit_16(1880);
+emit_16(1946);
+emit_16(1879);
+emit_16(1946);
+emit_16(1880);
+emit_16(1947);
+emit_16(1881);
+emit_16(1947);
+emit_16(1880);
+emit_16(1947);
+emit_16(1881);
+emit_16(1948);
+emit_16(1882);
+emit_16(1948);
+emit_16(1881);
+emit_16(1948);
+emit_16(1882);
+emit_16(1949);
+emit_16(1883);
+emit_16(1949);
+emit_16(1882);
+emit_16(1949);
+emit_16(1883);
+emit_16(1950);
+emit_16(1884);
+emit_16(1950);
+emit_16(1883);
+emit_16(1950);
+emit_16(1884);
+emit_16(1951);
+emit_16(1885);
+emit_16(1951);
+emit_16(1884);
+emit_16(1951);
+emit_16(1885);
+emit_16(1952);
+emit_16(1886);
+emit_16(1952);
+emit_16(1885);
+emit_16(1952);
+emit_16(1886);
+emit_16(1953);
+emit_16(1887);
+emit_16(1953);
+emit_16(1886);
+emit_16(1953);
+emit_16(1887);
+emit_16(1954);
+emit_16(1888);
+emit_16(1954);
+emit_16(1887);
+emit_16(1954);
+emit_16(1888);
+emit_16(1955);
+emit_16(1889);
+emit_16(1955);
+emit_16(1888);
+emit_16(1955);
+emit_16(1889);
+emit_16(1956);
+emit_16(1890);
+emit_16(1956);
+emit_16(1889);
+emit_16(1956);
+emit_16(1890);
+emit_16(1957);
+emit_16(1891);
+emit_16(1957);
+emit_16(1890);
+emit_16(1957);
+emit_16(1891);
+emit_16(1958);
+emit_16(1892);
+emit_16(1958);
+emit_16(1891);
+emit_16(1958);
+emit_16(1892);
+emit_16(1959);
+emit_16(1893);
+emit_16(1959);
+emit_16(1892);
+emit_16(1959);
+emit_16(1893);
+emit_16(1960);
+emit_16(1894);
+emit_16(1960);
+emit_16(1893);
+emit_16(1960);
+emit_16(1894);
+emit_16(1961);
+emit_16(1895);
+emit_16(1961);
+emit_16(1894);
+emit_16(1961);
+emit_16(1895);
+emit_16(1962);
+emit_16(1896);
+emit_16(1962);
+emit_16(1895);
+emit_16(1962);
+emit_16(1896);
+emit_16(1963);
+emit_16(1897);
+emit_16(1963);
+emit_16(1896);
+emit_16(1963);
+emit_16(1897);
+emit_16(1964);
+emit_16(1898);
+emit_16(1964);
+emit_16(1897);
+emit_16(1964);
+emit_16(1898);
+emit_16(1965);
+emit_16(1899);
+emit_16(1965);
+emit_16(1898);
+emit_16(1965);
+emit_16(1899);
+emit_16(1966);
+emit_16(1900);
+emit_16(1966);
+emit_16(1899);
+emit_16(1966);
+emit_16(1900);
+emit_16(1967);
+emit_16(1901);
+emit_16(1967);
+emit_16(1900);
+emit_16(1967);
+emit_16(1901);
+emit_16(1968);
+emit_16(1902);
+emit_16(1968);
+emit_16(1901);
+emit_16(1968);
+emit_16(1902);
+emit_16(1969);
+emit_16(1903);
+emit_16(1969);
+emit_16(1902);
+emit_16(1969);
+emit_16(1903);
+emit_16(1970);
+emit_16(1904);
+emit_16(1970);
+emit_16(1903);
+emit_16(1970);
+emit_16(1904);
+emit_16(1971);
+emit_16(1905);
+emit_16(1971);
+emit_16(1904);
+emit_16(1971);
+emit_16(1905);
+emit_16(1972);
+emit_16(1906);
+emit_16(1972);
+emit_16(1905);
+emit_16(1972);
+emit_16(1906);
+emit_16(1973);
+emit_16(1907);
+emit_16(1973);
+emit_16(1906);
+emit_16(1973);
+emit_16(1907);
+emit_16(1974);
+emit_16(1908);
+emit_16(1974);
+emit_16(1907);
+emit_16(1974);
+emit_16(1908);
+emit_16(1975);
+emit_16(1909);
+emit_16(1975);
+emit_16(1908);
+emit_16(1975);
+emit_16(1909);
+emit_16(1976);
+emit_16(1910);
+emit_16(1976);
+emit_16(1909);
+emit_16(1976);
+emit_16(1910);
+emit_16(1977);
+emit_16(1911);
+emit_16(1977);
+emit_16(1910);
+emit_16(1977);
+emit_16(1911);
+emit_16(1978);
+emit_16(1912);
+emit_16(1978);
+emit_16(1911);
+emit_16(1978);
+emit_16(1912);
+emit_16(1979);
+emit_16(1913);
+emit_16(1979);
+emit_16(1912);
+emit_16(1980);
+emit_16(1914);
+emit_16(1981);
+emit_16(1915);
+emit_16(1981);
+emit_16(1914);
+emit_16(1981);
+emit_16(1915);
+emit_16(1982);
+emit_16(1916);
+emit_16(1982);
+emit_16(1915);
+emit_16(1982);
+emit_16(1916);
+emit_16(1983);
+emit_16(1917);
+emit_16(1983);
+emit_16(1916);
+emit_16(1983);
+emit_16(1917);
+emit_16(1984);
+emit_16(1918);
+emit_16(1984);
+emit_16(1917);
+emit_16(1984);
+emit_16(1918);
+emit_16(1985);
+emit_16(1919);
+emit_16(1985);
+emit_16(1918);
+emit_16(1985);
+emit_16(1919);
+emit_16(1986);
+emit_16(1920);
+emit_16(1986);
+emit_16(1919);
+emit_16(1986);
+emit_16(1920);
+emit_16(1987);
+emit_16(1921);
+emit_16(1987);
+emit_16(1920);
+emit_16(1987);
+emit_16(1921);
+emit_16(1988);
+emit_16(1922);
+emit_16(1988);
+emit_16(1921);
+emit_16(1988);
+emit_16(1922);
+emit_16(1989);
+emit_16(1923);
+emit_16(1989);
+emit_16(1922);
+emit_16(1989);
+emit_16(1923);
+emit_16(1990);
+emit_16(1924);
+emit_16(1990);
+emit_16(1923);
+emit_16(1990);
+emit_16(1924);
+emit_16(1991);
+emit_16(1925);
+emit_16(1991);
+emit_16(1924);
+emit_16(1991);
+emit_16(1925);
+emit_16(1992);
+emit_16(1926);
+emit_16(1992);
+emit_16(1925);
+emit_16(1992);
+emit_16(1926);
+emit_16(1993);
+emit_16(1927);
+emit_16(1993);
+emit_16(1926);
+emit_16(1993);
+emit_16(1927);
+emit_16(1994);
+emit_16(1928);
+emit_16(1994);
+emit_16(1927);
+emit_16(1994);
+emit_16(1928);
+emit_16(1995);
+emit_16(1929);
+emit_16(1995);
+emit_16(1928);
+emit_16(1995);
+emit_16(1929);
+emit_16(1996);
+emit_16(1930);
+emit_16(1996);
+emit_16(1929);
+emit_16(1996);
+emit_16(1930);
+emit_16(1997);
+emit_16(1931);
+emit_16(1997);
+emit_16(1930);
+emit_16(1997);
+emit_16(1931);
+emit_16(1998);
+emit_16(1932);
+emit_16(1998);
+emit_16(1931);
+emit_16(1998);
+emit_16(1932);
+emit_16(1999);
+emit_16(1933);
+emit_16(1999);
+emit_16(1932);
+emit_16(1999);
+emit_16(1933);
+emit_16(2000);
+emit_16(1934);
+emit_16(2000);
+emit_16(1933);
+emit_16(2000);
+emit_16(1934);
+emit_16(2001);
+emit_16(1935);
+emit_16(2001);
+emit_16(1934);
+emit_16(2001);
+emit_16(1935);
+emit_16(2002);
+emit_16(1936);
+emit_16(2002);
+emit_16(1935);
+emit_16(2002);
+emit_16(1936);
+emit_16(2003);
+emit_16(1937);
+emit_16(2003);
+emit_16(1936);
+emit_16(2003);
+emit_16(1937);
+emit_16(2004);
+emit_16(1938);
+emit_16(2004);
+emit_16(1937);
+emit_16(2004);
+emit_16(1938);
+emit_16(2005);
+emit_16(1939);
+emit_16(2005);
+emit_16(1938);
+emit_16(2005);
+emit_16(1939);
+emit_16(2006);
+emit_16(1940);
+emit_16(2006);
+emit_16(1939);
+emit_16(2006);
+emit_16(1940);
+emit_16(2007);
+emit_16(1941);
+emit_16(2007);
+emit_16(1940);
+emit_16(2007);
+emit_16(1941);
+emit_16(2008);
+emit_16(1942);
+emit_16(2008);
+emit_16(1941);
+emit_16(2008);
+emit_16(1942);
+emit_16(2009);
+emit_16(1943);
+emit_16(2009);
+emit_16(1942);
+emit_16(2009);
+emit_16(1943);
+emit_16(2010);
+emit_16(1944);
+emit_16(2010);
+emit_16(1943);
+emit_16(2010);
+emit_16(1944);
+emit_16(2011);
+emit_16(1945);
+emit_16(2011);
+emit_16(1944);
+emit_16(2011);
+emit_16(1945);
+emit_16(2012);
+emit_16(1946);
+emit_16(2012);
+emit_16(1945);
+emit_16(2012);
+emit_16(1946);
+emit_16(2013);
+emit_16(1947);
+emit_16(2013);
+emit_16(1946);
+emit_16(2013);
+emit_16(1947);
+emit_16(2014);
+emit_16(1948);
+emit_16(2014);
+emit_16(1947);
+emit_16(2014);
+emit_16(1948);
+emit_16(2015);
+emit_16(1949);
+emit_16(2015);
+emit_16(1948);
+emit_16(2015);
+emit_16(1949);
+emit_16(2016);
+emit_16(1950);
+emit_16(2016);
+emit_16(1949);
+emit_16(2016);
+emit_16(1950);
+emit_16(2017);
+emit_16(1951);
+emit_16(2017);
+emit_16(1950);
+emit_16(2017);
+emit_16(1951);
+emit_16(2018);
+emit_16(1952);
+emit_16(2018);
+emit_16(1951);
+emit_16(2018);
+emit_16(1952);
+emit_16(2019);
+emit_16(1953);
+emit_16(2019);
+emit_16(1952);
+emit_16(2019);
+emit_16(1953);
+emit_16(2020);
+emit_16(1954);
+emit_16(2020);
+emit_16(1953);
+emit_16(2020);
+emit_16(1954);
+emit_16(2021);
+emit_16(1955);
+emit_16(2021);
+emit_16(1954);
+emit_16(2021);
+emit_16(1955);
+emit_16(2022);
+emit_16(1956);
+emit_16(2022);
+emit_16(1955);
+emit_16(2022);
+emit_16(1956);
+emit_16(2023);
+emit_16(1957);
+emit_16(2023);
+emit_16(1956);
+emit_16(2023);
+emit_16(1957);
+emit_16(2024);
+emit_16(1958);
+emit_16(2024);
+emit_16(1957);
+emit_16(2024);
+emit_16(1958);
+emit_16(2025);
+emit_16(1959);
+emit_16(2025);
+emit_16(1958);
+emit_16(2025);
+emit_16(1959);
+emit_16(2026);
+emit_16(1960);
+emit_16(2026);
+emit_16(1959);
+emit_16(2026);
+emit_16(1960);
+emit_16(2027);
+emit_16(1961);
+emit_16(2027);
+emit_16(1960);
+emit_16(2027);
+emit_16(1961);
+emit_16(2028);
+emit_16(1962);
+emit_16(2028);
+emit_16(1961);
+emit_16(2028);
+emit_16(1962);
+emit_16(2029);
+emit_16(1963);
+emit_16(2029);
+emit_16(1962);
+emit_16(2029);
+emit_16(1963);
+emit_16(2030);
+emit_16(1964);
+emit_16(2030);
+emit_16(1963);
+emit_16(2030);
+emit_16(1964);
+emit_16(2031);
+emit_16(1965);
+emit_16(2031);
+emit_16(1964);
+emit_16(2031);
+emit_16(1965);
+emit_16(2032);
+emit_16(1966);
+emit_16(2032);
+emit_16(1965);
+emit_16(2032);
+emit_16(1966);
+emit_16(2033);
+emit_16(1967);
+emit_16(2033);
+emit_16(1966);
+emit_16(2033);
+emit_16(1967);
+emit_16(2034);
+emit_16(1968);
+emit_16(2034);
+emit_16(1967);
+emit_16(2034);
+emit_16(1968);
+emit_16(2035);
+emit_16(1969);
+emit_16(2035);
+emit_16(1968);
+emit_16(2035);
+emit_16(1969);
+emit_16(2036);
+emit_16(1970);
+emit_16(2036);
+emit_16(1969);
+emit_16(2036);
+emit_16(1970);
+emit_16(2037);
+emit_16(1971);
+emit_16(2037);
+emit_16(1970);
+emit_16(2037);
+emit_16(1971);
+emit_16(2038);
+emit_16(1972);
+emit_16(2038);
+emit_16(1971);
+emit_16(2038);
+emit_16(1972);
+emit_16(2039);
+emit_16(1973);
+emit_16(2039);
+emit_16(1972);
+emit_16(2039);
+emit_16(1973);
+emit_16(2040);
+emit_16(1974);
+emit_16(2040);
+emit_16(1973);
+emit_16(2040);
+emit_16(1974);
+emit_16(2041);
+emit_16(1975);
+emit_16(2041);
+emit_16(1974);
+emit_16(2041);
+emit_16(1975);
+emit_16(2042);
+emit_16(1976);
+emit_16(2042);
+emit_16(1975);
+emit_16(2042);
+emit_16(1976);
+emit_16(2043);
+emit_16(1977);
+emit_16(2043);
+emit_16(1976);
+emit_16(2043);
+emit_16(1977);
+emit_16(2044);
+emit_16(1978);
+emit_16(2044);
+emit_16(1977);
+emit_16(2044);
+emit_16(1978);
+emit_16(2045);
+emit_16(1979);
+emit_16(2045);
+emit_16(1978);
+emit_16(2046);
+emit_16(1980);
+emit_16(2047);
+emit_16(1981);
+emit_16(2047);
+emit_16(1980);
+emit_16(2047);
+emit_16(1981);
+emit_16(2048);
+emit_16(1982);
+emit_16(2048);
+emit_16(1981);
+emit_16(2048);
+emit_16(1982);
+emit_16(2049);
+emit_16(1983);
+emit_16(2049);
+emit_16(1982);
+emit_16(2049);
+emit_16(1983);
+emit_16(2050);
+emit_16(1984);
+emit_16(2050);
+emit_16(1983);
+emit_16(2050);
+emit_16(1984);
+emit_16(2051);
+emit_16(1985);
+emit_16(2051);
+emit_16(1984);
+emit_16(2051);
+emit_16(1985);
+emit_16(2052);
+emit_16(1986);
+emit_16(2052);
+emit_16(1985);
+emit_16(2052);
+emit_16(1986);
+emit_16(2053);
+emit_16(1987);
+emit_16(2053);
+emit_16(1986);
+emit_16(2053);
+emit_16(1987);
+emit_16(2054);
+emit_16(1988);
+emit_16(2054);
+emit_16(1987);
+emit_16(2054);
+emit_16(1988);
+emit_16(2055);
+emit_16(1989);
+emit_16(2055);
+emit_16(1988);
+emit_16(2055);
+emit_16(1989);
+emit_16(2056);
+emit_16(1990);
+emit_16(2056);
+emit_16(1989);
+emit_16(2056);
+emit_16(1990);
+emit_16(2057);
+emit_16(1991);
+emit_16(2057);
+emit_16(1990);
+emit_16(2057);
+emit_16(1991);
+emit_16(2058);
+emit_16(1992);
+emit_16(2058);
+emit_16(1991);
+emit_16(2058);
+emit_16(1992);
+emit_16(2059);
+emit_16(1993);
+emit_16(2059);
+emit_16(1992);
+emit_16(2059);
+emit_16(1993);
+emit_16(2060);
+emit_16(1994);
+emit_16(2060);
+emit_16(1993);
+emit_16(2060);
+emit_16(1994);
+emit_16(2061);
+emit_16(1995);
+emit_16(2061);
+emit_16(1994);
+emit_16(2061);
+emit_16(1995);
+emit_16(2062);
+emit_16(1996);
+emit_16(2062);
+emit_16(1995);
+emit_16(2062);
+emit_16(1996);
+emit_16(2063);
+emit_16(1997);
+emit_16(2063);
+emit_16(1996);
+emit_16(2063);
+emit_16(1997);
+emit_16(2064);
+emit_16(1998);
+emit_16(2064);
+emit_16(1997);
+emit_16(2064);
+emit_16(1998);
+emit_16(2065);
+emit_16(1999);
+emit_16(2065);
+emit_16(1998);
+emit_16(2065);
+emit_16(1999);
+emit_16(2066);
+emit_16(2000);
+emit_16(2066);
+emit_16(1999);
+emit_16(2066);
+emit_16(2000);
+emit_16(2067);
+emit_16(2001);
+emit_16(2067);
+emit_16(2000);
+emit_16(2067);
+emit_16(2001);
+emit_16(2068);
+emit_16(2002);
+emit_16(2068);
+emit_16(2001);
+emit_16(2068);
+emit_16(2002);
+emit_16(2069);
+emit_16(2003);
+emit_16(2069);
+emit_16(2002);
+emit_16(2069);
+emit_16(2003);
+emit_16(2070);
+emit_16(2004);
+emit_16(2070);
+emit_16(2003);
+emit_16(2070);
+emit_16(2004);
+emit_16(2071);
+emit_16(2005);
+emit_16(2071);
+emit_16(2004);
+emit_16(2071);
+emit_16(2005);
+emit_16(2072);
+emit_16(2006);
+emit_16(2072);
+emit_16(2005);
+emit_16(2072);
+emit_16(2006);
+emit_16(2073);
+emit_16(2007);
+emit_16(2073);
+emit_16(2006);
+emit_16(2073);
+emit_16(2007);
+emit_16(2074);
+emit_16(2008);
+emit_16(2074);
+emit_16(2007);
+emit_16(2074);
+emit_16(2008);
+emit_16(2075);
+emit_16(2009);
+emit_16(2075);
+emit_16(2008);
+emit_16(2075);
+emit_16(2009);
+emit_16(2076);
+emit_16(2010);
+emit_16(2076);
+emit_16(2009);
+emit_16(2076);
+emit_16(2010);
+emit_16(2077);
+emit_16(2011);
+emit_16(2077);
+emit_16(2010);
+emit_16(2077);
+emit_16(2011);
+emit_16(2078);
+emit_16(2012);
+emit_16(2078);
+emit_16(2011);
+emit_16(2078);
+emit_16(2012);
+emit_16(2079);
+emit_16(2013);
+emit_16(2079);
+emit_16(2012);
+emit_16(2079);
+emit_16(2013);
+emit_16(2080);
+emit_16(2014);
+emit_16(2080);
+emit_16(2013);
+emit_16(2080);
+emit_16(2014);
+emit_16(2081);
+emit_16(2015);
+emit_16(2081);
+emit_16(2014);
+emit_16(2081);
+emit_16(2015);
+emit_16(2082);
+emit_16(2016);
+emit_16(2082);
+emit_16(2015);
+emit_16(2082);
+emit_16(2016);
+emit_16(2083);
+emit_16(2017);
+emit_16(2083);
+emit_16(2016);
+emit_16(2083);
+emit_16(2017);
+emit_16(2084);
+emit_16(2018);
+emit_16(2084);
+emit_16(2017);
+emit_16(2084);
+emit_16(2018);
+emit_16(2085);
+emit_16(2019);
+emit_16(2085);
+emit_16(2018);
+emit_16(2085);
+emit_16(2019);
+emit_16(2086);
+emit_16(2020);
+emit_16(2086);
+emit_16(2019);
+emit_16(2086);
+emit_16(2020);
+emit_16(2087);
+emit_16(2021);
+emit_16(2087);
+emit_16(2020);
+emit_16(2087);
+emit_16(2021);
+emit_16(2088);
+emit_16(2022);
+emit_16(2088);
+emit_16(2021);
+emit_16(2088);
+emit_16(2022);
+emit_16(2089);
+emit_16(2023);
+emit_16(2089);
+emit_16(2022);
+emit_16(2089);
+emit_16(2023);
+emit_16(2090);
+emit_16(2024);
+emit_16(2090);
+emit_16(2023);
+emit_16(2090);
+emit_16(2024);
+emit_16(2091);
+emit_16(2025);
+emit_16(2091);
+emit_16(2024);
+emit_16(2091);
+emit_16(2025);
+emit_16(2092);
+emit_16(2026);
+emit_16(2092);
+emit_16(2025);
+emit_16(2092);
+emit_16(2026);
+emit_16(2093);
+emit_16(2027);
+emit_16(2093);
+emit_16(2026);
+emit_16(2093);
+emit_16(2027);
+emit_16(2094);
+emit_16(2028);
+emit_16(2094);
+emit_16(2027);
+emit_16(2094);
+emit_16(2028);
+emit_16(2095);
+emit_16(2029);
+emit_16(2095);
+emit_16(2028);
+emit_16(2095);
+emit_16(2029);
+emit_16(2096);
+emit_16(2030);
+emit_16(2096);
+emit_16(2029);
+emit_16(2096);
+emit_16(2030);
+emit_16(2097);
+emit_16(2031);
+emit_16(2097);
+emit_16(2030);
+emit_16(2097);
+emit_16(2031);
+emit_16(2098);
+emit_16(2032);
+emit_16(2098);
+emit_16(2031);
+emit_16(2098);
+emit_16(2032);
+emit_16(2099);
+emit_16(2033);
+emit_16(2099);
+emit_16(2032);
+emit_16(2099);
+emit_16(2033);
+emit_16(2100);
+emit_16(2034);
+emit_16(2100);
+emit_16(2033);
+emit_16(2100);
+emit_16(2034);
+emit_16(2101);
+emit_16(2035);
+emit_16(2101);
+emit_16(2034);
+emit_16(2101);
+emit_16(2035);
+emit_16(2102);
+emit_16(2036);
+emit_16(2102);
+emit_16(2035);
+emit_16(2102);
+emit_16(2036);
+emit_16(2103);
+emit_16(2037);
+emit_16(2103);
+emit_16(2036);
+emit_16(2103);
+emit_16(2037);
+emit_16(2104);
+emit_16(2038);
+emit_16(2104);
+emit_16(2037);
+emit_16(2104);
+emit_16(2038);
+emit_16(2105);
+emit_16(2039);
+emit_16(2105);
+emit_16(2038);
+emit_16(2105);
+emit_16(2039);
+emit_16(2106);
+emit_16(2040);
+emit_16(2106);
+emit_16(2039);
+emit_16(2106);
+emit_16(2040);
+emit_16(2107);
+emit_16(2041);
+emit_16(2107);
+emit_16(2040);
+emit_16(2107);
+emit_16(2041);
+emit_16(2108);
+emit_16(2042);
+emit_16(2108);
+emit_16(2041);
+emit_16(2108);
+emit_16(2042);
+emit_16(2109);
+emit_16(2043);
+emit_16(2109);
+emit_16(2042);
+emit_16(2109);
+emit_16(2043);
+emit_16(2110);
+emit_16(2044);
+emit_16(2110);
+emit_16(2043);
+emit_16(2110);
+emit_16(2044);
+emit_16(2111);
+emit_16(2045);
+emit_16(2111);
+emit_16(2044);
+emit_16(2112);
+emit_16(2046);
+emit_16(2113);
+emit_16(2047);
+emit_16(2113);
+emit_16(2046);
+emit_16(2113);
+emit_16(2047);
+emit_16(2114);
+emit_16(2048);
+emit_16(2114);
+emit_16(2047);
+emit_16(2114);
+emit_16(2048);
+emit_16(2115);
+emit_16(2049);
+emit_16(2115);
+emit_16(2048);
+emit_16(2115);
+emit_16(2049);
+emit_16(2116);
+emit_16(2050);
+emit_16(2116);
+emit_16(2049);
+emit_16(2116);
+emit_16(2050);
+emit_16(2117);
+emit_16(2051);
+emit_16(2117);
+emit_16(2050);
+emit_16(2117);
+emit_16(2051);
+emit_16(2118);
+emit_16(2052);
+emit_16(2118);
+emit_16(2051);
+emit_16(2118);
+emit_16(2052);
+emit_16(2119);
+emit_16(2053);
+emit_16(2119);
+emit_16(2052);
+emit_16(2119);
+emit_16(2053);
+emit_16(2120);
+emit_16(2054);
+emit_16(2120);
+emit_16(2053);
+emit_16(2120);
+emit_16(2054);
+emit_16(2121);
+emit_16(2055);
+emit_16(2121);
+emit_16(2054);
+emit_16(2121);
+emit_16(2055);
+emit_16(2122);
+emit_16(2056);
+emit_16(2122);
+emit_16(2055);
+emit_16(2122);
+emit_16(2056);
+emit_16(2123);
+emit_16(2057);
+emit_16(2123);
+emit_16(2056);
+emit_16(2123);
+emit_16(2057);
+emit_16(2124);
+emit_16(2058);
+emit_16(2124);
+emit_16(2057);
+emit_16(2124);
+emit_16(2058);
+emit_16(2125);
+emit_16(2059);
+emit_16(2125);
+emit_16(2058);
+emit_16(2125);
+emit_16(2059);
+emit_16(2126);
+emit_16(2060);
+emit_16(2126);
+emit_16(2059);
+emit_16(2126);
+emit_16(2060);
+emit_16(2127);
+emit_16(2061);
+emit_16(2127);
+emit_16(2060);
+emit_16(2127);
+emit_16(2061);
+emit_16(2128);
+emit_16(2062);
+emit_16(2128);
+emit_16(2061);
+emit_16(2128);
+emit_16(2062);
+emit_16(2129);
+emit_16(2063);
+emit_16(2129);
+emit_16(2062);
+emit_16(2129);
+emit_16(2063);
+emit_16(2130);
+emit_16(2064);
+emit_16(2130);
+emit_16(2063);
+emit_16(2130);
+emit_16(2064);
+emit_16(2131);
+emit_16(2065);
+emit_16(2131);
+emit_16(2064);
+emit_16(2131);
+emit_16(2065);
+emit_16(2132);
+emit_16(2066);
+emit_16(2132);
+emit_16(2065);
+emit_16(2132);
+emit_16(2066);
+emit_16(2133);
+emit_16(2067);
+emit_16(2133);
+emit_16(2066);
+emit_16(2133);
+emit_16(2067);
+emit_16(2134);
+emit_16(2068);
+emit_16(2134);
+emit_16(2067);
+emit_16(2134);
+emit_16(2068);
+emit_16(2135);
+emit_16(2069);
+emit_16(2135);
+emit_16(2068);
+emit_16(2135);
+emit_16(2069);
+emit_16(2136);
+emit_16(2070);
+emit_16(2136);
+emit_16(2069);
+emit_16(2136);
+emit_16(2070);
+emit_16(2137);
+emit_16(2071);
+emit_16(2137);
+emit_16(2070);
+emit_16(2137);
+emit_16(2071);
+emit_16(2138);
+emit_16(2072);
+emit_16(2138);
+emit_16(2071);
+emit_16(2138);
+emit_16(2072);
+emit_16(2139);
+emit_16(2073);
+emit_16(2139);
+emit_16(2072);
+emit_16(2139);
+emit_16(2073);
+emit_16(2140);
+emit_16(2074);
+emit_16(2140);
+emit_16(2073);
+emit_16(2140);
+emit_16(2074);
+emit_16(2141);
+emit_16(2075);
+emit_16(2141);
+emit_16(2074);
+emit_16(2141);
+emit_16(2075);
+emit_16(2142);
+emit_16(2076);
+emit_16(2142);
+emit_16(2075);
+emit_16(2142);
+emit_16(2076);
+emit_16(2143);
+emit_16(2077);
+emit_16(2143);
+emit_16(2076);
+emit_16(2143);
+emit_16(2077);
+emit_16(2144);
+emit_16(2078);
+emit_16(2144);
+emit_16(2077);
+emit_16(2144);
+emit_16(2078);
+emit_16(2145);
+emit_16(2079);
+emit_16(2145);
+emit_16(2078);
+emit_16(2145);
+emit_16(2079);
+emit_16(2146);
+emit_16(2080);
+emit_16(2146);
+emit_16(2079);
+emit_16(2146);
+emit_16(2080);
+emit_16(2147);
+emit_16(2081);
+emit_16(2147);
+emit_16(2080);
+emit_16(2147);
+emit_16(2081);
+emit_16(2148);
+emit_16(2082);
+emit_16(2148);
+emit_16(2081);
+emit_16(2148);
+emit_16(2082);
+emit_16(2149);
+emit_16(2083);
+emit_16(2149);
+emit_16(2082);
+emit_16(2149);
+emit_16(2083);
+emit_16(2150);
+emit_16(2084);
+emit_16(2150);
+emit_16(2083);
+emit_16(2150);
+emit_16(2084);
+emit_16(2151);
+emit_16(2085);
+emit_16(2151);
+emit_16(2084);
+emit_16(2151);
+emit_16(2085);
+emit_16(2152);
+emit_16(2086);
+emit_16(2152);
+emit_16(2085);
+emit_16(2152);
+emit_16(2086);
+emit_16(2153);
+emit_16(2087);
+emit_16(2153);
+emit_16(2086);
+emit_16(2153);
+emit_16(2087);
+emit_16(2154);
+emit_16(2088);
+emit_16(2154);
+emit_16(2087);
+emit_16(2154);
+emit_16(2088);
+emit_16(2155);
+emit_16(2089);
+emit_16(2155);
+emit_16(2088);
+emit_16(2155);
+emit_16(2089);
+emit_16(2156);
+emit_16(2090);
+emit_16(2156);
+emit_16(2089);
+emit_16(2156);
+emit_16(2090);
+emit_16(2157);
+emit_16(2091);
+emit_16(2157);
+emit_16(2090);
+emit_16(2157);
+emit_16(2091);
+emit_16(2158);
+emit_16(2092);
+emit_16(2158);
+emit_16(2091);
+emit_16(2158);
+emit_16(2092);
+emit_16(2159);
+emit_16(2093);
+emit_16(2159);
+emit_16(2092);
+emit_16(2159);
+emit_16(2093);
+emit_16(2160);
+emit_16(2094);
+emit_16(2160);
+emit_16(2093);
+emit_16(2160);
+emit_16(2094);
+emit_16(2161);
+emit_16(2095);
+emit_16(2161);
+emit_16(2094);
+emit_16(2161);
+emit_16(2095);
+emit_16(2162);
+emit_16(2096);
+emit_16(2162);
+emit_16(2095);
+emit_16(2162);
+emit_16(2096);
+emit_16(2163);
+emit_16(2097);
+emit_16(2163);
+emit_16(2096);
+emit_16(2163);
+emit_16(2097);
+emit_16(2164);
+emit_16(2098);
+emit_16(2164);
+emit_16(2097);
+emit_16(2164);
+emit_16(2098);
+emit_16(2165);
+emit_16(2099);
+emit_16(2165);
+emit_16(2098);
+emit_16(2165);
+emit_16(2099);
+emit_16(2166);
+emit_16(2100);
+emit_16(2166);
+emit_16(2099);
+emit_16(2166);
+emit_16(2100);
+emit_16(2167);
+emit_16(2101);
+emit_16(2167);
+emit_16(2100);
+emit_16(2167);
+emit_16(2101);
+emit_16(2168);
+emit_16(2102);
+emit_16(2168);
+emit_16(2101);
+emit_16(2168);
+emit_16(2102);
+emit_16(2169);
+emit_16(2103);
+emit_16(2169);
+emit_16(2102);
+emit_16(2169);
+emit_16(2103);
+emit_16(2170);
+emit_16(2104);
+emit_16(2170);
+emit_16(2103);
+emit_16(2170);
+emit_16(2104);
+emit_16(2171);
+emit_16(2105);
+emit_16(2171);
+emit_16(2104);
+emit_16(2171);
+emit_16(2105);
+emit_16(2172);
+emit_16(2106);
+emit_16(2172);
+emit_16(2105);
+emit_16(2172);
+emit_16(2106);
+emit_16(2173);
+emit_16(2107);
+emit_16(2173);
+emit_16(2106);
+emit_16(2173);
+emit_16(2107);
+emit_16(2174);
+emit_16(2108);
+emit_16(2174);
+emit_16(2107);
+emit_16(2174);
+emit_16(2108);
+emit_16(2175);
+emit_16(2109);
+emit_16(2175);
+emit_16(2108);
+emit_16(2175);
+emit_16(2109);
+emit_16(2176);
+emit_16(2110);
+emit_16(2176);
+emit_16(2109);
+emit_16(2176);
+emit_16(2110);
+emit_16(2177);
+emit_16(2111);
+emit_16(2177);
+emit_16(2110);
+emit_16(2178);
+emit_16(2112);
+emit_16(2179);
+emit_16(2113);
+emit_16(2179);
+emit_16(2112);
+emit_16(2179);
+emit_16(2113);
+emit_16(2180);
+emit_16(2114);
+emit_16(2180);
+emit_16(2113);
+emit_16(2180);
+emit_16(2114);
+emit_16(2181);
+emit_16(2115);
+emit_16(2181);
+emit_16(2114);
+emit_16(2181);
+emit_16(2115);
+emit_16(2182);
+emit_16(2116);
+emit_16(2182);
+emit_16(2115);
+emit_16(2182);
+emit_16(2116);
+emit_16(2183);
+emit_16(2117);
+emit_16(2183);
+emit_16(2116);
+emit_16(2183);
+emit_16(2117);
+emit_16(2184);
+emit_16(2118);
+emit_16(2184);
+emit_16(2117);
+emit_16(2184);
+emit_16(2118);
+emit_16(2185);
+emit_16(2119);
+emit_16(2185);
+emit_16(2118);
+emit_16(2185);
+emit_16(2119);
+emit_16(2186);
+emit_16(2120);
+emit_16(2186);
+emit_16(2119);
+emit_16(2186);
+emit_16(2120);
+emit_16(2187);
+emit_16(2121);
+emit_16(2187);
+emit_16(2120);
+emit_16(2187);
+emit_16(2121);
+emit_16(2188);
+emit_16(2122);
+emit_16(2188);
+emit_16(2121);
+emit_16(2188);
+emit_16(2122);
+emit_16(2189);
+emit_16(2123);
+emit_16(2189);
+emit_16(2122);
+emit_16(2189);
+emit_16(2123);
+emit_16(2190);
+emit_16(2124);
+emit_16(2190);
+emit_16(2123);
+emit_16(2190);
+emit_16(2124);
+emit_16(2191);
+emit_16(2125);
+emit_16(2191);
+emit_16(2124);
+emit_16(2191);
+emit_16(2125);
+emit_16(2192);
+emit_16(2126);
+emit_16(2192);
+emit_16(2125);
+emit_16(2192);
+emit_16(2126);
+emit_16(2193);
+emit_16(2127);
+emit_16(2193);
+emit_16(2126);
+emit_16(2193);
+emit_16(2127);
+emit_16(2194);
+emit_16(2128);
+emit_16(2194);
+emit_16(2127);
+emit_16(2194);
+emit_16(2128);
+emit_16(2195);
+emit_16(2129);
+emit_16(2195);
+emit_16(2128);
+emit_16(2195);
+emit_16(2129);
+emit_16(2196);
+emit_16(2130);
+emit_16(2196);
+emit_16(2129);
+emit_16(2196);
+emit_16(2130);
+emit_16(2197);
+emit_16(2131);
+emit_16(2197);
+emit_16(2130);
+emit_16(2197);
+emit_16(2131);
+emit_16(2198);
+emit_16(2132);
+emit_16(2198);
+emit_16(2131);
+emit_16(2198);
+emit_16(2132);
+emit_16(2199);
+emit_16(2133);
+emit_16(2199);
+emit_16(2132);
+emit_16(2199);
+emit_16(2133);
+emit_16(2200);
+emit_16(2134);
+emit_16(2200);
+emit_16(2133);
+emit_16(2200);
+emit_16(2134);
+emit_16(2201);
+emit_16(2135);
+emit_16(2201);
+emit_16(2134);
+emit_16(2201);
+emit_16(2135);
+emit_16(2202);
+emit_16(2136);
+emit_16(2202);
+emit_16(2135);
+emit_16(2202);
+emit_16(2136);
+emit_16(2203);
+emit_16(2137);
+emit_16(2203);
+emit_16(2136);
+emit_16(2203);
+emit_16(2137);
+emit_16(2204);
+emit_16(2138);
+emit_16(2204);
+emit_16(2137);
+emit_16(2204);
+emit_16(2138);
+emit_16(2205);
+emit_16(2139);
+emit_16(2205);
+emit_16(2138);
+emit_16(2205);
+emit_16(2139);
+emit_16(2206);
+emit_16(2140);
+emit_16(2206);
+emit_16(2139);
+emit_16(2206);
+emit_16(2140);
+emit_16(2207);
+emit_16(2141);
+emit_16(2207);
+emit_16(2140);
+emit_16(2207);
+emit_16(2141);
+emit_16(2208);
+emit_16(2142);
+emit_16(2208);
+emit_16(2141);
+emit_16(2208);
+emit_16(2142);
+emit_16(2209);
+emit_16(2143);
+emit_16(2209);
+emit_16(2142);
+emit_16(2209);
+emit_16(2143);
+emit_16(2210);
+emit_16(2144);
+emit_16(2210);
+emit_16(2143);
+emit_16(2210);
+emit_16(2144);
+emit_16(2211);
+emit_16(2145);
+emit_16(2211);
+emit_16(2144);
+emit_16(2211);
+emit_16(2145);
+emit_16(2212);
+emit_16(2146);
+emit_16(2212);
+emit_16(2145);
+emit_16(2212);
+emit_16(2146);
+emit_16(2213);
+emit_16(2147);
+emit_16(2213);
+emit_16(2146);
+emit_16(2213);
+emit_16(2147);
+emit_16(2214);
+emit_16(2148);
+emit_16(2214);
+emit_16(2147);
+emit_16(2214);
+emit_16(2148);
+emit_16(2215);
+emit_16(2149);
+emit_16(2215);
+emit_16(2148);
+emit_16(2215);
+emit_16(2149);
+emit_16(2216);
+emit_16(2150);
+emit_16(2216);
+emit_16(2149);
+emit_16(2216);
+emit_16(2150);
+emit_16(2217);
+emit_16(2151);
+emit_16(2217);
+emit_16(2150);
+emit_16(2217);
+emit_16(2151);
+emit_16(2218);
+emit_16(2152);
+emit_16(2218);
+emit_16(2151);
+emit_16(2218);
+emit_16(2152);
+emit_16(2219);
+emit_16(2153);
+emit_16(2219);
+emit_16(2152);
+emit_16(2219);
+emit_16(2153);
+emit_16(2220);
+emit_16(2154);
+emit_16(2220);
+emit_16(2153);
+emit_16(2220);
+emit_16(2154);
+emit_16(2221);
+emit_16(2155);
+emit_16(2221);
+emit_16(2154);
+emit_16(2221);
+emit_16(2155);
+emit_16(2222);
+emit_16(2156);
+emit_16(2222);
+emit_16(2155);
+emit_16(2222);
+emit_16(2156);
+emit_16(2223);
+emit_16(2157);
+emit_16(2223);
+emit_16(2156);
+emit_16(2223);
+emit_16(2157);
+emit_16(2224);
+emit_16(2158);
+emit_16(2224);
+emit_16(2157);
+emit_16(2224);
+emit_16(2158);
+emit_16(2225);
+emit_16(2159);
+emit_16(2225);
+emit_16(2158);
+emit_16(2225);
+emit_16(2159);
+emit_16(2226);
+emit_16(2160);
+emit_16(2226);
+emit_16(2159);
+emit_16(2226);
+emit_16(2160);
+emit_16(2227);
+emit_16(2161);
+emit_16(2227);
+emit_16(2160);
+emit_16(2227);
+emit_16(2161);
+emit_16(2228);
+emit_16(2162);
+emit_16(2228);
+emit_16(2161);
+emit_16(2228);
+emit_16(2162);
+emit_16(2229);
+emit_16(2163);
+emit_16(2229);
+emit_16(2162);
+emit_16(2229);
+emit_16(2163);
+emit_16(2230);
+emit_16(2164);
+emit_16(2230);
+emit_16(2163);
+emit_16(2230);
+emit_16(2164);
+emit_16(2231);
+emit_16(2165);
+emit_16(2231);
+emit_16(2164);
+emit_16(2231);
+emit_16(2165);
+emit_16(2232);
+emit_16(2166);
+emit_16(2232);
+emit_16(2165);
+emit_16(2232);
+emit_16(2166);
+emit_16(2233);
+emit_16(2167);
+emit_16(2233);
+emit_16(2166);
+emit_16(2233);
+emit_16(2167);
+emit_16(2234);
+emit_16(2168);
+emit_16(2234);
+emit_16(2167);
+emit_16(2234);
+emit_16(2168);
+emit_16(2235);
+emit_16(2169);
+emit_16(2235);
+emit_16(2168);
+emit_16(2235);
+emit_16(2169);
+emit_16(2236);
+emit_16(2170);
+emit_16(2236);
+emit_16(2169);
+emit_16(2236);
+emit_16(2170);
+emit_16(2237);
+emit_16(2171);
+emit_16(2237);
+emit_16(2170);
+emit_16(2237);
+emit_16(2171);
+emit_16(2238);
+emit_16(2172);
+emit_16(2238);
+emit_16(2171);
+emit_16(2238);
+emit_16(2172);
+emit_16(2239);
+emit_16(2173);
+emit_16(2239);
+emit_16(2172);
+emit_16(2239);
+emit_16(2173);
+emit_16(2240);
+emit_16(2174);
+emit_16(2240);
+emit_16(2173);
+emit_16(2240);
+emit_16(2174);
+emit_16(2241);
+emit_16(2175);
+emit_16(2241);
+emit_16(2174);
+emit_16(2241);
+emit_16(2175);
+emit_16(2242);
+emit_16(2176);
+emit_16(2242);
+emit_16(2175);
+emit_16(2242);
+emit_16(2176);
+emit_16(2243);
+emit_16(2177);
+emit_16(2243);
+emit_16(2176);
+emit_16(2244);
+emit_16(2178);
+emit_16(2245);
+emit_16(2179);
+emit_16(2245);
+emit_16(2178);
+emit_16(2245);
+emit_16(2179);
+emit_16(2246);
+emit_16(2180);
+emit_16(2246);
+emit_16(2179);
+emit_16(2246);
+emit_16(2180);
+emit_16(2247);
+emit_16(2181);
+emit_16(2247);
+emit_16(2180);
+emit_16(2247);
+emit_16(2181);
+emit_16(2248);
+emit_16(2182);
+emit_16(2248);
+emit_16(2181);
+emit_16(2248);
+emit_16(2182);
+emit_16(2249);
+emit_16(2183);
+emit_16(2249);
+emit_16(2182);
+emit_16(2249);
+emit_16(2183);
+emit_16(2250);
+emit_16(2184);
+emit_16(2250);
+emit_16(2183);
+emit_16(2250);
+emit_16(2184);
+emit_16(2251);
+emit_16(2185);
+emit_16(2251);
+emit_16(2184);
+emit_16(2251);
+emit_16(2185);
+emit_16(2252);
+emit_16(2186);
+emit_16(2252);
+emit_16(2185);
+emit_16(2252);
+emit_16(2186);
+emit_16(2253);
+emit_16(2187);
+emit_16(2253);
+emit_16(2186);
+emit_16(2253);
+emit_16(2187);
+emit_16(2254);
+emit_16(2188);
+emit_16(2254);
+emit_16(2187);
+emit_16(2254);
+emit_16(2188);
+emit_16(2255);
+emit_16(2189);
+emit_16(2255);
+emit_16(2188);
+emit_16(2255);
+emit_16(2189);
+emit_16(2256);
+emit_16(2190);
+emit_16(2256);
+emit_16(2189);
+emit_16(2256);
+emit_16(2190);
+emit_16(2257);
+emit_16(2191);
+emit_16(2257);
+emit_16(2190);
+emit_16(2257);
+emit_16(2191);
+emit_16(2258);
+emit_16(2192);
+emit_16(2258);
+emit_16(2191);
+emit_16(2258);
+emit_16(2192);
+emit_16(2259);
+emit_16(2193);
+emit_16(2259);
+emit_16(2192);
+emit_16(2259);
+emit_16(2193);
+emit_16(2260);
+emit_16(2194);
+emit_16(2260);
+emit_16(2193);
+emit_16(2260);
+emit_16(2194);
+emit_16(2261);
+emit_16(2195);
+emit_16(2261);
+emit_16(2194);
+emit_16(2261);
+emit_16(2195);
+emit_16(2262);
+emit_16(2196);
+emit_16(2262);
+emit_16(2195);
+emit_16(2262);
+emit_16(2196);
+emit_16(2263);
+emit_16(2197);
+emit_16(2263);
+emit_16(2196);
+emit_16(2263);
+emit_16(2197);
+emit_16(2264);
+emit_16(2198);
+emit_16(2264);
+emit_16(2197);
+emit_16(2264);
+emit_16(2198);
+emit_16(2265);
+emit_16(2199);
+emit_16(2265);
+emit_16(2198);
+emit_16(2265);
+emit_16(2199);
+emit_16(2266);
+emit_16(2200);
+emit_16(2266);
+emit_16(2199);
+emit_16(2266);
+emit_16(2200);
+emit_16(2267);
+emit_16(2201);
+emit_16(2267);
+emit_16(2200);
+emit_16(2267);
+emit_16(2201);
+emit_16(2268);
+emit_16(2202);
+emit_16(2268);
+emit_16(2201);
+emit_16(2268);
+emit_16(2202);
+emit_16(2269);
+emit_16(2203);
+emit_16(2269);
+emit_16(2202);
+emit_16(2269);
+emit_16(2203);
+emit_16(2270);
+emit_16(2204);
+emit_16(2270);
+emit_16(2203);
+emit_16(2270);
+emit_16(2204);
+emit_16(2271);
+emit_16(2205);
+emit_16(2271);
+emit_16(2204);
+emit_16(2271);
+emit_16(2205);
+emit_16(2272);
+emit_16(2206);
+emit_16(2272);
+emit_16(2205);
+emit_16(2272);
+emit_16(2206);
+emit_16(2273);
+emit_16(2207);
+emit_16(2273);
+emit_16(2206);
+emit_16(2273);
+emit_16(2207);
+emit_16(2274);
+emit_16(2208);
+emit_16(2274);
+emit_16(2207);
+emit_16(2274);
+emit_16(2208);
+emit_16(2275);
+emit_16(2209);
+emit_16(2275);
+emit_16(2208);
+emit_16(2275);
+emit_16(2209);
+emit_16(2276);
+emit_16(2210);
+emit_16(2276);
+emit_16(2209);
+emit_16(2276);
+emit_16(2210);
+emit_16(2277);
+emit_16(2211);
+emit_16(2277);
+emit_16(2210);
+emit_16(2277);
+emit_16(2211);
+emit_16(2278);
+emit_16(2212);
+emit_16(2278);
+emit_16(2211);
+emit_16(2278);
+emit_16(2212);
+emit_16(2279);
+emit_16(2213);
+emit_16(2279);
+emit_16(2212);
+emit_16(2279);
+emit_16(2213);
+emit_16(2280);
+emit_16(2214);
+emit_16(2280);
+emit_16(2213);
+emit_16(2280);
+emit_16(2214);
+emit_16(2281);
+emit_16(2215);
+emit_16(2281);
+emit_16(2214);
+emit_16(2281);
+emit_16(2215);
+emit_16(2282);
+emit_16(2216);
+emit_16(2282);
+emit_16(2215);
+emit_16(2282);
+emit_16(2216);
+emit_16(2283);
+emit_16(2217);
+emit_16(2283);
+emit_16(2216);
+emit_16(2283);
+emit_16(2217);
+emit_16(2284);
+emit_16(2218);
+emit_16(2284);
+emit_16(2217);
+emit_16(2284);
+emit_16(2218);
+emit_16(2285);
+emit_16(2219);
+emit_16(2285);
+emit_16(2218);
+emit_16(2285);
+emit_16(2219);
+emit_16(2286);
+emit_16(2220);
+emit_16(2286);
+emit_16(2219);
+emit_16(2286);
+emit_16(2220);
+emit_16(2287);
+emit_16(2221);
+emit_16(2287);
+emit_16(2220);
+emit_16(2287);
+emit_16(2221);
+emit_16(2288);
+emit_16(2222);
+emit_16(2288);
+emit_16(2221);
+emit_16(2288);
+emit_16(2222);
+emit_16(2289);
+emit_16(2223);
+emit_16(2289);
+emit_16(2222);
+emit_16(2289);
+emit_16(2223);
+emit_16(2290);
+emit_16(2224);
+emit_16(2290);
+emit_16(2223);
+emit_16(2290);
+emit_16(2224);
+emit_16(2291);
+emit_16(2225);
+emit_16(2291);
+emit_16(2224);
+emit_16(2291);
+emit_16(2225);
+emit_16(2292);
+emit_16(2226);
+emit_16(2292);
+emit_16(2225);
+emit_16(2292);
+emit_16(2226);
+emit_16(2293);
+emit_16(2227);
+emit_16(2293);
+emit_16(2226);
+emit_16(2293);
+emit_16(2227);
+emit_16(2294);
+emit_16(2228);
+emit_16(2294);
+emit_16(2227);
+emit_16(2294);
+emit_16(2228);
+emit_16(2295);
+emit_16(2229);
+emit_16(2295);
+emit_16(2228);
+emit_16(2295);
+emit_16(2229);
+emit_16(2296);
+emit_16(2230);
+emit_16(2296);
+emit_16(2229);
+emit_16(2296);
+emit_16(2230);
+emit_16(2297);
+emit_16(2231);
+emit_16(2297);
+emit_16(2230);
+emit_16(2297);
+emit_16(2231);
+emit_16(2298);
+emit_16(2232);
+emit_16(2298);
+emit_16(2231);
+emit_16(2298);
+emit_16(2232);
+emit_16(2299);
+emit_16(2233);
+emit_16(2299);
+emit_16(2232);
+emit_16(2299);
+emit_16(2233);
+emit_16(2300);
+emit_16(2234);
+emit_16(2300);
+emit_16(2233);
+emit_16(2300);
+emit_16(2234);
+emit_16(2301);
+emit_16(2235);
+emit_16(2301);
+emit_16(2234);
+emit_16(2301);
+emit_16(2235);
+emit_16(2302);
+emit_16(2236);
+emit_16(2302);
+emit_16(2235);
+emit_16(2302);
+emit_16(2236);
+emit_16(2303);
+emit_16(2237);
+emit_16(2303);
+emit_16(2236);
+emit_16(2303);
+emit_16(2237);
+emit_16(2304);
+emit_16(2238);
+emit_16(2304);
+emit_16(2237);
+emit_16(2304);
+emit_16(2238);
+emit_16(2305);
+emit_16(2239);
+emit_16(2305);
+emit_16(2238);
+emit_16(2305);
+emit_16(2239);
+emit_16(2306);
+emit_16(2240);
+emit_16(2306);
+emit_16(2239);
+emit_16(2306);
+emit_16(2240);
+emit_16(2307);
+emit_16(2241);
+emit_16(2307);
+emit_16(2240);
+emit_16(2307);
+emit_16(2241);
+emit_16(2308);
+emit_16(2242);
+emit_16(2308);
+emit_16(2241);
+emit_16(2308);
+emit_16(2242);
+emit_16(2309);
+emit_16(2243);
+emit_16(2309);
+emit_16(2242);
+emit_start(Landscape07Idx)
+emit_16(0);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(2);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(4);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(6);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(8);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(10);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(12);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(14);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(16);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(18);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(20);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(22);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(24);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(26);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(28);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(30);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(32);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(34);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(36);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(38);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(40);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(42);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(44);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(46);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(48);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(50);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(52);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(54);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(56);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(58);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(60);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(62);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(64);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(66);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(68);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(70);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(72);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(74);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(76);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(78);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(80);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(82);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(84);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(86);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(88);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(90);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(92);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(94);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(96);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(98);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(100);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(102);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(104);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(106);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(108);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(110);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(112);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(114);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(116);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(118);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(120);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(122);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(124);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(126);
+emit_16(125);
+emit_16(128);
+emit_16(0);
+emit_16(129);
+emit_16(2);
+emit_16(129);
+emit_16(0);
+emit_16(129);
+emit_16(2);
+emit_16(130);
+emit_16(4);
+emit_16(130);
+emit_16(2);
+emit_16(130);
+emit_16(4);
+emit_16(131);
+emit_16(6);
+emit_16(131);
+emit_16(4);
+emit_16(131);
+emit_16(6);
+emit_16(132);
+emit_16(8);
+emit_16(132);
+emit_16(6);
+emit_16(132);
+emit_16(8);
+emit_16(133);
+emit_16(10);
+emit_16(133);
+emit_16(8);
+emit_16(133);
+emit_16(10);
+emit_16(134);
+emit_16(12);
+emit_16(134);
+emit_16(10);
+emit_16(134);
+emit_16(12);
+emit_16(135);
+emit_16(14);
+emit_16(135);
+emit_16(12);
+emit_16(135);
+emit_16(14);
+emit_16(136);
+emit_16(16);
+emit_16(136);
+emit_16(14);
+emit_16(136);
+emit_16(16);
+emit_16(137);
+emit_16(18);
+emit_16(137);
+emit_16(16);
+emit_16(137);
+emit_16(18);
+emit_16(138);
+emit_16(20);
+emit_16(138);
+emit_16(18);
+emit_16(138);
+emit_16(20);
+emit_16(139);
+emit_16(22);
+emit_16(139);
+emit_16(20);
+emit_16(139);
+emit_16(22);
+emit_16(140);
+emit_16(24);
+emit_16(140);
+emit_16(22);
+emit_16(140);
+emit_16(24);
+emit_16(141);
+emit_16(26);
+emit_16(141);
+emit_16(24);
+emit_16(141);
+emit_16(26);
+emit_16(142);
+emit_16(28);
+emit_16(142);
+emit_16(26);
+emit_16(142);
+emit_16(28);
+emit_16(143);
+emit_16(30);
+emit_16(143);
+emit_16(28);
+emit_16(143);
+emit_16(30);
+emit_16(144);
+emit_16(32);
+emit_16(144);
+emit_16(30);
+emit_16(144);
+emit_16(32);
+emit_16(145);
+emit_16(34);
+emit_16(145);
+emit_16(32);
+emit_16(145);
+emit_16(34);
+emit_16(146);
+emit_16(36);
+emit_16(146);
+emit_16(34);
+emit_16(146);
+emit_16(36);
+emit_16(147);
+emit_16(38);
+emit_16(147);
+emit_16(36);
+emit_16(147);
+emit_16(38);
+emit_16(148);
+emit_16(40);
+emit_16(148);
+emit_16(38);
+emit_16(148);
+emit_16(40);
+emit_16(149);
+emit_16(42);
+emit_16(149);
+emit_16(40);
+emit_16(149);
+emit_16(42);
+emit_16(150);
+emit_16(44);
+emit_16(150);
+emit_16(42);
+emit_16(150);
+emit_16(44);
+emit_16(151);
+emit_16(46);
+emit_16(151);
+emit_16(44);
+emit_16(151);
+emit_16(46);
+emit_16(152);
+emit_16(48);
+emit_16(152);
+emit_16(46);
+emit_16(152);
+emit_16(48);
+emit_16(153);
+emit_16(50);
+emit_16(153);
+emit_16(48);
+emit_16(153);
+emit_16(50);
+emit_16(154);
+emit_16(52);
+emit_16(154);
+emit_16(50);
+emit_16(154);
+emit_16(52);
+emit_16(155);
+emit_16(54);
+emit_16(155);
+emit_16(52);
+emit_16(155);
+emit_16(54);
+emit_16(156);
+emit_16(56);
+emit_16(156);
+emit_16(54);
+emit_16(156);
+emit_16(56);
+emit_16(157);
+emit_16(58);
+emit_16(157);
+emit_16(56);
+emit_16(157);
+emit_16(58);
+emit_16(158);
+emit_16(60);
+emit_16(158);
+emit_16(58);
+emit_16(158);
+emit_16(60);
+emit_16(159);
+emit_16(62);
+emit_16(159);
+emit_16(60);
+emit_16(159);
+emit_16(62);
+emit_16(160);
+emit_16(64);
+emit_16(160);
+emit_16(62);
+emit_16(160);
+emit_16(64);
+emit_16(161);
+emit_16(66);
+emit_16(161);
+emit_16(64);
+emit_16(161);
+emit_16(66);
+emit_16(162);
+emit_16(68);
+emit_16(162);
+emit_16(66);
+emit_16(162);
+emit_16(68);
+emit_16(163);
+emit_16(70);
+emit_16(163);
+emit_16(68);
+emit_16(163);
+emit_16(70);
+emit_16(164);
+emit_16(72);
+emit_16(164);
+emit_16(70);
+emit_16(164);
+emit_16(72);
+emit_16(165);
+emit_16(74);
+emit_16(165);
+emit_16(72);
+emit_16(165);
+emit_16(74);
+emit_16(166);
+emit_16(76);
+emit_16(166);
+emit_16(74);
+emit_16(166);
+emit_16(76);
+emit_16(167);
+emit_16(78);
+emit_16(167);
+emit_16(76);
+emit_16(167);
+emit_16(78);
+emit_16(168);
+emit_16(80);
+emit_16(168);
+emit_16(78);
+emit_16(168);
+emit_16(80);
+emit_16(169);
+emit_16(82);
+emit_16(169);
+emit_16(80);
+emit_16(169);
+emit_16(82);
+emit_16(170);
+emit_16(84);
+emit_16(170);
+emit_16(82);
+emit_16(170);
+emit_16(84);
+emit_16(171);
+emit_16(86);
+emit_16(171);
+emit_16(84);
+emit_16(171);
+emit_16(86);
+emit_16(172);
+emit_16(88);
+emit_16(172);
+emit_16(86);
+emit_16(172);
+emit_16(88);
+emit_16(173);
+emit_16(90);
+emit_16(173);
+emit_16(88);
+emit_16(173);
+emit_16(90);
+emit_16(174);
+emit_16(92);
+emit_16(174);
+emit_16(90);
+emit_16(174);
+emit_16(92);
+emit_16(175);
+emit_16(94);
+emit_16(175);
+emit_16(92);
+emit_16(175);
+emit_16(94);
+emit_16(176);
+emit_16(96);
+emit_16(176);
+emit_16(94);
+emit_16(176);
+emit_16(96);
+emit_16(177);
+emit_16(98);
+emit_16(177);
+emit_16(96);
+emit_16(177);
+emit_16(98);
+emit_16(178);
+emit_16(100);
+emit_16(178);
+emit_16(98);
+emit_16(178);
+emit_16(100);
+emit_16(179);
+emit_16(102);
+emit_16(179);
+emit_16(100);
+emit_16(179);
+emit_16(102);
+emit_16(180);
+emit_16(104);
+emit_16(180);
+emit_16(102);
+emit_16(180);
+emit_16(104);
+emit_16(181);
+emit_16(106);
+emit_16(181);
+emit_16(104);
+emit_16(181);
+emit_16(106);
+emit_16(182);
+emit_16(108);
+emit_16(182);
+emit_16(106);
+emit_16(182);
+emit_16(108);
+emit_16(183);
+emit_16(110);
+emit_16(183);
+emit_16(108);
+emit_16(183);
+emit_16(110);
+emit_16(184);
+emit_16(112);
+emit_16(184);
+emit_16(110);
+emit_16(184);
+emit_16(112);
+emit_16(185);
+emit_16(114);
+emit_16(185);
+emit_16(112);
+emit_16(185);
+emit_16(114);
+emit_16(186);
+emit_16(116);
+emit_16(186);
+emit_16(114);
+emit_16(186);
+emit_16(116);
+emit_16(187);
+emit_16(118);
+emit_16(187);
+emit_16(116);
+emit_16(187);
+emit_16(118);
+emit_16(188);
+emit_16(120);
+emit_16(188);
+emit_16(118);
+emit_16(188);
+emit_16(120);
+emit_16(189);
+emit_16(122);
+emit_16(189);
+emit_16(120);
+emit_16(189);
+emit_16(122);
+emit_16(190);
+emit_16(124);
+emit_16(190);
+emit_16(122);
+emit_16(190);
+emit_16(124);
+emit_16(191);
+emit_16(126);
+emit_16(191);
+emit_16(124);
+emit_16(192);
+emit_16(128);
+emit_16(193);
+emit_16(129);
+emit_16(193);
+emit_16(128);
+emit_16(193);
+emit_16(129);
+emit_16(194);
+emit_16(130);
+emit_16(194);
+emit_16(129);
+emit_16(194);
+emit_16(130);
+emit_16(195);
+emit_16(131);
+emit_16(195);
+emit_16(130);
+emit_16(195);
+emit_16(131);
+emit_16(196);
+emit_16(132);
+emit_16(196);
+emit_16(131);
+emit_16(196);
+emit_16(132);
+emit_16(197);
+emit_16(133);
+emit_16(197);
+emit_16(132);
+emit_16(197);
+emit_16(133);
+emit_16(198);
+emit_16(134);
+emit_16(198);
+emit_16(133);
+emit_16(198);
+emit_16(134);
+emit_16(199);
+emit_16(135);
+emit_16(199);
+emit_16(134);
+emit_16(199);
+emit_16(135);
+emit_16(200);
+emit_16(136);
+emit_16(200);
+emit_16(135);
+emit_16(200);
+emit_16(136);
+emit_16(201);
+emit_16(137);
+emit_16(201);
+emit_16(136);
+emit_16(201);
+emit_16(137);
+emit_16(202);
+emit_16(138);
+emit_16(202);
+emit_16(137);
+emit_16(202);
+emit_16(138);
+emit_16(203);
+emit_16(139);
+emit_16(203);
+emit_16(138);
+emit_16(203);
+emit_16(139);
+emit_16(204);
+emit_16(140);
+emit_16(204);
+emit_16(139);
+emit_16(204);
+emit_16(140);
+emit_16(205);
+emit_16(141);
+emit_16(205);
+emit_16(140);
+emit_16(205);
+emit_16(141);
+emit_16(206);
+emit_16(142);
+emit_16(206);
+emit_16(141);
+emit_16(206);
+emit_16(142);
+emit_16(207);
+emit_16(143);
+emit_16(207);
+emit_16(142);
+emit_16(207);
+emit_16(143);
+emit_16(208);
+emit_16(144);
+emit_16(208);
+emit_16(143);
+emit_16(208);
+emit_16(144);
+emit_16(209);
+emit_16(145);
+emit_16(209);
+emit_16(144);
+emit_16(209);
+emit_16(145);
+emit_16(210);
+emit_16(146);
+emit_16(210);
+emit_16(145);
+emit_16(210);
+emit_16(146);
+emit_16(211);
+emit_16(147);
+emit_16(211);
+emit_16(146);
+emit_16(211);
+emit_16(147);
+emit_16(212);
+emit_16(148);
+emit_16(212);
+emit_16(147);
+emit_16(212);
+emit_16(148);
+emit_16(213);
+emit_16(149);
+emit_16(213);
+emit_16(148);
+emit_16(213);
+emit_16(149);
+emit_16(214);
+emit_16(150);
+emit_16(214);
+emit_16(149);
+emit_16(214);
+emit_16(150);
+emit_16(215);
+emit_16(151);
+emit_16(215);
+emit_16(150);
+emit_16(215);
+emit_16(151);
+emit_16(216);
+emit_16(152);
+emit_16(216);
+emit_16(151);
+emit_16(216);
+emit_16(152);
+emit_16(217);
+emit_16(153);
+emit_16(217);
+emit_16(152);
+emit_16(217);
+emit_16(153);
+emit_16(218);
+emit_16(154);
+emit_16(218);
+emit_16(153);
+emit_16(218);
+emit_16(154);
+emit_16(219);
+emit_16(155);
+emit_16(219);
+emit_16(154);
+emit_16(219);
+emit_16(155);
+emit_16(220);
+emit_16(156);
+emit_16(220);
+emit_16(155);
+emit_16(220);
+emit_16(156);
+emit_16(221);
+emit_16(157);
+emit_16(221);
+emit_16(156);
+emit_16(221);
+emit_16(157);
+emit_16(222);
+emit_16(158);
+emit_16(222);
+emit_16(157);
+emit_16(222);
+emit_16(158);
+emit_16(223);
+emit_16(159);
+emit_16(223);
+emit_16(158);
+emit_16(223);
+emit_16(159);
+emit_16(224);
+emit_16(160);
+emit_16(224);
+emit_16(159);
+emit_16(224);
+emit_16(160);
+emit_16(225);
+emit_16(161);
+emit_16(225);
+emit_16(160);
+emit_16(225);
+emit_16(161);
+emit_16(226);
+emit_16(162);
+emit_16(226);
+emit_16(161);
+emit_16(226);
+emit_16(162);
+emit_16(227);
+emit_16(163);
+emit_16(227);
+emit_16(162);
+emit_16(227);
+emit_16(163);
+emit_16(228);
+emit_16(164);
+emit_16(228);
+emit_16(163);
+emit_16(228);
+emit_16(164);
+emit_16(229);
+emit_16(165);
+emit_16(229);
+emit_16(164);
+emit_16(229);
+emit_16(165);
+emit_16(230);
+emit_16(166);
+emit_16(230);
+emit_16(165);
+emit_16(230);
+emit_16(166);
+emit_16(231);
+emit_16(167);
+emit_16(231);
+emit_16(166);
+emit_16(231);
+emit_16(167);
+emit_16(232);
+emit_16(168);
+emit_16(232);
+emit_16(167);
+emit_16(232);
+emit_16(168);
+emit_16(233);
+emit_16(169);
+emit_16(233);
+emit_16(168);
+emit_16(233);
+emit_16(169);
+emit_16(234);
+emit_16(170);
+emit_16(234);
+emit_16(169);
+emit_16(234);
+emit_16(170);
+emit_16(235);
+emit_16(171);
+emit_16(235);
+emit_16(170);
+emit_16(235);
+emit_16(171);
+emit_16(236);
+emit_16(172);
+emit_16(236);
+emit_16(171);
+emit_16(236);
+emit_16(172);
+emit_16(237);
+emit_16(173);
+emit_16(237);
+emit_16(172);
+emit_16(237);
+emit_16(173);
+emit_16(238);
+emit_16(174);
+emit_16(238);
+emit_16(173);
+emit_16(238);
+emit_16(174);
+emit_16(239);
+emit_16(175);
+emit_16(239);
+emit_16(174);
+emit_16(239);
+emit_16(175);
+emit_16(240);
+emit_16(176);
+emit_16(240);
+emit_16(175);
+emit_16(240);
+emit_16(176);
+emit_16(241);
+emit_16(177);
+emit_16(241);
+emit_16(176);
+emit_16(241);
+emit_16(177);
+emit_16(242);
+emit_16(178);
+emit_16(242);
+emit_16(177);
+emit_16(242);
+emit_16(178);
+emit_16(243);
+emit_16(179);
+emit_16(243);
+emit_16(178);
+emit_16(243);
+emit_16(179);
+emit_16(244);
+emit_16(180);
+emit_16(244);
+emit_16(179);
+emit_16(244);
+emit_16(180);
+emit_16(245);
+emit_16(181);
+emit_16(245);
+emit_16(180);
+emit_16(245);
+emit_16(181);
+emit_16(246);
+emit_16(182);
+emit_16(246);
+emit_16(181);
+emit_16(246);
+emit_16(182);
+emit_16(247);
+emit_16(183);
+emit_16(247);
+emit_16(182);
+emit_16(247);
+emit_16(183);
+emit_16(248);
+emit_16(184);
+emit_16(248);
+emit_16(183);
+emit_16(248);
+emit_16(184);
+emit_16(249);
+emit_16(185);
+emit_16(249);
+emit_16(184);
+emit_16(249);
+emit_16(185);
+emit_16(250);
+emit_16(186);
+emit_16(250);
+emit_16(185);
+emit_16(250);
+emit_16(186);
+emit_16(251);
+emit_16(187);
+emit_16(251);
+emit_16(186);
+emit_16(251);
+emit_16(187);
+emit_16(252);
+emit_16(188);
+emit_16(252);
+emit_16(187);
+emit_16(252);
+emit_16(188);
+emit_16(253);
+emit_16(189);
+emit_16(253);
+emit_16(188);
+emit_16(253);
+emit_16(189);
+emit_16(254);
+emit_16(190);
+emit_16(254);
+emit_16(189);
+emit_16(254);
+emit_16(190);
+emit_16(255);
+emit_16(191);
+emit_16(255);
+emit_16(190);
+emit_16(256);
+emit_16(192);
+emit_16(257);
+emit_16(193);
+emit_16(257);
+emit_16(192);
+emit_16(257);
+emit_16(193);
+emit_16(258);
+emit_16(194);
+emit_16(258);
+emit_16(193);
+emit_16(258);
+emit_16(194);
+emit_16(259);
+emit_16(195);
+emit_16(259);
+emit_16(194);
+emit_16(259);
+emit_16(195);
+emit_16(260);
+emit_16(196);
+emit_16(260);
+emit_16(195);
+emit_16(260);
+emit_16(196);
+emit_16(261);
+emit_16(197);
+emit_16(261);
+emit_16(196);
+emit_16(261);
+emit_16(197);
+emit_16(262);
+emit_16(198);
+emit_16(262);
+emit_16(197);
+emit_16(262);
+emit_16(198);
+emit_16(263);
+emit_16(199);
+emit_16(263);
+emit_16(198);
+emit_16(263);
+emit_16(199);
+emit_16(264);
+emit_16(200);
+emit_16(264);
+emit_16(199);
+emit_16(264);
+emit_16(200);
+emit_16(265);
+emit_16(201);
+emit_16(265);
+emit_16(200);
+emit_16(265);
+emit_16(201);
+emit_16(266);
+emit_16(202);
+emit_16(266);
+emit_16(201);
+emit_16(266);
+emit_16(202);
+emit_16(267);
+emit_16(203);
+emit_16(267);
+emit_16(202);
+emit_16(267);
+emit_16(203);
+emit_16(268);
+emit_16(204);
+emit_16(268);
+emit_16(203);
+emit_16(268);
+emit_16(204);
+emit_16(269);
+emit_16(205);
+emit_16(269);
+emit_16(204);
+emit_16(269);
+emit_16(205);
+emit_16(270);
+emit_16(206);
+emit_16(270);
+emit_16(205);
+emit_16(270);
+emit_16(206);
+emit_16(271);
+emit_16(207);
+emit_16(271);
+emit_16(206);
+emit_16(271);
+emit_16(207);
+emit_16(272);
+emit_16(208);
+emit_16(272);
+emit_16(207);
+emit_16(272);
+emit_16(208);
+emit_16(273);
+emit_16(209);
+emit_16(273);
+emit_16(208);
+emit_16(273);
+emit_16(209);
+emit_16(274);
+emit_16(210);
+emit_16(274);
+emit_16(209);
+emit_16(274);
+emit_16(210);
+emit_16(275);
+emit_16(211);
+emit_16(275);
+emit_16(210);
+emit_16(275);
+emit_16(211);
+emit_16(276);
+emit_16(212);
+emit_16(276);
+emit_16(211);
+emit_16(276);
+emit_16(212);
+emit_16(277);
+emit_16(213);
+emit_16(277);
+emit_16(212);
+emit_16(277);
+emit_16(213);
+emit_16(278);
+emit_16(214);
+emit_16(278);
+emit_16(213);
+emit_16(278);
+emit_16(214);
+emit_16(279);
+emit_16(215);
+emit_16(279);
+emit_16(214);
+emit_16(279);
+emit_16(215);
+emit_16(280);
+emit_16(216);
+emit_16(280);
+emit_16(215);
+emit_16(280);
+emit_16(216);
+emit_16(281);
+emit_16(217);
+emit_16(281);
+emit_16(216);
+emit_16(281);
+emit_16(217);
+emit_16(282);
+emit_16(218);
+emit_16(282);
+emit_16(217);
+emit_16(282);
+emit_16(218);
+emit_16(283);
+emit_16(219);
+emit_16(283);
+emit_16(218);
+emit_16(283);
+emit_16(219);
+emit_16(284);
+emit_16(220);
+emit_16(284);
+emit_16(219);
+emit_16(284);
+emit_16(220);
+emit_16(285);
+emit_16(221);
+emit_16(285);
+emit_16(220);
+emit_16(285);
+emit_16(221);
+emit_16(286);
+emit_16(222);
+emit_16(286);
+emit_16(221);
+emit_16(286);
+emit_16(222);
+emit_16(287);
+emit_16(223);
+emit_16(287);
+emit_16(222);
+emit_16(287);
+emit_16(223);
+emit_16(288);
+emit_16(224);
+emit_16(288);
+emit_16(223);
+emit_16(288);
+emit_16(224);
+emit_16(289);
+emit_16(225);
+emit_16(289);
+emit_16(224);
+emit_16(289);
+emit_16(225);
+emit_16(290);
+emit_16(226);
+emit_16(290);
+emit_16(225);
+emit_16(290);
+emit_16(226);
+emit_16(291);
+emit_16(227);
+emit_16(291);
+emit_16(226);
+emit_16(291);
+emit_16(227);
+emit_16(292);
+emit_16(228);
+emit_16(292);
+emit_16(227);
+emit_16(292);
+emit_16(228);
+emit_16(293);
+emit_16(229);
+emit_16(293);
+emit_16(228);
+emit_16(293);
+emit_16(229);
+emit_16(294);
+emit_16(230);
+emit_16(294);
+emit_16(229);
+emit_16(294);
+emit_16(230);
+emit_16(295);
+emit_16(231);
+emit_16(295);
+emit_16(230);
+emit_16(295);
+emit_16(231);
+emit_16(296);
+emit_16(232);
+emit_16(296);
+emit_16(231);
+emit_16(296);
+emit_16(232);
+emit_16(297);
+emit_16(233);
+emit_16(297);
+emit_16(232);
+emit_16(297);
+emit_16(233);
+emit_16(298);
+emit_16(234);
+emit_16(298);
+emit_16(233);
+emit_16(298);
+emit_16(234);
+emit_16(299);
+emit_16(235);
+emit_16(299);
+emit_16(234);
+emit_16(299);
+emit_16(235);
+emit_16(300);
+emit_16(236);
+emit_16(300);
+emit_16(235);
+emit_16(300);
+emit_16(236);
+emit_16(301);
+emit_16(237);
+emit_16(301);
+emit_16(236);
+emit_16(301);
+emit_16(237);
+emit_16(302);
+emit_16(238);
+emit_16(302);
+emit_16(237);
+emit_16(302);
+emit_16(238);
+emit_16(303);
+emit_16(239);
+emit_16(303);
+emit_16(238);
+emit_16(303);
+emit_16(239);
+emit_16(304);
+emit_16(240);
+emit_16(304);
+emit_16(239);
+emit_16(304);
+emit_16(240);
+emit_16(305);
+emit_16(241);
+emit_16(305);
+emit_16(240);
+emit_16(305);
+emit_16(241);
+emit_16(306);
+emit_16(242);
+emit_16(306);
+emit_16(241);
+emit_16(306);
+emit_16(242);
+emit_16(307);
+emit_16(243);
+emit_16(307);
+emit_16(242);
+emit_16(307);
+emit_16(243);
+emit_16(308);
+emit_16(244);
+emit_16(308);
+emit_16(243);
+emit_16(308);
+emit_16(244);
+emit_16(309);
+emit_16(245);
+emit_16(309);
+emit_16(244);
+emit_16(309);
+emit_16(245);
+emit_16(310);
+emit_16(246);
+emit_16(310);
+emit_16(245);
+emit_16(310);
+emit_16(246);
+emit_16(311);
+emit_16(247);
+emit_16(311);
+emit_16(246);
+emit_16(311);
+emit_16(247);
+emit_16(312);
+emit_16(248);
+emit_16(312);
+emit_16(247);
+emit_16(312);
+emit_16(248);
+emit_16(313);
+emit_16(249);
+emit_16(313);
+emit_16(248);
+emit_16(313);
+emit_16(249);
+emit_16(314);
+emit_16(250);
+emit_16(314);
+emit_16(249);
+emit_16(314);
+emit_16(250);
+emit_16(315);
+emit_16(251);
+emit_16(315);
+emit_16(250);
+emit_16(315);
+emit_16(251);
+emit_16(316);
+emit_16(252);
+emit_16(316);
+emit_16(251);
+emit_16(316);
+emit_16(252);
+emit_16(317);
+emit_16(253);
+emit_16(317);
+emit_16(252);
+emit_16(317);
+emit_16(253);
+emit_16(318);
+emit_16(254);
+emit_16(318);
+emit_16(253);
+emit_16(318);
+emit_16(254);
+emit_16(319);
+emit_16(255);
+emit_16(319);
+emit_16(254);
+emit_16(320);
+emit_16(256);
+emit_16(321);
+emit_16(257);
+emit_16(321);
+emit_16(256);
+emit_16(321);
+emit_16(257);
+emit_16(322);
+emit_16(258);
+emit_16(322);
+emit_16(257);
+emit_16(322);
+emit_16(258);
+emit_16(323);
+emit_16(259);
+emit_16(323);
+emit_16(258);
+emit_16(323);
+emit_16(259);
+emit_16(324);
+emit_16(260);
+emit_16(324);
+emit_16(259);
+emit_16(324);
+emit_16(260);
+emit_16(325);
+emit_16(261);
+emit_16(325);
+emit_16(260);
+emit_16(325);
+emit_16(261);
+emit_16(326);
+emit_16(262);
+emit_16(326);
+emit_16(261);
+emit_16(326);
+emit_16(262);
+emit_16(327);
+emit_16(263);
+emit_16(327);
+emit_16(262);
+emit_16(327);
+emit_16(263);
+emit_16(328);
+emit_16(264);
+emit_16(328);
+emit_16(263);
+emit_16(328);
+emit_16(264);
+emit_16(329);
+emit_16(265);
+emit_16(329);
+emit_16(264);
+emit_16(329);
+emit_16(265);
+emit_16(330);
+emit_16(266);
+emit_16(330);
+emit_16(265);
+emit_16(330);
+emit_16(266);
+emit_16(331);
+emit_16(267);
+emit_16(331);
+emit_16(266);
+emit_16(331);
+emit_16(267);
+emit_16(332);
+emit_16(268);
+emit_16(332);
+emit_16(267);
+emit_16(332);
+emit_16(268);
+emit_16(333);
+emit_16(269);
+emit_16(333);
+emit_16(268);
+emit_16(333);
+emit_16(269);
+emit_16(334);
+emit_16(270);
+emit_16(334);
+emit_16(269);
+emit_16(334);
+emit_16(270);
+emit_16(335);
+emit_16(271);
+emit_16(335);
+emit_16(270);
+emit_16(335);
+emit_16(271);
+emit_16(336);
+emit_16(272);
+emit_16(336);
+emit_16(271);
+emit_16(336);
+emit_16(272);
+emit_16(337);
+emit_16(273);
+emit_16(337);
+emit_16(272);
+emit_16(337);
+emit_16(273);
+emit_16(338);
+emit_16(274);
+emit_16(338);
+emit_16(273);
+emit_16(338);
+emit_16(274);
+emit_16(339);
+emit_16(275);
+emit_16(339);
+emit_16(274);
+emit_16(339);
+emit_16(275);
+emit_16(340);
+emit_16(276);
+emit_16(340);
+emit_16(275);
+emit_16(340);
+emit_16(276);
+emit_16(341);
+emit_16(277);
+emit_16(341);
+emit_16(276);
+emit_16(341);
+emit_16(277);
+emit_16(342);
+emit_16(278);
+emit_16(342);
+emit_16(277);
+emit_16(342);
+emit_16(278);
+emit_16(343);
+emit_16(279);
+emit_16(343);
+emit_16(278);
+emit_16(343);
+emit_16(279);
+emit_16(344);
+emit_16(280);
+emit_16(344);
+emit_16(279);
+emit_16(344);
+emit_16(280);
+emit_16(345);
+emit_16(281);
+emit_16(345);
+emit_16(280);
+emit_16(345);
+emit_16(281);
+emit_16(346);
+emit_16(282);
+emit_16(346);
+emit_16(281);
+emit_16(346);
+emit_16(282);
+emit_16(347);
+emit_16(283);
+emit_16(347);
+emit_16(282);
+emit_16(347);
+emit_16(283);
+emit_16(348);
+emit_16(284);
+emit_16(348);
+emit_16(283);
+emit_16(348);
+emit_16(284);
+emit_16(349);
+emit_16(285);
+emit_16(349);
+emit_16(284);
+emit_16(349);
+emit_16(285);
+emit_16(350);
+emit_16(286);
+emit_16(350);
+emit_16(285);
+emit_16(350);
+emit_16(286);
+emit_16(351);
+emit_16(287);
+emit_16(351);
+emit_16(286);
+emit_16(351);
+emit_16(287);
+emit_16(352);
+emit_16(288);
+emit_16(352);
+emit_16(287);
+emit_16(352);
+emit_16(288);
+emit_16(353);
+emit_16(289);
+emit_16(353);
+emit_16(288);
+emit_16(353);
+emit_16(289);
+emit_16(354);
+emit_16(290);
+emit_16(354);
+emit_16(289);
+emit_16(354);
+emit_16(290);
+emit_16(355);
+emit_16(291);
+emit_16(355);
+emit_16(290);
+emit_16(355);
+emit_16(291);
+emit_16(356);
+emit_16(292);
+emit_16(356);
+emit_16(291);
+emit_16(356);
+emit_16(292);
+emit_16(357);
+emit_16(293);
+emit_16(357);
+emit_16(292);
+emit_16(357);
+emit_16(293);
+emit_16(358);
+emit_16(294);
+emit_16(358);
+emit_16(293);
+emit_16(358);
+emit_16(294);
+emit_16(359);
+emit_16(295);
+emit_16(359);
+emit_16(294);
+emit_16(359);
+emit_16(295);
+emit_16(360);
+emit_16(296);
+emit_16(360);
+emit_16(295);
+emit_16(360);
+emit_16(296);
+emit_16(361);
+emit_16(297);
+emit_16(361);
+emit_16(296);
+emit_16(361);
+emit_16(297);
+emit_16(362);
+emit_16(298);
+emit_16(362);
+emit_16(297);
+emit_16(362);
+emit_16(298);
+emit_16(363);
+emit_16(299);
+emit_16(363);
+emit_16(298);
+emit_16(363);
+emit_16(299);
+emit_16(364);
+emit_16(300);
+emit_16(364);
+emit_16(299);
+emit_16(364);
+emit_16(300);
+emit_16(365);
+emit_16(301);
+emit_16(365);
+emit_16(300);
+emit_16(365);
+emit_16(301);
+emit_16(366);
+emit_16(302);
+emit_16(366);
+emit_16(301);
+emit_16(366);
+emit_16(302);
+emit_16(367);
+emit_16(303);
+emit_16(367);
+emit_16(302);
+emit_16(367);
+emit_16(303);
+emit_16(368);
+emit_16(304);
+emit_16(368);
+emit_16(303);
+emit_16(368);
+emit_16(304);
+emit_16(369);
+emit_16(305);
+emit_16(369);
+emit_16(304);
+emit_16(369);
+emit_16(305);
+emit_16(370);
+emit_16(306);
+emit_16(370);
+emit_16(305);
+emit_16(370);
+emit_16(306);
+emit_16(371);
+emit_16(307);
+emit_16(371);
+emit_16(306);
+emit_16(371);
+emit_16(307);
+emit_16(372);
+emit_16(308);
+emit_16(372);
+emit_16(307);
+emit_16(372);
+emit_16(308);
+emit_16(373);
+emit_16(309);
+emit_16(373);
+emit_16(308);
+emit_16(373);
+emit_16(309);
+emit_16(374);
+emit_16(310);
+emit_16(374);
+emit_16(309);
+emit_16(374);
+emit_16(310);
+emit_16(375);
+emit_16(311);
+emit_16(375);
+emit_16(310);
+emit_16(375);
+emit_16(311);
+emit_16(376);
+emit_16(312);
+emit_16(376);
+emit_16(311);
+emit_16(376);
+emit_16(312);
+emit_16(377);
+emit_16(313);
+emit_16(377);
+emit_16(312);
+emit_16(377);
+emit_16(313);
+emit_16(378);
+emit_16(314);
+emit_16(378);
+emit_16(313);
+emit_16(378);
+emit_16(314);
+emit_16(379);
+emit_16(315);
+emit_16(379);
+emit_16(314);
+emit_16(379);
+emit_16(315);
+emit_16(380);
+emit_16(316);
+emit_16(380);
+emit_16(315);
+emit_16(380);
+emit_16(316);
+emit_16(381);
+emit_16(317);
+emit_16(381);
+emit_16(316);
+emit_16(381);
+emit_16(317);
+emit_16(382);
+emit_16(318);
+emit_16(382);
+emit_16(317);
+emit_16(382);
+emit_16(318);
+emit_16(383);
+emit_16(319);
+emit_16(383);
+emit_16(318);
+emit_16(384);
+emit_16(320);
+emit_16(385);
+emit_16(321);
+emit_16(385);
+emit_16(320);
+emit_16(385);
+emit_16(321);
+emit_16(386);
+emit_16(322);
+emit_16(386);
+emit_16(321);
+emit_16(386);
+emit_16(322);
+emit_16(387);
+emit_16(323);
+emit_16(387);
+emit_16(322);
+emit_16(387);
+emit_16(323);
+emit_16(388);
+emit_16(324);
+emit_16(388);
+emit_16(323);
+emit_16(388);
+emit_16(324);
+emit_16(389);
+emit_16(325);
+emit_16(389);
+emit_16(324);
+emit_16(389);
+emit_16(325);
+emit_16(390);
+emit_16(326);
+emit_16(390);
+emit_16(325);
+emit_16(390);
+emit_16(326);
+emit_16(391);
+emit_16(327);
+emit_16(391);
+emit_16(326);
+emit_16(391);
+emit_16(327);
+emit_16(392);
+emit_16(328);
+emit_16(392);
+emit_16(327);
+emit_16(392);
+emit_16(328);
+emit_16(393);
+emit_16(329);
+emit_16(393);
+emit_16(328);
+emit_16(393);
+emit_16(329);
+emit_16(394);
+emit_16(330);
+emit_16(394);
+emit_16(329);
+emit_16(394);
+emit_16(330);
+emit_16(395);
+emit_16(331);
+emit_16(395);
+emit_16(330);
+emit_16(395);
+emit_16(331);
+emit_16(396);
+emit_16(332);
+emit_16(396);
+emit_16(331);
+emit_16(396);
+emit_16(332);
+emit_16(397);
+emit_16(333);
+emit_16(397);
+emit_16(332);
+emit_16(397);
+emit_16(333);
+emit_16(398);
+emit_16(334);
+emit_16(398);
+emit_16(333);
+emit_16(398);
+emit_16(334);
+emit_16(399);
+emit_16(335);
+emit_16(399);
+emit_16(334);
+emit_16(399);
+emit_16(335);
+emit_16(400);
+emit_16(336);
+emit_16(400);
+emit_16(335);
+emit_16(400);
+emit_16(336);
+emit_16(401);
+emit_16(337);
+emit_16(401);
+emit_16(336);
+emit_16(401);
+emit_16(337);
+emit_16(402);
+emit_16(338);
+emit_16(402);
+emit_16(337);
+emit_16(402);
+emit_16(338);
+emit_16(403);
+emit_16(339);
+emit_16(403);
+emit_16(338);
+emit_16(403);
+emit_16(339);
+emit_16(404);
+emit_16(340);
+emit_16(404);
+emit_16(339);
+emit_16(404);
+emit_16(340);
+emit_16(405);
+emit_16(341);
+emit_16(405);
+emit_16(340);
+emit_16(405);
+emit_16(341);
+emit_16(406);
+emit_16(342);
+emit_16(406);
+emit_16(341);
+emit_16(406);
+emit_16(342);
+emit_16(407);
+emit_16(343);
+emit_16(407);
+emit_16(342);
+emit_16(407);
+emit_16(343);
+emit_16(408);
+emit_16(344);
+emit_16(408);
+emit_16(343);
+emit_16(408);
+emit_16(344);
+emit_16(409);
+emit_16(345);
+emit_16(409);
+emit_16(344);
+emit_16(409);
+emit_16(345);
+emit_16(410);
+emit_16(346);
+emit_16(410);
+emit_16(345);
+emit_16(410);
+emit_16(346);
+emit_16(411);
+emit_16(347);
+emit_16(411);
+emit_16(346);
+emit_16(411);
+emit_16(347);
+emit_16(412);
+emit_16(348);
+emit_16(412);
+emit_16(347);
+emit_16(412);
+emit_16(348);
+emit_16(413);
+emit_16(349);
+emit_16(413);
+emit_16(348);
+emit_16(413);
+emit_16(349);
+emit_16(414);
+emit_16(350);
+emit_16(414);
+emit_16(349);
+emit_16(414);
+emit_16(350);
+emit_16(415);
+emit_16(351);
+emit_16(415);
+emit_16(350);
+emit_16(415);
+emit_16(351);
+emit_16(416);
+emit_16(352);
+emit_16(416);
+emit_16(351);
+emit_16(416);
+emit_16(352);
+emit_16(417);
+emit_16(353);
+emit_16(417);
+emit_16(352);
+emit_16(417);
+emit_16(353);
+emit_16(418);
+emit_16(354);
+emit_16(418);
+emit_16(353);
+emit_16(418);
+emit_16(354);
+emit_16(419);
+emit_16(355);
+emit_16(419);
+emit_16(354);
+emit_16(419);
+emit_16(355);
+emit_16(420);
+emit_16(356);
+emit_16(420);
+emit_16(355);
+emit_16(420);
+emit_16(356);
+emit_16(421);
+emit_16(357);
+emit_16(421);
+emit_16(356);
+emit_16(421);
+emit_16(357);
+emit_16(422);
+emit_16(358);
+emit_16(422);
+emit_16(357);
+emit_16(422);
+emit_16(358);
+emit_16(423);
+emit_16(359);
+emit_16(423);
+emit_16(358);
+emit_16(423);
+emit_16(359);
+emit_16(424);
+emit_16(360);
+emit_16(424);
+emit_16(359);
+emit_16(424);
+emit_16(360);
+emit_16(425);
+emit_16(361);
+emit_16(425);
+emit_16(360);
+emit_16(425);
+emit_16(361);
+emit_16(426);
+emit_16(362);
+emit_16(426);
+emit_16(361);
+emit_16(426);
+emit_16(362);
+emit_16(427);
+emit_16(363);
+emit_16(427);
+emit_16(362);
+emit_16(427);
+emit_16(363);
+emit_16(428);
+emit_16(364);
+emit_16(428);
+emit_16(363);
+emit_16(428);
+emit_16(364);
+emit_16(429);
+emit_16(365);
+emit_16(429);
+emit_16(364);
+emit_16(429);
+emit_16(365);
+emit_16(430);
+emit_16(366);
+emit_16(430);
+emit_16(365);
+emit_16(430);
+emit_16(366);
+emit_16(431);
+emit_16(367);
+emit_16(431);
+emit_16(366);
+emit_16(431);
+emit_16(367);
+emit_16(432);
+emit_16(368);
+emit_16(432);
+emit_16(367);
+emit_16(432);
+emit_16(368);
+emit_16(433);
+emit_16(369);
+emit_16(433);
+emit_16(368);
+emit_16(433);
+emit_16(369);
+emit_16(434);
+emit_16(370);
+emit_16(434);
+emit_16(369);
+emit_16(434);
+emit_16(370);
+emit_16(435);
+emit_16(371);
+emit_16(435);
+emit_16(370);
+emit_16(435);
+emit_16(371);
+emit_16(436);
+emit_16(372);
+emit_16(436);
+emit_16(371);
+emit_16(436);
+emit_16(372);
+emit_16(437);
+emit_16(373);
+emit_16(437);
+emit_16(372);
+emit_16(437);
+emit_16(373);
+emit_16(438);
+emit_16(374);
+emit_16(438);
+emit_16(373);
+emit_16(438);
+emit_16(374);
+emit_16(439);
+emit_16(375);
+emit_16(439);
+emit_16(374);
+emit_16(439);
+emit_16(375);
+emit_16(440);
+emit_16(376);
+emit_16(440);
+emit_16(375);
+emit_16(440);
+emit_16(376);
+emit_16(441);
+emit_16(377);
+emit_16(441);
+emit_16(376);
+emit_16(441);
+emit_16(377);
+emit_16(442);
+emit_16(378);
+emit_16(442);
+emit_16(377);
+emit_16(442);
+emit_16(378);
+emit_16(443);
+emit_16(379);
+emit_16(443);
+emit_16(378);
+emit_16(443);
+emit_16(379);
+emit_16(444);
+emit_16(380);
+emit_16(444);
+emit_16(379);
+emit_16(444);
+emit_16(380);
+emit_16(445);
+emit_16(381);
+emit_16(445);
+emit_16(380);
+emit_16(445);
+emit_16(381);
+emit_16(446);
+emit_16(382);
+emit_16(446);
+emit_16(381);
+emit_16(446);
+emit_16(382);
+emit_16(447);
+emit_16(383);
+emit_16(447);
+emit_16(382);
+emit_16(448);
+emit_16(384);
+emit_16(449);
+emit_16(385);
+emit_16(449);
+emit_16(384);
+emit_16(449);
+emit_16(385);
+emit_16(450);
+emit_16(386);
+emit_16(450);
+emit_16(385);
+emit_16(450);
+emit_16(386);
+emit_16(451);
+emit_16(387);
+emit_16(451);
+emit_16(386);
+emit_16(451);
+emit_16(387);
+emit_16(452);
+emit_16(388);
+emit_16(452);
+emit_16(387);
+emit_16(452);
+emit_16(388);
+emit_16(453);
+emit_16(389);
+emit_16(453);
+emit_16(388);
+emit_16(453);
+emit_16(389);
+emit_16(454);
+emit_16(390);
+emit_16(454);
+emit_16(389);
+emit_16(454);
+emit_16(390);
+emit_16(455);
+emit_16(391);
+emit_16(455);
+emit_16(390);
+emit_16(455);
+emit_16(391);
+emit_16(456);
+emit_16(392);
+emit_16(456);
+emit_16(391);
+emit_16(456);
+emit_16(392);
+emit_16(457);
+emit_16(393);
+emit_16(457);
+emit_16(392);
+emit_16(457);
+emit_16(393);
+emit_16(458);
+emit_16(394);
+emit_16(458);
+emit_16(393);
+emit_16(458);
+emit_16(394);
+emit_16(459);
+emit_16(395);
+emit_16(459);
+emit_16(394);
+emit_16(459);
+emit_16(395);
+emit_16(460);
+emit_16(396);
+emit_16(460);
+emit_16(395);
+emit_16(460);
+emit_16(396);
+emit_16(461);
+emit_16(397);
+emit_16(461);
+emit_16(396);
+emit_16(461);
+emit_16(397);
+emit_16(462);
+emit_16(398);
+emit_16(462);
+emit_16(397);
+emit_16(462);
+emit_16(398);
+emit_16(463);
+emit_16(399);
+emit_16(463);
+emit_16(398);
+emit_16(463);
+emit_16(399);
+emit_16(464);
+emit_16(400);
+emit_16(464);
+emit_16(399);
+emit_16(464);
+emit_16(400);
+emit_16(465);
+emit_16(401);
+emit_16(465);
+emit_16(400);
+emit_16(465);
+emit_16(401);
+emit_16(466);
+emit_16(402);
+emit_16(466);
+emit_16(401);
+emit_16(466);
+emit_16(402);
+emit_16(467);
+emit_16(403);
+emit_16(467);
+emit_16(402);
+emit_16(467);
+emit_16(403);
+emit_16(468);
+emit_16(404);
+emit_16(468);
+emit_16(403);
+emit_16(468);
+emit_16(404);
+emit_16(469);
+emit_16(405);
+emit_16(469);
+emit_16(404);
+emit_16(469);
+emit_16(405);
+emit_16(470);
+emit_16(406);
+emit_16(470);
+emit_16(405);
+emit_16(470);
+emit_16(406);
+emit_16(471);
+emit_16(407);
+emit_16(471);
+emit_16(406);
+emit_16(471);
+emit_16(407);
+emit_16(472);
+emit_16(408);
+emit_16(472);
+emit_16(407);
+emit_16(472);
+emit_16(408);
+emit_16(473);
+emit_16(409);
+emit_16(473);
+emit_16(408);
+emit_16(473);
+emit_16(409);
+emit_16(474);
+emit_16(410);
+emit_16(474);
+emit_16(409);
+emit_16(474);
+emit_16(410);
+emit_16(475);
+emit_16(411);
+emit_16(475);
+emit_16(410);
+emit_16(475);
+emit_16(411);
+emit_16(476);
+emit_16(412);
+emit_16(476);
+emit_16(411);
+emit_16(476);
+emit_16(412);
+emit_16(477);
+emit_16(413);
+emit_16(477);
+emit_16(412);
+emit_16(477);
+emit_16(413);
+emit_16(478);
+emit_16(414);
+emit_16(478);
+emit_16(413);
+emit_16(478);
+emit_16(414);
+emit_16(479);
+emit_16(415);
+emit_16(479);
+emit_16(414);
+emit_16(479);
+emit_16(415);
+emit_16(480);
+emit_16(416);
+emit_16(480);
+emit_16(415);
+emit_16(480);
+emit_16(416);
+emit_16(481);
+emit_16(417);
+emit_16(481);
+emit_16(416);
+emit_16(481);
+emit_16(417);
+emit_16(482);
+emit_16(418);
+emit_16(482);
+emit_16(417);
+emit_16(482);
+emit_16(418);
+emit_16(483);
+emit_16(419);
+emit_16(483);
+emit_16(418);
+emit_16(483);
+emit_16(419);
+emit_16(484);
+emit_16(420);
+emit_16(484);
+emit_16(419);
+emit_16(484);
+emit_16(420);
+emit_16(485);
+emit_16(421);
+emit_16(485);
+emit_16(420);
+emit_16(485);
+emit_16(421);
+emit_16(486);
+emit_16(422);
+emit_16(486);
+emit_16(421);
+emit_16(486);
+emit_16(422);
+emit_16(487);
+emit_16(423);
+emit_16(487);
+emit_16(422);
+emit_16(487);
+emit_16(423);
+emit_16(488);
+emit_16(424);
+emit_16(488);
+emit_16(423);
+emit_16(488);
+emit_16(424);
+emit_16(489);
+emit_16(425);
+emit_16(489);
+emit_16(424);
+emit_16(489);
+emit_16(425);
+emit_16(490);
+emit_16(426);
+emit_16(490);
+emit_16(425);
+emit_16(490);
+emit_16(426);
+emit_16(491);
+emit_16(427);
+emit_16(491);
+emit_16(426);
+emit_16(491);
+emit_16(427);
+emit_16(492);
+emit_16(428);
+emit_16(492);
+emit_16(427);
+emit_16(492);
+emit_16(428);
+emit_16(493);
+emit_16(429);
+emit_16(493);
+emit_16(428);
+emit_16(493);
+emit_16(429);
+emit_16(494);
+emit_16(430);
+emit_16(494);
+emit_16(429);
+emit_16(494);
+emit_16(430);
+emit_16(495);
+emit_16(431);
+emit_16(495);
+emit_16(430);
+emit_16(495);
+emit_16(431);
+emit_16(496);
+emit_16(432);
+emit_16(496);
+emit_16(431);
+emit_16(496);
+emit_16(432);
+emit_16(497);
+emit_16(433);
+emit_16(497);
+emit_16(432);
+emit_16(497);
+emit_16(433);
+emit_16(498);
+emit_16(434);
+emit_16(498);
+emit_16(433);
+emit_16(498);
+emit_16(434);
+emit_16(499);
+emit_16(435);
+emit_16(499);
+emit_16(434);
+emit_16(499);
+emit_16(435);
+emit_16(500);
+emit_16(436);
+emit_16(500);
+emit_16(435);
+emit_16(500);
+emit_16(436);
+emit_16(501);
+emit_16(437);
+emit_16(501);
+emit_16(436);
+emit_16(501);
+emit_16(437);
+emit_16(502);
+emit_16(438);
+emit_16(502);
+emit_16(437);
+emit_16(502);
+emit_16(438);
+emit_16(503);
+emit_16(439);
+emit_16(503);
+emit_16(438);
+emit_16(503);
+emit_16(439);
+emit_16(504);
+emit_16(440);
+emit_16(504);
+emit_16(439);
+emit_16(504);
+emit_16(440);
+emit_16(505);
+emit_16(441);
+emit_16(505);
+emit_16(440);
+emit_16(505);
+emit_16(441);
+emit_16(506);
+emit_16(442);
+emit_16(506);
+emit_16(441);
+emit_16(506);
+emit_16(442);
+emit_16(507);
+emit_16(443);
+emit_16(507);
+emit_16(442);
+emit_16(507);
+emit_16(443);
+emit_16(508);
+emit_16(444);
+emit_16(508);
+emit_16(443);
+emit_16(508);
+emit_16(444);
+emit_16(509);
+emit_16(445);
+emit_16(509);
+emit_16(444);
+emit_16(509);
+emit_16(445);
+emit_16(510);
+emit_16(446);
+emit_16(510);
+emit_16(445);
+emit_16(510);
+emit_16(446);
+emit_16(511);
+emit_16(447);
+emit_16(511);
+emit_16(446);
+emit_16(512);
+emit_16(448);
+emit_16(513);
+emit_16(449);
+emit_16(513);
+emit_16(448);
+emit_16(513);
+emit_16(449);
+emit_16(514);
+emit_16(450);
+emit_16(514);
+emit_16(449);
+emit_16(514);
+emit_16(450);
+emit_16(515);
+emit_16(451);
+emit_16(515);
+emit_16(450);
+emit_16(515);
+emit_16(451);
+emit_16(516);
+emit_16(452);
+emit_16(516);
+emit_16(451);
+emit_16(516);
+emit_16(452);
+emit_16(517);
+emit_16(453);
+emit_16(517);
+emit_16(452);
+emit_16(517);
+emit_16(453);
+emit_16(518);
+emit_16(454);
+emit_16(518);
+emit_16(453);
+emit_16(518);
+emit_16(454);
+emit_16(519);
+emit_16(455);
+emit_16(519);
+emit_16(454);
+emit_16(519);
+emit_16(455);
+emit_16(520);
+emit_16(456);
+emit_16(520);
+emit_16(455);
+emit_16(520);
+emit_16(456);
+emit_16(521);
+emit_16(457);
+emit_16(521);
+emit_16(456);
+emit_16(521);
+emit_16(457);
+emit_16(522);
+emit_16(458);
+emit_16(522);
+emit_16(457);
+emit_16(522);
+emit_16(458);
+emit_16(523);
+emit_16(459);
+emit_16(523);
+emit_16(458);
+emit_16(523);
+emit_16(459);
+emit_16(524);
+emit_16(460);
+emit_16(524);
+emit_16(459);
+emit_16(524);
+emit_16(460);
+emit_16(525);
+emit_16(461);
+emit_16(525);
+emit_16(460);
+emit_16(525);
+emit_16(461);
+emit_16(526);
+emit_16(462);
+emit_16(526);
+emit_16(461);
+emit_16(526);
+emit_16(462);
+emit_16(527);
+emit_16(463);
+emit_16(527);
+emit_16(462);
+emit_16(527);
+emit_16(463);
+emit_16(528);
+emit_16(464);
+emit_16(528);
+emit_16(463);
+emit_16(528);
+emit_16(464);
+emit_16(529);
+emit_16(465);
+emit_16(529);
+emit_16(464);
+emit_16(529);
+emit_16(465);
+emit_16(530);
+emit_16(466);
+emit_16(530);
+emit_16(465);
+emit_16(530);
+emit_16(466);
+emit_16(531);
+emit_16(467);
+emit_16(531);
+emit_16(466);
+emit_16(531);
+emit_16(467);
+emit_16(532);
+emit_16(468);
+emit_16(532);
+emit_16(467);
+emit_16(532);
+emit_16(468);
+emit_16(533);
+emit_16(469);
+emit_16(533);
+emit_16(468);
+emit_16(533);
+emit_16(469);
+emit_16(534);
+emit_16(470);
+emit_16(534);
+emit_16(469);
+emit_16(534);
+emit_16(470);
+emit_16(535);
+emit_16(471);
+emit_16(535);
+emit_16(470);
+emit_16(535);
+emit_16(471);
+emit_16(536);
+emit_16(472);
+emit_16(536);
+emit_16(471);
+emit_16(536);
+emit_16(472);
+emit_16(537);
+emit_16(473);
+emit_16(537);
+emit_16(472);
+emit_16(537);
+emit_16(473);
+emit_16(538);
+emit_16(474);
+emit_16(538);
+emit_16(473);
+emit_16(538);
+emit_16(474);
+emit_16(539);
+emit_16(475);
+emit_16(539);
+emit_16(474);
+emit_16(539);
+emit_16(475);
+emit_16(540);
+emit_16(476);
+emit_16(540);
+emit_16(475);
+emit_16(540);
+emit_16(476);
+emit_16(541);
+emit_16(477);
+emit_16(541);
+emit_16(476);
+emit_16(541);
+emit_16(477);
+emit_16(542);
+emit_16(478);
+emit_16(542);
+emit_16(477);
+emit_16(542);
+emit_16(478);
+emit_16(543);
+emit_16(479);
+emit_16(543);
+emit_16(478);
+emit_16(543);
+emit_16(479);
+emit_16(544);
+emit_16(480);
+emit_16(544);
+emit_16(479);
+emit_16(544);
+emit_16(480);
+emit_16(545);
+emit_16(481);
+emit_16(545);
+emit_16(480);
+emit_16(545);
+emit_16(481);
+emit_16(546);
+emit_16(482);
+emit_16(546);
+emit_16(481);
+emit_16(546);
+emit_16(482);
+emit_16(547);
+emit_16(483);
+emit_16(547);
+emit_16(482);
+emit_16(547);
+emit_16(483);
+emit_16(548);
+emit_16(484);
+emit_16(548);
+emit_16(483);
+emit_16(548);
+emit_16(484);
+emit_16(549);
+emit_16(485);
+emit_16(549);
+emit_16(484);
+emit_16(549);
+emit_16(485);
+emit_16(550);
+emit_16(486);
+emit_16(550);
+emit_16(485);
+emit_16(550);
+emit_16(486);
+emit_16(551);
+emit_16(487);
+emit_16(551);
+emit_16(486);
+emit_16(551);
+emit_16(487);
+emit_16(552);
+emit_16(488);
+emit_16(552);
+emit_16(487);
+emit_16(552);
+emit_16(488);
+emit_16(553);
+emit_16(489);
+emit_16(553);
+emit_16(488);
+emit_16(553);
+emit_16(489);
+emit_16(554);
+emit_16(490);
+emit_16(554);
+emit_16(489);
+emit_16(554);
+emit_16(490);
+emit_16(555);
+emit_16(491);
+emit_16(555);
+emit_16(490);
+emit_16(555);
+emit_16(491);
+emit_16(556);
+emit_16(492);
+emit_16(556);
+emit_16(491);
+emit_16(556);
+emit_16(492);
+emit_16(557);
+emit_16(493);
+emit_16(557);
+emit_16(492);
+emit_16(557);
+emit_16(493);
+emit_16(558);
+emit_16(494);
+emit_16(558);
+emit_16(493);
+emit_16(558);
+emit_16(494);
+emit_16(559);
+emit_16(495);
+emit_16(559);
+emit_16(494);
+emit_16(559);
+emit_16(495);
+emit_16(560);
+emit_16(496);
+emit_16(560);
+emit_16(495);
+emit_16(560);
+emit_16(496);
+emit_16(561);
+emit_16(497);
+emit_16(561);
+emit_16(496);
+emit_16(561);
+emit_16(497);
+emit_16(562);
+emit_16(498);
+emit_16(562);
+emit_16(497);
+emit_16(562);
+emit_16(498);
+emit_16(563);
+emit_16(499);
+emit_16(563);
+emit_16(498);
+emit_16(563);
+emit_16(499);
+emit_16(564);
+emit_16(500);
+emit_16(564);
+emit_16(499);
+emit_16(564);
+emit_16(500);
+emit_16(565);
+emit_16(501);
+emit_16(565);
+emit_16(500);
+emit_16(565);
+emit_16(501);
+emit_16(566);
+emit_16(502);
+emit_16(566);
+emit_16(501);
+emit_16(566);
+emit_16(502);
+emit_16(567);
+emit_16(503);
+emit_16(567);
+emit_16(502);
+emit_16(567);
+emit_16(503);
+emit_16(568);
+emit_16(504);
+emit_16(568);
+emit_16(503);
+emit_16(568);
+emit_16(504);
+emit_16(569);
+emit_16(505);
+emit_16(569);
+emit_16(504);
+emit_16(569);
+emit_16(505);
+emit_16(570);
+emit_16(506);
+emit_16(570);
+emit_16(505);
+emit_16(570);
+emit_16(506);
+emit_16(571);
+emit_16(507);
+emit_16(571);
+emit_16(506);
+emit_16(571);
+emit_16(507);
+emit_16(572);
+emit_16(508);
+emit_16(572);
+emit_16(507);
+emit_16(572);
+emit_16(508);
+emit_16(573);
+emit_16(509);
+emit_16(573);
+emit_16(508);
+emit_16(573);
+emit_16(509);
+emit_16(574);
+emit_16(510);
+emit_16(574);
+emit_16(509);
+emit_16(574);
+emit_16(510);
+emit_16(575);
+emit_16(511);
+emit_16(575);
+emit_16(510);
+emit_16(576);
+emit_16(512);
+emit_16(577);
+emit_16(513);
+emit_16(577);
+emit_16(512);
+emit_16(577);
+emit_16(513);
+emit_16(578);
+emit_16(514);
+emit_16(578);
+emit_16(513);
+emit_16(578);
+emit_16(514);
+emit_16(579);
+emit_16(515);
+emit_16(579);
+emit_16(514);
+emit_16(579);
+emit_16(515);
+emit_16(580);
+emit_16(516);
+emit_16(580);
+emit_16(515);
+emit_16(580);
+emit_16(516);
+emit_16(581);
+emit_16(517);
+emit_16(581);
+emit_16(516);
+emit_16(581);
+emit_16(517);
+emit_16(582);
+emit_16(518);
+emit_16(582);
+emit_16(517);
+emit_16(582);
+emit_16(518);
+emit_16(583);
+emit_16(519);
+emit_16(583);
+emit_16(518);
+emit_16(583);
+emit_16(519);
+emit_16(584);
+emit_16(520);
+emit_16(584);
+emit_16(519);
+emit_16(584);
+emit_16(520);
+emit_16(585);
+emit_16(521);
+emit_16(585);
+emit_16(520);
+emit_16(585);
+emit_16(521);
+emit_16(586);
+emit_16(522);
+emit_16(586);
+emit_16(521);
+emit_16(586);
+emit_16(522);
+emit_16(587);
+emit_16(523);
+emit_16(587);
+emit_16(522);
+emit_16(587);
+emit_16(523);
+emit_16(588);
+emit_16(524);
+emit_16(588);
+emit_16(523);
+emit_16(588);
+emit_16(524);
+emit_16(589);
+emit_16(525);
+emit_16(589);
+emit_16(524);
+emit_16(589);
+emit_16(525);
+emit_16(590);
+emit_16(526);
+emit_16(590);
+emit_16(525);
+emit_16(590);
+emit_16(526);
+emit_16(591);
+emit_16(527);
+emit_16(591);
+emit_16(526);
+emit_16(591);
+emit_16(527);
+emit_16(592);
+emit_16(528);
+emit_16(592);
+emit_16(527);
+emit_16(592);
+emit_16(528);
+emit_16(593);
+emit_16(529);
+emit_16(593);
+emit_16(528);
+emit_16(593);
+emit_16(529);
+emit_16(594);
+emit_16(530);
+emit_16(594);
+emit_16(529);
+emit_16(594);
+emit_16(530);
+emit_16(595);
+emit_16(531);
+emit_16(595);
+emit_16(530);
+emit_16(595);
+emit_16(531);
+emit_16(596);
+emit_16(532);
+emit_16(596);
+emit_16(531);
+emit_16(596);
+emit_16(532);
+emit_16(597);
+emit_16(533);
+emit_16(597);
+emit_16(532);
+emit_16(597);
+emit_16(533);
+emit_16(598);
+emit_16(534);
+emit_16(598);
+emit_16(533);
+emit_16(598);
+emit_16(534);
+emit_16(599);
+emit_16(535);
+emit_16(599);
+emit_16(534);
+emit_16(599);
+emit_16(535);
+emit_16(600);
+emit_16(536);
+emit_16(600);
+emit_16(535);
+emit_16(600);
+emit_16(536);
+emit_16(601);
+emit_16(537);
+emit_16(601);
+emit_16(536);
+emit_16(601);
+emit_16(537);
+emit_16(602);
+emit_16(538);
+emit_16(602);
+emit_16(537);
+emit_16(602);
+emit_16(538);
+emit_16(603);
+emit_16(539);
+emit_16(603);
+emit_16(538);
+emit_16(603);
+emit_16(539);
+emit_16(604);
+emit_16(540);
+emit_16(604);
+emit_16(539);
+emit_16(604);
+emit_16(540);
+emit_16(605);
+emit_16(541);
+emit_16(605);
+emit_16(540);
+emit_16(605);
+emit_16(541);
+emit_16(606);
+emit_16(542);
+emit_16(606);
+emit_16(541);
+emit_16(606);
+emit_16(542);
+emit_16(607);
+emit_16(543);
+emit_16(607);
+emit_16(542);
+emit_16(607);
+emit_16(543);
+emit_16(608);
+emit_16(544);
+emit_16(608);
+emit_16(543);
+emit_16(608);
+emit_16(544);
+emit_16(609);
+emit_16(545);
+emit_16(609);
+emit_16(544);
+emit_16(609);
+emit_16(545);
+emit_16(610);
+emit_16(546);
+emit_16(610);
+emit_16(545);
+emit_16(610);
+emit_16(546);
+emit_16(611);
+emit_16(547);
+emit_16(611);
+emit_16(546);
+emit_16(611);
+emit_16(547);
+emit_16(612);
+emit_16(548);
+emit_16(612);
+emit_16(547);
+emit_16(612);
+emit_16(548);
+emit_16(613);
+emit_16(549);
+emit_16(613);
+emit_16(548);
+emit_16(613);
+emit_16(549);
+emit_16(614);
+emit_16(550);
+emit_16(614);
+emit_16(549);
+emit_16(614);
+emit_16(550);
+emit_16(615);
+emit_16(551);
+emit_16(615);
+emit_16(550);
+emit_16(615);
+emit_16(551);
+emit_16(616);
+emit_16(552);
+emit_16(616);
+emit_16(551);
+emit_16(616);
+emit_16(552);
+emit_16(617);
+emit_16(553);
+emit_16(617);
+emit_16(552);
+emit_16(617);
+emit_16(553);
+emit_16(618);
+emit_16(554);
+emit_16(618);
+emit_16(553);
+emit_16(618);
+emit_16(554);
+emit_16(619);
+emit_16(555);
+emit_16(619);
+emit_16(554);
+emit_16(619);
+emit_16(555);
+emit_16(620);
+emit_16(556);
+emit_16(620);
+emit_16(555);
+emit_16(620);
+emit_16(556);
+emit_16(621);
+emit_16(557);
+emit_16(621);
+emit_16(556);
+emit_16(621);
+emit_16(557);
+emit_16(622);
+emit_16(558);
+emit_16(622);
+emit_16(557);
+emit_16(622);
+emit_16(558);
+emit_16(623);
+emit_16(559);
+emit_16(623);
+emit_16(558);
+emit_16(623);
+emit_16(559);
+emit_16(624);
+emit_16(560);
+emit_16(624);
+emit_16(559);
+emit_16(624);
+emit_16(560);
+emit_16(625);
+emit_16(561);
+emit_16(625);
+emit_16(560);
+emit_16(625);
+emit_16(561);
+emit_16(626);
+emit_16(562);
+emit_16(626);
+emit_16(561);
+emit_16(626);
+emit_16(562);
+emit_16(627);
+emit_16(563);
+emit_16(627);
+emit_16(562);
+emit_16(627);
+emit_16(563);
+emit_16(628);
+emit_16(564);
+emit_16(628);
+emit_16(563);
+emit_16(628);
+emit_16(564);
+emit_16(629);
+emit_16(565);
+emit_16(629);
+emit_16(564);
+emit_16(629);
+emit_16(565);
+emit_16(630);
+emit_16(566);
+emit_16(630);
+emit_16(565);
+emit_16(630);
+emit_16(566);
+emit_16(631);
+emit_16(567);
+emit_16(631);
+emit_16(566);
+emit_16(631);
+emit_16(567);
+emit_16(632);
+emit_16(568);
+emit_16(632);
+emit_16(567);
+emit_16(632);
+emit_16(568);
+emit_16(633);
+emit_16(569);
+emit_16(633);
+emit_16(568);
+emit_16(633);
+emit_16(569);
+emit_16(634);
+emit_16(570);
+emit_16(634);
+emit_16(569);
+emit_16(634);
+emit_16(570);
+emit_16(635);
+emit_16(571);
+emit_16(635);
+emit_16(570);
+emit_16(635);
+emit_16(571);
+emit_16(636);
+emit_16(572);
+emit_16(636);
+emit_16(571);
+emit_16(636);
+emit_16(572);
+emit_16(637);
+emit_16(573);
+emit_16(637);
+emit_16(572);
+emit_16(637);
+emit_16(573);
+emit_16(638);
+emit_16(574);
+emit_16(638);
+emit_16(573);
+emit_16(638);
+emit_16(574);
+emit_16(639);
+emit_16(575);
+emit_16(639);
+emit_16(574);
+emit_16(640);
+emit_16(576);
+emit_16(641);
+emit_16(577);
+emit_16(641);
+emit_16(576);
+emit_16(641);
+emit_16(577);
+emit_16(642);
+emit_16(578);
+emit_16(642);
+emit_16(577);
+emit_16(642);
+emit_16(578);
+emit_16(643);
+emit_16(579);
+emit_16(643);
+emit_16(578);
+emit_16(643);
+emit_16(579);
+emit_16(644);
+emit_16(580);
+emit_16(644);
+emit_16(579);
+emit_16(644);
+emit_16(580);
+emit_16(645);
+emit_16(581);
+emit_16(645);
+emit_16(580);
+emit_16(645);
+emit_16(581);
+emit_16(646);
+emit_16(582);
+emit_16(646);
+emit_16(581);
+emit_16(646);
+emit_16(582);
+emit_16(647);
+emit_16(583);
+emit_16(647);
+emit_16(582);
+emit_16(647);
+emit_16(583);
+emit_16(648);
+emit_16(584);
+emit_16(648);
+emit_16(583);
+emit_16(648);
+emit_16(584);
+emit_16(649);
+emit_16(585);
+emit_16(649);
+emit_16(584);
+emit_16(649);
+emit_16(585);
+emit_16(650);
+emit_16(586);
+emit_16(650);
+emit_16(585);
+emit_16(650);
+emit_16(586);
+emit_16(651);
+emit_16(587);
+emit_16(651);
+emit_16(586);
+emit_16(651);
+emit_16(587);
+emit_16(652);
+emit_16(588);
+emit_16(652);
+emit_16(587);
+emit_16(652);
+emit_16(588);
+emit_16(653);
+emit_16(589);
+emit_16(653);
+emit_16(588);
+emit_16(653);
+emit_16(589);
+emit_16(654);
+emit_16(590);
+emit_16(654);
+emit_16(589);
+emit_16(654);
+emit_16(590);
+emit_16(655);
+emit_16(591);
+emit_16(655);
+emit_16(590);
+emit_16(655);
+emit_16(591);
+emit_16(656);
+emit_16(592);
+emit_16(656);
+emit_16(591);
+emit_16(656);
+emit_16(592);
+emit_16(657);
+emit_16(593);
+emit_16(657);
+emit_16(592);
+emit_16(657);
+emit_16(593);
+emit_16(658);
+emit_16(594);
+emit_16(658);
+emit_16(593);
+emit_16(658);
+emit_16(594);
+emit_16(659);
+emit_16(595);
+emit_16(659);
+emit_16(594);
+emit_16(659);
+emit_16(595);
+emit_16(660);
+emit_16(596);
+emit_16(660);
+emit_16(595);
+emit_16(660);
+emit_16(596);
+emit_16(661);
+emit_16(597);
+emit_16(661);
+emit_16(596);
+emit_16(661);
+emit_16(597);
+emit_16(662);
+emit_16(598);
+emit_16(662);
+emit_16(597);
+emit_16(662);
+emit_16(598);
+emit_16(663);
+emit_16(599);
+emit_16(663);
+emit_16(598);
+emit_16(663);
+emit_16(599);
+emit_16(664);
+emit_16(600);
+emit_16(664);
+emit_16(599);
+emit_16(664);
+emit_16(600);
+emit_16(665);
+emit_16(601);
+emit_16(665);
+emit_16(600);
+emit_16(665);
+emit_16(601);
+emit_16(666);
+emit_16(602);
+emit_16(666);
+emit_16(601);
+emit_16(666);
+emit_16(602);
+emit_16(667);
+emit_16(603);
+emit_16(667);
+emit_16(602);
+emit_16(667);
+emit_16(603);
+emit_16(668);
+emit_16(604);
+emit_16(668);
+emit_16(603);
+emit_16(668);
+emit_16(604);
+emit_16(669);
+emit_16(605);
+emit_16(669);
+emit_16(604);
+emit_16(669);
+emit_16(605);
+emit_16(670);
+emit_16(606);
+emit_16(670);
+emit_16(605);
+emit_16(670);
+emit_16(606);
+emit_16(671);
+emit_16(607);
+emit_16(671);
+emit_16(606);
+emit_16(671);
+emit_16(607);
+emit_16(672);
+emit_16(608);
+emit_16(672);
+emit_16(607);
+emit_16(672);
+emit_16(608);
+emit_16(673);
+emit_16(609);
+emit_16(673);
+emit_16(608);
+emit_16(673);
+emit_16(609);
+emit_16(674);
+emit_16(610);
+emit_16(674);
+emit_16(609);
+emit_16(674);
+emit_16(610);
+emit_16(675);
+emit_16(611);
+emit_16(675);
+emit_16(610);
+emit_16(675);
+emit_16(611);
+emit_16(676);
+emit_16(612);
+emit_16(676);
+emit_16(611);
+emit_16(676);
+emit_16(612);
+emit_16(677);
+emit_16(613);
+emit_16(677);
+emit_16(612);
+emit_16(677);
+emit_16(613);
+emit_16(678);
+emit_16(614);
+emit_16(678);
+emit_16(613);
+emit_16(678);
+emit_16(614);
+emit_16(679);
+emit_16(615);
+emit_16(679);
+emit_16(614);
+emit_16(679);
+emit_16(615);
+emit_16(680);
+emit_16(616);
+emit_16(680);
+emit_16(615);
+emit_16(680);
+emit_16(616);
+emit_16(681);
+emit_16(617);
+emit_16(681);
+emit_16(616);
+emit_16(681);
+emit_16(617);
+emit_16(682);
+emit_16(618);
+emit_16(682);
+emit_16(617);
+emit_16(682);
+emit_16(618);
+emit_16(683);
+emit_16(619);
+emit_16(683);
+emit_16(618);
+emit_16(683);
+emit_16(619);
+emit_16(684);
+emit_16(620);
+emit_16(684);
+emit_16(619);
+emit_16(684);
+emit_16(620);
+emit_16(685);
+emit_16(621);
+emit_16(685);
+emit_16(620);
+emit_16(685);
+emit_16(621);
+emit_16(686);
+emit_16(622);
+emit_16(686);
+emit_16(621);
+emit_16(686);
+emit_16(622);
+emit_16(687);
+emit_16(623);
+emit_16(687);
+emit_16(622);
+emit_16(687);
+emit_16(623);
+emit_16(688);
+emit_16(624);
+emit_16(688);
+emit_16(623);
+emit_16(688);
+emit_16(624);
+emit_16(689);
+emit_16(625);
+emit_16(689);
+emit_16(624);
+emit_16(689);
+emit_16(625);
+emit_16(690);
+emit_16(626);
+emit_16(690);
+emit_16(625);
+emit_16(690);
+emit_16(626);
+emit_16(691);
+emit_16(627);
+emit_16(691);
+emit_16(626);
+emit_16(691);
+emit_16(627);
+emit_16(692);
+emit_16(628);
+emit_16(692);
+emit_16(627);
+emit_16(692);
+emit_16(628);
+emit_16(693);
+emit_16(629);
+emit_16(693);
+emit_16(628);
+emit_16(693);
+emit_16(629);
+emit_16(694);
+emit_16(630);
+emit_16(694);
+emit_16(629);
+emit_16(694);
+emit_16(630);
+emit_16(695);
+emit_16(631);
+emit_16(695);
+emit_16(630);
+emit_16(695);
+emit_16(631);
+emit_16(696);
+emit_16(632);
+emit_16(696);
+emit_16(631);
+emit_16(696);
+emit_16(632);
+emit_16(697);
+emit_16(633);
+emit_16(697);
+emit_16(632);
+emit_16(697);
+emit_16(633);
+emit_16(698);
+emit_16(634);
+emit_16(698);
+emit_16(633);
+emit_16(698);
+emit_16(634);
+emit_16(699);
+emit_16(635);
+emit_16(699);
+emit_16(634);
+emit_16(699);
+emit_16(635);
+emit_16(700);
+emit_16(636);
+emit_16(700);
+emit_16(635);
+emit_16(700);
+emit_16(636);
+emit_16(701);
+emit_16(637);
+emit_16(701);
+emit_16(636);
+emit_16(701);
+emit_16(637);
+emit_16(702);
+emit_16(638);
+emit_16(702);
+emit_16(637);
+emit_16(702);
+emit_16(638);
+emit_16(703);
+emit_16(639);
+emit_16(703);
+emit_16(638);
+emit_16(704);
+emit_16(640);
+emit_16(705);
+emit_16(641);
+emit_16(705);
+emit_16(640);
+emit_16(705);
+emit_16(641);
+emit_16(706);
+emit_16(642);
+emit_16(706);
+emit_16(641);
+emit_16(706);
+emit_16(642);
+emit_16(707);
+emit_16(643);
+emit_16(707);
+emit_16(642);
+emit_16(707);
+emit_16(643);
+emit_16(708);
+emit_16(644);
+emit_16(708);
+emit_16(643);
+emit_16(708);
+emit_16(644);
+emit_16(709);
+emit_16(645);
+emit_16(709);
+emit_16(644);
+emit_16(709);
+emit_16(645);
+emit_16(710);
+emit_16(646);
+emit_16(710);
+emit_16(645);
+emit_16(710);
+emit_16(646);
+emit_16(711);
+emit_16(647);
+emit_16(711);
+emit_16(646);
+emit_16(711);
+emit_16(647);
+emit_16(712);
+emit_16(648);
+emit_16(712);
+emit_16(647);
+emit_16(712);
+emit_16(648);
+emit_16(713);
+emit_16(649);
+emit_16(713);
+emit_16(648);
+emit_16(713);
+emit_16(649);
+emit_16(714);
+emit_16(650);
+emit_16(714);
+emit_16(649);
+emit_16(714);
+emit_16(650);
+emit_16(715);
+emit_16(651);
+emit_16(715);
+emit_16(650);
+emit_16(715);
+emit_16(651);
+emit_16(716);
+emit_16(652);
+emit_16(716);
+emit_16(651);
+emit_16(716);
+emit_16(652);
+emit_16(717);
+emit_16(653);
+emit_16(717);
+emit_16(652);
+emit_16(717);
+emit_16(653);
+emit_16(718);
+emit_16(654);
+emit_16(718);
+emit_16(653);
+emit_16(718);
+emit_16(654);
+emit_16(719);
+emit_16(655);
+emit_16(719);
+emit_16(654);
+emit_16(719);
+emit_16(655);
+emit_16(720);
+emit_16(656);
+emit_16(720);
+emit_16(655);
+emit_16(720);
+emit_16(656);
+emit_16(721);
+emit_16(657);
+emit_16(721);
+emit_16(656);
+emit_16(721);
+emit_16(657);
+emit_16(722);
+emit_16(658);
+emit_16(722);
+emit_16(657);
+emit_16(722);
+emit_16(658);
+emit_16(723);
+emit_16(659);
+emit_16(723);
+emit_16(658);
+emit_16(723);
+emit_16(659);
+emit_16(724);
+emit_16(660);
+emit_16(724);
+emit_16(659);
+emit_16(724);
+emit_16(660);
+emit_16(725);
+emit_16(661);
+emit_16(725);
+emit_16(660);
+emit_16(725);
+emit_16(661);
+emit_16(726);
+emit_16(662);
+emit_16(726);
+emit_16(661);
+emit_16(726);
+emit_16(662);
+emit_16(727);
+emit_16(663);
+emit_16(727);
+emit_16(662);
+emit_16(727);
+emit_16(663);
+emit_16(728);
+emit_16(664);
+emit_16(728);
+emit_16(663);
+emit_16(728);
+emit_16(664);
+emit_16(729);
+emit_16(665);
+emit_16(729);
+emit_16(664);
+emit_16(729);
+emit_16(665);
+emit_16(730);
+emit_16(666);
+emit_16(730);
+emit_16(665);
+emit_16(730);
+emit_16(666);
+emit_16(731);
+emit_16(667);
+emit_16(731);
+emit_16(666);
+emit_16(731);
+emit_16(667);
+emit_16(732);
+emit_16(668);
+emit_16(732);
+emit_16(667);
+emit_16(732);
+emit_16(668);
+emit_16(733);
+emit_16(669);
+emit_16(733);
+emit_16(668);
+emit_16(733);
+emit_16(669);
+emit_16(734);
+emit_16(670);
+emit_16(734);
+emit_16(669);
+emit_16(734);
+emit_16(670);
+emit_16(735);
+emit_16(671);
+emit_16(735);
+emit_16(670);
+emit_16(735);
+emit_16(671);
+emit_16(736);
+emit_16(672);
+emit_16(736);
+emit_16(671);
+emit_16(736);
+emit_16(672);
+emit_16(737);
+emit_16(673);
+emit_16(737);
+emit_16(672);
+emit_16(737);
+emit_16(673);
+emit_16(738);
+emit_16(674);
+emit_16(738);
+emit_16(673);
+emit_16(738);
+emit_16(674);
+emit_16(739);
+emit_16(675);
+emit_16(739);
+emit_16(674);
+emit_16(739);
+emit_16(675);
+emit_16(740);
+emit_16(676);
+emit_16(740);
+emit_16(675);
+emit_16(740);
+emit_16(676);
+emit_16(741);
+emit_16(677);
+emit_16(741);
+emit_16(676);
+emit_16(741);
+emit_16(677);
+emit_16(742);
+emit_16(678);
+emit_16(742);
+emit_16(677);
+emit_16(742);
+emit_16(678);
+emit_16(743);
+emit_16(679);
+emit_16(743);
+emit_16(678);
+emit_16(743);
+emit_16(679);
+emit_16(744);
+emit_16(680);
+emit_16(744);
+emit_16(679);
+emit_16(744);
+emit_16(680);
+emit_16(745);
+emit_16(681);
+emit_16(745);
+emit_16(680);
+emit_16(745);
+emit_16(681);
+emit_16(746);
+emit_16(682);
+emit_16(746);
+emit_16(681);
+emit_16(746);
+emit_16(682);
+emit_16(747);
+emit_16(683);
+emit_16(747);
+emit_16(682);
+emit_16(747);
+emit_16(683);
+emit_16(748);
+emit_16(684);
+emit_16(748);
+emit_16(683);
+emit_16(748);
+emit_16(684);
+emit_16(749);
+emit_16(685);
+emit_16(749);
+emit_16(684);
+emit_16(749);
+emit_16(685);
+emit_16(750);
+emit_16(686);
+emit_16(750);
+emit_16(685);
+emit_16(750);
+emit_16(686);
+emit_16(751);
+emit_16(687);
+emit_16(751);
+emit_16(686);
+emit_16(751);
+emit_16(687);
+emit_16(752);
+emit_16(688);
+emit_16(752);
+emit_16(687);
+emit_16(752);
+emit_16(688);
+emit_16(753);
+emit_16(689);
+emit_16(753);
+emit_16(688);
+emit_16(753);
+emit_16(689);
+emit_16(754);
+emit_16(690);
+emit_16(754);
+emit_16(689);
+emit_16(754);
+emit_16(690);
+emit_16(755);
+emit_16(691);
+emit_16(755);
+emit_16(690);
+emit_16(755);
+emit_16(691);
+emit_16(756);
+emit_16(692);
+emit_16(756);
+emit_16(691);
+emit_16(756);
+emit_16(692);
+emit_16(757);
+emit_16(693);
+emit_16(757);
+emit_16(692);
+emit_16(757);
+emit_16(693);
+emit_16(758);
+emit_16(694);
+emit_16(758);
+emit_16(693);
+emit_16(758);
+emit_16(694);
+emit_16(759);
+emit_16(695);
+emit_16(759);
+emit_16(694);
+emit_16(759);
+emit_16(695);
+emit_16(760);
+emit_16(696);
+emit_16(760);
+emit_16(695);
+emit_16(760);
+emit_16(696);
+emit_16(761);
+emit_16(697);
+emit_16(761);
+emit_16(696);
+emit_16(761);
+emit_16(697);
+emit_16(762);
+emit_16(698);
+emit_16(762);
+emit_16(697);
+emit_16(762);
+emit_16(698);
+emit_16(763);
+emit_16(699);
+emit_16(763);
+emit_16(698);
+emit_16(763);
+emit_16(699);
+emit_16(764);
+emit_16(700);
+emit_16(764);
+emit_16(699);
+emit_16(764);
+emit_16(700);
+emit_16(765);
+emit_16(701);
+emit_16(765);
+emit_16(700);
+emit_16(765);
+emit_16(701);
+emit_16(766);
+emit_16(702);
+emit_16(766);
+emit_16(701);
+emit_16(766);
+emit_16(702);
+emit_16(767);
+emit_16(703);
+emit_16(767);
+emit_16(702);
+emit_16(768);
+emit_16(704);
+emit_16(769);
+emit_16(705);
+emit_16(769);
+emit_16(704);
+emit_16(769);
+emit_16(705);
+emit_16(770);
+emit_16(706);
+emit_16(770);
+emit_16(705);
+emit_16(770);
+emit_16(706);
+emit_16(771);
+emit_16(707);
+emit_16(771);
+emit_16(706);
+emit_16(771);
+emit_16(707);
+emit_16(772);
+emit_16(708);
+emit_16(772);
+emit_16(707);
+emit_16(772);
+emit_16(708);
+emit_16(773);
+emit_16(709);
+emit_16(773);
+emit_16(708);
+emit_16(773);
+emit_16(709);
+emit_16(774);
+emit_16(710);
+emit_16(774);
+emit_16(709);
+emit_16(774);
+emit_16(710);
+emit_16(775);
+emit_16(711);
+emit_16(775);
+emit_16(710);
+emit_16(775);
+emit_16(711);
+emit_16(776);
+emit_16(712);
+emit_16(776);
+emit_16(711);
+emit_16(776);
+emit_16(712);
+emit_16(777);
+emit_16(713);
+emit_16(777);
+emit_16(712);
+emit_16(777);
+emit_16(713);
+emit_16(778);
+emit_16(714);
+emit_16(778);
+emit_16(713);
+emit_16(778);
+emit_16(714);
+emit_16(779);
+emit_16(715);
+emit_16(779);
+emit_16(714);
+emit_16(779);
+emit_16(715);
+emit_16(780);
+emit_16(716);
+emit_16(780);
+emit_16(715);
+emit_16(780);
+emit_16(716);
+emit_16(781);
+emit_16(717);
+emit_16(781);
+emit_16(716);
+emit_16(781);
+emit_16(717);
+emit_16(782);
+emit_16(718);
+emit_16(782);
+emit_16(717);
+emit_16(782);
+emit_16(718);
+emit_16(783);
+emit_16(719);
+emit_16(783);
+emit_16(718);
+emit_16(783);
+emit_16(719);
+emit_16(784);
+emit_16(720);
+emit_16(784);
+emit_16(719);
+emit_16(784);
+emit_16(720);
+emit_16(785);
+emit_16(721);
+emit_16(785);
+emit_16(720);
+emit_16(785);
+emit_16(721);
+emit_16(786);
+emit_16(722);
+emit_16(786);
+emit_16(721);
+emit_16(786);
+emit_16(722);
+emit_16(787);
+emit_16(723);
+emit_16(787);
+emit_16(722);
+emit_16(787);
+emit_16(723);
+emit_16(788);
+emit_16(724);
+emit_16(788);
+emit_16(723);
+emit_16(788);
+emit_16(724);
+emit_16(789);
+emit_16(725);
+emit_16(789);
+emit_16(724);
+emit_16(789);
+emit_16(725);
+emit_16(790);
+emit_16(726);
+emit_16(790);
+emit_16(725);
+emit_16(790);
+emit_16(726);
+emit_16(791);
+emit_16(727);
+emit_16(791);
+emit_16(726);
+emit_16(791);
+emit_16(727);
+emit_16(792);
+emit_16(728);
+emit_16(792);
+emit_16(727);
+emit_16(792);
+emit_16(728);
+emit_16(793);
+emit_16(729);
+emit_16(793);
+emit_16(728);
+emit_16(793);
+emit_16(729);
+emit_16(794);
+emit_16(730);
+emit_16(794);
+emit_16(729);
+emit_16(794);
+emit_16(730);
+emit_16(795);
+emit_16(731);
+emit_16(795);
+emit_16(730);
+emit_16(795);
+emit_16(731);
+emit_16(796);
+emit_16(732);
+emit_16(796);
+emit_16(731);
+emit_16(796);
+emit_16(732);
+emit_16(797);
+emit_16(733);
+emit_16(797);
+emit_16(732);
+emit_16(797);
+emit_16(733);
+emit_16(798);
+emit_16(734);
+emit_16(798);
+emit_16(733);
+emit_16(798);
+emit_16(734);
+emit_16(799);
+emit_16(735);
+emit_16(799);
+emit_16(734);
+emit_16(799);
+emit_16(735);
+emit_16(800);
+emit_16(736);
+emit_16(800);
+emit_16(735);
+emit_16(800);
+emit_16(736);
+emit_16(801);
+emit_16(737);
+emit_16(801);
+emit_16(736);
+emit_16(801);
+emit_16(737);
+emit_16(802);
+emit_16(738);
+emit_16(802);
+emit_16(737);
+emit_16(802);
+emit_16(738);
+emit_16(803);
+emit_16(739);
+emit_16(803);
+emit_16(738);
+emit_16(803);
+emit_16(739);
+emit_16(804);
+emit_16(740);
+emit_16(804);
+emit_16(739);
+emit_16(804);
+emit_16(740);
+emit_16(805);
+emit_16(741);
+emit_16(805);
+emit_16(740);
+emit_16(805);
+emit_16(741);
+emit_16(806);
+emit_16(742);
+emit_16(806);
+emit_16(741);
+emit_16(806);
+emit_16(742);
+emit_16(807);
+emit_16(743);
+emit_16(807);
+emit_16(742);
+emit_16(807);
+emit_16(743);
+emit_16(808);
+emit_16(744);
+emit_16(808);
+emit_16(743);
+emit_16(808);
+emit_16(744);
+emit_16(809);
+emit_16(745);
+emit_16(809);
+emit_16(744);
+emit_16(809);
+emit_16(745);
+emit_16(810);
+emit_16(746);
+emit_16(810);
+emit_16(745);
+emit_16(810);
+emit_16(746);
+emit_16(811);
+emit_16(747);
+emit_16(811);
+emit_16(746);
+emit_16(811);
+emit_16(747);
+emit_16(812);
+emit_16(748);
+emit_16(812);
+emit_16(747);
+emit_16(812);
+emit_16(748);
+emit_16(813);
+emit_16(749);
+emit_16(813);
+emit_16(748);
+emit_16(813);
+emit_16(749);
+emit_16(814);
+emit_16(750);
+emit_16(814);
+emit_16(749);
+emit_16(814);
+emit_16(750);
+emit_16(815);
+emit_16(751);
+emit_16(815);
+emit_16(750);
+emit_16(815);
+emit_16(751);
+emit_16(816);
+emit_16(752);
+emit_16(816);
+emit_16(751);
+emit_16(816);
+emit_16(752);
+emit_16(817);
+emit_16(753);
+emit_16(817);
+emit_16(752);
+emit_16(817);
+emit_16(753);
+emit_16(818);
+emit_16(754);
+emit_16(818);
+emit_16(753);
+emit_16(818);
+emit_16(754);
+emit_16(819);
+emit_16(755);
+emit_16(819);
+emit_16(754);
+emit_16(819);
+emit_16(755);
+emit_16(820);
+emit_16(756);
+emit_16(820);
+emit_16(755);
+emit_16(820);
+emit_16(756);
+emit_16(821);
+emit_16(757);
+emit_16(821);
+emit_16(756);
+emit_16(821);
+emit_16(757);
+emit_16(822);
+emit_16(758);
+emit_16(822);
+emit_16(757);
+emit_16(822);
+emit_16(758);
+emit_16(823);
+emit_16(759);
+emit_16(823);
+emit_16(758);
+emit_16(823);
+emit_16(759);
+emit_16(824);
+emit_16(760);
+emit_16(824);
+emit_16(759);
+emit_16(824);
+emit_16(760);
+emit_16(825);
+emit_16(761);
+emit_16(825);
+emit_16(760);
+emit_16(825);
+emit_16(761);
+emit_16(826);
+emit_16(762);
+emit_16(826);
+emit_16(761);
+emit_16(826);
+emit_16(762);
+emit_16(827);
+emit_16(763);
+emit_16(827);
+emit_16(762);
+emit_16(827);
+emit_16(763);
+emit_16(828);
+emit_16(764);
+emit_16(828);
+emit_16(763);
+emit_16(828);
+emit_16(764);
+emit_16(829);
+emit_16(765);
+emit_16(829);
+emit_16(764);
+emit_16(829);
+emit_16(765);
+emit_16(830);
+emit_16(766);
+emit_16(830);
+emit_16(765);
+emit_16(830);
+emit_16(766);
+emit_16(831);
+emit_16(767);
+emit_16(831);
+emit_16(766);
+emit_16(832);
+emit_16(768);
+emit_16(833);
+emit_16(769);
+emit_16(833);
+emit_16(768);
+emit_16(833);
+emit_16(769);
+emit_16(834);
+emit_16(770);
+emit_16(834);
+emit_16(769);
+emit_16(834);
+emit_16(770);
+emit_16(835);
+emit_16(771);
+emit_16(835);
+emit_16(770);
+emit_16(835);
+emit_16(771);
+emit_16(836);
+emit_16(772);
+emit_16(836);
+emit_16(771);
+emit_16(836);
+emit_16(772);
+emit_16(837);
+emit_16(773);
+emit_16(837);
+emit_16(772);
+emit_16(837);
+emit_16(773);
+emit_16(838);
+emit_16(774);
+emit_16(838);
+emit_16(773);
+emit_16(838);
+emit_16(774);
+emit_16(839);
+emit_16(775);
+emit_16(839);
+emit_16(774);
+emit_16(839);
+emit_16(775);
+emit_16(840);
+emit_16(776);
+emit_16(840);
+emit_16(775);
+emit_16(840);
+emit_16(776);
+emit_16(841);
+emit_16(777);
+emit_16(841);
+emit_16(776);
+emit_16(841);
+emit_16(777);
+emit_16(842);
+emit_16(778);
+emit_16(842);
+emit_16(777);
+emit_16(842);
+emit_16(778);
+emit_16(843);
+emit_16(779);
+emit_16(843);
+emit_16(778);
+emit_16(843);
+emit_16(779);
+emit_16(844);
+emit_16(780);
+emit_16(844);
+emit_16(779);
+emit_16(844);
+emit_16(780);
+emit_16(845);
+emit_16(781);
+emit_16(845);
+emit_16(780);
+emit_16(845);
+emit_16(781);
+emit_16(846);
+emit_16(782);
+emit_16(846);
+emit_16(781);
+emit_16(846);
+emit_16(782);
+emit_16(847);
+emit_16(783);
+emit_16(847);
+emit_16(782);
+emit_16(847);
+emit_16(783);
+emit_16(848);
+emit_16(784);
+emit_16(848);
+emit_16(783);
+emit_16(848);
+emit_16(784);
+emit_16(849);
+emit_16(785);
+emit_16(849);
+emit_16(784);
+emit_16(849);
+emit_16(785);
+emit_16(850);
+emit_16(786);
+emit_16(850);
+emit_16(785);
+emit_16(850);
+emit_16(786);
+emit_16(851);
+emit_16(787);
+emit_16(851);
+emit_16(786);
+emit_16(851);
+emit_16(787);
+emit_16(852);
+emit_16(788);
+emit_16(852);
+emit_16(787);
+emit_16(852);
+emit_16(788);
+emit_16(853);
+emit_16(789);
+emit_16(853);
+emit_16(788);
+emit_16(853);
+emit_16(789);
+emit_16(854);
+emit_16(790);
+emit_16(854);
+emit_16(789);
+emit_16(854);
+emit_16(790);
+emit_16(855);
+emit_16(791);
+emit_16(855);
+emit_16(790);
+emit_16(855);
+emit_16(791);
+emit_16(856);
+emit_16(792);
+emit_16(856);
+emit_16(791);
+emit_16(856);
+emit_16(792);
+emit_16(857);
+emit_16(793);
+emit_16(857);
+emit_16(792);
+emit_16(857);
+emit_16(793);
+emit_16(858);
+emit_16(794);
+emit_16(858);
+emit_16(793);
+emit_16(858);
+emit_16(794);
+emit_16(859);
+emit_16(795);
+emit_16(859);
+emit_16(794);
+emit_16(859);
+emit_16(795);
+emit_16(860);
+emit_16(796);
+emit_16(860);
+emit_16(795);
+emit_16(860);
+emit_16(796);
+emit_16(861);
+emit_16(797);
+emit_16(861);
+emit_16(796);
+emit_16(861);
+emit_16(797);
+emit_16(862);
+emit_16(798);
+emit_16(862);
+emit_16(797);
+emit_16(862);
+emit_16(798);
+emit_16(863);
+emit_16(799);
+emit_16(863);
+emit_16(798);
+emit_16(863);
+emit_16(799);
+emit_16(864);
+emit_16(800);
+emit_16(864);
+emit_16(799);
+emit_16(864);
+emit_16(800);
+emit_16(865);
+emit_16(801);
+emit_16(865);
+emit_16(800);
+emit_16(865);
+emit_16(801);
+emit_16(866);
+emit_16(802);
+emit_16(866);
+emit_16(801);
+emit_16(866);
+emit_16(802);
+emit_16(867);
+emit_16(803);
+emit_16(867);
+emit_16(802);
+emit_16(867);
+emit_16(803);
+emit_16(868);
+emit_16(804);
+emit_16(868);
+emit_16(803);
+emit_16(868);
+emit_16(804);
+emit_16(869);
+emit_16(805);
+emit_16(869);
+emit_16(804);
+emit_16(869);
+emit_16(805);
+emit_16(870);
+emit_16(806);
+emit_16(870);
+emit_16(805);
+emit_16(870);
+emit_16(806);
+emit_16(871);
+emit_16(807);
+emit_16(871);
+emit_16(806);
+emit_16(871);
+emit_16(807);
+emit_16(872);
+emit_16(808);
+emit_16(872);
+emit_16(807);
+emit_16(872);
+emit_16(808);
+emit_16(873);
+emit_16(809);
+emit_16(873);
+emit_16(808);
+emit_16(873);
+emit_16(809);
+emit_16(874);
+emit_16(810);
+emit_16(874);
+emit_16(809);
+emit_16(874);
+emit_16(810);
+emit_16(875);
+emit_16(811);
+emit_16(875);
+emit_16(810);
+emit_16(875);
+emit_16(811);
+emit_16(876);
+emit_16(812);
+emit_16(876);
+emit_16(811);
+emit_16(876);
+emit_16(812);
+emit_16(877);
+emit_16(813);
+emit_16(877);
+emit_16(812);
+emit_16(877);
+emit_16(813);
+emit_16(878);
+emit_16(814);
+emit_16(878);
+emit_16(813);
+emit_16(878);
+emit_16(814);
+emit_16(879);
+emit_16(815);
+emit_16(879);
+emit_16(814);
+emit_16(879);
+emit_16(815);
+emit_16(880);
+emit_16(816);
+emit_16(880);
+emit_16(815);
+emit_16(880);
+emit_16(816);
+emit_16(881);
+emit_16(817);
+emit_16(881);
+emit_16(816);
+emit_16(881);
+emit_16(817);
+emit_16(882);
+emit_16(818);
+emit_16(882);
+emit_16(817);
+emit_16(882);
+emit_16(818);
+emit_16(883);
+emit_16(819);
+emit_16(883);
+emit_16(818);
+emit_16(883);
+emit_16(819);
+emit_16(884);
+emit_16(820);
+emit_16(884);
+emit_16(819);
+emit_16(884);
+emit_16(820);
+emit_16(885);
+emit_16(821);
+emit_16(885);
+emit_16(820);
+emit_16(885);
+emit_16(821);
+emit_16(886);
+emit_16(822);
+emit_16(886);
+emit_16(821);
+emit_16(886);
+emit_16(822);
+emit_16(887);
+emit_16(823);
+emit_16(887);
+emit_16(822);
+emit_16(887);
+emit_16(823);
+emit_16(888);
+emit_16(824);
+emit_16(888);
+emit_16(823);
+emit_16(888);
+emit_16(824);
+emit_16(889);
+emit_16(825);
+emit_16(889);
+emit_16(824);
+emit_16(889);
+emit_16(825);
+emit_16(890);
+emit_16(826);
+emit_16(890);
+emit_16(825);
+emit_16(890);
+emit_16(826);
+emit_16(891);
+emit_16(827);
+emit_16(891);
+emit_16(826);
+emit_16(891);
+emit_16(827);
+emit_16(892);
+emit_16(828);
+emit_16(892);
+emit_16(827);
+emit_16(892);
+emit_16(828);
+emit_16(893);
+emit_16(829);
+emit_16(893);
+emit_16(828);
+emit_16(893);
+emit_16(829);
+emit_16(894);
+emit_16(830);
+emit_16(894);
+emit_16(829);
+emit_16(894);
+emit_16(830);
+emit_16(895);
+emit_16(831);
+emit_16(895);
+emit_16(830);
+emit_16(896);
+emit_16(832);
+emit_16(897);
+emit_16(833);
+emit_16(897);
+emit_16(832);
+emit_16(897);
+emit_16(833);
+emit_16(898);
+emit_16(834);
+emit_16(898);
+emit_16(833);
+emit_16(898);
+emit_16(834);
+emit_16(899);
+emit_16(835);
+emit_16(899);
+emit_16(834);
+emit_16(899);
+emit_16(835);
+emit_16(900);
+emit_16(836);
+emit_16(900);
+emit_16(835);
+emit_16(900);
+emit_16(836);
+emit_16(901);
+emit_16(837);
+emit_16(901);
+emit_16(836);
+emit_16(901);
+emit_16(837);
+emit_16(902);
+emit_16(838);
+emit_16(902);
+emit_16(837);
+emit_16(902);
+emit_16(838);
+emit_16(903);
+emit_16(839);
+emit_16(903);
+emit_16(838);
+emit_16(903);
+emit_16(839);
+emit_16(904);
+emit_16(840);
+emit_16(904);
+emit_16(839);
+emit_16(904);
+emit_16(840);
+emit_16(905);
+emit_16(841);
+emit_16(905);
+emit_16(840);
+emit_16(905);
+emit_16(841);
+emit_16(906);
+emit_16(842);
+emit_16(906);
+emit_16(841);
+emit_16(906);
+emit_16(842);
+emit_16(907);
+emit_16(843);
+emit_16(907);
+emit_16(842);
+emit_16(907);
+emit_16(843);
+emit_16(908);
+emit_16(844);
+emit_16(908);
+emit_16(843);
+emit_16(908);
+emit_16(844);
+emit_16(909);
+emit_16(845);
+emit_16(909);
+emit_16(844);
+emit_16(909);
+emit_16(845);
+emit_16(910);
+emit_16(846);
+emit_16(910);
+emit_16(845);
+emit_16(910);
+emit_16(846);
+emit_16(911);
+emit_16(847);
+emit_16(911);
+emit_16(846);
+emit_16(911);
+emit_16(847);
+emit_16(912);
+emit_16(848);
+emit_16(912);
+emit_16(847);
+emit_16(912);
+emit_16(848);
+emit_16(913);
+emit_16(849);
+emit_16(913);
+emit_16(848);
+emit_16(913);
+emit_16(849);
+emit_16(914);
+emit_16(850);
+emit_16(914);
+emit_16(849);
+emit_16(914);
+emit_16(850);
+emit_16(915);
+emit_16(851);
+emit_16(915);
+emit_16(850);
+emit_16(915);
+emit_16(851);
+emit_16(916);
+emit_16(852);
+emit_16(916);
+emit_16(851);
+emit_16(916);
+emit_16(852);
+emit_16(917);
+emit_16(853);
+emit_16(917);
+emit_16(852);
+emit_16(917);
+emit_16(853);
+emit_16(918);
+emit_16(854);
+emit_16(918);
+emit_16(853);
+emit_16(918);
+emit_16(854);
+emit_16(919);
+emit_16(855);
+emit_16(919);
+emit_16(854);
+emit_16(919);
+emit_16(855);
+emit_16(920);
+emit_16(856);
+emit_16(920);
+emit_16(855);
+emit_16(920);
+emit_16(856);
+emit_16(921);
+emit_16(857);
+emit_16(921);
+emit_16(856);
+emit_16(921);
+emit_16(857);
+emit_16(922);
+emit_16(858);
+emit_16(922);
+emit_16(857);
+emit_16(922);
+emit_16(858);
+emit_16(923);
+emit_16(859);
+emit_16(923);
+emit_16(858);
+emit_16(923);
+emit_16(859);
+emit_16(924);
+emit_16(860);
+emit_16(924);
+emit_16(859);
+emit_16(924);
+emit_16(860);
+emit_16(925);
+emit_16(861);
+emit_16(925);
+emit_16(860);
+emit_16(925);
+emit_16(861);
+emit_16(926);
+emit_16(862);
+emit_16(926);
+emit_16(861);
+emit_16(926);
+emit_16(862);
+emit_16(927);
+emit_16(863);
+emit_16(927);
+emit_16(862);
+emit_16(927);
+emit_16(863);
+emit_16(928);
+emit_16(864);
+emit_16(928);
+emit_16(863);
+emit_16(928);
+emit_16(864);
+emit_16(929);
+emit_16(865);
+emit_16(929);
+emit_16(864);
+emit_16(929);
+emit_16(865);
+emit_16(930);
+emit_16(866);
+emit_16(930);
+emit_16(865);
+emit_16(930);
+emit_16(866);
+emit_16(931);
+emit_16(867);
+emit_16(931);
+emit_16(866);
+emit_16(931);
+emit_16(867);
+emit_16(932);
+emit_16(868);
+emit_16(932);
+emit_16(867);
+emit_16(932);
+emit_16(868);
+emit_16(933);
+emit_16(869);
+emit_16(933);
+emit_16(868);
+emit_16(933);
+emit_16(869);
+emit_16(934);
+emit_16(870);
+emit_16(934);
+emit_16(869);
+emit_16(934);
+emit_16(870);
+emit_16(935);
+emit_16(871);
+emit_16(935);
+emit_16(870);
+emit_16(935);
+emit_16(871);
+emit_16(936);
+emit_16(872);
+emit_16(936);
+emit_16(871);
+emit_16(936);
+emit_16(872);
+emit_16(937);
+emit_16(873);
+emit_16(937);
+emit_16(872);
+emit_16(937);
+emit_16(873);
+emit_16(938);
+emit_16(874);
+emit_16(938);
+emit_16(873);
+emit_16(938);
+emit_16(874);
+emit_16(939);
+emit_16(875);
+emit_16(939);
+emit_16(874);
+emit_16(939);
+emit_16(875);
+emit_16(940);
+emit_16(876);
+emit_16(940);
+emit_16(875);
+emit_16(940);
+emit_16(876);
+emit_16(941);
+emit_16(877);
+emit_16(941);
+emit_16(876);
+emit_16(941);
+emit_16(877);
+emit_16(942);
+emit_16(878);
+emit_16(942);
+emit_16(877);
+emit_16(942);
+emit_16(878);
+emit_16(943);
+emit_16(879);
+emit_16(943);
+emit_16(878);
+emit_16(943);
+emit_16(879);
+emit_16(944);
+emit_16(880);
+emit_16(944);
+emit_16(879);
+emit_16(944);
+emit_16(880);
+emit_16(945);
+emit_16(881);
+emit_16(945);
+emit_16(880);
+emit_16(945);
+emit_16(881);
+emit_16(946);
+emit_16(882);
+emit_16(946);
+emit_16(881);
+emit_16(946);
+emit_16(882);
+emit_16(947);
+emit_16(883);
+emit_16(947);
+emit_16(882);
+emit_16(947);
+emit_16(883);
+emit_16(948);
+emit_16(884);
+emit_16(948);
+emit_16(883);
+emit_16(948);
+emit_16(884);
+emit_16(949);
+emit_16(885);
+emit_16(949);
+emit_16(884);
+emit_16(949);
+emit_16(885);
+emit_16(950);
+emit_16(886);
+emit_16(950);
+emit_16(885);
+emit_16(950);
+emit_16(886);
+emit_16(951);
+emit_16(887);
+emit_16(951);
+emit_16(886);
+emit_16(951);
+emit_16(887);
+emit_16(952);
+emit_16(888);
+emit_16(952);
+emit_16(887);
+emit_16(952);
+emit_16(888);
+emit_16(953);
+emit_16(889);
+emit_16(953);
+emit_16(888);
+emit_16(953);
+emit_16(889);
+emit_16(954);
+emit_16(890);
+emit_16(954);
+emit_16(889);
+emit_16(954);
+emit_16(890);
+emit_16(955);
+emit_16(891);
+emit_16(955);
+emit_16(890);
+emit_16(955);
+emit_16(891);
+emit_16(956);
+emit_16(892);
+emit_16(956);
+emit_16(891);
+emit_16(956);
+emit_16(892);
+emit_16(957);
+emit_16(893);
+emit_16(957);
+emit_16(892);
+emit_16(957);
+emit_16(893);
+emit_16(958);
+emit_16(894);
+emit_16(958);
+emit_16(893);
+emit_16(958);
+emit_16(894);
+emit_16(959);
+emit_16(895);
+emit_16(959);
+emit_16(894);
+emit_16(960);
+emit_16(896);
+emit_16(961);
+emit_16(897);
+emit_16(961);
+emit_16(896);
+emit_16(961);
+emit_16(897);
+emit_16(962);
+emit_16(898);
+emit_16(962);
+emit_16(897);
+emit_16(962);
+emit_16(898);
+emit_16(963);
+emit_16(899);
+emit_16(963);
+emit_16(898);
+emit_16(963);
+emit_16(899);
+emit_16(964);
+emit_16(900);
+emit_16(964);
+emit_16(899);
+emit_16(964);
+emit_16(900);
+emit_16(965);
+emit_16(901);
+emit_16(965);
+emit_16(900);
+emit_16(965);
+emit_16(901);
+emit_16(966);
+emit_16(902);
+emit_16(966);
+emit_16(901);
+emit_16(966);
+emit_16(902);
+emit_16(967);
+emit_16(903);
+emit_16(967);
+emit_16(902);
+emit_16(967);
+emit_16(903);
+emit_16(968);
+emit_16(904);
+emit_16(968);
+emit_16(903);
+emit_16(968);
+emit_16(904);
+emit_16(969);
+emit_16(905);
+emit_16(969);
+emit_16(904);
+emit_16(969);
+emit_16(905);
+emit_16(970);
+emit_16(906);
+emit_16(970);
+emit_16(905);
+emit_16(970);
+emit_16(906);
+emit_16(971);
+emit_16(907);
+emit_16(971);
+emit_16(906);
+emit_16(971);
+emit_16(907);
+emit_16(972);
+emit_16(908);
+emit_16(972);
+emit_16(907);
+emit_16(972);
+emit_16(908);
+emit_16(973);
+emit_16(909);
+emit_16(973);
+emit_16(908);
+emit_16(973);
+emit_16(909);
+emit_16(974);
+emit_16(910);
+emit_16(974);
+emit_16(909);
+emit_16(974);
+emit_16(910);
+emit_16(975);
+emit_16(911);
+emit_16(975);
+emit_16(910);
+emit_16(975);
+emit_16(911);
+emit_16(976);
+emit_16(912);
+emit_16(976);
+emit_16(911);
+emit_16(976);
+emit_16(912);
+emit_16(977);
+emit_16(913);
+emit_16(977);
+emit_16(912);
+emit_16(977);
+emit_16(913);
+emit_16(978);
+emit_16(914);
+emit_16(978);
+emit_16(913);
+emit_16(978);
+emit_16(914);
+emit_16(979);
+emit_16(915);
+emit_16(979);
+emit_16(914);
+emit_16(979);
+emit_16(915);
+emit_16(980);
+emit_16(916);
+emit_16(980);
+emit_16(915);
+emit_16(980);
+emit_16(916);
+emit_16(981);
+emit_16(917);
+emit_16(981);
+emit_16(916);
+emit_16(981);
+emit_16(917);
+emit_16(982);
+emit_16(918);
+emit_16(982);
+emit_16(917);
+emit_16(982);
+emit_16(918);
+emit_16(983);
+emit_16(919);
+emit_16(983);
+emit_16(918);
+emit_16(983);
+emit_16(919);
+emit_16(984);
+emit_16(920);
+emit_16(984);
+emit_16(919);
+emit_16(984);
+emit_16(920);
+emit_16(985);
+emit_16(921);
+emit_16(985);
+emit_16(920);
+emit_16(985);
+emit_16(921);
+emit_16(986);
+emit_16(922);
+emit_16(986);
+emit_16(921);
+emit_16(986);
+emit_16(922);
+emit_16(987);
+emit_16(923);
+emit_16(987);
+emit_16(922);
+emit_16(987);
+emit_16(923);
+emit_16(988);
+emit_16(924);
+emit_16(988);
+emit_16(923);
+emit_16(988);
+emit_16(924);
+emit_16(989);
+emit_16(925);
+emit_16(989);
+emit_16(924);
+emit_16(989);
+emit_16(925);
+emit_16(990);
+emit_16(926);
+emit_16(990);
+emit_16(925);
+emit_16(990);
+emit_16(926);
+emit_16(991);
+emit_16(927);
+emit_16(991);
+emit_16(926);
+emit_16(991);
+emit_16(927);
+emit_16(992);
+emit_16(928);
+emit_16(992);
+emit_16(927);
+emit_16(992);
+emit_16(928);
+emit_16(993);
+emit_16(929);
+emit_16(993);
+emit_16(928);
+emit_16(993);
+emit_16(929);
+emit_16(994);
+emit_16(930);
+emit_16(994);
+emit_16(929);
+emit_16(994);
+emit_16(930);
+emit_16(995);
+emit_16(931);
+emit_16(995);
+emit_16(930);
+emit_16(995);
+emit_16(931);
+emit_16(996);
+emit_16(932);
+emit_16(996);
+emit_16(931);
+emit_16(996);
+emit_16(932);
+emit_16(997);
+emit_16(933);
+emit_16(997);
+emit_16(932);
+emit_16(997);
+emit_16(933);
+emit_16(998);
+emit_16(934);
+emit_16(998);
+emit_16(933);
+emit_16(998);
+emit_16(934);
+emit_16(999);
+emit_16(935);
+emit_16(999);
+emit_16(934);
+emit_16(999);
+emit_16(935);
+emit_16(1000);
+emit_16(936);
+emit_16(1000);
+emit_16(935);
+emit_16(1000);
+emit_16(936);
+emit_16(1001);
+emit_16(937);
+emit_16(1001);
+emit_16(936);
+emit_16(1001);
+emit_16(937);
+emit_16(1002);
+emit_16(938);
+emit_16(1002);
+emit_16(937);
+emit_16(1002);
+emit_16(938);
+emit_16(1003);
+emit_16(939);
+emit_16(1003);
+emit_16(938);
+emit_16(1003);
+emit_16(939);
+emit_16(1004);
+emit_16(940);
+emit_16(1004);
+emit_16(939);
+emit_16(1004);
+emit_16(940);
+emit_16(1005);
+emit_16(941);
+emit_16(1005);
+emit_16(940);
+emit_16(1005);
+emit_16(941);
+emit_16(1006);
+emit_16(942);
+emit_16(1006);
+emit_16(941);
+emit_16(1006);
+emit_16(942);
+emit_16(1007);
+emit_16(943);
+emit_16(1007);
+emit_16(942);
+emit_16(1007);
+emit_16(943);
+emit_16(1008);
+emit_16(944);
+emit_16(1008);
+emit_16(943);
+emit_16(1008);
+emit_16(944);
+emit_16(1009);
+emit_16(945);
+emit_16(1009);
+emit_16(944);
+emit_16(1009);
+emit_16(945);
+emit_16(1010);
+emit_16(946);
+emit_16(1010);
+emit_16(945);
+emit_16(1010);
+emit_16(946);
+emit_16(1011);
+emit_16(947);
+emit_16(1011);
+emit_16(946);
+emit_16(1011);
+emit_16(947);
+emit_16(1012);
+emit_16(948);
+emit_16(1012);
+emit_16(947);
+emit_16(1012);
+emit_16(948);
+emit_16(1013);
+emit_16(949);
+emit_16(1013);
+emit_16(948);
+emit_16(1013);
+emit_16(949);
+emit_16(1014);
+emit_16(950);
+emit_16(1014);
+emit_16(949);
+emit_16(1014);
+emit_16(950);
+emit_16(1015);
+emit_16(951);
+emit_16(1015);
+emit_16(950);
+emit_16(1015);
+emit_16(951);
+emit_16(1016);
+emit_16(952);
+emit_16(1016);
+emit_16(951);
+emit_16(1016);
+emit_16(952);
+emit_16(1017);
+emit_16(953);
+emit_16(1017);
+emit_16(952);
+emit_16(1017);
+emit_16(953);
+emit_16(1018);
+emit_16(954);
+emit_16(1018);
+emit_16(953);
+emit_16(1018);
+emit_16(954);
+emit_16(1019);
+emit_16(955);
+emit_16(1019);
+emit_16(954);
+emit_16(1019);
+emit_16(955);
+emit_16(1020);
+emit_16(956);
+emit_16(1020);
+emit_16(955);
+emit_16(1020);
+emit_16(956);
+emit_16(1021);
+emit_16(957);
+emit_16(1021);
+emit_16(956);
+emit_16(1021);
+emit_16(957);
+emit_16(1022);
+emit_16(958);
+emit_16(1022);
+emit_16(957);
+emit_16(1022);
+emit_16(958);
+emit_16(1023);
+emit_16(959);
+emit_16(1023);
+emit_16(958);
+emit_16(1024);
+emit_16(960);
+emit_16(1025);
+emit_16(961);
+emit_16(1025);
+emit_16(960);
+emit_16(1025);
+emit_16(961);
+emit_16(1026);
+emit_16(962);
+emit_16(1026);
+emit_16(961);
+emit_16(1026);
+emit_16(962);
+emit_16(1027);
+emit_16(963);
+emit_16(1027);
+emit_16(962);
+emit_16(1027);
+emit_16(963);
+emit_16(1028);
+emit_16(964);
+emit_16(1028);
+emit_16(963);
+emit_16(1028);
+emit_16(964);
+emit_16(1029);
+emit_16(965);
+emit_16(1029);
+emit_16(964);
+emit_16(1029);
+emit_16(965);
+emit_16(1030);
+emit_16(966);
+emit_16(1030);
+emit_16(965);
+emit_16(1030);
+emit_16(966);
+emit_16(1031);
+emit_16(967);
+emit_16(1031);
+emit_16(966);
+emit_16(1031);
+emit_16(967);
+emit_16(1032);
+emit_16(968);
+emit_16(1032);
+emit_16(967);
+emit_16(1032);
+emit_16(968);
+emit_16(1033);
+emit_16(969);
+emit_16(1033);
+emit_16(968);
+emit_16(1033);
+emit_16(969);
+emit_16(1034);
+emit_16(970);
+emit_16(1034);
+emit_16(969);
+emit_16(1034);
+emit_16(970);
+emit_16(1035);
+emit_16(971);
+emit_16(1035);
+emit_16(970);
+emit_16(1035);
+emit_16(971);
+emit_16(1036);
+emit_16(972);
+emit_16(1036);
+emit_16(971);
+emit_16(1036);
+emit_16(972);
+emit_16(1037);
+emit_16(973);
+emit_16(1037);
+emit_16(972);
+emit_16(1037);
+emit_16(973);
+emit_16(1038);
+emit_16(974);
+emit_16(1038);
+emit_16(973);
+emit_16(1038);
+emit_16(974);
+emit_16(1039);
+emit_16(975);
+emit_16(1039);
+emit_16(974);
+emit_16(1039);
+emit_16(975);
+emit_16(1040);
+emit_16(976);
+emit_16(1040);
+emit_16(975);
+emit_16(1040);
+emit_16(976);
+emit_16(1041);
+emit_16(977);
+emit_16(1041);
+emit_16(976);
+emit_16(1041);
+emit_16(977);
+emit_16(1042);
+emit_16(978);
+emit_16(1042);
+emit_16(977);
+emit_16(1042);
+emit_16(978);
+emit_16(1043);
+emit_16(979);
+emit_16(1043);
+emit_16(978);
+emit_16(1043);
+emit_16(979);
+emit_16(1044);
+emit_16(980);
+emit_16(1044);
+emit_16(979);
+emit_16(1044);
+emit_16(980);
+emit_16(1045);
+emit_16(981);
+emit_16(1045);
+emit_16(980);
+emit_16(1045);
+emit_16(981);
+emit_16(1046);
+emit_16(982);
+emit_16(1046);
+emit_16(981);
+emit_16(1046);
+emit_16(982);
+emit_16(1047);
+emit_16(983);
+emit_16(1047);
+emit_16(982);
+emit_16(1047);
+emit_16(983);
+emit_16(1048);
+emit_16(984);
+emit_16(1048);
+emit_16(983);
+emit_16(1048);
+emit_16(984);
+emit_16(1049);
+emit_16(985);
+emit_16(1049);
+emit_16(984);
+emit_16(1049);
+emit_16(985);
+emit_16(1050);
+emit_16(986);
+emit_16(1050);
+emit_16(985);
+emit_16(1050);
+emit_16(986);
+emit_16(1051);
+emit_16(987);
+emit_16(1051);
+emit_16(986);
+emit_16(1051);
+emit_16(987);
+emit_16(1052);
+emit_16(988);
+emit_16(1052);
+emit_16(987);
+emit_16(1052);
+emit_16(988);
+emit_16(1053);
+emit_16(989);
+emit_16(1053);
+emit_16(988);
+emit_16(1053);
+emit_16(989);
+emit_16(1054);
+emit_16(990);
+emit_16(1054);
+emit_16(989);
+emit_16(1054);
+emit_16(990);
+emit_16(1055);
+emit_16(991);
+emit_16(1055);
+emit_16(990);
+emit_16(1055);
+emit_16(991);
+emit_16(1056);
+emit_16(992);
+emit_16(1056);
+emit_16(991);
+emit_16(1056);
+emit_16(992);
+emit_16(1057);
+emit_16(993);
+emit_16(1057);
+emit_16(992);
+emit_16(1057);
+emit_16(993);
+emit_16(1058);
+emit_16(994);
+emit_16(1058);
+emit_16(993);
+emit_16(1058);
+emit_16(994);
+emit_16(1059);
+emit_16(995);
+emit_16(1059);
+emit_16(994);
+emit_16(1059);
+emit_16(995);
+emit_16(1060);
+emit_16(996);
+emit_16(1060);
+emit_16(995);
+emit_16(1060);
+emit_16(996);
+emit_16(1061);
+emit_16(997);
+emit_16(1061);
+emit_16(996);
+emit_16(1061);
+emit_16(997);
+emit_16(1062);
+emit_16(998);
+emit_16(1062);
+emit_16(997);
+emit_16(1062);
+emit_16(998);
+emit_16(1063);
+emit_16(999);
+emit_16(1063);
+emit_16(998);
+emit_16(1063);
+emit_16(999);
+emit_16(1064);
+emit_16(1000);
+emit_16(1064);
+emit_16(999);
+emit_16(1064);
+emit_16(1000);
+emit_16(1065);
+emit_16(1001);
+emit_16(1065);
+emit_16(1000);
+emit_16(1065);
+emit_16(1001);
+emit_16(1066);
+emit_16(1002);
+emit_16(1066);
+emit_16(1001);
+emit_16(1066);
+emit_16(1002);
+emit_16(1067);
+emit_16(1003);
+emit_16(1067);
+emit_16(1002);
+emit_16(1067);
+emit_16(1003);
+emit_16(1068);
+emit_16(1004);
+emit_16(1068);
+emit_16(1003);
+emit_16(1068);
+emit_16(1004);
+emit_16(1069);
+emit_16(1005);
+emit_16(1069);
+emit_16(1004);
+emit_16(1069);
+emit_16(1005);
+emit_16(1070);
+emit_16(1006);
+emit_16(1070);
+emit_16(1005);
+emit_16(1070);
+emit_16(1006);
+emit_16(1071);
+emit_16(1007);
+emit_16(1071);
+emit_16(1006);
+emit_16(1071);
+emit_16(1007);
+emit_16(1072);
+emit_16(1008);
+emit_16(1072);
+emit_16(1007);
+emit_16(1072);
+emit_16(1008);
+emit_16(1073);
+emit_16(1009);
+emit_16(1073);
+emit_16(1008);
+emit_16(1073);
+emit_16(1009);
+emit_16(1074);
+emit_16(1010);
+emit_16(1074);
+emit_16(1009);
+emit_16(1074);
+emit_16(1010);
+emit_16(1075);
+emit_16(1011);
+emit_16(1075);
+emit_16(1010);
+emit_16(1075);
+emit_16(1011);
+emit_16(1076);
+emit_16(1012);
+emit_16(1076);
+emit_16(1011);
+emit_16(1076);
+emit_16(1012);
+emit_16(1077);
+emit_16(1013);
+emit_16(1077);
+emit_16(1012);
+emit_16(1077);
+emit_16(1013);
+emit_16(1078);
+emit_16(1014);
+emit_16(1078);
+emit_16(1013);
+emit_16(1078);
+emit_16(1014);
+emit_16(1079);
+emit_16(1015);
+emit_16(1079);
+emit_16(1014);
+emit_16(1079);
+emit_16(1015);
+emit_16(1080);
+emit_16(1016);
+emit_16(1080);
+emit_16(1015);
+emit_16(1080);
+emit_16(1016);
+emit_16(1081);
+emit_16(1017);
+emit_16(1081);
+emit_16(1016);
+emit_16(1081);
+emit_16(1017);
+emit_16(1082);
+emit_16(1018);
+emit_16(1082);
+emit_16(1017);
+emit_16(1082);
+emit_16(1018);
+emit_16(1083);
+emit_16(1019);
+emit_16(1083);
+emit_16(1018);
+emit_16(1083);
+emit_16(1019);
+emit_16(1084);
+emit_16(1020);
+emit_16(1084);
+emit_16(1019);
+emit_16(1084);
+emit_16(1020);
+emit_16(1085);
+emit_16(1021);
+emit_16(1085);
+emit_16(1020);
+emit_16(1085);
+emit_16(1021);
+emit_16(1086);
+emit_16(1022);
+emit_16(1086);
+emit_16(1021);
+emit_16(1086);
+emit_16(1022);
+emit_16(1087);
+emit_16(1023);
+emit_16(1087);
+emit_16(1022);
+emit_16(1088);
+emit_16(1024);
+emit_16(1089);
+emit_16(1025);
+emit_16(1089);
+emit_16(1024);
+emit_16(1089);
+emit_16(1025);
+emit_16(1090);
+emit_16(1026);
+emit_16(1090);
+emit_16(1025);
+emit_16(1090);
+emit_16(1026);
+emit_16(1091);
+emit_16(1027);
+emit_16(1091);
+emit_16(1026);
+emit_16(1091);
+emit_16(1027);
+emit_16(1092);
+emit_16(1028);
+emit_16(1092);
+emit_16(1027);
+emit_16(1092);
+emit_16(1028);
+emit_16(1093);
+emit_16(1029);
+emit_16(1093);
+emit_16(1028);
+emit_16(1093);
+emit_16(1029);
+emit_16(1094);
+emit_16(1030);
+emit_16(1094);
+emit_16(1029);
+emit_16(1094);
+emit_16(1030);
+emit_16(1095);
+emit_16(1031);
+emit_16(1095);
+emit_16(1030);
+emit_16(1095);
+emit_16(1031);
+emit_16(1096);
+emit_16(1032);
+emit_16(1096);
+emit_16(1031);
+emit_16(1096);
+emit_16(1032);
+emit_16(1097);
+emit_16(1033);
+emit_16(1097);
+emit_16(1032);
+emit_16(1097);
+emit_16(1033);
+emit_16(1098);
+emit_16(1034);
+emit_16(1098);
+emit_16(1033);
+emit_16(1098);
+emit_16(1034);
+emit_16(1099);
+emit_16(1035);
+emit_16(1099);
+emit_16(1034);
+emit_16(1099);
+emit_16(1035);
+emit_16(1100);
+emit_16(1036);
+emit_16(1100);
+emit_16(1035);
+emit_16(1100);
+emit_16(1036);
+emit_16(1101);
+emit_16(1037);
+emit_16(1101);
+emit_16(1036);
+emit_16(1101);
+emit_16(1037);
+emit_16(1102);
+emit_16(1038);
+emit_16(1102);
+emit_16(1037);
+emit_16(1102);
+emit_16(1038);
+emit_16(1103);
+emit_16(1039);
+emit_16(1103);
+emit_16(1038);
+emit_16(1103);
+emit_16(1039);
+emit_16(1104);
+emit_16(1040);
+emit_16(1104);
+emit_16(1039);
+emit_16(1104);
+emit_16(1040);
+emit_16(1105);
+emit_16(1041);
+emit_16(1105);
+emit_16(1040);
+emit_16(1105);
+emit_16(1041);
+emit_16(1106);
+emit_16(1042);
+emit_16(1106);
+emit_16(1041);
+emit_16(1106);
+emit_16(1042);
+emit_16(1107);
+emit_16(1043);
+emit_16(1107);
+emit_16(1042);
+emit_16(1107);
+emit_16(1043);
+emit_16(1108);
+emit_16(1044);
+emit_16(1108);
+emit_16(1043);
+emit_16(1108);
+emit_16(1044);
+emit_16(1109);
+emit_16(1045);
+emit_16(1109);
+emit_16(1044);
+emit_16(1109);
+emit_16(1045);
+emit_16(1110);
+emit_16(1046);
+emit_16(1110);
+emit_16(1045);
+emit_16(1110);
+emit_16(1046);
+emit_16(1111);
+emit_16(1047);
+emit_16(1111);
+emit_16(1046);
+emit_16(1111);
+emit_16(1047);
+emit_16(1112);
+emit_16(1048);
+emit_16(1112);
+emit_16(1047);
+emit_16(1112);
+emit_16(1048);
+emit_16(1113);
+emit_16(1049);
+emit_16(1113);
+emit_16(1048);
+emit_16(1113);
+emit_16(1049);
+emit_16(1114);
+emit_16(1050);
+emit_16(1114);
+emit_16(1049);
+emit_16(1114);
+emit_16(1050);
+emit_16(1115);
+emit_16(1051);
+emit_16(1115);
+emit_16(1050);
+emit_16(1115);
+emit_16(1051);
+emit_16(1116);
+emit_16(1052);
+emit_16(1116);
+emit_16(1051);
+emit_16(1116);
+emit_16(1052);
+emit_16(1117);
+emit_16(1053);
+emit_16(1117);
+emit_16(1052);
+emit_16(1117);
+emit_16(1053);
+emit_16(1118);
+emit_16(1054);
+emit_16(1118);
+emit_16(1053);
+emit_16(1118);
+emit_16(1054);
+emit_16(1119);
+emit_16(1055);
+emit_16(1119);
+emit_16(1054);
+emit_16(1119);
+emit_16(1055);
+emit_16(1120);
+emit_16(1056);
+emit_16(1120);
+emit_16(1055);
+emit_16(1120);
+emit_16(1056);
+emit_16(1121);
+emit_16(1057);
+emit_16(1121);
+emit_16(1056);
+emit_16(1121);
+emit_16(1057);
+emit_16(1122);
+emit_16(1058);
+emit_16(1122);
+emit_16(1057);
+emit_16(1122);
+emit_16(1058);
+emit_16(1123);
+emit_16(1059);
+emit_16(1123);
+emit_16(1058);
+emit_16(1123);
+emit_16(1059);
+emit_16(1124);
+emit_16(1060);
+emit_16(1124);
+emit_16(1059);
+emit_16(1124);
+emit_16(1060);
+emit_16(1125);
+emit_16(1061);
+emit_16(1125);
+emit_16(1060);
+emit_16(1125);
+emit_16(1061);
+emit_16(1126);
+emit_16(1062);
+emit_16(1126);
+emit_16(1061);
+emit_16(1126);
+emit_16(1062);
+emit_16(1127);
+emit_16(1063);
+emit_16(1127);
+emit_16(1062);
+emit_16(1127);
+emit_16(1063);
+emit_16(1128);
+emit_16(1064);
+emit_16(1128);
+emit_16(1063);
+emit_16(1128);
+emit_16(1064);
+emit_16(1129);
+emit_16(1065);
+emit_16(1129);
+emit_16(1064);
+emit_16(1129);
+emit_16(1065);
+emit_16(1130);
+emit_16(1066);
+emit_16(1130);
+emit_16(1065);
+emit_16(1130);
+emit_16(1066);
+emit_16(1131);
+emit_16(1067);
+emit_16(1131);
+emit_16(1066);
+emit_16(1131);
+emit_16(1067);
+emit_16(1132);
+emit_16(1068);
+emit_16(1132);
+emit_16(1067);
+emit_16(1132);
+emit_16(1068);
+emit_16(1133);
+emit_16(1069);
+emit_16(1133);
+emit_16(1068);
+emit_16(1133);
+emit_16(1069);
+emit_16(1134);
+emit_16(1070);
+emit_16(1134);
+emit_16(1069);
+emit_16(1134);
+emit_16(1070);
+emit_16(1135);
+emit_16(1071);
+emit_16(1135);
+emit_16(1070);
+emit_16(1135);
+emit_16(1071);
+emit_16(1136);
+emit_16(1072);
+emit_16(1136);
+emit_16(1071);
+emit_16(1136);
+emit_16(1072);
+emit_16(1137);
+emit_16(1073);
+emit_16(1137);
+emit_16(1072);
+emit_16(1137);
+emit_16(1073);
+emit_16(1138);
+emit_16(1074);
+emit_16(1138);
+emit_16(1073);
+emit_16(1138);
+emit_16(1074);
+emit_16(1139);
+emit_16(1075);
+emit_16(1139);
+emit_16(1074);
+emit_16(1139);
+emit_16(1075);
+emit_16(1140);
+emit_16(1076);
+emit_16(1140);
+emit_16(1075);
+emit_16(1140);
+emit_16(1076);
+emit_16(1141);
+emit_16(1077);
+emit_16(1141);
+emit_16(1076);
+emit_16(1141);
+emit_16(1077);
+emit_16(1142);
+emit_16(1078);
+emit_16(1142);
+emit_16(1077);
+emit_16(1142);
+emit_16(1078);
+emit_16(1143);
+emit_16(1079);
+emit_16(1143);
+emit_16(1078);
+emit_16(1143);
+emit_16(1079);
+emit_16(1144);
+emit_16(1080);
+emit_16(1144);
+emit_16(1079);
+emit_16(1144);
+emit_16(1080);
+emit_16(1145);
+emit_16(1081);
+emit_16(1145);
+emit_16(1080);
+emit_16(1145);
+emit_16(1081);
+emit_16(1146);
+emit_16(1082);
+emit_16(1146);
+emit_16(1081);
+emit_16(1146);
+emit_16(1082);
+emit_16(1147);
+emit_16(1083);
+emit_16(1147);
+emit_16(1082);
+emit_16(1147);
+emit_16(1083);
+emit_16(1148);
+emit_16(1084);
+emit_16(1148);
+emit_16(1083);
+emit_16(1148);
+emit_16(1084);
+emit_16(1149);
+emit_16(1085);
+emit_16(1149);
+emit_16(1084);
+emit_16(1149);
+emit_16(1085);
+emit_16(1150);
+emit_16(1086);
+emit_16(1150);
+emit_16(1085);
+emit_16(1150);
+emit_16(1086);
+emit_16(1151);
+emit_16(1087);
+emit_16(1151);
+emit_16(1086);
+emit_16(1152);
+emit_16(1088);
+emit_16(1153);
+emit_16(1089);
+emit_16(1153);
+emit_16(1088);
+emit_16(1153);
+emit_16(1089);
+emit_16(1154);
+emit_16(1090);
+emit_16(1154);
+emit_16(1089);
+emit_16(1154);
+emit_16(1090);
+emit_16(1155);
+emit_16(1091);
+emit_16(1155);
+emit_16(1090);
+emit_16(1155);
+emit_16(1091);
+emit_16(1156);
+emit_16(1092);
+emit_16(1156);
+emit_16(1091);
+emit_16(1156);
+emit_16(1092);
+emit_16(1157);
+emit_16(1093);
+emit_16(1157);
+emit_16(1092);
+emit_16(1157);
+emit_16(1093);
+emit_16(1158);
+emit_16(1094);
+emit_16(1158);
+emit_16(1093);
+emit_16(1158);
+emit_16(1094);
+emit_16(1159);
+emit_16(1095);
+emit_16(1159);
+emit_16(1094);
+emit_16(1159);
+emit_16(1095);
+emit_16(1160);
+emit_16(1096);
+emit_16(1160);
+emit_16(1095);
+emit_16(1160);
+emit_16(1096);
+emit_16(1161);
+emit_16(1097);
+emit_16(1161);
+emit_16(1096);
+emit_16(1161);
+emit_16(1097);
+emit_16(1162);
+emit_16(1098);
+emit_16(1162);
+emit_16(1097);
+emit_16(1162);
+emit_16(1098);
+emit_16(1163);
+emit_16(1099);
+emit_16(1163);
+emit_16(1098);
+emit_16(1163);
+emit_16(1099);
+emit_16(1164);
+emit_16(1100);
+emit_16(1164);
+emit_16(1099);
+emit_16(1164);
+emit_16(1100);
+emit_16(1165);
+emit_16(1101);
+emit_16(1165);
+emit_16(1100);
+emit_16(1165);
+emit_16(1101);
+emit_16(1166);
+emit_16(1102);
+emit_16(1166);
+emit_16(1101);
+emit_16(1166);
+emit_16(1102);
+emit_16(1167);
+emit_16(1103);
+emit_16(1167);
+emit_16(1102);
+emit_16(1167);
+emit_16(1103);
+emit_16(1168);
+emit_16(1104);
+emit_16(1168);
+emit_16(1103);
+emit_16(1168);
+emit_16(1104);
+emit_16(1169);
+emit_16(1105);
+emit_16(1169);
+emit_16(1104);
+emit_16(1169);
+emit_16(1105);
+emit_16(1170);
+emit_16(1106);
+emit_16(1170);
+emit_16(1105);
+emit_16(1170);
+emit_16(1106);
+emit_16(1171);
+emit_16(1107);
+emit_16(1171);
+emit_16(1106);
+emit_16(1171);
+emit_16(1107);
+emit_16(1172);
+emit_16(1108);
+emit_16(1172);
+emit_16(1107);
+emit_16(1172);
+emit_16(1108);
+emit_16(1173);
+emit_16(1109);
+emit_16(1173);
+emit_16(1108);
+emit_16(1173);
+emit_16(1109);
+emit_16(1174);
+emit_16(1110);
+emit_16(1174);
+emit_16(1109);
+emit_16(1174);
+emit_16(1110);
+emit_16(1175);
+emit_16(1111);
+emit_16(1175);
+emit_16(1110);
+emit_16(1175);
+emit_16(1111);
+emit_16(1176);
+emit_16(1112);
+emit_16(1176);
+emit_16(1111);
+emit_16(1176);
+emit_16(1112);
+emit_16(1177);
+emit_16(1113);
+emit_16(1177);
+emit_16(1112);
+emit_16(1177);
+emit_16(1113);
+emit_16(1178);
+emit_16(1114);
+emit_16(1178);
+emit_16(1113);
+emit_16(1178);
+emit_16(1114);
+emit_16(1179);
+emit_16(1115);
+emit_16(1179);
+emit_16(1114);
+emit_16(1179);
+emit_16(1115);
+emit_16(1180);
+emit_16(1116);
+emit_16(1180);
+emit_16(1115);
+emit_16(1180);
+emit_16(1116);
+emit_16(1181);
+emit_16(1117);
+emit_16(1181);
+emit_16(1116);
+emit_16(1181);
+emit_16(1117);
+emit_16(1182);
+emit_16(1118);
+emit_16(1182);
+emit_16(1117);
+emit_16(1182);
+emit_16(1118);
+emit_16(1183);
+emit_16(1119);
+emit_16(1183);
+emit_16(1118);
+emit_16(1183);
+emit_16(1119);
+emit_16(1184);
+emit_16(1120);
+emit_16(1184);
+emit_16(1119);
+emit_16(1184);
+emit_16(1120);
+emit_16(1185);
+emit_16(1121);
+emit_16(1185);
+emit_16(1120);
+emit_16(1185);
+emit_16(1121);
+emit_16(1186);
+emit_16(1122);
+emit_16(1186);
+emit_16(1121);
+emit_16(1186);
+emit_16(1122);
+emit_16(1187);
+emit_16(1123);
+emit_16(1187);
+emit_16(1122);
+emit_16(1187);
+emit_16(1123);
+emit_16(1188);
+emit_16(1124);
+emit_16(1188);
+emit_16(1123);
+emit_16(1188);
+emit_16(1124);
+emit_16(1189);
+emit_16(1125);
+emit_16(1189);
+emit_16(1124);
+emit_16(1189);
+emit_16(1125);
+emit_16(1190);
+emit_16(1126);
+emit_16(1190);
+emit_16(1125);
+emit_16(1190);
+emit_16(1126);
+emit_16(1191);
+emit_16(1127);
+emit_16(1191);
+emit_16(1126);
+emit_16(1191);
+emit_16(1127);
+emit_16(1192);
+emit_16(1128);
+emit_16(1192);
+emit_16(1127);
+emit_16(1192);
+emit_16(1128);
+emit_16(1193);
+emit_16(1129);
+emit_16(1193);
+emit_16(1128);
+emit_16(1193);
+emit_16(1129);
+emit_16(1194);
+emit_16(1130);
+emit_16(1194);
+emit_16(1129);
+emit_16(1194);
+emit_16(1130);
+emit_16(1195);
+emit_16(1131);
+emit_16(1195);
+emit_16(1130);
+emit_16(1195);
+emit_16(1131);
+emit_16(1196);
+emit_16(1132);
+emit_16(1196);
+emit_16(1131);
+emit_16(1196);
+emit_16(1132);
+emit_16(1197);
+emit_16(1133);
+emit_16(1197);
+emit_16(1132);
+emit_16(1197);
+emit_16(1133);
+emit_16(1198);
+emit_16(1134);
+emit_16(1198);
+emit_16(1133);
+emit_16(1198);
+emit_16(1134);
+emit_16(1199);
+emit_16(1135);
+emit_16(1199);
+emit_16(1134);
+emit_16(1199);
+emit_16(1135);
+emit_16(1200);
+emit_16(1136);
+emit_16(1200);
+emit_16(1135);
+emit_16(1200);
+emit_16(1136);
+emit_16(1201);
+emit_16(1137);
+emit_16(1201);
+emit_16(1136);
+emit_16(1201);
+emit_16(1137);
+emit_16(1202);
+emit_16(1138);
+emit_16(1202);
+emit_16(1137);
+emit_16(1202);
+emit_16(1138);
+emit_16(1203);
+emit_16(1139);
+emit_16(1203);
+emit_16(1138);
+emit_16(1203);
+emit_16(1139);
+emit_16(1204);
+emit_16(1140);
+emit_16(1204);
+emit_16(1139);
+emit_16(1204);
+emit_16(1140);
+emit_16(1205);
+emit_16(1141);
+emit_16(1205);
+emit_16(1140);
+emit_16(1205);
+emit_16(1141);
+emit_16(1206);
+emit_16(1142);
+emit_16(1206);
+emit_16(1141);
+emit_16(1206);
+emit_16(1142);
+emit_16(1207);
+emit_16(1143);
+emit_16(1207);
+emit_16(1142);
+emit_16(1207);
+emit_16(1143);
+emit_16(1208);
+emit_16(1144);
+emit_16(1208);
+emit_16(1143);
+emit_16(1208);
+emit_16(1144);
+emit_16(1209);
+emit_16(1145);
+emit_16(1209);
+emit_16(1144);
+emit_16(1209);
+emit_16(1145);
+emit_16(1210);
+emit_16(1146);
+emit_16(1210);
+emit_16(1145);
+emit_16(1210);
+emit_16(1146);
+emit_16(1211);
+emit_16(1147);
+emit_16(1211);
+emit_16(1146);
+emit_16(1211);
+emit_16(1147);
+emit_16(1212);
+emit_16(1148);
+emit_16(1212);
+emit_16(1147);
+emit_16(1212);
+emit_16(1148);
+emit_16(1213);
+emit_16(1149);
+emit_16(1213);
+emit_16(1148);
+emit_16(1213);
+emit_16(1149);
+emit_16(1214);
+emit_16(1150);
+emit_16(1214);
+emit_16(1149);
+emit_16(1214);
+emit_16(1150);
+emit_16(1215);
+emit_16(1151);
+emit_16(1215);
+emit_16(1150);
+emit_16(1216);
+emit_16(1152);
+emit_16(1217);
+emit_16(1153);
+emit_16(1217);
+emit_16(1152);
+emit_16(1217);
+emit_16(1153);
+emit_16(1218);
+emit_16(1154);
+emit_16(1218);
+emit_16(1153);
+emit_16(1218);
+emit_16(1154);
+emit_16(1219);
+emit_16(1155);
+emit_16(1219);
+emit_16(1154);
+emit_16(1219);
+emit_16(1155);
+emit_16(1220);
+emit_16(1156);
+emit_16(1220);
+emit_16(1155);
+emit_16(1220);
+emit_16(1156);
+emit_16(1221);
+emit_16(1157);
+emit_16(1221);
+emit_16(1156);
+emit_16(1221);
+emit_16(1157);
+emit_16(1222);
+emit_16(1158);
+emit_16(1222);
+emit_16(1157);
+emit_16(1222);
+emit_16(1158);
+emit_16(1223);
+emit_16(1159);
+emit_16(1223);
+emit_16(1158);
+emit_16(1223);
+emit_16(1159);
+emit_16(1224);
+emit_16(1160);
+emit_16(1224);
+emit_16(1159);
+emit_16(1224);
+emit_16(1160);
+emit_16(1225);
+emit_16(1161);
+emit_16(1225);
+emit_16(1160);
+emit_16(1225);
+emit_16(1161);
+emit_16(1226);
+emit_16(1162);
+emit_16(1226);
+emit_16(1161);
+emit_16(1226);
+emit_16(1162);
+emit_16(1227);
+emit_16(1163);
+emit_16(1227);
+emit_16(1162);
+emit_16(1227);
+emit_16(1163);
+emit_16(1228);
+emit_16(1164);
+emit_16(1228);
+emit_16(1163);
+emit_16(1228);
+emit_16(1164);
+emit_16(1229);
+emit_16(1165);
+emit_16(1229);
+emit_16(1164);
+emit_16(1229);
+emit_16(1165);
+emit_16(1230);
+emit_16(1166);
+emit_16(1230);
+emit_16(1165);
+emit_16(1230);
+emit_16(1166);
+emit_16(1231);
+emit_16(1167);
+emit_16(1231);
+emit_16(1166);
+emit_16(1231);
+emit_16(1167);
+emit_16(1232);
+emit_16(1168);
+emit_16(1232);
+emit_16(1167);
+emit_16(1232);
+emit_16(1168);
+emit_16(1233);
+emit_16(1169);
+emit_16(1233);
+emit_16(1168);
+emit_16(1233);
+emit_16(1169);
+emit_16(1234);
+emit_16(1170);
+emit_16(1234);
+emit_16(1169);
+emit_16(1234);
+emit_16(1170);
+emit_16(1235);
+emit_16(1171);
+emit_16(1235);
+emit_16(1170);
+emit_16(1235);
+emit_16(1171);
+emit_16(1236);
+emit_16(1172);
+emit_16(1236);
+emit_16(1171);
+emit_16(1236);
+emit_16(1172);
+emit_16(1237);
+emit_16(1173);
+emit_16(1237);
+emit_16(1172);
+emit_16(1237);
+emit_16(1173);
+emit_16(1238);
+emit_16(1174);
+emit_16(1238);
+emit_16(1173);
+emit_16(1238);
+emit_16(1174);
+emit_16(1239);
+emit_16(1175);
+emit_16(1239);
+emit_16(1174);
+emit_16(1239);
+emit_16(1175);
+emit_16(1240);
+emit_16(1176);
+emit_16(1240);
+emit_16(1175);
+emit_16(1240);
+emit_16(1176);
+emit_16(1241);
+emit_16(1177);
+emit_16(1241);
+emit_16(1176);
+emit_16(1241);
+emit_16(1177);
+emit_16(1242);
+emit_16(1178);
+emit_16(1242);
+emit_16(1177);
+emit_16(1242);
+emit_16(1178);
+emit_16(1243);
+emit_16(1179);
+emit_16(1243);
+emit_16(1178);
+emit_16(1243);
+emit_16(1179);
+emit_16(1244);
+emit_16(1180);
+emit_16(1244);
+emit_16(1179);
+emit_16(1244);
+emit_16(1180);
+emit_16(1245);
+emit_16(1181);
+emit_16(1245);
+emit_16(1180);
+emit_16(1245);
+emit_16(1181);
+emit_16(1246);
+emit_16(1182);
+emit_16(1246);
+emit_16(1181);
+emit_16(1246);
+emit_16(1182);
+emit_16(1247);
+emit_16(1183);
+emit_16(1247);
+emit_16(1182);
+emit_16(1247);
+emit_16(1183);
+emit_16(1248);
+emit_16(1184);
+emit_16(1248);
+emit_16(1183);
+emit_16(1248);
+emit_16(1184);
+emit_16(1249);
+emit_16(1185);
+emit_16(1249);
+emit_16(1184);
+emit_16(1249);
+emit_16(1185);
+emit_16(1250);
+emit_16(1186);
+emit_16(1250);
+emit_16(1185);
+emit_16(1250);
+emit_16(1186);
+emit_16(1251);
+emit_16(1187);
+emit_16(1251);
+emit_16(1186);
+emit_16(1251);
+emit_16(1187);
+emit_16(1252);
+emit_16(1188);
+emit_16(1252);
+emit_16(1187);
+emit_16(1252);
+emit_16(1188);
+emit_16(1253);
+emit_16(1189);
+emit_16(1253);
+emit_16(1188);
+emit_16(1253);
+emit_16(1189);
+emit_16(1254);
+emit_16(1190);
+emit_16(1254);
+emit_16(1189);
+emit_16(1254);
+emit_16(1190);
+emit_16(1255);
+emit_16(1191);
+emit_16(1255);
+emit_16(1190);
+emit_16(1255);
+emit_16(1191);
+emit_16(1256);
+emit_16(1192);
+emit_16(1256);
+emit_16(1191);
+emit_16(1256);
+emit_16(1192);
+emit_16(1257);
+emit_16(1193);
+emit_16(1257);
+emit_16(1192);
+emit_16(1257);
+emit_16(1193);
+emit_16(1258);
+emit_16(1194);
+emit_16(1258);
+emit_16(1193);
+emit_16(1258);
+emit_16(1194);
+emit_16(1259);
+emit_16(1195);
+emit_16(1259);
+emit_16(1194);
+emit_16(1259);
+emit_16(1195);
+emit_16(1260);
+emit_16(1196);
+emit_16(1260);
+emit_16(1195);
+emit_16(1260);
+emit_16(1196);
+emit_16(1261);
+emit_16(1197);
+emit_16(1261);
+emit_16(1196);
+emit_16(1261);
+emit_16(1197);
+emit_16(1262);
+emit_16(1198);
+emit_16(1262);
+emit_16(1197);
+emit_16(1262);
+emit_16(1198);
+emit_16(1263);
+emit_16(1199);
+emit_16(1263);
+emit_16(1198);
+emit_16(1263);
+emit_16(1199);
+emit_16(1264);
+emit_16(1200);
+emit_16(1264);
+emit_16(1199);
+emit_16(1264);
+emit_16(1200);
+emit_16(1265);
+emit_16(1201);
+emit_16(1265);
+emit_16(1200);
+emit_16(1265);
+emit_16(1201);
+emit_16(1266);
+emit_16(1202);
+emit_16(1266);
+emit_16(1201);
+emit_16(1266);
+emit_16(1202);
+emit_16(1267);
+emit_16(1203);
+emit_16(1267);
+emit_16(1202);
+emit_16(1267);
+emit_16(1203);
+emit_16(1268);
+emit_16(1204);
+emit_16(1268);
+emit_16(1203);
+emit_16(1268);
+emit_16(1204);
+emit_16(1269);
+emit_16(1205);
+emit_16(1269);
+emit_16(1204);
+emit_16(1269);
+emit_16(1205);
+emit_16(1270);
+emit_16(1206);
+emit_16(1270);
+emit_16(1205);
+emit_16(1270);
+emit_16(1206);
+emit_16(1271);
+emit_16(1207);
+emit_16(1271);
+emit_16(1206);
+emit_16(1271);
+emit_16(1207);
+emit_16(1272);
+emit_16(1208);
+emit_16(1272);
+emit_16(1207);
+emit_16(1272);
+emit_16(1208);
+emit_16(1273);
+emit_16(1209);
+emit_16(1273);
+emit_16(1208);
+emit_16(1273);
+emit_16(1209);
+emit_16(1274);
+emit_16(1210);
+emit_16(1274);
+emit_16(1209);
+emit_16(1274);
+emit_16(1210);
+emit_16(1275);
+emit_16(1211);
+emit_16(1275);
+emit_16(1210);
+emit_16(1275);
+emit_16(1211);
+emit_16(1276);
+emit_16(1212);
+emit_16(1276);
+emit_16(1211);
+emit_16(1276);
+emit_16(1212);
+emit_16(1277);
+emit_16(1213);
+emit_16(1277);
+emit_16(1212);
+emit_16(1277);
+emit_16(1213);
+emit_16(1278);
+emit_16(1214);
+emit_16(1278);
+emit_16(1213);
+emit_16(1278);
+emit_16(1214);
+emit_16(1279);
+emit_16(1215);
+emit_16(1279);
+emit_16(1214);
+emit_16(1280);
+emit_16(1216);
+emit_16(1281);
+emit_16(1217);
+emit_16(1281);
+emit_16(1216);
+emit_16(1281);
+emit_16(1217);
+emit_16(1282);
+emit_16(1218);
+emit_16(1282);
+emit_16(1217);
+emit_16(1282);
+emit_16(1218);
+emit_16(1283);
+emit_16(1219);
+emit_16(1283);
+emit_16(1218);
+emit_16(1283);
+emit_16(1219);
+emit_16(1284);
+emit_16(1220);
+emit_16(1284);
+emit_16(1219);
+emit_16(1284);
+emit_16(1220);
+emit_16(1285);
+emit_16(1221);
+emit_16(1285);
+emit_16(1220);
+emit_16(1285);
+emit_16(1221);
+emit_16(1286);
+emit_16(1222);
+emit_16(1286);
+emit_16(1221);
+emit_16(1286);
+emit_16(1222);
+emit_16(1287);
+emit_16(1223);
+emit_16(1287);
+emit_16(1222);
+emit_16(1287);
+emit_16(1223);
+emit_16(1288);
+emit_16(1224);
+emit_16(1288);
+emit_16(1223);
+emit_16(1288);
+emit_16(1224);
+emit_16(1289);
+emit_16(1225);
+emit_16(1289);
+emit_16(1224);
+emit_16(1289);
+emit_16(1225);
+emit_16(1290);
+emit_16(1226);
+emit_16(1290);
+emit_16(1225);
+emit_16(1290);
+emit_16(1226);
+emit_16(1291);
+emit_16(1227);
+emit_16(1291);
+emit_16(1226);
+emit_16(1291);
+emit_16(1227);
+emit_16(1292);
+emit_16(1228);
+emit_16(1292);
+emit_16(1227);
+emit_16(1292);
+emit_16(1228);
+emit_16(1293);
+emit_16(1229);
+emit_16(1293);
+emit_16(1228);
+emit_16(1293);
+emit_16(1229);
+emit_16(1294);
+emit_16(1230);
+emit_16(1294);
+emit_16(1229);
+emit_16(1294);
+emit_16(1230);
+emit_16(1295);
+emit_16(1231);
+emit_16(1295);
+emit_16(1230);
+emit_16(1295);
+emit_16(1231);
+emit_16(1296);
+emit_16(1232);
+emit_16(1296);
+emit_16(1231);
+emit_16(1296);
+emit_16(1232);
+emit_16(1297);
+emit_16(1233);
+emit_16(1297);
+emit_16(1232);
+emit_16(1297);
+emit_16(1233);
+emit_16(1298);
+emit_16(1234);
+emit_16(1298);
+emit_16(1233);
+emit_16(1298);
+emit_16(1234);
+emit_16(1299);
+emit_16(1235);
+emit_16(1299);
+emit_16(1234);
+emit_16(1299);
+emit_16(1235);
+emit_16(1300);
+emit_16(1236);
+emit_16(1300);
+emit_16(1235);
+emit_16(1300);
+emit_16(1236);
+emit_16(1301);
+emit_16(1237);
+emit_16(1301);
+emit_16(1236);
+emit_16(1301);
+emit_16(1237);
+emit_16(1302);
+emit_16(1238);
+emit_16(1302);
+emit_16(1237);
+emit_16(1302);
+emit_16(1238);
+emit_16(1303);
+emit_16(1239);
+emit_16(1303);
+emit_16(1238);
+emit_16(1303);
+emit_16(1239);
+emit_16(1304);
+emit_16(1240);
+emit_16(1304);
+emit_16(1239);
+emit_16(1304);
+emit_16(1240);
+emit_16(1305);
+emit_16(1241);
+emit_16(1305);
+emit_16(1240);
+emit_16(1305);
+emit_16(1241);
+emit_16(1306);
+emit_16(1242);
+emit_16(1306);
+emit_16(1241);
+emit_16(1306);
+emit_16(1242);
+emit_16(1307);
+emit_16(1243);
+emit_16(1307);
+emit_16(1242);
+emit_16(1307);
+emit_16(1243);
+emit_16(1308);
+emit_16(1244);
+emit_16(1308);
+emit_16(1243);
+emit_16(1308);
+emit_16(1244);
+emit_16(1309);
+emit_16(1245);
+emit_16(1309);
+emit_16(1244);
+emit_16(1309);
+emit_16(1245);
+emit_16(1310);
+emit_16(1246);
+emit_16(1310);
+emit_16(1245);
+emit_16(1310);
+emit_16(1246);
+emit_16(1311);
+emit_16(1247);
+emit_16(1311);
+emit_16(1246);
+emit_16(1311);
+emit_16(1247);
+emit_16(1312);
+emit_16(1248);
+emit_16(1312);
+emit_16(1247);
+emit_16(1312);
+emit_16(1248);
+emit_16(1313);
+emit_16(1249);
+emit_16(1313);
+emit_16(1248);
+emit_16(1313);
+emit_16(1249);
+emit_16(1314);
+emit_16(1250);
+emit_16(1314);
+emit_16(1249);
+emit_16(1314);
+emit_16(1250);
+emit_16(1315);
+emit_16(1251);
+emit_16(1315);
+emit_16(1250);
+emit_16(1315);
+emit_16(1251);
+emit_16(1316);
+emit_16(1252);
+emit_16(1316);
+emit_16(1251);
+emit_16(1316);
+emit_16(1252);
+emit_16(1317);
+emit_16(1253);
+emit_16(1317);
+emit_16(1252);
+emit_16(1317);
+emit_16(1253);
+emit_16(1318);
+emit_16(1254);
+emit_16(1318);
+emit_16(1253);
+emit_16(1318);
+emit_16(1254);
+emit_16(1319);
+emit_16(1255);
+emit_16(1319);
+emit_16(1254);
+emit_16(1319);
+emit_16(1255);
+emit_16(1320);
+emit_16(1256);
+emit_16(1320);
+emit_16(1255);
+emit_16(1320);
+emit_16(1256);
+emit_16(1321);
+emit_16(1257);
+emit_16(1321);
+emit_16(1256);
+emit_16(1321);
+emit_16(1257);
+emit_16(1322);
+emit_16(1258);
+emit_16(1322);
+emit_16(1257);
+emit_16(1322);
+emit_16(1258);
+emit_16(1323);
+emit_16(1259);
+emit_16(1323);
+emit_16(1258);
+emit_16(1323);
+emit_16(1259);
+emit_16(1324);
+emit_16(1260);
+emit_16(1324);
+emit_16(1259);
+emit_16(1324);
+emit_16(1260);
+emit_16(1325);
+emit_16(1261);
+emit_16(1325);
+emit_16(1260);
+emit_16(1325);
+emit_16(1261);
+emit_16(1326);
+emit_16(1262);
+emit_16(1326);
+emit_16(1261);
+emit_16(1326);
+emit_16(1262);
+emit_16(1327);
+emit_16(1263);
+emit_16(1327);
+emit_16(1262);
+emit_16(1327);
+emit_16(1263);
+emit_16(1328);
+emit_16(1264);
+emit_16(1328);
+emit_16(1263);
+emit_16(1328);
+emit_16(1264);
+emit_16(1329);
+emit_16(1265);
+emit_16(1329);
+emit_16(1264);
+emit_16(1329);
+emit_16(1265);
+emit_16(1330);
+emit_16(1266);
+emit_16(1330);
+emit_16(1265);
+emit_16(1330);
+emit_16(1266);
+emit_16(1331);
+emit_16(1267);
+emit_16(1331);
+emit_16(1266);
+emit_16(1331);
+emit_16(1267);
+emit_16(1332);
+emit_16(1268);
+emit_16(1332);
+emit_16(1267);
+emit_16(1332);
+emit_16(1268);
+emit_16(1333);
+emit_16(1269);
+emit_16(1333);
+emit_16(1268);
+emit_16(1333);
+emit_16(1269);
+emit_16(1334);
+emit_16(1270);
+emit_16(1334);
+emit_16(1269);
+emit_16(1334);
+emit_16(1270);
+emit_16(1335);
+emit_16(1271);
+emit_16(1335);
+emit_16(1270);
+emit_16(1335);
+emit_16(1271);
+emit_16(1336);
+emit_16(1272);
+emit_16(1336);
+emit_16(1271);
+emit_16(1336);
+emit_16(1272);
+emit_16(1337);
+emit_16(1273);
+emit_16(1337);
+emit_16(1272);
+emit_16(1337);
+emit_16(1273);
+emit_16(1338);
+emit_16(1274);
+emit_16(1338);
+emit_16(1273);
+emit_16(1338);
+emit_16(1274);
+emit_16(1339);
+emit_16(1275);
+emit_16(1339);
+emit_16(1274);
+emit_16(1339);
+emit_16(1275);
+emit_16(1340);
+emit_16(1276);
+emit_16(1340);
+emit_16(1275);
+emit_16(1340);
+emit_16(1276);
+emit_16(1341);
+emit_16(1277);
+emit_16(1341);
+emit_16(1276);
+emit_16(1341);
+emit_16(1277);
+emit_16(1342);
+emit_16(1278);
+emit_16(1342);
+emit_16(1277);
+emit_16(1342);
+emit_16(1278);
+emit_16(1343);
+emit_16(1279);
+emit_16(1343);
+emit_16(1278);
+emit_16(1344);
+emit_16(1280);
+emit_16(1345);
+emit_16(1281);
+emit_16(1345);
+emit_16(1280);
+emit_16(1345);
+emit_16(1281);
+emit_16(1346);
+emit_16(1282);
+emit_16(1346);
+emit_16(1281);
+emit_16(1346);
+emit_16(1282);
+emit_16(1347);
+emit_16(1283);
+emit_16(1347);
+emit_16(1282);
+emit_16(1347);
+emit_16(1283);
+emit_16(1348);
+emit_16(1284);
+emit_16(1348);
+emit_16(1283);
+emit_16(1348);
+emit_16(1284);
+emit_16(1349);
+emit_16(1285);
+emit_16(1349);
+emit_16(1284);
+emit_16(1349);
+emit_16(1285);
+emit_16(1350);
+emit_16(1286);
+emit_16(1350);
+emit_16(1285);
+emit_16(1350);
+emit_16(1286);
+emit_16(1351);
+emit_16(1287);
+emit_16(1351);
+emit_16(1286);
+emit_16(1351);
+emit_16(1287);
+emit_16(1352);
+emit_16(1288);
+emit_16(1352);
+emit_16(1287);
+emit_16(1352);
+emit_16(1288);
+emit_16(1353);
+emit_16(1289);
+emit_16(1353);
+emit_16(1288);
+emit_16(1353);
+emit_16(1289);
+emit_16(1354);
+emit_16(1290);
+emit_16(1354);
+emit_16(1289);
+emit_16(1354);
+emit_16(1290);
+emit_16(1355);
+emit_16(1291);
+emit_16(1355);
+emit_16(1290);
+emit_16(1355);
+emit_16(1291);
+emit_16(1356);
+emit_16(1292);
+emit_16(1356);
+emit_16(1291);
+emit_16(1356);
+emit_16(1292);
+emit_16(1357);
+emit_16(1293);
+emit_16(1357);
+emit_16(1292);
+emit_16(1357);
+emit_16(1293);
+emit_16(1358);
+emit_16(1294);
+emit_16(1358);
+emit_16(1293);
+emit_16(1358);
+emit_16(1294);
+emit_16(1359);
+emit_16(1295);
+emit_16(1359);
+emit_16(1294);
+emit_16(1359);
+emit_16(1295);
+emit_16(1360);
+emit_16(1296);
+emit_16(1360);
+emit_16(1295);
+emit_16(1360);
+emit_16(1296);
+emit_16(1361);
+emit_16(1297);
+emit_16(1361);
+emit_16(1296);
+emit_16(1361);
+emit_16(1297);
+emit_16(1362);
+emit_16(1298);
+emit_16(1362);
+emit_16(1297);
+emit_16(1362);
+emit_16(1298);
+emit_16(1363);
+emit_16(1299);
+emit_16(1363);
+emit_16(1298);
+emit_16(1363);
+emit_16(1299);
+emit_16(1364);
+emit_16(1300);
+emit_16(1364);
+emit_16(1299);
+emit_16(1364);
+emit_16(1300);
+emit_16(1365);
+emit_16(1301);
+emit_16(1365);
+emit_16(1300);
+emit_16(1365);
+emit_16(1301);
+emit_16(1366);
+emit_16(1302);
+emit_16(1366);
+emit_16(1301);
+emit_16(1366);
+emit_16(1302);
+emit_16(1367);
+emit_16(1303);
+emit_16(1367);
+emit_16(1302);
+emit_16(1367);
+emit_16(1303);
+emit_16(1368);
+emit_16(1304);
+emit_16(1368);
+emit_16(1303);
+emit_16(1368);
+emit_16(1304);
+emit_16(1369);
+emit_16(1305);
+emit_16(1369);
+emit_16(1304);
+emit_16(1369);
+emit_16(1305);
+emit_16(1370);
+emit_16(1306);
+emit_16(1370);
+emit_16(1305);
+emit_16(1370);
+emit_16(1306);
+emit_16(1371);
+emit_16(1307);
+emit_16(1371);
+emit_16(1306);
+emit_16(1371);
+emit_16(1307);
+emit_16(1372);
+emit_16(1308);
+emit_16(1372);
+emit_16(1307);
+emit_16(1372);
+emit_16(1308);
+emit_16(1373);
+emit_16(1309);
+emit_16(1373);
+emit_16(1308);
+emit_16(1373);
+emit_16(1309);
+emit_16(1374);
+emit_16(1310);
+emit_16(1374);
+emit_16(1309);
+emit_16(1374);
+emit_16(1310);
+emit_16(1375);
+emit_16(1311);
+emit_16(1375);
+emit_16(1310);
+emit_16(1375);
+emit_16(1311);
+emit_16(1376);
+emit_16(1312);
+emit_16(1376);
+emit_16(1311);
+emit_16(1376);
+emit_16(1312);
+emit_16(1377);
+emit_16(1313);
+emit_16(1377);
+emit_16(1312);
+emit_16(1377);
+emit_16(1313);
+emit_16(1378);
+emit_16(1314);
+emit_16(1378);
+emit_16(1313);
+emit_16(1378);
+emit_16(1314);
+emit_16(1379);
+emit_16(1315);
+emit_16(1379);
+emit_16(1314);
+emit_16(1379);
+emit_16(1315);
+emit_16(1380);
+emit_16(1316);
+emit_16(1380);
+emit_16(1315);
+emit_16(1380);
+emit_16(1316);
+emit_16(1381);
+emit_16(1317);
+emit_16(1381);
+emit_16(1316);
+emit_16(1381);
+emit_16(1317);
+emit_16(1382);
+emit_16(1318);
+emit_16(1382);
+emit_16(1317);
+emit_16(1382);
+emit_16(1318);
+emit_16(1383);
+emit_16(1319);
+emit_16(1383);
+emit_16(1318);
+emit_16(1383);
+emit_16(1319);
+emit_16(1384);
+emit_16(1320);
+emit_16(1384);
+emit_16(1319);
+emit_16(1384);
+emit_16(1320);
+emit_16(1385);
+emit_16(1321);
+emit_16(1385);
+emit_16(1320);
+emit_16(1385);
+emit_16(1321);
+emit_16(1386);
+emit_16(1322);
+emit_16(1386);
+emit_16(1321);
+emit_16(1386);
+emit_16(1322);
+emit_16(1387);
+emit_16(1323);
+emit_16(1387);
+emit_16(1322);
+emit_16(1387);
+emit_16(1323);
+emit_16(1388);
+emit_16(1324);
+emit_16(1388);
+emit_16(1323);
+emit_16(1388);
+emit_16(1324);
+emit_16(1389);
+emit_16(1325);
+emit_16(1389);
+emit_16(1324);
+emit_16(1389);
+emit_16(1325);
+emit_16(1390);
+emit_16(1326);
+emit_16(1390);
+emit_16(1325);
+emit_16(1390);
+emit_16(1326);
+emit_16(1391);
+emit_16(1327);
+emit_16(1391);
+emit_16(1326);
+emit_16(1391);
+emit_16(1327);
+emit_16(1392);
+emit_16(1328);
+emit_16(1392);
+emit_16(1327);
+emit_16(1392);
+emit_16(1328);
+emit_16(1393);
+emit_16(1329);
+emit_16(1393);
+emit_16(1328);
+emit_16(1393);
+emit_16(1329);
+emit_16(1394);
+emit_16(1330);
+emit_16(1394);
+emit_16(1329);
+emit_16(1394);
+emit_16(1330);
+emit_16(1395);
+emit_16(1331);
+emit_16(1395);
+emit_16(1330);
+emit_16(1395);
+emit_16(1331);
+emit_16(1396);
+emit_16(1332);
+emit_16(1396);
+emit_16(1331);
+emit_16(1396);
+emit_16(1332);
+emit_16(1397);
+emit_16(1333);
+emit_16(1397);
+emit_16(1332);
+emit_16(1397);
+emit_16(1333);
+emit_16(1398);
+emit_16(1334);
+emit_16(1398);
+emit_16(1333);
+emit_16(1398);
+emit_16(1334);
+emit_16(1399);
+emit_16(1335);
+emit_16(1399);
+emit_16(1334);
+emit_16(1399);
+emit_16(1335);
+emit_16(1400);
+emit_16(1336);
+emit_16(1400);
+emit_16(1335);
+emit_16(1400);
+emit_16(1336);
+emit_16(1401);
+emit_16(1337);
+emit_16(1401);
+emit_16(1336);
+emit_16(1401);
+emit_16(1337);
+emit_16(1402);
+emit_16(1338);
+emit_16(1402);
+emit_16(1337);
+emit_16(1402);
+emit_16(1338);
+emit_16(1403);
+emit_16(1339);
+emit_16(1403);
+emit_16(1338);
+emit_16(1403);
+emit_16(1339);
+emit_16(1404);
+emit_16(1340);
+emit_16(1404);
+emit_16(1339);
+emit_16(1404);
+emit_16(1340);
+emit_16(1405);
+emit_16(1341);
+emit_16(1405);
+emit_16(1340);
+emit_16(1405);
+emit_16(1341);
+emit_16(1406);
+emit_16(1342);
+emit_16(1406);
+emit_16(1341);
+emit_16(1406);
+emit_16(1342);
+emit_16(1407);
+emit_16(1343);
+emit_16(1407);
+emit_16(1342);
+emit_16(1408);
+emit_16(1344);
+emit_16(1409);
+emit_16(1345);
+emit_16(1409);
+emit_16(1344);
+emit_16(1409);
+emit_16(1345);
+emit_16(1410);
+emit_16(1346);
+emit_16(1410);
+emit_16(1345);
+emit_16(1410);
+emit_16(1346);
+emit_16(1411);
+emit_16(1347);
+emit_16(1411);
+emit_16(1346);
+emit_16(1411);
+emit_16(1347);
+emit_16(1412);
+emit_16(1348);
+emit_16(1412);
+emit_16(1347);
+emit_16(1412);
+emit_16(1348);
+emit_16(1413);
+emit_16(1349);
+emit_16(1413);
+emit_16(1348);
+emit_16(1413);
+emit_16(1349);
+emit_16(1414);
+emit_16(1350);
+emit_16(1414);
+emit_16(1349);
+emit_16(1414);
+emit_16(1350);
+emit_16(1415);
+emit_16(1351);
+emit_16(1415);
+emit_16(1350);
+emit_16(1415);
+emit_16(1351);
+emit_16(1416);
+emit_16(1352);
+emit_16(1416);
+emit_16(1351);
+emit_16(1416);
+emit_16(1352);
+emit_16(1417);
+emit_16(1353);
+emit_16(1417);
+emit_16(1352);
+emit_16(1417);
+emit_16(1353);
+emit_16(1418);
+emit_16(1354);
+emit_16(1418);
+emit_16(1353);
+emit_16(1418);
+emit_16(1354);
+emit_16(1419);
+emit_16(1355);
+emit_16(1419);
+emit_16(1354);
+emit_16(1419);
+emit_16(1355);
+emit_16(1420);
+emit_16(1356);
+emit_16(1420);
+emit_16(1355);
+emit_16(1420);
+emit_16(1356);
+emit_16(1421);
+emit_16(1357);
+emit_16(1421);
+emit_16(1356);
+emit_16(1421);
+emit_16(1357);
+emit_16(1422);
+emit_16(1358);
+emit_16(1422);
+emit_16(1357);
+emit_16(1422);
+emit_16(1358);
+emit_16(1423);
+emit_16(1359);
+emit_16(1423);
+emit_16(1358);
+emit_16(1423);
+emit_16(1359);
+emit_16(1424);
+emit_16(1360);
+emit_16(1424);
+emit_16(1359);
+emit_16(1424);
+emit_16(1360);
+emit_16(1425);
+emit_16(1361);
+emit_16(1425);
+emit_16(1360);
+emit_16(1425);
+emit_16(1361);
+emit_16(1426);
+emit_16(1362);
+emit_16(1426);
+emit_16(1361);
+emit_16(1426);
+emit_16(1362);
+emit_16(1427);
+emit_16(1363);
+emit_16(1427);
+emit_16(1362);
+emit_16(1427);
+emit_16(1363);
+emit_16(1428);
+emit_16(1364);
+emit_16(1428);
+emit_16(1363);
+emit_16(1428);
+emit_16(1364);
+emit_16(1429);
+emit_16(1365);
+emit_16(1429);
+emit_16(1364);
+emit_16(1429);
+emit_16(1365);
+emit_16(1430);
+emit_16(1366);
+emit_16(1430);
+emit_16(1365);
+emit_16(1430);
+emit_16(1366);
+emit_16(1431);
+emit_16(1367);
+emit_16(1431);
+emit_16(1366);
+emit_16(1431);
+emit_16(1367);
+emit_16(1432);
+emit_16(1368);
+emit_16(1432);
+emit_16(1367);
+emit_16(1432);
+emit_16(1368);
+emit_16(1433);
+emit_16(1369);
+emit_16(1433);
+emit_16(1368);
+emit_16(1433);
+emit_16(1369);
+emit_16(1434);
+emit_16(1370);
+emit_16(1434);
+emit_16(1369);
+emit_16(1434);
+emit_16(1370);
+emit_16(1435);
+emit_16(1371);
+emit_16(1435);
+emit_16(1370);
+emit_16(1435);
+emit_16(1371);
+emit_16(1436);
+emit_16(1372);
+emit_16(1436);
+emit_16(1371);
+emit_16(1436);
+emit_16(1372);
+emit_16(1437);
+emit_16(1373);
+emit_16(1437);
+emit_16(1372);
+emit_16(1437);
+emit_16(1373);
+emit_16(1438);
+emit_16(1374);
+emit_16(1438);
+emit_16(1373);
+emit_16(1438);
+emit_16(1374);
+emit_16(1439);
+emit_16(1375);
+emit_16(1439);
+emit_16(1374);
+emit_16(1439);
+emit_16(1375);
+emit_16(1440);
+emit_16(1376);
+emit_16(1440);
+emit_16(1375);
+emit_16(1440);
+emit_16(1376);
+emit_16(1441);
+emit_16(1377);
+emit_16(1441);
+emit_16(1376);
+emit_16(1441);
+emit_16(1377);
+emit_16(1442);
+emit_16(1378);
+emit_16(1442);
+emit_16(1377);
+emit_16(1442);
+emit_16(1378);
+emit_16(1443);
+emit_16(1379);
+emit_16(1443);
+emit_16(1378);
+emit_16(1443);
+emit_16(1379);
+emit_16(1444);
+emit_16(1380);
+emit_16(1444);
+emit_16(1379);
+emit_16(1444);
+emit_16(1380);
+emit_16(1445);
+emit_16(1381);
+emit_16(1445);
+emit_16(1380);
+emit_16(1445);
+emit_16(1381);
+emit_16(1446);
+emit_16(1382);
+emit_16(1446);
+emit_16(1381);
+emit_16(1446);
+emit_16(1382);
+emit_16(1447);
+emit_16(1383);
+emit_16(1447);
+emit_16(1382);
+emit_16(1447);
+emit_16(1383);
+emit_16(1448);
+emit_16(1384);
+emit_16(1448);
+emit_16(1383);
+emit_16(1448);
+emit_16(1384);
+emit_16(1449);
+emit_16(1385);
+emit_16(1449);
+emit_16(1384);
+emit_16(1449);
+emit_16(1385);
+emit_16(1450);
+emit_16(1386);
+emit_16(1450);
+emit_16(1385);
+emit_16(1450);
+emit_16(1386);
+emit_16(1451);
+emit_16(1387);
+emit_16(1451);
+emit_16(1386);
+emit_16(1451);
+emit_16(1387);
+emit_16(1452);
+emit_16(1388);
+emit_16(1452);
+emit_16(1387);
+emit_16(1452);
+emit_16(1388);
+emit_16(1453);
+emit_16(1389);
+emit_16(1453);
+emit_16(1388);
+emit_16(1453);
+emit_16(1389);
+emit_16(1454);
+emit_16(1390);
+emit_16(1454);
+emit_16(1389);
+emit_16(1454);
+emit_16(1390);
+emit_16(1455);
+emit_16(1391);
+emit_16(1455);
+emit_16(1390);
+emit_16(1455);
+emit_16(1391);
+emit_16(1456);
+emit_16(1392);
+emit_16(1456);
+emit_16(1391);
+emit_16(1456);
+emit_16(1392);
+emit_16(1457);
+emit_16(1393);
+emit_16(1457);
+emit_16(1392);
+emit_16(1457);
+emit_16(1393);
+emit_16(1458);
+emit_16(1394);
+emit_16(1458);
+emit_16(1393);
+emit_16(1458);
+emit_16(1394);
+emit_16(1459);
+emit_16(1395);
+emit_16(1459);
+emit_16(1394);
+emit_16(1459);
+emit_16(1395);
+emit_16(1460);
+emit_16(1396);
+emit_16(1460);
+emit_16(1395);
+emit_16(1460);
+emit_16(1396);
+emit_16(1461);
+emit_16(1397);
+emit_16(1461);
+emit_16(1396);
+emit_16(1461);
+emit_16(1397);
+emit_16(1462);
+emit_16(1398);
+emit_16(1462);
+emit_16(1397);
+emit_16(1462);
+emit_16(1398);
+emit_16(1463);
+emit_16(1399);
+emit_16(1463);
+emit_16(1398);
+emit_16(1463);
+emit_16(1399);
+emit_16(1464);
+emit_16(1400);
+emit_16(1464);
+emit_16(1399);
+emit_16(1464);
+emit_16(1400);
+emit_16(1465);
+emit_16(1401);
+emit_16(1465);
+emit_16(1400);
+emit_16(1465);
+emit_16(1401);
+emit_16(1466);
+emit_16(1402);
+emit_16(1466);
+emit_16(1401);
+emit_16(1466);
+emit_16(1402);
+emit_16(1467);
+emit_16(1403);
+emit_16(1467);
+emit_16(1402);
+emit_16(1467);
+emit_16(1403);
+emit_16(1468);
+emit_16(1404);
+emit_16(1468);
+emit_16(1403);
+emit_16(1468);
+emit_16(1404);
+emit_16(1469);
+emit_16(1405);
+emit_16(1469);
+emit_16(1404);
+emit_16(1469);
+emit_16(1405);
+emit_16(1470);
+emit_16(1406);
+emit_16(1470);
+emit_16(1405);
+emit_16(1470);
+emit_16(1406);
+emit_16(1471);
+emit_16(1407);
+emit_16(1471);
+emit_16(1406);
+emit_16(1472);
+emit_16(1408);
+emit_16(1473);
+emit_16(1409);
+emit_16(1473);
+emit_16(1408);
+emit_16(1473);
+emit_16(1409);
+emit_16(1474);
+emit_16(1410);
+emit_16(1474);
+emit_16(1409);
+emit_16(1474);
+emit_16(1410);
+emit_16(1475);
+emit_16(1411);
+emit_16(1475);
+emit_16(1410);
+emit_16(1475);
+emit_16(1411);
+emit_16(1476);
+emit_16(1412);
+emit_16(1476);
+emit_16(1411);
+emit_16(1476);
+emit_16(1412);
+emit_16(1477);
+emit_16(1413);
+emit_16(1477);
+emit_16(1412);
+emit_16(1477);
+emit_16(1413);
+emit_16(1478);
+emit_16(1414);
+emit_16(1478);
+emit_16(1413);
+emit_16(1478);
+emit_16(1414);
+emit_16(1479);
+emit_16(1415);
+emit_16(1479);
+emit_16(1414);
+emit_16(1479);
+emit_16(1415);
+emit_16(1480);
+emit_16(1416);
+emit_16(1480);
+emit_16(1415);
+emit_16(1480);
+emit_16(1416);
+emit_16(1481);
+emit_16(1417);
+emit_16(1481);
+emit_16(1416);
+emit_16(1481);
+emit_16(1417);
+emit_16(1482);
+emit_16(1418);
+emit_16(1482);
+emit_16(1417);
+emit_16(1482);
+emit_16(1418);
+emit_16(1483);
+emit_16(1419);
+emit_16(1483);
+emit_16(1418);
+emit_16(1483);
+emit_16(1419);
+emit_16(1484);
+emit_16(1420);
+emit_16(1484);
+emit_16(1419);
+emit_16(1484);
+emit_16(1420);
+emit_16(1485);
+emit_16(1421);
+emit_16(1485);
+emit_16(1420);
+emit_16(1485);
+emit_16(1421);
+emit_16(1486);
+emit_16(1422);
+emit_16(1486);
+emit_16(1421);
+emit_16(1486);
+emit_16(1422);
+emit_16(1487);
+emit_16(1423);
+emit_16(1487);
+emit_16(1422);
+emit_16(1487);
+emit_16(1423);
+emit_16(1488);
+emit_16(1424);
+emit_16(1488);
+emit_16(1423);
+emit_16(1488);
+emit_16(1424);
+emit_16(1489);
+emit_16(1425);
+emit_16(1489);
+emit_16(1424);
+emit_16(1489);
+emit_16(1425);
+emit_16(1490);
+emit_16(1426);
+emit_16(1490);
+emit_16(1425);
+emit_16(1490);
+emit_16(1426);
+emit_16(1491);
+emit_16(1427);
+emit_16(1491);
+emit_16(1426);
+emit_16(1491);
+emit_16(1427);
+emit_16(1492);
+emit_16(1428);
+emit_16(1492);
+emit_16(1427);
+emit_16(1492);
+emit_16(1428);
+emit_16(1493);
+emit_16(1429);
+emit_16(1493);
+emit_16(1428);
+emit_16(1493);
+emit_16(1429);
+emit_16(1494);
+emit_16(1430);
+emit_16(1494);
+emit_16(1429);
+emit_16(1494);
+emit_16(1430);
+emit_16(1495);
+emit_16(1431);
+emit_16(1495);
+emit_16(1430);
+emit_16(1495);
+emit_16(1431);
+emit_16(1496);
+emit_16(1432);
+emit_16(1496);
+emit_16(1431);
+emit_16(1496);
+emit_16(1432);
+emit_16(1497);
+emit_16(1433);
+emit_16(1497);
+emit_16(1432);
+emit_16(1497);
+emit_16(1433);
+emit_16(1498);
+emit_16(1434);
+emit_16(1498);
+emit_16(1433);
+emit_16(1498);
+emit_16(1434);
+emit_16(1499);
+emit_16(1435);
+emit_16(1499);
+emit_16(1434);
+emit_16(1499);
+emit_16(1435);
+emit_16(1500);
+emit_16(1436);
+emit_16(1500);
+emit_16(1435);
+emit_16(1500);
+emit_16(1436);
+emit_16(1501);
+emit_16(1437);
+emit_16(1501);
+emit_16(1436);
+emit_16(1501);
+emit_16(1437);
+emit_16(1502);
+emit_16(1438);
+emit_16(1502);
+emit_16(1437);
+emit_16(1502);
+emit_16(1438);
+emit_16(1503);
+emit_16(1439);
+emit_16(1503);
+emit_16(1438);
+emit_16(1503);
+emit_16(1439);
+emit_16(1504);
+emit_16(1440);
+emit_16(1504);
+emit_16(1439);
+emit_16(1504);
+emit_16(1440);
+emit_16(1505);
+emit_16(1441);
+emit_16(1505);
+emit_16(1440);
+emit_16(1505);
+emit_16(1441);
+emit_16(1506);
+emit_16(1442);
+emit_16(1506);
+emit_16(1441);
+emit_16(1506);
+emit_16(1442);
+emit_16(1507);
+emit_16(1443);
+emit_16(1507);
+emit_16(1442);
+emit_16(1507);
+emit_16(1443);
+emit_16(1508);
+emit_16(1444);
+emit_16(1508);
+emit_16(1443);
+emit_16(1508);
+emit_16(1444);
+emit_16(1509);
+emit_16(1445);
+emit_16(1509);
+emit_16(1444);
+emit_16(1509);
+emit_16(1445);
+emit_16(1510);
+emit_16(1446);
+emit_16(1510);
+emit_16(1445);
+emit_16(1510);
+emit_16(1446);
+emit_16(1511);
+emit_16(1447);
+emit_16(1511);
+emit_16(1446);
+emit_16(1511);
+emit_16(1447);
+emit_16(1512);
+emit_16(1448);
+emit_16(1512);
+emit_16(1447);
+emit_16(1512);
+emit_16(1448);
+emit_16(1513);
+emit_16(1449);
+emit_16(1513);
+emit_16(1448);
+emit_16(1513);
+emit_16(1449);
+emit_16(1514);
+emit_16(1450);
+emit_16(1514);
+emit_16(1449);
+emit_16(1514);
+emit_16(1450);
+emit_16(1515);
+emit_16(1451);
+emit_16(1515);
+emit_16(1450);
+emit_16(1515);
+emit_16(1451);
+emit_16(1516);
+emit_16(1452);
+emit_16(1516);
+emit_16(1451);
+emit_16(1516);
+emit_16(1452);
+emit_16(1517);
+emit_16(1453);
+emit_16(1517);
+emit_16(1452);
+emit_16(1517);
+emit_16(1453);
+emit_16(1518);
+emit_16(1454);
+emit_16(1518);
+emit_16(1453);
+emit_16(1518);
+emit_16(1454);
+emit_16(1519);
+emit_16(1455);
+emit_16(1519);
+emit_16(1454);
+emit_16(1519);
+emit_16(1455);
+emit_16(1520);
+emit_16(1456);
+emit_16(1520);
+emit_16(1455);
+emit_16(1520);
+emit_16(1456);
+emit_16(1521);
+emit_16(1457);
+emit_16(1521);
+emit_16(1456);
+emit_16(1521);
+emit_16(1457);
+emit_16(1522);
+emit_16(1458);
+emit_16(1522);
+emit_16(1457);
+emit_16(1522);
+emit_16(1458);
+emit_16(1523);
+emit_16(1459);
+emit_16(1523);
+emit_16(1458);
+emit_16(1523);
+emit_16(1459);
+emit_16(1524);
+emit_16(1460);
+emit_16(1524);
+emit_16(1459);
+emit_16(1524);
+emit_16(1460);
+emit_16(1525);
+emit_16(1461);
+emit_16(1525);
+emit_16(1460);
+emit_16(1525);
+emit_16(1461);
+emit_16(1526);
+emit_16(1462);
+emit_16(1526);
+emit_16(1461);
+emit_16(1526);
+emit_16(1462);
+emit_16(1527);
+emit_16(1463);
+emit_16(1527);
+emit_16(1462);
+emit_16(1527);
+emit_16(1463);
+emit_16(1528);
+emit_16(1464);
+emit_16(1528);
+emit_16(1463);
+emit_16(1528);
+emit_16(1464);
+emit_16(1529);
+emit_16(1465);
+emit_16(1529);
+emit_16(1464);
+emit_16(1529);
+emit_16(1465);
+emit_16(1530);
+emit_16(1466);
+emit_16(1530);
+emit_16(1465);
+emit_16(1530);
+emit_16(1466);
+emit_16(1531);
+emit_16(1467);
+emit_16(1531);
+emit_16(1466);
+emit_16(1531);
+emit_16(1467);
+emit_16(1532);
+emit_16(1468);
+emit_16(1532);
+emit_16(1467);
+emit_16(1532);
+emit_16(1468);
+emit_16(1533);
+emit_16(1469);
+emit_16(1533);
+emit_16(1468);
+emit_16(1533);
+emit_16(1469);
+emit_16(1534);
+emit_16(1470);
+emit_16(1534);
+emit_16(1469);
+emit_16(1534);
+emit_16(1470);
+emit_16(1535);
+emit_16(1471);
+emit_16(1535);
+emit_16(1470);
+emit_16(1536);
+emit_16(1472);
+emit_16(1537);
+emit_16(1473);
+emit_16(1537);
+emit_16(1472);
+emit_16(1537);
+emit_16(1473);
+emit_16(1538);
+emit_16(1474);
+emit_16(1538);
+emit_16(1473);
+emit_16(1538);
+emit_16(1474);
+emit_16(1539);
+emit_16(1475);
+emit_16(1539);
+emit_16(1474);
+emit_16(1539);
+emit_16(1475);
+emit_16(1540);
+emit_16(1476);
+emit_16(1540);
+emit_16(1475);
+emit_16(1540);
+emit_16(1476);
+emit_16(1541);
+emit_16(1477);
+emit_16(1541);
+emit_16(1476);
+emit_16(1541);
+emit_16(1477);
+emit_16(1542);
+emit_16(1478);
+emit_16(1542);
+emit_16(1477);
+emit_16(1542);
+emit_16(1478);
+emit_16(1543);
+emit_16(1479);
+emit_16(1543);
+emit_16(1478);
+emit_16(1543);
+emit_16(1479);
+emit_16(1544);
+emit_16(1480);
+emit_16(1544);
+emit_16(1479);
+emit_16(1544);
+emit_16(1480);
+emit_16(1545);
+emit_16(1481);
+emit_16(1545);
+emit_16(1480);
+emit_16(1545);
+emit_16(1481);
+emit_16(1546);
+emit_16(1482);
+emit_16(1546);
+emit_16(1481);
+emit_16(1546);
+emit_16(1482);
+emit_16(1547);
+emit_16(1483);
+emit_16(1547);
+emit_16(1482);
+emit_16(1547);
+emit_16(1483);
+emit_16(1548);
+emit_16(1484);
+emit_16(1548);
+emit_16(1483);
+emit_16(1548);
+emit_16(1484);
+emit_16(1549);
+emit_16(1485);
+emit_16(1549);
+emit_16(1484);
+emit_16(1549);
+emit_16(1485);
+emit_16(1550);
+emit_16(1486);
+emit_16(1550);
+emit_16(1485);
+emit_16(1550);
+emit_16(1486);
+emit_16(1551);
+emit_16(1487);
+emit_16(1551);
+emit_16(1486);
+emit_16(1551);
+emit_16(1487);
+emit_16(1552);
+emit_16(1488);
+emit_16(1552);
+emit_16(1487);
+emit_16(1552);
+emit_16(1488);
+emit_16(1553);
+emit_16(1489);
+emit_16(1553);
+emit_16(1488);
+emit_16(1553);
+emit_16(1489);
+emit_16(1554);
+emit_16(1490);
+emit_16(1554);
+emit_16(1489);
+emit_16(1554);
+emit_16(1490);
+emit_16(1555);
+emit_16(1491);
+emit_16(1555);
+emit_16(1490);
+emit_16(1555);
+emit_16(1491);
+emit_16(1556);
+emit_16(1492);
+emit_16(1556);
+emit_16(1491);
+emit_16(1556);
+emit_16(1492);
+emit_16(1557);
+emit_16(1493);
+emit_16(1557);
+emit_16(1492);
+emit_16(1557);
+emit_16(1493);
+emit_16(1558);
+emit_16(1494);
+emit_16(1558);
+emit_16(1493);
+emit_16(1558);
+emit_16(1494);
+emit_16(1559);
+emit_16(1495);
+emit_16(1559);
+emit_16(1494);
+emit_16(1559);
+emit_16(1495);
+emit_16(1560);
+emit_16(1496);
+emit_16(1560);
+emit_16(1495);
+emit_16(1560);
+emit_16(1496);
+emit_16(1561);
+emit_16(1497);
+emit_16(1561);
+emit_16(1496);
+emit_16(1561);
+emit_16(1497);
+emit_16(1562);
+emit_16(1498);
+emit_16(1562);
+emit_16(1497);
+emit_16(1562);
+emit_16(1498);
+emit_16(1563);
+emit_16(1499);
+emit_16(1563);
+emit_16(1498);
+emit_16(1563);
+emit_16(1499);
+emit_16(1564);
+emit_16(1500);
+emit_16(1564);
+emit_16(1499);
+emit_16(1564);
+emit_16(1500);
+emit_16(1565);
+emit_16(1501);
+emit_16(1565);
+emit_16(1500);
+emit_16(1565);
+emit_16(1501);
+emit_16(1566);
+emit_16(1502);
+emit_16(1566);
+emit_16(1501);
+emit_16(1566);
+emit_16(1502);
+emit_16(1567);
+emit_16(1503);
+emit_16(1567);
+emit_16(1502);
+emit_16(1567);
+emit_16(1503);
+emit_16(1568);
+emit_16(1504);
+emit_16(1568);
+emit_16(1503);
+emit_16(1568);
+emit_16(1504);
+emit_16(1569);
+emit_16(1505);
+emit_16(1569);
+emit_16(1504);
+emit_16(1569);
+emit_16(1505);
+emit_16(1570);
+emit_16(1506);
+emit_16(1570);
+emit_16(1505);
+emit_16(1570);
+emit_16(1506);
+emit_16(1571);
+emit_16(1507);
+emit_16(1571);
+emit_16(1506);
+emit_16(1571);
+emit_16(1507);
+emit_16(1572);
+emit_16(1508);
+emit_16(1572);
+emit_16(1507);
+emit_16(1572);
+emit_16(1508);
+emit_16(1573);
+emit_16(1509);
+emit_16(1573);
+emit_16(1508);
+emit_16(1573);
+emit_16(1509);
+emit_16(1574);
+emit_16(1510);
+emit_16(1574);
+emit_16(1509);
+emit_16(1574);
+emit_16(1510);
+emit_16(1575);
+emit_16(1511);
+emit_16(1575);
+emit_16(1510);
+emit_16(1575);
+emit_16(1511);
+emit_16(1576);
+emit_16(1512);
+emit_16(1576);
+emit_16(1511);
+emit_16(1576);
+emit_16(1512);
+emit_16(1577);
+emit_16(1513);
+emit_16(1577);
+emit_16(1512);
+emit_16(1577);
+emit_16(1513);
+emit_16(1578);
+emit_16(1514);
+emit_16(1578);
+emit_16(1513);
+emit_16(1578);
+emit_16(1514);
+emit_16(1579);
+emit_16(1515);
+emit_16(1579);
+emit_16(1514);
+emit_16(1579);
+emit_16(1515);
+emit_16(1580);
+emit_16(1516);
+emit_16(1580);
+emit_16(1515);
+emit_16(1580);
+emit_16(1516);
+emit_16(1581);
+emit_16(1517);
+emit_16(1581);
+emit_16(1516);
+emit_16(1581);
+emit_16(1517);
+emit_16(1582);
+emit_16(1518);
+emit_16(1582);
+emit_16(1517);
+emit_16(1582);
+emit_16(1518);
+emit_16(1583);
+emit_16(1519);
+emit_16(1583);
+emit_16(1518);
+emit_16(1583);
+emit_16(1519);
+emit_16(1584);
+emit_16(1520);
+emit_16(1584);
+emit_16(1519);
+emit_16(1584);
+emit_16(1520);
+emit_16(1585);
+emit_16(1521);
+emit_16(1585);
+emit_16(1520);
+emit_16(1585);
+emit_16(1521);
+emit_16(1586);
+emit_16(1522);
+emit_16(1586);
+emit_16(1521);
+emit_16(1586);
+emit_16(1522);
+emit_16(1587);
+emit_16(1523);
+emit_16(1587);
+emit_16(1522);
+emit_16(1587);
+emit_16(1523);
+emit_16(1588);
+emit_16(1524);
+emit_16(1588);
+emit_16(1523);
+emit_16(1588);
+emit_16(1524);
+emit_16(1589);
+emit_16(1525);
+emit_16(1589);
+emit_16(1524);
+emit_16(1589);
+emit_16(1525);
+emit_16(1590);
+emit_16(1526);
+emit_16(1590);
+emit_16(1525);
+emit_16(1590);
+emit_16(1526);
+emit_16(1591);
+emit_16(1527);
+emit_16(1591);
+emit_16(1526);
+emit_16(1591);
+emit_16(1527);
+emit_16(1592);
+emit_16(1528);
+emit_16(1592);
+emit_16(1527);
+emit_16(1592);
+emit_16(1528);
+emit_16(1593);
+emit_16(1529);
+emit_16(1593);
+emit_16(1528);
+emit_16(1593);
+emit_16(1529);
+emit_16(1594);
+emit_16(1530);
+emit_16(1594);
+emit_16(1529);
+emit_16(1594);
+emit_16(1530);
+emit_16(1595);
+emit_16(1531);
+emit_16(1595);
+emit_16(1530);
+emit_16(1595);
+emit_16(1531);
+emit_16(1596);
+emit_16(1532);
+emit_16(1596);
+emit_16(1531);
+emit_16(1596);
+emit_16(1532);
+emit_16(1597);
+emit_16(1533);
+emit_16(1597);
+emit_16(1532);
+emit_16(1597);
+emit_16(1533);
+emit_16(1598);
+emit_16(1534);
+emit_16(1598);
+emit_16(1533);
+emit_16(1598);
+emit_16(1534);
+emit_16(1599);
+emit_16(1535);
+emit_16(1599);
+emit_16(1534);
+emit_16(1600);
+emit_16(1536);
+emit_16(1601);
+emit_16(1537);
+emit_16(1601);
+emit_16(1536);
+emit_16(1601);
+emit_16(1537);
+emit_16(1602);
+emit_16(1538);
+emit_16(1602);
+emit_16(1537);
+emit_16(1602);
+emit_16(1538);
+emit_16(1603);
+emit_16(1539);
+emit_16(1603);
+emit_16(1538);
+emit_16(1603);
+emit_16(1539);
+emit_16(1604);
+emit_16(1540);
+emit_16(1604);
+emit_16(1539);
+emit_16(1604);
+emit_16(1540);
+emit_16(1605);
+emit_16(1541);
+emit_16(1605);
+emit_16(1540);
+emit_16(1605);
+emit_16(1541);
+emit_16(1606);
+emit_16(1542);
+emit_16(1606);
+emit_16(1541);
+emit_16(1606);
+emit_16(1542);
+emit_16(1607);
+emit_16(1543);
+emit_16(1607);
+emit_16(1542);
+emit_16(1607);
+emit_16(1543);
+emit_16(1608);
+emit_16(1544);
+emit_16(1608);
+emit_16(1543);
+emit_16(1608);
+emit_16(1544);
+emit_16(1609);
+emit_16(1545);
+emit_16(1609);
+emit_16(1544);
+emit_16(1609);
+emit_16(1545);
+emit_16(1610);
+emit_16(1546);
+emit_16(1610);
+emit_16(1545);
+emit_16(1610);
+emit_16(1546);
+emit_16(1611);
+emit_16(1547);
+emit_16(1611);
+emit_16(1546);
+emit_16(1611);
+emit_16(1547);
+emit_16(1612);
+emit_16(1548);
+emit_16(1612);
+emit_16(1547);
+emit_16(1612);
+emit_16(1548);
+emit_16(1613);
+emit_16(1549);
+emit_16(1613);
+emit_16(1548);
+emit_16(1613);
+emit_16(1549);
+emit_16(1614);
+emit_16(1550);
+emit_16(1614);
+emit_16(1549);
+emit_16(1614);
+emit_16(1550);
+emit_16(1615);
+emit_16(1551);
+emit_16(1615);
+emit_16(1550);
+emit_16(1615);
+emit_16(1551);
+emit_16(1616);
+emit_16(1552);
+emit_16(1616);
+emit_16(1551);
+emit_16(1616);
+emit_16(1552);
+emit_16(1617);
+emit_16(1553);
+emit_16(1617);
+emit_16(1552);
+emit_16(1617);
+emit_16(1553);
+emit_16(1618);
+emit_16(1554);
+emit_16(1618);
+emit_16(1553);
+emit_16(1618);
+emit_16(1554);
+emit_16(1619);
+emit_16(1555);
+emit_16(1619);
+emit_16(1554);
+emit_16(1619);
+emit_16(1555);
+emit_16(1620);
+emit_16(1556);
+emit_16(1620);
+emit_16(1555);
+emit_16(1620);
+emit_16(1556);
+emit_16(1621);
+emit_16(1557);
+emit_16(1621);
+emit_16(1556);
+emit_16(1621);
+emit_16(1557);
+emit_16(1622);
+emit_16(1558);
+emit_16(1622);
+emit_16(1557);
+emit_16(1622);
+emit_16(1558);
+emit_16(1623);
+emit_16(1559);
+emit_16(1623);
+emit_16(1558);
+emit_16(1623);
+emit_16(1559);
+emit_16(1624);
+emit_16(1560);
+emit_16(1624);
+emit_16(1559);
+emit_16(1624);
+emit_16(1560);
+emit_16(1625);
+emit_16(1561);
+emit_16(1625);
+emit_16(1560);
+emit_16(1625);
+emit_16(1561);
+emit_16(1626);
+emit_16(1562);
+emit_16(1626);
+emit_16(1561);
+emit_16(1626);
+emit_16(1562);
+emit_16(1627);
+emit_16(1563);
+emit_16(1627);
+emit_16(1562);
+emit_16(1627);
+emit_16(1563);
+emit_16(1628);
+emit_16(1564);
+emit_16(1628);
+emit_16(1563);
+emit_16(1628);
+emit_16(1564);
+emit_16(1629);
+emit_16(1565);
+emit_16(1629);
+emit_16(1564);
+emit_16(1629);
+emit_16(1565);
+emit_16(1630);
+emit_16(1566);
+emit_16(1630);
+emit_16(1565);
+emit_16(1630);
+emit_16(1566);
+emit_16(1631);
+emit_16(1567);
+emit_16(1631);
+emit_16(1566);
+emit_16(1631);
+emit_16(1567);
+emit_16(1632);
+emit_16(1568);
+emit_16(1632);
+emit_16(1567);
+emit_16(1632);
+emit_16(1568);
+emit_16(1633);
+emit_16(1569);
+emit_16(1633);
+emit_16(1568);
+emit_16(1633);
+emit_16(1569);
+emit_16(1634);
+emit_16(1570);
+emit_16(1634);
+emit_16(1569);
+emit_16(1634);
+emit_16(1570);
+emit_16(1635);
+emit_16(1571);
+emit_16(1635);
+emit_16(1570);
+emit_16(1635);
+emit_16(1571);
+emit_16(1636);
+emit_16(1572);
+emit_16(1636);
+emit_16(1571);
+emit_16(1636);
+emit_16(1572);
+emit_16(1637);
+emit_16(1573);
+emit_16(1637);
+emit_16(1572);
+emit_16(1637);
+emit_16(1573);
+emit_16(1638);
+emit_16(1574);
+emit_16(1638);
+emit_16(1573);
+emit_16(1638);
+emit_16(1574);
+emit_16(1639);
+emit_16(1575);
+emit_16(1639);
+emit_16(1574);
+emit_16(1639);
+emit_16(1575);
+emit_16(1640);
+emit_16(1576);
+emit_16(1640);
+emit_16(1575);
+emit_16(1640);
+emit_16(1576);
+emit_16(1641);
+emit_16(1577);
+emit_16(1641);
+emit_16(1576);
+emit_16(1641);
+emit_16(1577);
+emit_16(1642);
+emit_16(1578);
+emit_16(1642);
+emit_16(1577);
+emit_16(1642);
+emit_16(1578);
+emit_16(1643);
+emit_16(1579);
+emit_16(1643);
+emit_16(1578);
+emit_16(1643);
+emit_16(1579);
+emit_16(1644);
+emit_16(1580);
+emit_16(1644);
+emit_16(1579);
+emit_16(1644);
+emit_16(1580);
+emit_16(1645);
+emit_16(1581);
+emit_16(1645);
+emit_16(1580);
+emit_16(1645);
+emit_16(1581);
+emit_16(1646);
+emit_16(1582);
+emit_16(1646);
+emit_16(1581);
+emit_16(1646);
+emit_16(1582);
+emit_16(1647);
+emit_16(1583);
+emit_16(1647);
+emit_16(1582);
+emit_16(1647);
+emit_16(1583);
+emit_16(1648);
+emit_16(1584);
+emit_16(1648);
+emit_16(1583);
+emit_16(1648);
+emit_16(1584);
+emit_16(1649);
+emit_16(1585);
+emit_16(1649);
+emit_16(1584);
+emit_16(1649);
+emit_16(1585);
+emit_16(1650);
+emit_16(1586);
+emit_16(1650);
+emit_16(1585);
+emit_16(1650);
+emit_16(1586);
+emit_16(1651);
+emit_16(1587);
+emit_16(1651);
+emit_16(1586);
+emit_16(1651);
+emit_16(1587);
+emit_16(1652);
+emit_16(1588);
+emit_16(1652);
+emit_16(1587);
+emit_16(1652);
+emit_16(1588);
+emit_16(1653);
+emit_16(1589);
+emit_16(1653);
+emit_16(1588);
+emit_16(1653);
+emit_16(1589);
+emit_16(1654);
+emit_16(1590);
+emit_16(1654);
+emit_16(1589);
+emit_16(1654);
+emit_16(1590);
+emit_16(1655);
+emit_16(1591);
+emit_16(1655);
+emit_16(1590);
+emit_16(1655);
+emit_16(1591);
+emit_16(1656);
+emit_16(1592);
+emit_16(1656);
+emit_16(1591);
+emit_16(1656);
+emit_16(1592);
+emit_16(1657);
+emit_16(1593);
+emit_16(1657);
+emit_16(1592);
+emit_16(1657);
+emit_16(1593);
+emit_16(1658);
+emit_16(1594);
+emit_16(1658);
+emit_16(1593);
+emit_16(1658);
+emit_16(1594);
+emit_16(1659);
+emit_16(1595);
+emit_16(1659);
+emit_16(1594);
+emit_16(1659);
+emit_16(1595);
+emit_16(1660);
+emit_16(1596);
+emit_16(1660);
+emit_16(1595);
+emit_16(1660);
+emit_16(1596);
+emit_16(1661);
+emit_16(1597);
+emit_16(1661);
+emit_16(1596);
+emit_16(1661);
+emit_16(1597);
+emit_16(1662);
+emit_16(1598);
+emit_16(1662);
+emit_16(1597);
+emit_16(1662);
+emit_16(1598);
+emit_16(1663);
+emit_16(1599);
+emit_16(1663);
+emit_16(1598);
+emit_16(1664);
+emit_16(1600);
+emit_16(1665);
+emit_16(1601);
+emit_16(1665);
+emit_16(1600);
+emit_16(1665);
+emit_16(1601);
+emit_16(1666);
+emit_16(1602);
+emit_16(1666);
+emit_16(1601);
+emit_16(1666);
+emit_16(1602);
+emit_16(1667);
+emit_16(1603);
+emit_16(1667);
+emit_16(1602);
+emit_16(1667);
+emit_16(1603);
+emit_16(1668);
+emit_16(1604);
+emit_16(1668);
+emit_16(1603);
+emit_16(1668);
+emit_16(1604);
+emit_16(1669);
+emit_16(1605);
+emit_16(1669);
+emit_16(1604);
+emit_16(1669);
+emit_16(1605);
+emit_16(1670);
+emit_16(1606);
+emit_16(1670);
+emit_16(1605);
+emit_16(1670);
+emit_16(1606);
+emit_16(1671);
+emit_16(1607);
+emit_16(1671);
+emit_16(1606);
+emit_16(1671);
+emit_16(1607);
+emit_16(1672);
+emit_16(1608);
+emit_16(1672);
+emit_16(1607);
+emit_16(1672);
+emit_16(1608);
+emit_16(1673);
+emit_16(1609);
+emit_16(1673);
+emit_16(1608);
+emit_16(1673);
+emit_16(1609);
+emit_16(1674);
+emit_16(1610);
+emit_16(1674);
+emit_16(1609);
+emit_16(1674);
+emit_16(1610);
+emit_16(1675);
+emit_16(1611);
+emit_16(1675);
+emit_16(1610);
+emit_16(1675);
+emit_16(1611);
+emit_16(1676);
+emit_16(1612);
+emit_16(1676);
+emit_16(1611);
+emit_16(1676);
+emit_16(1612);
+emit_16(1677);
+emit_16(1613);
+emit_16(1677);
+emit_16(1612);
+emit_16(1677);
+emit_16(1613);
+emit_16(1678);
+emit_16(1614);
+emit_16(1678);
+emit_16(1613);
+emit_16(1678);
+emit_16(1614);
+emit_16(1679);
+emit_16(1615);
+emit_16(1679);
+emit_16(1614);
+emit_16(1679);
+emit_16(1615);
+emit_16(1680);
+emit_16(1616);
+emit_16(1680);
+emit_16(1615);
+emit_16(1680);
+emit_16(1616);
+emit_16(1681);
+emit_16(1617);
+emit_16(1681);
+emit_16(1616);
+emit_16(1681);
+emit_16(1617);
+emit_16(1682);
+emit_16(1618);
+emit_16(1682);
+emit_16(1617);
+emit_16(1682);
+emit_16(1618);
+emit_16(1683);
+emit_16(1619);
+emit_16(1683);
+emit_16(1618);
+emit_16(1683);
+emit_16(1619);
+emit_16(1684);
+emit_16(1620);
+emit_16(1684);
+emit_16(1619);
+emit_16(1684);
+emit_16(1620);
+emit_16(1685);
+emit_16(1621);
+emit_16(1685);
+emit_16(1620);
+emit_16(1685);
+emit_16(1621);
+emit_16(1686);
+emit_16(1622);
+emit_16(1686);
+emit_16(1621);
+emit_16(1686);
+emit_16(1622);
+emit_16(1687);
+emit_16(1623);
+emit_16(1687);
+emit_16(1622);
+emit_16(1687);
+emit_16(1623);
+emit_16(1688);
+emit_16(1624);
+emit_16(1688);
+emit_16(1623);
+emit_16(1688);
+emit_16(1624);
+emit_16(1689);
+emit_16(1625);
+emit_16(1689);
+emit_16(1624);
+emit_16(1689);
+emit_16(1625);
+emit_16(1690);
+emit_16(1626);
+emit_16(1690);
+emit_16(1625);
+emit_16(1690);
+emit_16(1626);
+emit_16(1691);
+emit_16(1627);
+emit_16(1691);
+emit_16(1626);
+emit_16(1691);
+emit_16(1627);
+emit_16(1692);
+emit_16(1628);
+emit_16(1692);
+emit_16(1627);
+emit_16(1692);
+emit_16(1628);
+emit_16(1693);
+emit_16(1629);
+emit_16(1693);
+emit_16(1628);
+emit_16(1693);
+emit_16(1629);
+emit_16(1694);
+emit_16(1630);
+emit_16(1694);
+emit_16(1629);
+emit_16(1694);
+emit_16(1630);
+emit_16(1695);
+emit_16(1631);
+emit_16(1695);
+emit_16(1630);
+emit_16(1695);
+emit_16(1631);
+emit_16(1696);
+emit_16(1632);
+emit_16(1696);
+emit_16(1631);
+emit_16(1696);
+emit_16(1632);
+emit_16(1697);
+emit_16(1633);
+emit_16(1697);
+emit_16(1632);
+emit_16(1697);
+emit_16(1633);
+emit_16(1698);
+emit_16(1634);
+emit_16(1698);
+emit_16(1633);
+emit_16(1698);
+emit_16(1634);
+emit_16(1699);
+emit_16(1635);
+emit_16(1699);
+emit_16(1634);
+emit_16(1699);
+emit_16(1635);
+emit_16(1700);
+emit_16(1636);
+emit_16(1700);
+emit_16(1635);
+emit_16(1700);
+emit_16(1636);
+emit_16(1701);
+emit_16(1637);
+emit_16(1701);
+emit_16(1636);
+emit_16(1701);
+emit_16(1637);
+emit_16(1702);
+emit_16(1638);
+emit_16(1702);
+emit_16(1637);
+emit_16(1702);
+emit_16(1638);
+emit_16(1703);
+emit_16(1639);
+emit_16(1703);
+emit_16(1638);
+emit_16(1703);
+emit_16(1639);
+emit_16(1704);
+emit_16(1640);
+emit_16(1704);
+emit_16(1639);
+emit_16(1704);
+emit_16(1640);
+emit_16(1705);
+emit_16(1641);
+emit_16(1705);
+emit_16(1640);
+emit_16(1705);
+emit_16(1641);
+emit_16(1706);
+emit_16(1642);
+emit_16(1706);
+emit_16(1641);
+emit_16(1706);
+emit_16(1642);
+emit_16(1707);
+emit_16(1643);
+emit_16(1707);
+emit_16(1642);
+emit_16(1707);
+emit_16(1643);
+emit_16(1708);
+emit_16(1644);
+emit_16(1708);
+emit_16(1643);
+emit_16(1708);
+emit_16(1644);
+emit_16(1709);
+emit_16(1645);
+emit_16(1709);
+emit_16(1644);
+emit_16(1709);
+emit_16(1645);
+emit_16(1710);
+emit_16(1646);
+emit_16(1710);
+emit_16(1645);
+emit_16(1710);
+emit_16(1646);
+emit_16(1711);
+emit_16(1647);
+emit_16(1711);
+emit_16(1646);
+emit_16(1711);
+emit_16(1647);
+emit_16(1712);
+emit_16(1648);
+emit_16(1712);
+emit_16(1647);
+emit_16(1712);
+emit_16(1648);
+emit_16(1713);
+emit_16(1649);
+emit_16(1713);
+emit_16(1648);
+emit_16(1713);
+emit_16(1649);
+emit_16(1714);
+emit_16(1650);
+emit_16(1714);
+emit_16(1649);
+emit_16(1714);
+emit_16(1650);
+emit_16(1715);
+emit_16(1651);
+emit_16(1715);
+emit_16(1650);
+emit_16(1715);
+emit_16(1651);
+emit_16(1716);
+emit_16(1652);
+emit_16(1716);
+emit_16(1651);
+emit_16(1716);
+emit_16(1652);
+emit_16(1717);
+emit_16(1653);
+emit_16(1717);
+emit_16(1652);
+emit_16(1717);
+emit_16(1653);
+emit_16(1718);
+emit_16(1654);
+emit_16(1718);
+emit_16(1653);
+emit_16(1718);
+emit_16(1654);
+emit_16(1719);
+emit_16(1655);
+emit_16(1719);
+emit_16(1654);
+emit_16(1719);
+emit_16(1655);
+emit_16(1720);
+emit_16(1656);
+emit_16(1720);
+emit_16(1655);
+emit_16(1720);
+emit_16(1656);
+emit_16(1721);
+emit_16(1657);
+emit_16(1721);
+emit_16(1656);
+emit_16(1721);
+emit_16(1657);
+emit_16(1722);
+emit_16(1658);
+emit_16(1722);
+emit_16(1657);
+emit_16(1722);
+emit_16(1658);
+emit_16(1723);
+emit_16(1659);
+emit_16(1723);
+emit_16(1658);
+emit_16(1723);
+emit_16(1659);
+emit_16(1724);
+emit_16(1660);
+emit_16(1724);
+emit_16(1659);
+emit_16(1724);
+emit_16(1660);
+emit_16(1725);
+emit_16(1661);
+emit_16(1725);
+emit_16(1660);
+emit_16(1725);
+emit_16(1661);
+emit_16(1726);
+emit_16(1662);
+emit_16(1726);
+emit_16(1661);
+emit_16(1726);
+emit_16(1662);
+emit_16(1727);
+emit_16(1663);
+emit_16(1727);
+emit_16(1662);
+emit_16(1728);
+emit_16(1664);
+emit_16(1729);
+emit_16(1665);
+emit_16(1729);
+emit_16(1664);
+emit_16(1729);
+emit_16(1665);
+emit_16(1730);
+emit_16(1666);
+emit_16(1730);
+emit_16(1665);
+emit_16(1730);
+emit_16(1666);
+emit_16(1731);
+emit_16(1667);
+emit_16(1731);
+emit_16(1666);
+emit_16(1731);
+emit_16(1667);
+emit_16(1732);
+emit_16(1668);
+emit_16(1732);
+emit_16(1667);
+emit_16(1732);
+emit_16(1668);
+emit_16(1733);
+emit_16(1669);
+emit_16(1733);
+emit_16(1668);
+emit_16(1733);
+emit_16(1669);
+emit_16(1734);
+emit_16(1670);
+emit_16(1734);
+emit_16(1669);
+emit_16(1734);
+emit_16(1670);
+emit_16(1735);
+emit_16(1671);
+emit_16(1735);
+emit_16(1670);
+emit_16(1735);
+emit_16(1671);
+emit_16(1736);
+emit_16(1672);
+emit_16(1736);
+emit_16(1671);
+emit_16(1736);
+emit_16(1672);
+emit_16(1737);
+emit_16(1673);
+emit_16(1737);
+emit_16(1672);
+emit_16(1737);
+emit_16(1673);
+emit_16(1738);
+emit_16(1674);
+emit_16(1738);
+emit_16(1673);
+emit_16(1738);
+emit_16(1674);
+emit_16(1739);
+emit_16(1675);
+emit_16(1739);
+emit_16(1674);
+emit_16(1739);
+emit_16(1675);
+emit_16(1740);
+emit_16(1676);
+emit_16(1740);
+emit_16(1675);
+emit_16(1740);
+emit_16(1676);
+emit_16(1741);
+emit_16(1677);
+emit_16(1741);
+emit_16(1676);
+emit_16(1741);
+emit_16(1677);
+emit_16(1742);
+emit_16(1678);
+emit_16(1742);
+emit_16(1677);
+emit_16(1742);
+emit_16(1678);
+emit_16(1743);
+emit_16(1679);
+emit_16(1743);
+emit_16(1678);
+emit_16(1743);
+emit_16(1679);
+emit_16(1744);
+emit_16(1680);
+emit_16(1744);
+emit_16(1679);
+emit_16(1744);
+emit_16(1680);
+emit_16(1745);
+emit_16(1681);
+emit_16(1745);
+emit_16(1680);
+emit_16(1745);
+emit_16(1681);
+emit_16(1746);
+emit_16(1682);
+emit_16(1746);
+emit_16(1681);
+emit_16(1746);
+emit_16(1682);
+emit_16(1747);
+emit_16(1683);
+emit_16(1747);
+emit_16(1682);
+emit_16(1747);
+emit_16(1683);
+emit_16(1748);
+emit_16(1684);
+emit_16(1748);
+emit_16(1683);
+emit_16(1748);
+emit_16(1684);
+emit_16(1749);
+emit_16(1685);
+emit_16(1749);
+emit_16(1684);
+emit_16(1749);
+emit_16(1685);
+emit_16(1750);
+emit_16(1686);
+emit_16(1750);
+emit_16(1685);
+emit_16(1750);
+emit_16(1686);
+emit_16(1751);
+emit_16(1687);
+emit_16(1751);
+emit_16(1686);
+emit_16(1751);
+emit_16(1687);
+emit_16(1752);
+emit_16(1688);
+emit_16(1752);
+emit_16(1687);
+emit_16(1752);
+emit_16(1688);
+emit_16(1753);
+emit_16(1689);
+emit_16(1753);
+emit_16(1688);
+emit_16(1753);
+emit_16(1689);
+emit_16(1754);
+emit_16(1690);
+emit_16(1754);
+emit_16(1689);
+emit_16(1754);
+emit_16(1690);
+emit_16(1755);
+emit_16(1691);
+emit_16(1755);
+emit_16(1690);
+emit_16(1755);
+emit_16(1691);
+emit_16(1756);
+emit_16(1692);
+emit_16(1756);
+emit_16(1691);
+emit_16(1756);
+emit_16(1692);
+emit_16(1757);
+emit_16(1693);
+emit_16(1757);
+emit_16(1692);
+emit_16(1757);
+emit_16(1693);
+emit_16(1758);
+emit_16(1694);
+emit_16(1758);
+emit_16(1693);
+emit_16(1758);
+emit_16(1694);
+emit_16(1759);
+emit_16(1695);
+emit_16(1759);
+emit_16(1694);
+emit_16(1759);
+emit_16(1695);
+emit_16(1760);
+emit_16(1696);
+emit_16(1760);
+emit_16(1695);
+emit_16(1760);
+emit_16(1696);
+emit_16(1761);
+emit_16(1697);
+emit_16(1761);
+emit_16(1696);
+emit_16(1761);
+emit_16(1697);
+emit_16(1762);
+emit_16(1698);
+emit_16(1762);
+emit_16(1697);
+emit_16(1762);
+emit_16(1698);
+emit_16(1763);
+emit_16(1699);
+emit_16(1763);
+emit_16(1698);
+emit_16(1763);
+emit_16(1699);
+emit_16(1764);
+emit_16(1700);
+emit_16(1764);
+emit_16(1699);
+emit_16(1764);
+emit_16(1700);
+emit_16(1765);
+emit_16(1701);
+emit_16(1765);
+emit_16(1700);
+emit_16(1765);
+emit_16(1701);
+emit_16(1766);
+emit_16(1702);
+emit_16(1766);
+emit_16(1701);
+emit_16(1766);
+emit_16(1702);
+emit_16(1767);
+emit_16(1703);
+emit_16(1767);
+emit_16(1702);
+emit_16(1767);
+emit_16(1703);
+emit_16(1768);
+emit_16(1704);
+emit_16(1768);
+emit_16(1703);
+emit_16(1768);
+emit_16(1704);
+emit_16(1769);
+emit_16(1705);
+emit_16(1769);
+emit_16(1704);
+emit_16(1769);
+emit_16(1705);
+emit_16(1770);
+emit_16(1706);
+emit_16(1770);
+emit_16(1705);
+emit_16(1770);
+emit_16(1706);
+emit_16(1771);
+emit_16(1707);
+emit_16(1771);
+emit_16(1706);
+emit_16(1771);
+emit_16(1707);
+emit_16(1772);
+emit_16(1708);
+emit_16(1772);
+emit_16(1707);
+emit_16(1772);
+emit_16(1708);
+emit_16(1773);
+emit_16(1709);
+emit_16(1773);
+emit_16(1708);
+emit_16(1773);
+emit_16(1709);
+emit_16(1774);
+emit_16(1710);
+emit_16(1774);
+emit_16(1709);
+emit_16(1774);
+emit_16(1710);
+emit_16(1775);
+emit_16(1711);
+emit_16(1775);
+emit_16(1710);
+emit_16(1775);
+emit_16(1711);
+emit_16(1776);
+emit_16(1712);
+emit_16(1776);
+emit_16(1711);
+emit_16(1776);
+emit_16(1712);
+emit_16(1777);
+emit_16(1713);
+emit_16(1777);
+emit_16(1712);
+emit_16(1777);
+emit_16(1713);
+emit_16(1778);
+emit_16(1714);
+emit_16(1778);
+emit_16(1713);
+emit_16(1778);
+emit_16(1714);
+emit_16(1779);
+emit_16(1715);
+emit_16(1779);
+emit_16(1714);
+emit_16(1779);
+emit_16(1715);
+emit_16(1780);
+emit_16(1716);
+emit_16(1780);
+emit_16(1715);
+emit_16(1780);
+emit_16(1716);
+emit_16(1781);
+emit_16(1717);
+emit_16(1781);
+emit_16(1716);
+emit_16(1781);
+emit_16(1717);
+emit_16(1782);
+emit_16(1718);
+emit_16(1782);
+emit_16(1717);
+emit_16(1782);
+emit_16(1718);
+emit_16(1783);
+emit_16(1719);
+emit_16(1783);
+emit_16(1718);
+emit_16(1783);
+emit_16(1719);
+emit_16(1784);
+emit_16(1720);
+emit_16(1784);
+emit_16(1719);
+emit_16(1784);
+emit_16(1720);
+emit_16(1785);
+emit_16(1721);
+emit_16(1785);
+emit_16(1720);
+emit_16(1785);
+emit_16(1721);
+emit_16(1786);
+emit_16(1722);
+emit_16(1786);
+emit_16(1721);
+emit_16(1786);
+emit_16(1722);
+emit_16(1787);
+emit_16(1723);
+emit_16(1787);
+emit_16(1722);
+emit_16(1787);
+emit_16(1723);
+emit_16(1788);
+emit_16(1724);
+emit_16(1788);
+emit_16(1723);
+emit_16(1788);
+emit_16(1724);
+emit_16(1789);
+emit_16(1725);
+emit_16(1789);
+emit_16(1724);
+emit_16(1789);
+emit_16(1725);
+emit_16(1790);
+emit_16(1726);
+emit_16(1790);
+emit_16(1725);
+emit_16(1790);
+emit_16(1726);
+emit_16(1791);
+emit_16(1727);
+emit_16(1791);
+emit_16(1726);
+emit_16(1792);
+emit_16(1728);
+emit_16(1793);
+emit_16(1729);
+emit_16(1793);
+emit_16(1728);
+emit_16(1793);
+emit_16(1729);
+emit_16(1794);
+emit_16(1730);
+emit_16(1794);
+emit_16(1729);
+emit_16(1794);
+emit_16(1730);
+emit_16(1795);
+emit_16(1731);
+emit_16(1795);
+emit_16(1730);
+emit_16(1795);
+emit_16(1731);
+emit_16(1796);
+emit_16(1732);
+emit_16(1796);
+emit_16(1731);
+emit_16(1796);
+emit_16(1732);
+emit_16(1797);
+emit_16(1733);
+emit_16(1797);
+emit_16(1732);
+emit_16(1797);
+emit_16(1733);
+emit_16(1798);
+emit_16(1734);
+emit_16(1798);
+emit_16(1733);
+emit_16(1798);
+emit_16(1734);
+emit_16(1799);
+emit_16(1735);
+emit_16(1799);
+emit_16(1734);
+emit_16(1799);
+emit_16(1735);
+emit_16(1800);
+emit_16(1736);
+emit_16(1800);
+emit_16(1735);
+emit_16(1800);
+emit_16(1736);
+emit_16(1801);
+emit_16(1737);
+emit_16(1801);
+emit_16(1736);
+emit_16(1801);
+emit_16(1737);
+emit_16(1802);
+emit_16(1738);
+emit_16(1802);
+emit_16(1737);
+emit_16(1802);
+emit_16(1738);
+emit_16(1803);
+emit_16(1739);
+emit_16(1803);
+emit_16(1738);
+emit_16(1803);
+emit_16(1739);
+emit_16(1804);
+emit_16(1740);
+emit_16(1804);
+emit_16(1739);
+emit_16(1804);
+emit_16(1740);
+emit_16(1805);
+emit_16(1741);
+emit_16(1805);
+emit_16(1740);
+emit_16(1805);
+emit_16(1741);
+emit_16(1806);
+emit_16(1742);
+emit_16(1806);
+emit_16(1741);
+emit_16(1806);
+emit_16(1742);
+emit_16(1807);
+emit_16(1743);
+emit_16(1807);
+emit_16(1742);
+emit_16(1807);
+emit_16(1743);
+emit_16(1808);
+emit_16(1744);
+emit_16(1808);
+emit_16(1743);
+emit_16(1808);
+emit_16(1744);
+emit_16(1809);
+emit_16(1745);
+emit_16(1809);
+emit_16(1744);
+emit_16(1809);
+emit_16(1745);
+emit_16(1810);
+emit_16(1746);
+emit_16(1810);
+emit_16(1745);
+emit_16(1810);
+emit_16(1746);
+emit_16(1811);
+emit_16(1747);
+emit_16(1811);
+emit_16(1746);
+emit_16(1811);
+emit_16(1747);
+emit_16(1812);
+emit_16(1748);
+emit_16(1812);
+emit_16(1747);
+emit_16(1812);
+emit_16(1748);
+emit_16(1813);
+emit_16(1749);
+emit_16(1813);
+emit_16(1748);
+emit_16(1813);
+emit_16(1749);
+emit_16(1814);
+emit_16(1750);
+emit_16(1814);
+emit_16(1749);
+emit_16(1814);
+emit_16(1750);
+emit_16(1815);
+emit_16(1751);
+emit_16(1815);
+emit_16(1750);
+emit_16(1815);
+emit_16(1751);
+emit_16(1816);
+emit_16(1752);
+emit_16(1816);
+emit_16(1751);
+emit_16(1816);
+emit_16(1752);
+emit_16(1817);
+emit_16(1753);
+emit_16(1817);
+emit_16(1752);
+emit_16(1817);
+emit_16(1753);
+emit_16(1818);
+emit_16(1754);
+emit_16(1818);
+emit_16(1753);
+emit_16(1818);
+emit_16(1754);
+emit_16(1819);
+emit_16(1755);
+emit_16(1819);
+emit_16(1754);
+emit_16(1819);
+emit_16(1755);
+emit_16(1820);
+emit_16(1756);
+emit_16(1820);
+emit_16(1755);
+emit_16(1820);
+emit_16(1756);
+emit_16(1821);
+emit_16(1757);
+emit_16(1821);
+emit_16(1756);
+emit_16(1821);
+emit_16(1757);
+emit_16(1822);
+emit_16(1758);
+emit_16(1822);
+emit_16(1757);
+emit_16(1822);
+emit_16(1758);
+emit_16(1823);
+emit_16(1759);
+emit_16(1823);
+emit_16(1758);
+emit_16(1823);
+emit_16(1759);
+emit_16(1824);
+emit_16(1760);
+emit_16(1824);
+emit_16(1759);
+emit_16(1824);
+emit_16(1760);
+emit_16(1825);
+emit_16(1761);
+emit_16(1825);
+emit_16(1760);
+emit_16(1825);
+emit_16(1761);
+emit_16(1826);
+emit_16(1762);
+emit_16(1826);
+emit_16(1761);
+emit_16(1826);
+emit_16(1762);
+emit_16(1827);
+emit_16(1763);
+emit_16(1827);
+emit_16(1762);
+emit_16(1827);
+emit_16(1763);
+emit_16(1828);
+emit_16(1764);
+emit_16(1828);
+emit_16(1763);
+emit_16(1828);
+emit_16(1764);
+emit_16(1829);
+emit_16(1765);
+emit_16(1829);
+emit_16(1764);
+emit_16(1829);
+emit_16(1765);
+emit_16(1830);
+emit_16(1766);
+emit_16(1830);
+emit_16(1765);
+emit_16(1830);
+emit_16(1766);
+emit_16(1831);
+emit_16(1767);
+emit_16(1831);
+emit_16(1766);
+emit_16(1831);
+emit_16(1767);
+emit_16(1832);
+emit_16(1768);
+emit_16(1832);
+emit_16(1767);
+emit_16(1832);
+emit_16(1768);
+emit_16(1833);
+emit_16(1769);
+emit_16(1833);
+emit_16(1768);
+emit_16(1833);
+emit_16(1769);
+emit_16(1834);
+emit_16(1770);
+emit_16(1834);
+emit_16(1769);
+emit_16(1834);
+emit_16(1770);
+emit_16(1835);
+emit_16(1771);
+emit_16(1835);
+emit_16(1770);
+emit_16(1835);
+emit_16(1771);
+emit_16(1836);
+emit_16(1772);
+emit_16(1836);
+emit_16(1771);
+emit_16(1836);
+emit_16(1772);
+emit_16(1837);
+emit_16(1773);
+emit_16(1837);
+emit_16(1772);
+emit_16(1837);
+emit_16(1773);
+emit_16(1838);
+emit_16(1774);
+emit_16(1838);
+emit_16(1773);
+emit_16(1838);
+emit_16(1774);
+emit_16(1839);
+emit_16(1775);
+emit_16(1839);
+emit_16(1774);
+emit_16(1839);
+emit_16(1775);
+emit_16(1840);
+emit_16(1776);
+emit_16(1840);
+emit_16(1775);
+emit_16(1840);
+emit_16(1776);
+emit_16(1841);
+emit_16(1777);
+emit_16(1841);
+emit_16(1776);
+emit_16(1841);
+emit_16(1777);
+emit_16(1842);
+emit_16(1778);
+emit_16(1842);
+emit_16(1777);
+emit_16(1842);
+emit_16(1778);
+emit_16(1843);
+emit_16(1779);
+emit_16(1843);
+emit_16(1778);
+emit_16(1843);
+emit_16(1779);
+emit_16(1844);
+emit_16(1780);
+emit_16(1844);
+emit_16(1779);
+emit_16(1844);
+emit_16(1780);
+emit_16(1845);
+emit_16(1781);
+emit_16(1845);
+emit_16(1780);
+emit_16(1845);
+emit_16(1781);
+emit_16(1846);
+emit_16(1782);
+emit_16(1846);
+emit_16(1781);
+emit_16(1846);
+emit_16(1782);
+emit_16(1847);
+emit_16(1783);
+emit_16(1847);
+emit_16(1782);
+emit_16(1847);
+emit_16(1783);
+emit_16(1848);
+emit_16(1784);
+emit_16(1848);
+emit_16(1783);
+emit_16(1848);
+emit_16(1784);
+emit_16(1849);
+emit_16(1785);
+emit_16(1849);
+emit_16(1784);
+emit_16(1849);
+emit_16(1785);
+emit_16(1850);
+emit_16(1786);
+emit_16(1850);
+emit_16(1785);
+emit_16(1850);
+emit_16(1786);
+emit_16(1851);
+emit_16(1787);
+emit_16(1851);
+emit_16(1786);
+emit_16(1851);
+emit_16(1787);
+emit_16(1852);
+emit_16(1788);
+emit_16(1852);
+emit_16(1787);
+emit_16(1852);
+emit_16(1788);
+emit_16(1853);
+emit_16(1789);
+emit_16(1853);
+emit_16(1788);
+emit_16(1853);
+emit_16(1789);
+emit_16(1854);
+emit_16(1790);
+emit_16(1854);
+emit_16(1789);
+emit_16(1854);
+emit_16(1790);
+emit_16(1855);
+emit_16(1791);
+emit_16(1855);
+emit_16(1790);
+emit_16(1856);
+emit_16(1792);
+emit_16(1857);
+emit_16(1793);
+emit_16(1857);
+emit_16(1792);
+emit_16(1857);
+emit_16(1793);
+emit_16(1858);
+emit_16(1794);
+emit_16(1858);
+emit_16(1793);
+emit_16(1858);
+emit_16(1794);
+emit_16(1859);
+emit_16(1795);
+emit_16(1859);
+emit_16(1794);
+emit_16(1859);
+emit_16(1795);
+emit_16(1860);
+emit_16(1796);
+emit_16(1860);
+emit_16(1795);
+emit_16(1860);
+emit_16(1796);
+emit_16(1861);
+emit_16(1797);
+emit_16(1861);
+emit_16(1796);
+emit_16(1861);
+emit_16(1797);
+emit_16(1862);
+emit_16(1798);
+emit_16(1862);
+emit_16(1797);
+emit_16(1862);
+emit_16(1798);
+emit_16(1863);
+emit_16(1799);
+emit_16(1863);
+emit_16(1798);
+emit_16(1863);
+emit_16(1799);
+emit_16(1864);
+emit_16(1800);
+emit_16(1864);
+emit_16(1799);
+emit_16(1864);
+emit_16(1800);
+emit_16(1865);
+emit_16(1801);
+emit_16(1865);
+emit_16(1800);
+emit_16(1865);
+emit_16(1801);
+emit_16(1866);
+emit_16(1802);
+emit_16(1866);
+emit_16(1801);
+emit_16(1866);
+emit_16(1802);
+emit_16(1867);
+emit_16(1803);
+emit_16(1867);
+emit_16(1802);
+emit_16(1867);
+emit_16(1803);
+emit_16(1868);
+emit_16(1804);
+emit_16(1868);
+emit_16(1803);
+emit_16(1868);
+emit_16(1804);
+emit_16(1869);
+emit_16(1805);
+emit_16(1869);
+emit_16(1804);
+emit_16(1869);
+emit_16(1805);
+emit_16(1870);
+emit_16(1806);
+emit_16(1870);
+emit_16(1805);
+emit_16(1870);
+emit_16(1806);
+emit_16(1871);
+emit_16(1807);
+emit_16(1871);
+emit_16(1806);
+emit_16(1871);
+emit_16(1807);
+emit_16(1872);
+emit_16(1808);
+emit_16(1872);
+emit_16(1807);
+emit_16(1872);
+emit_16(1808);
+emit_16(1873);
+emit_16(1809);
+emit_16(1873);
+emit_16(1808);
+emit_16(1873);
+emit_16(1809);
+emit_16(1874);
+emit_16(1810);
+emit_16(1874);
+emit_16(1809);
+emit_16(1874);
+emit_16(1810);
+emit_16(1875);
+emit_16(1811);
+emit_16(1875);
+emit_16(1810);
+emit_16(1875);
+emit_16(1811);
+emit_16(1876);
+emit_16(1812);
+emit_16(1876);
+emit_16(1811);
+emit_16(1876);
+emit_16(1812);
+emit_16(1877);
+emit_16(1813);
+emit_16(1877);
+emit_16(1812);
+emit_16(1877);
+emit_16(1813);
+emit_16(1878);
+emit_16(1814);
+emit_16(1878);
+emit_16(1813);
+emit_16(1878);
+emit_16(1814);
+emit_16(1879);
+emit_16(1815);
+emit_16(1879);
+emit_16(1814);
+emit_16(1879);
+emit_16(1815);
+emit_16(1880);
+emit_16(1816);
+emit_16(1880);
+emit_16(1815);
+emit_16(1880);
+emit_16(1816);
+emit_16(1881);
+emit_16(1817);
+emit_16(1881);
+emit_16(1816);
+emit_16(1881);
+emit_16(1817);
+emit_16(1882);
+emit_16(1818);
+emit_16(1882);
+emit_16(1817);
+emit_16(1882);
+emit_16(1818);
+emit_16(1883);
+emit_16(1819);
+emit_16(1883);
+emit_16(1818);
+emit_16(1883);
+emit_16(1819);
+emit_16(1884);
+emit_16(1820);
+emit_16(1884);
+emit_16(1819);
+emit_16(1884);
+emit_16(1820);
+emit_16(1885);
+emit_16(1821);
+emit_16(1885);
+emit_16(1820);
+emit_16(1885);
+emit_16(1821);
+emit_16(1886);
+emit_16(1822);
+emit_16(1886);
+emit_16(1821);
+emit_16(1886);
+emit_16(1822);
+emit_16(1887);
+emit_16(1823);
+emit_16(1887);
+emit_16(1822);
+emit_16(1887);
+emit_16(1823);
+emit_16(1888);
+emit_16(1824);
+emit_16(1888);
+emit_16(1823);
+emit_16(1888);
+emit_16(1824);
+emit_16(1889);
+emit_16(1825);
+emit_16(1889);
+emit_16(1824);
+emit_16(1889);
+emit_16(1825);
+emit_16(1890);
+emit_16(1826);
+emit_16(1890);
+emit_16(1825);
+emit_16(1890);
+emit_16(1826);
+emit_16(1891);
+emit_16(1827);
+emit_16(1891);
+emit_16(1826);
+emit_16(1891);
+emit_16(1827);
+emit_16(1892);
+emit_16(1828);
+emit_16(1892);
+emit_16(1827);
+emit_16(1892);
+emit_16(1828);
+emit_16(1893);
+emit_16(1829);
+emit_16(1893);
+emit_16(1828);
+emit_16(1893);
+emit_16(1829);
+emit_16(1894);
+emit_16(1830);
+emit_16(1894);
+emit_16(1829);
+emit_16(1894);
+emit_16(1830);
+emit_16(1895);
+emit_16(1831);
+emit_16(1895);
+emit_16(1830);
+emit_16(1895);
+emit_16(1831);
+emit_16(1896);
+emit_16(1832);
+emit_16(1896);
+emit_16(1831);
+emit_16(1896);
+emit_16(1832);
+emit_16(1897);
+emit_16(1833);
+emit_16(1897);
+emit_16(1832);
+emit_16(1897);
+emit_16(1833);
+emit_16(1898);
+emit_16(1834);
+emit_16(1898);
+emit_16(1833);
+emit_16(1898);
+emit_16(1834);
+emit_16(1899);
+emit_16(1835);
+emit_16(1899);
+emit_16(1834);
+emit_16(1899);
+emit_16(1835);
+emit_16(1900);
+emit_16(1836);
+emit_16(1900);
+emit_16(1835);
+emit_16(1900);
+emit_16(1836);
+emit_16(1901);
+emit_16(1837);
+emit_16(1901);
+emit_16(1836);
+emit_16(1901);
+emit_16(1837);
+emit_16(1902);
+emit_16(1838);
+emit_16(1902);
+emit_16(1837);
+emit_16(1902);
+emit_16(1838);
+emit_16(1903);
+emit_16(1839);
+emit_16(1903);
+emit_16(1838);
+emit_16(1903);
+emit_16(1839);
+emit_16(1904);
+emit_16(1840);
+emit_16(1904);
+emit_16(1839);
+emit_16(1904);
+emit_16(1840);
+emit_16(1905);
+emit_16(1841);
+emit_16(1905);
+emit_16(1840);
+emit_16(1905);
+emit_16(1841);
+emit_16(1906);
+emit_16(1842);
+emit_16(1906);
+emit_16(1841);
+emit_16(1906);
+emit_16(1842);
+emit_16(1907);
+emit_16(1843);
+emit_16(1907);
+emit_16(1842);
+emit_16(1907);
+emit_16(1843);
+emit_16(1908);
+emit_16(1844);
+emit_16(1908);
+emit_16(1843);
+emit_16(1908);
+emit_16(1844);
+emit_16(1909);
+emit_16(1845);
+emit_16(1909);
+emit_16(1844);
+emit_16(1909);
+emit_16(1845);
+emit_16(1910);
+emit_16(1846);
+emit_16(1910);
+emit_16(1845);
+emit_16(1910);
+emit_16(1846);
+emit_16(1911);
+emit_16(1847);
+emit_16(1911);
+emit_16(1846);
+emit_16(1911);
+emit_16(1847);
+emit_16(1912);
+emit_16(1848);
+emit_16(1912);
+emit_16(1847);
+emit_16(1912);
+emit_16(1848);
+emit_16(1913);
+emit_16(1849);
+emit_16(1913);
+emit_16(1848);
+emit_16(1913);
+emit_16(1849);
+emit_16(1914);
+emit_16(1850);
+emit_16(1914);
+emit_16(1849);
+emit_16(1914);
+emit_16(1850);
+emit_16(1915);
+emit_16(1851);
+emit_16(1915);
+emit_16(1850);
+emit_16(1915);
+emit_16(1851);
+emit_16(1916);
+emit_16(1852);
+emit_16(1916);
+emit_16(1851);
+emit_16(1916);
+emit_16(1852);
+emit_16(1917);
+emit_16(1853);
+emit_16(1917);
+emit_16(1852);
+emit_16(1917);
+emit_16(1853);
+emit_16(1918);
+emit_16(1854);
+emit_16(1918);
+emit_16(1853);
+emit_16(1918);
+emit_16(1854);
+emit_16(1919);
+emit_16(1855);
+emit_16(1919);
+emit_16(1854);
+emit_16(1920);
+emit_16(1856);
+emit_16(1921);
+emit_16(1857);
+emit_16(1921);
+emit_16(1856);
+emit_16(1921);
+emit_16(1857);
+emit_16(1922);
+emit_16(1858);
+emit_16(1922);
+emit_16(1857);
+emit_16(1922);
+emit_16(1858);
+emit_16(1923);
+emit_16(1859);
+emit_16(1923);
+emit_16(1858);
+emit_16(1923);
+emit_16(1859);
+emit_16(1924);
+emit_16(1860);
+emit_16(1924);
+emit_16(1859);
+emit_16(1924);
+emit_16(1860);
+emit_16(1925);
+emit_16(1861);
+emit_16(1925);
+emit_16(1860);
+emit_16(1925);
+emit_16(1861);
+emit_16(1926);
+emit_16(1862);
+emit_16(1926);
+emit_16(1861);
+emit_16(1926);
+emit_16(1862);
+emit_16(1927);
+emit_16(1863);
+emit_16(1927);
+emit_16(1862);
+emit_16(1927);
+emit_16(1863);
+emit_16(1928);
+emit_16(1864);
+emit_16(1928);
+emit_16(1863);
+emit_16(1928);
+emit_16(1864);
+emit_16(1929);
+emit_16(1865);
+emit_16(1929);
+emit_16(1864);
+emit_16(1929);
+emit_16(1865);
+emit_16(1930);
+emit_16(1866);
+emit_16(1930);
+emit_16(1865);
+emit_16(1930);
+emit_16(1866);
+emit_16(1931);
+emit_16(1867);
+emit_16(1931);
+emit_16(1866);
+emit_16(1931);
+emit_16(1867);
+emit_16(1932);
+emit_16(1868);
+emit_16(1932);
+emit_16(1867);
+emit_16(1932);
+emit_16(1868);
+emit_16(1933);
+emit_16(1869);
+emit_16(1933);
+emit_16(1868);
+emit_16(1933);
+emit_16(1869);
+emit_16(1934);
+emit_16(1870);
+emit_16(1934);
+emit_16(1869);
+emit_16(1934);
+emit_16(1870);
+emit_16(1935);
+emit_16(1871);
+emit_16(1935);
+emit_16(1870);
+emit_16(1935);
+emit_16(1871);
+emit_16(1936);
+emit_16(1872);
+emit_16(1936);
+emit_16(1871);
+emit_16(1936);
+emit_16(1872);
+emit_16(1937);
+emit_16(1873);
+emit_16(1937);
+emit_16(1872);
+emit_16(1937);
+emit_16(1873);
+emit_16(1938);
+emit_16(1874);
+emit_16(1938);
+emit_16(1873);
+emit_16(1938);
+emit_16(1874);
+emit_16(1939);
+emit_16(1875);
+emit_16(1939);
+emit_16(1874);
+emit_16(1939);
+emit_16(1875);
+emit_16(1940);
+emit_16(1876);
+emit_16(1940);
+emit_16(1875);
+emit_16(1940);
+emit_16(1876);
+emit_16(1941);
+emit_16(1877);
+emit_16(1941);
+emit_16(1876);
+emit_16(1941);
+emit_16(1877);
+emit_16(1942);
+emit_16(1878);
+emit_16(1942);
+emit_16(1877);
+emit_16(1942);
+emit_16(1878);
+emit_16(1943);
+emit_16(1879);
+emit_16(1943);
+emit_16(1878);
+emit_16(1943);
+emit_16(1879);
+emit_16(1944);
+emit_16(1880);
+emit_16(1944);
+emit_16(1879);
+emit_16(1944);
+emit_16(1880);
+emit_16(1945);
+emit_16(1881);
+emit_16(1945);
+emit_16(1880);
+emit_16(1945);
+emit_16(1881);
+emit_16(1946);
+emit_16(1882);
+emit_16(1946);
+emit_16(1881);
+emit_16(1946);
+emit_16(1882);
+emit_16(1947);
+emit_16(1883);
+emit_16(1947);
+emit_16(1882);
+emit_16(1947);
+emit_16(1883);
+emit_16(1948);
+emit_16(1884);
+emit_16(1948);
+emit_16(1883);
+emit_16(1948);
+emit_16(1884);
+emit_16(1949);
+emit_16(1885);
+emit_16(1949);
+emit_16(1884);
+emit_16(1949);
+emit_16(1885);
+emit_16(1950);
+emit_16(1886);
+emit_16(1950);
+emit_16(1885);
+emit_16(1950);
+emit_16(1886);
+emit_16(1951);
+emit_16(1887);
+emit_16(1951);
+emit_16(1886);
+emit_16(1951);
+emit_16(1887);
+emit_16(1952);
+emit_16(1888);
+emit_16(1952);
+emit_16(1887);
+emit_16(1952);
+emit_16(1888);
+emit_16(1953);
+emit_16(1889);
+emit_16(1953);
+emit_16(1888);
+emit_16(1953);
+emit_16(1889);
+emit_16(1954);
+emit_16(1890);
+emit_16(1954);
+emit_16(1889);
+emit_16(1954);
+emit_16(1890);
+emit_16(1955);
+emit_16(1891);
+emit_16(1955);
+emit_16(1890);
+emit_16(1955);
+emit_16(1891);
+emit_16(1956);
+emit_16(1892);
+emit_16(1956);
+emit_16(1891);
+emit_16(1956);
+emit_16(1892);
+emit_16(1957);
+emit_16(1893);
+emit_16(1957);
+emit_16(1892);
+emit_16(1957);
+emit_16(1893);
+emit_16(1958);
+emit_16(1894);
+emit_16(1958);
+emit_16(1893);
+emit_16(1958);
+emit_16(1894);
+emit_16(1959);
+emit_16(1895);
+emit_16(1959);
+emit_16(1894);
+emit_16(1959);
+emit_16(1895);
+emit_16(1960);
+emit_16(1896);
+emit_16(1960);
+emit_16(1895);
+emit_16(1960);
+emit_16(1896);
+emit_16(1961);
+emit_16(1897);
+emit_16(1961);
+emit_16(1896);
+emit_16(1961);
+emit_16(1897);
+emit_16(1962);
+emit_16(1898);
+emit_16(1962);
+emit_16(1897);
+emit_16(1962);
+emit_16(1898);
+emit_16(1963);
+emit_16(1899);
+emit_16(1963);
+emit_16(1898);
+emit_16(1963);
+emit_16(1899);
+emit_16(1964);
+emit_16(1900);
+emit_16(1964);
+emit_16(1899);
+emit_16(1964);
+emit_16(1900);
+emit_16(1965);
+emit_16(1901);
+emit_16(1965);
+emit_16(1900);
+emit_16(1965);
+emit_16(1901);
+emit_16(1966);
+emit_16(1902);
+emit_16(1966);
+emit_16(1901);
+emit_16(1966);
+emit_16(1902);
+emit_16(1967);
+emit_16(1903);
+emit_16(1967);
+emit_16(1902);
+emit_16(1967);
+emit_16(1903);
+emit_16(1968);
+emit_16(1904);
+emit_16(1968);
+emit_16(1903);
+emit_16(1968);
+emit_16(1904);
+emit_16(1969);
+emit_16(1905);
+emit_16(1969);
+emit_16(1904);
+emit_16(1969);
+emit_16(1905);
+emit_16(1970);
+emit_16(1906);
+emit_16(1970);
+emit_16(1905);
+emit_16(1970);
+emit_16(1906);
+emit_16(1971);
+emit_16(1907);
+emit_16(1971);
+emit_16(1906);
+emit_16(1971);
+emit_16(1907);
+emit_16(1972);
+emit_16(1908);
+emit_16(1972);
+emit_16(1907);
+emit_16(1972);
+emit_16(1908);
+emit_16(1973);
+emit_16(1909);
+emit_16(1973);
+emit_16(1908);
+emit_16(1973);
+emit_16(1909);
+emit_16(1974);
+emit_16(1910);
+emit_16(1974);
+emit_16(1909);
+emit_16(1974);
+emit_16(1910);
+emit_16(1975);
+emit_16(1911);
+emit_16(1975);
+emit_16(1910);
+emit_16(1975);
+emit_16(1911);
+emit_16(1976);
+emit_16(1912);
+emit_16(1976);
+emit_16(1911);
+emit_16(1976);
+emit_16(1912);
+emit_16(1977);
+emit_16(1913);
+emit_16(1977);
+emit_16(1912);
+emit_16(1977);
+emit_16(1913);
+emit_16(1978);
+emit_16(1914);
+emit_16(1978);
+emit_16(1913);
+emit_16(1978);
+emit_16(1914);
+emit_16(1979);
+emit_16(1915);
+emit_16(1979);
+emit_16(1914);
+emit_16(1979);
+emit_16(1915);
+emit_16(1980);
+emit_16(1916);
+emit_16(1980);
+emit_16(1915);
+emit_16(1980);
+emit_16(1916);
+emit_16(1981);
+emit_16(1917);
+emit_16(1981);
+emit_16(1916);
+emit_16(1981);
+emit_16(1917);
+emit_16(1982);
+emit_16(1918);
+emit_16(1982);
+emit_16(1917);
+emit_16(1982);
+emit_16(1918);
+emit_16(1983);
+emit_16(1919);
+emit_16(1983);
+emit_16(1918);
+emit_16(1984);
+emit_16(1920);
+emit_16(1985);
+emit_16(1921);
+emit_16(1985);
+emit_16(1920);
+emit_16(1985);
+emit_16(1921);
+emit_16(1986);
+emit_16(1922);
+emit_16(1986);
+emit_16(1921);
+emit_16(1986);
+emit_16(1922);
+emit_16(1987);
+emit_16(1923);
+emit_16(1987);
+emit_16(1922);
+emit_16(1987);
+emit_16(1923);
+emit_16(1988);
+emit_16(1924);
+emit_16(1988);
+emit_16(1923);
+emit_16(1988);
+emit_16(1924);
+emit_16(1989);
+emit_16(1925);
+emit_16(1989);
+emit_16(1924);
+emit_16(1989);
+emit_16(1925);
+emit_16(1990);
+emit_16(1926);
+emit_16(1990);
+emit_16(1925);
+emit_16(1990);
+emit_16(1926);
+emit_16(1991);
+emit_16(1927);
+emit_16(1991);
+emit_16(1926);
+emit_16(1991);
+emit_16(1927);
+emit_16(1992);
+emit_16(1928);
+emit_16(1992);
+emit_16(1927);
+emit_16(1992);
+emit_16(1928);
+emit_16(1993);
+emit_16(1929);
+emit_16(1993);
+emit_16(1928);
+emit_16(1993);
+emit_16(1929);
+emit_16(1994);
+emit_16(1930);
+emit_16(1994);
+emit_16(1929);
+emit_16(1994);
+emit_16(1930);
+emit_16(1995);
+emit_16(1931);
+emit_16(1995);
+emit_16(1930);
+emit_16(1995);
+emit_16(1931);
+emit_16(1996);
+emit_16(1932);
+emit_16(1996);
+emit_16(1931);
+emit_16(1996);
+emit_16(1932);
+emit_16(1997);
+emit_16(1933);
+emit_16(1997);
+emit_16(1932);
+emit_16(1997);
+emit_16(1933);
+emit_16(1998);
+emit_16(1934);
+emit_16(1998);
+emit_16(1933);
+emit_16(1998);
+emit_16(1934);
+emit_16(1999);
+emit_16(1935);
+emit_16(1999);
+emit_16(1934);
+emit_16(1999);
+emit_16(1935);
+emit_16(2000);
+emit_16(1936);
+emit_16(2000);
+emit_16(1935);
+emit_16(2000);
+emit_16(1936);
+emit_16(2001);
+emit_16(1937);
+emit_16(2001);
+emit_16(1936);
+emit_16(2001);
+emit_16(1937);
+emit_16(2002);
+emit_16(1938);
+emit_16(2002);
+emit_16(1937);
+emit_16(2002);
+emit_16(1938);
+emit_16(2003);
+emit_16(1939);
+emit_16(2003);
+emit_16(1938);
+emit_16(2003);
+emit_16(1939);
+emit_16(2004);
+emit_16(1940);
+emit_16(2004);
+emit_16(1939);
+emit_16(2004);
+emit_16(1940);
+emit_16(2005);
+emit_16(1941);
+emit_16(2005);
+emit_16(1940);
+emit_16(2005);
+emit_16(1941);
+emit_16(2006);
+emit_16(1942);
+emit_16(2006);
+emit_16(1941);
+emit_16(2006);
+emit_16(1942);
+emit_16(2007);
+emit_16(1943);
+emit_16(2007);
+emit_16(1942);
+emit_16(2007);
+emit_16(1943);
+emit_16(2008);
+emit_16(1944);
+emit_16(2008);
+emit_16(1943);
+emit_16(2008);
+emit_16(1944);
+emit_16(2009);
+emit_16(1945);
+emit_16(2009);
+emit_16(1944);
+emit_16(2009);
+emit_16(1945);
+emit_16(2010);
+emit_16(1946);
+emit_16(2010);
+emit_16(1945);
+emit_16(2010);
+emit_16(1946);
+emit_16(2011);
+emit_16(1947);
+emit_16(2011);
+emit_16(1946);
+emit_16(2011);
+emit_16(1947);
+emit_16(2012);
+emit_16(1948);
+emit_16(2012);
+emit_16(1947);
+emit_16(2012);
+emit_16(1948);
+emit_16(2013);
+emit_16(1949);
+emit_16(2013);
+emit_16(1948);
+emit_16(2013);
+emit_16(1949);
+emit_16(2014);
+emit_16(1950);
+emit_16(2014);
+emit_16(1949);
+emit_16(2014);
+emit_16(1950);
+emit_16(2015);
+emit_16(1951);
+emit_16(2015);
+emit_16(1950);
+emit_16(2015);
+emit_16(1951);
+emit_16(2016);
+emit_16(1952);
+emit_16(2016);
+emit_16(1951);
+emit_16(2016);
+emit_16(1952);
+emit_16(2017);
+emit_16(1953);
+emit_16(2017);
+emit_16(1952);
+emit_16(2017);
+emit_16(1953);
+emit_16(2018);
+emit_16(1954);
+emit_16(2018);
+emit_16(1953);
+emit_16(2018);
+emit_16(1954);
+emit_16(2019);
+emit_16(1955);
+emit_16(2019);
+emit_16(1954);
+emit_16(2019);
+emit_16(1955);
+emit_16(2020);
+emit_16(1956);
+emit_16(2020);
+emit_16(1955);
+emit_16(2020);
+emit_16(1956);
+emit_16(2021);
+emit_16(1957);
+emit_16(2021);
+emit_16(1956);
+emit_16(2021);
+emit_16(1957);
+emit_16(2022);
+emit_16(1958);
+emit_16(2022);
+emit_16(1957);
+emit_16(2022);
+emit_16(1958);
+emit_16(2023);
+emit_16(1959);
+emit_16(2023);
+emit_16(1958);
+emit_16(2023);
+emit_16(1959);
+emit_16(2024);
+emit_16(1960);
+emit_16(2024);
+emit_16(1959);
+emit_16(2024);
+emit_16(1960);
+emit_16(2025);
+emit_16(1961);
+emit_16(2025);
+emit_16(1960);
+emit_16(2025);
+emit_16(1961);
+emit_16(2026);
+emit_16(1962);
+emit_16(2026);
+emit_16(1961);
+emit_16(2026);
+emit_16(1962);
+emit_16(2027);
+emit_16(1963);
+emit_16(2027);
+emit_16(1962);
+emit_16(2027);
+emit_16(1963);
+emit_16(2028);
+emit_16(1964);
+emit_16(2028);
+emit_16(1963);
+emit_16(2028);
+emit_16(1964);
+emit_16(2029);
+emit_16(1965);
+emit_16(2029);
+emit_16(1964);
+emit_16(2029);
+emit_16(1965);
+emit_16(2030);
+emit_16(1966);
+emit_16(2030);
+emit_16(1965);
+emit_16(2030);
+emit_16(1966);
+emit_16(2031);
+emit_16(1967);
+emit_16(2031);
+emit_16(1966);
+emit_16(2031);
+emit_16(1967);
+emit_16(2032);
+emit_16(1968);
+emit_16(2032);
+emit_16(1967);
+emit_16(2032);
+emit_16(1968);
+emit_16(2033);
+emit_16(1969);
+emit_16(2033);
+emit_16(1968);
+emit_16(2033);
+emit_16(1969);
+emit_16(2034);
+emit_16(1970);
+emit_16(2034);
+emit_16(1969);
+emit_16(2034);
+emit_16(1970);
+emit_16(2035);
+emit_16(1971);
+emit_16(2035);
+emit_16(1970);
+emit_16(2035);
+emit_16(1971);
+emit_16(2036);
+emit_16(1972);
+emit_16(2036);
+emit_16(1971);
+emit_16(2036);
+emit_16(1972);
+emit_16(2037);
+emit_16(1973);
+emit_16(2037);
+emit_16(1972);
+emit_16(2037);
+emit_16(1973);
+emit_16(2038);
+emit_16(1974);
+emit_16(2038);
+emit_16(1973);
+emit_16(2038);
+emit_16(1974);
+emit_16(2039);
+emit_16(1975);
+emit_16(2039);
+emit_16(1974);
+emit_16(2039);
+emit_16(1975);
+emit_16(2040);
+emit_16(1976);
+emit_16(2040);
+emit_16(1975);
+emit_16(2040);
+emit_16(1976);
+emit_16(2041);
+emit_16(1977);
+emit_16(2041);
+emit_16(1976);
+emit_16(2041);
+emit_16(1977);
+emit_16(2042);
+emit_16(1978);
+emit_16(2042);
+emit_16(1977);
+emit_16(2042);
+emit_16(1978);
+emit_16(2043);
+emit_16(1979);
+emit_16(2043);
+emit_16(1978);
+emit_16(2043);
+emit_16(1979);
+emit_16(2044);
+emit_16(1980);
+emit_16(2044);
+emit_16(1979);
+emit_16(2044);
+emit_16(1980);
+emit_16(2045);
+emit_16(1981);
+emit_16(2045);
+emit_16(1980);
+emit_16(2045);
+emit_16(1981);
+emit_16(2046);
+emit_16(1982);
+emit_16(2046);
+emit_16(1981);
+emit_16(2046);
+emit_16(1982);
+emit_16(2047);
+emit_16(1983);
+emit_16(2047);
+emit_16(1982);
+emit_16(2048);
+emit_16(1984);
+emit_16(2049);
+emit_16(1985);
+emit_16(2049);
+emit_16(1984);
+emit_16(2049);
+emit_16(1985);
+emit_16(2050);
+emit_16(1986);
+emit_16(2050);
+emit_16(1985);
+emit_16(2050);
+emit_16(1986);
+emit_16(2051);
+emit_16(1987);
+emit_16(2051);
+emit_16(1986);
+emit_16(2051);
+emit_16(1987);
+emit_16(2052);
+emit_16(1988);
+emit_16(2052);
+emit_16(1987);
+emit_16(2052);
+emit_16(1988);
+emit_16(2053);
+emit_16(1989);
+emit_16(2053);
+emit_16(1988);
+emit_16(2053);
+emit_16(1989);
+emit_16(2054);
+emit_16(1990);
+emit_16(2054);
+emit_16(1989);
+emit_16(2054);
+emit_16(1990);
+emit_16(2055);
+emit_16(1991);
+emit_16(2055);
+emit_16(1990);
+emit_16(2055);
+emit_16(1991);
+emit_16(2056);
+emit_16(1992);
+emit_16(2056);
+emit_16(1991);
+emit_16(2056);
+emit_16(1992);
+emit_16(2057);
+emit_16(1993);
+emit_16(2057);
+emit_16(1992);
+emit_16(2057);
+emit_16(1993);
+emit_16(2058);
+emit_16(1994);
+emit_16(2058);
+emit_16(1993);
+emit_16(2058);
+emit_16(1994);
+emit_16(2059);
+emit_16(1995);
+emit_16(2059);
+emit_16(1994);
+emit_16(2059);
+emit_16(1995);
+emit_16(2060);
+emit_16(1996);
+emit_16(2060);
+emit_16(1995);
+emit_16(2060);
+emit_16(1996);
+emit_16(2061);
+emit_16(1997);
+emit_16(2061);
+emit_16(1996);
+emit_16(2061);
+emit_16(1997);
+emit_16(2062);
+emit_16(1998);
+emit_16(2062);
+emit_16(1997);
+emit_16(2062);
+emit_16(1998);
+emit_16(2063);
+emit_16(1999);
+emit_16(2063);
+emit_16(1998);
+emit_16(2063);
+emit_16(1999);
+emit_16(2064);
+emit_16(2000);
+emit_16(2064);
+emit_16(1999);
+emit_16(2064);
+emit_16(2000);
+emit_16(2065);
+emit_16(2001);
+emit_16(2065);
+emit_16(2000);
+emit_16(2065);
+emit_16(2001);
+emit_16(2066);
+emit_16(2002);
+emit_16(2066);
+emit_16(2001);
+emit_16(2066);
+emit_16(2002);
+emit_16(2067);
+emit_16(2003);
+emit_16(2067);
+emit_16(2002);
+emit_16(2067);
+emit_16(2003);
+emit_16(2068);
+emit_16(2004);
+emit_16(2068);
+emit_16(2003);
+emit_16(2068);
+emit_16(2004);
+emit_16(2069);
+emit_16(2005);
+emit_16(2069);
+emit_16(2004);
+emit_16(2069);
+emit_16(2005);
+emit_16(2070);
+emit_16(2006);
+emit_16(2070);
+emit_16(2005);
+emit_16(2070);
+emit_16(2006);
+emit_16(2071);
+emit_16(2007);
+emit_16(2071);
+emit_16(2006);
+emit_16(2071);
+emit_16(2007);
+emit_16(2072);
+emit_16(2008);
+emit_16(2072);
+emit_16(2007);
+emit_16(2072);
+emit_16(2008);
+emit_16(2073);
+emit_16(2009);
+emit_16(2073);
+emit_16(2008);
+emit_16(2073);
+emit_16(2009);
+emit_16(2074);
+emit_16(2010);
+emit_16(2074);
+emit_16(2009);
+emit_16(2074);
+emit_16(2010);
+emit_16(2075);
+emit_16(2011);
+emit_16(2075);
+emit_16(2010);
+emit_16(2075);
+emit_16(2011);
+emit_16(2076);
+emit_16(2012);
+emit_16(2076);
+emit_16(2011);
+emit_16(2076);
+emit_16(2012);
+emit_16(2077);
+emit_16(2013);
+emit_16(2077);
+emit_16(2012);
+emit_16(2077);
+emit_16(2013);
+emit_16(2078);
+emit_16(2014);
+emit_16(2078);
+emit_16(2013);
+emit_16(2078);
+emit_16(2014);
+emit_16(2079);
+emit_16(2015);
+emit_16(2079);
+emit_16(2014);
+emit_16(2079);
+emit_16(2015);
+emit_16(2080);
+emit_16(2016);
+emit_16(2080);
+emit_16(2015);
+emit_16(2080);
+emit_16(2016);
+emit_16(2081);
+emit_16(2017);
+emit_16(2081);
+emit_16(2016);
+emit_16(2081);
+emit_16(2017);
+emit_16(2082);
+emit_16(2018);
+emit_16(2082);
+emit_16(2017);
+emit_16(2082);
+emit_16(2018);
+emit_16(2083);
+emit_16(2019);
+emit_16(2083);
+emit_16(2018);
+emit_16(2083);
+emit_16(2019);
+emit_16(2084);
+emit_16(2020);
+emit_16(2084);
+emit_16(2019);
+emit_16(2084);
+emit_16(2020);
+emit_16(2085);
+emit_16(2021);
+emit_16(2085);
+emit_16(2020);
+emit_16(2085);
+emit_16(2021);
+emit_16(2086);
+emit_16(2022);
+emit_16(2086);
+emit_16(2021);
+emit_16(2086);
+emit_16(2022);
+emit_16(2087);
+emit_16(2023);
+emit_16(2087);
+emit_16(2022);
+emit_16(2087);
+emit_16(2023);
+emit_16(2088);
+emit_16(2024);
+emit_16(2088);
+emit_16(2023);
+emit_16(2088);
+emit_16(2024);
+emit_16(2089);
+emit_16(2025);
+emit_16(2089);
+emit_16(2024);
+emit_16(2089);
+emit_16(2025);
+emit_16(2090);
+emit_16(2026);
+emit_16(2090);
+emit_16(2025);
+emit_16(2090);
+emit_16(2026);
+emit_16(2091);
+emit_16(2027);
+emit_16(2091);
+emit_16(2026);
+emit_16(2091);
+emit_16(2027);
+emit_16(2092);
+emit_16(2028);
+emit_16(2092);
+emit_16(2027);
+emit_16(2092);
+emit_16(2028);
+emit_16(2093);
+emit_16(2029);
+emit_16(2093);
+emit_16(2028);
+emit_16(2093);
+emit_16(2029);
+emit_16(2094);
+emit_16(2030);
+emit_16(2094);
+emit_16(2029);
+emit_16(2094);
+emit_16(2030);
+emit_16(2095);
+emit_16(2031);
+emit_16(2095);
+emit_16(2030);
+emit_16(2095);
+emit_16(2031);
+emit_16(2096);
+emit_16(2032);
+emit_16(2096);
+emit_16(2031);
+emit_16(2096);
+emit_16(2032);
+emit_16(2097);
+emit_16(2033);
+emit_16(2097);
+emit_16(2032);
+emit_16(2097);
+emit_16(2033);
+emit_16(2098);
+emit_16(2034);
+emit_16(2098);
+emit_16(2033);
+emit_16(2098);
+emit_16(2034);
+emit_16(2099);
+emit_16(2035);
+emit_16(2099);
+emit_16(2034);
+emit_16(2099);
+emit_16(2035);
+emit_16(2100);
+emit_16(2036);
+emit_16(2100);
+emit_16(2035);
+emit_16(2100);
+emit_16(2036);
+emit_16(2101);
+emit_16(2037);
+emit_16(2101);
+emit_16(2036);
+emit_16(2101);
+emit_16(2037);
+emit_16(2102);
+emit_16(2038);
+emit_16(2102);
+emit_16(2037);
+emit_16(2102);
+emit_16(2038);
+emit_16(2103);
+emit_16(2039);
+emit_16(2103);
+emit_16(2038);
+emit_16(2103);
+emit_16(2039);
+emit_16(2104);
+emit_16(2040);
+emit_16(2104);
+emit_16(2039);
+emit_16(2104);
+emit_16(2040);
+emit_16(2105);
+emit_16(2041);
+emit_16(2105);
+emit_16(2040);
+emit_16(2105);
+emit_16(2041);
+emit_16(2106);
+emit_16(2042);
+emit_16(2106);
+emit_16(2041);
+emit_16(2106);
+emit_16(2042);
+emit_16(2107);
+emit_16(2043);
+emit_16(2107);
+emit_16(2042);
+emit_16(2107);
+emit_16(2043);
+emit_16(2108);
+emit_16(2044);
+emit_16(2108);
+emit_16(2043);
+emit_16(2108);
+emit_16(2044);
+emit_16(2109);
+emit_16(2045);
+emit_16(2109);
+emit_16(2044);
+emit_16(2109);
+emit_16(2045);
+emit_16(2110);
+emit_16(2046);
+emit_16(2110);
+emit_16(2045);
+emit_16(2110);
+emit_16(2046);
+emit_16(2111);
+emit_16(2047);
+emit_16(2111);
+emit_16(2046);
+emit_16(2112);
+emit_16(2048);
+emit_16(2113);
+emit_16(2049);
+emit_16(2113);
+emit_16(2048);
+emit_16(2113);
+emit_16(2049);
+emit_16(2114);
+emit_16(2050);
+emit_16(2114);
+emit_16(2049);
+emit_16(2114);
+emit_16(2050);
+emit_16(2115);
+emit_16(2051);
+emit_16(2115);
+emit_16(2050);
+emit_16(2115);
+emit_16(2051);
+emit_16(2116);
+emit_16(2052);
+emit_16(2116);
+emit_16(2051);
+emit_16(2116);
+emit_16(2052);
+emit_16(2117);
+emit_16(2053);
+emit_16(2117);
+emit_16(2052);
+emit_16(2117);
+emit_16(2053);
+emit_16(2118);
+emit_16(2054);
+emit_16(2118);
+emit_16(2053);
+emit_16(2118);
+emit_16(2054);
+emit_16(2119);
+emit_16(2055);
+emit_16(2119);
+emit_16(2054);
+emit_16(2119);
+emit_16(2055);
+emit_16(2120);
+emit_16(2056);
+emit_16(2120);
+emit_16(2055);
+emit_16(2120);
+emit_16(2056);
+emit_16(2121);
+emit_16(2057);
+emit_16(2121);
+emit_16(2056);
+emit_16(2121);
+emit_16(2057);
+emit_16(2122);
+emit_16(2058);
+emit_16(2122);
+emit_16(2057);
+emit_16(2122);
+emit_16(2058);
+emit_16(2123);
+emit_16(2059);
+emit_16(2123);
+emit_16(2058);
+emit_16(2123);
+emit_16(2059);
+emit_16(2124);
+emit_16(2060);
+emit_16(2124);
+emit_16(2059);
+emit_16(2124);
+emit_16(2060);
+emit_16(2125);
+emit_16(2061);
+emit_16(2125);
+emit_16(2060);
+emit_16(2125);
+emit_16(2061);
+emit_16(2126);
+emit_16(2062);
+emit_16(2126);
+emit_16(2061);
+emit_16(2126);
+emit_16(2062);
+emit_16(2127);
+emit_16(2063);
+emit_16(2127);
+emit_16(2062);
+emit_16(2127);
+emit_16(2063);
+emit_16(2128);
+emit_16(2064);
+emit_16(2128);
+emit_16(2063);
+emit_16(2128);
+emit_16(2064);
+emit_16(2129);
+emit_16(2065);
+emit_16(2129);
+emit_16(2064);
+emit_16(2129);
+emit_16(2065);
+emit_16(2130);
+emit_16(2066);
+emit_16(2130);
+emit_16(2065);
+emit_16(2130);
+emit_16(2066);
+emit_16(2131);
+emit_16(2067);
+emit_16(2131);
+emit_16(2066);
+emit_16(2131);
+emit_16(2067);
+emit_16(2132);
+emit_16(2068);
+emit_16(2132);
+emit_16(2067);
+emit_16(2132);
+emit_16(2068);
+emit_16(2133);
+emit_16(2069);
+emit_16(2133);
+emit_16(2068);
+emit_16(2133);
+emit_16(2069);
+emit_16(2134);
+emit_16(2070);
+emit_16(2134);
+emit_16(2069);
+emit_16(2134);
+emit_16(2070);
+emit_16(2135);
+emit_16(2071);
+emit_16(2135);
+emit_16(2070);
+emit_16(2135);
+emit_16(2071);
+emit_16(2136);
+emit_16(2072);
+emit_16(2136);
+emit_16(2071);
+emit_16(2136);
+emit_16(2072);
+emit_16(2137);
+emit_16(2073);
+emit_16(2137);
+emit_16(2072);
+emit_16(2137);
+emit_16(2073);
+emit_16(2138);
+emit_16(2074);
+emit_16(2138);
+emit_16(2073);
+emit_16(2138);
+emit_16(2074);
+emit_16(2139);
+emit_16(2075);
+emit_16(2139);
+emit_16(2074);
+emit_16(2139);
+emit_16(2075);
+emit_16(2140);
+emit_16(2076);
+emit_16(2140);
+emit_16(2075);
+emit_16(2140);
+emit_16(2076);
+emit_16(2141);
+emit_16(2077);
+emit_16(2141);
+emit_16(2076);
+emit_16(2141);
+emit_16(2077);
+emit_16(2142);
+emit_16(2078);
+emit_16(2142);
+emit_16(2077);
+emit_16(2142);
+emit_16(2078);
+emit_16(2143);
+emit_16(2079);
+emit_16(2143);
+emit_16(2078);
+emit_16(2143);
+emit_16(2079);
+emit_16(2144);
+emit_16(2080);
+emit_16(2144);
+emit_16(2079);
+emit_16(2144);
+emit_16(2080);
+emit_16(2145);
+emit_16(2081);
+emit_16(2145);
+emit_16(2080);
+emit_16(2145);
+emit_16(2081);
+emit_16(2146);
+emit_16(2082);
+emit_16(2146);
+emit_16(2081);
+emit_16(2146);
+emit_16(2082);
+emit_16(2147);
+emit_16(2083);
+emit_16(2147);
+emit_16(2082);
+emit_16(2147);
+emit_16(2083);
+emit_16(2148);
+emit_16(2084);
+emit_16(2148);
+emit_16(2083);
+emit_16(2148);
+emit_16(2084);
+emit_16(2149);
+emit_16(2085);
+emit_16(2149);
+emit_16(2084);
+emit_16(2149);
+emit_16(2085);
+emit_16(2150);
+emit_16(2086);
+emit_16(2150);
+emit_16(2085);
+emit_16(2150);
+emit_16(2086);
+emit_16(2151);
+emit_16(2087);
+emit_16(2151);
+emit_16(2086);
+emit_16(2151);
+emit_16(2087);
+emit_16(2152);
+emit_16(2088);
+emit_16(2152);
+emit_16(2087);
+emit_16(2152);
+emit_16(2088);
+emit_16(2153);
+emit_16(2089);
+emit_16(2153);
+emit_16(2088);
+emit_16(2153);
+emit_16(2089);
+emit_16(2154);
+emit_16(2090);
+emit_16(2154);
+emit_16(2089);
+emit_16(2154);
+emit_16(2090);
+emit_16(2155);
+emit_16(2091);
+emit_16(2155);
+emit_16(2090);
+emit_16(2155);
+emit_16(2091);
+emit_16(2156);
+emit_16(2092);
+emit_16(2156);
+emit_16(2091);
+emit_16(2156);
+emit_16(2092);
+emit_16(2157);
+emit_16(2093);
+emit_16(2157);
+emit_16(2092);
+emit_16(2157);
+emit_16(2093);
+emit_16(2158);
+emit_16(2094);
+emit_16(2158);
+emit_16(2093);
+emit_16(2158);
+emit_16(2094);
+emit_16(2159);
+emit_16(2095);
+emit_16(2159);
+emit_16(2094);
+emit_16(2159);
+emit_16(2095);
+emit_16(2160);
+emit_16(2096);
+emit_16(2160);
+emit_16(2095);
+emit_16(2160);
+emit_16(2096);
+emit_16(2161);
+emit_16(2097);
+emit_16(2161);
+emit_16(2096);
+emit_16(2161);
+emit_16(2097);
+emit_16(2162);
+emit_16(2098);
+emit_16(2162);
+emit_16(2097);
+emit_16(2162);
+emit_16(2098);
+emit_16(2163);
+emit_16(2099);
+emit_16(2163);
+emit_16(2098);
+emit_16(2163);
+emit_16(2099);
+emit_16(2164);
+emit_16(2100);
+emit_16(2164);
+emit_16(2099);
+emit_16(2164);
+emit_16(2100);
+emit_16(2165);
+emit_16(2101);
+emit_16(2165);
+emit_16(2100);
+emit_16(2165);
+emit_16(2101);
+emit_16(2166);
+emit_16(2102);
+emit_16(2166);
+emit_16(2101);
+emit_16(2166);
+emit_16(2102);
+emit_16(2167);
+emit_16(2103);
+emit_16(2167);
+emit_16(2102);
+emit_16(2167);
+emit_16(2103);
+emit_16(2168);
+emit_16(2104);
+emit_16(2168);
+emit_16(2103);
+emit_16(2168);
+emit_16(2104);
+emit_16(2169);
+emit_16(2105);
+emit_16(2169);
+emit_16(2104);
+emit_16(2169);
+emit_16(2105);
+emit_16(2170);
+emit_16(2106);
+emit_16(2170);
+emit_16(2105);
+emit_16(2170);
+emit_16(2106);
+emit_16(2171);
+emit_16(2107);
+emit_16(2171);
+emit_16(2106);
+emit_16(2171);
+emit_16(2107);
+emit_16(2172);
+emit_16(2108);
+emit_16(2172);
+emit_16(2107);
+emit_16(2172);
+emit_16(2108);
+emit_16(2173);
+emit_16(2109);
+emit_16(2173);
+emit_16(2108);
+emit_16(2173);
+emit_16(2109);
+emit_16(2174);
+emit_16(2110);
+emit_16(2174);
+emit_16(2109);
+emit_16(2174);
+emit_16(2110);
+emit_16(2175);
+emit_16(2111);
+emit_16(2175);
+emit_16(2110);
+emit_16(2176);
+emit_16(2112);
+emit_16(2177);
+emit_16(2113);
+emit_16(2177);
+emit_16(2112);
+emit_16(2177);
+emit_16(2113);
+emit_16(2178);
+emit_16(2114);
+emit_16(2178);
+emit_16(2113);
+emit_16(2178);
+emit_16(2114);
+emit_16(2179);
+emit_16(2115);
+emit_16(2179);
+emit_16(2114);
+emit_16(2179);
+emit_16(2115);
+emit_16(2180);
+emit_16(2116);
+emit_16(2180);
+emit_16(2115);
+emit_16(2180);
+emit_16(2116);
+emit_16(2181);
+emit_16(2117);
+emit_16(2181);
+emit_16(2116);
+emit_16(2181);
+emit_16(2117);
+emit_16(2182);
+emit_16(2118);
+emit_16(2182);
+emit_16(2117);
+emit_16(2182);
+emit_16(2118);
+emit_16(2183);
+emit_16(2119);
+emit_16(2183);
+emit_16(2118);
+emit_16(2183);
+emit_16(2119);
+emit_16(2184);
+emit_16(2120);
+emit_16(2184);
+emit_16(2119);
+emit_16(2184);
+emit_16(2120);
+emit_16(2185);
+emit_16(2121);
+emit_16(2185);
+emit_16(2120);
+emit_16(2185);
+emit_16(2121);
+emit_16(2186);
+emit_16(2122);
+emit_16(2186);
+emit_16(2121);
+emit_16(2186);
+emit_16(2122);
+emit_16(2187);
+emit_16(2123);
+emit_16(2187);
+emit_16(2122);
+emit_16(2187);
+emit_16(2123);
+emit_16(2188);
+emit_16(2124);
+emit_16(2188);
+emit_16(2123);
+emit_16(2188);
+emit_16(2124);
+emit_16(2189);
+emit_16(2125);
+emit_16(2189);
+emit_16(2124);
+emit_16(2189);
+emit_16(2125);
+emit_16(2190);
+emit_16(2126);
+emit_16(2190);
+emit_16(2125);
+emit_16(2190);
+emit_16(2126);
+emit_16(2191);
+emit_16(2127);
+emit_16(2191);
+emit_16(2126);
+emit_16(2191);
+emit_16(2127);
+emit_16(2192);
+emit_16(2128);
+emit_16(2192);
+emit_16(2127);
+emit_16(2192);
+emit_16(2128);
+emit_16(2193);
+emit_16(2129);
+emit_16(2193);
+emit_16(2128);
+emit_16(2193);
+emit_16(2129);
+emit_16(2194);
+emit_16(2130);
+emit_16(2194);
+emit_16(2129);
+emit_16(2194);
+emit_16(2130);
+emit_16(2195);
+emit_16(2131);
+emit_16(2195);
+emit_16(2130);
+emit_16(2195);
+emit_16(2131);
+emit_16(2196);
+emit_16(2132);
+emit_16(2196);
+emit_16(2131);
+emit_16(2196);
+emit_16(2132);
+emit_16(2197);
+emit_16(2133);
+emit_16(2197);
+emit_16(2132);
+emit_16(2197);
+emit_16(2133);
+emit_16(2198);
+emit_16(2134);
+emit_16(2198);
+emit_16(2133);
+emit_16(2198);
+emit_16(2134);
+emit_16(2199);
+emit_16(2135);
+emit_16(2199);
+emit_16(2134);
+emit_16(2199);
+emit_16(2135);
+emit_16(2200);
+emit_16(2136);
+emit_16(2200);
+emit_16(2135);
+emit_16(2200);
+emit_16(2136);
+emit_16(2201);
+emit_16(2137);
+emit_16(2201);
+emit_16(2136);
+emit_16(2201);
+emit_16(2137);
+emit_16(2202);
+emit_16(2138);
+emit_16(2202);
+emit_16(2137);
+emit_16(2202);
+emit_16(2138);
+emit_16(2203);
+emit_16(2139);
+emit_16(2203);
+emit_16(2138);
+emit_16(2203);
+emit_16(2139);
+emit_16(2204);
+emit_16(2140);
+emit_16(2204);
+emit_16(2139);
+emit_16(2204);
+emit_16(2140);
+emit_16(2205);
+emit_16(2141);
+emit_16(2205);
+emit_16(2140);
+emit_16(2205);
+emit_16(2141);
+emit_16(2206);
+emit_16(2142);
+emit_16(2206);
+emit_16(2141);
+emit_16(2206);
+emit_16(2142);
+emit_16(2207);
+emit_16(2143);
+emit_16(2207);
+emit_16(2142);
+emit_16(2207);
+emit_16(2143);
+emit_16(2208);
+emit_16(2144);
+emit_16(2208);
+emit_16(2143);
+emit_16(2208);
+emit_16(2144);
+emit_16(2209);
+emit_16(2145);
+emit_16(2209);
+emit_16(2144);
+emit_16(2209);
+emit_16(2145);
+emit_16(2210);
+emit_16(2146);
+emit_16(2210);
+emit_16(2145);
+emit_16(2210);
+emit_16(2146);
+emit_16(2211);
+emit_16(2147);
+emit_16(2211);
+emit_16(2146);
+emit_16(2211);
+emit_16(2147);
+emit_16(2212);
+emit_16(2148);
+emit_16(2212);
+emit_16(2147);
+emit_16(2212);
+emit_16(2148);
+emit_16(2213);
+emit_16(2149);
+emit_16(2213);
+emit_16(2148);
+emit_16(2213);
+emit_16(2149);
+emit_16(2214);
+emit_16(2150);
+emit_16(2214);
+emit_16(2149);
+emit_16(2214);
+emit_16(2150);
+emit_16(2215);
+emit_16(2151);
+emit_16(2215);
+emit_16(2150);
+emit_16(2215);
+emit_16(2151);
+emit_16(2216);
+emit_16(2152);
+emit_16(2216);
+emit_16(2151);
+emit_16(2216);
+emit_16(2152);
+emit_16(2217);
+emit_16(2153);
+emit_16(2217);
+emit_16(2152);
+emit_16(2217);
+emit_16(2153);
+emit_16(2218);
+emit_16(2154);
+emit_16(2218);
+emit_16(2153);
+emit_16(2218);
+emit_16(2154);
+emit_16(2219);
+emit_16(2155);
+emit_16(2219);
+emit_16(2154);
+emit_16(2219);
+emit_16(2155);
+emit_16(2220);
+emit_16(2156);
+emit_16(2220);
+emit_16(2155);
+emit_16(2220);
+emit_16(2156);
+emit_16(2221);
+emit_16(2157);
+emit_16(2221);
+emit_16(2156);
+emit_16(2221);
+emit_16(2157);
+emit_16(2222);
+emit_16(2158);
+emit_16(2222);
+emit_16(2157);
+emit_16(2222);
+emit_16(2158);
+emit_16(2223);
+emit_16(2159);
+emit_16(2223);
+emit_16(2158);
+emit_16(2223);
+emit_16(2159);
+emit_16(2224);
+emit_16(2160);
+emit_16(2224);
+emit_16(2159);
+emit_16(2224);
+emit_16(2160);
+emit_16(2225);
+emit_16(2161);
+emit_16(2225);
+emit_16(2160);
+emit_16(2225);
+emit_16(2161);
+emit_16(2226);
+emit_16(2162);
+emit_16(2226);
+emit_16(2161);
+emit_16(2226);
+emit_16(2162);
+emit_16(2227);
+emit_16(2163);
+emit_16(2227);
+emit_16(2162);
+emit_16(2227);
+emit_16(2163);
+emit_16(2228);
+emit_16(2164);
+emit_16(2228);
+emit_16(2163);
+emit_16(2228);
+emit_16(2164);
+emit_16(2229);
+emit_16(2165);
+emit_16(2229);
+emit_16(2164);
+emit_16(2229);
+emit_16(2165);
+emit_16(2230);
+emit_16(2166);
+emit_16(2230);
+emit_16(2165);
+emit_16(2230);
+emit_16(2166);
+emit_16(2231);
+emit_16(2167);
+emit_16(2231);
+emit_16(2166);
+emit_16(2231);
+emit_16(2167);
+emit_16(2232);
+emit_16(2168);
+emit_16(2232);
+emit_16(2167);
+emit_16(2232);
+emit_16(2168);
+emit_16(2233);
+emit_16(2169);
+emit_16(2233);
+emit_16(2168);
+emit_16(2233);
+emit_16(2169);
+emit_16(2234);
+emit_16(2170);
+emit_16(2234);
+emit_16(2169);
+emit_16(2234);
+emit_16(2170);
+emit_16(2235);
+emit_16(2171);
+emit_16(2235);
+emit_16(2170);
+emit_16(2235);
+emit_16(2171);
+emit_16(2236);
+emit_16(2172);
+emit_16(2236);
+emit_16(2171);
+emit_16(2236);
+emit_16(2172);
+emit_16(2237);
+emit_16(2173);
+emit_16(2237);
+emit_16(2172);
+emit_16(2237);
+emit_16(2173);
+emit_16(2238);
+emit_16(2174);
+emit_16(2238);
+emit_16(2173);
+emit_16(2238);
+emit_16(2174);
+emit_16(2239);
+emit_16(2175);
+emit_16(2239);
+emit_16(2174);
+emit_start(Landscape08Idx)
+emit_16(0);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(2);
+emit_16(1);
+emit_16(2);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(4);
+emit_16(3);
+emit_16(4);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(6);
+emit_16(5);
+emit_16(6);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(8);
+emit_16(7);
+emit_16(8);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(10);
+emit_16(9);
+emit_16(10);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(12);
+emit_16(11);
+emit_16(12);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(14);
+emit_16(13);
+emit_16(14);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(16);
+emit_16(15);
+emit_16(16);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(18);
+emit_16(17);
+emit_16(18);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(20);
+emit_16(19);
+emit_16(20);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(22);
+emit_16(21);
+emit_16(22);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(24);
+emit_16(23);
+emit_16(24);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(26);
+emit_16(25);
+emit_16(26);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(28);
+emit_16(27);
+emit_16(28);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(30);
+emit_16(29);
+emit_16(30);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(32);
+emit_16(31);
+emit_16(32);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(34);
+emit_16(33);
+emit_16(34);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(36);
+emit_16(35);
+emit_16(36);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(38);
+emit_16(37);
+emit_16(38);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(40);
+emit_16(39);
+emit_16(40);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(42);
+emit_16(41);
+emit_16(42);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(44);
+emit_16(43);
+emit_16(44);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(46);
+emit_16(45);
+emit_16(46);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(48);
+emit_16(47);
+emit_16(48);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(50);
+emit_16(49);
+emit_16(50);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(52);
+emit_16(51);
+emit_16(52);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(54);
+emit_16(53);
+emit_16(54);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(56);
+emit_16(55);
+emit_16(56);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(58);
+emit_16(57);
+emit_16(58);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(60);
+emit_16(59);
+emit_16(60);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(62);
+emit_16(61);
+emit_16(62);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(64);
+emit_16(63);
+emit_16(64);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(66);
+emit_16(65);
+emit_16(66);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(68);
+emit_16(67);
+emit_16(68);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(70);
+emit_16(69);
+emit_16(70);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(72);
+emit_16(71);
+emit_16(72);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(74);
+emit_16(73);
+emit_16(74);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(76);
+emit_16(75);
+emit_16(76);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(78);
+emit_16(77);
+emit_16(78);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(80);
+emit_16(79);
+emit_16(80);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(82);
+emit_16(81);
+emit_16(82);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(84);
+emit_16(83);
+emit_16(84);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(86);
+emit_16(85);
+emit_16(86);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(88);
+emit_16(87);
+emit_16(88);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(90);
+emit_16(89);
+emit_16(90);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(92);
+emit_16(91);
+emit_16(92);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(94);
+emit_16(93);
+emit_16(94);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(96);
+emit_16(95);
+emit_16(96);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(98);
+emit_16(97);
+emit_16(98);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(100);
+emit_16(99);
+emit_16(100);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(102);
+emit_16(101);
+emit_16(102);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(104);
+emit_16(103);
+emit_16(104);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(106);
+emit_16(105);
+emit_16(106);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(108);
+emit_16(107);
+emit_16(108);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(110);
+emit_16(109);
+emit_16(110);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(112);
+emit_16(111);
+emit_16(112);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(114);
+emit_16(113);
+emit_16(114);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(116);
+emit_16(115);
+emit_16(116);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(118);
+emit_16(117);
+emit_16(118);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(120);
+emit_16(119);
+emit_16(120);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(122);
+emit_16(121);
+emit_16(122);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(124);
+emit_16(123);
+emit_16(124);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(126);
+emit_16(125);
+emit_16(126);
+emit_16(127);
+emit_16(128);
+emit_16(129);
+emit_16(128);
+emit_16(127);
+emit_16(128);
+emit_16(129);
+emit_16(130);
+emit_16(131);
+emit_16(130);
+emit_16(129);
+emit_16(132);
+emit_16(0);
+emit_16(133);
+emit_16(2);
+emit_16(133);
+emit_16(0);
+emit_16(133);
+emit_16(2);
+emit_16(134);
+emit_16(4);
+emit_16(134);
+emit_16(2);
+emit_16(134);
+emit_16(4);
+emit_16(135);
+emit_16(6);
+emit_16(135);
+emit_16(4);
+emit_16(135);
+emit_16(6);
+emit_16(136);
+emit_16(8);
+emit_16(136);
+emit_16(6);
+emit_16(136);
+emit_16(8);
+emit_16(137);
+emit_16(10);
+emit_16(137);
+emit_16(8);
+emit_16(137);
+emit_16(10);
+emit_16(138);
+emit_16(12);
+emit_16(138);
+emit_16(10);
+emit_16(138);
+emit_16(12);
+emit_16(139);
+emit_16(14);
+emit_16(139);
+emit_16(12);
+emit_16(139);
+emit_16(14);
+emit_16(140);
+emit_16(16);
+emit_16(140);
+emit_16(14);
+emit_16(140);
+emit_16(16);
+emit_16(141);
+emit_16(18);
+emit_16(141);
+emit_16(16);
+emit_16(141);
+emit_16(18);
+emit_16(142);
+emit_16(20);
+emit_16(142);
+emit_16(18);
+emit_16(142);
+emit_16(20);
+emit_16(143);
+emit_16(22);
+emit_16(143);
+emit_16(20);
+emit_16(143);
+emit_16(22);
+emit_16(144);
+emit_16(24);
+emit_16(144);
+emit_16(22);
+emit_16(144);
+emit_16(24);
+emit_16(145);
+emit_16(26);
+emit_16(145);
+emit_16(24);
+emit_16(145);
+emit_16(26);
+emit_16(146);
+emit_16(28);
+emit_16(146);
+emit_16(26);
+emit_16(146);
+emit_16(28);
+emit_16(147);
+emit_16(30);
+emit_16(147);
+emit_16(28);
+emit_16(147);
+emit_16(30);
+emit_16(148);
+emit_16(32);
+emit_16(148);
+emit_16(30);
+emit_16(148);
+emit_16(32);
+emit_16(149);
+emit_16(34);
+emit_16(149);
+emit_16(32);
+emit_16(149);
+emit_16(34);
+emit_16(150);
+emit_16(36);
+emit_16(150);
+emit_16(34);
+emit_16(150);
+emit_16(36);
+emit_16(151);
+emit_16(38);
+emit_16(151);
+emit_16(36);
+emit_16(151);
+emit_16(38);
+emit_16(152);
+emit_16(40);
+emit_16(152);
+emit_16(38);
+emit_16(152);
+emit_16(40);
+emit_16(153);
+emit_16(42);
+emit_16(153);
+emit_16(40);
+emit_16(153);
+emit_16(42);
+emit_16(154);
+emit_16(44);
+emit_16(154);
+emit_16(42);
+emit_16(154);
+emit_16(44);
+emit_16(155);
+emit_16(46);
+emit_16(155);
+emit_16(44);
+emit_16(155);
+emit_16(46);
+emit_16(156);
+emit_16(48);
+emit_16(156);
+emit_16(46);
+emit_16(156);
+emit_16(48);
+emit_16(157);
+emit_16(50);
+emit_16(157);
+emit_16(48);
+emit_16(157);
+emit_16(50);
+emit_16(158);
+emit_16(52);
+emit_16(158);
+emit_16(50);
+emit_16(158);
+emit_16(52);
+emit_16(159);
+emit_16(54);
+emit_16(159);
+emit_16(52);
+emit_16(159);
+emit_16(54);
+emit_16(160);
+emit_16(56);
+emit_16(160);
+emit_16(54);
+emit_16(160);
+emit_16(56);
+emit_16(161);
+emit_16(58);
+emit_16(161);
+emit_16(56);
+emit_16(161);
+emit_16(58);
+emit_16(162);
+emit_16(60);
+emit_16(162);
+emit_16(58);
+emit_16(162);
+emit_16(60);
+emit_16(163);
+emit_16(62);
+emit_16(163);
+emit_16(60);
+emit_16(163);
+emit_16(62);
+emit_16(164);
+emit_16(64);
+emit_16(164);
+emit_16(62);
+emit_16(164);
+emit_16(64);
+emit_16(165);
+emit_16(66);
+emit_16(165);
+emit_16(64);
+emit_16(165);
+emit_16(66);
+emit_16(166);
+emit_16(68);
+emit_16(166);
+emit_16(66);
+emit_16(166);
+emit_16(68);
+emit_16(167);
+emit_16(70);
+emit_16(167);
+emit_16(68);
+emit_16(167);
+emit_16(70);
+emit_16(168);
+emit_16(72);
+emit_16(168);
+emit_16(70);
+emit_16(168);
+emit_16(72);
+emit_16(169);
+emit_16(74);
+emit_16(169);
+emit_16(72);
+emit_16(169);
+emit_16(74);
+emit_16(170);
+emit_16(76);
+emit_16(170);
+emit_16(74);
+emit_16(170);
+emit_16(76);
+emit_16(171);
+emit_16(78);
+emit_16(171);
+emit_16(76);
+emit_16(171);
+emit_16(78);
+emit_16(172);
+emit_16(80);
+emit_16(172);
+emit_16(78);
+emit_16(172);
+emit_16(80);
+emit_16(173);
+emit_16(82);
+emit_16(173);
+emit_16(80);
+emit_16(173);
+emit_16(82);
+emit_16(174);
+emit_16(84);
+emit_16(174);
+emit_16(82);
+emit_16(174);
+emit_16(84);
+emit_16(175);
+emit_16(86);
+emit_16(175);
+emit_16(84);
+emit_16(175);
+emit_16(86);
+emit_16(176);
+emit_16(88);
+emit_16(176);
+emit_16(86);
+emit_16(176);
+emit_16(88);
+emit_16(177);
+emit_16(90);
+emit_16(177);
+emit_16(88);
+emit_16(177);
+emit_16(90);
+emit_16(178);
+emit_16(92);
+emit_16(178);
+emit_16(90);
+emit_16(178);
+emit_16(92);
+emit_16(179);
+emit_16(94);
+emit_16(179);
+emit_16(92);
+emit_16(179);
+emit_16(94);
+emit_16(180);
+emit_16(96);
+emit_16(180);
+emit_16(94);
+emit_16(180);
+emit_16(96);
+emit_16(181);
+emit_16(98);
+emit_16(181);
+emit_16(96);
+emit_16(181);
+emit_16(98);
+emit_16(182);
+emit_16(100);
+emit_16(182);
+emit_16(98);
+emit_16(182);
+emit_16(100);
+emit_16(183);
+emit_16(102);
+emit_16(183);
+emit_16(100);
+emit_16(183);
+emit_16(102);
+emit_16(184);
+emit_16(104);
+emit_16(184);
+emit_16(102);
+emit_16(184);
+emit_16(104);
+emit_16(185);
+emit_16(106);
+emit_16(185);
+emit_16(104);
+emit_16(185);
+emit_16(106);
+emit_16(186);
+emit_16(108);
+emit_16(186);
+emit_16(106);
+emit_16(186);
+emit_16(108);
+emit_16(187);
+emit_16(110);
+emit_16(187);
+emit_16(108);
+emit_16(187);
+emit_16(110);
+emit_16(188);
+emit_16(112);
+emit_16(188);
+emit_16(110);
+emit_16(188);
+emit_16(112);
+emit_16(189);
+emit_16(114);
+emit_16(189);
+emit_16(112);
+emit_16(189);
+emit_16(114);
+emit_16(190);
+emit_16(116);
+emit_16(190);
+emit_16(114);
+emit_16(190);
+emit_16(116);
+emit_16(191);
+emit_16(118);
+emit_16(191);
+emit_16(116);
+emit_16(191);
+emit_16(118);
+emit_16(192);
+emit_16(120);
+emit_16(192);
+emit_16(118);
+emit_16(192);
+emit_16(120);
+emit_16(193);
+emit_16(122);
+emit_16(193);
+emit_16(120);
+emit_16(193);
+emit_16(122);
+emit_16(194);
+emit_16(124);
+emit_16(194);
+emit_16(122);
+emit_16(194);
+emit_16(124);
+emit_16(195);
+emit_16(126);
+emit_16(195);
+emit_16(124);
+emit_16(195);
+emit_16(126);
+emit_16(196);
+emit_16(128);
+emit_16(196);
+emit_16(126);
+emit_16(196);
+emit_16(128);
+emit_16(197);
+emit_16(130);
+emit_16(197);
+emit_16(128);
+emit_16(198);
+emit_16(132);
+emit_16(199);
+emit_16(133);
+emit_16(199);
+emit_16(132);
+emit_16(199);
+emit_16(133);
+emit_16(200);
+emit_16(134);
+emit_16(200);
+emit_16(133);
+emit_16(200);
+emit_16(134);
+emit_16(201);
+emit_16(135);
+emit_16(201);
+emit_16(134);
+emit_16(201);
+emit_16(135);
+emit_16(202);
+emit_16(136);
+emit_16(202);
+emit_16(135);
+emit_16(202);
+emit_16(136);
+emit_16(203);
+emit_16(137);
+emit_16(203);
+emit_16(136);
+emit_16(203);
+emit_16(137);
+emit_16(204);
+emit_16(138);
+emit_16(204);
+emit_16(137);
+emit_16(204);
+emit_16(138);
+emit_16(205);
+emit_16(139);
+emit_16(205);
+emit_16(138);
+emit_16(205);
+emit_16(139);
+emit_16(206);
+emit_16(140);
+emit_16(206);
+emit_16(139);
+emit_16(206);
+emit_16(140);
+emit_16(207);
+emit_16(141);
+emit_16(207);
+emit_16(140);
+emit_16(207);
+emit_16(141);
+emit_16(208);
+emit_16(142);
+emit_16(208);
+emit_16(141);
+emit_16(208);
+emit_16(142);
+emit_16(209);
+emit_16(143);
+emit_16(209);
+emit_16(142);
+emit_16(209);
+emit_16(143);
+emit_16(210);
+emit_16(144);
+emit_16(210);
+emit_16(143);
+emit_16(210);
+emit_16(144);
+emit_16(211);
+emit_16(145);
+emit_16(211);
+emit_16(144);
+emit_16(211);
+emit_16(145);
+emit_16(212);
+emit_16(146);
+emit_16(212);
+emit_16(145);
+emit_16(212);
+emit_16(146);
+emit_16(213);
+emit_16(147);
+emit_16(213);
+emit_16(146);
+emit_16(213);
+emit_16(147);
+emit_16(214);
+emit_16(148);
+emit_16(214);
+emit_16(147);
+emit_16(214);
+emit_16(148);
+emit_16(215);
+emit_16(149);
+emit_16(215);
+emit_16(148);
+emit_16(215);
+emit_16(149);
+emit_16(216);
+emit_16(150);
+emit_16(216);
+emit_16(149);
+emit_16(216);
+emit_16(150);
+emit_16(217);
+emit_16(151);
+emit_16(217);
+emit_16(150);
+emit_16(217);
+emit_16(151);
+emit_16(218);
+emit_16(152);
+emit_16(218);
+emit_16(151);
+emit_16(218);
+emit_16(152);
+emit_16(219);
+emit_16(153);
+emit_16(219);
+emit_16(152);
+emit_16(219);
+emit_16(153);
+emit_16(220);
+emit_16(154);
+emit_16(220);
+emit_16(153);
+emit_16(220);
+emit_16(154);
+emit_16(221);
+emit_16(155);
+emit_16(221);
+emit_16(154);
+emit_16(221);
+emit_16(155);
+emit_16(222);
+emit_16(156);
+emit_16(222);
+emit_16(155);
+emit_16(222);
+emit_16(156);
+emit_16(223);
+emit_16(157);
+emit_16(223);
+emit_16(156);
+emit_16(223);
+emit_16(157);
+emit_16(224);
+emit_16(158);
+emit_16(224);
+emit_16(157);
+emit_16(224);
+emit_16(158);
+emit_16(225);
+emit_16(159);
+emit_16(225);
+emit_16(158);
+emit_16(225);
+emit_16(159);
+emit_16(226);
+emit_16(160);
+emit_16(226);
+emit_16(159);
+emit_16(226);
+emit_16(160);
+emit_16(227);
+emit_16(161);
+emit_16(227);
+emit_16(160);
+emit_16(227);
+emit_16(161);
+emit_16(228);
+emit_16(162);
+emit_16(228);
+emit_16(161);
+emit_16(228);
+emit_16(162);
+emit_16(229);
+emit_16(163);
+emit_16(229);
+emit_16(162);
+emit_16(229);
+emit_16(163);
+emit_16(230);
+emit_16(164);
+emit_16(230);
+emit_16(163);
+emit_16(230);
+emit_16(164);
+emit_16(231);
+emit_16(165);
+emit_16(231);
+emit_16(164);
+emit_16(231);
+emit_16(165);
+emit_16(232);
+emit_16(166);
+emit_16(232);
+emit_16(165);
+emit_16(232);
+emit_16(166);
+emit_16(233);
+emit_16(167);
+emit_16(233);
+emit_16(166);
+emit_16(233);
+emit_16(167);
+emit_16(234);
+emit_16(168);
+emit_16(234);
+emit_16(167);
+emit_16(234);
+emit_16(168);
+emit_16(235);
+emit_16(169);
+emit_16(235);
+emit_16(168);
+emit_16(235);
+emit_16(169);
+emit_16(236);
+emit_16(170);
+emit_16(236);
+emit_16(169);
+emit_16(236);
+emit_16(170);
+emit_16(237);
+emit_16(171);
+emit_16(237);
+emit_16(170);
+emit_16(237);
+emit_16(171);
+emit_16(238);
+emit_16(172);
+emit_16(238);
+emit_16(171);
+emit_16(238);
+emit_16(172);
+emit_16(239);
+emit_16(173);
+emit_16(239);
+emit_16(172);
+emit_16(239);
+emit_16(173);
+emit_16(240);
+emit_16(174);
+emit_16(240);
+emit_16(173);
+emit_16(240);
+emit_16(174);
+emit_16(241);
+emit_16(175);
+emit_16(241);
+emit_16(174);
+emit_16(241);
+emit_16(175);
+emit_16(242);
+emit_16(176);
+emit_16(242);
+emit_16(175);
+emit_16(242);
+emit_16(176);
+emit_16(243);
+emit_16(177);
+emit_16(243);
+emit_16(176);
+emit_16(243);
+emit_16(177);
+emit_16(244);
+emit_16(178);
+emit_16(244);
+emit_16(177);
+emit_16(244);
+emit_16(178);
+emit_16(245);
+emit_16(179);
+emit_16(245);
+emit_16(178);
+emit_16(245);
+emit_16(179);
+emit_16(246);
+emit_16(180);
+emit_16(246);
+emit_16(179);
+emit_16(246);
+emit_16(180);
+emit_16(247);
+emit_16(181);
+emit_16(247);
+emit_16(180);
+emit_16(247);
+emit_16(181);
+emit_16(248);
+emit_16(182);
+emit_16(248);
+emit_16(181);
+emit_16(248);
+emit_16(182);
+emit_16(249);
+emit_16(183);
+emit_16(249);
+emit_16(182);
+emit_16(249);
+emit_16(183);
+emit_16(250);
+emit_16(184);
+emit_16(250);
+emit_16(183);
+emit_16(250);
+emit_16(184);
+emit_16(251);
+emit_16(185);
+emit_16(251);
+emit_16(184);
+emit_16(251);
+emit_16(185);
+emit_16(252);
+emit_16(186);
+emit_16(252);
+emit_16(185);
+emit_16(252);
+emit_16(186);
+emit_16(253);
+emit_16(187);
+emit_16(253);
+emit_16(186);
+emit_16(253);
+emit_16(187);
+emit_16(254);
+emit_16(188);
+emit_16(254);
+emit_16(187);
+emit_16(254);
+emit_16(188);
+emit_16(255);
+emit_16(189);
+emit_16(255);
+emit_16(188);
+emit_16(255);
+emit_16(189);
+emit_16(256);
+emit_16(190);
+emit_16(256);
+emit_16(189);
+emit_16(256);
+emit_16(190);
+emit_16(257);
+emit_16(191);
+emit_16(257);
+emit_16(190);
+emit_16(257);
+emit_16(191);
+emit_16(258);
+emit_16(192);
+emit_16(258);
+emit_16(191);
+emit_16(258);
+emit_16(192);
+emit_16(259);
+emit_16(193);
+emit_16(259);
+emit_16(192);
+emit_16(259);
+emit_16(193);
+emit_16(260);
+emit_16(194);
+emit_16(260);
+emit_16(193);
+emit_16(260);
+emit_16(194);
+emit_16(261);
+emit_16(195);
+emit_16(261);
+emit_16(194);
+emit_16(261);
+emit_16(195);
+emit_16(262);
+emit_16(196);
+emit_16(262);
+emit_16(195);
+emit_16(262);
+emit_16(196);
+emit_16(263);
+emit_16(197);
+emit_16(263);
+emit_16(196);
+emit_16(264);
+emit_16(198);
+emit_16(265);
+emit_16(199);
+emit_16(265);
+emit_16(198);
+emit_16(265);
+emit_16(199);
+emit_16(266);
+emit_16(200);
+emit_16(266);
+emit_16(199);
+emit_16(266);
+emit_16(200);
+emit_16(267);
+emit_16(201);
+emit_16(267);
+emit_16(200);
+emit_16(267);
+emit_16(201);
+emit_16(268);
+emit_16(202);
+emit_16(268);
+emit_16(201);
+emit_16(268);
+emit_16(202);
+emit_16(269);
+emit_16(203);
+emit_16(269);
+emit_16(202);
+emit_16(269);
+emit_16(203);
+emit_16(270);
+emit_16(204);
+emit_16(270);
+emit_16(203);
+emit_16(270);
+emit_16(204);
+emit_16(271);
+emit_16(205);
+emit_16(271);
+emit_16(204);
+emit_16(271);
+emit_16(205);
+emit_16(272);
+emit_16(206);
+emit_16(272);
+emit_16(205);
+emit_16(272);
+emit_16(206);
+emit_16(273);
+emit_16(207);
+emit_16(273);
+emit_16(206);
+emit_16(273);
+emit_16(207);
+emit_16(274);
+emit_16(208);
+emit_16(274);
+emit_16(207);
+emit_16(274);
+emit_16(208);
+emit_16(275);
+emit_16(209);
+emit_16(275);
+emit_16(208);
+emit_16(275);
+emit_16(209);
+emit_16(276);
+emit_16(210);
+emit_16(276);
+emit_16(209);
+emit_16(276);
+emit_16(210);
+emit_16(277);
+emit_16(211);
+emit_16(277);
+emit_16(210);
+emit_16(277);
+emit_16(211);
+emit_16(278);
+emit_16(212);
+emit_16(278);
+emit_16(211);
+emit_16(278);
+emit_16(212);
+emit_16(279);
+emit_16(213);
+emit_16(279);
+emit_16(212);
+emit_16(279);
+emit_16(213);
+emit_16(280);
+emit_16(214);
+emit_16(280);
+emit_16(213);
+emit_16(280);
+emit_16(214);
+emit_16(281);
+emit_16(215);
+emit_16(281);
+emit_16(214);
+emit_16(281);
+emit_16(215);
+emit_16(282);
+emit_16(216);
+emit_16(282);
+emit_16(215);
+emit_16(282);
+emit_16(216);
+emit_16(283);
+emit_16(217);
+emit_16(283);
+emit_16(216);
+emit_16(283);
+emit_16(217);
+emit_16(284);
+emit_16(218);
+emit_16(284);
+emit_16(217);
+emit_16(284);
+emit_16(218);
+emit_16(285);
+emit_16(219);
+emit_16(285);
+emit_16(218);
+emit_16(285);
+emit_16(219);
+emit_16(286);
+emit_16(220);
+emit_16(286);
+emit_16(219);
+emit_16(286);
+emit_16(220);
+emit_16(287);
+emit_16(221);
+emit_16(287);
+emit_16(220);
+emit_16(287);
+emit_16(221);
+emit_16(288);
+emit_16(222);
+emit_16(288);
+emit_16(221);
+emit_16(288);
+emit_16(222);
+emit_16(289);
+emit_16(223);
+emit_16(289);
+emit_16(222);
+emit_16(289);
+emit_16(223);
+emit_16(290);
+emit_16(224);
+emit_16(290);
+emit_16(223);
+emit_16(290);
+emit_16(224);
+emit_16(291);
+emit_16(225);
+emit_16(291);
+emit_16(224);
+emit_16(291);
+emit_16(225);
+emit_16(292);
+emit_16(226);
+emit_16(292);
+emit_16(225);
+emit_16(292);
+emit_16(226);
+emit_16(293);
+emit_16(227);
+emit_16(293);
+emit_16(226);
+emit_16(293);
+emit_16(227);
+emit_16(294);
+emit_16(228);
+emit_16(294);
+emit_16(227);
+emit_16(294);
+emit_16(228);
+emit_16(295);
+emit_16(229);
+emit_16(295);
+emit_16(228);
+emit_16(295);
+emit_16(229);
+emit_16(296);
+emit_16(230);
+emit_16(296);
+emit_16(229);
+emit_16(296);
+emit_16(230);
+emit_16(297);
+emit_16(231);
+emit_16(297);
+emit_16(230);
+emit_16(297);
+emit_16(231);
+emit_16(298);
+emit_16(232);
+emit_16(298);
+emit_16(231);
+emit_16(298);
+emit_16(232);
+emit_16(299);
+emit_16(233);
+emit_16(299);
+emit_16(232);
+emit_16(299);
+emit_16(233);
+emit_16(300);
+emit_16(234);
+emit_16(300);
+emit_16(233);
+emit_16(300);
+emit_16(234);
+emit_16(301);
+emit_16(235);
+emit_16(301);
+emit_16(234);
+emit_16(301);
+emit_16(235);
+emit_16(302);
+emit_16(236);
+emit_16(302);
+emit_16(235);
+emit_16(302);
+emit_16(236);
+emit_16(303);
+emit_16(237);
+emit_16(303);
+emit_16(236);
+emit_16(303);
+emit_16(237);
+emit_16(304);
+emit_16(238);
+emit_16(304);
+emit_16(237);
+emit_16(304);
+emit_16(238);
+emit_16(305);
+emit_16(239);
+emit_16(305);
+emit_16(238);
+emit_16(305);
+emit_16(239);
+emit_16(306);
+emit_16(240);
+emit_16(306);
+emit_16(239);
+emit_16(306);
+emit_16(240);
+emit_16(307);
+emit_16(241);
+emit_16(307);
+emit_16(240);
+emit_16(307);
+emit_16(241);
+emit_16(308);
+emit_16(242);
+emit_16(308);
+emit_16(241);
+emit_16(308);
+emit_16(242);
+emit_16(309);
+emit_16(243);
+emit_16(309);
+emit_16(242);
+emit_16(309);
+emit_16(243);
+emit_16(310);
+emit_16(244);
+emit_16(310);
+emit_16(243);
+emit_16(310);
+emit_16(244);
+emit_16(311);
+emit_16(245);
+emit_16(311);
+emit_16(244);
+emit_16(311);
+emit_16(245);
+emit_16(312);
+emit_16(246);
+emit_16(312);
+emit_16(245);
+emit_16(312);
+emit_16(246);
+emit_16(313);
+emit_16(247);
+emit_16(313);
+emit_16(246);
+emit_16(313);
+emit_16(247);
+emit_16(314);
+emit_16(248);
+emit_16(314);
+emit_16(247);
+emit_16(314);
+emit_16(248);
+emit_16(315);
+emit_16(249);
+emit_16(315);
+emit_16(248);
+emit_16(315);
+emit_16(249);
+emit_16(316);
+emit_16(250);
+emit_16(316);
+emit_16(249);
+emit_16(316);
+emit_16(250);
+emit_16(317);
+emit_16(251);
+emit_16(317);
+emit_16(250);
+emit_16(317);
+emit_16(251);
+emit_16(318);
+emit_16(252);
+emit_16(318);
+emit_16(251);
+emit_16(318);
+emit_16(252);
+emit_16(319);
+emit_16(253);
+emit_16(319);
+emit_16(252);
+emit_16(319);
+emit_16(253);
+emit_16(320);
+emit_16(254);
+emit_16(320);
+emit_16(253);
+emit_16(320);
+emit_16(254);
+emit_16(321);
+emit_16(255);
+emit_16(321);
+emit_16(254);
+emit_16(321);
+emit_16(255);
+emit_16(322);
+emit_16(256);
+emit_16(322);
+emit_16(255);
+emit_16(322);
+emit_16(256);
+emit_16(323);
+emit_16(257);
+emit_16(323);
+emit_16(256);
+emit_16(323);
+emit_16(257);
+emit_16(324);
+emit_16(258);
+emit_16(324);
+emit_16(257);
+emit_16(324);
+emit_16(258);
+emit_16(325);
+emit_16(259);
+emit_16(325);
+emit_16(258);
+emit_16(325);
+emit_16(259);
+emit_16(326);
+emit_16(260);
+emit_16(326);
+emit_16(259);
+emit_16(326);
+emit_16(260);
+emit_16(327);
+emit_16(261);
+emit_16(327);
+emit_16(260);
+emit_16(327);
+emit_16(261);
+emit_16(328);
+emit_16(262);
+emit_16(328);
+emit_16(261);
+emit_16(328);
+emit_16(262);
+emit_16(329);
+emit_16(263);
+emit_16(329);
+emit_16(262);
+emit_16(330);
+emit_16(264);
+emit_16(331);
+emit_16(265);
+emit_16(331);
+emit_16(264);
+emit_16(331);
+emit_16(265);
+emit_16(332);
+emit_16(266);
+emit_16(332);
+emit_16(265);
+emit_16(332);
+emit_16(266);
+emit_16(333);
+emit_16(267);
+emit_16(333);
+emit_16(266);
+emit_16(333);
+emit_16(267);
+emit_16(334);
+emit_16(268);
+emit_16(334);
+emit_16(267);
+emit_16(334);
+emit_16(268);
+emit_16(335);
+emit_16(269);
+emit_16(335);
+emit_16(268);
+emit_16(335);
+emit_16(269);
+emit_16(336);
+emit_16(270);
+emit_16(336);
+emit_16(269);
+emit_16(336);
+emit_16(270);
+emit_16(337);
+emit_16(271);
+emit_16(337);
+emit_16(270);
+emit_16(337);
+emit_16(271);
+emit_16(338);
+emit_16(272);
+emit_16(338);
+emit_16(271);
+emit_16(338);
+emit_16(272);
+emit_16(339);
+emit_16(273);
+emit_16(339);
+emit_16(272);
+emit_16(339);
+emit_16(273);
+emit_16(340);
+emit_16(274);
+emit_16(340);
+emit_16(273);
+emit_16(340);
+emit_16(274);
+emit_16(341);
+emit_16(275);
+emit_16(341);
+emit_16(274);
+emit_16(341);
+emit_16(275);
+emit_16(342);
+emit_16(276);
+emit_16(342);
+emit_16(275);
+emit_16(342);
+emit_16(276);
+emit_16(343);
+emit_16(277);
+emit_16(343);
+emit_16(276);
+emit_16(343);
+emit_16(277);
+emit_16(344);
+emit_16(278);
+emit_16(344);
+emit_16(277);
+emit_16(344);
+emit_16(278);
+emit_16(345);
+emit_16(279);
+emit_16(345);
+emit_16(278);
+emit_16(345);
+emit_16(279);
+emit_16(346);
+emit_16(280);
+emit_16(346);
+emit_16(279);
+emit_16(346);
+emit_16(280);
+emit_16(347);
+emit_16(281);
+emit_16(347);
+emit_16(280);
+emit_16(347);
+emit_16(281);
+emit_16(348);
+emit_16(282);
+emit_16(348);
+emit_16(281);
+emit_16(348);
+emit_16(282);
+emit_16(349);
+emit_16(283);
+emit_16(349);
+emit_16(282);
+emit_16(349);
+emit_16(283);
+emit_16(350);
+emit_16(284);
+emit_16(350);
+emit_16(283);
+emit_16(350);
+emit_16(284);
+emit_16(351);
+emit_16(285);
+emit_16(351);
+emit_16(284);
+emit_16(351);
+emit_16(285);
+emit_16(352);
+emit_16(286);
+emit_16(352);
+emit_16(285);
+emit_16(352);
+emit_16(286);
+emit_16(353);
+emit_16(287);
+emit_16(353);
+emit_16(286);
+emit_16(353);
+emit_16(287);
+emit_16(354);
+emit_16(288);
+emit_16(354);
+emit_16(287);
+emit_16(354);
+emit_16(288);
+emit_16(355);
+emit_16(289);
+emit_16(355);
+emit_16(288);
+emit_16(355);
+emit_16(289);
+emit_16(356);
+emit_16(290);
+emit_16(356);
+emit_16(289);
+emit_16(356);
+emit_16(290);
+emit_16(357);
+emit_16(291);
+emit_16(357);
+emit_16(290);
+emit_16(357);
+emit_16(291);
+emit_16(358);
+emit_16(292);
+emit_16(358);
+emit_16(291);
+emit_16(358);
+emit_16(292);
+emit_16(359);
+emit_16(293);
+emit_16(359);
+emit_16(292);
+emit_16(359);
+emit_16(293);
+emit_16(360);
+emit_16(294);
+emit_16(360);
+emit_16(293);
+emit_16(360);
+emit_16(294);
+emit_16(361);
+emit_16(295);
+emit_16(361);
+emit_16(294);
+emit_16(361);
+emit_16(295);
+emit_16(362);
+emit_16(296);
+emit_16(362);
+emit_16(295);
+emit_16(362);
+emit_16(296);
+emit_16(363);
+emit_16(297);
+emit_16(363);
+emit_16(296);
+emit_16(363);
+emit_16(297);
+emit_16(364);
+emit_16(298);
+emit_16(364);
+emit_16(297);
+emit_16(364);
+emit_16(298);
+emit_16(365);
+emit_16(299);
+emit_16(365);
+emit_16(298);
+emit_16(365);
+emit_16(299);
+emit_16(366);
+emit_16(300);
+emit_16(366);
+emit_16(299);
+emit_16(366);
+emit_16(300);
+emit_16(367);
+emit_16(301);
+emit_16(367);
+emit_16(300);
+emit_16(367);
+emit_16(301);
+emit_16(368);
+emit_16(302);
+emit_16(368);
+emit_16(301);
+emit_16(368);
+emit_16(302);
+emit_16(369);
+emit_16(303);
+emit_16(369);
+emit_16(302);
+emit_16(369);
+emit_16(303);
+emit_16(370);
+emit_16(304);
+emit_16(370);
+emit_16(303);
+emit_16(370);
+emit_16(304);
+emit_16(371);
+emit_16(305);
+emit_16(371);
+emit_16(304);
+emit_16(371);
+emit_16(305);
+emit_16(372);
+emit_16(306);
+emit_16(372);
+emit_16(305);
+emit_16(372);
+emit_16(306);
+emit_16(373);
+emit_16(307);
+emit_16(373);
+emit_16(306);
+emit_16(373);
+emit_16(307);
+emit_16(374);
+emit_16(308);
+emit_16(374);
+emit_16(307);
+emit_16(374);
+emit_16(308);
+emit_16(375);
+emit_16(309);
+emit_16(375);
+emit_16(308);
+emit_16(375);
+emit_16(309);
+emit_16(376);
+emit_16(310);
+emit_16(376);
+emit_16(309);
+emit_16(376);
+emit_16(310);
+emit_16(377);
+emit_16(311);
+emit_16(377);
+emit_16(310);
+emit_16(377);
+emit_16(311);
+emit_16(378);
+emit_16(312);
+emit_16(378);
+emit_16(311);
+emit_16(378);
+emit_16(312);
+emit_16(379);
+emit_16(313);
+emit_16(379);
+emit_16(312);
+emit_16(379);
+emit_16(313);
+emit_16(380);
+emit_16(314);
+emit_16(380);
+emit_16(313);
+emit_16(380);
+emit_16(314);
+emit_16(381);
+emit_16(315);
+emit_16(381);
+emit_16(314);
+emit_16(381);
+emit_16(315);
+emit_16(382);
+emit_16(316);
+emit_16(382);
+emit_16(315);
+emit_16(382);
+emit_16(316);
+emit_16(383);
+emit_16(317);
+emit_16(383);
+emit_16(316);
+emit_16(383);
+emit_16(317);
+emit_16(384);
+emit_16(318);
+emit_16(384);
+emit_16(317);
+emit_16(384);
+emit_16(318);
+emit_16(385);
+emit_16(319);
+emit_16(385);
+emit_16(318);
+emit_16(385);
+emit_16(319);
+emit_16(386);
+emit_16(320);
+emit_16(386);
+emit_16(319);
+emit_16(386);
+emit_16(320);
+emit_16(387);
+emit_16(321);
+emit_16(387);
+emit_16(320);
+emit_16(387);
+emit_16(321);
+emit_16(388);
+emit_16(322);
+emit_16(388);
+emit_16(321);
+emit_16(388);
+emit_16(322);
+emit_16(389);
+emit_16(323);
+emit_16(389);
+emit_16(322);
+emit_16(389);
+emit_16(323);
+emit_16(390);
+emit_16(324);
+emit_16(390);
+emit_16(323);
+emit_16(390);
+emit_16(324);
+emit_16(391);
+emit_16(325);
+emit_16(391);
+emit_16(324);
+emit_16(391);
+emit_16(325);
+emit_16(392);
+emit_16(326);
+emit_16(392);
+emit_16(325);
+emit_16(392);
+emit_16(326);
+emit_16(393);
+emit_16(327);
+emit_16(393);
+emit_16(326);
+emit_16(393);
+emit_16(327);
+emit_16(394);
+emit_16(328);
+emit_16(394);
+emit_16(327);
+emit_16(394);
+emit_16(328);
+emit_16(395);
+emit_16(329);
+emit_16(395);
+emit_16(328);
+emit_16(396);
+emit_16(330);
+emit_16(397);
+emit_16(331);
+emit_16(397);
+emit_16(330);
+emit_16(397);
+emit_16(331);
+emit_16(398);
+emit_16(332);
+emit_16(398);
+emit_16(331);
+emit_16(398);
+emit_16(332);
+emit_16(399);
+emit_16(333);
+emit_16(399);
+emit_16(332);
+emit_16(399);
+emit_16(333);
+emit_16(400);
+emit_16(334);
+emit_16(400);
+emit_16(333);
+emit_16(400);
+emit_16(334);
+emit_16(401);
+emit_16(335);
+emit_16(401);
+emit_16(334);
+emit_16(401);
+emit_16(335);
+emit_16(402);
+emit_16(336);
+emit_16(402);
+emit_16(335);
+emit_16(402);
+emit_16(336);
+emit_16(403);
+emit_16(337);
+emit_16(403);
+emit_16(336);
+emit_16(403);
+emit_16(337);
+emit_16(404);
+emit_16(338);
+emit_16(404);
+emit_16(337);
+emit_16(404);
+emit_16(338);
+emit_16(405);
+emit_16(339);
+emit_16(405);
+emit_16(338);
+emit_16(405);
+emit_16(339);
+emit_16(406);
+emit_16(340);
+emit_16(406);
+emit_16(339);
+emit_16(406);
+emit_16(340);
+emit_16(407);
+emit_16(341);
+emit_16(407);
+emit_16(340);
+emit_16(407);
+emit_16(341);
+emit_16(408);
+emit_16(342);
+emit_16(408);
+emit_16(341);
+emit_16(408);
+emit_16(342);
+emit_16(409);
+emit_16(343);
+emit_16(409);
+emit_16(342);
+emit_16(409);
+emit_16(343);
+emit_16(410);
+emit_16(344);
+emit_16(410);
+emit_16(343);
+emit_16(410);
+emit_16(344);
+emit_16(411);
+emit_16(345);
+emit_16(411);
+emit_16(344);
+emit_16(411);
+emit_16(345);
+emit_16(412);
+emit_16(346);
+emit_16(412);
+emit_16(345);
+emit_16(412);
+emit_16(346);
+emit_16(413);
+emit_16(347);
+emit_16(413);
+emit_16(346);
+emit_16(413);
+emit_16(347);
+emit_16(414);
+emit_16(348);
+emit_16(414);
+emit_16(347);
+emit_16(414);
+emit_16(348);
+emit_16(415);
+emit_16(349);
+emit_16(415);
+emit_16(348);
+emit_16(415);
+emit_16(349);
+emit_16(416);
+emit_16(350);
+emit_16(416);
+emit_16(349);
+emit_16(416);
+emit_16(350);
+emit_16(417);
+emit_16(351);
+emit_16(417);
+emit_16(350);
+emit_16(417);
+emit_16(351);
+emit_16(418);
+emit_16(352);
+emit_16(418);
+emit_16(351);
+emit_16(418);
+emit_16(352);
+emit_16(419);
+emit_16(353);
+emit_16(419);
+emit_16(352);
+emit_16(419);
+emit_16(353);
+emit_16(420);
+emit_16(354);
+emit_16(420);
+emit_16(353);
+emit_16(420);
+emit_16(354);
+emit_16(421);
+emit_16(355);
+emit_16(421);
+emit_16(354);
+emit_16(421);
+emit_16(355);
+emit_16(422);
+emit_16(356);
+emit_16(422);
+emit_16(355);
+emit_16(422);
+emit_16(356);
+emit_16(423);
+emit_16(357);
+emit_16(423);
+emit_16(356);
+emit_16(423);
+emit_16(357);
+emit_16(424);
+emit_16(358);
+emit_16(424);
+emit_16(357);
+emit_16(424);
+emit_16(358);
+emit_16(425);
+emit_16(359);
+emit_16(425);
+emit_16(358);
+emit_16(425);
+emit_16(359);
+emit_16(426);
+emit_16(360);
+emit_16(426);
+emit_16(359);
+emit_16(426);
+emit_16(360);
+emit_16(427);
+emit_16(361);
+emit_16(427);
+emit_16(360);
+emit_16(427);
+emit_16(361);
+emit_16(428);
+emit_16(362);
+emit_16(428);
+emit_16(361);
+emit_16(428);
+emit_16(362);
+emit_16(429);
+emit_16(363);
+emit_16(429);
+emit_16(362);
+emit_16(429);
+emit_16(363);
+emit_16(430);
+emit_16(364);
+emit_16(430);
+emit_16(363);
+emit_16(430);
+emit_16(364);
+emit_16(431);
+emit_16(365);
+emit_16(431);
+emit_16(364);
+emit_16(431);
+emit_16(365);
+emit_16(432);
+emit_16(366);
+emit_16(432);
+emit_16(365);
+emit_16(432);
+emit_16(366);
+emit_16(433);
+emit_16(367);
+emit_16(433);
+emit_16(366);
+emit_16(433);
+emit_16(367);
+emit_16(434);
+emit_16(368);
+emit_16(434);
+emit_16(367);
+emit_16(434);
+emit_16(368);
+emit_16(435);
+emit_16(369);
+emit_16(435);
+emit_16(368);
+emit_16(435);
+emit_16(369);
+emit_16(436);
+emit_16(370);
+emit_16(436);
+emit_16(369);
+emit_16(436);
+emit_16(370);
+emit_16(437);
+emit_16(371);
+emit_16(437);
+emit_16(370);
+emit_16(437);
+emit_16(371);
+emit_16(438);
+emit_16(372);
+emit_16(438);
+emit_16(371);
+emit_16(438);
+emit_16(372);
+emit_16(439);
+emit_16(373);
+emit_16(439);
+emit_16(372);
+emit_16(439);
+emit_16(373);
+emit_16(440);
+emit_16(374);
+emit_16(440);
+emit_16(373);
+emit_16(440);
+emit_16(374);
+emit_16(441);
+emit_16(375);
+emit_16(441);
+emit_16(374);
+emit_16(441);
+emit_16(375);
+emit_16(442);
+emit_16(376);
+emit_16(442);
+emit_16(375);
+emit_16(442);
+emit_16(376);
+emit_16(443);
+emit_16(377);
+emit_16(443);
+emit_16(376);
+emit_16(443);
+emit_16(377);
+emit_16(444);
+emit_16(378);
+emit_16(444);
+emit_16(377);
+emit_16(444);
+emit_16(378);
+emit_16(445);
+emit_16(379);
+emit_16(445);
+emit_16(378);
+emit_16(445);
+emit_16(379);
+emit_16(446);
+emit_16(380);
+emit_16(446);
+emit_16(379);
+emit_16(446);
+emit_16(380);
+emit_16(447);
+emit_16(381);
+emit_16(447);
+emit_16(380);
+emit_16(447);
+emit_16(381);
+emit_16(448);
+emit_16(382);
+emit_16(448);
+emit_16(381);
+emit_16(448);
+emit_16(382);
+emit_16(449);
+emit_16(383);
+emit_16(449);
+emit_16(382);
+emit_16(449);
+emit_16(383);
+emit_16(450);
+emit_16(384);
+emit_16(450);
+emit_16(383);
+emit_16(450);
+emit_16(384);
+emit_16(451);
+emit_16(385);
+emit_16(451);
+emit_16(384);
+emit_16(451);
+emit_16(385);
+emit_16(452);
+emit_16(386);
+emit_16(452);
+emit_16(385);
+emit_16(452);
+emit_16(386);
+emit_16(453);
+emit_16(387);
+emit_16(453);
+emit_16(386);
+emit_16(453);
+emit_16(387);
+emit_16(454);
+emit_16(388);
+emit_16(454);
+emit_16(387);
+emit_16(454);
+emit_16(388);
+emit_16(455);
+emit_16(389);
+emit_16(455);
+emit_16(388);
+emit_16(455);
+emit_16(389);
+emit_16(456);
+emit_16(390);
+emit_16(456);
+emit_16(389);
+emit_16(456);
+emit_16(390);
+emit_16(457);
+emit_16(391);
+emit_16(457);
+emit_16(390);
+emit_16(457);
+emit_16(391);
+emit_16(458);
+emit_16(392);
+emit_16(458);
+emit_16(391);
+emit_16(458);
+emit_16(392);
+emit_16(459);
+emit_16(393);
+emit_16(459);
+emit_16(392);
+emit_16(459);
+emit_16(393);
+emit_16(460);
+emit_16(394);
+emit_16(460);
+emit_16(393);
+emit_16(460);
+emit_16(394);
+emit_16(461);
+emit_16(395);
+emit_16(461);
+emit_16(394);
+emit_16(462);
+emit_16(396);
+emit_16(463);
+emit_16(397);
+emit_16(463);
+emit_16(396);
+emit_16(463);
+emit_16(397);
+emit_16(464);
+emit_16(398);
+emit_16(464);
+emit_16(397);
+emit_16(464);
+emit_16(398);
+emit_16(465);
+emit_16(399);
+emit_16(465);
+emit_16(398);
+emit_16(465);
+emit_16(399);
+emit_16(466);
+emit_16(400);
+emit_16(466);
+emit_16(399);
+emit_16(466);
+emit_16(400);
+emit_16(467);
+emit_16(401);
+emit_16(467);
+emit_16(400);
+emit_16(467);
+emit_16(401);
+emit_16(468);
+emit_16(402);
+emit_16(468);
+emit_16(401);
+emit_16(468);
+emit_16(402);
+emit_16(469);
+emit_16(403);
+emit_16(469);
+emit_16(402);
+emit_16(469);
+emit_16(403);
+emit_16(470);
+emit_16(404);
+emit_16(470);
+emit_16(403);
+emit_16(470);
+emit_16(404);
+emit_16(471);
+emit_16(405);
+emit_16(471);
+emit_16(404);
+emit_16(471);
+emit_16(405);
+emit_16(472);
+emit_16(406);
+emit_16(472);
+emit_16(405);
+emit_16(472);
+emit_16(406);
+emit_16(473);
+emit_16(407);
+emit_16(473);
+emit_16(406);
+emit_16(473);
+emit_16(407);
+emit_16(474);
+emit_16(408);
+emit_16(474);
+emit_16(407);
+emit_16(474);
+emit_16(408);
+emit_16(475);
+emit_16(409);
+emit_16(475);
+emit_16(408);
+emit_16(475);
+emit_16(409);
+emit_16(476);
+emit_16(410);
+emit_16(476);
+emit_16(409);
+emit_16(476);
+emit_16(410);
+emit_16(477);
+emit_16(411);
+emit_16(477);
+emit_16(410);
+emit_16(477);
+emit_16(411);
+emit_16(478);
+emit_16(412);
+emit_16(478);
+emit_16(411);
+emit_16(478);
+emit_16(412);
+emit_16(479);
+emit_16(413);
+emit_16(479);
+emit_16(412);
+emit_16(479);
+emit_16(413);
+emit_16(480);
+emit_16(414);
+emit_16(480);
+emit_16(413);
+emit_16(480);
+emit_16(414);
+emit_16(481);
+emit_16(415);
+emit_16(481);
+emit_16(414);
+emit_16(481);
+emit_16(415);
+emit_16(482);
+emit_16(416);
+emit_16(482);
+emit_16(415);
+emit_16(482);
+emit_16(416);
+emit_16(483);
+emit_16(417);
+emit_16(483);
+emit_16(416);
+emit_16(483);
+emit_16(417);
+emit_16(484);
+emit_16(418);
+emit_16(484);
+emit_16(417);
+emit_16(484);
+emit_16(418);
+emit_16(485);
+emit_16(419);
+emit_16(485);
+emit_16(418);
+emit_16(485);
+emit_16(419);
+emit_16(486);
+emit_16(420);
+emit_16(486);
+emit_16(419);
+emit_16(486);
+emit_16(420);
+emit_16(487);
+emit_16(421);
+emit_16(487);
+emit_16(420);
+emit_16(487);
+emit_16(421);
+emit_16(488);
+emit_16(422);
+emit_16(488);
+emit_16(421);
+emit_16(488);
+emit_16(422);
+emit_16(489);
+emit_16(423);
+emit_16(489);
+emit_16(422);
+emit_16(489);
+emit_16(423);
+emit_16(490);
+emit_16(424);
+emit_16(490);
+emit_16(423);
+emit_16(490);
+emit_16(424);
+emit_16(491);
+emit_16(425);
+emit_16(491);
+emit_16(424);
+emit_16(491);
+emit_16(425);
+emit_16(492);
+emit_16(426);
+emit_16(492);
+emit_16(425);
+emit_16(492);
+emit_16(426);
+emit_16(493);
+emit_16(427);
+emit_16(493);
+emit_16(426);
+emit_16(493);
+emit_16(427);
+emit_16(494);
+emit_16(428);
+emit_16(494);
+emit_16(427);
+emit_16(494);
+emit_16(428);
+emit_16(495);
+emit_16(429);
+emit_16(495);
+emit_16(428);
+emit_16(495);
+emit_16(429);
+emit_16(496);
+emit_16(430);
+emit_16(496);
+emit_16(429);
+emit_16(496);
+emit_16(430);
+emit_16(497);
+emit_16(431);
+emit_16(497);
+emit_16(430);
+emit_16(497);
+emit_16(431);
+emit_16(498);
+emit_16(432);
+emit_16(498);
+emit_16(431);
+emit_16(498);
+emit_16(432);
+emit_16(499);
+emit_16(433);
+emit_16(499);
+emit_16(432);
+emit_16(499);
+emit_16(433);
+emit_16(500);
+emit_16(434);
+emit_16(500);
+emit_16(433);
+emit_16(500);
+emit_16(434);
+emit_16(501);
+emit_16(435);
+emit_16(501);
+emit_16(434);
+emit_16(501);
+emit_16(435);
+emit_16(502);
+emit_16(436);
+emit_16(502);
+emit_16(435);
+emit_16(502);
+emit_16(436);
+emit_16(503);
+emit_16(437);
+emit_16(503);
+emit_16(436);
+emit_16(503);
+emit_16(437);
+emit_16(504);
+emit_16(438);
+emit_16(504);
+emit_16(437);
+emit_16(504);
+emit_16(438);
+emit_16(505);
+emit_16(439);
+emit_16(505);
+emit_16(438);
+emit_16(505);
+emit_16(439);
+emit_16(506);
+emit_16(440);
+emit_16(506);
+emit_16(439);
+emit_16(506);
+emit_16(440);
+emit_16(507);
+emit_16(441);
+emit_16(507);
+emit_16(440);
+emit_16(507);
+emit_16(441);
+emit_16(508);
+emit_16(442);
+emit_16(508);
+emit_16(441);
+emit_16(508);
+emit_16(442);
+emit_16(509);
+emit_16(443);
+emit_16(509);
+emit_16(442);
+emit_16(509);
+emit_16(443);
+emit_16(510);
+emit_16(444);
+emit_16(510);
+emit_16(443);
+emit_16(510);
+emit_16(444);
+emit_16(511);
+emit_16(445);
+emit_16(511);
+emit_16(444);
+emit_16(511);
+emit_16(445);
+emit_16(512);
+emit_16(446);
+emit_16(512);
+emit_16(445);
+emit_16(512);
+emit_16(446);
+emit_16(513);
+emit_16(447);
+emit_16(513);
+emit_16(446);
+emit_16(513);
+emit_16(447);
+emit_16(514);
+emit_16(448);
+emit_16(514);
+emit_16(447);
+emit_16(514);
+emit_16(448);
+emit_16(515);
+emit_16(449);
+emit_16(515);
+emit_16(448);
+emit_16(515);
+emit_16(449);
+emit_16(516);
+emit_16(450);
+emit_16(516);
+emit_16(449);
+emit_16(516);
+emit_16(450);
+emit_16(517);
+emit_16(451);
+emit_16(517);
+emit_16(450);
+emit_16(517);
+emit_16(451);
+emit_16(518);
+emit_16(452);
+emit_16(518);
+emit_16(451);
+emit_16(518);
+emit_16(452);
+emit_16(519);
+emit_16(453);
+emit_16(519);
+emit_16(452);
+emit_16(519);
+emit_16(453);
+emit_16(520);
+emit_16(454);
+emit_16(520);
+emit_16(453);
+emit_16(520);
+emit_16(454);
+emit_16(521);
+emit_16(455);
+emit_16(521);
+emit_16(454);
+emit_16(521);
+emit_16(455);
+emit_16(522);
+emit_16(456);
+emit_16(522);
+emit_16(455);
+emit_16(522);
+emit_16(456);
+emit_16(523);
+emit_16(457);
+emit_16(523);
+emit_16(456);
+emit_16(523);
+emit_16(457);
+emit_16(524);
+emit_16(458);
+emit_16(524);
+emit_16(457);
+emit_16(524);
+emit_16(458);
+emit_16(525);
+emit_16(459);
+emit_16(525);
+emit_16(458);
+emit_16(525);
+emit_16(459);
+emit_16(526);
+emit_16(460);
+emit_16(526);
+emit_16(459);
+emit_16(526);
+emit_16(460);
+emit_16(527);
+emit_16(461);
+emit_16(527);
+emit_16(460);
+emit_16(528);
+emit_16(462);
+emit_16(529);
+emit_16(463);
+emit_16(529);
+emit_16(462);
+emit_16(529);
+emit_16(463);
+emit_16(530);
+emit_16(464);
+emit_16(530);
+emit_16(463);
+emit_16(530);
+emit_16(464);
+emit_16(531);
+emit_16(465);
+emit_16(531);
+emit_16(464);
+emit_16(531);
+emit_16(465);
+emit_16(532);
+emit_16(466);
+emit_16(532);
+emit_16(465);
+emit_16(532);
+emit_16(466);
+emit_16(533);
+emit_16(467);
+emit_16(533);
+emit_16(466);
+emit_16(533);
+emit_16(467);
+emit_16(534);
+emit_16(468);
+emit_16(534);
+emit_16(467);
+emit_16(534);
+emit_16(468);
+emit_16(535);
+emit_16(469);
+emit_16(535);
+emit_16(468);
+emit_16(535);
+emit_16(469);
+emit_16(536);
+emit_16(470);
+emit_16(536);
+emit_16(469);
+emit_16(536);
+emit_16(470);
+emit_16(537);
+emit_16(471);
+emit_16(537);
+emit_16(470);
+emit_16(537);
+emit_16(471);
+emit_16(538);
+emit_16(472);
+emit_16(538);
+emit_16(471);
+emit_16(538);
+emit_16(472);
+emit_16(539);
+emit_16(473);
+emit_16(539);
+emit_16(472);
+emit_16(539);
+emit_16(473);
+emit_16(540);
+emit_16(474);
+emit_16(540);
+emit_16(473);
+emit_16(540);
+emit_16(474);
+emit_16(541);
+emit_16(475);
+emit_16(541);
+emit_16(474);
+emit_16(541);
+emit_16(475);
+emit_16(542);
+emit_16(476);
+emit_16(542);
+emit_16(475);
+emit_16(542);
+emit_16(476);
+emit_16(543);
+emit_16(477);
+emit_16(543);
+emit_16(476);
+emit_16(543);
+emit_16(477);
+emit_16(544);
+emit_16(478);
+emit_16(544);
+emit_16(477);
+emit_16(544);
+emit_16(478);
+emit_16(545);
+emit_16(479);
+emit_16(545);
+emit_16(478);
+emit_16(545);
+emit_16(479);
+emit_16(546);
+emit_16(480);
+emit_16(546);
+emit_16(479);
+emit_16(546);
+emit_16(480);
+emit_16(547);
+emit_16(481);
+emit_16(547);
+emit_16(480);
+emit_16(547);
+emit_16(481);
+emit_16(548);
+emit_16(482);
+emit_16(548);
+emit_16(481);
+emit_16(548);
+emit_16(482);
+emit_16(549);
+emit_16(483);
+emit_16(549);
+emit_16(482);
+emit_16(549);
+emit_16(483);
+emit_16(550);
+emit_16(484);
+emit_16(550);
+emit_16(483);
+emit_16(550);
+emit_16(484);
+emit_16(551);
+emit_16(485);
+emit_16(551);
+emit_16(484);
+emit_16(551);
+emit_16(485);
+emit_16(552);
+emit_16(486);
+emit_16(552);
+emit_16(485);
+emit_16(552);
+emit_16(486);
+emit_16(553);
+emit_16(487);
+emit_16(553);
+emit_16(486);
+emit_16(553);
+emit_16(487);
+emit_16(554);
+emit_16(488);
+emit_16(554);
+emit_16(487);
+emit_16(554);
+emit_16(488);
+emit_16(555);
+emit_16(489);
+emit_16(555);
+emit_16(488);
+emit_16(555);
+emit_16(489);
+emit_16(556);
+emit_16(490);
+emit_16(556);
+emit_16(489);
+emit_16(556);
+emit_16(490);
+emit_16(557);
+emit_16(491);
+emit_16(557);
+emit_16(490);
+emit_16(557);
+emit_16(491);
+emit_16(558);
+emit_16(492);
+emit_16(558);
+emit_16(491);
+emit_16(558);
+emit_16(492);
+emit_16(559);
+emit_16(493);
+emit_16(559);
+emit_16(492);
+emit_16(559);
+emit_16(493);
+emit_16(560);
+emit_16(494);
+emit_16(560);
+emit_16(493);
+emit_16(560);
+emit_16(494);
+emit_16(561);
+emit_16(495);
+emit_16(561);
+emit_16(494);
+emit_16(561);
+emit_16(495);
+emit_16(562);
+emit_16(496);
+emit_16(562);
+emit_16(495);
+emit_16(562);
+emit_16(496);
+emit_16(563);
+emit_16(497);
+emit_16(563);
+emit_16(496);
+emit_16(563);
+emit_16(497);
+emit_16(564);
+emit_16(498);
+emit_16(564);
+emit_16(497);
+emit_16(564);
+emit_16(498);
+emit_16(565);
+emit_16(499);
+emit_16(565);
+emit_16(498);
+emit_16(565);
+emit_16(499);
+emit_16(566);
+emit_16(500);
+emit_16(566);
+emit_16(499);
+emit_16(566);
+emit_16(500);
+emit_16(567);
+emit_16(501);
+emit_16(567);
+emit_16(500);
+emit_16(567);
+emit_16(501);
+emit_16(568);
+emit_16(502);
+emit_16(568);
+emit_16(501);
+emit_16(568);
+emit_16(502);
+emit_16(569);
+emit_16(503);
+emit_16(569);
+emit_16(502);
+emit_16(569);
+emit_16(503);
+emit_16(570);
+emit_16(504);
+emit_16(570);
+emit_16(503);
+emit_16(570);
+emit_16(504);
+emit_16(571);
+emit_16(505);
+emit_16(571);
+emit_16(504);
+emit_16(571);
+emit_16(505);
+emit_16(572);
+emit_16(506);
+emit_16(572);
+emit_16(505);
+emit_16(572);
+emit_16(506);
+emit_16(573);
+emit_16(507);
+emit_16(573);
+emit_16(506);
+emit_16(573);
+emit_16(507);
+emit_16(574);
+emit_16(508);
+emit_16(574);
+emit_16(507);
+emit_16(574);
+emit_16(508);
+emit_16(575);
+emit_16(509);
+emit_16(575);
+emit_16(508);
+emit_16(575);
+emit_16(509);
+emit_16(576);
+emit_16(510);
+emit_16(576);
+emit_16(509);
+emit_16(576);
+emit_16(510);
+emit_16(577);
+emit_16(511);
+emit_16(577);
+emit_16(510);
+emit_16(577);
+emit_16(511);
+emit_16(578);
+emit_16(512);
+emit_16(578);
+emit_16(511);
+emit_16(578);
+emit_16(512);
+emit_16(579);
+emit_16(513);
+emit_16(579);
+emit_16(512);
+emit_16(579);
+emit_16(513);
+emit_16(580);
+emit_16(514);
+emit_16(580);
+emit_16(513);
+emit_16(580);
+emit_16(514);
+emit_16(581);
+emit_16(515);
+emit_16(581);
+emit_16(514);
+emit_16(581);
+emit_16(515);
+emit_16(582);
+emit_16(516);
+emit_16(582);
+emit_16(515);
+emit_16(582);
+emit_16(516);
+emit_16(583);
+emit_16(517);
+emit_16(583);
+emit_16(516);
+emit_16(583);
+emit_16(517);
+emit_16(584);
+emit_16(518);
+emit_16(584);
+emit_16(517);
+emit_16(584);
+emit_16(518);
+emit_16(585);
+emit_16(519);
+emit_16(585);
+emit_16(518);
+emit_16(585);
+emit_16(519);
+emit_16(586);
+emit_16(520);
+emit_16(586);
+emit_16(519);
+emit_16(586);
+emit_16(520);
+emit_16(587);
+emit_16(521);
+emit_16(587);
+emit_16(520);
+emit_16(587);
+emit_16(521);
+emit_16(588);
+emit_16(522);
+emit_16(588);
+emit_16(521);
+emit_16(588);
+emit_16(522);
+emit_16(589);
+emit_16(523);
+emit_16(589);
+emit_16(522);
+emit_16(589);
+emit_16(523);
+emit_16(590);
+emit_16(524);
+emit_16(590);
+emit_16(523);
+emit_16(590);
+emit_16(524);
+emit_16(591);
+emit_16(525);
+emit_16(591);
+emit_16(524);
+emit_16(591);
+emit_16(525);
+emit_16(592);
+emit_16(526);
+emit_16(592);
+emit_16(525);
+emit_16(592);
+emit_16(526);
+emit_16(593);
+emit_16(527);
+emit_16(593);
+emit_16(526);
+emit_16(594);
+emit_16(528);
+emit_16(595);
+emit_16(529);
+emit_16(595);
+emit_16(528);
+emit_16(595);
+emit_16(529);
+emit_16(596);
+emit_16(530);
+emit_16(596);
+emit_16(529);
+emit_16(596);
+emit_16(530);
+emit_16(597);
+emit_16(531);
+emit_16(597);
+emit_16(530);
+emit_16(597);
+emit_16(531);
+emit_16(598);
+emit_16(532);
+emit_16(598);
+emit_16(531);
+emit_16(598);
+emit_16(532);
+emit_16(599);
+emit_16(533);
+emit_16(599);
+emit_16(532);
+emit_16(599);
+emit_16(533);
+emit_16(600);
+emit_16(534);
+emit_16(600);
+emit_16(533);
+emit_16(600);
+emit_16(534);
+emit_16(601);
+emit_16(535);
+emit_16(601);
+emit_16(534);
+emit_16(601);
+emit_16(535);
+emit_16(602);
+emit_16(536);
+emit_16(602);
+emit_16(535);
+emit_16(602);
+emit_16(536);
+emit_16(603);
+emit_16(537);
+emit_16(603);
+emit_16(536);
+emit_16(603);
+emit_16(537);
+emit_16(604);
+emit_16(538);
+emit_16(604);
+emit_16(537);
+emit_16(604);
+emit_16(538);
+emit_16(605);
+emit_16(539);
+emit_16(605);
+emit_16(538);
+emit_16(605);
+emit_16(539);
+emit_16(606);
+emit_16(540);
+emit_16(606);
+emit_16(539);
+emit_16(606);
+emit_16(540);
+emit_16(607);
+emit_16(541);
+emit_16(607);
+emit_16(540);
+emit_16(607);
+emit_16(541);
+emit_16(608);
+emit_16(542);
+emit_16(608);
+emit_16(541);
+emit_16(608);
+emit_16(542);
+emit_16(609);
+emit_16(543);
+emit_16(609);
+emit_16(542);
+emit_16(609);
+emit_16(543);
+emit_16(610);
+emit_16(544);
+emit_16(610);
+emit_16(543);
+emit_16(610);
+emit_16(544);
+emit_16(611);
+emit_16(545);
+emit_16(611);
+emit_16(544);
+emit_16(611);
+emit_16(545);
+emit_16(612);
+emit_16(546);
+emit_16(612);
+emit_16(545);
+emit_16(612);
+emit_16(546);
+emit_16(613);
+emit_16(547);
+emit_16(613);
+emit_16(546);
+emit_16(613);
+emit_16(547);
+emit_16(614);
+emit_16(548);
+emit_16(614);
+emit_16(547);
+emit_16(614);
+emit_16(548);
+emit_16(615);
+emit_16(549);
+emit_16(615);
+emit_16(548);
+emit_16(615);
+emit_16(549);
+emit_16(616);
+emit_16(550);
+emit_16(616);
+emit_16(549);
+emit_16(616);
+emit_16(550);
+emit_16(617);
+emit_16(551);
+emit_16(617);
+emit_16(550);
+emit_16(617);
+emit_16(551);
+emit_16(618);
+emit_16(552);
+emit_16(618);
+emit_16(551);
+emit_16(618);
+emit_16(552);
+emit_16(619);
+emit_16(553);
+emit_16(619);
+emit_16(552);
+emit_16(619);
+emit_16(553);
+emit_16(620);
+emit_16(554);
+emit_16(620);
+emit_16(553);
+emit_16(620);
+emit_16(554);
+emit_16(621);
+emit_16(555);
+emit_16(621);
+emit_16(554);
+emit_16(621);
+emit_16(555);
+emit_16(622);
+emit_16(556);
+emit_16(622);
+emit_16(555);
+emit_16(622);
+emit_16(556);
+emit_16(623);
+emit_16(557);
+emit_16(623);
+emit_16(556);
+emit_16(623);
+emit_16(557);
+emit_16(624);
+emit_16(558);
+emit_16(624);
+emit_16(557);
+emit_16(624);
+emit_16(558);
+emit_16(625);
+emit_16(559);
+emit_16(625);
+emit_16(558);
+emit_16(625);
+emit_16(559);
+emit_16(626);
+emit_16(560);
+emit_16(626);
+emit_16(559);
+emit_16(626);
+emit_16(560);
+emit_16(627);
+emit_16(561);
+emit_16(627);
+emit_16(560);
+emit_16(627);
+emit_16(561);
+emit_16(628);
+emit_16(562);
+emit_16(628);
+emit_16(561);
+emit_16(628);
+emit_16(562);
+emit_16(629);
+emit_16(563);
+emit_16(629);
+emit_16(562);
+emit_16(629);
+emit_16(563);
+emit_16(630);
+emit_16(564);
+emit_16(630);
+emit_16(563);
+emit_16(630);
+emit_16(564);
+emit_16(631);
+emit_16(565);
+emit_16(631);
+emit_16(564);
+emit_16(631);
+emit_16(565);
+emit_16(632);
+emit_16(566);
+emit_16(632);
+emit_16(565);
+emit_16(632);
+emit_16(566);
+emit_16(633);
+emit_16(567);
+emit_16(633);
+emit_16(566);
+emit_16(633);
+emit_16(567);
+emit_16(634);
+emit_16(568);
+emit_16(634);
+emit_16(567);
+emit_16(634);
+emit_16(568);
+emit_16(635);
+emit_16(569);
+emit_16(635);
+emit_16(568);
+emit_16(635);
+emit_16(569);
+emit_16(636);
+emit_16(570);
+emit_16(636);
+emit_16(569);
+emit_16(636);
+emit_16(570);
+emit_16(637);
+emit_16(571);
+emit_16(637);
+emit_16(570);
+emit_16(637);
+emit_16(571);
+emit_16(638);
+emit_16(572);
+emit_16(638);
+emit_16(571);
+emit_16(638);
+emit_16(572);
+emit_16(639);
+emit_16(573);
+emit_16(639);
+emit_16(572);
+emit_16(639);
+emit_16(573);
+emit_16(640);
+emit_16(574);
+emit_16(640);
+emit_16(573);
+emit_16(640);
+emit_16(574);
+emit_16(641);
+emit_16(575);
+emit_16(641);
+emit_16(574);
+emit_16(641);
+emit_16(575);
+emit_16(642);
+emit_16(576);
+emit_16(642);
+emit_16(575);
+emit_16(642);
+emit_16(576);
+emit_16(643);
+emit_16(577);
+emit_16(643);
+emit_16(576);
+emit_16(643);
+emit_16(577);
+emit_16(644);
+emit_16(578);
+emit_16(644);
+emit_16(577);
+emit_16(644);
+emit_16(578);
+emit_16(645);
+emit_16(579);
+emit_16(645);
+emit_16(578);
+emit_16(645);
+emit_16(579);
+emit_16(646);
+emit_16(580);
+emit_16(646);
+emit_16(579);
+emit_16(646);
+emit_16(580);
+emit_16(647);
+emit_16(581);
+emit_16(647);
+emit_16(580);
+emit_16(647);
+emit_16(581);
+emit_16(648);
+emit_16(582);
+emit_16(648);
+emit_16(581);
+emit_16(648);
+emit_16(582);
+emit_16(649);
+emit_16(583);
+emit_16(649);
+emit_16(582);
+emit_16(649);
+emit_16(583);
+emit_16(650);
+emit_16(584);
+emit_16(650);
+emit_16(583);
+emit_16(650);
+emit_16(584);
+emit_16(651);
+emit_16(585);
+emit_16(651);
+emit_16(584);
+emit_16(651);
+emit_16(585);
+emit_16(652);
+emit_16(586);
+emit_16(652);
+emit_16(585);
+emit_16(652);
+emit_16(586);
+emit_16(653);
+emit_16(587);
+emit_16(653);
+emit_16(586);
+emit_16(653);
+emit_16(587);
+emit_16(654);
+emit_16(588);
+emit_16(654);
+emit_16(587);
+emit_16(654);
+emit_16(588);
+emit_16(655);
+emit_16(589);
+emit_16(655);
+emit_16(588);
+emit_16(655);
+emit_16(589);
+emit_16(656);
+emit_16(590);
+emit_16(656);
+emit_16(589);
+emit_16(656);
+emit_16(590);
+emit_16(657);
+emit_16(591);
+emit_16(657);
+emit_16(590);
+emit_16(657);
+emit_16(591);
+emit_16(658);
+emit_16(592);
+emit_16(658);
+emit_16(591);
+emit_16(658);
+emit_16(592);
+emit_16(659);
+emit_16(593);
+emit_16(659);
+emit_16(592);
+emit_16(660);
+emit_16(594);
+emit_16(661);
+emit_16(595);
+emit_16(661);
+emit_16(594);
+emit_16(661);
+emit_16(595);
+emit_16(662);
+emit_16(596);
+emit_16(662);
+emit_16(595);
+emit_16(662);
+emit_16(596);
+emit_16(663);
+emit_16(597);
+emit_16(663);
+emit_16(596);
+emit_16(663);
+emit_16(597);
+emit_16(664);
+emit_16(598);
+emit_16(664);
+emit_16(597);
+emit_16(664);
+emit_16(598);
+emit_16(665);
+emit_16(599);
+emit_16(665);
+emit_16(598);
+emit_16(665);
+emit_16(599);
+emit_16(666);
+emit_16(600);
+emit_16(666);
+emit_16(599);
+emit_16(666);
+emit_16(600);
+emit_16(667);
+emit_16(601);
+emit_16(667);
+emit_16(600);
+emit_16(667);
+emit_16(601);
+emit_16(668);
+emit_16(602);
+emit_16(668);
+emit_16(601);
+emit_16(668);
+emit_16(602);
+emit_16(669);
+emit_16(603);
+emit_16(669);
+emit_16(602);
+emit_16(669);
+emit_16(603);
+emit_16(670);
+emit_16(604);
+emit_16(670);
+emit_16(603);
+emit_16(670);
+emit_16(604);
+emit_16(671);
+emit_16(605);
+emit_16(671);
+emit_16(604);
+emit_16(671);
+emit_16(605);
+emit_16(672);
+emit_16(606);
+emit_16(672);
+emit_16(605);
+emit_16(672);
+emit_16(606);
+emit_16(673);
+emit_16(607);
+emit_16(673);
+emit_16(606);
+emit_16(673);
+emit_16(607);
+emit_16(674);
+emit_16(608);
+emit_16(674);
+emit_16(607);
+emit_16(674);
+emit_16(608);
+emit_16(675);
+emit_16(609);
+emit_16(675);
+emit_16(608);
+emit_16(675);
+emit_16(609);
+emit_16(676);
+emit_16(610);
+emit_16(676);
+emit_16(609);
+emit_16(676);
+emit_16(610);
+emit_16(677);
+emit_16(611);
+emit_16(677);
+emit_16(610);
+emit_16(677);
+emit_16(611);
+emit_16(678);
+emit_16(612);
+emit_16(678);
+emit_16(611);
+emit_16(678);
+emit_16(612);
+emit_16(679);
+emit_16(613);
+emit_16(679);
+emit_16(612);
+emit_16(679);
+emit_16(613);
+emit_16(680);
+emit_16(614);
+emit_16(680);
+emit_16(613);
+emit_16(680);
+emit_16(614);
+emit_16(681);
+emit_16(615);
+emit_16(681);
+emit_16(614);
+emit_16(681);
+emit_16(615);
+emit_16(682);
+emit_16(616);
+emit_16(682);
+emit_16(615);
+emit_16(682);
+emit_16(616);
+emit_16(683);
+emit_16(617);
+emit_16(683);
+emit_16(616);
+emit_16(683);
+emit_16(617);
+emit_16(684);
+emit_16(618);
+emit_16(684);
+emit_16(617);
+emit_16(684);
+emit_16(618);
+emit_16(685);
+emit_16(619);
+emit_16(685);
+emit_16(618);
+emit_16(685);
+emit_16(619);
+emit_16(686);
+emit_16(620);
+emit_16(686);
+emit_16(619);
+emit_16(686);
+emit_16(620);
+emit_16(687);
+emit_16(621);
+emit_16(687);
+emit_16(620);
+emit_16(687);
+emit_16(621);
+emit_16(688);
+emit_16(622);
+emit_16(688);
+emit_16(621);
+emit_16(688);
+emit_16(622);
+emit_16(689);
+emit_16(623);
+emit_16(689);
+emit_16(622);
+emit_16(689);
+emit_16(623);
+emit_16(690);
+emit_16(624);
+emit_16(690);
+emit_16(623);
+emit_16(690);
+emit_16(624);
+emit_16(691);
+emit_16(625);
+emit_16(691);
+emit_16(624);
+emit_16(691);
+emit_16(625);
+emit_16(692);
+emit_16(626);
+emit_16(692);
+emit_16(625);
+emit_16(692);
+emit_16(626);
+emit_16(693);
+emit_16(627);
+emit_16(693);
+emit_16(626);
+emit_16(693);
+emit_16(627);
+emit_16(694);
+emit_16(628);
+emit_16(694);
+emit_16(627);
+emit_16(694);
+emit_16(628);
+emit_16(695);
+emit_16(629);
+emit_16(695);
+emit_16(628);
+emit_16(695);
+emit_16(629);
+emit_16(696);
+emit_16(630);
+emit_16(696);
+emit_16(629);
+emit_16(696);
+emit_16(630);
+emit_16(697);
+emit_16(631);
+emit_16(697);
+emit_16(630);
+emit_16(697);
+emit_16(631);
+emit_16(698);
+emit_16(632);
+emit_16(698);
+emit_16(631);
+emit_16(698);
+emit_16(632);
+emit_16(699);
+emit_16(633);
+emit_16(699);
+emit_16(632);
+emit_16(699);
+emit_16(633);
+emit_16(700);
+emit_16(634);
+emit_16(700);
+emit_16(633);
+emit_16(700);
+emit_16(634);
+emit_16(701);
+emit_16(635);
+emit_16(701);
+emit_16(634);
+emit_16(701);
+emit_16(635);
+emit_16(702);
+emit_16(636);
+emit_16(702);
+emit_16(635);
+emit_16(702);
+emit_16(636);
+emit_16(703);
+emit_16(637);
+emit_16(703);
+emit_16(636);
+emit_16(703);
+emit_16(637);
+emit_16(704);
+emit_16(638);
+emit_16(704);
+emit_16(637);
+emit_16(704);
+emit_16(638);
+emit_16(705);
+emit_16(639);
+emit_16(705);
+emit_16(638);
+emit_16(705);
+emit_16(639);
+emit_16(706);
+emit_16(640);
+emit_16(706);
+emit_16(639);
+emit_16(706);
+emit_16(640);
+emit_16(707);
+emit_16(641);
+emit_16(707);
+emit_16(640);
+emit_16(707);
+emit_16(641);
+emit_16(708);
+emit_16(642);
+emit_16(708);
+emit_16(641);
+emit_16(708);
+emit_16(642);
+emit_16(709);
+emit_16(643);
+emit_16(709);
+emit_16(642);
+emit_16(709);
+emit_16(643);
+emit_16(710);
+emit_16(644);
+emit_16(710);
+emit_16(643);
+emit_16(710);
+emit_16(644);
+emit_16(711);
+emit_16(645);
+emit_16(711);
+emit_16(644);
+emit_16(711);
+emit_16(645);
+emit_16(712);
+emit_16(646);
+emit_16(712);
+emit_16(645);
+emit_16(712);
+emit_16(646);
+emit_16(713);
+emit_16(647);
+emit_16(713);
+emit_16(646);
+emit_16(713);
+emit_16(647);
+emit_16(714);
+emit_16(648);
+emit_16(714);
+emit_16(647);
+emit_16(714);
+emit_16(648);
+emit_16(715);
+emit_16(649);
+emit_16(715);
+emit_16(648);
+emit_16(715);
+emit_16(649);
+emit_16(716);
+emit_16(650);
+emit_16(716);
+emit_16(649);
+emit_16(716);
+emit_16(650);
+emit_16(717);
+emit_16(651);
+emit_16(717);
+emit_16(650);
+emit_16(717);
+emit_16(651);
+emit_16(718);
+emit_16(652);
+emit_16(718);
+emit_16(651);
+emit_16(718);
+emit_16(652);
+emit_16(719);
+emit_16(653);
+emit_16(719);
+emit_16(652);
+emit_16(719);
+emit_16(653);
+emit_16(720);
+emit_16(654);
+emit_16(720);
+emit_16(653);
+emit_16(720);
+emit_16(654);
+emit_16(721);
+emit_16(655);
+emit_16(721);
+emit_16(654);
+emit_16(721);
+emit_16(655);
+emit_16(722);
+emit_16(656);
+emit_16(722);
+emit_16(655);
+emit_16(722);
+emit_16(656);
+emit_16(723);
+emit_16(657);
+emit_16(723);
+emit_16(656);
+emit_16(723);
+emit_16(657);
+emit_16(724);
+emit_16(658);
+emit_16(724);
+emit_16(657);
+emit_16(724);
+emit_16(658);
+emit_16(725);
+emit_16(659);
+emit_16(725);
+emit_16(658);
+emit_16(726);
+emit_16(660);
+emit_16(727);
+emit_16(661);
+emit_16(727);
+emit_16(660);
+emit_16(727);
+emit_16(661);
+emit_16(728);
+emit_16(662);
+emit_16(728);
+emit_16(661);
+emit_16(728);
+emit_16(662);
+emit_16(729);
+emit_16(663);
+emit_16(729);
+emit_16(662);
+emit_16(729);
+emit_16(663);
+emit_16(730);
+emit_16(664);
+emit_16(730);
+emit_16(663);
+emit_16(730);
+emit_16(664);
+emit_16(731);
+emit_16(665);
+emit_16(731);
+emit_16(664);
+emit_16(731);
+emit_16(665);
+emit_16(732);
+emit_16(666);
+emit_16(732);
+emit_16(665);
+emit_16(732);
+emit_16(666);
+emit_16(733);
+emit_16(667);
+emit_16(733);
+emit_16(666);
+emit_16(733);
+emit_16(667);
+emit_16(734);
+emit_16(668);
+emit_16(734);
+emit_16(667);
+emit_16(734);
+emit_16(668);
+emit_16(735);
+emit_16(669);
+emit_16(735);
+emit_16(668);
+emit_16(735);
+emit_16(669);
+emit_16(736);
+emit_16(670);
+emit_16(736);
+emit_16(669);
+emit_16(736);
+emit_16(670);
+emit_16(737);
+emit_16(671);
+emit_16(737);
+emit_16(670);
+emit_16(737);
+emit_16(671);
+emit_16(738);
+emit_16(672);
+emit_16(738);
+emit_16(671);
+emit_16(738);
+emit_16(672);
+emit_16(739);
+emit_16(673);
+emit_16(739);
+emit_16(672);
+emit_16(739);
+emit_16(673);
+emit_16(740);
+emit_16(674);
+emit_16(740);
+emit_16(673);
+emit_16(740);
+emit_16(674);
+emit_16(741);
+emit_16(675);
+emit_16(741);
+emit_16(674);
+emit_16(741);
+emit_16(675);
+emit_16(742);
+emit_16(676);
+emit_16(742);
+emit_16(675);
+emit_16(742);
+emit_16(676);
+emit_16(743);
+emit_16(677);
+emit_16(743);
+emit_16(676);
+emit_16(743);
+emit_16(677);
+emit_16(744);
+emit_16(678);
+emit_16(744);
+emit_16(677);
+emit_16(744);
+emit_16(678);
+emit_16(745);
+emit_16(679);
+emit_16(745);
+emit_16(678);
+emit_16(745);
+emit_16(679);
+emit_16(746);
+emit_16(680);
+emit_16(746);
+emit_16(679);
+emit_16(746);
+emit_16(680);
+emit_16(747);
+emit_16(681);
+emit_16(747);
+emit_16(680);
+emit_16(747);
+emit_16(681);
+emit_16(748);
+emit_16(682);
+emit_16(748);
+emit_16(681);
+emit_16(748);
+emit_16(682);
+emit_16(749);
+emit_16(683);
+emit_16(749);
+emit_16(682);
+emit_16(749);
+emit_16(683);
+emit_16(750);
+emit_16(684);
+emit_16(750);
+emit_16(683);
+emit_16(750);
+emit_16(684);
+emit_16(751);
+emit_16(685);
+emit_16(751);
+emit_16(684);
+emit_16(751);
+emit_16(685);
+emit_16(752);
+emit_16(686);
+emit_16(752);
+emit_16(685);
+emit_16(752);
+emit_16(686);
+emit_16(753);
+emit_16(687);
+emit_16(753);
+emit_16(686);
+emit_16(753);
+emit_16(687);
+emit_16(754);
+emit_16(688);
+emit_16(754);
+emit_16(687);
+emit_16(754);
+emit_16(688);
+emit_16(755);
+emit_16(689);
+emit_16(755);
+emit_16(688);
+emit_16(755);
+emit_16(689);
+emit_16(756);
+emit_16(690);
+emit_16(756);
+emit_16(689);
+emit_16(756);
+emit_16(690);
+emit_16(757);
+emit_16(691);
+emit_16(757);
+emit_16(690);
+emit_16(757);
+emit_16(691);
+emit_16(758);
+emit_16(692);
+emit_16(758);
+emit_16(691);
+emit_16(758);
+emit_16(692);
+emit_16(759);
+emit_16(693);
+emit_16(759);
+emit_16(692);
+emit_16(759);
+emit_16(693);
+emit_16(760);
+emit_16(694);
+emit_16(760);
+emit_16(693);
+emit_16(760);
+emit_16(694);
+emit_16(761);
+emit_16(695);
+emit_16(761);
+emit_16(694);
+emit_16(761);
+emit_16(695);
+emit_16(762);
+emit_16(696);
+emit_16(762);
+emit_16(695);
+emit_16(762);
+emit_16(696);
+emit_16(763);
+emit_16(697);
+emit_16(763);
+emit_16(696);
+emit_16(763);
+emit_16(697);
+emit_16(764);
+emit_16(698);
+emit_16(764);
+emit_16(697);
+emit_16(764);
+emit_16(698);
+emit_16(765);
+emit_16(699);
+emit_16(765);
+emit_16(698);
+emit_16(765);
+emit_16(699);
+emit_16(766);
+emit_16(700);
+emit_16(766);
+emit_16(699);
+emit_16(766);
+emit_16(700);
+emit_16(767);
+emit_16(701);
+emit_16(767);
+emit_16(700);
+emit_16(767);
+emit_16(701);
+emit_16(768);
+emit_16(702);
+emit_16(768);
+emit_16(701);
+emit_16(768);
+emit_16(702);
+emit_16(769);
+emit_16(703);
+emit_16(769);
+emit_16(702);
+emit_16(769);
+emit_16(703);
+emit_16(770);
+emit_16(704);
+emit_16(770);
+emit_16(703);
+emit_16(770);
+emit_16(704);
+emit_16(771);
+emit_16(705);
+emit_16(771);
+emit_16(704);
+emit_16(771);
+emit_16(705);
+emit_16(772);
+emit_16(706);
+emit_16(772);
+emit_16(705);
+emit_16(772);
+emit_16(706);
+emit_16(773);
+emit_16(707);
+emit_16(773);
+emit_16(706);
+emit_16(773);
+emit_16(707);
+emit_16(774);
+emit_16(708);
+emit_16(774);
+emit_16(707);
+emit_16(774);
+emit_16(708);
+emit_16(775);
+emit_16(709);
+emit_16(775);
+emit_16(708);
+emit_16(775);
+emit_16(709);
+emit_16(776);
+emit_16(710);
+emit_16(776);
+emit_16(709);
+emit_16(776);
+emit_16(710);
+emit_16(777);
+emit_16(711);
+emit_16(777);
+emit_16(710);
+emit_16(777);
+emit_16(711);
+emit_16(778);
+emit_16(712);
+emit_16(778);
+emit_16(711);
+emit_16(778);
+emit_16(712);
+emit_16(779);
+emit_16(713);
+emit_16(779);
+emit_16(712);
+emit_16(779);
+emit_16(713);
+emit_16(780);
+emit_16(714);
+emit_16(780);
+emit_16(713);
+emit_16(780);
+emit_16(714);
+emit_16(781);
+emit_16(715);
+emit_16(781);
+emit_16(714);
+emit_16(781);
+emit_16(715);
+emit_16(782);
+emit_16(716);
+emit_16(782);
+emit_16(715);
+emit_16(782);
+emit_16(716);
+emit_16(783);
+emit_16(717);
+emit_16(783);
+emit_16(716);
+emit_16(783);
+emit_16(717);
+emit_16(784);
+emit_16(718);
+emit_16(784);
+emit_16(717);
+emit_16(784);
+emit_16(718);
+emit_16(785);
+emit_16(719);
+emit_16(785);
+emit_16(718);
+emit_16(785);
+emit_16(719);
+emit_16(786);
+emit_16(720);
+emit_16(786);
+emit_16(719);
+emit_16(786);
+emit_16(720);
+emit_16(787);
+emit_16(721);
+emit_16(787);
+emit_16(720);
+emit_16(787);
+emit_16(721);
+emit_16(788);
+emit_16(722);
+emit_16(788);
+emit_16(721);
+emit_16(788);
+emit_16(722);
+emit_16(789);
+emit_16(723);
+emit_16(789);
+emit_16(722);
+emit_16(789);
+emit_16(723);
+emit_16(790);
+emit_16(724);
+emit_16(790);
+emit_16(723);
+emit_16(790);
+emit_16(724);
+emit_16(791);
+emit_16(725);
+emit_16(791);
+emit_16(724);
+emit_16(792);
+emit_16(726);
+emit_16(793);
+emit_16(727);
+emit_16(793);
+emit_16(726);
+emit_16(793);
+emit_16(727);
+emit_16(794);
+emit_16(728);
+emit_16(794);
+emit_16(727);
+emit_16(794);
+emit_16(728);
+emit_16(795);
+emit_16(729);
+emit_16(795);
+emit_16(728);
+emit_16(795);
+emit_16(729);
+emit_16(796);
+emit_16(730);
+emit_16(796);
+emit_16(729);
+emit_16(796);
+emit_16(730);
+emit_16(797);
+emit_16(731);
+emit_16(797);
+emit_16(730);
+emit_16(797);
+emit_16(731);
+emit_16(798);
+emit_16(732);
+emit_16(798);
+emit_16(731);
+emit_16(798);
+emit_16(732);
+emit_16(799);
+emit_16(733);
+emit_16(799);
+emit_16(732);
+emit_16(799);
+emit_16(733);
+emit_16(800);
+emit_16(734);
+emit_16(800);
+emit_16(733);
+emit_16(800);
+emit_16(734);
+emit_16(801);
+emit_16(735);
+emit_16(801);
+emit_16(734);
+emit_16(801);
+emit_16(735);
+emit_16(802);
+emit_16(736);
+emit_16(802);
+emit_16(735);
+emit_16(802);
+emit_16(736);
+emit_16(803);
+emit_16(737);
+emit_16(803);
+emit_16(736);
+emit_16(803);
+emit_16(737);
+emit_16(804);
+emit_16(738);
+emit_16(804);
+emit_16(737);
+emit_16(804);
+emit_16(738);
+emit_16(805);
+emit_16(739);
+emit_16(805);
+emit_16(738);
+emit_16(805);
+emit_16(739);
+emit_16(806);
+emit_16(740);
+emit_16(806);
+emit_16(739);
+emit_16(806);
+emit_16(740);
+emit_16(807);
+emit_16(741);
+emit_16(807);
+emit_16(740);
+emit_16(807);
+emit_16(741);
+emit_16(808);
+emit_16(742);
+emit_16(808);
+emit_16(741);
+emit_16(808);
+emit_16(742);
+emit_16(809);
+emit_16(743);
+emit_16(809);
+emit_16(742);
+emit_16(809);
+emit_16(743);
+emit_16(810);
+emit_16(744);
+emit_16(810);
+emit_16(743);
+emit_16(810);
+emit_16(744);
+emit_16(811);
+emit_16(745);
+emit_16(811);
+emit_16(744);
+emit_16(811);
+emit_16(745);
+emit_16(812);
+emit_16(746);
+emit_16(812);
+emit_16(745);
+emit_16(812);
+emit_16(746);
+emit_16(813);
+emit_16(747);
+emit_16(813);
+emit_16(746);
+emit_16(813);
+emit_16(747);
+emit_16(814);
+emit_16(748);
+emit_16(814);
+emit_16(747);
+emit_16(814);
+emit_16(748);
+emit_16(815);
+emit_16(749);
+emit_16(815);
+emit_16(748);
+emit_16(815);
+emit_16(749);
+emit_16(816);
+emit_16(750);
+emit_16(816);
+emit_16(749);
+emit_16(816);
+emit_16(750);
+emit_16(817);
+emit_16(751);
+emit_16(817);
+emit_16(750);
+emit_16(817);
+emit_16(751);
+emit_16(818);
+emit_16(752);
+emit_16(818);
+emit_16(751);
+emit_16(818);
+emit_16(752);
+emit_16(819);
+emit_16(753);
+emit_16(819);
+emit_16(752);
+emit_16(819);
+emit_16(753);
+emit_16(820);
+emit_16(754);
+emit_16(820);
+emit_16(753);
+emit_16(820);
+emit_16(754);
+emit_16(821);
+emit_16(755);
+emit_16(821);
+emit_16(754);
+emit_16(821);
+emit_16(755);
+emit_16(822);
+emit_16(756);
+emit_16(822);
+emit_16(755);
+emit_16(822);
+emit_16(756);
+emit_16(823);
+emit_16(757);
+emit_16(823);
+emit_16(756);
+emit_16(823);
+emit_16(757);
+emit_16(824);
+emit_16(758);
+emit_16(824);
+emit_16(757);
+emit_16(824);
+emit_16(758);
+emit_16(825);
+emit_16(759);
+emit_16(825);
+emit_16(758);
+emit_16(825);
+emit_16(759);
+emit_16(826);
+emit_16(760);
+emit_16(826);
+emit_16(759);
+emit_16(826);
+emit_16(760);
+emit_16(827);
+emit_16(761);
+emit_16(827);
+emit_16(760);
+emit_16(827);
+emit_16(761);
+emit_16(828);
+emit_16(762);
+emit_16(828);
+emit_16(761);
+emit_16(828);
+emit_16(762);
+emit_16(829);
+emit_16(763);
+emit_16(829);
+emit_16(762);
+emit_16(829);
+emit_16(763);
+emit_16(830);
+emit_16(764);
+emit_16(830);
+emit_16(763);
+emit_16(830);
+emit_16(764);
+emit_16(831);
+emit_16(765);
+emit_16(831);
+emit_16(764);
+emit_16(831);
+emit_16(765);
+emit_16(832);
+emit_16(766);
+emit_16(832);
+emit_16(765);
+emit_16(832);
+emit_16(766);
+emit_16(833);
+emit_16(767);
+emit_16(833);
+emit_16(766);
+emit_16(833);
+emit_16(767);
+emit_16(834);
+emit_16(768);
+emit_16(834);
+emit_16(767);
+emit_16(834);
+emit_16(768);
+emit_16(835);
+emit_16(769);
+emit_16(835);
+emit_16(768);
+emit_16(835);
+emit_16(769);
+emit_16(836);
+emit_16(770);
+emit_16(836);
+emit_16(769);
+emit_16(836);
+emit_16(770);
+emit_16(837);
+emit_16(771);
+emit_16(837);
+emit_16(770);
+emit_16(837);
+emit_16(771);
+emit_16(838);
+emit_16(772);
+emit_16(838);
+emit_16(771);
+emit_16(838);
+emit_16(772);
+emit_16(839);
+emit_16(773);
+emit_16(839);
+emit_16(772);
+emit_16(839);
+emit_16(773);
+emit_16(840);
+emit_16(774);
+emit_16(840);
+emit_16(773);
+emit_16(840);
+emit_16(774);
+emit_16(841);
+emit_16(775);
+emit_16(841);
+emit_16(774);
+emit_16(841);
+emit_16(775);
+emit_16(842);
+emit_16(776);
+emit_16(842);
+emit_16(775);
+emit_16(842);
+emit_16(776);
+emit_16(843);
+emit_16(777);
+emit_16(843);
+emit_16(776);
+emit_16(843);
+emit_16(777);
+emit_16(844);
+emit_16(778);
+emit_16(844);
+emit_16(777);
+emit_16(844);
+emit_16(778);
+emit_16(845);
+emit_16(779);
+emit_16(845);
+emit_16(778);
+emit_16(845);
+emit_16(779);
+emit_16(846);
+emit_16(780);
+emit_16(846);
+emit_16(779);
+emit_16(846);
+emit_16(780);
+emit_16(847);
+emit_16(781);
+emit_16(847);
+emit_16(780);
+emit_16(847);
+emit_16(781);
+emit_16(848);
+emit_16(782);
+emit_16(848);
+emit_16(781);
+emit_16(848);
+emit_16(782);
+emit_16(849);
+emit_16(783);
+emit_16(849);
+emit_16(782);
+emit_16(849);
+emit_16(783);
+emit_16(850);
+emit_16(784);
+emit_16(850);
+emit_16(783);
+emit_16(850);
+emit_16(784);
+emit_16(851);
+emit_16(785);
+emit_16(851);
+emit_16(784);
+emit_16(851);
+emit_16(785);
+emit_16(852);
+emit_16(786);
+emit_16(852);
+emit_16(785);
+emit_16(852);
+emit_16(786);
+emit_16(853);
+emit_16(787);
+emit_16(853);
+emit_16(786);
+emit_16(853);
+emit_16(787);
+emit_16(854);
+emit_16(788);
+emit_16(854);
+emit_16(787);
+emit_16(854);
+emit_16(788);
+emit_16(855);
+emit_16(789);
+emit_16(855);
+emit_16(788);
+emit_16(855);
+emit_16(789);
+emit_16(856);
+emit_16(790);
+emit_16(856);
+emit_16(789);
+emit_16(856);
+emit_16(790);
+emit_16(857);
+emit_16(791);
+emit_16(857);
+emit_16(790);
+emit_16(858);
+emit_16(792);
+emit_16(859);
+emit_16(793);
+emit_16(859);
+emit_16(792);
+emit_16(859);
+emit_16(793);
+emit_16(860);
+emit_16(794);
+emit_16(860);
+emit_16(793);
+emit_16(860);
+emit_16(794);
+emit_16(861);
+emit_16(795);
+emit_16(861);
+emit_16(794);
+emit_16(861);
+emit_16(795);
+emit_16(862);
+emit_16(796);
+emit_16(862);
+emit_16(795);
+emit_16(862);
+emit_16(796);
+emit_16(863);
+emit_16(797);
+emit_16(863);
+emit_16(796);
+emit_16(863);
+emit_16(797);
+emit_16(864);
+emit_16(798);
+emit_16(864);
+emit_16(797);
+emit_16(864);
+emit_16(798);
+emit_16(865);
+emit_16(799);
+emit_16(865);
+emit_16(798);
+emit_16(865);
+emit_16(799);
+emit_16(866);
+emit_16(800);
+emit_16(866);
+emit_16(799);
+emit_16(866);
+emit_16(800);
+emit_16(867);
+emit_16(801);
+emit_16(867);
+emit_16(800);
+emit_16(867);
+emit_16(801);
+emit_16(868);
+emit_16(802);
+emit_16(868);
+emit_16(801);
+emit_16(868);
+emit_16(802);
+emit_16(869);
+emit_16(803);
+emit_16(869);
+emit_16(802);
+emit_16(869);
+emit_16(803);
+emit_16(870);
+emit_16(804);
+emit_16(870);
+emit_16(803);
+emit_16(870);
+emit_16(804);
+emit_16(871);
+emit_16(805);
+emit_16(871);
+emit_16(804);
+emit_16(871);
+emit_16(805);
+emit_16(872);
+emit_16(806);
+emit_16(872);
+emit_16(805);
+emit_16(872);
+emit_16(806);
+emit_16(873);
+emit_16(807);
+emit_16(873);
+emit_16(806);
+emit_16(873);
+emit_16(807);
+emit_16(874);
+emit_16(808);
+emit_16(874);
+emit_16(807);
+emit_16(874);
+emit_16(808);
+emit_16(875);
+emit_16(809);
+emit_16(875);
+emit_16(808);
+emit_16(875);
+emit_16(809);
+emit_16(876);
+emit_16(810);
+emit_16(876);
+emit_16(809);
+emit_16(876);
+emit_16(810);
+emit_16(877);
+emit_16(811);
+emit_16(877);
+emit_16(810);
+emit_16(877);
+emit_16(811);
+emit_16(878);
+emit_16(812);
+emit_16(878);
+emit_16(811);
+emit_16(878);
+emit_16(812);
+emit_16(879);
+emit_16(813);
+emit_16(879);
+emit_16(812);
+emit_16(879);
+emit_16(813);
+emit_16(880);
+emit_16(814);
+emit_16(880);
+emit_16(813);
+emit_16(880);
+emit_16(814);
+emit_16(881);
+emit_16(815);
+emit_16(881);
+emit_16(814);
+emit_16(881);
+emit_16(815);
+emit_16(882);
+emit_16(816);
+emit_16(882);
+emit_16(815);
+emit_16(882);
+emit_16(816);
+emit_16(883);
+emit_16(817);
+emit_16(883);
+emit_16(816);
+emit_16(883);
+emit_16(817);
+emit_16(884);
+emit_16(818);
+emit_16(884);
+emit_16(817);
+emit_16(884);
+emit_16(818);
+emit_16(885);
+emit_16(819);
+emit_16(885);
+emit_16(818);
+emit_16(885);
+emit_16(819);
+emit_16(886);
+emit_16(820);
+emit_16(886);
+emit_16(819);
+emit_16(886);
+emit_16(820);
+emit_16(887);
+emit_16(821);
+emit_16(887);
+emit_16(820);
+emit_16(887);
+emit_16(821);
+emit_16(888);
+emit_16(822);
+emit_16(888);
+emit_16(821);
+emit_16(888);
+emit_16(822);
+emit_16(889);
+emit_16(823);
+emit_16(889);
+emit_16(822);
+emit_16(889);
+emit_16(823);
+emit_16(890);
+emit_16(824);
+emit_16(890);
+emit_16(823);
+emit_16(890);
+emit_16(824);
+emit_16(891);
+emit_16(825);
+emit_16(891);
+emit_16(824);
+emit_16(891);
+emit_16(825);
+emit_16(892);
+emit_16(826);
+emit_16(892);
+emit_16(825);
+emit_16(892);
+emit_16(826);
+emit_16(893);
+emit_16(827);
+emit_16(893);
+emit_16(826);
+emit_16(893);
+emit_16(827);
+emit_16(894);
+emit_16(828);
+emit_16(894);
+emit_16(827);
+emit_16(894);
+emit_16(828);
+emit_16(895);
+emit_16(829);
+emit_16(895);
+emit_16(828);
+emit_16(895);
+emit_16(829);
+emit_16(896);
+emit_16(830);
+emit_16(896);
+emit_16(829);
+emit_16(896);
+emit_16(830);
+emit_16(897);
+emit_16(831);
+emit_16(897);
+emit_16(830);
+emit_16(897);
+emit_16(831);
+emit_16(898);
+emit_16(832);
+emit_16(898);
+emit_16(831);
+emit_16(898);
+emit_16(832);
+emit_16(899);
+emit_16(833);
+emit_16(899);
+emit_16(832);
+emit_16(899);
+emit_16(833);
+emit_16(900);
+emit_16(834);
+emit_16(900);
+emit_16(833);
+emit_16(900);
+emit_16(834);
+emit_16(901);
+emit_16(835);
+emit_16(901);
+emit_16(834);
+emit_16(901);
+emit_16(835);
+emit_16(902);
+emit_16(836);
+emit_16(902);
+emit_16(835);
+emit_16(902);
+emit_16(836);
+emit_16(903);
+emit_16(837);
+emit_16(903);
+emit_16(836);
+emit_16(903);
+emit_16(837);
+emit_16(904);
+emit_16(838);
+emit_16(904);
+emit_16(837);
+emit_16(904);
+emit_16(838);
+emit_16(905);
+emit_16(839);
+emit_16(905);
+emit_16(838);
+emit_16(905);
+emit_16(839);
+emit_16(906);
+emit_16(840);
+emit_16(906);
+emit_16(839);
+emit_16(906);
+emit_16(840);
+emit_16(907);
+emit_16(841);
+emit_16(907);
+emit_16(840);
+emit_16(907);
+emit_16(841);
+emit_16(908);
+emit_16(842);
+emit_16(908);
+emit_16(841);
+emit_16(908);
+emit_16(842);
+emit_16(909);
+emit_16(843);
+emit_16(909);
+emit_16(842);
+emit_16(909);
+emit_16(843);
+emit_16(910);
+emit_16(844);
+emit_16(910);
+emit_16(843);
+emit_16(910);
+emit_16(844);
+emit_16(911);
+emit_16(845);
+emit_16(911);
+emit_16(844);
+emit_16(911);
+emit_16(845);
+emit_16(912);
+emit_16(846);
+emit_16(912);
+emit_16(845);
+emit_16(912);
+emit_16(846);
+emit_16(913);
+emit_16(847);
+emit_16(913);
+emit_16(846);
+emit_16(913);
+emit_16(847);
+emit_16(914);
+emit_16(848);
+emit_16(914);
+emit_16(847);
+emit_16(914);
+emit_16(848);
+emit_16(915);
+emit_16(849);
+emit_16(915);
+emit_16(848);
+emit_16(915);
+emit_16(849);
+emit_16(916);
+emit_16(850);
+emit_16(916);
+emit_16(849);
+emit_16(916);
+emit_16(850);
+emit_16(917);
+emit_16(851);
+emit_16(917);
+emit_16(850);
+emit_16(917);
+emit_16(851);
+emit_16(918);
+emit_16(852);
+emit_16(918);
+emit_16(851);
+emit_16(918);
+emit_16(852);
+emit_16(919);
+emit_16(853);
+emit_16(919);
+emit_16(852);
+emit_16(919);
+emit_16(853);
+emit_16(920);
+emit_16(854);
+emit_16(920);
+emit_16(853);
+emit_16(920);
+emit_16(854);
+emit_16(921);
+emit_16(855);
+emit_16(921);
+emit_16(854);
+emit_16(921);
+emit_16(855);
+emit_16(922);
+emit_16(856);
+emit_16(922);
+emit_16(855);
+emit_16(922);
+emit_16(856);
+emit_16(923);
+emit_16(857);
+emit_16(923);
+emit_16(856);
+emit_16(924);
+emit_16(858);
+emit_16(925);
+emit_16(859);
+emit_16(925);
+emit_16(858);
+emit_16(925);
+emit_16(859);
+emit_16(926);
+emit_16(860);
+emit_16(926);
+emit_16(859);
+emit_16(926);
+emit_16(860);
+emit_16(927);
+emit_16(861);
+emit_16(927);
+emit_16(860);
+emit_16(927);
+emit_16(861);
+emit_16(928);
+emit_16(862);
+emit_16(928);
+emit_16(861);
+emit_16(928);
+emit_16(862);
+emit_16(929);
+emit_16(863);
+emit_16(929);
+emit_16(862);
+emit_16(929);
+emit_16(863);
+emit_16(930);
+emit_16(864);
+emit_16(930);
+emit_16(863);
+emit_16(930);
+emit_16(864);
+emit_16(931);
+emit_16(865);
+emit_16(931);
+emit_16(864);
+emit_16(931);
+emit_16(865);
+emit_16(932);
+emit_16(866);
+emit_16(932);
+emit_16(865);
+emit_16(932);
+emit_16(866);
+emit_16(933);
+emit_16(867);
+emit_16(933);
+emit_16(866);
+emit_16(933);
+emit_16(867);
+emit_16(934);
+emit_16(868);
+emit_16(934);
+emit_16(867);
+emit_16(934);
+emit_16(868);
+emit_16(935);
+emit_16(869);
+emit_16(935);
+emit_16(868);
+emit_16(935);
+emit_16(869);
+emit_16(936);
+emit_16(870);
+emit_16(936);
+emit_16(869);
+emit_16(936);
+emit_16(870);
+emit_16(937);
+emit_16(871);
+emit_16(937);
+emit_16(870);
+emit_16(937);
+emit_16(871);
+emit_16(938);
+emit_16(872);
+emit_16(938);
+emit_16(871);
+emit_16(938);
+emit_16(872);
+emit_16(939);
+emit_16(873);
+emit_16(939);
+emit_16(872);
+emit_16(939);
+emit_16(873);
+emit_16(940);
+emit_16(874);
+emit_16(940);
+emit_16(873);
+emit_16(940);
+emit_16(874);
+emit_16(941);
+emit_16(875);
+emit_16(941);
+emit_16(874);
+emit_16(941);
+emit_16(875);
+emit_16(942);
+emit_16(876);
+emit_16(942);
+emit_16(875);
+emit_16(942);
+emit_16(876);
+emit_16(943);
+emit_16(877);
+emit_16(943);
+emit_16(876);
+emit_16(943);
+emit_16(877);
+emit_16(944);
+emit_16(878);
+emit_16(944);
+emit_16(877);
+emit_16(944);
+emit_16(878);
+emit_16(945);
+emit_16(879);
+emit_16(945);
+emit_16(878);
+emit_16(945);
+emit_16(879);
+emit_16(946);
+emit_16(880);
+emit_16(946);
+emit_16(879);
+emit_16(946);
+emit_16(880);
+emit_16(947);
+emit_16(881);
+emit_16(947);
+emit_16(880);
+emit_16(947);
+emit_16(881);
+emit_16(948);
+emit_16(882);
+emit_16(948);
+emit_16(881);
+emit_16(948);
+emit_16(882);
+emit_16(949);
+emit_16(883);
+emit_16(949);
+emit_16(882);
+emit_16(949);
+emit_16(883);
+emit_16(950);
+emit_16(884);
+emit_16(950);
+emit_16(883);
+emit_16(950);
+emit_16(884);
+emit_16(951);
+emit_16(885);
+emit_16(951);
+emit_16(884);
+emit_16(951);
+emit_16(885);
+emit_16(952);
+emit_16(886);
+emit_16(952);
+emit_16(885);
+emit_16(952);
+emit_16(886);
+emit_16(953);
+emit_16(887);
+emit_16(953);
+emit_16(886);
+emit_16(953);
+emit_16(887);
+emit_16(954);
+emit_16(888);
+emit_16(954);
+emit_16(887);
+emit_16(954);
+emit_16(888);
+emit_16(955);
+emit_16(889);
+emit_16(955);
+emit_16(888);
+emit_16(955);
+emit_16(889);
+emit_16(956);
+emit_16(890);
+emit_16(956);
+emit_16(889);
+emit_16(956);
+emit_16(890);
+emit_16(957);
+emit_16(891);
+emit_16(957);
+emit_16(890);
+emit_16(957);
+emit_16(891);
+emit_16(958);
+emit_16(892);
+emit_16(958);
+emit_16(891);
+emit_16(958);
+emit_16(892);
+emit_16(959);
+emit_16(893);
+emit_16(959);
+emit_16(892);
+emit_16(959);
+emit_16(893);
+emit_16(960);
+emit_16(894);
+emit_16(960);
+emit_16(893);
+emit_16(960);
+emit_16(894);
+emit_16(961);
+emit_16(895);
+emit_16(961);
+emit_16(894);
+emit_16(961);
+emit_16(895);
+emit_16(962);
+emit_16(896);
+emit_16(962);
+emit_16(895);
+emit_16(962);
+emit_16(896);
+emit_16(963);
+emit_16(897);
+emit_16(963);
+emit_16(896);
+emit_16(963);
+emit_16(897);
+emit_16(964);
+emit_16(898);
+emit_16(964);
+emit_16(897);
+emit_16(964);
+emit_16(898);
+emit_16(965);
+emit_16(899);
+emit_16(965);
+emit_16(898);
+emit_16(965);
+emit_16(899);
+emit_16(966);
+emit_16(900);
+emit_16(966);
+emit_16(899);
+emit_16(966);
+emit_16(900);
+emit_16(967);
+emit_16(901);
+emit_16(967);
+emit_16(900);
+emit_16(967);
+emit_16(901);
+emit_16(968);
+emit_16(902);
+emit_16(968);
+emit_16(901);
+emit_16(968);
+emit_16(902);
+emit_16(969);
+emit_16(903);
+emit_16(969);
+emit_16(902);
+emit_16(969);
+emit_16(903);
+emit_16(970);
+emit_16(904);
+emit_16(970);
+emit_16(903);
+emit_16(970);
+emit_16(904);
+emit_16(971);
+emit_16(905);
+emit_16(971);
+emit_16(904);
+emit_16(971);
+emit_16(905);
+emit_16(972);
+emit_16(906);
+emit_16(972);
+emit_16(905);
+emit_16(972);
+emit_16(906);
+emit_16(973);
+emit_16(907);
+emit_16(973);
+emit_16(906);
+emit_16(973);
+emit_16(907);
+emit_16(974);
+emit_16(908);
+emit_16(974);
+emit_16(907);
+emit_16(974);
+emit_16(908);
+emit_16(975);
+emit_16(909);
+emit_16(975);
+emit_16(908);
+emit_16(975);
+emit_16(909);
+emit_16(976);
+emit_16(910);
+emit_16(976);
+emit_16(909);
+emit_16(976);
+emit_16(910);
+emit_16(977);
+emit_16(911);
+emit_16(977);
+emit_16(910);
+emit_16(977);
+emit_16(911);
+emit_16(978);
+emit_16(912);
+emit_16(978);
+emit_16(911);
+emit_16(978);
+emit_16(912);
+emit_16(979);
+emit_16(913);
+emit_16(979);
+emit_16(912);
+emit_16(979);
+emit_16(913);
+emit_16(980);
+emit_16(914);
+emit_16(980);
+emit_16(913);
+emit_16(980);
+emit_16(914);
+emit_16(981);
+emit_16(915);
+emit_16(981);
+emit_16(914);
+emit_16(981);
+emit_16(915);
+emit_16(982);
+emit_16(916);
+emit_16(982);
+emit_16(915);
+emit_16(982);
+emit_16(916);
+emit_16(983);
+emit_16(917);
+emit_16(983);
+emit_16(916);
+emit_16(983);
+emit_16(917);
+emit_16(984);
+emit_16(918);
+emit_16(984);
+emit_16(917);
+emit_16(984);
+emit_16(918);
+emit_16(985);
+emit_16(919);
+emit_16(985);
+emit_16(918);
+emit_16(985);
+emit_16(919);
+emit_16(986);
+emit_16(920);
+emit_16(986);
+emit_16(919);
+emit_16(986);
+emit_16(920);
+emit_16(987);
+emit_16(921);
+emit_16(987);
+emit_16(920);
+emit_16(987);
+emit_16(921);
+emit_16(988);
+emit_16(922);
+emit_16(988);
+emit_16(921);
+emit_16(988);
+emit_16(922);
+emit_16(989);
+emit_16(923);
+emit_16(989);
+emit_16(922);
+emit_16(990);
+emit_16(924);
+emit_16(991);
+emit_16(925);
+emit_16(991);
+emit_16(924);
+emit_16(991);
+emit_16(925);
+emit_16(992);
+emit_16(926);
+emit_16(992);
+emit_16(925);
+emit_16(992);
+emit_16(926);
+emit_16(993);
+emit_16(927);
+emit_16(993);
+emit_16(926);
+emit_16(993);
+emit_16(927);
+emit_16(994);
+emit_16(928);
+emit_16(994);
+emit_16(927);
+emit_16(994);
+emit_16(928);
+emit_16(995);
+emit_16(929);
+emit_16(995);
+emit_16(928);
+emit_16(995);
+emit_16(929);
+emit_16(996);
+emit_16(930);
+emit_16(996);
+emit_16(929);
+emit_16(996);
+emit_16(930);
+emit_16(997);
+emit_16(931);
+emit_16(997);
+emit_16(930);
+emit_16(997);
+emit_16(931);
+emit_16(998);
+emit_16(932);
+emit_16(998);
+emit_16(931);
+emit_16(998);
+emit_16(932);
+emit_16(999);
+emit_16(933);
+emit_16(999);
+emit_16(932);
+emit_16(999);
+emit_16(933);
+emit_16(1000);
+emit_16(934);
+emit_16(1000);
+emit_16(933);
+emit_16(1000);
+emit_16(934);
+emit_16(1001);
+emit_16(935);
+emit_16(1001);
+emit_16(934);
+emit_16(1001);
+emit_16(935);
+emit_16(1002);
+emit_16(936);
+emit_16(1002);
+emit_16(935);
+emit_16(1002);
+emit_16(936);
+emit_16(1003);
+emit_16(937);
+emit_16(1003);
+emit_16(936);
+emit_16(1003);
+emit_16(937);
+emit_16(1004);
+emit_16(938);
+emit_16(1004);
+emit_16(937);
+emit_16(1004);
+emit_16(938);
+emit_16(1005);
+emit_16(939);
+emit_16(1005);
+emit_16(938);
+emit_16(1005);
+emit_16(939);
+emit_16(1006);
+emit_16(940);
+emit_16(1006);
+emit_16(939);
+emit_16(1006);
+emit_16(940);
+emit_16(1007);
+emit_16(941);
+emit_16(1007);
+emit_16(940);
+emit_16(1007);
+emit_16(941);
+emit_16(1008);
+emit_16(942);
+emit_16(1008);
+emit_16(941);
+emit_16(1008);
+emit_16(942);
+emit_16(1009);
+emit_16(943);
+emit_16(1009);
+emit_16(942);
+emit_16(1009);
+emit_16(943);
+emit_16(1010);
+emit_16(944);
+emit_16(1010);
+emit_16(943);
+emit_16(1010);
+emit_16(944);
+emit_16(1011);
+emit_16(945);
+emit_16(1011);
+emit_16(944);
+emit_16(1011);
+emit_16(945);
+emit_16(1012);
+emit_16(946);
+emit_16(1012);
+emit_16(945);
+emit_16(1012);
+emit_16(946);
+emit_16(1013);
+emit_16(947);
+emit_16(1013);
+emit_16(946);
+emit_16(1013);
+emit_16(947);
+emit_16(1014);
+emit_16(948);
+emit_16(1014);
+emit_16(947);
+emit_16(1014);
+emit_16(948);
+emit_16(1015);
+emit_16(949);
+emit_16(1015);
+emit_16(948);
+emit_16(1015);
+emit_16(949);
+emit_16(1016);
+emit_16(950);
+emit_16(1016);
+emit_16(949);
+emit_16(1016);
+emit_16(950);
+emit_16(1017);
+emit_16(951);
+emit_16(1017);
+emit_16(950);
+emit_16(1017);
+emit_16(951);
+emit_16(1018);
+emit_16(952);
+emit_16(1018);
+emit_16(951);
+emit_16(1018);
+emit_16(952);
+emit_16(1019);
+emit_16(953);
+emit_16(1019);
+emit_16(952);
+emit_16(1019);
+emit_16(953);
+emit_16(1020);
+emit_16(954);
+emit_16(1020);
+emit_16(953);
+emit_16(1020);
+emit_16(954);
+emit_16(1021);
+emit_16(955);
+emit_16(1021);
+emit_16(954);
+emit_16(1021);
+emit_16(955);
+emit_16(1022);
+emit_16(956);
+emit_16(1022);
+emit_16(955);
+emit_16(1022);
+emit_16(956);
+emit_16(1023);
+emit_16(957);
+emit_16(1023);
+emit_16(956);
+emit_16(1023);
+emit_16(957);
+emit_16(1024);
+emit_16(958);
+emit_16(1024);
+emit_16(957);
+emit_16(1024);
+emit_16(958);
+emit_16(1025);
+emit_16(959);
+emit_16(1025);
+emit_16(958);
+emit_16(1025);
+emit_16(959);
+emit_16(1026);
+emit_16(960);
+emit_16(1026);
+emit_16(959);
+emit_16(1026);
+emit_16(960);
+emit_16(1027);
+emit_16(961);
+emit_16(1027);
+emit_16(960);
+emit_16(1027);
+emit_16(961);
+emit_16(1028);
+emit_16(962);
+emit_16(1028);
+emit_16(961);
+emit_16(1028);
+emit_16(962);
+emit_16(1029);
+emit_16(963);
+emit_16(1029);
+emit_16(962);
+emit_16(1029);
+emit_16(963);
+emit_16(1030);
+emit_16(964);
+emit_16(1030);
+emit_16(963);
+emit_16(1030);
+emit_16(964);
+emit_16(1031);
+emit_16(965);
+emit_16(1031);
+emit_16(964);
+emit_16(1031);
+emit_16(965);
+emit_16(1032);
+emit_16(966);
+emit_16(1032);
+emit_16(965);
+emit_16(1032);
+emit_16(966);
+emit_16(1033);
+emit_16(967);
+emit_16(1033);
+emit_16(966);
+emit_16(1033);
+emit_16(967);
+emit_16(1034);
+emit_16(968);
+emit_16(1034);
+emit_16(967);
+emit_16(1034);
+emit_16(968);
+emit_16(1035);
+emit_16(969);
+emit_16(1035);
+emit_16(968);
+emit_16(1035);
+emit_16(969);
+emit_16(1036);
+emit_16(970);
+emit_16(1036);
+emit_16(969);
+emit_16(1036);
+emit_16(970);
+emit_16(1037);
+emit_16(971);
+emit_16(1037);
+emit_16(970);
+emit_16(1037);
+emit_16(971);
+emit_16(1038);
+emit_16(972);
+emit_16(1038);
+emit_16(971);
+emit_16(1038);
+emit_16(972);
+emit_16(1039);
+emit_16(973);
+emit_16(1039);
+emit_16(972);
+emit_16(1039);
+emit_16(973);
+emit_16(1040);
+emit_16(974);
+emit_16(1040);
+emit_16(973);
+emit_16(1040);
+emit_16(974);
+emit_16(1041);
+emit_16(975);
+emit_16(1041);
+emit_16(974);
+emit_16(1041);
+emit_16(975);
+emit_16(1042);
+emit_16(976);
+emit_16(1042);
+emit_16(975);
+emit_16(1042);
+emit_16(976);
+emit_16(1043);
+emit_16(977);
+emit_16(1043);
+emit_16(976);
+emit_16(1043);
+emit_16(977);
+emit_16(1044);
+emit_16(978);
+emit_16(1044);
+emit_16(977);
+emit_16(1044);
+emit_16(978);
+emit_16(1045);
+emit_16(979);
+emit_16(1045);
+emit_16(978);
+emit_16(1045);
+emit_16(979);
+emit_16(1046);
+emit_16(980);
+emit_16(1046);
+emit_16(979);
+emit_16(1046);
+emit_16(980);
+emit_16(1047);
+emit_16(981);
+emit_16(1047);
+emit_16(980);
+emit_16(1047);
+emit_16(981);
+emit_16(1048);
+emit_16(982);
+emit_16(1048);
+emit_16(981);
+emit_16(1048);
+emit_16(982);
+emit_16(1049);
+emit_16(983);
+emit_16(1049);
+emit_16(982);
+emit_16(1049);
+emit_16(983);
+emit_16(1050);
+emit_16(984);
+emit_16(1050);
+emit_16(983);
+emit_16(1050);
+emit_16(984);
+emit_16(1051);
+emit_16(985);
+emit_16(1051);
+emit_16(984);
+emit_16(1051);
+emit_16(985);
+emit_16(1052);
+emit_16(986);
+emit_16(1052);
+emit_16(985);
+emit_16(1052);
+emit_16(986);
+emit_16(1053);
+emit_16(987);
+emit_16(1053);
+emit_16(986);
+emit_16(1053);
+emit_16(987);
+emit_16(1054);
+emit_16(988);
+emit_16(1054);
+emit_16(987);
+emit_16(1054);
+emit_16(988);
+emit_16(1055);
+emit_16(989);
+emit_16(1055);
+emit_16(988);
+emit_16(1056);
+emit_16(990);
+emit_16(1057);
+emit_16(991);
+emit_16(1057);
+emit_16(990);
+emit_16(1057);
+emit_16(991);
+emit_16(1058);
+emit_16(992);
+emit_16(1058);
+emit_16(991);
+emit_16(1058);
+emit_16(992);
+emit_16(1059);
+emit_16(993);
+emit_16(1059);
+emit_16(992);
+emit_16(1059);
+emit_16(993);
+emit_16(1060);
+emit_16(994);
+emit_16(1060);
+emit_16(993);
+emit_16(1060);
+emit_16(994);
+emit_16(1061);
+emit_16(995);
+emit_16(1061);
+emit_16(994);
+emit_16(1061);
+emit_16(995);
+emit_16(1062);
+emit_16(996);
+emit_16(1062);
+emit_16(995);
+emit_16(1062);
+emit_16(996);
+emit_16(1063);
+emit_16(997);
+emit_16(1063);
+emit_16(996);
+emit_16(1063);
+emit_16(997);
+emit_16(1064);
+emit_16(998);
+emit_16(1064);
+emit_16(997);
+emit_16(1064);
+emit_16(998);
+emit_16(1065);
+emit_16(999);
+emit_16(1065);
+emit_16(998);
+emit_16(1065);
+emit_16(999);
+emit_16(1066);
+emit_16(1000);
+emit_16(1066);
+emit_16(999);
+emit_16(1066);
+emit_16(1000);
+emit_16(1067);
+emit_16(1001);
+emit_16(1067);
+emit_16(1000);
+emit_16(1067);
+emit_16(1001);
+emit_16(1068);
+emit_16(1002);
+emit_16(1068);
+emit_16(1001);
+emit_16(1068);
+emit_16(1002);
+emit_16(1069);
+emit_16(1003);
+emit_16(1069);
+emit_16(1002);
+emit_16(1069);
+emit_16(1003);
+emit_16(1070);
+emit_16(1004);
+emit_16(1070);
+emit_16(1003);
+emit_16(1070);
+emit_16(1004);
+emit_16(1071);
+emit_16(1005);
+emit_16(1071);
+emit_16(1004);
+emit_16(1071);
+emit_16(1005);
+emit_16(1072);
+emit_16(1006);
+emit_16(1072);
+emit_16(1005);
+emit_16(1072);
+emit_16(1006);
+emit_16(1073);
+emit_16(1007);
+emit_16(1073);
+emit_16(1006);
+emit_16(1073);
+emit_16(1007);
+emit_16(1074);
+emit_16(1008);
+emit_16(1074);
+emit_16(1007);
+emit_16(1074);
+emit_16(1008);
+emit_16(1075);
+emit_16(1009);
+emit_16(1075);
+emit_16(1008);
+emit_16(1075);
+emit_16(1009);
+emit_16(1076);
+emit_16(1010);
+emit_16(1076);
+emit_16(1009);
+emit_16(1076);
+emit_16(1010);
+emit_16(1077);
+emit_16(1011);
+emit_16(1077);
+emit_16(1010);
+emit_16(1077);
+emit_16(1011);
+emit_16(1078);
+emit_16(1012);
+emit_16(1078);
+emit_16(1011);
+emit_16(1078);
+emit_16(1012);
+emit_16(1079);
+emit_16(1013);
+emit_16(1079);
+emit_16(1012);
+emit_16(1079);
+emit_16(1013);
+emit_16(1080);
+emit_16(1014);
+emit_16(1080);
+emit_16(1013);
+emit_16(1080);
+emit_16(1014);
+emit_16(1081);
+emit_16(1015);
+emit_16(1081);
+emit_16(1014);
+emit_16(1081);
+emit_16(1015);
+emit_16(1082);
+emit_16(1016);
+emit_16(1082);
+emit_16(1015);
+emit_16(1082);
+emit_16(1016);
+emit_16(1083);
+emit_16(1017);
+emit_16(1083);
+emit_16(1016);
+emit_16(1083);
+emit_16(1017);
+emit_16(1084);
+emit_16(1018);
+emit_16(1084);
+emit_16(1017);
+emit_16(1084);
+emit_16(1018);
+emit_16(1085);
+emit_16(1019);
+emit_16(1085);
+emit_16(1018);
+emit_16(1085);
+emit_16(1019);
+emit_16(1086);
+emit_16(1020);
+emit_16(1086);
+emit_16(1019);
+emit_16(1086);
+emit_16(1020);
+emit_16(1087);
+emit_16(1021);
+emit_16(1087);
+emit_16(1020);
+emit_16(1087);
+emit_16(1021);
+emit_16(1088);
+emit_16(1022);
+emit_16(1088);
+emit_16(1021);
+emit_16(1088);
+emit_16(1022);
+emit_16(1089);
+emit_16(1023);
+emit_16(1089);
+emit_16(1022);
+emit_16(1089);
+emit_16(1023);
+emit_16(1090);
+emit_16(1024);
+emit_16(1090);
+emit_16(1023);
+emit_16(1090);
+emit_16(1024);
+emit_16(1091);
+emit_16(1025);
+emit_16(1091);
+emit_16(1024);
+emit_16(1091);
+emit_16(1025);
+emit_16(1092);
+emit_16(1026);
+emit_16(1092);
+emit_16(1025);
+emit_16(1092);
+emit_16(1026);
+emit_16(1093);
+emit_16(1027);
+emit_16(1093);
+emit_16(1026);
+emit_16(1093);
+emit_16(1027);
+emit_16(1094);
+emit_16(1028);
+emit_16(1094);
+emit_16(1027);
+emit_16(1094);
+emit_16(1028);
+emit_16(1095);
+emit_16(1029);
+emit_16(1095);
+emit_16(1028);
+emit_16(1095);
+emit_16(1029);
+emit_16(1096);
+emit_16(1030);
+emit_16(1096);
+emit_16(1029);
+emit_16(1096);
+emit_16(1030);
+emit_16(1097);
+emit_16(1031);
+emit_16(1097);
+emit_16(1030);
+emit_16(1097);
+emit_16(1031);
+emit_16(1098);
+emit_16(1032);
+emit_16(1098);
+emit_16(1031);
+emit_16(1098);
+emit_16(1032);
+emit_16(1099);
+emit_16(1033);
+emit_16(1099);
+emit_16(1032);
+emit_16(1099);
+emit_16(1033);
+emit_16(1100);
+emit_16(1034);
+emit_16(1100);
+emit_16(1033);
+emit_16(1100);
+emit_16(1034);
+emit_16(1101);
+emit_16(1035);
+emit_16(1101);
+emit_16(1034);
+emit_16(1101);
+emit_16(1035);
+emit_16(1102);
+emit_16(1036);
+emit_16(1102);
+emit_16(1035);
+emit_16(1102);
+emit_16(1036);
+emit_16(1103);
+emit_16(1037);
+emit_16(1103);
+emit_16(1036);
+emit_16(1103);
+emit_16(1037);
+emit_16(1104);
+emit_16(1038);
+emit_16(1104);
+emit_16(1037);
+emit_16(1104);
+emit_16(1038);
+emit_16(1105);
+emit_16(1039);
+emit_16(1105);
+emit_16(1038);
+emit_16(1105);
+emit_16(1039);
+emit_16(1106);
+emit_16(1040);
+emit_16(1106);
+emit_16(1039);
+emit_16(1106);
+emit_16(1040);
+emit_16(1107);
+emit_16(1041);
+emit_16(1107);
+emit_16(1040);
+emit_16(1107);
+emit_16(1041);
+emit_16(1108);
+emit_16(1042);
+emit_16(1108);
+emit_16(1041);
+emit_16(1108);
+emit_16(1042);
+emit_16(1109);
+emit_16(1043);
+emit_16(1109);
+emit_16(1042);
+emit_16(1109);
+emit_16(1043);
+emit_16(1110);
+emit_16(1044);
+emit_16(1110);
+emit_16(1043);
+emit_16(1110);
+emit_16(1044);
+emit_16(1111);
+emit_16(1045);
+emit_16(1111);
+emit_16(1044);
+emit_16(1111);
+emit_16(1045);
+emit_16(1112);
+emit_16(1046);
+emit_16(1112);
+emit_16(1045);
+emit_16(1112);
+emit_16(1046);
+emit_16(1113);
+emit_16(1047);
+emit_16(1113);
+emit_16(1046);
+emit_16(1113);
+emit_16(1047);
+emit_16(1114);
+emit_16(1048);
+emit_16(1114);
+emit_16(1047);
+emit_16(1114);
+emit_16(1048);
+emit_16(1115);
+emit_16(1049);
+emit_16(1115);
+emit_16(1048);
+emit_16(1115);
+emit_16(1049);
+emit_16(1116);
+emit_16(1050);
+emit_16(1116);
+emit_16(1049);
+emit_16(1116);
+emit_16(1050);
+emit_16(1117);
+emit_16(1051);
+emit_16(1117);
+emit_16(1050);
+emit_16(1117);
+emit_16(1051);
+emit_16(1118);
+emit_16(1052);
+emit_16(1118);
+emit_16(1051);
+emit_16(1118);
+emit_16(1052);
+emit_16(1119);
+emit_16(1053);
+emit_16(1119);
+emit_16(1052);
+emit_16(1119);
+emit_16(1053);
+emit_16(1120);
+emit_16(1054);
+emit_16(1120);
+emit_16(1053);
+emit_16(1120);
+emit_16(1054);
+emit_16(1121);
+emit_16(1055);
+emit_16(1121);
+emit_16(1054);
+emit_16(1122);
+emit_16(1056);
+emit_16(1123);
+emit_16(1057);
+emit_16(1123);
+emit_16(1056);
+emit_16(1123);
+emit_16(1057);
+emit_16(1124);
+emit_16(1058);
+emit_16(1124);
+emit_16(1057);
+emit_16(1124);
+emit_16(1058);
+emit_16(1125);
+emit_16(1059);
+emit_16(1125);
+emit_16(1058);
+emit_16(1125);
+emit_16(1059);
+emit_16(1126);
+emit_16(1060);
+emit_16(1126);
+emit_16(1059);
+emit_16(1126);
+emit_16(1060);
+emit_16(1127);
+emit_16(1061);
+emit_16(1127);
+emit_16(1060);
+emit_16(1127);
+emit_16(1061);
+emit_16(1128);
+emit_16(1062);
+emit_16(1128);
+emit_16(1061);
+emit_16(1128);
+emit_16(1062);
+emit_16(1129);
+emit_16(1063);
+emit_16(1129);
+emit_16(1062);
+emit_16(1129);
+emit_16(1063);
+emit_16(1130);
+emit_16(1064);
+emit_16(1130);
+emit_16(1063);
+emit_16(1130);
+emit_16(1064);
+emit_16(1131);
+emit_16(1065);
+emit_16(1131);
+emit_16(1064);
+emit_16(1131);
+emit_16(1065);
+emit_16(1132);
+emit_16(1066);
+emit_16(1132);
+emit_16(1065);
+emit_16(1132);
+emit_16(1066);
+emit_16(1133);
+emit_16(1067);
+emit_16(1133);
+emit_16(1066);
+emit_16(1133);
+emit_16(1067);
+emit_16(1134);
+emit_16(1068);
+emit_16(1134);
+emit_16(1067);
+emit_16(1134);
+emit_16(1068);
+emit_16(1135);
+emit_16(1069);
+emit_16(1135);
+emit_16(1068);
+emit_16(1135);
+emit_16(1069);
+emit_16(1136);
+emit_16(1070);
+emit_16(1136);
+emit_16(1069);
+emit_16(1136);
+emit_16(1070);
+emit_16(1137);
+emit_16(1071);
+emit_16(1137);
+emit_16(1070);
+emit_16(1137);
+emit_16(1071);
+emit_16(1138);
+emit_16(1072);
+emit_16(1138);
+emit_16(1071);
+emit_16(1138);
+emit_16(1072);
+emit_16(1139);
+emit_16(1073);
+emit_16(1139);
+emit_16(1072);
+emit_16(1139);
+emit_16(1073);
+emit_16(1140);
+emit_16(1074);
+emit_16(1140);
+emit_16(1073);
+emit_16(1140);
+emit_16(1074);
+emit_16(1141);
+emit_16(1075);
+emit_16(1141);
+emit_16(1074);
+emit_16(1141);
+emit_16(1075);
+emit_16(1142);
+emit_16(1076);
+emit_16(1142);
+emit_16(1075);
+emit_16(1142);
+emit_16(1076);
+emit_16(1143);
+emit_16(1077);
+emit_16(1143);
+emit_16(1076);
+emit_16(1143);
+emit_16(1077);
+emit_16(1144);
+emit_16(1078);
+emit_16(1144);
+emit_16(1077);
+emit_16(1144);
+emit_16(1078);
+emit_16(1145);
+emit_16(1079);
+emit_16(1145);
+emit_16(1078);
+emit_16(1145);
+emit_16(1079);
+emit_16(1146);
+emit_16(1080);
+emit_16(1146);
+emit_16(1079);
+emit_16(1146);
+emit_16(1080);
+emit_16(1147);
+emit_16(1081);
+emit_16(1147);
+emit_16(1080);
+emit_16(1147);
+emit_16(1081);
+emit_16(1148);
+emit_16(1082);
+emit_16(1148);
+emit_16(1081);
+emit_16(1148);
+emit_16(1082);
+emit_16(1149);
+emit_16(1083);
+emit_16(1149);
+emit_16(1082);
+emit_16(1149);
+emit_16(1083);
+emit_16(1150);
+emit_16(1084);
+emit_16(1150);
+emit_16(1083);
+emit_16(1150);
+emit_16(1084);
+emit_16(1151);
+emit_16(1085);
+emit_16(1151);
+emit_16(1084);
+emit_16(1151);
+emit_16(1085);
+emit_16(1152);
+emit_16(1086);
+emit_16(1152);
+emit_16(1085);
+emit_16(1152);
+emit_16(1086);
+emit_16(1153);
+emit_16(1087);
+emit_16(1153);
+emit_16(1086);
+emit_16(1153);
+emit_16(1087);
+emit_16(1154);
+emit_16(1088);
+emit_16(1154);
+emit_16(1087);
+emit_16(1154);
+emit_16(1088);
+emit_16(1155);
+emit_16(1089);
+emit_16(1155);
+emit_16(1088);
+emit_16(1155);
+emit_16(1089);
+emit_16(1156);
+emit_16(1090);
+emit_16(1156);
+emit_16(1089);
+emit_16(1156);
+emit_16(1090);
+emit_16(1157);
+emit_16(1091);
+emit_16(1157);
+emit_16(1090);
+emit_16(1157);
+emit_16(1091);
+emit_16(1158);
+emit_16(1092);
+emit_16(1158);
+emit_16(1091);
+emit_16(1158);
+emit_16(1092);
+emit_16(1159);
+emit_16(1093);
+emit_16(1159);
+emit_16(1092);
+emit_16(1159);
+emit_16(1093);
+emit_16(1160);
+emit_16(1094);
+emit_16(1160);
+emit_16(1093);
+emit_16(1160);
+emit_16(1094);
+emit_16(1161);
+emit_16(1095);
+emit_16(1161);
+emit_16(1094);
+emit_16(1161);
+emit_16(1095);
+emit_16(1162);
+emit_16(1096);
+emit_16(1162);
+emit_16(1095);
+emit_16(1162);
+emit_16(1096);
+emit_16(1163);
+emit_16(1097);
+emit_16(1163);
+emit_16(1096);
+emit_16(1163);
+emit_16(1097);
+emit_16(1164);
+emit_16(1098);
+emit_16(1164);
+emit_16(1097);
+emit_16(1164);
+emit_16(1098);
+emit_16(1165);
+emit_16(1099);
+emit_16(1165);
+emit_16(1098);
+emit_16(1165);
+emit_16(1099);
+emit_16(1166);
+emit_16(1100);
+emit_16(1166);
+emit_16(1099);
+emit_16(1166);
+emit_16(1100);
+emit_16(1167);
+emit_16(1101);
+emit_16(1167);
+emit_16(1100);
+emit_16(1167);
+emit_16(1101);
+emit_16(1168);
+emit_16(1102);
+emit_16(1168);
+emit_16(1101);
+emit_16(1168);
+emit_16(1102);
+emit_16(1169);
+emit_16(1103);
+emit_16(1169);
+emit_16(1102);
+emit_16(1169);
+emit_16(1103);
+emit_16(1170);
+emit_16(1104);
+emit_16(1170);
+emit_16(1103);
+emit_16(1170);
+emit_16(1104);
+emit_16(1171);
+emit_16(1105);
+emit_16(1171);
+emit_16(1104);
+emit_16(1171);
+emit_16(1105);
+emit_16(1172);
+emit_16(1106);
+emit_16(1172);
+emit_16(1105);
+emit_16(1172);
+emit_16(1106);
+emit_16(1173);
+emit_16(1107);
+emit_16(1173);
+emit_16(1106);
+emit_16(1173);
+emit_16(1107);
+emit_16(1174);
+emit_16(1108);
+emit_16(1174);
+emit_16(1107);
+emit_16(1174);
+emit_16(1108);
+emit_16(1175);
+emit_16(1109);
+emit_16(1175);
+emit_16(1108);
+emit_16(1175);
+emit_16(1109);
+emit_16(1176);
+emit_16(1110);
+emit_16(1176);
+emit_16(1109);
+emit_16(1176);
+emit_16(1110);
+emit_16(1177);
+emit_16(1111);
+emit_16(1177);
+emit_16(1110);
+emit_16(1177);
+emit_16(1111);
+emit_16(1178);
+emit_16(1112);
+emit_16(1178);
+emit_16(1111);
+emit_16(1178);
+emit_16(1112);
+emit_16(1179);
+emit_16(1113);
+emit_16(1179);
+emit_16(1112);
+emit_16(1179);
+emit_16(1113);
+emit_16(1180);
+emit_16(1114);
+emit_16(1180);
+emit_16(1113);
+emit_16(1180);
+emit_16(1114);
+emit_16(1181);
+emit_16(1115);
+emit_16(1181);
+emit_16(1114);
+emit_16(1181);
+emit_16(1115);
+emit_16(1182);
+emit_16(1116);
+emit_16(1182);
+emit_16(1115);
+emit_16(1182);
+emit_16(1116);
+emit_16(1183);
+emit_16(1117);
+emit_16(1183);
+emit_16(1116);
+emit_16(1183);
+emit_16(1117);
+emit_16(1184);
+emit_16(1118);
+emit_16(1184);
+emit_16(1117);
+emit_16(1184);
+emit_16(1118);
+emit_16(1185);
+emit_16(1119);
+emit_16(1185);
+emit_16(1118);
+emit_16(1185);
+emit_16(1119);
+emit_16(1186);
+emit_16(1120);
+emit_16(1186);
+emit_16(1119);
+emit_16(1186);
+emit_16(1120);
+emit_16(1187);
+emit_16(1121);
+emit_16(1187);
+emit_16(1120);
+emit_16(1188);
+emit_16(1122);
+emit_16(1189);
+emit_16(1123);
+emit_16(1189);
+emit_16(1122);
+emit_16(1189);
+emit_16(1123);
+emit_16(1190);
+emit_16(1124);
+emit_16(1190);
+emit_16(1123);
+emit_16(1190);
+emit_16(1124);
+emit_16(1191);
+emit_16(1125);
+emit_16(1191);
+emit_16(1124);
+emit_16(1191);
+emit_16(1125);
+emit_16(1192);
+emit_16(1126);
+emit_16(1192);
+emit_16(1125);
+emit_16(1192);
+emit_16(1126);
+emit_16(1193);
+emit_16(1127);
+emit_16(1193);
+emit_16(1126);
+emit_16(1193);
+emit_16(1127);
+emit_16(1194);
+emit_16(1128);
+emit_16(1194);
+emit_16(1127);
+emit_16(1194);
+emit_16(1128);
+emit_16(1195);
+emit_16(1129);
+emit_16(1195);
+emit_16(1128);
+emit_16(1195);
+emit_16(1129);
+emit_16(1196);
+emit_16(1130);
+emit_16(1196);
+emit_16(1129);
+emit_16(1196);
+emit_16(1130);
+emit_16(1197);
+emit_16(1131);
+emit_16(1197);
+emit_16(1130);
+emit_16(1197);
+emit_16(1131);
+emit_16(1198);
+emit_16(1132);
+emit_16(1198);
+emit_16(1131);
+emit_16(1198);
+emit_16(1132);
+emit_16(1199);
+emit_16(1133);
+emit_16(1199);
+emit_16(1132);
+emit_16(1199);
+emit_16(1133);
+emit_16(1200);
+emit_16(1134);
+emit_16(1200);
+emit_16(1133);
+emit_16(1200);
+emit_16(1134);
+emit_16(1201);
+emit_16(1135);
+emit_16(1201);
+emit_16(1134);
+emit_16(1201);
+emit_16(1135);
+emit_16(1202);
+emit_16(1136);
+emit_16(1202);
+emit_16(1135);
+emit_16(1202);
+emit_16(1136);
+emit_16(1203);
+emit_16(1137);
+emit_16(1203);
+emit_16(1136);
+emit_16(1203);
+emit_16(1137);
+emit_16(1204);
+emit_16(1138);
+emit_16(1204);
+emit_16(1137);
+emit_16(1204);
+emit_16(1138);
+emit_16(1205);
+emit_16(1139);
+emit_16(1205);
+emit_16(1138);
+emit_16(1205);
+emit_16(1139);
+emit_16(1206);
+emit_16(1140);
+emit_16(1206);
+emit_16(1139);
+emit_16(1206);
+emit_16(1140);
+emit_16(1207);
+emit_16(1141);
+emit_16(1207);
+emit_16(1140);
+emit_16(1207);
+emit_16(1141);
+emit_16(1208);
+emit_16(1142);
+emit_16(1208);
+emit_16(1141);
+emit_16(1208);
+emit_16(1142);
+emit_16(1209);
+emit_16(1143);
+emit_16(1209);
+emit_16(1142);
+emit_16(1209);
+emit_16(1143);
+emit_16(1210);
+emit_16(1144);
+emit_16(1210);
+emit_16(1143);
+emit_16(1210);
+emit_16(1144);
+emit_16(1211);
+emit_16(1145);
+emit_16(1211);
+emit_16(1144);
+emit_16(1211);
+emit_16(1145);
+emit_16(1212);
+emit_16(1146);
+emit_16(1212);
+emit_16(1145);
+emit_16(1212);
+emit_16(1146);
+emit_16(1213);
+emit_16(1147);
+emit_16(1213);
+emit_16(1146);
+emit_16(1213);
+emit_16(1147);
+emit_16(1214);
+emit_16(1148);
+emit_16(1214);
+emit_16(1147);
+emit_16(1214);
+emit_16(1148);
+emit_16(1215);
+emit_16(1149);
+emit_16(1215);
+emit_16(1148);
+emit_16(1215);
+emit_16(1149);
+emit_16(1216);
+emit_16(1150);
+emit_16(1216);
+emit_16(1149);
+emit_16(1216);
+emit_16(1150);
+emit_16(1217);
+emit_16(1151);
+emit_16(1217);
+emit_16(1150);
+emit_16(1217);
+emit_16(1151);
+emit_16(1218);
+emit_16(1152);
+emit_16(1218);
+emit_16(1151);
+emit_16(1218);
+emit_16(1152);
+emit_16(1219);
+emit_16(1153);
+emit_16(1219);
+emit_16(1152);
+emit_16(1219);
+emit_16(1153);
+emit_16(1220);
+emit_16(1154);
+emit_16(1220);
+emit_16(1153);
+emit_16(1220);
+emit_16(1154);
+emit_16(1221);
+emit_16(1155);
+emit_16(1221);
+emit_16(1154);
+emit_16(1221);
+emit_16(1155);
+emit_16(1222);
+emit_16(1156);
+emit_16(1222);
+emit_16(1155);
+emit_16(1222);
+emit_16(1156);
+emit_16(1223);
+emit_16(1157);
+emit_16(1223);
+emit_16(1156);
+emit_16(1223);
+emit_16(1157);
+emit_16(1224);
+emit_16(1158);
+emit_16(1224);
+emit_16(1157);
+emit_16(1224);
+emit_16(1158);
+emit_16(1225);
+emit_16(1159);
+emit_16(1225);
+emit_16(1158);
+emit_16(1225);
+emit_16(1159);
+emit_16(1226);
+emit_16(1160);
+emit_16(1226);
+emit_16(1159);
+emit_16(1226);
+emit_16(1160);
+emit_16(1227);
+emit_16(1161);
+emit_16(1227);
+emit_16(1160);
+emit_16(1227);
+emit_16(1161);
+emit_16(1228);
+emit_16(1162);
+emit_16(1228);
+emit_16(1161);
+emit_16(1228);
+emit_16(1162);
+emit_16(1229);
+emit_16(1163);
+emit_16(1229);
+emit_16(1162);
+emit_16(1229);
+emit_16(1163);
+emit_16(1230);
+emit_16(1164);
+emit_16(1230);
+emit_16(1163);
+emit_16(1230);
+emit_16(1164);
+emit_16(1231);
+emit_16(1165);
+emit_16(1231);
+emit_16(1164);
+emit_16(1231);
+emit_16(1165);
+emit_16(1232);
+emit_16(1166);
+emit_16(1232);
+emit_16(1165);
+emit_16(1232);
+emit_16(1166);
+emit_16(1233);
+emit_16(1167);
+emit_16(1233);
+emit_16(1166);
+emit_16(1233);
+emit_16(1167);
+emit_16(1234);
+emit_16(1168);
+emit_16(1234);
+emit_16(1167);
+emit_16(1234);
+emit_16(1168);
+emit_16(1235);
+emit_16(1169);
+emit_16(1235);
+emit_16(1168);
+emit_16(1235);
+emit_16(1169);
+emit_16(1236);
+emit_16(1170);
+emit_16(1236);
+emit_16(1169);
+emit_16(1236);
+emit_16(1170);
+emit_16(1237);
+emit_16(1171);
+emit_16(1237);
+emit_16(1170);
+emit_16(1237);
+emit_16(1171);
+emit_16(1238);
+emit_16(1172);
+emit_16(1238);
+emit_16(1171);
+emit_16(1238);
+emit_16(1172);
+emit_16(1239);
+emit_16(1173);
+emit_16(1239);
+emit_16(1172);
+emit_16(1239);
+emit_16(1173);
+emit_16(1240);
+emit_16(1174);
+emit_16(1240);
+emit_16(1173);
+emit_16(1240);
+emit_16(1174);
+emit_16(1241);
+emit_16(1175);
+emit_16(1241);
+emit_16(1174);
+emit_16(1241);
+emit_16(1175);
+emit_16(1242);
+emit_16(1176);
+emit_16(1242);
+emit_16(1175);
+emit_16(1242);
+emit_16(1176);
+emit_16(1243);
+emit_16(1177);
+emit_16(1243);
+emit_16(1176);
+emit_16(1243);
+emit_16(1177);
+emit_16(1244);
+emit_16(1178);
+emit_16(1244);
+emit_16(1177);
+emit_16(1244);
+emit_16(1178);
+emit_16(1245);
+emit_16(1179);
+emit_16(1245);
+emit_16(1178);
+emit_16(1245);
+emit_16(1179);
+emit_16(1246);
+emit_16(1180);
+emit_16(1246);
+emit_16(1179);
+emit_16(1246);
+emit_16(1180);
+emit_16(1247);
+emit_16(1181);
+emit_16(1247);
+emit_16(1180);
+emit_16(1247);
+emit_16(1181);
+emit_16(1248);
+emit_16(1182);
+emit_16(1248);
+emit_16(1181);
+emit_16(1248);
+emit_16(1182);
+emit_16(1249);
+emit_16(1183);
+emit_16(1249);
+emit_16(1182);
+emit_16(1249);
+emit_16(1183);
+emit_16(1250);
+emit_16(1184);
+emit_16(1250);
+emit_16(1183);
+emit_16(1250);
+emit_16(1184);
+emit_16(1251);
+emit_16(1185);
+emit_16(1251);
+emit_16(1184);
+emit_16(1251);
+emit_16(1185);
+emit_16(1252);
+emit_16(1186);
+emit_16(1252);
+emit_16(1185);
+emit_16(1252);
+emit_16(1186);
+emit_16(1253);
+emit_16(1187);
+emit_16(1253);
+emit_16(1186);
+emit_16(1254);
+emit_16(1188);
+emit_16(1255);
+emit_16(1189);
+emit_16(1255);
+emit_16(1188);
+emit_16(1255);
+emit_16(1189);
+emit_16(1256);
+emit_16(1190);
+emit_16(1256);
+emit_16(1189);
+emit_16(1256);
+emit_16(1190);
+emit_16(1257);
+emit_16(1191);
+emit_16(1257);
+emit_16(1190);
+emit_16(1257);
+emit_16(1191);
+emit_16(1258);
+emit_16(1192);
+emit_16(1258);
+emit_16(1191);
+emit_16(1258);
+emit_16(1192);
+emit_16(1259);
+emit_16(1193);
+emit_16(1259);
+emit_16(1192);
+emit_16(1259);
+emit_16(1193);
+emit_16(1260);
+emit_16(1194);
+emit_16(1260);
+emit_16(1193);
+emit_16(1260);
+emit_16(1194);
+emit_16(1261);
+emit_16(1195);
+emit_16(1261);
+emit_16(1194);
+emit_16(1261);
+emit_16(1195);
+emit_16(1262);
+emit_16(1196);
+emit_16(1262);
+emit_16(1195);
+emit_16(1262);
+emit_16(1196);
+emit_16(1263);
+emit_16(1197);
+emit_16(1263);
+emit_16(1196);
+emit_16(1263);
+emit_16(1197);
+emit_16(1264);
+emit_16(1198);
+emit_16(1264);
+emit_16(1197);
+emit_16(1264);
+emit_16(1198);
+emit_16(1265);
+emit_16(1199);
+emit_16(1265);
+emit_16(1198);
+emit_16(1265);
+emit_16(1199);
+emit_16(1266);
+emit_16(1200);
+emit_16(1266);
+emit_16(1199);
+emit_16(1266);
+emit_16(1200);
+emit_16(1267);
+emit_16(1201);
+emit_16(1267);
+emit_16(1200);
+emit_16(1267);
+emit_16(1201);
+emit_16(1268);
+emit_16(1202);
+emit_16(1268);
+emit_16(1201);
+emit_16(1268);
+emit_16(1202);
+emit_16(1269);
+emit_16(1203);
+emit_16(1269);
+emit_16(1202);
+emit_16(1269);
+emit_16(1203);
+emit_16(1270);
+emit_16(1204);
+emit_16(1270);
+emit_16(1203);
+emit_16(1270);
+emit_16(1204);
+emit_16(1271);
+emit_16(1205);
+emit_16(1271);
+emit_16(1204);
+emit_16(1271);
+emit_16(1205);
+emit_16(1272);
+emit_16(1206);
+emit_16(1272);
+emit_16(1205);
+emit_16(1272);
+emit_16(1206);
+emit_16(1273);
+emit_16(1207);
+emit_16(1273);
+emit_16(1206);
+emit_16(1273);
+emit_16(1207);
+emit_16(1274);
+emit_16(1208);
+emit_16(1274);
+emit_16(1207);
+emit_16(1274);
+emit_16(1208);
+emit_16(1275);
+emit_16(1209);
+emit_16(1275);
+emit_16(1208);
+emit_16(1275);
+emit_16(1209);
+emit_16(1276);
+emit_16(1210);
+emit_16(1276);
+emit_16(1209);
+emit_16(1276);
+emit_16(1210);
+emit_16(1277);
+emit_16(1211);
+emit_16(1277);
+emit_16(1210);
+emit_16(1277);
+emit_16(1211);
+emit_16(1278);
+emit_16(1212);
+emit_16(1278);
+emit_16(1211);
+emit_16(1278);
+emit_16(1212);
+emit_16(1279);
+emit_16(1213);
+emit_16(1279);
+emit_16(1212);
+emit_16(1279);
+emit_16(1213);
+emit_16(1280);
+emit_16(1214);
+emit_16(1280);
+emit_16(1213);
+emit_16(1280);
+emit_16(1214);
+emit_16(1281);
+emit_16(1215);
+emit_16(1281);
+emit_16(1214);
+emit_16(1281);
+emit_16(1215);
+emit_16(1282);
+emit_16(1216);
+emit_16(1282);
+emit_16(1215);
+emit_16(1282);
+emit_16(1216);
+emit_16(1283);
+emit_16(1217);
+emit_16(1283);
+emit_16(1216);
+emit_16(1283);
+emit_16(1217);
+emit_16(1284);
+emit_16(1218);
+emit_16(1284);
+emit_16(1217);
+emit_16(1284);
+emit_16(1218);
+emit_16(1285);
+emit_16(1219);
+emit_16(1285);
+emit_16(1218);
+emit_16(1285);
+emit_16(1219);
+emit_16(1286);
+emit_16(1220);
+emit_16(1286);
+emit_16(1219);
+emit_16(1286);
+emit_16(1220);
+emit_16(1287);
+emit_16(1221);
+emit_16(1287);
+emit_16(1220);
+emit_16(1287);
+emit_16(1221);
+emit_16(1288);
+emit_16(1222);
+emit_16(1288);
+emit_16(1221);
+emit_16(1288);
+emit_16(1222);
+emit_16(1289);
+emit_16(1223);
+emit_16(1289);
+emit_16(1222);
+emit_16(1289);
+emit_16(1223);
+emit_16(1290);
+emit_16(1224);
+emit_16(1290);
+emit_16(1223);
+emit_16(1290);
+emit_16(1224);
+emit_16(1291);
+emit_16(1225);
+emit_16(1291);
+emit_16(1224);
+emit_16(1291);
+emit_16(1225);
+emit_16(1292);
+emit_16(1226);
+emit_16(1292);
+emit_16(1225);
+emit_16(1292);
+emit_16(1226);
+emit_16(1293);
+emit_16(1227);
+emit_16(1293);
+emit_16(1226);
+emit_16(1293);
+emit_16(1227);
+emit_16(1294);
+emit_16(1228);
+emit_16(1294);
+emit_16(1227);
+emit_16(1294);
+emit_16(1228);
+emit_16(1295);
+emit_16(1229);
+emit_16(1295);
+emit_16(1228);
+emit_16(1295);
+emit_16(1229);
+emit_16(1296);
+emit_16(1230);
+emit_16(1296);
+emit_16(1229);
+emit_16(1296);
+emit_16(1230);
+emit_16(1297);
+emit_16(1231);
+emit_16(1297);
+emit_16(1230);
+emit_16(1297);
+emit_16(1231);
+emit_16(1298);
+emit_16(1232);
+emit_16(1298);
+emit_16(1231);
+emit_16(1298);
+emit_16(1232);
+emit_16(1299);
+emit_16(1233);
+emit_16(1299);
+emit_16(1232);
+emit_16(1299);
+emit_16(1233);
+emit_16(1300);
+emit_16(1234);
+emit_16(1300);
+emit_16(1233);
+emit_16(1300);
+emit_16(1234);
+emit_16(1301);
+emit_16(1235);
+emit_16(1301);
+emit_16(1234);
+emit_16(1301);
+emit_16(1235);
+emit_16(1302);
+emit_16(1236);
+emit_16(1302);
+emit_16(1235);
+emit_16(1302);
+emit_16(1236);
+emit_16(1303);
+emit_16(1237);
+emit_16(1303);
+emit_16(1236);
+emit_16(1303);
+emit_16(1237);
+emit_16(1304);
+emit_16(1238);
+emit_16(1304);
+emit_16(1237);
+emit_16(1304);
+emit_16(1238);
+emit_16(1305);
+emit_16(1239);
+emit_16(1305);
+emit_16(1238);
+emit_16(1305);
+emit_16(1239);
+emit_16(1306);
+emit_16(1240);
+emit_16(1306);
+emit_16(1239);
+emit_16(1306);
+emit_16(1240);
+emit_16(1307);
+emit_16(1241);
+emit_16(1307);
+emit_16(1240);
+emit_16(1307);
+emit_16(1241);
+emit_16(1308);
+emit_16(1242);
+emit_16(1308);
+emit_16(1241);
+emit_16(1308);
+emit_16(1242);
+emit_16(1309);
+emit_16(1243);
+emit_16(1309);
+emit_16(1242);
+emit_16(1309);
+emit_16(1243);
+emit_16(1310);
+emit_16(1244);
+emit_16(1310);
+emit_16(1243);
+emit_16(1310);
+emit_16(1244);
+emit_16(1311);
+emit_16(1245);
+emit_16(1311);
+emit_16(1244);
+emit_16(1311);
+emit_16(1245);
+emit_16(1312);
+emit_16(1246);
+emit_16(1312);
+emit_16(1245);
+emit_16(1312);
+emit_16(1246);
+emit_16(1313);
+emit_16(1247);
+emit_16(1313);
+emit_16(1246);
+emit_16(1313);
+emit_16(1247);
+emit_16(1314);
+emit_16(1248);
+emit_16(1314);
+emit_16(1247);
+emit_16(1314);
+emit_16(1248);
+emit_16(1315);
+emit_16(1249);
+emit_16(1315);
+emit_16(1248);
+emit_16(1315);
+emit_16(1249);
+emit_16(1316);
+emit_16(1250);
+emit_16(1316);
+emit_16(1249);
+emit_16(1316);
+emit_16(1250);
+emit_16(1317);
+emit_16(1251);
+emit_16(1317);
+emit_16(1250);
+emit_16(1317);
+emit_16(1251);
+emit_16(1318);
+emit_16(1252);
+emit_16(1318);
+emit_16(1251);
+emit_16(1318);
+emit_16(1252);
+emit_16(1319);
+emit_16(1253);
+emit_16(1319);
+emit_16(1252);
+emit_16(1320);
+emit_16(1254);
+emit_16(1321);
+emit_16(1255);
+emit_16(1321);
+emit_16(1254);
+emit_16(1321);
+emit_16(1255);
+emit_16(1322);
+emit_16(1256);
+emit_16(1322);
+emit_16(1255);
+emit_16(1322);
+emit_16(1256);
+emit_16(1323);
+emit_16(1257);
+emit_16(1323);
+emit_16(1256);
+emit_16(1323);
+emit_16(1257);
+emit_16(1324);
+emit_16(1258);
+emit_16(1324);
+emit_16(1257);
+emit_16(1324);
+emit_16(1258);
+emit_16(1325);
+emit_16(1259);
+emit_16(1325);
+emit_16(1258);
+emit_16(1325);
+emit_16(1259);
+emit_16(1326);
+emit_16(1260);
+emit_16(1326);
+emit_16(1259);
+emit_16(1326);
+emit_16(1260);
+emit_16(1327);
+emit_16(1261);
+emit_16(1327);
+emit_16(1260);
+emit_16(1327);
+emit_16(1261);
+emit_16(1328);
+emit_16(1262);
+emit_16(1328);
+emit_16(1261);
+emit_16(1328);
+emit_16(1262);
+emit_16(1329);
+emit_16(1263);
+emit_16(1329);
+emit_16(1262);
+emit_16(1329);
+emit_16(1263);
+emit_16(1330);
+emit_16(1264);
+emit_16(1330);
+emit_16(1263);
+emit_16(1330);
+emit_16(1264);
+emit_16(1331);
+emit_16(1265);
+emit_16(1331);
+emit_16(1264);
+emit_16(1331);
+emit_16(1265);
+emit_16(1332);
+emit_16(1266);
+emit_16(1332);
+emit_16(1265);
+emit_16(1332);
+emit_16(1266);
+emit_16(1333);
+emit_16(1267);
+emit_16(1333);
+emit_16(1266);
+emit_16(1333);
+emit_16(1267);
+emit_16(1334);
+emit_16(1268);
+emit_16(1334);
+emit_16(1267);
+emit_16(1334);
+emit_16(1268);
+emit_16(1335);
+emit_16(1269);
+emit_16(1335);
+emit_16(1268);
+emit_16(1335);
+emit_16(1269);
+emit_16(1336);
+emit_16(1270);
+emit_16(1336);
+emit_16(1269);
+emit_16(1336);
+emit_16(1270);
+emit_16(1337);
+emit_16(1271);
+emit_16(1337);
+emit_16(1270);
+emit_16(1337);
+emit_16(1271);
+emit_16(1338);
+emit_16(1272);
+emit_16(1338);
+emit_16(1271);
+emit_16(1338);
+emit_16(1272);
+emit_16(1339);
+emit_16(1273);
+emit_16(1339);
+emit_16(1272);
+emit_16(1339);
+emit_16(1273);
+emit_16(1340);
+emit_16(1274);
+emit_16(1340);
+emit_16(1273);
+emit_16(1340);
+emit_16(1274);
+emit_16(1341);
+emit_16(1275);
+emit_16(1341);
+emit_16(1274);
+emit_16(1341);
+emit_16(1275);
+emit_16(1342);
+emit_16(1276);
+emit_16(1342);
+emit_16(1275);
+emit_16(1342);
+emit_16(1276);
+emit_16(1343);
+emit_16(1277);
+emit_16(1343);
+emit_16(1276);
+emit_16(1343);
+emit_16(1277);
+emit_16(1344);
+emit_16(1278);
+emit_16(1344);
+emit_16(1277);
+emit_16(1344);
+emit_16(1278);
+emit_16(1345);
+emit_16(1279);
+emit_16(1345);
+emit_16(1278);
+emit_16(1345);
+emit_16(1279);
+emit_16(1346);
+emit_16(1280);
+emit_16(1346);
+emit_16(1279);
+emit_16(1346);
+emit_16(1280);
+emit_16(1347);
+emit_16(1281);
+emit_16(1347);
+emit_16(1280);
+emit_16(1347);
+emit_16(1281);
+emit_16(1348);
+emit_16(1282);
+emit_16(1348);
+emit_16(1281);
+emit_16(1348);
+emit_16(1282);
+emit_16(1349);
+emit_16(1283);
+emit_16(1349);
+emit_16(1282);
+emit_16(1349);
+emit_16(1283);
+emit_16(1350);
+emit_16(1284);
+emit_16(1350);
+emit_16(1283);
+emit_16(1350);
+emit_16(1284);
+emit_16(1351);
+emit_16(1285);
+emit_16(1351);
+emit_16(1284);
+emit_16(1351);
+emit_16(1285);
+emit_16(1352);
+emit_16(1286);
+emit_16(1352);
+emit_16(1285);
+emit_16(1352);
+emit_16(1286);
+emit_16(1353);
+emit_16(1287);
+emit_16(1353);
+emit_16(1286);
+emit_16(1353);
+emit_16(1287);
+emit_16(1354);
+emit_16(1288);
+emit_16(1354);
+emit_16(1287);
+emit_16(1354);
+emit_16(1288);
+emit_16(1355);
+emit_16(1289);
+emit_16(1355);
+emit_16(1288);
+emit_16(1355);
+emit_16(1289);
+emit_16(1356);
+emit_16(1290);
+emit_16(1356);
+emit_16(1289);
+emit_16(1356);
+emit_16(1290);
+emit_16(1357);
+emit_16(1291);
+emit_16(1357);
+emit_16(1290);
+emit_16(1357);
+emit_16(1291);
+emit_16(1358);
+emit_16(1292);
+emit_16(1358);
+emit_16(1291);
+emit_16(1358);
+emit_16(1292);
+emit_16(1359);
+emit_16(1293);
+emit_16(1359);
+emit_16(1292);
+emit_16(1359);
+emit_16(1293);
+emit_16(1360);
+emit_16(1294);
+emit_16(1360);
+emit_16(1293);
+emit_16(1360);
+emit_16(1294);
+emit_16(1361);
+emit_16(1295);
+emit_16(1361);
+emit_16(1294);
+emit_16(1361);
+emit_16(1295);
+emit_16(1362);
+emit_16(1296);
+emit_16(1362);
+emit_16(1295);
+emit_16(1362);
+emit_16(1296);
+emit_16(1363);
+emit_16(1297);
+emit_16(1363);
+emit_16(1296);
+emit_16(1363);
+emit_16(1297);
+emit_16(1364);
+emit_16(1298);
+emit_16(1364);
+emit_16(1297);
+emit_16(1364);
+emit_16(1298);
+emit_16(1365);
+emit_16(1299);
+emit_16(1365);
+emit_16(1298);
+emit_16(1365);
+emit_16(1299);
+emit_16(1366);
+emit_16(1300);
+emit_16(1366);
+emit_16(1299);
+emit_16(1366);
+emit_16(1300);
+emit_16(1367);
+emit_16(1301);
+emit_16(1367);
+emit_16(1300);
+emit_16(1367);
+emit_16(1301);
+emit_16(1368);
+emit_16(1302);
+emit_16(1368);
+emit_16(1301);
+emit_16(1368);
+emit_16(1302);
+emit_16(1369);
+emit_16(1303);
+emit_16(1369);
+emit_16(1302);
+emit_16(1369);
+emit_16(1303);
+emit_16(1370);
+emit_16(1304);
+emit_16(1370);
+emit_16(1303);
+emit_16(1370);
+emit_16(1304);
+emit_16(1371);
+emit_16(1305);
+emit_16(1371);
+emit_16(1304);
+emit_16(1371);
+emit_16(1305);
+emit_16(1372);
+emit_16(1306);
+emit_16(1372);
+emit_16(1305);
+emit_16(1372);
+emit_16(1306);
+emit_16(1373);
+emit_16(1307);
+emit_16(1373);
+emit_16(1306);
+emit_16(1373);
+emit_16(1307);
+emit_16(1374);
+emit_16(1308);
+emit_16(1374);
+emit_16(1307);
+emit_16(1374);
+emit_16(1308);
+emit_16(1375);
+emit_16(1309);
+emit_16(1375);
+emit_16(1308);
+emit_16(1375);
+emit_16(1309);
+emit_16(1376);
+emit_16(1310);
+emit_16(1376);
+emit_16(1309);
+emit_16(1376);
+emit_16(1310);
+emit_16(1377);
+emit_16(1311);
+emit_16(1377);
+emit_16(1310);
+emit_16(1377);
+emit_16(1311);
+emit_16(1378);
+emit_16(1312);
+emit_16(1378);
+emit_16(1311);
+emit_16(1378);
+emit_16(1312);
+emit_16(1379);
+emit_16(1313);
+emit_16(1379);
+emit_16(1312);
+emit_16(1379);
+emit_16(1313);
+emit_16(1380);
+emit_16(1314);
+emit_16(1380);
+emit_16(1313);
+emit_16(1380);
+emit_16(1314);
+emit_16(1381);
+emit_16(1315);
+emit_16(1381);
+emit_16(1314);
+emit_16(1381);
+emit_16(1315);
+emit_16(1382);
+emit_16(1316);
+emit_16(1382);
+emit_16(1315);
+emit_16(1382);
+emit_16(1316);
+emit_16(1383);
+emit_16(1317);
+emit_16(1383);
+emit_16(1316);
+emit_16(1383);
+emit_16(1317);
+emit_16(1384);
+emit_16(1318);
+emit_16(1384);
+emit_16(1317);
+emit_16(1384);
+emit_16(1318);
+emit_16(1385);
+emit_16(1319);
+emit_16(1385);
+emit_16(1318);
+emit_16(1386);
+emit_16(1320);
+emit_16(1387);
+emit_16(1321);
+emit_16(1387);
+emit_16(1320);
+emit_16(1387);
+emit_16(1321);
+emit_16(1388);
+emit_16(1322);
+emit_16(1388);
+emit_16(1321);
+emit_16(1388);
+emit_16(1322);
+emit_16(1389);
+emit_16(1323);
+emit_16(1389);
+emit_16(1322);
+emit_16(1389);
+emit_16(1323);
+emit_16(1390);
+emit_16(1324);
+emit_16(1390);
+emit_16(1323);
+emit_16(1390);
+emit_16(1324);
+emit_16(1391);
+emit_16(1325);
+emit_16(1391);
+emit_16(1324);
+emit_16(1391);
+emit_16(1325);
+emit_16(1392);
+emit_16(1326);
+emit_16(1392);
+emit_16(1325);
+emit_16(1392);
+emit_16(1326);
+emit_16(1393);
+emit_16(1327);
+emit_16(1393);
+emit_16(1326);
+emit_16(1393);
+emit_16(1327);
+emit_16(1394);
+emit_16(1328);
+emit_16(1394);
+emit_16(1327);
+emit_16(1394);
+emit_16(1328);
+emit_16(1395);
+emit_16(1329);
+emit_16(1395);
+emit_16(1328);
+emit_16(1395);
+emit_16(1329);
+emit_16(1396);
+emit_16(1330);
+emit_16(1396);
+emit_16(1329);
+emit_16(1396);
+emit_16(1330);
+emit_16(1397);
+emit_16(1331);
+emit_16(1397);
+emit_16(1330);
+emit_16(1397);
+emit_16(1331);
+emit_16(1398);
+emit_16(1332);
+emit_16(1398);
+emit_16(1331);
+emit_16(1398);
+emit_16(1332);
+emit_16(1399);
+emit_16(1333);
+emit_16(1399);
+emit_16(1332);
+emit_16(1399);
+emit_16(1333);
+emit_16(1400);
+emit_16(1334);
+emit_16(1400);
+emit_16(1333);
+emit_16(1400);
+emit_16(1334);
+emit_16(1401);
+emit_16(1335);
+emit_16(1401);
+emit_16(1334);
+emit_16(1401);
+emit_16(1335);
+emit_16(1402);
+emit_16(1336);
+emit_16(1402);
+emit_16(1335);
+emit_16(1402);
+emit_16(1336);
+emit_16(1403);
+emit_16(1337);
+emit_16(1403);
+emit_16(1336);
+emit_16(1403);
+emit_16(1337);
+emit_16(1404);
+emit_16(1338);
+emit_16(1404);
+emit_16(1337);
+emit_16(1404);
+emit_16(1338);
+emit_16(1405);
+emit_16(1339);
+emit_16(1405);
+emit_16(1338);
+emit_16(1405);
+emit_16(1339);
+emit_16(1406);
+emit_16(1340);
+emit_16(1406);
+emit_16(1339);
+emit_16(1406);
+emit_16(1340);
+emit_16(1407);
+emit_16(1341);
+emit_16(1407);
+emit_16(1340);
+emit_16(1407);
+emit_16(1341);
+emit_16(1408);
+emit_16(1342);
+emit_16(1408);
+emit_16(1341);
+emit_16(1408);
+emit_16(1342);
+emit_16(1409);
+emit_16(1343);
+emit_16(1409);
+emit_16(1342);
+emit_16(1409);
+emit_16(1343);
+emit_16(1410);
+emit_16(1344);
+emit_16(1410);
+emit_16(1343);
+emit_16(1410);
+emit_16(1344);
+emit_16(1411);
+emit_16(1345);
+emit_16(1411);
+emit_16(1344);
+emit_16(1411);
+emit_16(1345);
+emit_16(1412);
+emit_16(1346);
+emit_16(1412);
+emit_16(1345);
+emit_16(1412);
+emit_16(1346);
+emit_16(1413);
+emit_16(1347);
+emit_16(1413);
+emit_16(1346);
+emit_16(1413);
+emit_16(1347);
+emit_16(1414);
+emit_16(1348);
+emit_16(1414);
+emit_16(1347);
+emit_16(1414);
+emit_16(1348);
+emit_16(1415);
+emit_16(1349);
+emit_16(1415);
+emit_16(1348);
+emit_16(1415);
+emit_16(1349);
+emit_16(1416);
+emit_16(1350);
+emit_16(1416);
+emit_16(1349);
+emit_16(1416);
+emit_16(1350);
+emit_16(1417);
+emit_16(1351);
+emit_16(1417);
+emit_16(1350);
+emit_16(1417);
+emit_16(1351);
+emit_16(1418);
+emit_16(1352);
+emit_16(1418);
+emit_16(1351);
+emit_16(1418);
+emit_16(1352);
+emit_16(1419);
+emit_16(1353);
+emit_16(1419);
+emit_16(1352);
+emit_16(1419);
+emit_16(1353);
+emit_16(1420);
+emit_16(1354);
+emit_16(1420);
+emit_16(1353);
+emit_16(1420);
+emit_16(1354);
+emit_16(1421);
+emit_16(1355);
+emit_16(1421);
+emit_16(1354);
+emit_16(1421);
+emit_16(1355);
+emit_16(1422);
+emit_16(1356);
+emit_16(1422);
+emit_16(1355);
+emit_16(1422);
+emit_16(1356);
+emit_16(1423);
+emit_16(1357);
+emit_16(1423);
+emit_16(1356);
+emit_16(1423);
+emit_16(1357);
+emit_16(1424);
+emit_16(1358);
+emit_16(1424);
+emit_16(1357);
+emit_16(1424);
+emit_16(1358);
+emit_16(1425);
+emit_16(1359);
+emit_16(1425);
+emit_16(1358);
+emit_16(1425);
+emit_16(1359);
+emit_16(1426);
+emit_16(1360);
+emit_16(1426);
+emit_16(1359);
+emit_16(1426);
+emit_16(1360);
+emit_16(1427);
+emit_16(1361);
+emit_16(1427);
+emit_16(1360);
+emit_16(1427);
+emit_16(1361);
+emit_16(1428);
+emit_16(1362);
+emit_16(1428);
+emit_16(1361);
+emit_16(1428);
+emit_16(1362);
+emit_16(1429);
+emit_16(1363);
+emit_16(1429);
+emit_16(1362);
+emit_16(1429);
+emit_16(1363);
+emit_16(1430);
+emit_16(1364);
+emit_16(1430);
+emit_16(1363);
+emit_16(1430);
+emit_16(1364);
+emit_16(1431);
+emit_16(1365);
+emit_16(1431);
+emit_16(1364);
+emit_16(1431);
+emit_16(1365);
+emit_16(1432);
+emit_16(1366);
+emit_16(1432);
+emit_16(1365);
+emit_16(1432);
+emit_16(1366);
+emit_16(1433);
+emit_16(1367);
+emit_16(1433);
+emit_16(1366);
+emit_16(1433);
+emit_16(1367);
+emit_16(1434);
+emit_16(1368);
+emit_16(1434);
+emit_16(1367);
+emit_16(1434);
+emit_16(1368);
+emit_16(1435);
+emit_16(1369);
+emit_16(1435);
+emit_16(1368);
+emit_16(1435);
+emit_16(1369);
+emit_16(1436);
+emit_16(1370);
+emit_16(1436);
+emit_16(1369);
+emit_16(1436);
+emit_16(1370);
+emit_16(1437);
+emit_16(1371);
+emit_16(1437);
+emit_16(1370);
+emit_16(1437);
+emit_16(1371);
+emit_16(1438);
+emit_16(1372);
+emit_16(1438);
+emit_16(1371);
+emit_16(1438);
+emit_16(1372);
+emit_16(1439);
+emit_16(1373);
+emit_16(1439);
+emit_16(1372);
+emit_16(1439);
+emit_16(1373);
+emit_16(1440);
+emit_16(1374);
+emit_16(1440);
+emit_16(1373);
+emit_16(1440);
+emit_16(1374);
+emit_16(1441);
+emit_16(1375);
+emit_16(1441);
+emit_16(1374);
+emit_16(1441);
+emit_16(1375);
+emit_16(1442);
+emit_16(1376);
+emit_16(1442);
+emit_16(1375);
+emit_16(1442);
+emit_16(1376);
+emit_16(1443);
+emit_16(1377);
+emit_16(1443);
+emit_16(1376);
+emit_16(1443);
+emit_16(1377);
+emit_16(1444);
+emit_16(1378);
+emit_16(1444);
+emit_16(1377);
+emit_16(1444);
+emit_16(1378);
+emit_16(1445);
+emit_16(1379);
+emit_16(1445);
+emit_16(1378);
+emit_16(1445);
+emit_16(1379);
+emit_16(1446);
+emit_16(1380);
+emit_16(1446);
+emit_16(1379);
+emit_16(1446);
+emit_16(1380);
+emit_16(1447);
+emit_16(1381);
+emit_16(1447);
+emit_16(1380);
+emit_16(1447);
+emit_16(1381);
+emit_16(1448);
+emit_16(1382);
+emit_16(1448);
+emit_16(1381);
+emit_16(1448);
+emit_16(1382);
+emit_16(1449);
+emit_16(1383);
+emit_16(1449);
+emit_16(1382);
+emit_16(1449);
+emit_16(1383);
+emit_16(1450);
+emit_16(1384);
+emit_16(1450);
+emit_16(1383);
+emit_16(1450);
+emit_16(1384);
+emit_16(1451);
+emit_16(1385);
+emit_16(1451);
+emit_16(1384);
+emit_16(1452);
+emit_16(1386);
+emit_16(1453);
+emit_16(1387);
+emit_16(1453);
+emit_16(1386);
+emit_16(1453);
+emit_16(1387);
+emit_16(1454);
+emit_16(1388);
+emit_16(1454);
+emit_16(1387);
+emit_16(1454);
+emit_16(1388);
+emit_16(1455);
+emit_16(1389);
+emit_16(1455);
+emit_16(1388);
+emit_16(1455);
+emit_16(1389);
+emit_16(1456);
+emit_16(1390);
+emit_16(1456);
+emit_16(1389);
+emit_16(1456);
+emit_16(1390);
+emit_16(1457);
+emit_16(1391);
+emit_16(1457);
+emit_16(1390);
+emit_16(1457);
+emit_16(1391);
+emit_16(1458);
+emit_16(1392);
+emit_16(1458);
+emit_16(1391);
+emit_16(1458);
+emit_16(1392);
+emit_16(1459);
+emit_16(1393);
+emit_16(1459);
+emit_16(1392);
+emit_16(1459);
+emit_16(1393);
+emit_16(1460);
+emit_16(1394);
+emit_16(1460);
+emit_16(1393);
+emit_16(1460);
+emit_16(1394);
+emit_16(1461);
+emit_16(1395);
+emit_16(1461);
+emit_16(1394);
+emit_16(1461);
+emit_16(1395);
+emit_16(1462);
+emit_16(1396);
+emit_16(1462);
+emit_16(1395);
+emit_16(1462);
+emit_16(1396);
+emit_16(1463);
+emit_16(1397);
+emit_16(1463);
+emit_16(1396);
+emit_16(1463);
+emit_16(1397);
+emit_16(1464);
+emit_16(1398);
+emit_16(1464);
+emit_16(1397);
+emit_16(1464);
+emit_16(1398);
+emit_16(1465);
+emit_16(1399);
+emit_16(1465);
+emit_16(1398);
+emit_16(1465);
+emit_16(1399);
+emit_16(1466);
+emit_16(1400);
+emit_16(1466);
+emit_16(1399);
+emit_16(1466);
+emit_16(1400);
+emit_16(1467);
+emit_16(1401);
+emit_16(1467);
+emit_16(1400);
+emit_16(1467);
+emit_16(1401);
+emit_16(1468);
+emit_16(1402);
+emit_16(1468);
+emit_16(1401);
+emit_16(1468);
+emit_16(1402);
+emit_16(1469);
+emit_16(1403);
+emit_16(1469);
+emit_16(1402);
+emit_16(1469);
+emit_16(1403);
+emit_16(1470);
+emit_16(1404);
+emit_16(1470);
+emit_16(1403);
+emit_16(1470);
+emit_16(1404);
+emit_16(1471);
+emit_16(1405);
+emit_16(1471);
+emit_16(1404);
+emit_16(1471);
+emit_16(1405);
+emit_16(1472);
+emit_16(1406);
+emit_16(1472);
+emit_16(1405);
+emit_16(1472);
+emit_16(1406);
+emit_16(1473);
+emit_16(1407);
+emit_16(1473);
+emit_16(1406);
+emit_16(1473);
+emit_16(1407);
+emit_16(1474);
+emit_16(1408);
+emit_16(1474);
+emit_16(1407);
+emit_16(1474);
+emit_16(1408);
+emit_16(1475);
+emit_16(1409);
+emit_16(1475);
+emit_16(1408);
+emit_16(1475);
+emit_16(1409);
+emit_16(1476);
+emit_16(1410);
+emit_16(1476);
+emit_16(1409);
+emit_16(1476);
+emit_16(1410);
+emit_16(1477);
+emit_16(1411);
+emit_16(1477);
+emit_16(1410);
+emit_16(1477);
+emit_16(1411);
+emit_16(1478);
+emit_16(1412);
+emit_16(1478);
+emit_16(1411);
+emit_16(1478);
+emit_16(1412);
+emit_16(1479);
+emit_16(1413);
+emit_16(1479);
+emit_16(1412);
+emit_16(1479);
+emit_16(1413);
+emit_16(1480);
+emit_16(1414);
+emit_16(1480);
+emit_16(1413);
+emit_16(1480);
+emit_16(1414);
+emit_16(1481);
+emit_16(1415);
+emit_16(1481);
+emit_16(1414);
+emit_16(1481);
+emit_16(1415);
+emit_16(1482);
+emit_16(1416);
+emit_16(1482);
+emit_16(1415);
+emit_16(1482);
+emit_16(1416);
+emit_16(1483);
+emit_16(1417);
+emit_16(1483);
+emit_16(1416);
+emit_16(1483);
+emit_16(1417);
+emit_16(1484);
+emit_16(1418);
+emit_16(1484);
+emit_16(1417);
+emit_16(1484);
+emit_16(1418);
+emit_16(1485);
+emit_16(1419);
+emit_16(1485);
+emit_16(1418);
+emit_16(1485);
+emit_16(1419);
+emit_16(1486);
+emit_16(1420);
+emit_16(1486);
+emit_16(1419);
+emit_16(1486);
+emit_16(1420);
+emit_16(1487);
+emit_16(1421);
+emit_16(1487);
+emit_16(1420);
+emit_16(1487);
+emit_16(1421);
+emit_16(1488);
+emit_16(1422);
+emit_16(1488);
+emit_16(1421);
+emit_16(1488);
+emit_16(1422);
+emit_16(1489);
+emit_16(1423);
+emit_16(1489);
+emit_16(1422);
+emit_16(1489);
+emit_16(1423);
+emit_16(1490);
+emit_16(1424);
+emit_16(1490);
+emit_16(1423);
+emit_16(1490);
+emit_16(1424);
+emit_16(1491);
+emit_16(1425);
+emit_16(1491);
+emit_16(1424);
+emit_16(1491);
+emit_16(1425);
+emit_16(1492);
+emit_16(1426);
+emit_16(1492);
+emit_16(1425);
+emit_16(1492);
+emit_16(1426);
+emit_16(1493);
+emit_16(1427);
+emit_16(1493);
+emit_16(1426);
+emit_16(1493);
+emit_16(1427);
+emit_16(1494);
+emit_16(1428);
+emit_16(1494);
+emit_16(1427);
+emit_16(1494);
+emit_16(1428);
+emit_16(1495);
+emit_16(1429);
+emit_16(1495);
+emit_16(1428);
+emit_16(1495);
+emit_16(1429);
+emit_16(1496);
+emit_16(1430);
+emit_16(1496);
+emit_16(1429);
+emit_16(1496);
+emit_16(1430);
+emit_16(1497);
+emit_16(1431);
+emit_16(1497);
+emit_16(1430);
+emit_16(1497);
+emit_16(1431);
+emit_16(1498);
+emit_16(1432);
+emit_16(1498);
+emit_16(1431);
+emit_16(1498);
+emit_16(1432);
+emit_16(1499);
+emit_16(1433);
+emit_16(1499);
+emit_16(1432);
+emit_16(1499);
+emit_16(1433);
+emit_16(1500);
+emit_16(1434);
+emit_16(1500);
+emit_16(1433);
+emit_16(1500);
+emit_16(1434);
+emit_16(1501);
+emit_16(1435);
+emit_16(1501);
+emit_16(1434);
+emit_16(1501);
+emit_16(1435);
+emit_16(1502);
+emit_16(1436);
+emit_16(1502);
+emit_16(1435);
+emit_16(1502);
+emit_16(1436);
+emit_16(1503);
+emit_16(1437);
+emit_16(1503);
+emit_16(1436);
+emit_16(1503);
+emit_16(1437);
+emit_16(1504);
+emit_16(1438);
+emit_16(1504);
+emit_16(1437);
+emit_16(1504);
+emit_16(1438);
+emit_16(1505);
+emit_16(1439);
+emit_16(1505);
+emit_16(1438);
+emit_16(1505);
+emit_16(1439);
+emit_16(1506);
+emit_16(1440);
+emit_16(1506);
+emit_16(1439);
+emit_16(1506);
+emit_16(1440);
+emit_16(1507);
+emit_16(1441);
+emit_16(1507);
+emit_16(1440);
+emit_16(1507);
+emit_16(1441);
+emit_16(1508);
+emit_16(1442);
+emit_16(1508);
+emit_16(1441);
+emit_16(1508);
+emit_16(1442);
+emit_16(1509);
+emit_16(1443);
+emit_16(1509);
+emit_16(1442);
+emit_16(1509);
+emit_16(1443);
+emit_16(1510);
+emit_16(1444);
+emit_16(1510);
+emit_16(1443);
+emit_16(1510);
+emit_16(1444);
+emit_16(1511);
+emit_16(1445);
+emit_16(1511);
+emit_16(1444);
+emit_16(1511);
+emit_16(1445);
+emit_16(1512);
+emit_16(1446);
+emit_16(1512);
+emit_16(1445);
+emit_16(1512);
+emit_16(1446);
+emit_16(1513);
+emit_16(1447);
+emit_16(1513);
+emit_16(1446);
+emit_16(1513);
+emit_16(1447);
+emit_16(1514);
+emit_16(1448);
+emit_16(1514);
+emit_16(1447);
+emit_16(1514);
+emit_16(1448);
+emit_16(1515);
+emit_16(1449);
+emit_16(1515);
+emit_16(1448);
+emit_16(1515);
+emit_16(1449);
+emit_16(1516);
+emit_16(1450);
+emit_16(1516);
+emit_16(1449);
+emit_16(1516);
+emit_16(1450);
+emit_16(1517);
+emit_16(1451);
+emit_16(1517);
+emit_16(1450);
+emit_16(1518);
+emit_16(1452);
+emit_16(1519);
+emit_16(1453);
+emit_16(1519);
+emit_16(1452);
+emit_16(1519);
+emit_16(1453);
+emit_16(1520);
+emit_16(1454);
+emit_16(1520);
+emit_16(1453);
+emit_16(1520);
+emit_16(1454);
+emit_16(1521);
+emit_16(1455);
+emit_16(1521);
+emit_16(1454);
+emit_16(1521);
+emit_16(1455);
+emit_16(1522);
+emit_16(1456);
+emit_16(1522);
+emit_16(1455);
+emit_16(1522);
+emit_16(1456);
+emit_16(1523);
+emit_16(1457);
+emit_16(1523);
+emit_16(1456);
+emit_16(1523);
+emit_16(1457);
+emit_16(1524);
+emit_16(1458);
+emit_16(1524);
+emit_16(1457);
+emit_16(1524);
+emit_16(1458);
+emit_16(1525);
+emit_16(1459);
+emit_16(1525);
+emit_16(1458);
+emit_16(1525);
+emit_16(1459);
+emit_16(1526);
+emit_16(1460);
+emit_16(1526);
+emit_16(1459);
+emit_16(1526);
+emit_16(1460);
+emit_16(1527);
+emit_16(1461);
+emit_16(1527);
+emit_16(1460);
+emit_16(1527);
+emit_16(1461);
+emit_16(1528);
+emit_16(1462);
+emit_16(1528);
+emit_16(1461);
+emit_16(1528);
+emit_16(1462);
+emit_16(1529);
+emit_16(1463);
+emit_16(1529);
+emit_16(1462);
+emit_16(1529);
+emit_16(1463);
+emit_16(1530);
+emit_16(1464);
+emit_16(1530);
+emit_16(1463);
+emit_16(1530);
+emit_16(1464);
+emit_16(1531);
+emit_16(1465);
+emit_16(1531);
+emit_16(1464);
+emit_16(1531);
+emit_16(1465);
+emit_16(1532);
+emit_16(1466);
+emit_16(1532);
+emit_16(1465);
+emit_16(1532);
+emit_16(1466);
+emit_16(1533);
+emit_16(1467);
+emit_16(1533);
+emit_16(1466);
+emit_16(1533);
+emit_16(1467);
+emit_16(1534);
+emit_16(1468);
+emit_16(1534);
+emit_16(1467);
+emit_16(1534);
+emit_16(1468);
+emit_16(1535);
+emit_16(1469);
+emit_16(1535);
+emit_16(1468);
+emit_16(1535);
+emit_16(1469);
+emit_16(1536);
+emit_16(1470);
+emit_16(1536);
+emit_16(1469);
+emit_16(1536);
+emit_16(1470);
+emit_16(1537);
+emit_16(1471);
+emit_16(1537);
+emit_16(1470);
+emit_16(1537);
+emit_16(1471);
+emit_16(1538);
+emit_16(1472);
+emit_16(1538);
+emit_16(1471);
+emit_16(1538);
+emit_16(1472);
+emit_16(1539);
+emit_16(1473);
+emit_16(1539);
+emit_16(1472);
+emit_16(1539);
+emit_16(1473);
+emit_16(1540);
+emit_16(1474);
+emit_16(1540);
+emit_16(1473);
+emit_16(1540);
+emit_16(1474);
+emit_16(1541);
+emit_16(1475);
+emit_16(1541);
+emit_16(1474);
+emit_16(1541);
+emit_16(1475);
+emit_16(1542);
+emit_16(1476);
+emit_16(1542);
+emit_16(1475);
+emit_16(1542);
+emit_16(1476);
+emit_16(1543);
+emit_16(1477);
+emit_16(1543);
+emit_16(1476);
+emit_16(1543);
+emit_16(1477);
+emit_16(1544);
+emit_16(1478);
+emit_16(1544);
+emit_16(1477);
+emit_16(1544);
+emit_16(1478);
+emit_16(1545);
+emit_16(1479);
+emit_16(1545);
+emit_16(1478);
+emit_16(1545);
+emit_16(1479);
+emit_16(1546);
+emit_16(1480);
+emit_16(1546);
+emit_16(1479);
+emit_16(1546);
+emit_16(1480);
+emit_16(1547);
+emit_16(1481);
+emit_16(1547);
+emit_16(1480);
+emit_16(1547);
+emit_16(1481);
+emit_16(1548);
+emit_16(1482);
+emit_16(1548);
+emit_16(1481);
+emit_16(1548);
+emit_16(1482);
+emit_16(1549);
+emit_16(1483);
+emit_16(1549);
+emit_16(1482);
+emit_16(1549);
+emit_16(1483);
+emit_16(1550);
+emit_16(1484);
+emit_16(1550);
+emit_16(1483);
+emit_16(1550);
+emit_16(1484);
+emit_16(1551);
+emit_16(1485);
+emit_16(1551);
+emit_16(1484);
+emit_16(1551);
+emit_16(1485);
+emit_16(1552);
+emit_16(1486);
+emit_16(1552);
+emit_16(1485);
+emit_16(1552);
+emit_16(1486);
+emit_16(1553);
+emit_16(1487);
+emit_16(1553);
+emit_16(1486);
+emit_16(1553);
+emit_16(1487);
+emit_16(1554);
+emit_16(1488);
+emit_16(1554);
+emit_16(1487);
+emit_16(1554);
+emit_16(1488);
+emit_16(1555);
+emit_16(1489);
+emit_16(1555);
+emit_16(1488);
+emit_16(1555);
+emit_16(1489);
+emit_16(1556);
+emit_16(1490);
+emit_16(1556);
+emit_16(1489);
+emit_16(1556);
+emit_16(1490);
+emit_16(1557);
+emit_16(1491);
+emit_16(1557);
+emit_16(1490);
+emit_16(1557);
+emit_16(1491);
+emit_16(1558);
+emit_16(1492);
+emit_16(1558);
+emit_16(1491);
+emit_16(1558);
+emit_16(1492);
+emit_16(1559);
+emit_16(1493);
+emit_16(1559);
+emit_16(1492);
+emit_16(1559);
+emit_16(1493);
+emit_16(1560);
+emit_16(1494);
+emit_16(1560);
+emit_16(1493);
+emit_16(1560);
+emit_16(1494);
+emit_16(1561);
+emit_16(1495);
+emit_16(1561);
+emit_16(1494);
+emit_16(1561);
+emit_16(1495);
+emit_16(1562);
+emit_16(1496);
+emit_16(1562);
+emit_16(1495);
+emit_16(1562);
+emit_16(1496);
+emit_16(1563);
+emit_16(1497);
+emit_16(1563);
+emit_16(1496);
+emit_16(1563);
+emit_16(1497);
+emit_16(1564);
+emit_16(1498);
+emit_16(1564);
+emit_16(1497);
+emit_16(1564);
+emit_16(1498);
+emit_16(1565);
+emit_16(1499);
+emit_16(1565);
+emit_16(1498);
+emit_16(1565);
+emit_16(1499);
+emit_16(1566);
+emit_16(1500);
+emit_16(1566);
+emit_16(1499);
+emit_16(1566);
+emit_16(1500);
+emit_16(1567);
+emit_16(1501);
+emit_16(1567);
+emit_16(1500);
+emit_16(1567);
+emit_16(1501);
+emit_16(1568);
+emit_16(1502);
+emit_16(1568);
+emit_16(1501);
+emit_16(1568);
+emit_16(1502);
+emit_16(1569);
+emit_16(1503);
+emit_16(1569);
+emit_16(1502);
+emit_16(1569);
+emit_16(1503);
+emit_16(1570);
+emit_16(1504);
+emit_16(1570);
+emit_16(1503);
+emit_16(1570);
+emit_16(1504);
+emit_16(1571);
+emit_16(1505);
+emit_16(1571);
+emit_16(1504);
+emit_16(1571);
+emit_16(1505);
+emit_16(1572);
+emit_16(1506);
+emit_16(1572);
+emit_16(1505);
+emit_16(1572);
+emit_16(1506);
+emit_16(1573);
+emit_16(1507);
+emit_16(1573);
+emit_16(1506);
+emit_16(1573);
+emit_16(1507);
+emit_16(1574);
+emit_16(1508);
+emit_16(1574);
+emit_16(1507);
+emit_16(1574);
+emit_16(1508);
+emit_16(1575);
+emit_16(1509);
+emit_16(1575);
+emit_16(1508);
+emit_16(1575);
+emit_16(1509);
+emit_16(1576);
+emit_16(1510);
+emit_16(1576);
+emit_16(1509);
+emit_16(1576);
+emit_16(1510);
+emit_16(1577);
+emit_16(1511);
+emit_16(1577);
+emit_16(1510);
+emit_16(1577);
+emit_16(1511);
+emit_16(1578);
+emit_16(1512);
+emit_16(1578);
+emit_16(1511);
+emit_16(1578);
+emit_16(1512);
+emit_16(1579);
+emit_16(1513);
+emit_16(1579);
+emit_16(1512);
+emit_16(1579);
+emit_16(1513);
+emit_16(1580);
+emit_16(1514);
+emit_16(1580);
+emit_16(1513);
+emit_16(1580);
+emit_16(1514);
+emit_16(1581);
+emit_16(1515);
+emit_16(1581);
+emit_16(1514);
+emit_16(1581);
+emit_16(1515);
+emit_16(1582);
+emit_16(1516);
+emit_16(1582);
+emit_16(1515);
+emit_16(1582);
+emit_16(1516);
+emit_16(1583);
+emit_16(1517);
+emit_16(1583);
+emit_16(1516);
+emit_16(1584);
+emit_16(1518);
+emit_16(1585);
+emit_16(1519);
+emit_16(1585);
+emit_16(1518);
+emit_16(1585);
+emit_16(1519);
+emit_16(1586);
+emit_16(1520);
+emit_16(1586);
+emit_16(1519);
+emit_16(1586);
+emit_16(1520);
+emit_16(1587);
+emit_16(1521);
+emit_16(1587);
+emit_16(1520);
+emit_16(1587);
+emit_16(1521);
+emit_16(1588);
+emit_16(1522);
+emit_16(1588);
+emit_16(1521);
+emit_16(1588);
+emit_16(1522);
+emit_16(1589);
+emit_16(1523);
+emit_16(1589);
+emit_16(1522);
+emit_16(1589);
+emit_16(1523);
+emit_16(1590);
+emit_16(1524);
+emit_16(1590);
+emit_16(1523);
+emit_16(1590);
+emit_16(1524);
+emit_16(1591);
+emit_16(1525);
+emit_16(1591);
+emit_16(1524);
+emit_16(1591);
+emit_16(1525);
+emit_16(1592);
+emit_16(1526);
+emit_16(1592);
+emit_16(1525);
+emit_16(1592);
+emit_16(1526);
+emit_16(1593);
+emit_16(1527);
+emit_16(1593);
+emit_16(1526);
+emit_16(1593);
+emit_16(1527);
+emit_16(1594);
+emit_16(1528);
+emit_16(1594);
+emit_16(1527);
+emit_16(1594);
+emit_16(1528);
+emit_16(1595);
+emit_16(1529);
+emit_16(1595);
+emit_16(1528);
+emit_16(1595);
+emit_16(1529);
+emit_16(1596);
+emit_16(1530);
+emit_16(1596);
+emit_16(1529);
+emit_16(1596);
+emit_16(1530);
+emit_16(1597);
+emit_16(1531);
+emit_16(1597);
+emit_16(1530);
+emit_16(1597);
+emit_16(1531);
+emit_16(1598);
+emit_16(1532);
+emit_16(1598);
+emit_16(1531);
+emit_16(1598);
+emit_16(1532);
+emit_16(1599);
+emit_16(1533);
+emit_16(1599);
+emit_16(1532);
+emit_16(1599);
+emit_16(1533);
+emit_16(1600);
+emit_16(1534);
+emit_16(1600);
+emit_16(1533);
+emit_16(1600);
+emit_16(1534);
+emit_16(1601);
+emit_16(1535);
+emit_16(1601);
+emit_16(1534);
+emit_16(1601);
+emit_16(1535);
+emit_16(1602);
+emit_16(1536);
+emit_16(1602);
+emit_16(1535);
+emit_16(1602);
+emit_16(1536);
+emit_16(1603);
+emit_16(1537);
+emit_16(1603);
+emit_16(1536);
+emit_16(1603);
+emit_16(1537);
+emit_16(1604);
+emit_16(1538);
+emit_16(1604);
+emit_16(1537);
+emit_16(1604);
+emit_16(1538);
+emit_16(1605);
+emit_16(1539);
+emit_16(1605);
+emit_16(1538);
+emit_16(1605);
+emit_16(1539);
+emit_16(1606);
+emit_16(1540);
+emit_16(1606);
+emit_16(1539);
+emit_16(1606);
+emit_16(1540);
+emit_16(1607);
+emit_16(1541);
+emit_16(1607);
+emit_16(1540);
+emit_16(1607);
+emit_16(1541);
+emit_16(1608);
+emit_16(1542);
+emit_16(1608);
+emit_16(1541);
+emit_16(1608);
+emit_16(1542);
+emit_16(1609);
+emit_16(1543);
+emit_16(1609);
+emit_16(1542);
+emit_16(1609);
+emit_16(1543);
+emit_16(1610);
+emit_16(1544);
+emit_16(1610);
+emit_16(1543);
+emit_16(1610);
+emit_16(1544);
+emit_16(1611);
+emit_16(1545);
+emit_16(1611);
+emit_16(1544);
+emit_16(1611);
+emit_16(1545);
+emit_16(1612);
+emit_16(1546);
+emit_16(1612);
+emit_16(1545);
+emit_16(1612);
+emit_16(1546);
+emit_16(1613);
+emit_16(1547);
+emit_16(1613);
+emit_16(1546);
+emit_16(1613);
+emit_16(1547);
+emit_16(1614);
+emit_16(1548);
+emit_16(1614);
+emit_16(1547);
+emit_16(1614);
+emit_16(1548);
+emit_16(1615);
+emit_16(1549);
+emit_16(1615);
+emit_16(1548);
+emit_16(1615);
+emit_16(1549);
+emit_16(1616);
+emit_16(1550);
+emit_16(1616);
+emit_16(1549);
+emit_16(1616);
+emit_16(1550);
+emit_16(1617);
+emit_16(1551);
+emit_16(1617);
+emit_16(1550);
+emit_16(1617);
+emit_16(1551);
+emit_16(1618);
+emit_16(1552);
+emit_16(1618);
+emit_16(1551);
+emit_16(1618);
+emit_16(1552);
+emit_16(1619);
+emit_16(1553);
+emit_16(1619);
+emit_16(1552);
+emit_16(1619);
+emit_16(1553);
+emit_16(1620);
+emit_16(1554);
+emit_16(1620);
+emit_16(1553);
+emit_16(1620);
+emit_16(1554);
+emit_16(1621);
+emit_16(1555);
+emit_16(1621);
+emit_16(1554);
+emit_16(1621);
+emit_16(1555);
+emit_16(1622);
+emit_16(1556);
+emit_16(1622);
+emit_16(1555);
+emit_16(1622);
+emit_16(1556);
+emit_16(1623);
+emit_16(1557);
+emit_16(1623);
+emit_16(1556);
+emit_16(1623);
+emit_16(1557);
+emit_16(1624);
+emit_16(1558);
+emit_16(1624);
+emit_16(1557);
+emit_16(1624);
+emit_16(1558);
+emit_16(1625);
+emit_16(1559);
+emit_16(1625);
+emit_16(1558);
+emit_16(1625);
+emit_16(1559);
+emit_16(1626);
+emit_16(1560);
+emit_16(1626);
+emit_16(1559);
+emit_16(1626);
+emit_16(1560);
+emit_16(1627);
+emit_16(1561);
+emit_16(1627);
+emit_16(1560);
+emit_16(1627);
+emit_16(1561);
+emit_16(1628);
+emit_16(1562);
+emit_16(1628);
+emit_16(1561);
+emit_16(1628);
+emit_16(1562);
+emit_16(1629);
+emit_16(1563);
+emit_16(1629);
+emit_16(1562);
+emit_16(1629);
+emit_16(1563);
+emit_16(1630);
+emit_16(1564);
+emit_16(1630);
+emit_16(1563);
+emit_16(1630);
+emit_16(1564);
+emit_16(1631);
+emit_16(1565);
+emit_16(1631);
+emit_16(1564);
+emit_16(1631);
+emit_16(1565);
+emit_16(1632);
+emit_16(1566);
+emit_16(1632);
+emit_16(1565);
+emit_16(1632);
+emit_16(1566);
+emit_16(1633);
+emit_16(1567);
+emit_16(1633);
+emit_16(1566);
+emit_16(1633);
+emit_16(1567);
+emit_16(1634);
+emit_16(1568);
+emit_16(1634);
+emit_16(1567);
+emit_16(1634);
+emit_16(1568);
+emit_16(1635);
+emit_16(1569);
+emit_16(1635);
+emit_16(1568);
+emit_16(1635);
+emit_16(1569);
+emit_16(1636);
+emit_16(1570);
+emit_16(1636);
+emit_16(1569);
+emit_16(1636);
+emit_16(1570);
+emit_16(1637);
+emit_16(1571);
+emit_16(1637);
+emit_16(1570);
+emit_16(1637);
+emit_16(1571);
+emit_16(1638);
+emit_16(1572);
+emit_16(1638);
+emit_16(1571);
+emit_16(1638);
+emit_16(1572);
+emit_16(1639);
+emit_16(1573);
+emit_16(1639);
+emit_16(1572);
+emit_16(1639);
+emit_16(1573);
+emit_16(1640);
+emit_16(1574);
+emit_16(1640);
+emit_16(1573);
+emit_16(1640);
+emit_16(1574);
+emit_16(1641);
+emit_16(1575);
+emit_16(1641);
+emit_16(1574);
+emit_16(1641);
+emit_16(1575);
+emit_16(1642);
+emit_16(1576);
+emit_16(1642);
+emit_16(1575);
+emit_16(1642);
+emit_16(1576);
+emit_16(1643);
+emit_16(1577);
+emit_16(1643);
+emit_16(1576);
+emit_16(1643);
+emit_16(1577);
+emit_16(1644);
+emit_16(1578);
+emit_16(1644);
+emit_16(1577);
+emit_16(1644);
+emit_16(1578);
+emit_16(1645);
+emit_16(1579);
+emit_16(1645);
+emit_16(1578);
+emit_16(1645);
+emit_16(1579);
+emit_16(1646);
+emit_16(1580);
+emit_16(1646);
+emit_16(1579);
+emit_16(1646);
+emit_16(1580);
+emit_16(1647);
+emit_16(1581);
+emit_16(1647);
+emit_16(1580);
+emit_16(1647);
+emit_16(1581);
+emit_16(1648);
+emit_16(1582);
+emit_16(1648);
+emit_16(1581);
+emit_16(1648);
+emit_16(1582);
+emit_16(1649);
+emit_16(1583);
+emit_16(1649);
+emit_16(1582);
+emit_16(1650);
+emit_16(1584);
+emit_16(1651);
+emit_16(1585);
+emit_16(1651);
+emit_16(1584);
+emit_16(1651);
+emit_16(1585);
+emit_16(1652);
+emit_16(1586);
+emit_16(1652);
+emit_16(1585);
+emit_16(1652);
+emit_16(1586);
+emit_16(1653);
+emit_16(1587);
+emit_16(1653);
+emit_16(1586);
+emit_16(1653);
+emit_16(1587);
+emit_16(1654);
+emit_16(1588);
+emit_16(1654);
+emit_16(1587);
+emit_16(1654);
+emit_16(1588);
+emit_16(1655);
+emit_16(1589);
+emit_16(1655);
+emit_16(1588);
+emit_16(1655);
+emit_16(1589);
+emit_16(1656);
+emit_16(1590);
+emit_16(1656);
+emit_16(1589);
+emit_16(1656);
+emit_16(1590);
+emit_16(1657);
+emit_16(1591);
+emit_16(1657);
+emit_16(1590);
+emit_16(1657);
+emit_16(1591);
+emit_16(1658);
+emit_16(1592);
+emit_16(1658);
+emit_16(1591);
+emit_16(1658);
+emit_16(1592);
+emit_16(1659);
+emit_16(1593);
+emit_16(1659);
+emit_16(1592);
+emit_16(1659);
+emit_16(1593);
+emit_16(1660);
+emit_16(1594);
+emit_16(1660);
+emit_16(1593);
+emit_16(1660);
+emit_16(1594);
+emit_16(1661);
+emit_16(1595);
+emit_16(1661);
+emit_16(1594);
+emit_16(1661);
+emit_16(1595);
+emit_16(1662);
+emit_16(1596);
+emit_16(1662);
+emit_16(1595);
+emit_16(1662);
+emit_16(1596);
+emit_16(1663);
+emit_16(1597);
+emit_16(1663);
+emit_16(1596);
+emit_16(1663);
+emit_16(1597);
+emit_16(1664);
+emit_16(1598);
+emit_16(1664);
+emit_16(1597);
+emit_16(1664);
+emit_16(1598);
+emit_16(1665);
+emit_16(1599);
+emit_16(1665);
+emit_16(1598);
+emit_16(1665);
+emit_16(1599);
+emit_16(1666);
+emit_16(1600);
+emit_16(1666);
+emit_16(1599);
+emit_16(1666);
+emit_16(1600);
+emit_16(1667);
+emit_16(1601);
+emit_16(1667);
+emit_16(1600);
+emit_16(1667);
+emit_16(1601);
+emit_16(1668);
+emit_16(1602);
+emit_16(1668);
+emit_16(1601);
+emit_16(1668);
+emit_16(1602);
+emit_16(1669);
+emit_16(1603);
+emit_16(1669);
+emit_16(1602);
+emit_16(1669);
+emit_16(1603);
+emit_16(1670);
+emit_16(1604);
+emit_16(1670);
+emit_16(1603);
+emit_16(1670);
+emit_16(1604);
+emit_16(1671);
+emit_16(1605);
+emit_16(1671);
+emit_16(1604);
+emit_16(1671);
+emit_16(1605);
+emit_16(1672);
+emit_16(1606);
+emit_16(1672);
+emit_16(1605);
+emit_16(1672);
+emit_16(1606);
+emit_16(1673);
+emit_16(1607);
+emit_16(1673);
+emit_16(1606);
+emit_16(1673);
+emit_16(1607);
+emit_16(1674);
+emit_16(1608);
+emit_16(1674);
+emit_16(1607);
+emit_16(1674);
+emit_16(1608);
+emit_16(1675);
+emit_16(1609);
+emit_16(1675);
+emit_16(1608);
+emit_16(1675);
+emit_16(1609);
+emit_16(1676);
+emit_16(1610);
+emit_16(1676);
+emit_16(1609);
+emit_16(1676);
+emit_16(1610);
+emit_16(1677);
+emit_16(1611);
+emit_16(1677);
+emit_16(1610);
+emit_16(1677);
+emit_16(1611);
+emit_16(1678);
+emit_16(1612);
+emit_16(1678);
+emit_16(1611);
+emit_16(1678);
+emit_16(1612);
+emit_16(1679);
+emit_16(1613);
+emit_16(1679);
+emit_16(1612);
+emit_16(1679);
+emit_16(1613);
+emit_16(1680);
+emit_16(1614);
+emit_16(1680);
+emit_16(1613);
+emit_16(1680);
+emit_16(1614);
+emit_16(1681);
+emit_16(1615);
+emit_16(1681);
+emit_16(1614);
+emit_16(1681);
+emit_16(1615);
+emit_16(1682);
+emit_16(1616);
+emit_16(1682);
+emit_16(1615);
+emit_16(1682);
+emit_16(1616);
+emit_16(1683);
+emit_16(1617);
+emit_16(1683);
+emit_16(1616);
+emit_16(1683);
+emit_16(1617);
+emit_16(1684);
+emit_16(1618);
+emit_16(1684);
+emit_16(1617);
+emit_16(1684);
+emit_16(1618);
+emit_16(1685);
+emit_16(1619);
+emit_16(1685);
+emit_16(1618);
+emit_16(1685);
+emit_16(1619);
+emit_16(1686);
+emit_16(1620);
+emit_16(1686);
+emit_16(1619);
+emit_16(1686);
+emit_16(1620);
+emit_16(1687);
+emit_16(1621);
+emit_16(1687);
+emit_16(1620);
+emit_16(1687);
+emit_16(1621);
+emit_16(1688);
+emit_16(1622);
+emit_16(1688);
+emit_16(1621);
+emit_16(1688);
+emit_16(1622);
+emit_16(1689);
+emit_16(1623);
+emit_16(1689);
+emit_16(1622);
+emit_16(1689);
+emit_16(1623);
+emit_16(1690);
+emit_16(1624);
+emit_16(1690);
+emit_16(1623);
+emit_16(1690);
+emit_16(1624);
+emit_16(1691);
+emit_16(1625);
+emit_16(1691);
+emit_16(1624);
+emit_16(1691);
+emit_16(1625);
+emit_16(1692);
+emit_16(1626);
+emit_16(1692);
+emit_16(1625);
+emit_16(1692);
+emit_16(1626);
+emit_16(1693);
+emit_16(1627);
+emit_16(1693);
+emit_16(1626);
+emit_16(1693);
+emit_16(1627);
+emit_16(1694);
+emit_16(1628);
+emit_16(1694);
+emit_16(1627);
+emit_16(1694);
+emit_16(1628);
+emit_16(1695);
+emit_16(1629);
+emit_16(1695);
+emit_16(1628);
+emit_16(1695);
+emit_16(1629);
+emit_16(1696);
+emit_16(1630);
+emit_16(1696);
+emit_16(1629);
+emit_16(1696);
+emit_16(1630);
+emit_16(1697);
+emit_16(1631);
+emit_16(1697);
+emit_16(1630);
+emit_16(1697);
+emit_16(1631);
+emit_16(1698);
+emit_16(1632);
+emit_16(1698);
+emit_16(1631);
+emit_16(1698);
+emit_16(1632);
+emit_16(1699);
+emit_16(1633);
+emit_16(1699);
+emit_16(1632);
+emit_16(1699);
+emit_16(1633);
+emit_16(1700);
+emit_16(1634);
+emit_16(1700);
+emit_16(1633);
+emit_16(1700);
+emit_16(1634);
+emit_16(1701);
+emit_16(1635);
+emit_16(1701);
+emit_16(1634);
+emit_16(1701);
+emit_16(1635);
+emit_16(1702);
+emit_16(1636);
+emit_16(1702);
+emit_16(1635);
+emit_16(1702);
+emit_16(1636);
+emit_16(1703);
+emit_16(1637);
+emit_16(1703);
+emit_16(1636);
+emit_16(1703);
+emit_16(1637);
+emit_16(1704);
+emit_16(1638);
+emit_16(1704);
+emit_16(1637);
+emit_16(1704);
+emit_16(1638);
+emit_16(1705);
+emit_16(1639);
+emit_16(1705);
+emit_16(1638);
+emit_16(1705);
+emit_16(1639);
+emit_16(1706);
+emit_16(1640);
+emit_16(1706);
+emit_16(1639);
+emit_16(1706);
+emit_16(1640);
+emit_16(1707);
+emit_16(1641);
+emit_16(1707);
+emit_16(1640);
+emit_16(1707);
+emit_16(1641);
+emit_16(1708);
+emit_16(1642);
+emit_16(1708);
+emit_16(1641);
+emit_16(1708);
+emit_16(1642);
+emit_16(1709);
+emit_16(1643);
+emit_16(1709);
+emit_16(1642);
+emit_16(1709);
+emit_16(1643);
+emit_16(1710);
+emit_16(1644);
+emit_16(1710);
+emit_16(1643);
+emit_16(1710);
+emit_16(1644);
+emit_16(1711);
+emit_16(1645);
+emit_16(1711);
+emit_16(1644);
+emit_16(1711);
+emit_16(1645);
+emit_16(1712);
+emit_16(1646);
+emit_16(1712);
+emit_16(1645);
+emit_16(1712);
+emit_16(1646);
+emit_16(1713);
+emit_16(1647);
+emit_16(1713);
+emit_16(1646);
+emit_16(1713);
+emit_16(1647);
+emit_16(1714);
+emit_16(1648);
+emit_16(1714);
+emit_16(1647);
+emit_16(1714);
+emit_16(1648);
+emit_16(1715);
+emit_16(1649);
+emit_16(1715);
+emit_16(1648);
+emit_16(1716);
+emit_16(1650);
+emit_16(1717);
+emit_16(1651);
+emit_16(1717);
+emit_16(1650);
+emit_16(1717);
+emit_16(1651);
+emit_16(1718);
+emit_16(1652);
+emit_16(1718);
+emit_16(1651);
+emit_16(1718);
+emit_16(1652);
+emit_16(1719);
+emit_16(1653);
+emit_16(1719);
+emit_16(1652);
+emit_16(1719);
+emit_16(1653);
+emit_16(1720);
+emit_16(1654);
+emit_16(1720);
+emit_16(1653);
+emit_16(1720);
+emit_16(1654);
+emit_16(1721);
+emit_16(1655);
+emit_16(1721);
+emit_16(1654);
+emit_16(1721);
+emit_16(1655);
+emit_16(1722);
+emit_16(1656);
+emit_16(1722);
+emit_16(1655);
+emit_16(1722);
+emit_16(1656);
+emit_16(1723);
+emit_16(1657);
+emit_16(1723);
+emit_16(1656);
+emit_16(1723);
+emit_16(1657);
+emit_16(1724);
+emit_16(1658);
+emit_16(1724);
+emit_16(1657);
+emit_16(1724);
+emit_16(1658);
+emit_16(1725);
+emit_16(1659);
+emit_16(1725);
+emit_16(1658);
+emit_16(1725);
+emit_16(1659);
+emit_16(1726);
+emit_16(1660);
+emit_16(1726);
+emit_16(1659);
+emit_16(1726);
+emit_16(1660);
+emit_16(1727);
+emit_16(1661);
+emit_16(1727);
+emit_16(1660);
+emit_16(1727);
+emit_16(1661);
+emit_16(1728);
+emit_16(1662);
+emit_16(1728);
+emit_16(1661);
+emit_16(1728);
+emit_16(1662);
+emit_16(1729);
+emit_16(1663);
+emit_16(1729);
+emit_16(1662);
+emit_16(1729);
+emit_16(1663);
+emit_16(1730);
+emit_16(1664);
+emit_16(1730);
+emit_16(1663);
+emit_16(1730);
+emit_16(1664);
+emit_16(1731);
+emit_16(1665);
+emit_16(1731);
+emit_16(1664);
+emit_16(1731);
+emit_16(1665);
+emit_16(1732);
+emit_16(1666);
+emit_16(1732);
+emit_16(1665);
+emit_16(1732);
+emit_16(1666);
+emit_16(1733);
+emit_16(1667);
+emit_16(1733);
+emit_16(1666);
+emit_16(1733);
+emit_16(1667);
+emit_16(1734);
+emit_16(1668);
+emit_16(1734);
+emit_16(1667);
+emit_16(1734);
+emit_16(1668);
+emit_16(1735);
+emit_16(1669);
+emit_16(1735);
+emit_16(1668);
+emit_16(1735);
+emit_16(1669);
+emit_16(1736);
+emit_16(1670);
+emit_16(1736);
+emit_16(1669);
+emit_16(1736);
+emit_16(1670);
+emit_16(1737);
+emit_16(1671);
+emit_16(1737);
+emit_16(1670);
+emit_16(1737);
+emit_16(1671);
+emit_16(1738);
+emit_16(1672);
+emit_16(1738);
+emit_16(1671);
+emit_16(1738);
+emit_16(1672);
+emit_16(1739);
+emit_16(1673);
+emit_16(1739);
+emit_16(1672);
+emit_16(1739);
+emit_16(1673);
+emit_16(1740);
+emit_16(1674);
+emit_16(1740);
+emit_16(1673);
+emit_16(1740);
+emit_16(1674);
+emit_16(1741);
+emit_16(1675);
+emit_16(1741);
+emit_16(1674);
+emit_16(1741);
+emit_16(1675);
+emit_16(1742);
+emit_16(1676);
+emit_16(1742);
+emit_16(1675);
+emit_16(1742);
+emit_16(1676);
+emit_16(1743);
+emit_16(1677);
+emit_16(1743);
+emit_16(1676);
+emit_16(1743);
+emit_16(1677);
+emit_16(1744);
+emit_16(1678);
+emit_16(1744);
+emit_16(1677);
+emit_16(1744);
+emit_16(1678);
+emit_16(1745);
+emit_16(1679);
+emit_16(1745);
+emit_16(1678);
+emit_16(1745);
+emit_16(1679);
+emit_16(1746);
+emit_16(1680);
+emit_16(1746);
+emit_16(1679);
+emit_16(1746);
+emit_16(1680);
+emit_16(1747);
+emit_16(1681);
+emit_16(1747);
+emit_16(1680);
+emit_16(1747);
+emit_16(1681);
+emit_16(1748);
+emit_16(1682);
+emit_16(1748);
+emit_16(1681);
+emit_16(1748);
+emit_16(1682);
+emit_16(1749);
+emit_16(1683);
+emit_16(1749);
+emit_16(1682);
+emit_16(1749);
+emit_16(1683);
+emit_16(1750);
+emit_16(1684);
+emit_16(1750);
+emit_16(1683);
+emit_16(1750);
+emit_16(1684);
+emit_16(1751);
+emit_16(1685);
+emit_16(1751);
+emit_16(1684);
+emit_16(1751);
+emit_16(1685);
+emit_16(1752);
+emit_16(1686);
+emit_16(1752);
+emit_16(1685);
+emit_16(1752);
+emit_16(1686);
+emit_16(1753);
+emit_16(1687);
+emit_16(1753);
+emit_16(1686);
+emit_16(1753);
+emit_16(1687);
+emit_16(1754);
+emit_16(1688);
+emit_16(1754);
+emit_16(1687);
+emit_16(1754);
+emit_16(1688);
+emit_16(1755);
+emit_16(1689);
+emit_16(1755);
+emit_16(1688);
+emit_16(1755);
+emit_16(1689);
+emit_16(1756);
+emit_16(1690);
+emit_16(1756);
+emit_16(1689);
+emit_16(1756);
+emit_16(1690);
+emit_16(1757);
+emit_16(1691);
+emit_16(1757);
+emit_16(1690);
+emit_16(1757);
+emit_16(1691);
+emit_16(1758);
+emit_16(1692);
+emit_16(1758);
+emit_16(1691);
+emit_16(1758);
+emit_16(1692);
+emit_16(1759);
+emit_16(1693);
+emit_16(1759);
+emit_16(1692);
+emit_16(1759);
+emit_16(1693);
+emit_16(1760);
+emit_16(1694);
+emit_16(1760);
+emit_16(1693);
+emit_16(1760);
+emit_16(1694);
+emit_16(1761);
+emit_16(1695);
+emit_16(1761);
+emit_16(1694);
+emit_16(1761);
+emit_16(1695);
+emit_16(1762);
+emit_16(1696);
+emit_16(1762);
+emit_16(1695);
+emit_16(1762);
+emit_16(1696);
+emit_16(1763);
+emit_16(1697);
+emit_16(1763);
+emit_16(1696);
+emit_16(1763);
+emit_16(1697);
+emit_16(1764);
+emit_16(1698);
+emit_16(1764);
+emit_16(1697);
+emit_16(1764);
+emit_16(1698);
+emit_16(1765);
+emit_16(1699);
+emit_16(1765);
+emit_16(1698);
+emit_16(1765);
+emit_16(1699);
+emit_16(1766);
+emit_16(1700);
+emit_16(1766);
+emit_16(1699);
+emit_16(1766);
+emit_16(1700);
+emit_16(1767);
+emit_16(1701);
+emit_16(1767);
+emit_16(1700);
+emit_16(1767);
+emit_16(1701);
+emit_16(1768);
+emit_16(1702);
+emit_16(1768);
+emit_16(1701);
+emit_16(1768);
+emit_16(1702);
+emit_16(1769);
+emit_16(1703);
+emit_16(1769);
+emit_16(1702);
+emit_16(1769);
+emit_16(1703);
+emit_16(1770);
+emit_16(1704);
+emit_16(1770);
+emit_16(1703);
+emit_16(1770);
+emit_16(1704);
+emit_16(1771);
+emit_16(1705);
+emit_16(1771);
+emit_16(1704);
+emit_16(1771);
+emit_16(1705);
+emit_16(1772);
+emit_16(1706);
+emit_16(1772);
+emit_16(1705);
+emit_16(1772);
+emit_16(1706);
+emit_16(1773);
+emit_16(1707);
+emit_16(1773);
+emit_16(1706);
+emit_16(1773);
+emit_16(1707);
+emit_16(1774);
+emit_16(1708);
+emit_16(1774);
+emit_16(1707);
+emit_16(1774);
+emit_16(1708);
+emit_16(1775);
+emit_16(1709);
+emit_16(1775);
+emit_16(1708);
+emit_16(1775);
+emit_16(1709);
+emit_16(1776);
+emit_16(1710);
+emit_16(1776);
+emit_16(1709);
+emit_16(1776);
+emit_16(1710);
+emit_16(1777);
+emit_16(1711);
+emit_16(1777);
+emit_16(1710);
+emit_16(1777);
+emit_16(1711);
+emit_16(1778);
+emit_16(1712);
+emit_16(1778);
+emit_16(1711);
+emit_16(1778);
+emit_16(1712);
+emit_16(1779);
+emit_16(1713);
+emit_16(1779);
+emit_16(1712);
+emit_16(1779);
+emit_16(1713);
+emit_16(1780);
+emit_16(1714);
+emit_16(1780);
+emit_16(1713);
+emit_16(1780);
+emit_16(1714);
+emit_16(1781);
+emit_16(1715);
+emit_16(1781);
+emit_16(1714);
+emit_16(1782);
+emit_16(1716);
+emit_16(1783);
+emit_16(1717);
+emit_16(1783);
+emit_16(1716);
+emit_16(1783);
+emit_16(1717);
+emit_16(1784);
+emit_16(1718);
+emit_16(1784);
+emit_16(1717);
+emit_16(1784);
+emit_16(1718);
+emit_16(1785);
+emit_16(1719);
+emit_16(1785);
+emit_16(1718);
+emit_16(1785);
+emit_16(1719);
+emit_16(1786);
+emit_16(1720);
+emit_16(1786);
+emit_16(1719);
+emit_16(1786);
+emit_16(1720);
+emit_16(1787);
+emit_16(1721);
+emit_16(1787);
+emit_16(1720);
+emit_16(1787);
+emit_16(1721);
+emit_16(1788);
+emit_16(1722);
+emit_16(1788);
+emit_16(1721);
+emit_16(1788);
+emit_16(1722);
+emit_16(1789);
+emit_16(1723);
+emit_16(1789);
+emit_16(1722);
+emit_16(1789);
+emit_16(1723);
+emit_16(1790);
+emit_16(1724);
+emit_16(1790);
+emit_16(1723);
+emit_16(1790);
+emit_16(1724);
+emit_16(1791);
+emit_16(1725);
+emit_16(1791);
+emit_16(1724);
+emit_16(1791);
+emit_16(1725);
+emit_16(1792);
+emit_16(1726);
+emit_16(1792);
+emit_16(1725);
+emit_16(1792);
+emit_16(1726);
+emit_16(1793);
+emit_16(1727);
+emit_16(1793);
+emit_16(1726);
+emit_16(1793);
+emit_16(1727);
+emit_16(1794);
+emit_16(1728);
+emit_16(1794);
+emit_16(1727);
+emit_16(1794);
+emit_16(1728);
+emit_16(1795);
+emit_16(1729);
+emit_16(1795);
+emit_16(1728);
+emit_16(1795);
+emit_16(1729);
+emit_16(1796);
+emit_16(1730);
+emit_16(1796);
+emit_16(1729);
+emit_16(1796);
+emit_16(1730);
+emit_16(1797);
+emit_16(1731);
+emit_16(1797);
+emit_16(1730);
+emit_16(1797);
+emit_16(1731);
+emit_16(1798);
+emit_16(1732);
+emit_16(1798);
+emit_16(1731);
+emit_16(1798);
+emit_16(1732);
+emit_16(1799);
+emit_16(1733);
+emit_16(1799);
+emit_16(1732);
+emit_16(1799);
+emit_16(1733);
+emit_16(1800);
+emit_16(1734);
+emit_16(1800);
+emit_16(1733);
+emit_16(1800);
+emit_16(1734);
+emit_16(1801);
+emit_16(1735);
+emit_16(1801);
+emit_16(1734);
+emit_16(1801);
+emit_16(1735);
+emit_16(1802);
+emit_16(1736);
+emit_16(1802);
+emit_16(1735);
+emit_16(1802);
+emit_16(1736);
+emit_16(1803);
+emit_16(1737);
+emit_16(1803);
+emit_16(1736);
+emit_16(1803);
+emit_16(1737);
+emit_16(1804);
+emit_16(1738);
+emit_16(1804);
+emit_16(1737);
+emit_16(1804);
+emit_16(1738);
+emit_16(1805);
+emit_16(1739);
+emit_16(1805);
+emit_16(1738);
+emit_16(1805);
+emit_16(1739);
+emit_16(1806);
+emit_16(1740);
+emit_16(1806);
+emit_16(1739);
+emit_16(1806);
+emit_16(1740);
+emit_16(1807);
+emit_16(1741);
+emit_16(1807);
+emit_16(1740);
+emit_16(1807);
+emit_16(1741);
+emit_16(1808);
+emit_16(1742);
+emit_16(1808);
+emit_16(1741);
+emit_16(1808);
+emit_16(1742);
+emit_16(1809);
+emit_16(1743);
+emit_16(1809);
+emit_16(1742);
+emit_16(1809);
+emit_16(1743);
+emit_16(1810);
+emit_16(1744);
+emit_16(1810);
+emit_16(1743);
+emit_16(1810);
+emit_16(1744);
+emit_16(1811);
+emit_16(1745);
+emit_16(1811);
+emit_16(1744);
+emit_16(1811);
+emit_16(1745);
+emit_16(1812);
+emit_16(1746);
+emit_16(1812);
+emit_16(1745);
+emit_16(1812);
+emit_16(1746);
+emit_16(1813);
+emit_16(1747);
+emit_16(1813);
+emit_16(1746);
+emit_16(1813);
+emit_16(1747);
+emit_16(1814);
+emit_16(1748);
+emit_16(1814);
+emit_16(1747);
+emit_16(1814);
+emit_16(1748);
+emit_16(1815);
+emit_16(1749);
+emit_16(1815);
+emit_16(1748);
+emit_16(1815);
+emit_16(1749);
+emit_16(1816);
+emit_16(1750);
+emit_16(1816);
+emit_16(1749);
+emit_16(1816);
+emit_16(1750);
+emit_16(1817);
+emit_16(1751);
+emit_16(1817);
+emit_16(1750);
+emit_16(1817);
+emit_16(1751);
+emit_16(1818);
+emit_16(1752);
+emit_16(1818);
+emit_16(1751);
+emit_16(1818);
+emit_16(1752);
+emit_16(1819);
+emit_16(1753);
+emit_16(1819);
+emit_16(1752);
+emit_16(1819);
+emit_16(1753);
+emit_16(1820);
+emit_16(1754);
+emit_16(1820);
+emit_16(1753);
+emit_16(1820);
+emit_16(1754);
+emit_16(1821);
+emit_16(1755);
+emit_16(1821);
+emit_16(1754);
+emit_16(1821);
+emit_16(1755);
+emit_16(1822);
+emit_16(1756);
+emit_16(1822);
+emit_16(1755);
+emit_16(1822);
+emit_16(1756);
+emit_16(1823);
+emit_16(1757);
+emit_16(1823);
+emit_16(1756);
+emit_16(1823);
+emit_16(1757);
+emit_16(1824);
+emit_16(1758);
+emit_16(1824);
+emit_16(1757);
+emit_16(1824);
+emit_16(1758);
+emit_16(1825);
+emit_16(1759);
+emit_16(1825);
+emit_16(1758);
+emit_16(1825);
+emit_16(1759);
+emit_16(1826);
+emit_16(1760);
+emit_16(1826);
+emit_16(1759);
+emit_16(1826);
+emit_16(1760);
+emit_16(1827);
+emit_16(1761);
+emit_16(1827);
+emit_16(1760);
+emit_16(1827);
+emit_16(1761);
+emit_16(1828);
+emit_16(1762);
+emit_16(1828);
+emit_16(1761);
+emit_16(1828);
+emit_16(1762);
+emit_16(1829);
+emit_16(1763);
+emit_16(1829);
+emit_16(1762);
+emit_16(1829);
+emit_16(1763);
+emit_16(1830);
+emit_16(1764);
+emit_16(1830);
+emit_16(1763);
+emit_16(1830);
+emit_16(1764);
+emit_16(1831);
+emit_16(1765);
+emit_16(1831);
+emit_16(1764);
+emit_16(1831);
+emit_16(1765);
+emit_16(1832);
+emit_16(1766);
+emit_16(1832);
+emit_16(1765);
+emit_16(1832);
+emit_16(1766);
+emit_16(1833);
+emit_16(1767);
+emit_16(1833);
+emit_16(1766);
+emit_16(1833);
+emit_16(1767);
+emit_16(1834);
+emit_16(1768);
+emit_16(1834);
+emit_16(1767);
+emit_16(1834);
+emit_16(1768);
+emit_16(1835);
+emit_16(1769);
+emit_16(1835);
+emit_16(1768);
+emit_16(1835);
+emit_16(1769);
+emit_16(1836);
+emit_16(1770);
+emit_16(1836);
+emit_16(1769);
+emit_16(1836);
+emit_16(1770);
+emit_16(1837);
+emit_16(1771);
+emit_16(1837);
+emit_16(1770);
+emit_16(1837);
+emit_16(1771);
+emit_16(1838);
+emit_16(1772);
+emit_16(1838);
+emit_16(1771);
+emit_16(1838);
+emit_16(1772);
+emit_16(1839);
+emit_16(1773);
+emit_16(1839);
+emit_16(1772);
+emit_16(1839);
+emit_16(1773);
+emit_16(1840);
+emit_16(1774);
+emit_16(1840);
+emit_16(1773);
+emit_16(1840);
+emit_16(1774);
+emit_16(1841);
+emit_16(1775);
+emit_16(1841);
+emit_16(1774);
+emit_16(1841);
+emit_16(1775);
+emit_16(1842);
+emit_16(1776);
+emit_16(1842);
+emit_16(1775);
+emit_16(1842);
+emit_16(1776);
+emit_16(1843);
+emit_16(1777);
+emit_16(1843);
+emit_16(1776);
+emit_16(1843);
+emit_16(1777);
+emit_16(1844);
+emit_16(1778);
+emit_16(1844);
+emit_16(1777);
+emit_16(1844);
+emit_16(1778);
+emit_16(1845);
+emit_16(1779);
+emit_16(1845);
+emit_16(1778);
+emit_16(1845);
+emit_16(1779);
+emit_16(1846);
+emit_16(1780);
+emit_16(1846);
+emit_16(1779);
+emit_16(1846);
+emit_16(1780);
+emit_16(1847);
+emit_16(1781);
+emit_16(1847);
+emit_16(1780);
+emit_16(1848);
+emit_16(1782);
+emit_16(1849);
+emit_16(1783);
+emit_16(1849);
+emit_16(1782);
+emit_16(1849);
+emit_16(1783);
+emit_16(1850);
+emit_16(1784);
+emit_16(1850);
+emit_16(1783);
+emit_16(1850);
+emit_16(1784);
+emit_16(1851);
+emit_16(1785);
+emit_16(1851);
+emit_16(1784);
+emit_16(1851);
+emit_16(1785);
+emit_16(1852);
+emit_16(1786);
+emit_16(1852);
+emit_16(1785);
+emit_16(1852);
+emit_16(1786);
+emit_16(1853);
+emit_16(1787);
+emit_16(1853);
+emit_16(1786);
+emit_16(1853);
+emit_16(1787);
+emit_16(1854);
+emit_16(1788);
+emit_16(1854);
+emit_16(1787);
+emit_16(1854);
+emit_16(1788);
+emit_16(1855);
+emit_16(1789);
+emit_16(1855);
+emit_16(1788);
+emit_16(1855);
+emit_16(1789);
+emit_16(1856);
+emit_16(1790);
+emit_16(1856);
+emit_16(1789);
+emit_16(1856);
+emit_16(1790);
+emit_16(1857);
+emit_16(1791);
+emit_16(1857);
+emit_16(1790);
+emit_16(1857);
+emit_16(1791);
+emit_16(1858);
+emit_16(1792);
+emit_16(1858);
+emit_16(1791);
+emit_16(1858);
+emit_16(1792);
+emit_16(1859);
+emit_16(1793);
+emit_16(1859);
+emit_16(1792);
+emit_16(1859);
+emit_16(1793);
+emit_16(1860);
+emit_16(1794);
+emit_16(1860);
+emit_16(1793);
+emit_16(1860);
+emit_16(1794);
+emit_16(1861);
+emit_16(1795);
+emit_16(1861);
+emit_16(1794);
+emit_16(1861);
+emit_16(1795);
+emit_16(1862);
+emit_16(1796);
+emit_16(1862);
+emit_16(1795);
+emit_16(1862);
+emit_16(1796);
+emit_16(1863);
+emit_16(1797);
+emit_16(1863);
+emit_16(1796);
+emit_16(1863);
+emit_16(1797);
+emit_16(1864);
+emit_16(1798);
+emit_16(1864);
+emit_16(1797);
+emit_16(1864);
+emit_16(1798);
+emit_16(1865);
+emit_16(1799);
+emit_16(1865);
+emit_16(1798);
+emit_16(1865);
+emit_16(1799);
+emit_16(1866);
+emit_16(1800);
+emit_16(1866);
+emit_16(1799);
+emit_16(1866);
+emit_16(1800);
+emit_16(1867);
+emit_16(1801);
+emit_16(1867);
+emit_16(1800);
+emit_16(1867);
+emit_16(1801);
+emit_16(1868);
+emit_16(1802);
+emit_16(1868);
+emit_16(1801);
+emit_16(1868);
+emit_16(1802);
+emit_16(1869);
+emit_16(1803);
+emit_16(1869);
+emit_16(1802);
+emit_16(1869);
+emit_16(1803);
+emit_16(1870);
+emit_16(1804);
+emit_16(1870);
+emit_16(1803);
+emit_16(1870);
+emit_16(1804);
+emit_16(1871);
+emit_16(1805);
+emit_16(1871);
+emit_16(1804);
+emit_16(1871);
+emit_16(1805);
+emit_16(1872);
+emit_16(1806);
+emit_16(1872);
+emit_16(1805);
+emit_16(1872);
+emit_16(1806);
+emit_16(1873);
+emit_16(1807);
+emit_16(1873);
+emit_16(1806);
+emit_16(1873);
+emit_16(1807);
+emit_16(1874);
+emit_16(1808);
+emit_16(1874);
+emit_16(1807);
+emit_16(1874);
+emit_16(1808);
+emit_16(1875);
+emit_16(1809);
+emit_16(1875);
+emit_16(1808);
+emit_16(1875);
+emit_16(1809);
+emit_16(1876);
+emit_16(1810);
+emit_16(1876);
+emit_16(1809);
+emit_16(1876);
+emit_16(1810);
+emit_16(1877);
+emit_16(1811);
+emit_16(1877);
+emit_16(1810);
+emit_16(1877);
+emit_16(1811);
+emit_16(1878);
+emit_16(1812);
+emit_16(1878);
+emit_16(1811);
+emit_16(1878);
+emit_16(1812);
+emit_16(1879);
+emit_16(1813);
+emit_16(1879);
+emit_16(1812);
+emit_16(1879);
+emit_16(1813);
+emit_16(1880);
+emit_16(1814);
+emit_16(1880);
+emit_16(1813);
+emit_16(1880);
+emit_16(1814);
+emit_16(1881);
+emit_16(1815);
+emit_16(1881);
+emit_16(1814);
+emit_16(1881);
+emit_16(1815);
+emit_16(1882);
+emit_16(1816);
+emit_16(1882);
+emit_16(1815);
+emit_16(1882);
+emit_16(1816);
+emit_16(1883);
+emit_16(1817);
+emit_16(1883);
+emit_16(1816);
+emit_16(1883);
+emit_16(1817);
+emit_16(1884);
+emit_16(1818);
+emit_16(1884);
+emit_16(1817);
+emit_16(1884);
+emit_16(1818);
+emit_16(1885);
+emit_16(1819);
+emit_16(1885);
+emit_16(1818);
+emit_16(1885);
+emit_16(1819);
+emit_16(1886);
+emit_16(1820);
+emit_16(1886);
+emit_16(1819);
+emit_16(1886);
+emit_16(1820);
+emit_16(1887);
+emit_16(1821);
+emit_16(1887);
+emit_16(1820);
+emit_16(1887);
+emit_16(1821);
+emit_16(1888);
+emit_16(1822);
+emit_16(1888);
+emit_16(1821);
+emit_16(1888);
+emit_16(1822);
+emit_16(1889);
+emit_16(1823);
+emit_16(1889);
+emit_16(1822);
+emit_16(1889);
+emit_16(1823);
+emit_16(1890);
+emit_16(1824);
+emit_16(1890);
+emit_16(1823);
+emit_16(1890);
+emit_16(1824);
+emit_16(1891);
+emit_16(1825);
+emit_16(1891);
+emit_16(1824);
+emit_16(1891);
+emit_16(1825);
+emit_16(1892);
+emit_16(1826);
+emit_16(1892);
+emit_16(1825);
+emit_16(1892);
+emit_16(1826);
+emit_16(1893);
+emit_16(1827);
+emit_16(1893);
+emit_16(1826);
+emit_16(1893);
+emit_16(1827);
+emit_16(1894);
+emit_16(1828);
+emit_16(1894);
+emit_16(1827);
+emit_16(1894);
+emit_16(1828);
+emit_16(1895);
+emit_16(1829);
+emit_16(1895);
+emit_16(1828);
+emit_16(1895);
+emit_16(1829);
+emit_16(1896);
+emit_16(1830);
+emit_16(1896);
+emit_16(1829);
+emit_16(1896);
+emit_16(1830);
+emit_16(1897);
+emit_16(1831);
+emit_16(1897);
+emit_16(1830);
+emit_16(1897);
+emit_16(1831);
+emit_16(1898);
+emit_16(1832);
+emit_16(1898);
+emit_16(1831);
+emit_16(1898);
+emit_16(1832);
+emit_16(1899);
+emit_16(1833);
+emit_16(1899);
+emit_16(1832);
+emit_16(1899);
+emit_16(1833);
+emit_16(1900);
+emit_16(1834);
+emit_16(1900);
+emit_16(1833);
+emit_16(1900);
+emit_16(1834);
+emit_16(1901);
+emit_16(1835);
+emit_16(1901);
+emit_16(1834);
+emit_16(1901);
+emit_16(1835);
+emit_16(1902);
+emit_16(1836);
+emit_16(1902);
+emit_16(1835);
+emit_16(1902);
+emit_16(1836);
+emit_16(1903);
+emit_16(1837);
+emit_16(1903);
+emit_16(1836);
+emit_16(1903);
+emit_16(1837);
+emit_16(1904);
+emit_16(1838);
+emit_16(1904);
+emit_16(1837);
+emit_16(1904);
+emit_16(1838);
+emit_16(1905);
+emit_16(1839);
+emit_16(1905);
+emit_16(1838);
+emit_16(1905);
+emit_16(1839);
+emit_16(1906);
+emit_16(1840);
+emit_16(1906);
+emit_16(1839);
+emit_16(1906);
+emit_16(1840);
+emit_16(1907);
+emit_16(1841);
+emit_16(1907);
+emit_16(1840);
+emit_16(1907);
+emit_16(1841);
+emit_16(1908);
+emit_16(1842);
+emit_16(1908);
+emit_16(1841);
+emit_16(1908);
+emit_16(1842);
+emit_16(1909);
+emit_16(1843);
+emit_16(1909);
+emit_16(1842);
+emit_16(1909);
+emit_16(1843);
+emit_16(1910);
+emit_16(1844);
+emit_16(1910);
+emit_16(1843);
+emit_16(1910);
+emit_16(1844);
+emit_16(1911);
+emit_16(1845);
+emit_16(1911);
+emit_16(1844);
+emit_16(1911);
+emit_16(1845);
+emit_16(1912);
+emit_16(1846);
+emit_16(1912);
+emit_16(1845);
+emit_16(1912);
+emit_16(1846);
+emit_16(1913);
+emit_16(1847);
+emit_16(1913);
+emit_16(1846);
+emit_16(1914);
+emit_16(1848);
+emit_16(1915);
+emit_16(1849);
+emit_16(1915);
+emit_16(1848);
+emit_16(1915);
+emit_16(1849);
+emit_16(1916);
+emit_16(1850);
+emit_16(1916);
+emit_16(1849);
+emit_16(1916);
+emit_16(1850);
+emit_16(1917);
+emit_16(1851);
+emit_16(1917);
+emit_16(1850);
+emit_16(1917);
+emit_16(1851);
+emit_16(1918);
+emit_16(1852);
+emit_16(1918);
+emit_16(1851);
+emit_16(1918);
+emit_16(1852);
+emit_16(1919);
+emit_16(1853);
+emit_16(1919);
+emit_16(1852);
+emit_16(1919);
+emit_16(1853);
+emit_16(1920);
+emit_16(1854);
+emit_16(1920);
+emit_16(1853);
+emit_16(1920);
+emit_16(1854);
+emit_16(1921);
+emit_16(1855);
+emit_16(1921);
+emit_16(1854);
+emit_16(1921);
+emit_16(1855);
+emit_16(1922);
+emit_16(1856);
+emit_16(1922);
+emit_16(1855);
+emit_16(1922);
+emit_16(1856);
+emit_16(1923);
+emit_16(1857);
+emit_16(1923);
+emit_16(1856);
+emit_16(1923);
+emit_16(1857);
+emit_16(1924);
+emit_16(1858);
+emit_16(1924);
+emit_16(1857);
+emit_16(1924);
+emit_16(1858);
+emit_16(1925);
+emit_16(1859);
+emit_16(1925);
+emit_16(1858);
+emit_16(1925);
+emit_16(1859);
+emit_16(1926);
+emit_16(1860);
+emit_16(1926);
+emit_16(1859);
+emit_16(1926);
+emit_16(1860);
+emit_16(1927);
+emit_16(1861);
+emit_16(1927);
+emit_16(1860);
+emit_16(1927);
+emit_16(1861);
+emit_16(1928);
+emit_16(1862);
+emit_16(1928);
+emit_16(1861);
+emit_16(1928);
+emit_16(1862);
+emit_16(1929);
+emit_16(1863);
+emit_16(1929);
+emit_16(1862);
+emit_16(1929);
+emit_16(1863);
+emit_16(1930);
+emit_16(1864);
+emit_16(1930);
+emit_16(1863);
+emit_16(1930);
+emit_16(1864);
+emit_16(1931);
+emit_16(1865);
+emit_16(1931);
+emit_16(1864);
+emit_16(1931);
+emit_16(1865);
+emit_16(1932);
+emit_16(1866);
+emit_16(1932);
+emit_16(1865);
+emit_16(1932);
+emit_16(1866);
+emit_16(1933);
+emit_16(1867);
+emit_16(1933);
+emit_16(1866);
+emit_16(1933);
+emit_16(1867);
+emit_16(1934);
+emit_16(1868);
+emit_16(1934);
+emit_16(1867);
+emit_16(1934);
+emit_16(1868);
+emit_16(1935);
+emit_16(1869);
+emit_16(1935);
+emit_16(1868);
+emit_16(1935);
+emit_16(1869);
+emit_16(1936);
+emit_16(1870);
+emit_16(1936);
+emit_16(1869);
+emit_16(1936);
+emit_16(1870);
+emit_16(1937);
+emit_16(1871);
+emit_16(1937);
+emit_16(1870);
+emit_16(1937);
+emit_16(1871);
+emit_16(1938);
+emit_16(1872);
+emit_16(1938);
+emit_16(1871);
+emit_16(1938);
+emit_16(1872);
+emit_16(1939);
+emit_16(1873);
+emit_16(1939);
+emit_16(1872);
+emit_16(1939);
+emit_16(1873);
+emit_16(1940);
+emit_16(1874);
+emit_16(1940);
+emit_16(1873);
+emit_16(1940);
+emit_16(1874);
+emit_16(1941);
+emit_16(1875);
+emit_16(1941);
+emit_16(1874);
+emit_16(1941);
+emit_16(1875);
+emit_16(1942);
+emit_16(1876);
+emit_16(1942);
+emit_16(1875);
+emit_16(1942);
+emit_16(1876);
+emit_16(1943);
+emit_16(1877);
+emit_16(1943);
+emit_16(1876);
+emit_16(1943);
+emit_16(1877);
+emit_16(1944);
+emit_16(1878);
+emit_16(1944);
+emit_16(1877);
+emit_16(1944);
+emit_16(1878);
+emit_16(1945);
+emit_16(1879);
+emit_16(1945);
+emit_16(1878);
+emit_16(1945);
+emit_16(1879);
+emit_16(1946);
+emit_16(1880);
+emit_16(1946);
+emit_16(1879);
+emit_16(1946);
+emit_16(1880);
+emit_16(1947);
+emit_16(1881);
+emit_16(1947);
+emit_16(1880);
+emit_16(1947);
+emit_16(1881);
+emit_16(1948);
+emit_16(1882);
+emit_16(1948);
+emit_16(1881);
+emit_16(1948);
+emit_16(1882);
+emit_16(1949);
+emit_16(1883);
+emit_16(1949);
+emit_16(1882);
+emit_16(1949);
+emit_16(1883);
+emit_16(1950);
+emit_16(1884);
+emit_16(1950);
+emit_16(1883);
+emit_16(1950);
+emit_16(1884);
+emit_16(1951);
+emit_16(1885);
+emit_16(1951);
+emit_16(1884);
+emit_16(1951);
+emit_16(1885);
+emit_16(1952);
+emit_16(1886);
+emit_16(1952);
+emit_16(1885);
+emit_16(1952);
+emit_16(1886);
+emit_16(1953);
+emit_16(1887);
+emit_16(1953);
+emit_16(1886);
+emit_16(1953);
+emit_16(1887);
+emit_16(1954);
+emit_16(1888);
+emit_16(1954);
+emit_16(1887);
+emit_16(1954);
+emit_16(1888);
+emit_16(1955);
+emit_16(1889);
+emit_16(1955);
+emit_16(1888);
+emit_16(1955);
+emit_16(1889);
+emit_16(1956);
+emit_16(1890);
+emit_16(1956);
+emit_16(1889);
+emit_16(1956);
+emit_16(1890);
+emit_16(1957);
+emit_16(1891);
+emit_16(1957);
+emit_16(1890);
+emit_16(1957);
+emit_16(1891);
+emit_16(1958);
+emit_16(1892);
+emit_16(1958);
+emit_16(1891);
+emit_16(1958);
+emit_16(1892);
+emit_16(1959);
+emit_16(1893);
+emit_16(1959);
+emit_16(1892);
+emit_16(1959);
+emit_16(1893);
+emit_16(1960);
+emit_16(1894);
+emit_16(1960);
+emit_16(1893);
+emit_16(1960);
+emit_16(1894);
+emit_16(1961);
+emit_16(1895);
+emit_16(1961);
+emit_16(1894);
+emit_16(1961);
+emit_16(1895);
+emit_16(1962);
+emit_16(1896);
+emit_16(1962);
+emit_16(1895);
+emit_16(1962);
+emit_16(1896);
+emit_16(1963);
+emit_16(1897);
+emit_16(1963);
+emit_16(1896);
+emit_16(1963);
+emit_16(1897);
+emit_16(1964);
+emit_16(1898);
+emit_16(1964);
+emit_16(1897);
+emit_16(1964);
+emit_16(1898);
+emit_16(1965);
+emit_16(1899);
+emit_16(1965);
+emit_16(1898);
+emit_16(1965);
+emit_16(1899);
+emit_16(1966);
+emit_16(1900);
+emit_16(1966);
+emit_16(1899);
+emit_16(1966);
+emit_16(1900);
+emit_16(1967);
+emit_16(1901);
+emit_16(1967);
+emit_16(1900);
+emit_16(1967);
+emit_16(1901);
+emit_16(1968);
+emit_16(1902);
+emit_16(1968);
+emit_16(1901);
+emit_16(1968);
+emit_16(1902);
+emit_16(1969);
+emit_16(1903);
+emit_16(1969);
+emit_16(1902);
+emit_16(1969);
+emit_16(1903);
+emit_16(1970);
+emit_16(1904);
+emit_16(1970);
+emit_16(1903);
+emit_16(1970);
+emit_16(1904);
+emit_16(1971);
+emit_16(1905);
+emit_16(1971);
+emit_16(1904);
+emit_16(1971);
+emit_16(1905);
+emit_16(1972);
+emit_16(1906);
+emit_16(1972);
+emit_16(1905);
+emit_16(1972);
+emit_16(1906);
+emit_16(1973);
+emit_16(1907);
+emit_16(1973);
+emit_16(1906);
+emit_16(1973);
+emit_16(1907);
+emit_16(1974);
+emit_16(1908);
+emit_16(1974);
+emit_16(1907);
+emit_16(1974);
+emit_16(1908);
+emit_16(1975);
+emit_16(1909);
+emit_16(1975);
+emit_16(1908);
+emit_16(1975);
+emit_16(1909);
+emit_16(1976);
+emit_16(1910);
+emit_16(1976);
+emit_16(1909);
+emit_16(1976);
+emit_16(1910);
+emit_16(1977);
+emit_16(1911);
+emit_16(1977);
+emit_16(1910);
+emit_16(1977);
+emit_16(1911);
+emit_16(1978);
+emit_16(1912);
+emit_16(1978);
+emit_16(1911);
+emit_16(1978);
+emit_16(1912);
+emit_16(1979);
+emit_16(1913);
+emit_16(1979);
+emit_16(1912);
+emit_16(1980);
+emit_16(1914);
+emit_16(1981);
+emit_16(1915);
+emit_16(1981);
+emit_16(1914);
+emit_16(1981);
+emit_16(1915);
+emit_16(1982);
+emit_16(1916);
+emit_16(1982);
+emit_16(1915);
+emit_16(1982);
+emit_16(1916);
+emit_16(1983);
+emit_16(1917);
+emit_16(1983);
+emit_16(1916);
+emit_16(1983);
+emit_16(1917);
+emit_16(1984);
+emit_16(1918);
+emit_16(1984);
+emit_16(1917);
+emit_16(1984);
+emit_16(1918);
+emit_16(1985);
+emit_16(1919);
+emit_16(1985);
+emit_16(1918);
+emit_16(1985);
+emit_16(1919);
+emit_16(1986);
+emit_16(1920);
+emit_16(1986);
+emit_16(1919);
+emit_16(1986);
+emit_16(1920);
+emit_16(1987);
+emit_16(1921);
+emit_16(1987);
+emit_16(1920);
+emit_16(1987);
+emit_16(1921);
+emit_16(1988);
+emit_16(1922);
+emit_16(1988);
+emit_16(1921);
+emit_16(1988);
+emit_16(1922);
+emit_16(1989);
+emit_16(1923);
+emit_16(1989);
+emit_16(1922);
+emit_16(1989);
+emit_16(1923);
+emit_16(1990);
+emit_16(1924);
+emit_16(1990);
+emit_16(1923);
+emit_16(1990);
+emit_16(1924);
+emit_16(1991);
+emit_16(1925);
+emit_16(1991);
+emit_16(1924);
+emit_16(1991);
+emit_16(1925);
+emit_16(1992);
+emit_16(1926);
+emit_16(1992);
+emit_16(1925);
+emit_16(1992);
+emit_16(1926);
+emit_16(1993);
+emit_16(1927);
+emit_16(1993);
+emit_16(1926);
+emit_16(1993);
+emit_16(1927);
+emit_16(1994);
+emit_16(1928);
+emit_16(1994);
+emit_16(1927);
+emit_16(1994);
+emit_16(1928);
+emit_16(1995);
+emit_16(1929);
+emit_16(1995);
+emit_16(1928);
+emit_16(1995);
+emit_16(1929);
+emit_16(1996);
+emit_16(1930);
+emit_16(1996);
+emit_16(1929);
+emit_16(1996);
+emit_16(1930);
+emit_16(1997);
+emit_16(1931);
+emit_16(1997);
+emit_16(1930);
+emit_16(1997);
+emit_16(1931);
+emit_16(1998);
+emit_16(1932);
+emit_16(1998);
+emit_16(1931);
+emit_16(1998);
+emit_16(1932);
+emit_16(1999);
+emit_16(1933);
+emit_16(1999);
+emit_16(1932);
+emit_16(1999);
+emit_16(1933);
+emit_16(2000);
+emit_16(1934);
+emit_16(2000);
+emit_16(1933);
+emit_16(2000);
+emit_16(1934);
+emit_16(2001);
+emit_16(1935);
+emit_16(2001);
+emit_16(1934);
+emit_16(2001);
+emit_16(1935);
+emit_16(2002);
+emit_16(1936);
+emit_16(2002);
+emit_16(1935);
+emit_16(2002);
+emit_16(1936);
+emit_16(2003);
+emit_16(1937);
+emit_16(2003);
+emit_16(1936);
+emit_16(2003);
+emit_16(1937);
+emit_16(2004);
+emit_16(1938);
+emit_16(2004);
+emit_16(1937);
+emit_16(2004);
+emit_16(1938);
+emit_16(2005);
+emit_16(1939);
+emit_16(2005);
+emit_16(1938);
+emit_16(2005);
+emit_16(1939);
+emit_16(2006);
+emit_16(1940);
+emit_16(2006);
+emit_16(1939);
+emit_16(2006);
+emit_16(1940);
+emit_16(2007);
+emit_16(1941);
+emit_16(2007);
+emit_16(1940);
+emit_16(2007);
+emit_16(1941);
+emit_16(2008);
+emit_16(1942);
+emit_16(2008);
+emit_16(1941);
+emit_16(2008);
+emit_16(1942);
+emit_16(2009);
+emit_16(1943);
+emit_16(2009);
+emit_16(1942);
+emit_16(2009);
+emit_16(1943);
+emit_16(2010);
+emit_16(1944);
+emit_16(2010);
+emit_16(1943);
+emit_16(2010);
+emit_16(1944);
+emit_16(2011);
+emit_16(1945);
+emit_16(2011);
+emit_16(1944);
+emit_16(2011);
+emit_16(1945);
+emit_16(2012);
+emit_16(1946);
+emit_16(2012);
+emit_16(1945);
+emit_16(2012);
+emit_16(1946);
+emit_16(2013);
+emit_16(1947);
+emit_16(2013);
+emit_16(1946);
+emit_16(2013);
+emit_16(1947);
+emit_16(2014);
+emit_16(1948);
+emit_16(2014);
+emit_16(1947);
+emit_16(2014);
+emit_16(1948);
+emit_16(2015);
+emit_16(1949);
+emit_16(2015);
+emit_16(1948);
+emit_16(2015);
+emit_16(1949);
+emit_16(2016);
+emit_16(1950);
+emit_16(2016);
+emit_16(1949);
+emit_16(2016);
+emit_16(1950);
+emit_16(2017);
+emit_16(1951);
+emit_16(2017);
+emit_16(1950);
+emit_16(2017);
+emit_16(1951);
+emit_16(2018);
+emit_16(1952);
+emit_16(2018);
+emit_16(1951);
+emit_16(2018);
+emit_16(1952);
+emit_16(2019);
+emit_16(1953);
+emit_16(2019);
+emit_16(1952);
+emit_16(2019);
+emit_16(1953);
+emit_16(2020);
+emit_16(1954);
+emit_16(2020);
+emit_16(1953);
+emit_16(2020);
+emit_16(1954);
+emit_16(2021);
+emit_16(1955);
+emit_16(2021);
+emit_16(1954);
+emit_16(2021);
+emit_16(1955);
+emit_16(2022);
+emit_16(1956);
+emit_16(2022);
+emit_16(1955);
+emit_16(2022);
+emit_16(1956);
+emit_16(2023);
+emit_16(1957);
+emit_16(2023);
+emit_16(1956);
+emit_16(2023);
+emit_16(1957);
+emit_16(2024);
+emit_16(1958);
+emit_16(2024);
+emit_16(1957);
+emit_16(2024);
+emit_16(1958);
+emit_16(2025);
+emit_16(1959);
+emit_16(2025);
+emit_16(1958);
+emit_16(2025);
+emit_16(1959);
+emit_16(2026);
+emit_16(1960);
+emit_16(2026);
+emit_16(1959);
+emit_16(2026);
+emit_16(1960);
+emit_16(2027);
+emit_16(1961);
+emit_16(2027);
+emit_16(1960);
+emit_16(2027);
+emit_16(1961);
+emit_16(2028);
+emit_16(1962);
+emit_16(2028);
+emit_16(1961);
+emit_16(2028);
+emit_16(1962);
+emit_16(2029);
+emit_16(1963);
+emit_16(2029);
+emit_16(1962);
+emit_16(2029);
+emit_16(1963);
+emit_16(2030);
+emit_16(1964);
+emit_16(2030);
+emit_16(1963);
+emit_16(2030);
+emit_16(1964);
+emit_16(2031);
+emit_16(1965);
+emit_16(2031);
+emit_16(1964);
+emit_16(2031);
+emit_16(1965);
+emit_16(2032);
+emit_16(1966);
+emit_16(2032);
+emit_16(1965);
+emit_16(2032);
+emit_16(1966);
+emit_16(2033);
+emit_16(1967);
+emit_16(2033);
+emit_16(1966);
+emit_16(2033);
+emit_16(1967);
+emit_16(2034);
+emit_16(1968);
+emit_16(2034);
+emit_16(1967);
+emit_16(2034);
+emit_16(1968);
+emit_16(2035);
+emit_16(1969);
+emit_16(2035);
+emit_16(1968);
+emit_16(2035);
+emit_16(1969);
+emit_16(2036);
+emit_16(1970);
+emit_16(2036);
+emit_16(1969);
+emit_16(2036);
+emit_16(1970);
+emit_16(2037);
+emit_16(1971);
+emit_16(2037);
+emit_16(1970);
+emit_16(2037);
+emit_16(1971);
+emit_16(2038);
+emit_16(1972);
+emit_16(2038);
+emit_16(1971);
+emit_16(2038);
+emit_16(1972);
+emit_16(2039);
+emit_16(1973);
+emit_16(2039);
+emit_16(1972);
+emit_16(2039);
+emit_16(1973);
+emit_16(2040);
+emit_16(1974);
+emit_16(2040);
+emit_16(1973);
+emit_16(2040);
+emit_16(1974);
+emit_16(2041);
+emit_16(1975);
+emit_16(2041);
+emit_16(1974);
+emit_16(2041);
+emit_16(1975);
+emit_16(2042);
+emit_16(1976);
+emit_16(2042);
+emit_16(1975);
+emit_16(2042);
+emit_16(1976);
+emit_16(2043);
+emit_16(1977);
+emit_16(2043);
+emit_16(1976);
+emit_16(2043);
+emit_16(1977);
+emit_16(2044);
+emit_16(1978);
+emit_16(2044);
+emit_16(1977);
+emit_16(2044);
+emit_16(1978);
+emit_16(2045);
+emit_16(1979);
+emit_16(2045);
+emit_16(1978);
+emit_16(2046);
+emit_16(1980);
+emit_16(2047);
+emit_16(1981);
+emit_16(2047);
+emit_16(1980);
+emit_16(2047);
+emit_16(1981);
+emit_16(2048);
+emit_16(1982);
+emit_16(2048);
+emit_16(1981);
+emit_16(2048);
+emit_16(1982);
+emit_16(2049);
+emit_16(1983);
+emit_16(2049);
+emit_16(1982);
+emit_16(2049);
+emit_16(1983);
+emit_16(2050);
+emit_16(1984);
+emit_16(2050);
+emit_16(1983);
+emit_16(2050);
+emit_16(1984);
+emit_16(2051);
+emit_16(1985);
+emit_16(2051);
+emit_16(1984);
+emit_16(2051);
+emit_16(1985);
+emit_16(2052);
+emit_16(1986);
+emit_16(2052);
+emit_16(1985);
+emit_16(2052);
+emit_16(1986);
+emit_16(2053);
+emit_16(1987);
+emit_16(2053);
+emit_16(1986);
+emit_16(2053);
+emit_16(1987);
+emit_16(2054);
+emit_16(1988);
+emit_16(2054);
+emit_16(1987);
+emit_16(2054);
+emit_16(1988);
+emit_16(2055);
+emit_16(1989);
+emit_16(2055);
+emit_16(1988);
+emit_16(2055);
+emit_16(1989);
+emit_16(2056);
+emit_16(1990);
+emit_16(2056);
+emit_16(1989);
+emit_16(2056);
+emit_16(1990);
+emit_16(2057);
+emit_16(1991);
+emit_16(2057);
+emit_16(1990);
+emit_16(2057);
+emit_16(1991);
+emit_16(2058);
+emit_16(1992);
+emit_16(2058);
+emit_16(1991);
+emit_16(2058);
+emit_16(1992);
+emit_16(2059);
+emit_16(1993);
+emit_16(2059);
+emit_16(1992);
+emit_16(2059);
+emit_16(1993);
+emit_16(2060);
+emit_16(1994);
+emit_16(2060);
+emit_16(1993);
+emit_16(2060);
+emit_16(1994);
+emit_16(2061);
+emit_16(1995);
+emit_16(2061);
+emit_16(1994);
+emit_16(2061);
+emit_16(1995);
+emit_16(2062);
+emit_16(1996);
+emit_16(2062);
+emit_16(1995);
+emit_16(2062);
+emit_16(1996);
+emit_16(2063);
+emit_16(1997);
+emit_16(2063);
+emit_16(1996);
+emit_16(2063);
+emit_16(1997);
+emit_16(2064);
+emit_16(1998);
+emit_16(2064);
+emit_16(1997);
+emit_16(2064);
+emit_16(1998);
+emit_16(2065);
+emit_16(1999);
+emit_16(2065);
+emit_16(1998);
+emit_16(2065);
+emit_16(1999);
+emit_16(2066);
+emit_16(2000);
+emit_16(2066);
+emit_16(1999);
+emit_16(2066);
+emit_16(2000);
+emit_16(2067);
+emit_16(2001);
+emit_16(2067);
+emit_16(2000);
+emit_16(2067);
+emit_16(2001);
+emit_16(2068);
+emit_16(2002);
+emit_16(2068);
+emit_16(2001);
+emit_16(2068);
+emit_16(2002);
+emit_16(2069);
+emit_16(2003);
+emit_16(2069);
+emit_16(2002);
+emit_16(2069);
+emit_16(2003);
+emit_16(2070);
+emit_16(2004);
+emit_16(2070);
+emit_16(2003);
+emit_16(2070);
+emit_16(2004);
+emit_16(2071);
+emit_16(2005);
+emit_16(2071);
+emit_16(2004);
+emit_16(2071);
+emit_16(2005);
+emit_16(2072);
+emit_16(2006);
+emit_16(2072);
+emit_16(2005);
+emit_16(2072);
+emit_16(2006);
+emit_16(2073);
+emit_16(2007);
+emit_16(2073);
+emit_16(2006);
+emit_16(2073);
+emit_16(2007);
+emit_16(2074);
+emit_16(2008);
+emit_16(2074);
+emit_16(2007);
+emit_16(2074);
+emit_16(2008);
+emit_16(2075);
+emit_16(2009);
+emit_16(2075);
+emit_16(2008);
+emit_16(2075);
+emit_16(2009);
+emit_16(2076);
+emit_16(2010);
+emit_16(2076);
+emit_16(2009);
+emit_16(2076);
+emit_16(2010);
+emit_16(2077);
+emit_16(2011);
+emit_16(2077);
+emit_16(2010);
+emit_16(2077);
+emit_16(2011);
+emit_16(2078);
+emit_16(2012);
+emit_16(2078);
+emit_16(2011);
+emit_16(2078);
+emit_16(2012);
+emit_16(2079);
+emit_16(2013);
+emit_16(2079);
+emit_16(2012);
+emit_16(2079);
+emit_16(2013);
+emit_16(2080);
+emit_16(2014);
+emit_16(2080);
+emit_16(2013);
+emit_16(2080);
+emit_16(2014);
+emit_16(2081);
+emit_16(2015);
+emit_16(2081);
+emit_16(2014);
+emit_16(2081);
+emit_16(2015);
+emit_16(2082);
+emit_16(2016);
+emit_16(2082);
+emit_16(2015);
+emit_16(2082);
+emit_16(2016);
+emit_16(2083);
+emit_16(2017);
+emit_16(2083);
+emit_16(2016);
+emit_16(2083);
+emit_16(2017);
+emit_16(2084);
+emit_16(2018);
+emit_16(2084);
+emit_16(2017);
+emit_16(2084);
+emit_16(2018);
+emit_16(2085);
+emit_16(2019);
+emit_16(2085);
+emit_16(2018);
+emit_16(2085);
+emit_16(2019);
+emit_16(2086);
+emit_16(2020);
+emit_16(2086);
+emit_16(2019);
+emit_16(2086);
+emit_16(2020);
+emit_16(2087);
+emit_16(2021);
+emit_16(2087);
+emit_16(2020);
+emit_16(2087);
+emit_16(2021);
+emit_16(2088);
+emit_16(2022);
+emit_16(2088);
+emit_16(2021);
+emit_16(2088);
+emit_16(2022);
+emit_16(2089);
+emit_16(2023);
+emit_16(2089);
+emit_16(2022);
+emit_16(2089);
+emit_16(2023);
+emit_16(2090);
+emit_16(2024);
+emit_16(2090);
+emit_16(2023);
+emit_16(2090);
+emit_16(2024);
+emit_16(2091);
+emit_16(2025);
+emit_16(2091);
+emit_16(2024);
+emit_16(2091);
+emit_16(2025);
+emit_16(2092);
+emit_16(2026);
+emit_16(2092);
+emit_16(2025);
+emit_16(2092);
+emit_16(2026);
+emit_16(2093);
+emit_16(2027);
+emit_16(2093);
+emit_16(2026);
+emit_16(2093);
+emit_16(2027);
+emit_16(2094);
+emit_16(2028);
+emit_16(2094);
+emit_16(2027);
+emit_16(2094);
+emit_16(2028);
+emit_16(2095);
+emit_16(2029);
+emit_16(2095);
+emit_16(2028);
+emit_16(2095);
+emit_16(2029);
+emit_16(2096);
+emit_16(2030);
+emit_16(2096);
+emit_16(2029);
+emit_16(2096);
+emit_16(2030);
+emit_16(2097);
+emit_16(2031);
+emit_16(2097);
+emit_16(2030);
+emit_16(2097);
+emit_16(2031);
+emit_16(2098);
+emit_16(2032);
+emit_16(2098);
+emit_16(2031);
+emit_16(2098);
+emit_16(2032);
+emit_16(2099);
+emit_16(2033);
+emit_16(2099);
+emit_16(2032);
+emit_16(2099);
+emit_16(2033);
+emit_16(2100);
+emit_16(2034);
+emit_16(2100);
+emit_16(2033);
+emit_16(2100);
+emit_16(2034);
+emit_16(2101);
+emit_16(2035);
+emit_16(2101);
+emit_16(2034);
+emit_16(2101);
+emit_16(2035);
+emit_16(2102);
+emit_16(2036);
+emit_16(2102);
+emit_16(2035);
+emit_16(2102);
+emit_16(2036);
+emit_16(2103);
+emit_16(2037);
+emit_16(2103);
+emit_16(2036);
+emit_16(2103);
+emit_16(2037);
+emit_16(2104);
+emit_16(2038);
+emit_16(2104);
+emit_16(2037);
+emit_16(2104);
+emit_16(2038);
+emit_16(2105);
+emit_16(2039);
+emit_16(2105);
+emit_16(2038);
+emit_16(2105);
+emit_16(2039);
+emit_16(2106);
+emit_16(2040);
+emit_16(2106);
+emit_16(2039);
+emit_16(2106);
+emit_16(2040);
+emit_16(2107);
+emit_16(2041);
+emit_16(2107);
+emit_16(2040);
+emit_16(2107);
+emit_16(2041);
+emit_16(2108);
+emit_16(2042);
+emit_16(2108);
+emit_16(2041);
+emit_16(2108);
+emit_16(2042);
+emit_16(2109);
+emit_16(2043);
+emit_16(2109);
+emit_16(2042);
+emit_16(2109);
+emit_16(2043);
+emit_16(2110);
+emit_16(2044);
+emit_16(2110);
+emit_16(2043);
+emit_16(2110);
+emit_16(2044);
+emit_16(2111);
+emit_16(2045);
+emit_16(2111);
+emit_16(2044);
+emit_16(2112);
+emit_16(2046);
+emit_16(2113);
+emit_16(2047);
+emit_16(2113);
+emit_16(2046);
+emit_16(2113);
+emit_16(2047);
+emit_16(2114);
+emit_16(2048);
+emit_16(2114);
+emit_16(2047);
+emit_16(2114);
+emit_16(2048);
+emit_16(2115);
+emit_16(2049);
+emit_16(2115);
+emit_16(2048);
+emit_16(2115);
+emit_16(2049);
+emit_16(2116);
+emit_16(2050);
+emit_16(2116);
+emit_16(2049);
+emit_16(2116);
+emit_16(2050);
+emit_16(2117);
+emit_16(2051);
+emit_16(2117);
+emit_16(2050);
+emit_16(2117);
+emit_16(2051);
+emit_16(2118);
+emit_16(2052);
+emit_16(2118);
+emit_16(2051);
+emit_16(2118);
+emit_16(2052);
+emit_16(2119);
+emit_16(2053);
+emit_16(2119);
+emit_16(2052);
+emit_16(2119);
+emit_16(2053);
+emit_16(2120);
+emit_16(2054);
+emit_16(2120);
+emit_16(2053);
+emit_16(2120);
+emit_16(2054);
+emit_16(2121);
+emit_16(2055);
+emit_16(2121);
+emit_16(2054);
+emit_16(2121);
+emit_16(2055);
+emit_16(2122);
+emit_16(2056);
+emit_16(2122);
+emit_16(2055);
+emit_16(2122);
+emit_16(2056);
+emit_16(2123);
+emit_16(2057);
+emit_16(2123);
+emit_16(2056);
+emit_16(2123);
+emit_16(2057);
+emit_16(2124);
+emit_16(2058);
+emit_16(2124);
+emit_16(2057);
+emit_16(2124);
+emit_16(2058);
+emit_16(2125);
+emit_16(2059);
+emit_16(2125);
+emit_16(2058);
+emit_16(2125);
+emit_16(2059);
+emit_16(2126);
+emit_16(2060);
+emit_16(2126);
+emit_16(2059);
+emit_16(2126);
+emit_16(2060);
+emit_16(2127);
+emit_16(2061);
+emit_16(2127);
+emit_16(2060);
+emit_16(2127);
+emit_16(2061);
+emit_16(2128);
+emit_16(2062);
+emit_16(2128);
+emit_16(2061);
+emit_16(2128);
+emit_16(2062);
+emit_16(2129);
+emit_16(2063);
+emit_16(2129);
+emit_16(2062);
+emit_16(2129);
+emit_16(2063);
+emit_16(2130);
+emit_16(2064);
+emit_16(2130);
+emit_16(2063);
+emit_16(2130);
+emit_16(2064);
+emit_16(2131);
+emit_16(2065);
+emit_16(2131);
+emit_16(2064);
+emit_16(2131);
+emit_16(2065);
+emit_16(2132);
+emit_16(2066);
+emit_16(2132);
+emit_16(2065);
+emit_16(2132);
+emit_16(2066);
+emit_16(2133);
+emit_16(2067);
+emit_16(2133);
+emit_16(2066);
+emit_16(2133);
+emit_16(2067);
+emit_16(2134);
+emit_16(2068);
+emit_16(2134);
+emit_16(2067);
+emit_16(2134);
+emit_16(2068);
+emit_16(2135);
+emit_16(2069);
+emit_16(2135);
+emit_16(2068);
+emit_16(2135);
+emit_16(2069);
+emit_16(2136);
+emit_16(2070);
+emit_16(2136);
+emit_16(2069);
+emit_16(2136);
+emit_16(2070);
+emit_16(2137);
+emit_16(2071);
+emit_16(2137);
+emit_16(2070);
+emit_16(2137);
+emit_16(2071);
+emit_16(2138);
+emit_16(2072);
+emit_16(2138);
+emit_16(2071);
+emit_16(2138);
+emit_16(2072);
+emit_16(2139);
+emit_16(2073);
+emit_16(2139);
+emit_16(2072);
+emit_16(2139);
+emit_16(2073);
+emit_16(2140);
+emit_16(2074);
+emit_16(2140);
+emit_16(2073);
+emit_16(2140);
+emit_16(2074);
+emit_16(2141);
+emit_16(2075);
+emit_16(2141);
+emit_16(2074);
+emit_16(2141);
+emit_16(2075);
+emit_16(2142);
+emit_16(2076);
+emit_16(2142);
+emit_16(2075);
+emit_16(2142);
+emit_16(2076);
+emit_16(2143);
+emit_16(2077);
+emit_16(2143);
+emit_16(2076);
+emit_16(2143);
+emit_16(2077);
+emit_16(2144);
+emit_16(2078);
+emit_16(2144);
+emit_16(2077);
+emit_16(2144);
+emit_16(2078);
+emit_16(2145);
+emit_16(2079);
+emit_16(2145);
+emit_16(2078);
+emit_16(2145);
+emit_16(2079);
+emit_16(2146);
+emit_16(2080);
+emit_16(2146);
+emit_16(2079);
+emit_16(2146);
+emit_16(2080);
+emit_16(2147);
+emit_16(2081);
+emit_16(2147);
+emit_16(2080);
+emit_16(2147);
+emit_16(2081);
+emit_16(2148);
+emit_16(2082);
+emit_16(2148);
+emit_16(2081);
+emit_16(2148);
+emit_16(2082);
+emit_16(2149);
+emit_16(2083);
+emit_16(2149);
+emit_16(2082);
+emit_16(2149);
+emit_16(2083);
+emit_16(2150);
+emit_16(2084);
+emit_16(2150);
+emit_16(2083);
+emit_16(2150);
+emit_16(2084);
+emit_16(2151);
+emit_16(2085);
+emit_16(2151);
+emit_16(2084);
+emit_16(2151);
+emit_16(2085);
+emit_16(2152);
+emit_16(2086);
+emit_16(2152);
+emit_16(2085);
+emit_16(2152);
+emit_16(2086);
+emit_16(2153);
+emit_16(2087);
+emit_16(2153);
+emit_16(2086);
+emit_16(2153);
+emit_16(2087);
+emit_16(2154);
+emit_16(2088);
+emit_16(2154);
+emit_16(2087);
+emit_16(2154);
+emit_16(2088);
+emit_16(2155);
+emit_16(2089);
+emit_16(2155);
+emit_16(2088);
+emit_16(2155);
+emit_16(2089);
+emit_16(2156);
+emit_16(2090);
+emit_16(2156);
+emit_16(2089);
+emit_16(2156);
+emit_16(2090);
+emit_16(2157);
+emit_16(2091);
+emit_16(2157);
+emit_16(2090);
+emit_16(2157);
+emit_16(2091);
+emit_16(2158);
+emit_16(2092);
+emit_16(2158);
+emit_16(2091);
+emit_16(2158);
+emit_16(2092);
+emit_16(2159);
+emit_16(2093);
+emit_16(2159);
+emit_16(2092);
+emit_16(2159);
+emit_16(2093);
+emit_16(2160);
+emit_16(2094);
+emit_16(2160);
+emit_16(2093);
+emit_16(2160);
+emit_16(2094);
+emit_16(2161);
+emit_16(2095);
+emit_16(2161);
+emit_16(2094);
+emit_16(2161);
+emit_16(2095);
+emit_16(2162);
+emit_16(2096);
+emit_16(2162);
+emit_16(2095);
+emit_16(2162);
+emit_16(2096);
+emit_16(2163);
+emit_16(2097);
+emit_16(2163);
+emit_16(2096);
+emit_16(2163);
+emit_16(2097);
+emit_16(2164);
+emit_16(2098);
+emit_16(2164);
+emit_16(2097);
+emit_16(2164);
+emit_16(2098);
+emit_16(2165);
+emit_16(2099);
+emit_16(2165);
+emit_16(2098);
+emit_16(2165);
+emit_16(2099);
+emit_16(2166);
+emit_16(2100);
+emit_16(2166);
+emit_16(2099);
+emit_16(2166);
+emit_16(2100);
+emit_16(2167);
+emit_16(2101);
+emit_16(2167);
+emit_16(2100);
+emit_16(2167);
+emit_16(2101);
+emit_16(2168);
+emit_16(2102);
+emit_16(2168);
+emit_16(2101);
+emit_16(2168);
+emit_16(2102);
+emit_16(2169);
+emit_16(2103);
+emit_16(2169);
+emit_16(2102);
+emit_16(2169);
+emit_16(2103);
+emit_16(2170);
+emit_16(2104);
+emit_16(2170);
+emit_16(2103);
+emit_16(2170);
+emit_16(2104);
+emit_16(2171);
+emit_16(2105);
+emit_16(2171);
+emit_16(2104);
+emit_16(2171);
+emit_16(2105);
+emit_16(2172);
+emit_16(2106);
+emit_16(2172);
+emit_16(2105);
+emit_16(2172);
+emit_16(2106);
+emit_16(2173);
+emit_16(2107);
+emit_16(2173);
+emit_16(2106);
+emit_16(2173);
+emit_16(2107);
+emit_16(2174);
+emit_16(2108);
+emit_16(2174);
+emit_16(2107);
+emit_16(2174);
+emit_16(2108);
+emit_16(2175);
+emit_16(2109);
+emit_16(2175);
+emit_16(2108);
+emit_16(2175);
+emit_16(2109);
+emit_16(2176);
+emit_16(2110);
+emit_16(2176);
+emit_16(2109);
+emit_16(2176);
+emit_16(2110);
+emit_16(2177);
+emit_16(2111);
+emit_16(2177);
+emit_16(2110);
+emit_start(LandscapeIdxCount)
+emit_32(11718);
+emit_32(11310);
+emit_32(11718);
+emit_32(12096);
+emit_32(12870);
+emit_32(13260);
+emit_32(12852);
+emit_32(12480);
+emit_start(_ZTV14BenchmarkDemo4)
+emit_32(0);
+emit_32(_ZTI14BenchmarkDemo4);
+emit_32(_ZN15DemoApplication6myinitEv__index__);
+emit_32(_ZN15DemoApplication16getDynamicsWorldEv__index__);
+emit_32(_ZN15DemoApplication20localCreateRigidBodyEfRK11btTransformP16btCollisionShape__index__);
+emit_32(_ZN14BenchmarkDemo4D1Ev__index__);
+emit_32(_ZN14BenchmarkDemo4D0Ev__index__);
+emit_32(_ZN13BenchmarkDemo20clientMoveAndDisplayEv__index__);
+emit_32(_ZN13BenchmarkDemo15displayCallbackEv__index__);
+emit_start(_ZTI14BenchmarkDemo4)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS14BenchmarkDemo4);
+emit_32(_ZTI13BenchmarkDemo);
+emit_start(_ZTS14BenchmarkDemo4)
+emit_string('14BenchmarkDemo4\x00');
+emit_start(_ZL14benchmarkDemo4)
+emit_32(_ZTV14BenchmarkDemo4+8);
+emit_32(0);
+emit_32(1566444395);
+emit_fill(0,1);
+emit_fill(0,3);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_8(1);
+emit_fill(0,3);
+emit_fill(0,1);
+emit_fill(0,3);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_8(1);
+emit_fill(0,3);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(4);
+emit_32(0);
+emit_32(0);
+emit_start(_ZTI21btBroadphaseInterface)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS21btBroadphaseInterface);
+emit_start(_ZTS21btBroadphaseInterface)
+emit_string('21btBroadphaseInterface\x00');
+emit_start(_ZTI25btOverlappingPairCallback)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS25btOverlappingPairCallback);
+emit_start(_ZTS25btOverlappingPairCallback)
+emit_string('25btOverlappingPairCallback\x00');
+emit_start(_ZTI22btOverlappingPairCache)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS22btOverlappingPairCache);
+emit_32(_ZTI25btOverlappingPairCallback);
+emit_start(_ZTS22btOverlappingPairCache)
+emit_string('22btOverlappingPairCache\x00');
+emit_start(_ZTV15btNullPairCache)
+emit_32(0);
+emit_32(_ZTI15btNullPairCache);
+emit_32(_ZN15btNullPairCacheD1Ev__index__);
+emit_32(_ZN15btNullPairCacheD0Ev__index__);
+emit_32(_ZN15btNullPairCache18addOverlappingPairEP17btBroadphaseProxyS1___index__);
+emit_32(_ZN15btNullPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher__index__);
+emit_32(_ZN15btNullPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher__index__);
+emit_32(_ZN15btNullPairCache26getOverlappingPairArrayPtrEv__index__);
+emit_32(_ZNK15btNullPairCache26getOverlappingPairArrayPtrEv__index__);
+emit_32(_ZN15btNullPairCache23getOverlappingPairArrayEv__index__);
+emit_32(_ZN15btNullPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher__index__);
+emit_32(_ZNK15btNullPairCache22getNumOverlappingPairsEv__index__);
+emit_32(_ZN15btNullPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher__index__);
+emit_32(_ZN15btNullPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback__index__);
+emit_32(_ZN15btNullPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher__index__);
+emit_32(_ZN15btNullPairCache8findPairEP17btBroadphaseProxyS1___index__);
+emit_32(_ZN15btNullPairCache18hasDeferredRemovalEv__index__);
+emit_32(_ZN15btNullPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback__index__);
+emit_32(_ZN15btNullPairCache20sortOverlappingPairsEP12btDispatcher__index__);
+emit_start(_ZTI15btNullPairCache)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS15btNullPairCache);
+emit_32(_ZTI22btOverlappingPairCache);
+emit_start(_ZTS15btNullPairCache)
+emit_string('15btNullPairCache\x00');
+emit_start(_2E_str11)
+emit_string('handle > 0 && handle < m_maxHandles\x00');
+emit_start(_2E_str112)
+emit_string('../../../../src/BulletCollision/BroadphaseCollision/btAxisSweep3.h\x00');
+emit_start(_2E_str213)
+emit_string('m_firstFreeHandle\x00');
+emit_start(_2E_str314)
+emit_string('!pair.m_algorithm\x00');
+emit_start(_ZTV20btAxisSweep3InternalItE)
+emit_32(0);
+emit_32(_ZTI20btAxisSweep3InternalItE);
+emit_32(_ZN20btAxisSweep3InternalItED1Ev__index__);
+emit_32(_ZN20btAxisSweep3InternalItED0Ev__index__);
+emit_32(_ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4___index__);
+emit_32(_ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher__index__);
+emit_32(_ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher__index__);
+emit_32(_ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4___index__);
+emit_32(_ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3___index__);
+emit_32(_ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback__index__);
+emit_32(_ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher__index__);
+emit_32(_ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv__index__);
+emit_32(_ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv__index__);
+emit_32(_ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2___index__);
+emit_32(_ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher__index__);
+emit_32(_ZN20btAxisSweep3InternalItE10printStatsEv__index__);
+emit_start(_ZTI20btAxisSweep3InternalItE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS20btAxisSweep3InternalItE);
+emit_32(_ZTI21btBroadphaseInterface);
+emit_start(_ZTS20btAxisSweep3InternalItE)
+emit_string('20btAxisSweep3InternalItE\x00');
+emit_start(_ZTV12btAxisSweep3)
+emit_32(0);
+emit_32(_ZTI12btAxisSweep3);
+emit_32(_ZN12btAxisSweep3D1Ev__index__);
+emit_32(_ZN12btAxisSweep3D0Ev__index__);
+emit_32(_ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4___index__);
+emit_32(_ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher__index__);
+emit_32(_ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher__index__);
+emit_32(_ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4___index__);
+emit_32(_ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3___index__);
+emit_32(_ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback__index__);
+emit_32(_ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher__index__);
+emit_32(_ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv__index__);
+emit_32(_ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv__index__);
+emit_32(_ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2___index__);
+emit_32(_ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher__index__);
+emit_32(_ZN20btAxisSweep3InternalItE10printStatsEv__index__);
+emit_start(_ZTI12btAxisSweep3)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS12btAxisSweep3);
+emit_32(_ZTI20btAxisSweep3InternalItE);
+emit_start(_ZTS12btAxisSweep3)
+emit_string('12btAxisSweep3\x00');
+emit_start(_ZTV20btCollisionAlgorithm)
+emit_32(0);
+emit_32(_ZTI20btCollisionAlgorithm);
+emit_32(_ZN20btCollisionAlgorithmD1Ev__index__);
+emit_32(_ZN20btCollisionAlgorithmD0Ev__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_start(_ZTI20btCollisionAlgorithm)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS20btCollisionAlgorithm);
+emit_start(_ZTS20btCollisionAlgorithm)
+emit_string('20btCollisionAlgorithm\x00');
+emit_start(_ZTIN6btDbvt8ICollideE)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTSN6btDbvt8ICollideE);
+emit_start(_ZTSN6btDbvt8ICollideE)
+emit_string('N6btDbvt8ICollideE\x00');
+emit_start(_2E_str1118)
+emit_string('../../../../src/BulletCollision/BroadphaseCollision/btDbvt.cpp\x00');
+emit_start(_2E_str22)
+emit_string('n==p->childs[i]\x00');
+emit_start(_ZTV18btDbvtTreeCollider)
+emit_32(0);
+emit_32(_ZTI18btDbvtTreeCollider);
+emit_32(_ZN18btDbvtTreeColliderD1Ev__index__);
+emit_32(_ZN18btDbvtTreeColliderD0Ev__index__);
+emit_32(_ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNodeS2___index__);
+emit_32(_ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNode__index__);
+emit_32(_ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef__index__);
+emit_32(_ZN6btDbvt8ICollide7DescentEPK10btDbvtNode__index__);
+emit_32(_ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode__index__);
+emit_start(_ZTI18btDbvtTreeCollider)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS18btDbvtTreeCollider);
+emit_32(_ZTIN6btDbvt8ICollideE);
+emit_start(_ZTS18btDbvtTreeCollider)
+emit_string('18btDbvtTreeCollider\x00');
+emit_start(_ZTV19BroadphaseRayTester)
+emit_32(0);
+emit_32(_ZTI19BroadphaseRayTester);
+emit_32(_ZN19BroadphaseRayTesterD1Ev__index__);
+emit_32(_ZN19BroadphaseRayTesterD0Ev__index__);
+emit_32(_ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3___index__);
+emit_32(_ZN19BroadphaseRayTester7ProcessEPK10btDbvtNode__index__);
+emit_32(_ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef__index__);
+emit_32(_ZN6btDbvt8ICollide7DescentEPK10btDbvtNode__index__);
+emit_32(_ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode__index__);
+emit_start(_ZTI19BroadphaseRayTester)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS19BroadphaseRayTester);
+emit_32(_ZTIN6btDbvt8ICollideE);
+emit_start(_ZTS19BroadphaseRayTester)
+emit_string('19BroadphaseRayTester\x00');
+emit_start(_ZTV20BroadphaseAabbTester)
+emit_32(0);
+emit_32(_ZTI20BroadphaseAabbTester);
+emit_32(_ZN20BroadphaseAabbTesterD1Ev__index__);
+emit_32(_ZN20BroadphaseAabbTesterD0Ev__index__);
+emit_32(_ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3___index__);
+emit_32(_ZN20BroadphaseAabbTester7ProcessEPK10btDbvtNode__index__);
+emit_32(_ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef__index__);
+emit_32(_ZN6btDbvt8ICollide7DescentEPK10btDbvtNode__index__);
+emit_32(_ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode__index__);
+emit_start(_ZTI20BroadphaseAabbTester)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS20BroadphaseAabbTester);
+emit_32(_ZTIN6btDbvt8ICollideE);
+emit_start(_ZTS20BroadphaseAabbTester)
+emit_string('20BroadphaseAabbTester\x00');
+emit_start(_2E_str18)
+emit_string('../../../../src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp\x00');
+emit_start(_ZTV16btDbvtBroadphase)
+emit_32(0);
+emit_32(_ZTI16btDbvtBroadphase);
+emit_32(_ZN16btDbvtBroadphaseD1Ev__index__);
+emit_32(_ZN16btDbvtBroadphaseD0Ev__index__);
+emit_32(_ZN16btDbvtBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3___index__);
+emit_32(_ZN16btDbvtBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher__index__);
+emit_32(_ZN16btDbvtBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher__index__);
+emit_32(_ZNK16btDbvtBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3___index__);
+emit_32(_ZN16btDbvtBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2___index__);
+emit_32(_ZN16btDbvtBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback__index__);
+emit_32(_ZN16btDbvtBroadphase25calculateOverlappingPairsEP12btDispatcher__index__);
+emit_32(_ZN16btDbvtBroadphase23getOverlappingPairCacheEv__index__);
+emit_32(_ZNK16btDbvtBroadphase23getOverlappingPairCacheEv__index__);
+emit_32(_ZNK16btDbvtBroadphase17getBroadphaseAabbER9btVector3S1___index__);
+emit_32(_ZN16btDbvtBroadphase9resetPoolEP12btDispatcher__index__);
+emit_32(_ZN16btDbvtBroadphase10printStatsEv__index__);
+emit_start(_ZTI16btDbvtBroadphase)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS16btDbvtBroadphase);
+emit_32(_ZTI21btBroadphaseInterface);
+emit_start(_ZTS16btDbvtBroadphase)
+emit_string('16btDbvtBroadphase\x00');
+emit_start(_ZTV12btDispatcher)
+emit_32(0);
+emit_32(_ZTI12btDispatcher);
+emit_32(_ZN12btDispatcherD1Ev__index__);
+emit_32(_ZN12btDispatcherD0Ev__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_start(_ZTI12btDispatcher)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS12btDispatcher);
+emit_start(_ZTS12btDispatcher)
+emit_string('12btDispatcher\x00');
+emit_start(_ZTI21btNodeOverlapCallback)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS21btNodeOverlapCallback);
+emit_start(_ZTS21btNodeOverlapCallback)
+emit_string('21btNodeOverlapCallback\x00');
+emit_start(_2E_str10)
+emit_string('0\x00');
+emit_start(_2E_str212)
+emit_string('m_useQuantization\x00');
+emit_start(_2E_str313)
+emit_string('../../../../src/BulletCollision/BroadphaseCollision/btQuantizedBvh.h\x00');
+emit_start(_2E_str414)
+emit_string('point.getX() <= m_bvhAabbMax.getX()\x00');
+emit_start(_2E_str515)
+emit_string('point.getY() <= m_bvhAabbMax.getY()\x00');
+emit_start(_2E_str616)
+emit_string('point.getZ() <= m_bvhAabbMax.getZ()\x00');
+emit_start(_2E_str717)
+emit_string('point.getX() >= m_bvhAabbMin.getX()\x00');
+emit_start(_2E_str820)
+emit_string('point.getY() >= m_bvhAabbMin.getY()\x00');
+emit_start(_2E_str9)
+emit_string('point.getZ() >= m_bvhAabbMin.getZ()\x00');
+emit_start(_ZTI17btOverlapCallback)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS17btOverlapCallback);
+emit_start(_ZTS17btOverlapCallback)
+emit_string('17btOverlapCallback\x00');
+emit_start(_ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback)
+emit_32(0);
+emit_32(_ZTIZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback);
+emit_32(_ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev__index__);
+emit_32(_ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev__index__);
+emit_32(_ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair__index__);
+emit_start(_ZTIZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback);
+emit_32(_ZTI17btOverlapCallback);
+emit_start(_ZTSZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback)
+emit_string('ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback\x00');
+emit_start(_ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback)
+emit_32(0);
+emit_32(_ZTIZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback);
+emit_32(_ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev__index__);
+emit_32(_ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev__index__);
+emit_32(_ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair__index__);
+emit_start(_ZTIZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback);
+emit_32(_ZTI17btOverlapCallback);
+emit_start(_ZTSZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback)
+emit_string('ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback\x00');
+emit_start(_ZTV28btHashedOverlappingPairCache)
+emit_32(0);
+emit_32(_ZTI28btHashedOverlappingPairCache);
+emit_32(_ZN28btHashedOverlappingPairCacheD1Ev__index__);
+emit_32(_ZN28btHashedOverlappingPairCacheD0Ev__index__);
+emit_32(_ZN28btHashedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1___index__);
+emit_32(_ZN28btHashedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher__index__);
+emit_32(_ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher__index__);
+emit_32(_ZN28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv__index__);
+emit_32(_ZNK28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv__index__);
+emit_32(_ZN28btHashedOverlappingPairCache23getOverlappingPairArrayEv__index__);
+emit_32(_ZN28btHashedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher__index__);
+emit_32(_ZNK28btHashedOverlappingPairCache22getNumOverlappingPairsEv__index__);
+emit_32(_ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher__index__);
+emit_32(_ZN28btHashedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback__index__);
+emit_32(_ZN28btHashedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher__index__);
+emit_32(_ZN28btHashedOverlappingPairCache8findPairEP17btBroadphaseProxyS1___index__);
+emit_32(_ZN28btHashedOverlappingPairCache18hasDeferredRemovalEv__index__);
+emit_32(_ZN28btHashedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback__index__);
+emit_32(_ZN28btHashedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher__index__);
+emit_start(_ZTI28btHashedOverlappingPairCache)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS28btHashedOverlappingPairCache);
+emit_32(_ZTI22btOverlappingPairCache);
+emit_start(_ZTS28btHashedOverlappingPairCache)
+emit_string('28btHashedOverlappingPairCache\x00');
+emit_start(_2E_str121)
+emit_string('../../../../src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp\x00');
+emit_start(_2E_str222)
+emit_string('index < m_overlappingPairArray.size()\x00');
+emit_start(_2E_str323)
+emit_string('../../../../src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h\x00');
+emit_start(_2E_str424)
+emit_string('pair->m_pProxy0->getUid() == proxyId1\x00');
+emit_start(_2E_str525)
+emit_string('pair->m_pProxy1->getUid() == proxyId2\x00');
+emit_start(_2E_str626)
+emit_string('pairIndex < m_overlappingPairArray.size()\x00');
+emit_start(_2E_str727)
+emit_string('index != BT_NULL_PAIR\x00');
+emit_start(_2E_str32)
+emit_string('btOptimizedBvhNodeData\x00');
+emit_start(_2E_str133)
+emit_string('btQuantizedBvhNodeData\x00');
+emit_start(_2E_str234)
+emit_string('btBvhSubtreeInfoData\x00');
+emit_start(_2E_str335)
+emit_string('btQuantizedBvhFloatData\x00');
+emit_start(_ZTV14btQuantizedBvh)
+emit_32(0);
+emit_32(_ZTI14btQuantizedBvh);
+emit_32(_ZN14btQuantizedBvhD1Ev__index__);
+emit_32(_ZN14btQuantizedBvhD0Ev__index__);
+emit_32(_ZNK14btQuantizedBvh9serializeEPvjb__index__);
+emit_32(_ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv__index__);
+emit_32(_ZNK14btQuantizedBvh9serializeEPvP12btSerializer__index__);
+emit_32(_ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData__index__);
+emit_32(_ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData__index__);
+emit_start(_ZTI14btQuantizedBvh)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS14btQuantizedBvh);
+emit_start(_ZTS14btQuantizedBvh)
+emit_string('14btQuantizedBvh\x00');
+emit_start(_2E_str537)
+emit_string('../../../../src/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp\x00');
+emit_start(_2E_str638)
+emit_string('m_subtreeHeaderCount == m_SubtreeHeaders.size()\x00');
+emit_start(_2E_str739)
+emit_string('isLeafNode()\x00');
+emit_start(_2E_str941)
+emit_string('!isLeafNode()\x00');
+emit_start(_2E_str1143)
+emit_string('walkIterations < subTreeSize\x00');
+emit_start(_2E_str1844)
+emit_string('!m_useQuantization\x00');
+emit_start(_2E_str1921)
+emit_string('walkIterations < m_curNodeIndex\x00');
+emit_start(_2E_str21)
+emit_string('!unbal\x00');
+emit_start(_2E_str2246)
+emit_string('numIndices>0\x00');
+emit_start(_ZTV30btActivatingCollisionAlgorithm)
+emit_32(0);
+emit_32(_ZTI30btActivatingCollisionAlgorithm);
+emit_32(_ZN30btActivatingCollisionAlgorithmD1Ev__index__);
+emit_32(_ZN30btActivatingCollisionAlgorithmD0Ev__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_start(_ZTI30btActivatingCollisionAlgorithm)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS30btActivatingCollisionAlgorithm);
+emit_32(_ZTI20btCollisionAlgorithm);
+emit_start(_ZTS30btActivatingCollisionAlgorithm)
+emit_string('30btActivatingCollisionAlgorithm\x00');
+emit_start(_2E_str59)
+emit_string('m_manifoldPtr\x00');
+emit_start(_2E_str160)
+emit_string('../../../../src/BulletCollision/CollisionDispatch/btManifoldResult.h\x00');
+emit_start(_ZTV26btBoxBoxCollisionAlgorithm)
+emit_32(0);
+emit_32(_ZTI26btBoxBoxCollisionAlgorithm);
+emit_32(_ZN26btBoxBoxCollisionAlgorithmD1Ev__index__);
+emit_32(_ZN26btBoxBoxCollisionAlgorithmD0Ev__index__);
+emit_32(_ZN26btBoxBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN26btBoxBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN26btBoxBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__);
+emit_start(_ZTI26btBoxBoxCollisionAlgorithm)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS26btBoxBoxCollisionAlgorithm);
+emit_32(_ZTI30btActivatingCollisionAlgorithm);
+emit_start(_ZTS26btBoxBoxCollisionAlgorithm)
+emit_string('26btBoxBoxCollisionAlgorithm\x00');
+emit_start(_ZTI36btDiscreteCollisionDetectorInterface)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS36btDiscreteCollisionDetectorInterface);
+emit_start(_ZTS36btDiscreteCollisionDetectorInterface)
+emit_string('36btDiscreteCollisionDetectorInterface\x00');
+emit_start(_ZTV16btBoxBoxDetector)
+emit_32(0);
+emit_32(_ZTI16btBoxBoxDetector);
+emit_32(_ZN16btBoxBoxDetectorD1Ev__index__);
+emit_32(_ZN16btBoxBoxDetectorD0Ev__index__);
+emit_32(_ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb__index__);
+emit_start(_ZTI16btBoxBoxDetector)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS16btBoxBoxDetector);
+emit_32(_ZTI36btDiscreteCollisionDetectorInterface);
+emit_start(_ZTS16btBoxBoxDetector)
+emit_string('16btBoxBoxDetector\x00');
+emit_start(_2E_str65)
+emit_string('*iret != i0\x00');
+emit_start(_2E_str166)
+emit_string('../../../../src/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp\x00');
+emit_start(_ZTIN36btDiscreteCollisionDetectorInterface6ResultE)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTSN36btDiscreteCollisionDetectorInterface6ResultE);
+emit_start(_ZTSN36btDiscreteCollisionDetectorInterface6ResultE)
+emit_string('N36btDiscreteCollisionDetectorInterface6ResultE\x00');
+emit_start(_ZTV23btCollisionPairCallback)
+emit_32(0);
+emit_32(_ZTI23btCollisionPairCallback);
+emit_32(_ZN23btCollisionPairCallbackD1Ev__index__);
+emit_32(_ZN23btCollisionPairCallbackD0Ev__index__);
+emit_32(_ZN23btCollisionPairCallback14processOverlapER16btBroadphasePair__index__);
+emit_start(_ZTI23btCollisionPairCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS23btCollisionPairCallback);
+emit_32(_ZTI17btOverlapCallback);
+emit_start(_ZTS23btCollisionPairCallback)
+emit_string('23btCollisionPairCallback\x00');
+emit_start(_2E_str169)
+emit_string('../../../../src/LinearMath/btPoolAllocator.h\x00');
+emit_start(_2E_str270)
+emit_string('!size || size<=m_elemSize\x00');
+emit_start(_2E_str371)
+emit_string('m_freeCount>0\x00');
+emit_start(_2E_str472)
+emit_string('findIndex < m_manifoldsPtr.size()\x00');
+emit_start(_2E_str573)
+emit_string('../../../../src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp\x00');
+emit_start(_ZTV21btCollisionDispatcher)
+emit_32(0);
+emit_32(_ZTI21btCollisionDispatcher);
+emit_32(_ZN21btCollisionDispatcherD1Ev__index__);
+emit_32(_ZN21btCollisionDispatcherD0Ev__index__);
+emit_32(_ZN21btCollisionDispatcher13findAlgorithmEP17btCollisionObjectS1_P20btPersistentManifold__index__);
+emit_32(_ZN21btCollisionDispatcher14getNewManifoldEPvS0___index__);
+emit_32(_ZN21btCollisionDispatcher15releaseManifoldEP20btPersistentManifold__index__);
+emit_32(_ZN21btCollisionDispatcher13clearManifoldEP20btPersistentManifold__index__);
+emit_32(_ZN21btCollisionDispatcher14needsCollisionEP17btCollisionObjectS1___index__);
+emit_32(_ZN21btCollisionDispatcher13needsResponseEP17btCollisionObjectS1___index__);
+emit_32(_ZN21btCollisionDispatcher25dispatchAllCollisionPairsEP22btOverlappingPairCacheRK16btDispatcherInfoP12btDispatcher__index__);
+emit_32(_ZNK21btCollisionDispatcher15getNumManifoldsEv__index__);
+emit_32(_ZN21btCollisionDispatcher26getManifoldByIndexInternalEi__index__);
+emit_32(_ZN21btCollisionDispatcher26getInternalManifoldPointerEv__index__);
+emit_32(_ZN21btCollisionDispatcher26allocateCollisionAlgorithmEi__index__);
+emit_32(_ZN21btCollisionDispatcher22freeCollisionAlgorithmEPv__index__);
+emit_start(_ZTI21btCollisionDispatcher)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS21btCollisionDispatcher);
+emit_32(_ZTI12btDispatcher);
+emit_start(_ZTS21btCollisionDispatcher)
+emit_string('21btCollisionDispatcher\x00');
+emit_start(_2E_str674)
+emit_string('m_doubleDispatch[i][j]\x00');
+emit_start(_2E_str775)
+emit_string('body0\x00');
+emit_start(_2E_str876)
+emit_string('body1\x00');
+emit_start(_2E_str977)
+emit_string('warning btCollisionDispatcher::needsCollision: static-static collision!\x0a\x00');
+emit_start(_ZTV17btCollisionObject)
+emit_32(0);
+emit_32(_ZTI17btCollisionObject);
+emit_32(_ZN17btCollisionObject24checkCollideWithOverrideEPS___index__);
+emit_32(_ZN17btCollisionObjectD1Ev__index__);
+emit_32(_ZN17btCollisionObjectD0Ev__index__);
+emit_32(_ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape__index__);
+emit_32(_ZNK17btCollisionObject28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK17btCollisionObject9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer__index__);
+emit_start(_ZTI17btCollisionObject)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS17btCollisionObject);
+emit_start(_ZTS17btCollisionObject)
+emit_string('17btCollisionObject\x00');
+emit_start(_2E_str78)
+emit_string('btCollisionObjectFloatData\x00');
+emit_start(_ZTIN16btCollisionWorld20ConvexResultCallbackE)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTSN16btCollisionWorld20ConvexResultCallbackE);
+emit_start(_ZTSN16btCollisionWorld20ConvexResultCallbackE)
+emit_string('N16btCollisionWorld20ConvexResultCallbackE\x00');
+emit_start(_ZTI30btConvexPenetrationDepthSolver)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS30btConvexPenetrationDepthSolver);
+emit_start(_ZTS30btConvexPenetrationDepthSolver)
+emit_string('30btConvexPenetrationDepthSolver\x00');
+emit_start(_ZTVN12btConvexCast10CastResultE)
+emit_32(0);
+emit_32(_ZTIN12btConvexCast10CastResultE);
+emit_32(_ZN12btConvexCast10CastResult9DebugDrawEf__index__);
+emit_32(_ZN12btConvexCast10CastResult15drawCoordSystemERK11btTransform__index__);
+emit_32(_ZN12btConvexCast10CastResultD1Ev__index__);
+emit_32(_ZN12btConvexCast10CastResultD0Ev__index__);
+emit_start(_ZTIN12btConvexCast10CastResultE)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTSN12btConvexCast10CastResultE);
+emit_start(_ZTSN12btConvexCast10CastResultE)
+emit_string('N12btConvexCast10CastResultE\x00');
+emit_start(_ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2)
+emit_32(0);
+emit_32(_ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2);
+emit_32(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D1Ev__index__);
+emit_32(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D0Ev__index__);
+emit_32(_ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy__index__);
+emit_32(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder215addSingleResultERNS_14LocalRayResultEb__index__);
+emit_start(_ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2);
+emit_32(_ZTIN16btCollisionWorld17RayResultCallbackE);
+emit_start(_ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2)
+emit_string('ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2\x00');
+emit_start(_ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder)
+emit_32(0);
+emit_32(_ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder);
+emit_32(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD1Ev__index__);
+emit_32(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD0Ev__index__);
+emit_32(_ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy__index__);
+emit_32(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdder15addSingleResultERNS_17LocalConvexResultEb__index__);
+emit_start(_ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder);
+emit_32(_ZTIN16btCollisionWorld20ConvexResultCallbackE);
+emit_start(_ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder)
+emit_string('ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder\x00');
+emit_start(_ZTI24btBroadphaseAabbCallback)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS24btBroadphaseAabbCallback);
+emit_start(_ZTS24btBroadphaseAabbCallback)
+emit_string('24btBroadphaseAabbCallback\x00');
+emit_start(_ZTI23btBroadphaseRayCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS23btBroadphaseRayCallback);
+emit_32(_ZTI24btBroadphaseAabbCallback);
+emit_start(_ZTS23btBroadphaseRayCallback)
+emit_string('23btBroadphaseRayCallback\x00');
+emit_start(_ZTV17DebugDrawcallback)
+emit_32(0);
+emit_32(_ZTI17DebugDrawcallback);
+emit_32(_ZN17DebugDrawcallbackD1Ev__index__);
+emit_32(_ZN17DebugDrawcallbackD0Ev__index__);
+emit_32(_ZN17DebugDrawcallback15processTriangleEP9btVector3ii__index__);
+emit_32(_ZN17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii__index__);
+emit_32(4294967292);
+emit_32(_ZTI17DebugDrawcallback);
+emit_32(_ZThn4_N17DebugDrawcallbackD1Ev__index__);
+emit_32(_ZThn4_N17DebugDrawcallbackD0Ev__index__);
+emit_32(_ZThn4_N17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii__index__);
+emit_start(_ZTI17DebugDrawcallback)
+emit_32(_ZTVN10__cxxabiv121__vmi_class_type_infoE+8);
+emit_32(_ZTS17DebugDrawcallback);
+emit_32(0);
+emit_32(2);
+emit_32(_ZTI18btTriangleCallback);
+emit_32(2);
+emit_32(_ZTI31btInternalTriangleIndexCallback);
+emit_32(1026);
+emit_start(_ZTS17DebugDrawcallback)
+emit_string('17DebugDrawcallback\x00');
+emit_start(_ZTI18btTriangleCallback)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS18btTriangleCallback);
+emit_start(_ZTS18btTriangleCallback)
+emit_string('18btTriangleCallback\x00');
+emit_start(_ZTI31btInternalTriangleIndexCallback)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS31btInternalTriangleIndexCallback);
+emit_start(_ZTS31btInternalTriangleIndexCallback)
+emit_string('31btInternalTriangleIndexCallback\x00');
+emit_start(_ZTV16btCollisionWorld)
+emit_32(0);
+emit_32(_ZTI16btCollisionWorld);
+emit_32(_ZN16btCollisionWorldD1Ev__index__);
+emit_32(_ZN16btCollisionWorldD0Ev__index__);
+emit_32(_ZN16btCollisionWorld11updateAabbsEv__index__);
+emit_32(_ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw__index__);
+emit_32(_ZN16btCollisionWorld14getDebugDrawerEv__index__);
+emit_32(_ZN16btCollisionWorld14debugDrawWorldEv__index__);
+emit_32(_ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3__index__);
+emit_32(_ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE__index__);
+emit_32(_ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss__index__);
+emit_32(_ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject__index__);
+emit_32(_ZN16btCollisionWorld33performDiscreteCollisionDetectionEv__index__);
+emit_32(_ZN16btCollisionWorld9serializeEP12btSerializer__index__);
+emit_start(_ZTI16btCollisionWorld)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS16btCollisionWorld);
+emit_start(_ZTS16btCollisionWorld)
+emit_string('16btCollisionWorld\x00');
+emit_start(_ZTI16btManifoldResult)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS16btManifoldResult);
+emit_32(_ZTIN36btDiscreteCollisionDetectorInterface6ResultE);
+emit_start(_ZTS16btManifoldResult)
+emit_string('16btManifoldResult\x00');
+emit_start(_ZTV21btSingleSweepCallback)
+emit_32(0);
+emit_32(_ZTI21btSingleSweepCallback);
+emit_32(_ZN21btSingleSweepCallbackD1Ev__index__);
+emit_32(_ZN21btSingleSweepCallbackD0Ev__index__);
+emit_32(_ZN21btSingleSweepCallback7processEPK17btBroadphaseProxy__index__);
+emit_start(_ZTI21btSingleSweepCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS21btSingleSweepCallback);
+emit_32(_ZTI23btBroadphaseRayCallback);
+emit_start(_ZTS21btSingleSweepCallback)
+emit_string('21btSingleSweepCallback\x00');
+emit_start(_ZTV19btSingleRayCallback)
+emit_32(0);
+emit_32(_ZTI19btSingleRayCallback);
+emit_32(_ZN19btSingleRayCallbackD1Ev__index__);
+emit_32(_ZN19btSingleRayCallbackD0Ev__index__);
+emit_32(_ZN19btSingleRayCallback7processEPK17btBroadphaseProxy__index__);
+emit_start(_ZTI19btSingleRayCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS19btSingleRayCallback);
+emit_32(_ZTI23btBroadphaseRayCallback);
+emit_start(_ZTS19btSingleRayCallback)
+emit_string('19btSingleRayCallback\x00');
+emit_start(_2E_str382)
+emit_string('index < m_cachedPoints\x00');
+emit_start(_2E_str483)
+emit_string('../../../../src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h\x00');
+emit_start(_2E_str584)
+emit_string('s != btScalar(0.0)\x00');
+emit_start(_2E_str685)
+emit_string('../../../../src/LinearMath/btQuaternion.h\x00');
+emit_start(_2E_str786)
+emit_string('collisionObject\x00');
+emit_start(_2E_str887)
+emit_string('../../../../src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp\x00');
+emit_start(_2E_str988)
+emit_string('m_collisionObjects.findLinearSearch(collisionObject) == m_collisionObjects.size()\x00');
+emit_start(_ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0)
+emit_32(0);
+emit_32(_ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0);
+emit_32(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1E_0v__index__);
+emit_32(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0E_0v__index__);
+emit_32(_ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii__index__);
+emit_32(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitE_0RK9btVector3SG_fii__index__);
+emit_start(_ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0);
+emit_32(_ZTI28btTriangleConvexcastCallback);
+emit_start(_ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0)
+emit_string('ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0\x00');
+emit_start(_ZTI28btTriangleConvexcastCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS28btTriangleConvexcastCallback);
+emit_32(_ZTI18btTriangleCallback);
+emit_start(_ZTS28btTriangleConvexcastCallback)
+emit_string('28btTriangleConvexcastCallback\x00');
+emit_start(_ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback)
+emit_32(0);
+emit_32(_ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback);
+emit_32(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1Ev__index__);
+emit_32(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0Ev__index__);
+emit_32(_ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii__index__);
+emit_32(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitERK9btVector3SG_fii__index__);
+emit_start(_ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback);
+emit_32(_ZTI28btTriangleConvexcastCallback);
+emit_start(_ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback)
+emit_string('ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback\x00');
+emit_start(_ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0)
+emit_32(0);
+emit_32(_ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0);
+emit_32(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1E_0v__index__);
+emit_32(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0E_0v__index__);
+emit_32(_ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii__index__);
+emit_32(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitE_0RK9btVector3fii__index__);
+emit_start(_ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0);
+emit_32(_ZTI25btTriangleRaycastCallback);
+emit_start(_ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0)
+emit_string('ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0\x00');
+emit_start(_ZTI25btTriangleRaycastCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS25btTriangleRaycastCallback);
+emit_32(_ZTI18btTriangleCallback);
+emit_start(_ZTS25btTriangleRaycastCallback)
+emit_string('25btTriangleRaycastCallback\x00');
+emit_start(_ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback)
+emit_32(0);
+emit_32(_ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback);
+emit_32(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1Ev__index__);
+emit_32(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0Ev__index__);
+emit_32(_ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii__index__);
+emit_32(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitERK9btVector3fii__index__);
+emit_start(_ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback);
+emit_32(_ZTI25btTriangleRaycastCallback);
+emit_start(_ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback)
+emit_string('ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback\x00');
+emit_start(_2E_str1089)
+emit_string('convexSweepTest\x00');
+emit_start(_2E_str1190)
+emit_string('performDiscreteCollisionDetection\x00');
+emit_start(_2E_str1291)
+emit_string('calculateOverlappingPairs\x00');
+emit_start(_2E_str1392)
+emit_string('dispatchAllCollisionPairs\x00');
+emit_start(_2E_str1493)
+emit_string('convexSweepCompound\x00');
+emit_start(_2E_str1594)
+emit_string('Overflow in AABB, object removed from simulation\x00');
+emit_start(_2E_str1695)
+emit_string('If you can reproduce this, please email bugs@continuousphysics.com\x0a\x00');
+emit_start(_2E_str1796)
+emit_string('Please include above information, your Platform, version of OS.\x0a\x00');
+emit_start(_2E_str1897)
+emit_string('Thanks.\x0a\x00');
+emit_start(_2E_str1998)
+emit_string('updateAabbs\x00');
+emit_start(_ZTV22btCompoundLeafCallback)
+emit_32(0);
+emit_32(_ZTI22btCompoundLeafCallback);
+emit_32(_ZN22btCompoundLeafCallbackD1Ev__index__);
+emit_32(_ZN22btCompoundLeafCallbackD0Ev__index__);
+emit_32(_ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3___index__);
+emit_32(_ZN22btCompoundLeafCallback7ProcessEPK10btDbvtNode__index__);
+emit_32(_ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef__index__);
+emit_32(_ZN6btDbvt8ICollide7DescentEPK10btDbvtNode__index__);
+emit_32(_ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode__index__);
+emit_start(_ZTI22btCompoundLeafCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS22btCompoundLeafCallback);
+emit_32(_ZTIN6btDbvt8ICollideE);
+emit_start(_ZTS22btCompoundLeafCallback)
+emit_string('22btCompoundLeafCallback\x00');
+emit_start(_2E_str99)
+emit_string('colObj->getCollisionShape()->isCompound()\x00');
+emit_start(_2E_str1100)
+emit_string('../../../../src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp\x00');
+emit_start(_2E_str2101)
+emit_string('localAabbMin.getX() <= localAabbMax.getX()\x00');
+emit_start(_2E_str3102)
+emit_string('../../../../src/LinearMath/btAabbUtil2.h\x00');
+emit_start(_2E_str4103)
+emit_string('localAabbMin.getY() <= localAabbMax.getY()\x00');
+emit_start(_2E_str5104)
+emit_string('localAabbMin.getZ() <= localAabbMax.getZ()\x00');
+emit_start(_2E_str6105)
+emit_string('index>=0\x00');
+emit_start(_2E_str7106)
+emit_string('index<compoundShape->getNumChildShapes()\x00');
+emit_start(_ZTV28btCompoundCollisionAlgorithm)
+emit_32(0);
+emit_32(_ZTI28btCompoundCollisionAlgorithm);
+emit_32(_ZN28btCompoundCollisionAlgorithmD1Ev__index__);
+emit_32(_ZN28btCompoundCollisionAlgorithmD0Ev__index__);
+emit_32(_ZN28btCompoundCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN28btCompoundCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN28btCompoundCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__);
+emit_start(_ZTI28btCompoundCollisionAlgorithm)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS28btCompoundCollisionAlgorithm);
+emit_32(_ZTI30btActivatingCollisionAlgorithm);
+emit_start(_ZTS28btCompoundCollisionAlgorithm)
+emit_string('28btCompoundCollisionAlgorithm\x00');
+emit_start(_2E_str109)
+emit_string('Triangle\x00');
+emit_start(_ZTV24btConvexTriangleCallback)
+emit_32(0);
+emit_32(_ZTI24btConvexTriangleCallback);
+emit_32(_ZN24btConvexTriangleCallbackD1Ev__index__);
+emit_32(_ZN24btConvexTriangleCallbackD0Ev__index__);
+emit_32(_ZN24btConvexTriangleCallback15processTriangleEP9btVector3ii__index__);
+emit_start(_ZTI24btConvexTriangleCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS24btConvexTriangleCallback);
+emit_32(_ZTI18btTriangleCallback);
+emit_start(_ZTS24btConvexTriangleCallback)
+emit_string('24btConvexTriangleCallback\x00');
+emit_start(_ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback)
+emit_32(0);
+emit_32(_ZTIZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback);
+emit_32(_ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD1Ev__index__);
+emit_32(_ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD0Ev__index__);
+emit_32(_ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallback15processTriangleEP9btVector3ii__index__);
+emit_start(_ZTIZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback);
+emit_32(_ZTI18btTriangleCallback);
+emit_start(_ZTSZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback)
+emit_string('ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback\x00');
+emit_start(_ZTV15btTriangleShape)
+emit_32(0);
+emit_32(_ZTI15btTriangleShape);
+emit_32(_ZN15btTriangleShapeD1Ev__index__);
+emit_32(_ZN15btTriangleShapeD0Ev__index__);
+emit_32(_ZNK15btTriangleShape7getAabbERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf__index__);
+emit_32(_ZNK16btCollisionShape20getAngularMotionDiscEv__index__);
+emit_32(_ZNK16btCollisionShape27getContactBreakingThresholdEf__index__);
+emit_32(_ZN21btConvexInternalShape15setLocalScalingERK9btVector3__index__);
+emit_32(_ZNK21btConvexInternalShape15getLocalScalingEv__index__);
+emit_32(_ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3__index__);
+emit_32(_ZNK15btTriangleShape7getNameEv__index__);
+emit_32(_ZN21btConvexInternalShape9setMarginEf__index__);
+emit_32(_ZNK21btConvexInternalShape9getMarginEv__index__);
+emit_32(_ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK21btConvexInternalShape9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer__index__);
+emit_32(_ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3__index__);
+emit_32(_ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__);
+emit_32(_ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i__index__);
+emit_32(_ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv__index__);
+emit_32(_ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3__index__);
+emit_32(_ZNK15btTriangleShape14getNumVerticesEv__index__);
+emit_32(_ZNK15btTriangleShape11getNumEdgesEv__index__);
+emit_32(_ZNK15btTriangleShape7getEdgeEiR9btVector3S1___index__);
+emit_32(_ZNK15btTriangleShape9getVertexEiR9btVector3__index__);
+emit_32(_ZNK15btTriangleShape12getNumPlanesEv__index__);
+emit_32(_ZNK15btTriangleShape8getPlaneER9btVector3S1_i__index__);
+emit_32(_ZNK15btTriangleShape8isInsideERK9btVector3f__index__);
+emit_32(_ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1___index__);
+emit_start(_ZTI15btTriangleShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS15btTriangleShape);
+emit_32(_ZTI23btPolyhedralConvexShape);
+emit_start(_ZTS15btTriangleShape)
+emit_string('15btTriangleShape\x00');
+emit_start(_ZTI23btPolyhedralConvexShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS23btPolyhedralConvexShape);
+emit_32(_ZTI21btConvexInternalShape);
+emit_start(_ZTS23btPolyhedralConvexShape)
+emit_string('23btPolyhedralConvexShape\x00');
+emit_start(_ZTI21btConvexInternalShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS21btConvexInternalShape);
+emit_32(_ZTI13btConvexShape);
+emit_start(_ZTS21btConvexInternalShape)
+emit_string('21btConvexInternalShape\x00');
+emit_start(_ZTI13btConvexShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS13btConvexShape);
+emit_32(_ZTI16btCollisionShape);
+emit_start(_ZTS13btConvexShape)
+emit_string('13btConvexShape\x00');
+emit_start(_ZTI16btCollisionShape)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS16btCollisionShape);
+emit_start(_ZTS16btCollisionShape)
+emit_string('16btCollisionShape\x00');
+emit_start(_2E_str1110)
+emit_string('btConvexInternalShapeData\x00');
+emit_start(_2E_str3112)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btTriangleShape.h\x00');
+emit_start(_ZTV33btConvexConcaveCollisionAlgorithm)
+emit_32(0);
+emit_32(_ZTI33btConvexConcaveCollisionAlgorithm);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithmD1Ev__index__);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithmD0Ev__index__);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__);
+emit_start(_ZTI33btConvexConcaveCollisionAlgorithm)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS33btConvexConcaveCollisionAlgorithm);
+emit_32(_ZTI30btActivatingCollisionAlgorithm);
+emit_start(_ZTS33btConvexConcaveCollisionAlgorithm)
+emit_string('33btConvexConcaveCollisionAlgorithm\x00');
+emit_start(_ZTI30btCollisionAlgorithmCreateFunc)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTS30btCollisionAlgorithmCreateFunc)
+emit_string('30btCollisionAlgorithmCreateFunc\x00');
+emit_start(_ZTVN23btConvexConvexAlgorithm10CreateFuncE)
+emit_32(0);
+emit_32(_ZTIN23btConvexConvexAlgorithm10CreateFuncE);
+emit_32(_ZN23btConvexConvexAlgorithm10CreateFuncD1Ev__index__);
+emit_32(_ZN23btConvexConvexAlgorithm10CreateFuncD0Ev__index__);
+emit_32(_ZN23btConvexConvexAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__);
+emit_start(_ZTIN23btConvexConvexAlgorithm10CreateFuncE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN23btConvexConvexAlgorithm10CreateFuncE);
+emit_32(_ZTI30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTSN23btConvexConvexAlgorithm10CreateFuncE)
+emit_string('N23btConvexConvexAlgorithm10CreateFuncE\x00');
+emit_start(_ZTV24btPerturbedContactResult)
+emit_32(0);
+emit_32(_ZTI24btPerturbedContactResult);
+emit_32(_ZN24btPerturbedContactResultD1Ev__index__);
+emit_32(_ZN24btPerturbedContactResultD0Ev__index__);
+emit_32(_ZN16btManifoldResult20setShapeIdentifiersAEii__index__);
+emit_32(_ZN16btManifoldResult20setShapeIdentifiersBEii__index__);
+emit_32(_ZN24btPerturbedContactResult15addContactPointERK9btVector3S2_f__index__);
+emit_start(_ZTI24btPerturbedContactResult)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS24btPerturbedContactResult);
+emit_32(_ZTI16btManifoldResult);
+emit_start(_ZTS24btPerturbedContactResult)
+emit_string('24btPerturbedContactResult\x00');
+emit_start(_2E_str115)
+emit_string('d != btScalar(0.0)\x00');
+emit_start(_2E_str4119)
+emit_string('normalOnB.length2()>=(SIMD_EPSILON*SIMD_EPSILON)\x00');
+emit_start(_2E_str5120)
+emit_string('../../../../src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp\x00');
+emit_start(_ZTV23btConvexConvexAlgorithm)
+emit_32(0);
+emit_32(_ZTI23btConvexConvexAlgorithm);
+emit_32(_ZN23btConvexConvexAlgorithmD1Ev__index__);
+emit_32(_ZN23btConvexConvexAlgorithmD0Ev__index__);
+emit_32(_ZN23btConvexConvexAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN23btConvexConvexAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN23btConvexConvexAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__);
+emit_start(_ZTI23btConvexConvexAlgorithm)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS23btConvexConvexAlgorithm);
+emit_32(_ZTI30btActivatingCollisionAlgorithm);
+emit_start(_ZTS23btConvexConvexAlgorithm)
+emit_string('23btConvexConvexAlgorithm\x00');
+emit_start(_ZTV31btConvexPlaneCollisionAlgorithm)
+emit_32(0);
+emit_32(_ZTI31btConvexPlaneCollisionAlgorithm);
+emit_32(_ZN31btConvexPlaneCollisionAlgorithmD1Ev__index__);
+emit_32(_ZN31btConvexPlaneCollisionAlgorithmD0Ev__index__);
+emit_32(_ZN31btConvexPlaneCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN31btConvexPlaneCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN31btConvexPlaneCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__);
+emit_start(_ZTI31btConvexPlaneCollisionAlgorithm)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS31btConvexPlaneCollisionAlgorithm);
+emit_32(_ZTI20btCollisionAlgorithm);
+emit_start(_ZTS31btConvexPlaneCollisionAlgorithm)
+emit_string('31btConvexPlaneCollisionAlgorithm\x00');
+emit_start(_ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE)
+emit_32(0);
+emit_32(_ZTIN31btConvexPlaneCollisionAlgorithm10CreateFuncE);
+emit_32(_ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD1Ev__index__);
+emit_32(_ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD0Ev__index__);
+emit_32(_ZN31btConvexPlaneCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__);
+emit_start(_ZTIN31btConvexPlaneCollisionAlgorithm10CreateFuncE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN31btConvexPlaneCollisionAlgorithm10CreateFuncE);
+emit_32(_ZTI30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTSN31btConvexPlaneCollisionAlgorithm10CreateFuncE)
+emit_string('N31btConvexPlaneCollisionAlgorithm10CreateFuncE\x00');
+emit_start(_ZTI24btCollisionConfiguration)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS24btCollisionConfiguration);
+emit_start(_ZTS24btCollisionConfiguration)
+emit_string('24btCollisionConfiguration\x00');
+emit_start(_ZTVN33btConvexConcaveCollisionAlgorithm10CreateFuncE)
+emit_32(0);
+emit_32(_ZTIN33btConvexConcaveCollisionAlgorithm10CreateFuncE);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD1Ev__index__);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD0Ev__index__);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__);
+emit_start(_ZTIN33btConvexConcaveCollisionAlgorithm10CreateFuncE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN33btConvexConcaveCollisionAlgorithm10CreateFuncE);
+emit_32(_ZTI30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTSN33btConvexConcaveCollisionAlgorithm10CreateFuncE)
+emit_string('N33btConvexConcaveCollisionAlgorithm10CreateFuncE\x00');
+emit_start(_ZTVN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE)
+emit_32(0);
+emit_32(_ZTIN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD1Ev__index__);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD0Ev__index__);
+emit_32(_ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__);
+emit_start(_ZTIN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE);
+emit_32(_ZTI30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTSN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE)
+emit_string('N33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE\x00');
+emit_start(_ZTVN28btCompoundCollisionAlgorithm10CreateFuncE)
+emit_32(0);
+emit_32(_ZTIN28btCompoundCollisionAlgorithm10CreateFuncE);
+emit_32(_ZN28btCompoundCollisionAlgorithm10CreateFuncD1Ev__index__);
+emit_32(_ZN28btCompoundCollisionAlgorithm10CreateFuncD0Ev__index__);
+emit_32(_ZN28btCompoundCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__);
+emit_start(_ZTIN28btCompoundCollisionAlgorithm10CreateFuncE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN28btCompoundCollisionAlgorithm10CreateFuncE);
+emit_32(_ZTI30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTSN28btCompoundCollisionAlgorithm10CreateFuncE)
+emit_string('N28btCompoundCollisionAlgorithm10CreateFuncE\x00');
+emit_start(_ZTVN28btCompoundCollisionAlgorithm17SwappedCreateFuncE)
+emit_32(0);
+emit_32(_ZTIN28btCompoundCollisionAlgorithm17SwappedCreateFuncE);
+emit_32(_ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD1Ev__index__);
+emit_32(_ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD0Ev__index__);
+emit_32(_ZN28btCompoundCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__);
+emit_start(_ZTIN28btCompoundCollisionAlgorithm17SwappedCreateFuncE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN28btCompoundCollisionAlgorithm17SwappedCreateFuncE);
+emit_32(_ZTI30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTSN28btCompoundCollisionAlgorithm17SwappedCreateFuncE)
+emit_string('N28btCompoundCollisionAlgorithm17SwappedCreateFuncE\x00');
+emit_start(_ZTVN16btEmptyAlgorithm10CreateFuncE)
+emit_32(0);
+emit_32(_ZTIN16btEmptyAlgorithm10CreateFuncE);
+emit_32(_ZN16btEmptyAlgorithm10CreateFuncD1Ev__index__);
+emit_32(_ZN16btEmptyAlgorithm10CreateFuncD0Ev__index__);
+emit_32(_ZN16btEmptyAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__);
+emit_start(_ZTIN16btEmptyAlgorithm10CreateFuncE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN16btEmptyAlgorithm10CreateFuncE);
+emit_32(_ZTI30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTSN16btEmptyAlgorithm10CreateFuncE)
+emit_string('N16btEmptyAlgorithm10CreateFuncE\x00');
+emit_start(_ZTVN32btSphereSphereCollisionAlgorithm10CreateFuncE)
+emit_32(0);
+emit_32(_ZTIN32btSphereSphereCollisionAlgorithm10CreateFuncE);
+emit_32(_ZN32btSphereSphereCollisionAlgorithm10CreateFuncD1Ev__index__);
+emit_32(_ZN32btSphereSphereCollisionAlgorithm10CreateFuncD0Ev__index__);
+emit_32(_ZN32btSphereSphereCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__);
+emit_start(_ZTIN32btSphereSphereCollisionAlgorithm10CreateFuncE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN32btSphereSphereCollisionAlgorithm10CreateFuncE);
+emit_32(_ZTI30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTSN32btSphereSphereCollisionAlgorithm10CreateFuncE)
+emit_string('N32btSphereSphereCollisionAlgorithm10CreateFuncE\x00');
+emit_start(_ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE)
+emit_32(0);
+emit_32(_ZTIN34btSphereTriangleCollisionAlgorithm10CreateFuncE);
+emit_32(_ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD1Ev__index__);
+emit_32(_ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD0Ev__index__);
+emit_32(_ZN34btSphereTriangleCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__);
+emit_start(_ZTIN34btSphereTriangleCollisionAlgorithm10CreateFuncE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN34btSphereTriangleCollisionAlgorithm10CreateFuncE);
+emit_32(_ZTI30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTSN34btSphereTriangleCollisionAlgorithm10CreateFuncE)
+emit_string('N34btSphereTriangleCollisionAlgorithm10CreateFuncE\x00');
+emit_start(_ZTVN26btBoxBoxCollisionAlgorithm10CreateFuncE)
+emit_32(0);
+emit_32(_ZTIN26btBoxBoxCollisionAlgorithm10CreateFuncE);
+emit_32(_ZN26btBoxBoxCollisionAlgorithm10CreateFuncD1Ev__index__);
+emit_32(_ZN26btBoxBoxCollisionAlgorithm10CreateFuncD0Ev__index__);
+emit_32(_ZN26btBoxBoxCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__);
+emit_start(_ZTIN26btBoxBoxCollisionAlgorithm10CreateFuncE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN26btBoxBoxCollisionAlgorithm10CreateFuncE);
+emit_32(_ZTI30btCollisionAlgorithmCreateFunc);
+emit_start(_ZTSN26btBoxBoxCollisionAlgorithm10CreateFuncE)
+emit_string('N26btBoxBoxCollisionAlgorithm10CreateFuncE\x00');
+emit_start(_2E_str128)
+emit_string('usedsize==0\x00');
+emit_start(_2E_str1129)
+emit_string('../../../../src/LinearMath/btStackAlloc.h\x00');
+emit_start(_ZTV31btDefaultCollisionConfiguration)
+emit_32(0);
+emit_32(_ZTI31btDefaultCollisionConfiguration);
+emit_32(_ZN31btDefaultCollisionConfigurationD1Ev__index__);
+emit_32(_ZN31btDefaultCollisionConfigurationD0Ev__index__);
+emit_32(_ZN31btDefaultCollisionConfiguration25getPersistentManifoldPoolEv__index__);
+emit_32(_ZN31btDefaultCollisionConfiguration25getCollisionAlgorithmPoolEv__index__);
+emit_32(_ZN31btDefaultCollisionConfiguration17getStackAllocatorEv__index__);
+emit_32(_ZN31btDefaultCollisionConfiguration31getCollisionAlgorithmCreateFuncEii__index__);
+emit_32(_ZN31btDefaultCollisionConfiguration16getSimplexSolverEv__index__);
+emit_start(_ZTI31btDefaultCollisionConfiguration)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS31btDefaultCollisionConfiguration);
+emit_32(_ZTI24btCollisionConfiguration);
+emit_start(_ZTS31btDefaultCollisionConfiguration)
+emit_string('31btDefaultCollisionConfiguration\x00');
+emit_start(_ZTV16btEmptyAlgorithm)
+emit_32(0);
+emit_32(_ZTI16btEmptyAlgorithm);
+emit_32(_ZN16btEmptyAlgorithmD1Ev__index__);
+emit_32(_ZN16btEmptyAlgorithmD0Ev__index__);
+emit_32(_ZN16btEmptyAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN16btEmptyAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN16btEmptyAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__);
+emit_start(_ZTI16btEmptyAlgorithm)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS16btEmptyAlgorithm);
+emit_32(_ZTI20btCollisionAlgorithm);
+emit_start(_ZTS16btEmptyAlgorithm)
+emit_string('16btEmptyAlgorithm\x00');
+emit_start(_ZTV16btManifoldResult)
+emit_32(0);
+emit_32(_ZTI16btManifoldResult);
+emit_32(_ZN16btManifoldResultD1Ev__index__);
+emit_32(_ZN16btManifoldResultD0Ev__index__);
+emit_32(_ZN16btManifoldResult20setShapeIdentifiersAEii__index__);
+emit_32(_ZN16btManifoldResult20setShapeIdentifiersBEii__index__);
+emit_32(_ZN16btManifoldResult15addContactPointERK9btVector3S2_f__index__);
+emit_start(_2E_str2149)
+emit_string('validContactDistance(newPoint)\x00');
+emit_start(_2E_str3150)
+emit_string('lifeTime>=0\x00');
+emit_start(_2E_str5152)
+emit_string('../../../../src/BulletCollision/CollisionDispatch/btManifoldResult.cpp\x00');
+emit_start(_2E_str155)
+emit_string('islandUnionFindAndQuickSort\x00');
+emit_start(_2E_str1156)
+emit_string('(colObj0->getIslandTag() == islandId) || (colObj0->getIslandTag() == -1)\x00');
+emit_start(_2E_str2157)
+emit_string('../../../../src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp\x00');
+emit_start(_2E_str3158)
+emit_string('processIslands\x00');
+emit_start(_ZTV25btSimulationIslandManager)
+emit_32(0);
+emit_32(_ZTI25btSimulationIslandManager);
+emit_32(_ZN25btSimulationIslandManagerD1Ev__index__);
+emit_32(_ZN25btSimulationIslandManagerD0Ev__index__);
+emit_32(_ZN25btSimulationIslandManager21updateActivationStateEP16btCollisionWorldP12btDispatcher__index__);
+emit_32(_ZN25btSimulationIslandManager26storeIslandActivationStateEP16btCollisionWorld__index__);
+emit_start(_ZTI25btSimulationIslandManager)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS25btSimulationIslandManager);
+emit_start(_ZTS25btSimulationIslandManager)
+emit_string('25btSimulationIslandManager\x00');
+emit_start(_ZTV32btSphereSphereCollisionAlgorithm)
+emit_32(0);
+emit_32(_ZTI32btSphereSphereCollisionAlgorithm);
+emit_32(_ZN32btSphereSphereCollisionAlgorithmD1Ev__index__);
+emit_32(_ZN32btSphereSphereCollisionAlgorithmD0Ev__index__);
+emit_32(_ZN32btSphereSphereCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN32btSphereSphereCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN32btSphereSphereCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__);
+emit_start(_ZTI32btSphereSphereCollisionAlgorithm)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS32btSphereSphereCollisionAlgorithm);
+emit_32(_ZTI30btActivatingCollisionAlgorithm);
+emit_start(_ZTS32btSphereSphereCollisionAlgorithm)
+emit_string('32btSphereSphereCollisionAlgorithm\x00');
+emit_start(_ZTV34btSphereTriangleCollisionAlgorithm)
+emit_32(0);
+emit_32(_ZTI34btSphereTriangleCollisionAlgorithm);
+emit_32(_ZN34btSphereTriangleCollisionAlgorithmD1Ev__index__);
+emit_32(_ZN34btSphereTriangleCollisionAlgorithmD0Ev__index__);
+emit_32(_ZN34btSphereTriangleCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN34btSphereTriangleCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__);
+emit_32(_ZN34btSphereTriangleCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__);
+emit_start(_ZTI34btSphereTriangleCollisionAlgorithm)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS34btSphereTriangleCollisionAlgorithm);
+emit_32(_ZTI30btActivatingCollisionAlgorithm);
+emit_start(_ZTS34btSphereTriangleCollisionAlgorithm)
+emit_string('34btSphereTriangleCollisionAlgorithm\x00');
+emit_start(_ZTV22SphereTriangleDetector)
+emit_32(0);
+emit_32(_ZTI22SphereTriangleDetector);
+emit_32(_ZN22SphereTriangleDetectorD1Ev__index__);
+emit_32(_ZN22SphereTriangleDetectorD0Ev__index__);
+emit_32(_ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb__index__);
+emit_start(_ZTI22SphereTriangleDetector)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS22SphereTriangleDetector);
+emit_32(_ZTI36btDiscreteCollisionDetectorInterface);
+emit_start(_ZTS22SphereTriangleDetector)
+emit_string('22SphereTriangleDetector\x00');
+emit_start(_2E_str173)
+emit_string('Box\x00');
+emit_start(_2E_str2175)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btBoxShape.h\x00');
+emit_start(_ZTV10btBoxShape)
+emit_32(0);
+emit_32(_ZTI10btBoxShape);
+emit_32(_ZN10btBoxShapeD1Ev__index__);
+emit_32(_ZN10btBoxShapeD0Ev__index__);
+emit_32(_ZNK10btBoxShape7getAabbERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf__index__);
+emit_32(_ZNK16btCollisionShape20getAngularMotionDiscEv__index__);
+emit_32(_ZNK16btCollisionShape27getContactBreakingThresholdEf__index__);
+emit_32(_ZN10btBoxShape15setLocalScalingERK9btVector3__index__);
+emit_32(_ZNK21btConvexInternalShape15getLocalScalingEv__index__);
+emit_32(_ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3__index__);
+emit_32(_ZNK10btBoxShape7getNameEv__index__);
+emit_32(_ZN10btBoxShape9setMarginEf__index__);
+emit_32(_ZNK21btConvexInternalShape9getMarginEv__index__);
+emit_32(_ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK21btConvexInternalShape9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer__index__);
+emit_32(_ZNK10btBoxShape24localGetSupportingVertexERK9btVector3__index__);
+emit_32(_ZNK10btBoxShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__);
+emit_32(_ZNK10btBoxShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i__index__);
+emit_32(_ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK10btBoxShape36getNumPreferredPenetrationDirectionsEv__index__);
+emit_32(_ZNK10btBoxShape32getPreferredPenetrationDirectionEiR9btVector3__index__);
+emit_32(_ZNK10btBoxShape14getNumVerticesEv__index__);
+emit_32(_ZNK10btBoxShape11getNumEdgesEv__index__);
+emit_32(_ZNK10btBoxShape7getEdgeEiR9btVector3S1___index__);
+emit_32(_ZNK10btBoxShape9getVertexEiR9btVector3__index__);
+emit_32(_ZNK10btBoxShape12getNumPlanesEv__index__);
+emit_32(_ZNK10btBoxShape8getPlaneER9btVector3S1_i__index__);
+emit_32(_ZNK10btBoxShape8isInsideERK9btVector3f__index__);
+emit_32(_ZNK10btBoxShape16getPlaneEquationER9btVector4i__index__);
+emit_start(_ZTI10btBoxShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS10btBoxShape);
+emit_32(_ZTI23btPolyhedralConvexShape);
+emit_start(_ZTS10btBoxShape)
+emit_string('10btBoxShape\x00');
+emit_start(_2E_str181)
+emit_string('BVHTRIANGLEMESH\x00');
+emit_start(_ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback)
+emit_32(0);
+emit_32(_ZTIZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback);
+emit_32(_ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev__index__);
+emit_32(_ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev__index__);
+emit_32(_ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii__index__);
+emit_start(_ZTIZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback);
+emit_32(_ZTI21btNodeOverlapCallback);
+emit_start(_ZTSZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback)
+emit_string('ZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback\x00');
+emit_start(_ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback)
+emit_32(0);
+emit_32(_ZTIZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback);
+emit_32(_ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD1Ev__index__);
+emit_32(_ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD0Ev__index__);
+emit_32(_ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallback11processNodeEii__index__);
+emit_start(_ZTIZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback);
+emit_32(_ZTI21btNodeOverlapCallback);
+emit_start(_ZTSZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback)
+emit_string('ZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback\x00');
+emit_start(_ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback)
+emit_32(0);
+emit_32(_ZTIZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback);
+emit_32(_ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev__index__);
+emit_32(_ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev__index__);
+emit_32(_ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii__index__);
+emit_start(_ZTIZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback);
+emit_32(_ZTI21btNodeOverlapCallback);
+emit_start(_ZTSZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback)
+emit_string('ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback\x00');
+emit_start(_2E_str5186)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btTriangleMeshShape.h\x00');
+emit_start(_2E_str6187)
+emit_string('indicestype==PHY_INTEGER||indicestype==PHY_SHORT\x00');
+emit_start(_2E_str7188)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp\x00');
+emit_start(_2E_str8189)
+emit_string('btTriangleMeshShapeData\x00');
+emit_start(_ZTV22btBvhTriangleMeshShape)
+emit_32(0);
+emit_32(_ZTI22btBvhTriangleMeshShape);
+emit_32(_ZN22btBvhTriangleMeshShapeD1Ev__index__);
+emit_32(_ZN22btBvhTriangleMeshShapeD0Ev__index__);
+emit_32(_ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf__index__);
+emit_32(_ZNK16btCollisionShape20getAngularMotionDiscEv__index__);
+emit_32(_ZNK16btCollisionShape27getContactBreakingThresholdEf__index__);
+emit_32(_ZN22btBvhTriangleMeshShape15setLocalScalingERK9btVector3__index__);
+emit_32(_ZNK19btTriangleMeshShape15getLocalScalingEv__index__);
+emit_32(_ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3__index__);
+emit_32(_ZNK22btBvhTriangleMeshShape7getNameEv__index__);
+emit_32(_ZN14btConcaveShape9setMarginEf__index__);
+emit_32(_ZNK14btConcaveShape9getMarginEv__index__);
+emit_32(_ZNK22btBvhTriangleMeshShape28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK22btBvhTriangleMeshShape9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer__index__);
+emit_32(_ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4___index__);
+emit_32(_ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3__index__);
+emit_32(_ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__);
+emit_32(_ZNK22btBvhTriangleMeshShape18serializeSingleBvhEP12btSerializer__index__);
+emit_32(_ZNK22btBvhTriangleMeshShape30serializeSingleTriangleInfoMapEP12btSerializer__index__);
+emit_start(_ZTI22btBvhTriangleMeshShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS22btBvhTriangleMeshShape);
+emit_32(_ZTI19btTriangleMeshShape);
+emit_start(_ZTS22btBvhTriangleMeshShape)
+emit_string('22btBvhTriangleMeshShape\x00');
+emit_start(_ZTI19btTriangleMeshShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS19btTriangleMeshShape);
+emit_32(_ZTI14btConcaveShape);
+emit_start(_ZTS19btTriangleMeshShape)
+emit_string('19btTriangleMeshShape\x00');
+emit_start(_ZTI14btConcaveShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS14btConcaveShape);
+emit_32(_ZTI16btCollisionShape);
+emit_start(_ZTS14btConcaveShape)
+emit_string('14btConcaveShape\x00');
+emit_start(_2E_str194)
+emit_string('CapsuleShape\x00');
+emit_start(_2E_str4198)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btConvexInternalShape.h\x00');
+emit_start(_2E_str6199)
+emit_string('btCapsuleShapeData\x00');
+emit_start(_ZTV14btCapsuleShape)
+emit_32(0);
+emit_32(_ZTI14btCapsuleShape);
+emit_32(_ZN14btCapsuleShapeD1Ev__index__);
+emit_32(_ZN14btCapsuleShapeD0Ev__index__);
+emit_32(_ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf__index__);
+emit_32(_ZNK16btCollisionShape20getAngularMotionDiscEv__index__);
+emit_32(_ZNK16btCollisionShape27getContactBreakingThresholdEf__index__);
+emit_32(_ZN14btCapsuleShape15setLocalScalingERK9btVector3__index__);
+emit_32(_ZNK21btConvexInternalShape15getLocalScalingEv__index__);
+emit_32(_ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3__index__);
+emit_32(_ZNK14btCapsuleShape7getNameEv__index__);
+emit_32(_ZN14btCapsuleShape9setMarginEf__index__);
+emit_32(_ZNK21btConvexInternalShape9getMarginEv__index__);
+emit_32(_ZNK14btCapsuleShape28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK14btCapsuleShape9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer__index__);
+emit_32(_ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3__index__);
+emit_32(_ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__);
+emit_32(_ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i__index__);
+emit_32(_ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv__index__);
+emit_32(_ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3__index__);
+emit_start(_ZTI14btCapsuleShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS14btCapsuleShape);
+emit_32(_ZTI21btConvexInternalShape);
+emit_start(_ZTS14btCapsuleShape)
+emit_string('14btCapsuleShape\x00');
+emit_start(_2E_str200)
+emit_string('btCollisionShapeData\x00');
+emit_start(_ZTV14btConcaveShape)
+emit_32(0);
+emit_32(_ZTI14btConcaveShape);
+emit_32(_ZN14btConcaveShapeD1Ev__index__);
+emit_32(_ZN14btConcaveShapeD0Ev__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(_ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf__index__);
+emit_32(_ZNK16btCollisionShape20getAngularMotionDiscEv__index__);
+emit_32(_ZNK16btCollisionShape27getContactBreakingThresholdEf__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(_ZN14btConcaveShape9setMarginEf__index__);
+emit_32(_ZNK14btConcaveShape9getMarginEv__index__);
+emit_32(_ZNK16btCollisionShape28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK16btCollisionShape9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_start(_2E_str219)
+emit_string('Convex\x00');
+emit_start(_2E_str3222)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btConvexHullShape.cpp\x00');
+emit_start(_ZTV17btConvexHullShape)
+emit_32(0);
+emit_32(_ZTI17btConvexHullShape);
+emit_32(_ZN17btConvexHullShapeD1Ev__index__);
+emit_32(_ZN17btConvexHullShapeD0Ev__index__);
+emit_32(_ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf__index__);
+emit_32(_ZNK16btCollisionShape20getAngularMotionDiscEv__index__);
+emit_32(_ZNK16btCollisionShape27getContactBreakingThresholdEf__index__);
+emit_32(_ZN17btConvexHullShape15setLocalScalingERK9btVector3__index__);
+emit_32(_ZNK21btConvexInternalShape15getLocalScalingEv__index__);
+emit_32(_ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3__index__);
+emit_32(_ZNK17btConvexHullShape7getNameEv__index__);
+emit_32(_ZN21btConvexInternalShape9setMarginEf__index__);
+emit_32(_ZNK21btConvexInternalShape9getMarginEv__index__);
+emit_32(_ZNK17btConvexHullShape28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK17btConvexHullShape9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer__index__);
+emit_32(_ZNK17btConvexHullShape24localGetSupportingVertexERK9btVector3__index__);
+emit_32(_ZNK17btConvexHullShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__);
+emit_32(_ZNK17btConvexHullShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i__index__);
+emit_32(_ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv__index__);
+emit_32(_ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3__index__);
+emit_32(_ZNK17btConvexHullShape14getNumVerticesEv__index__);
+emit_32(_ZNK17btConvexHullShape11getNumEdgesEv__index__);
+emit_32(_ZNK17btConvexHullShape7getEdgeEiR9btVector3S1___index__);
+emit_32(_ZNK17btConvexHullShape9getVertexEiR9btVector3__index__);
+emit_32(_ZNK17btConvexHullShape12getNumPlanesEv__index__);
+emit_32(_ZNK17btConvexHullShape8getPlaneER9btVector3S1_i__index__);
+emit_32(_ZNK17btConvexHullShape8isInsideERK9btVector3f__index__);
+emit_start(_ZTI17btConvexHullShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS17btConvexHullShape);
+emit_32(_ZTI34btPolyhedralConvexAabbCachingShape);
+emit_start(_ZTS17btConvexHullShape)
+emit_string('17btConvexHullShape\x00');
+emit_start(_ZTI34btPolyhedralConvexAabbCachingShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS34btPolyhedralConvexAabbCachingShape);
+emit_32(_ZTI23btPolyhedralConvexShape);
+emit_start(_ZTS34btPolyhedralConvexAabbCachingShape)
+emit_string('34btPolyhedralConvexAabbCachingShape\x00');
+emit_start(_2E_str5223)
+emit_string('btVector3FloatData\x00');
+emit_start(_2E_str6224)
+emit_string('btConvexHullShapeData\x00');
+emit_start(_2E_str6232)
+emit_string('m_isLocalAabbValid\x00');
+emit_start(_ZTV13btConvexShape)
+emit_32(0);
+emit_32(_ZTI13btConvexShape);
+emit_32(_ZN13btConvexShapeD1Ev__index__);
+emit_32(_ZN13btConvexShapeD0Ev__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(_ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf__index__);
+emit_32(_ZNK16btCollisionShape20getAngularMotionDiscEv__index__);
+emit_32(_ZNK16btCollisionShape27getContactBreakingThresholdEf__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(_ZNK16btCollisionShape28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK16btCollisionShape9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_start(_2E_str6249)
+emit_string('ptIndex >= 0\x00');
+emit_start(_2E_str7250)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btConvexShape.cpp\x00');
+emit_start(_ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback)
+emit_32(0);
+emit_32(_ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback);
+emit_32(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD1Ev__index__);
+emit_32(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD0Ev__index__);
+emit_32(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallback28internalProcessTriangleIndexEPS2_ii__index__);
+emit_start(_ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback);
+emit_32(_ZTI31btInternalTriangleIndexCallback);
+emit_start(_ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback)
+emit_string('ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback\x00');
+emit_start(_ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback)
+emit_32(0);
+emit_32(_ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback);
+emit_32(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD1Ev__index__);
+emit_32(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD0Ev__index__);
+emit_32(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallback28internalProcessTriangleIndexEPS2_ii__index__);
+emit_start(_ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback);
+emit_32(_ZTI31btInternalTriangleIndexCallback);
+emit_start(_ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback)
+emit_string('ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback\x00');
+emit_start(_2E_str10306)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp\x00');
+emit_start(_2E_str18314)
+emit_string('partId < (1<<MAX_NUM_PARTS_IN_BITS)\x00');
+emit_start(_2E_str19315)
+emit_string('triangleIndex < (1<<(31-MAX_NUM_PARTS_IN_BITS))\x00');
+emit_start(_2E_str20316)
+emit_string('triangleIndex>=0\x00');
+emit_start(_ZTV14btOptimizedBvh)
+emit_32(0);
+emit_32(_ZTI14btOptimizedBvh);
+emit_32(_ZN14btOptimizedBvhD1Ev__index__);
+emit_32(_ZN14btOptimizedBvhD0Ev__index__);
+emit_32(_ZNK14btQuantizedBvh9serializeEPvjb__index__);
+emit_32(_ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv__index__);
+emit_32(_ZNK14btQuantizedBvh9serializeEPvP12btSerializer__index__);
+emit_32(_ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData__index__);
+emit_32(_ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData__index__);
+emit_32(_ZNK14btOptimizedBvh16serializeInPlaceEPvjb__index__);
+emit_start(_ZTI14btOptimizedBvh)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS14btOptimizedBvh);
+emit_32(_ZTI14btQuantizedBvh);
+emit_start(_ZTS14btOptimizedBvh)
+emit_string('14btOptimizedBvh\x00');
+emit_start(_2E_str7331)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h\x00');
+emit_start(_2E_str342)
+emit_string('SPHERE\x00');
+emit_start(_ZTV13btSphereShape)
+emit_32(0);
+emit_32(_ZTI13btSphereShape);
+emit_32(_ZN13btSphereShapeD1Ev__index__);
+emit_32(_ZN13btSphereShapeD0Ev__index__);
+emit_32(_ZNK13btSphereShape7getAabbERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf__index__);
+emit_32(_ZNK16btCollisionShape20getAngularMotionDiscEv__index__);
+emit_32(_ZNK16btCollisionShape27getContactBreakingThresholdEf__index__);
+emit_32(_ZN21btConvexInternalShape15setLocalScalingERK9btVector3__index__);
+emit_32(_ZNK21btConvexInternalShape15getLocalScalingEv__index__);
+emit_32(_ZNK13btSphereShape21calculateLocalInertiaEfR9btVector3__index__);
+emit_32(_ZNK13btSphereShape7getNameEv__index__);
+emit_32(_ZN13btSphereShape9setMarginEf__index__);
+emit_32(_ZNK13btSphereShape9getMarginEv__index__);
+emit_32(_ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK21btConvexInternalShape9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer__index__);
+emit_32(_ZNK13btSphereShape24localGetSupportingVertexERK9btVector3__index__);
+emit_32(_ZNK13btSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__);
+emit_32(_ZNK13btSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i__index__);
+emit_32(_ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv__index__);
+emit_32(_ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3__index__);
+emit_start(_ZTI13btSphereShape)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS13btSphereShape);
+emit_32(_ZTI21btConvexInternalShape);
+emit_start(_ZTS13btSphereShape)
+emit_string('13btSphereShape\x00');
+emit_start(_2E_str349)
+emit_string('btIntIndexData\x00');
+emit_start(_2E_str1350)
+emit_string('btShortIntIndexTripletData\x00');
+emit_start(_2E_str3352)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp\x00');
+emit_start(_2E_str5354)
+emit_string('btVector3DoubleData\x00');
+emit_start(_2E_str6355)
+emit_string('(type == PHY_FLOAT) || (type == PHY_DOUBLE)\x00');
+emit_start(_2E_str7356)
+emit_string('btMeshPartData\x00');
+emit_start(_2E_str8357)
+emit_string('btStridingMeshInterfaceData\x00');
+emit_start(_2E_str9358)
+emit_string('(gfxindextype == PHY_INTEGER) || (gfxindextype == PHY_SHORT)\x00');
+emit_start(_ZTV23btStridingMeshInterface)
+emit_32(0);
+emit_32(_ZTI23btStridingMeshInterface);
+emit_32(_ZN23btStridingMeshInterfaceD1Ev__index__);
+emit_32(_ZN23btStridingMeshInterfaceD0Ev__index__);
+emit_32(_ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4___index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(_ZNK23btStridingMeshInterface14hasPremadeAabbEv__index__);
+emit_32(_ZNK23btStridingMeshInterface14setPremadeAabbERK9btVector3S2___index__);
+emit_32(_ZNK23btStridingMeshInterface14getPremadeAabbEP9btVector3S1___index__);
+emit_32(_ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK23btStridingMeshInterface9serializeEPvP12btSerializer__index__);
+emit_start(_ZTI23btStridingMeshInterface)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS23btStridingMeshInterface);
+emit_start(_ZTS23btStridingMeshInterface)
+emit_string('23btStridingMeshInterface\x00');
+emit_start(_ZTV31btInternalTriangleIndexCallback)
+emit_32(0);
+emit_32(_ZTI31btInternalTriangleIndexCallback);
+emit_32(_ZN31btInternalTriangleIndexCallbackD1Ev__index__);
+emit_32(_ZN31btInternalTriangleIndexCallbackD0Ev__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_start(_ZTV18btTriangleCallback)
+emit_32(0);
+emit_32(_ZTI18btTriangleCallback);
+emit_32(_ZN18btTriangleCallbackD1Ev__index__);
+emit_32(_ZN18btTriangleCallbackD0Ev__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_start(_2E_str367)
+emit_string('subpart< getNumSubParts()\x00');
+emit_start(_2E_str1368)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp\x00');
+emit_start(_ZTV26btTriangleIndexVertexArray)
+emit_32(0);
+emit_32(_ZTI26btTriangleIndexVertexArray);
+emit_32(_ZN26btTriangleIndexVertexArrayD1Ev__index__);
+emit_32(_ZN26btTriangleIndexVertexArrayD0Ev__index__);
+emit_32(_ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4___index__);
+emit_32(_ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i__index__);
+emit_32(_ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i__index__);
+emit_32(_ZN26btTriangleIndexVertexArray16unLockVertexBaseEi__index__);
+emit_32(_ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi__index__);
+emit_32(_ZNK26btTriangleIndexVertexArray14getNumSubPartsEv__index__);
+emit_32(_ZN26btTriangleIndexVertexArray19preallocateVerticesEi__index__);
+emit_32(_ZN26btTriangleIndexVertexArray18preallocateIndicesEi__index__);
+emit_32(_ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv__index__);
+emit_32(_ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2___index__);
+emit_32(_ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1___index__);
+emit_32(_ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK23btStridingMeshInterface9serializeEPvP12btSerializer__index__);
+emit_start(_ZTI26btTriangleIndexVertexArray)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS26btTriangleIndexVertexArray);
+emit_32(_ZTI23btStridingMeshInterface);
+emit_start(_ZTS26btTriangleIndexVertexArray)
+emit_string('26btTriangleIndexVertexArray\x00');
+emit_start(_2E_str372)
+emit_string('TRIANGLEMESH\x00');
+emit_start(_ZTV21SupportVertexCallback)
+emit_32(0);
+emit_32(_ZTI21SupportVertexCallback);
+emit_32(_ZN21SupportVertexCallbackD1Ev__index__);
+emit_32(_ZN21SupportVertexCallbackD0Ev__index__);
+emit_32(_ZN21SupportVertexCallback15processTriangleEP9btVector3ii__index__);
+emit_start(_ZTI21SupportVertexCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS21SupportVertexCallback);
+emit_32(_ZTI18btTriangleCallback);
+emit_start(_ZTS21SupportVertexCallback)
+emit_string('21SupportVertexCallback\x00');
+emit_start(_ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback)
+emit_32(0);
+emit_32(_ZTIZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback);
+emit_32(_ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD1Ev__index__);
+emit_32(_ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD0Ev__index__);
+emit_32(_ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallback28internalProcessTriangleIndexEPS2_ii__index__);
+emit_start(_ZTIZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback);
+emit_32(_ZTI31btInternalTriangleIndexCallback);
+emit_start(_ZTSZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback)
+emit_string('ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback\x00');
+emit_start(_2E_str3375)
+emit_string('../../../../src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp\x00');
+emit_start(_ZTV19btTriangleMeshShape)
+emit_32(0);
+emit_32(_ZTI19btTriangleMeshShape);
+emit_32(_ZN19btTriangleMeshShapeD1Ev__index__);
+emit_32(_ZN19btTriangleMeshShapeD0Ev__index__);
+emit_32(_ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4___index__);
+emit_32(_ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf__index__);
+emit_32(_ZNK16btCollisionShape20getAngularMotionDiscEv__index__);
+emit_32(_ZNK16btCollisionShape27getContactBreakingThresholdEf__index__);
+emit_32(_ZN19btTriangleMeshShape15setLocalScalingERK9btVector3__index__);
+emit_32(_ZNK19btTriangleMeshShape15getLocalScalingEv__index__);
+emit_32(_ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3__index__);
+emit_32(_ZNK19btTriangleMeshShape7getNameEv__index__);
+emit_32(_ZN14btConcaveShape9setMarginEf__index__);
+emit_32(_ZNK14btConcaveShape9getMarginEv__index__);
+emit_32(_ZNK16btCollisionShape28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK16btCollisionShape9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer__index__);
+emit_32(_ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4___index__);
+emit_32(_ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3__index__);
+emit_32(_ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__);
+emit_start(_ZTV16btPointCollector)
+emit_32(0);
+emit_32(_ZTI16btPointCollector);
+emit_32(_ZN16btPointCollectorD1Ev__index__);
+emit_32(_ZN16btPointCollectorD0Ev__index__);
+emit_32(_ZN16btPointCollector20setShapeIdentifiersAEii__index__);
+emit_32(_ZN16btPointCollector20setShapeIdentifiersBEii__index__);
+emit_32(_ZN16btPointCollector15addContactPointERK9btVector3S2_f__index__);
+emit_start(_ZTI16btPointCollector)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS16btPointCollector);
+emit_32(_ZTIN36btDiscreteCollisionDetectorInterface6ResultE);
+emit_start(_ZTS16btPointCollector)
+emit_string('16btPointCollector\x00');
+emit_start(_ZTV27btContinuousConvexCollision)
+emit_32(0);
+emit_32(_ZTI27btContinuousConvexCollision);
+emit_32(_ZN27btContinuousConvexCollisionD1Ev__index__);
+emit_32(_ZN27btContinuousConvexCollisionD0Ev__index__);
+emit_32(_ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE__index__);
+emit_start(_ZTI27btContinuousConvexCollision)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS27btContinuousConvexCollision);
+emit_32(_ZTI12btConvexCast);
+emit_start(_ZTS27btContinuousConvexCollision)
+emit_string('27btContinuousConvexCollision\x00');
+emit_start(_ZTI12btConvexCast)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS12btConvexCast);
+emit_start(_ZTS12btConvexCast)
+emit_string('12btConvexCast\x00');
+emit_start(_ZTV12btConvexCast)
+emit_32(0);
+emit_32(_ZTI12btConvexCast);
+emit_32(_ZN12btConvexCastD1Ev__index__);
+emit_32(_ZN12btConvexCastD0Ev__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_start(_ZTV15btGjkConvexCast)
+emit_32(0);
+emit_32(_ZTI15btGjkConvexCast);
+emit_32(_ZN15btGjkConvexCastD1Ev__index__);
+emit_32(_ZN15btGjkConvexCastD0Ev__index__);
+emit_32(_ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE__index__);
+emit_start(_ZTI15btGjkConvexCast)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS15btGjkConvexCast);
+emit_32(_ZTI12btConvexCast);
+emit_start(_ZTS15btGjkConvexCast)
+emit_string('15btGjkConvexCast\x00');
+emit_start(_ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRjE4imd3)
+emit_32(1);
+emit_32(2);
+emit_32(0);
+emit_start(_ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i2m3)
+emit_32(2);
+emit_32(0);
+emit_32(1);
+emit_start(_ZTV30btGjkEpaPenetrationDepthSolver)
+emit_32(0);
+emit_32(_ZTI30btGjkEpaPenetrationDepthSolver);
+emit_32(_ZN30btGjkEpaPenetrationDepthSolverD1Ev__index__);
+emit_32(_ZN30btGjkEpaPenetrationDepthSolverD0Ev__index__);
+emit_32(_ZN30btGjkEpaPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc__index__);
+emit_start(_ZTI30btGjkEpaPenetrationDepthSolver)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS30btGjkEpaPenetrationDepthSolver);
+emit_32(_ZTI30btConvexPenetrationDepthSolver);
+emit_start(_ZTS30btGjkEpaPenetrationDepthSolver)
+emit_string('30btGjkEpaPenetrationDepthSolver\x00');
+emit_start(_ZTV17btGjkPairDetector)
+emit_32(0);
+emit_32(_ZTI17btGjkPairDetector);
+emit_32(_ZN17btGjkPairDetectorD1Ev__index__);
+emit_32(_ZN17btGjkPairDetectorD0Ev__index__);
+emit_32(_ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb__index__);
+emit_start(_ZTI17btGjkPairDetector)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS17btGjkPairDetector);
+emit_32(_ZTI36btDiscreteCollisionDetectorInterface);
+emit_start(_ZTS17btGjkPairDetector)
+emit_string('17btGjkPairDetector\x00');
+emit_start(_2E_str425)
+emit_string('btGjkPairDetector maxIter exceeded:%i\x0a\x00');
+emit_start(_2E_str1426)
+emit_string('sepAxis=(%f,%f,%f), squaredDistance = %f, shapeTypeA=%i,shapeTypeB=%i\x0a\x00');
+emit_start(_2E_str2427)
+emit_string('s > btScalar(0.0)\x00');
+emit_start(_2E_str3428)
+emit_string('../../../../src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp\x00');
+emit_start(gContactBreakingThreshold)
+emit_32(1017370378);
+emit_start(_2E_str434)
+emit_string('m_pointCache[lastUsedIndex].m_userPersistentData==0\x00');
+emit_start(_2E_str3437)
+emit_string('../../../../src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp\x00');
+emit_start(_2E_str4438)
+emit_string('m_pointCache[insertIndex].m_userPersistentData==0\x00');
+emit_start(_ZTV28btTriangleConvexcastCallback)
+emit_32(0);
+emit_32(_ZTI28btTriangleConvexcastCallback);
+emit_32(_ZN28btTriangleConvexcastCallbackD1Ev__index__);
+emit_32(_ZN28btTriangleConvexcastCallbackD0Ev__index__);
+emit_32(_ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_start(_ZTV22btSubsimplexConvexCast)
+emit_32(0);
+emit_32(_ZTI22btSubsimplexConvexCast);
+emit_32(_ZN22btSubsimplexConvexCastD1Ev__index__);
+emit_32(_ZN22btSubsimplexConvexCastD0Ev__index__);
+emit_32(_ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE__index__);
+emit_start(_ZTI22btSubsimplexConvexCast)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS22btSubsimplexConvexCast);
+emit_32(_ZTI12btConvexCast);
+emit_start(_ZTS22btSubsimplexConvexCast)
+emit_string('22btSubsimplexConvexCast\x00');
+emit_start(_2E_str457)
+emit_string('m_numVertices>0\x00');
+emit_start(_2E_str1458)
+emit_string('../../../../src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp\x00');
+emit_start(_ZTVN16btCollisionWorld27ClosestConvexResultCallbackE)
+emit_32(0);
+emit_32(_ZTIN16btCollisionWorld27ClosestConvexResultCallbackE);
+emit_32(_ZN16btCollisionWorld27ClosestConvexResultCallbackD1Ev__index__);
+emit_32(_ZN16btCollisionWorld27ClosestConvexResultCallbackD0Ev__index__);
+emit_32(_ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy__index__);
+emit_32(_ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb__index__);
+emit_start(_ZTIN16btCollisionWorld27ClosestConvexResultCallbackE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN16btCollisionWorld27ClosestConvexResultCallbackE);
+emit_32(_ZTIN16btCollisionWorld20ConvexResultCallbackE);
+emit_start(_ZTSN16btCollisionWorld27ClosestConvexResultCallbackE)
+emit_string('N16btCollisionWorld27ClosestConvexResultCallbackE\x00');
+emit_start(_2E_str36)
+emit_string('convexResult.m_hitFraction <= m_closestHitFraction\x00');
+emit_start(_2E_str239)
+emit_string('btConeTwistConstraintData\x00');
+emit_start(_ZTV21btConeTwistConstraint)
+emit_32(0);
+emit_32(_ZTI21btConeTwistConstraint);
+emit_32(_ZN21btConeTwistConstraintD1Ev__index__);
+emit_32(_ZN21btConeTwistConstraintD0Ev__index__);
+emit_32(_ZN21btConeTwistConstraint13buildJacobianEv__index__);
+emit_32(_ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif__index__);
+emit_32(_ZN21btConeTwistConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E__index__);
+emit_32(_ZN21btConeTwistConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E__index__);
+emit_32(_ZN21btConeTwistConstraint23solveConstraintObsoleteER11btRigidBodyS1_f__index__);
+emit_32(_ZN21btConeTwistConstraint8setParamEifi__index__);
+emit_32(_ZNK21btConeTwistConstraint8getParamEii__index__);
+emit_32(_ZNK21btConeTwistConstraint28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK21btConeTwistConstraint9serializeEPvP12btSerializer__index__);
+emit_start(_ZTI21btConeTwistConstraint)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS21btConeTwistConstraint);
+emit_32(_ZTI17btTypedConstraint);
+emit_start(_ZTS21btConeTwistConstraint)
+emit_string('21btConeTwistConstraint\x00');
+emit_start(_2E_str1340)
+emit_string('m_flags & BT_CONETWIST_FLAGS_LIN_ERP\x00');
+emit_start(_2E_str24)
+emit_string('../../../../src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp\x00');
+emit_start(_2E_str442)
+emit_string('m_flags & BT_CONETWIST_FLAGS_LIN_CFM\x00');
+emit_start(_2E_str543)
+emit_string('m_flags & BT_CONETWIST_FLAGS_ANG_CFM\x00');
+emit_start(_2E_str846)
+emit_string('m_Adiag > btScalar(0.0)\x00');
+emit_start(_2E_str947)
+emit_string('../../../../src/BulletDynamics/ConstraintSolver/btJacobianEntry.h\x00');
+emit_start(_2E_str1149)
+emit_string('!m_useSolveConstraintObsolete\x00');
+emit_start(_2E_str29)
+emit_string('btHingeConstraintFloatData\x00');
+emit_start(_ZTV17btHingeConstraint)
+emit_32(0);
+emit_32(_ZTI17btHingeConstraint);
+emit_32(_ZN17btHingeConstraintD1Ev__index__);
+emit_32(_ZN17btHingeConstraintD0Ev__index__);
+emit_32(_ZN17btHingeConstraint13buildJacobianEv__index__);
+emit_32(_ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif__index__);
+emit_32(_ZN17btHingeConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E__index__);
+emit_32(_ZN17btHingeConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E__index__);
+emit_32(_ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f__index__);
+emit_32(_ZN17btHingeConstraint8setParamEifi__index__);
+emit_32(_ZNK17btHingeConstraint8getParamEii__index__);
+emit_32(_ZNK17btHingeConstraint28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK17btHingeConstraint9serializeEPvP12btSerializer__index__);
+emit_start(_ZTI17btHingeConstraint)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS17btHingeConstraint);
+emit_32(_ZTI17btTypedConstraint);
+emit_start(_ZTS17btHingeConstraint)
+emit_string('17btHingeConstraint\x00');
+emit_start(_2E_str130)
+emit_string('m_flags & BT_HINGE_FLAGS_ERP_STOP\x00');
+emit_start(_2E_str231)
+emit_string('../../../../src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp\x00');
+emit_start(_2E_str332)
+emit_string('m_flags & BT_HINGE_FLAGS_CFM_STOP\x00');
+emit_start(_2E_str433)
+emit_string('m_flags & BT_HINGE_FLAGS_CFM_NORM\x00');
+emit_start(_ZTI18btConstraintSolver)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS18btConstraintSolver);
+emit_start(_ZTS18btConstraintSolver)
+emit_string('18btConstraintSolver\x00');
+emit_start(_ZTV35btSequentialImpulseConstraintSolver)
+emit_32(0);
+emit_32(_ZTI35btSequentialImpulseConstraintSolver);
+emit_32(_ZN35btSequentialImpulseConstraintSolverD1Ev__index__);
+emit_32(_ZN35btSequentialImpulseConstraintSolverD0Ev__index__);
+emit_32(_ZN18btConstraintSolver12prepareSolveEii__index__);
+emit_32(_ZN35btSequentialImpulseConstraintSolver10solveGroupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAllocP12btDispatcher__index__);
+emit_32(_ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc__index__);
+emit_32(_ZN35btSequentialImpulseConstraintSolver5resetEv__index__);
+emit_32(_ZN35btSequentialImpulseConstraintSolver45solveGroupCacheFriendlySplitImpulseIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc__index__);
+emit_32(_ZN35btSequentialImpulseConstraintSolver29solveGroupCacheFriendlyFinishEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc__index__);
+emit_32(_ZN35btSequentialImpulseConstraintSolver28solveGroupCacheFriendlySetupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc__index__);
+emit_32(_ZN35btSequentialImpulseConstraintSolver33solveGroupCacheFriendlyIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc__index__);
+emit_start(_ZTI35btSequentialImpulseConstraintSolver)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS35btSequentialImpulseConstraintSolver);
+emit_32(_ZTI18btConstraintSolver);
+emit_start(_ZTS35btSequentialImpulseConstraintSolver)
+emit_string('35btSequentialImpulseConstraintSolver\x00');
+emit_start(_2E_str248)
+emit_string('m_constraintRefs.size()==0\x00');
+emit_start(_2E_str34955)
+emit_string('../../../../src/BulletDynamics/Dynamics/btRigidBody.h\x00');
+emit_start(_2E_str450)
+emit_string('solveGroup\x00');
+emit_start(_2E_str551)
+emit_string('bodies\x00');
+emit_start(_2E_str652)
+emit_string('../../../../src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp\x00');
+emit_start(_2E_str753)
+emit_string('numBodies\x00');
+emit_start(_2E_str854)
+emit_string('solveGroupCacheFriendlyIterations\x00');
+emit_start(_2E_str955)
+emit_string('pt\x00');
+emit_start(_2E_str1056)
+emit_string('solveGroupCacheFriendlySetup\x00');
+emit_start(_2E_str1157)
+emit_string('currentRow<totalNumRows\x00');
+emit_start(_2E_str76)
+emit_string('btTypedConstraintData\x00');
+emit_start(_ZTI23btDiscreteDynamicsWorld)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS23btDiscreteDynamicsWorld);
+emit_32(_ZTI15btDynamicsWorld);
+emit_start(_ZTS23btDiscreteDynamicsWorld)
+emit_string('23btDiscreteDynamicsWorld\x00');
+emit_start(_ZTI15btDynamicsWorld)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS15btDynamicsWorld);
+emit_32(_ZTI16btCollisionWorld);
+emit_start(_ZTS15btDynamicsWorld)
+emit_string('15btDynamicsWorld\x00');
+emit_start(_ZTIN25btSimulationIslandManager14IslandCallbackE)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTSN25btSimulationIslandManager14IslandCallbackE);
+emit_start(_ZTSN25btSimulationIslandManager14IslandCallbackE)
+emit_string('N25btSimulationIslandManager14IslandCallbackE\x00');
+emit_start(_ZTV34btClosestNotMeConvexResultCallback)
+emit_32(0);
+emit_32(_ZTI34btClosestNotMeConvexResultCallback);
+emit_32(_ZN34btClosestNotMeConvexResultCallbackD1Ev__index__);
+emit_32(_ZN34btClosestNotMeConvexResultCallbackD0Ev__index__);
+emit_32(_ZNK34btClosestNotMeConvexResultCallback14needsCollisionEP17btBroadphaseProxy__index__);
+emit_32(_ZN34btClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb__index__);
+emit_start(_ZTI34btClosestNotMeConvexResultCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS34btClosestNotMeConvexResultCallback);
+emit_32(_ZTIN16btCollisionWorld27ClosestConvexResultCallbackE);
+emit_start(_ZTS34btClosestNotMeConvexResultCallback)
+emit_string('34btClosestNotMeConvexResultCallback\x00');
+emit_start(_ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback)
+emit_32(0);
+emit_32(_ZTIZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback);
+emit_32(_ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev__index__);
+emit_32(_ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD0Ev__index__);
+emit_32(_ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback13ProcessIslandEPP17btCollisionObjectiPP20btPersistentManifoldii__index__);
+emit_start(_ZTIZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback);
+emit_32(_ZTIN25btSimulationIslandManager14IslandCallbackE);
+emit_start(_ZTSZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback)
+emit_string('ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback\x00');
+emit_start(_2E_str87)
+emit_string('predictUnconstraintMotion\x00');
+emit_start(_2E_str188)
+emit_string('calculateSimulationIslands\x00');
+emit_start(_2E_str289)
+emit_string('updateActions\x00');
+emit_start(_2E_str794)
+emit_string('integrateTransforms\x00');
+emit_start(_2E_str895)
+emit_string('CCD motion clamping\x00');
+emit_start(_2E_str996)
+emit_string('solveConstraints\x00');
+emit_start(_2E_str1097)
+emit_string('updateActivationState\x00');
+emit_start(_2E_str1198)
+emit_string('internalSingleStepSimulation\x00');
+emit_start(_2E_str1299)
+emit_string('stepSimulation\x00');
+emit_start(_2E_str13100)
+emit_string('body\x00');
+emit_start(_2E_str1461)
+emit_string('../../../../src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp\x00');
+emit_start(_2E_str1562)
+emit_string('synchronizeMotionStates\x00');
+emit_start(_2E_str16101)
+emit_string('debugDrawWorld\x00');
+emit_start(_ZTV15btDynamicsWorld)
+emit_32(0);
+emit_32(_ZTI15btDynamicsWorld);
+emit_32(_ZN15btDynamicsWorldD1Ev__index__);
+emit_32(_ZN15btDynamicsWorldD0Ev__index__);
+emit_32(_ZN16btCollisionWorld11updateAabbsEv__index__);
+emit_32(_ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw__index__);
+emit_32(_ZN16btCollisionWorld14getDebugDrawerEv__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(_ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3__index__);
+emit_32(_ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE__index__);
+emit_32(_ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss__index__);
+emit_32(_ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject__index__);
+emit_32(_ZN16btCollisionWorld33performDiscreteCollisionDetectionEv__index__);
+emit_32(_ZN16btCollisionWorld9serializeEP12btSerializer__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(_ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb__index__);
+emit_32(_ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(_ZNK15btDynamicsWorld17getNumConstraintsEv__index__);
+emit_32(_ZN15btDynamicsWorld13getConstraintEi__index__);
+emit_32(_ZNK15btDynamicsWorld13getConstraintEi__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(__cxa_pure_virtual__index__);
+emit_32(_ZN15btDynamicsWorld10addVehicleEP17btActionInterface__index__);
+emit_32(_ZN15btDynamicsWorld13removeVehicleEP17btActionInterface__index__);
+emit_32(_ZN15btDynamicsWorld12addCharacterEP17btActionInterface__index__);
+emit_32(_ZN15btDynamicsWorld15removeCharacterEP17btActionInterface__index__);
+emit_start(_ZTV23btDiscreteDynamicsWorld)
+emit_32(0);
+emit_32(_ZTI23btDiscreteDynamicsWorld);
+emit_32(_ZN23btDiscreteDynamicsWorldD1Ev__index__);
+emit_32(_ZN23btDiscreteDynamicsWorldD0Ev__index__);
+emit_32(_ZN16btCollisionWorld11updateAabbsEv__index__);
+emit_32(_ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw__index__);
+emit_32(_ZN16btCollisionWorld14getDebugDrawerEv__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld14debugDrawWorldEv__index__);
+emit_32(_ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3__index__);
+emit_32(_ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject__index__);
+emit_32(_ZN16btCollisionWorld33performDiscreteCollisionDetectionEv__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld14stepSimulationEfif__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3__index__);
+emit_32(_ZNK23btDiscreteDynamicsWorld10getGravityEv__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld19getConstraintSolverEv__index__);
+emit_32(_ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld13getConstraintEi__index__);
+emit_32(_ZNK23btDiscreteDynamicsWorld13getConstraintEi__index__);
+emit_32(_ZNK23btDiscreteDynamicsWorld12getWorldTypeEv__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld11clearForcesEv__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld19integrateTransformsEf__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld18saveKinematicStateEf__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld12applyGravityEv__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld11setNumTasksEi__index__);
+emit_32(_ZN23btDiscreteDynamicsWorld14updateVehiclesEf__index__);
+emit_start(_ZTV11btRigidBody)
+emit_32(0);
+emit_32(_ZTI11btRigidBody);
+emit_32(_ZN11btRigidBody24checkCollideWithOverrideEP17btCollisionObject__index__);
+emit_32(_ZN11btRigidBodyD1Ev__index__);
+emit_32(_ZN11btRigidBodyD0Ev__index__);
+emit_32(_ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape__index__);
+emit_32(_ZNK11btRigidBody28calculateSerializeBufferSizeEv__index__);
+emit_32(_ZNK11btRigidBody9serializeEPvP12btSerializer__index__);
+emit_32(_ZNK11btRigidBody21serializeSingleObjectEP12btSerializer__index__);
+emit_start(_ZTI11btRigidBody)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS11btRigidBody);
+emit_32(_ZTI17btCollisionObject);
+emit_start(_ZTS11btRigidBody)
+emit_string('11btRigidBody\x00');
+emit_start(_2E_str4144)
+emit_string('btRigidBodyFloatData\x00');
+emit_start(_ZN15CProfileManager11CurrentNodeE)
+emit_32(_ZN15CProfileManager4RootE);
+emit_start(_2E_str729)
+emit_string('Root\x00');
+emit_start(llvm_2E_eh_2E_catch_2E_all_2E_value)
+emit_32(0);
+emit_start(_ZTIN4__rw10__rw_facetE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN4__rw10__rw_facetE);
+emit_32(_ZTIN4__rw17__rw_synchronizedE);
+emit_start(_ZTSN4__rw10__rw_facetE)
+emit_string('N4__rw10__rw_facetE\x00');
+emit_start(_ZTIN4__rw17__rw_synchronizedE)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTSN4__rw17__rw_synchronizedE);
+emit_start(_ZTSN4__rw17__rw_synchronizedE)
+emit_string('N4__rw17__rw_synchronizedE\x00');
+emit_start(_2E_str4131)
+emit_string('exception\x00');
+emit_start(_2E_str15132)
+emit_string('unexpected exception\x00');
+emit_start(_2E_str26)
+emit_fill(0,1);
+emit_start(_2E_str3133)
+emit_string('Exception: %s.\x0a\x00');
+emit_start(_2E_str47)
+emit_string('bad_alloc: out of memory\x00');
+emit_start(_2E_str5134)
+emit_string('unknown exception\x00');
+emit_start(_ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E6buffer)
+emit_string('rwstderr:1\x00');
+emit_start(_2E_str7136)
+emit_string('%d\x00');
+emit_start(_ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E8__catset)
+emit_32(1);
+emit_start(_ZZN4__rwL13__rw_vfmtwhatEPcjiS0_E5__cat)
+emit_32(4294967295);
+emit_start(_ZZN4__rw10__rw_throwEizE6errors)
+emit_32(_2E_str8137);
+emit_32(_2E_str9138);
+emit_32(_2E_str10139);
+emit_32(_2E_str11140);
+emit_32(_2E_str12141);
+emit_32(_2E_str138142);
+emit_32(_2E_str14143);
+emit_32(_2E_str159144);
+emit_32(_2E_str16145);
+emit_32(_2E_str17146);
+emit_32(_2E_str18147);
+emit_32(_2E_str19148);
+emit_32(_2E_str20149);
+emit_32(_2E_str21150);
+emit_32(_2E_str22151);
+emit_32(_2E_str23152);
+emit_32(_2E_str24153);
+emit_32(_2E_str25154);
+emit_32(_2E_str2610);
+emit_32(_2E_str27);
+emit_32(_2E_str28155);
+emit_32(_2E_str29156);
+emit_32(_2E_str30);
+emit_32(_2E_str31);
+emit_32(_2E_str32157);
+emit_start(_2E_str8137)
+emit_string('%s: %s: unspecified error\x00');
+emit_start(_2E_str9138)
+emit_string('%s: %s: exception\x00');
+emit_start(_2E_str10139)
+emit_string('%s: %s: unexpected exception\x00');
+emit_start(_2E_str11140)
+emit_string('%s: %s: bad_alloc: out of memory\x00');
+emit_start(_2E_str12141)
+emit_string('%s: %s: bad cast\x00');
+emit_start(_2E_str138142)
+emit_string('%s: %s: logic error\x00');
+emit_start(_2E_str14143)
+emit_string('%s: %s: domain error\x00');
+emit_start(_2E_str159144)
+emit_string('%s: %s: invalid argument\x00');
+emit_start(_2E_str16145)
+emit_string('%s: %s: length error: size %u out of range [0, %u)\x00');
+emit_start(_2E_str17146)
+emit_string('%s: %s: argument value %u out of range [0, %u)\x00');
+emit_start(_2E_str18147)
+emit_string('%s: %s: runtime error\x00');
+emit_start(_2E_str19148)
+emit_string('%s: %s: range error: invalid range [%d, %d)\x00');
+emit_start(_2E_str20149)
+emit_string('%s: %s: overflow error\x00');
+emit_start(_2E_str21150)
+emit_string('%s: %s: underflow error\x00');
+emit_start(_2E_str22151)
+emit_string('%s: stream object has set ios::failbit\x00');
+emit_start(_2E_str23152)
+emit_string('%s: stream object has set ios::badbit\x00');
+emit_start(_2E_str24153)
+emit_string('%s: stream object has set ios::eofbit\x00');
+emit_start(_2E_str25154)
+emit_string('%s: stream object has set %s\x00');
+emit_start(_2E_str2610)
+emit_string('%s: %s: facet %u not found in locale (\x22%s\x22)\x00');
+emit_start(_2E_str27)
+emit_string('%s: %s: bad locale name: \x22%s\x22\x00');
+emit_start(_2E_str28155)
+emit_string('%s: %s: failed to construct locale name\x00');
+emit_start(_2E_str29156)
+emit_string('%s: %s: conversion failed\x00');
+emit_start(_2E_str30)
+emit_string('%s: %s: invalid pointer %p\x00');
+emit_start(_2E_str31)
+emit_string('%s: %s: transformation failed\x00');
+emit_start(_2E_str32157)
+emit_string('%s: %s: bad category value: %#x\x00');
+emit_start(_2E_str33)
+emit_string('LC_COLLATE\x00');
+emit_start(_2E_str134)
+emit_string('LC_CTYPE\x00');
+emit_start(_2E_str235)
+emit_string('LC_MONETARY\x00');
+emit_start(_2E_str336)
+emit_string('LC_NUMERIC\x00');
+emit_start(_2E_str437)
+emit_string('LC_TIME\x00');
+emit_start(_ZTVN4__rw10__rw_facetE)
+emit_32(0);
+emit_32(_ZTIN4__rw10__rw_facetE);
+emit_32(_ZN4__rw10__rw_facetD1Ev__index__);
+emit_32(_ZN4__rw10__rw_facetD0Ev__index__);
+emit_start(_2E_str538)
+emit_string('C\x00');
+emit_start(_ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE10std_facets)
+emit_32(_ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE13std_facet_buf);
+emit_start(_ZZN4__rw10__rw_facet9_C_manageEPS0_NS0_13_C_facet_typeEPKcPFS1_jS4_EE17std_facet_bufsize)
+emit_32(416);
+emit_start(_ZZN4__rw10__rw_facetD4EvE9destroyed)
+emit_string('*** destroyed facet ***\x00');
+emit_start(_ZN4__rw9__rw_catsE)
+emit_32(1);
+emit_32(_2E_str33);
+emit_32(8193);
+emit_32(2);
+emit_32(_2E_str134);
+emit_32(49158);
+emit_32(3);
+emit_32(_2E_str235);
+emit_32(983160);
+emit_32(4);
+emit_32(_2E_str336);
+emit_32(7340928);
+emit_32(5);
+emit_32(_2E_str437);
+emit_32(25168896);
+emit_32(1);
+emit_32(_2E_str33);
+emit_32(8193);
+emit_start(_2E_str785)
+emit_string(';\x00');
+emit_start(_ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE7locales)
+emit_32(_ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE10locale_buf);
+emit_start(_ZZN4__rw11__rw_locale9_C_manageEPS0_PKcE14locale_bufsize)
+emit_32(8);
+emit_start(_2E_str292167)
+emit_string('LC_\x00');
+emit_start(_2E_str10100175)
+emit_string('locale::locale (const char*)\x00');
+emit_start(_2E_str12102177)
+emit_string('../stdcxx/locale_combine.cpp:650\x00');
+emit_start(_ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE8catalogs)
+emit_32(_ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE11catalog_buf);
+emit_start(_ZZN4__rwL20__rw_manage_cat_dataERiPNS_18__rw_open_cat_dataEE15catalog_bufsize)
+emit_32(8);
+emit_start(_2E_str115180)
+emit_string('../stdcxx/messages.cpp:308\x00');
+emit_start(_2E_str1116181)
+emit_string('__rw_cat_close (int cat)\x00');
+emit_start(_2E_str2131)
+emit_string('.\x00');
+emit_start(_2E_str4133)
+emit_string(',\x00');
+emit_start(_ZTVSt8messagesIcE)
+emit_32(0);
+emit_32(_ZTISt8messagesIcE);
+emit_32(_ZNSt8messagesIcED1Ev__index__);
+emit_32(_ZNSt8messagesIcED0Ev__index__);
+emit_32(_ZNKSt8messagesIcE7do_openERKSsRKSt6locale__index__);
+emit_32(_ZNKSt8messagesIcE6do_getEiiiRKSs__index__);
+emit_32(_ZNKSt8messagesIcE8do_closeEi__index__);
+emit_start(_ZTISt8messagesIcE)
+emit_32(_ZTVN10__cxxabiv121__vmi_class_type_infoE+8);
+emit_32(_ZTSSt8messagesIcE);
+emit_32(0);
+emit_32(2);
+emit_32(_ZTIN4__rw10__rw_facetE);
+emit_32(2);
+emit_32(_ZTISt13messages_base);
+emit_32(2);
+emit_start(_ZTSSt8messagesIcE)
+emit_string('St8messagesIcE\x00');
+emit_start(_ZTISt13messages_base)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTSSt13messages_base);
+emit_start(_ZTSSt13messages_base)
+emit_string('St13messages_base\x00');
+emit_start(_2E_str2360)
+emit_string('../stdcxx/include/string.cc:88\x00');
+emit_start(_2E_str3361)
+emit_string('basic_string::_C_get_rep (size_type, size_type)\x00');
+emit_start(_2E_str4362)
+emit_string('../stdcxx/include/string.cc:95\x00');
+emit_start(_ZTVSt9type_info)
+emit_32(0);
+emit_32(_ZTISt9type_info);
+emit_32(_ZNSt9type_infoD1Ev__index__);
+emit_32(_ZNSt9type_infoD0Ev__index__);
+emit_32(_ZNKSt9type_info15__is_function_pEv__index__);
+emit_32(_ZNKSt9type_info10__do_catchEPKS_PPvj__index__);
+emit_start(_ZTISt9type_info)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTSSt9type_info);
+emit_start(_ZTSSt9type_info)
+emit_string('St9type_info\x00');
+emit_start(_2E_str643)
+emit_string('tlsf_create: Pool size must be between %d and %d bytes.\x0a\x00');
+emit_start(_2E_str1648)
+emit_string('rb\x00');
+emit_start(_2E_str4651)
+emit_string('rb+\x00');
+emit_start(_2E_str5652)
+emit_string('wb+\x00');
+emit_start(my_ctype)
+emit_32(0);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(40);
+emit_32(40);
+emit_32(40);
+emit_32(40);
+emit_32(40);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(32);
+emit_32(72);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(132);
+emit_32(132);
+emit_32(132);
+emit_32(132);
+emit_32(132);
+emit_32(132);
+emit_32(132);
+emit_32(132);
+emit_32(132);
+emit_32(132);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(129);
+emit_32(129);
+emit_32(129);
+emit_32(129);
+emit_32(129);
+emit_32(129);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(1);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(130);
+emit_32(130);
+emit_32(130);
+emit_32(130);
+emit_32(130);
+emit_32(130);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(2);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(16);
+emit_32(32);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_32(0);
+emit_start(_ZL8nextRand)
+emit_32(1);
+emit_start(_2E_str7654)
+emit_string('inf\x00');
+emit_start(_2E_str9655)
+emit_string('nan\x00');
+emit_start(_ZL8pad_line)
+emit_string(' \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00');
+emit_string('0000000000000000\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00');
+emit_start(_ZTI14CFileInterface)
+emit_32(_ZTVN10__cxxabiv117__class_type_infoE+8);
+emit_32(_ZTS14CFileInterface);
+emit_start(_ZTS14CFileInterface)
+emit_string('14CFileInterface\x00');
+emit_start(_ZTV11CFileSystem)
+emit_32(0);
+emit_32(_ZTI11CFileSystem);
+emit_32(_ZNK11CFileSystem12IsFileSystemEv__index__);
+emit_32(_ZN11CFileSystem5freadEPvjj__index__);
+emit_32(_ZN11CFileSystem6fwriteEPKvjj__index__);
+emit_32(_ZN11CFileSystem6fflushEv__index__);
+emit_32(_ZN11CFileSystem6fcloseEv__index__);
+emit_32(_ZN11CFileSystem5ftellEv__index__);
+emit_32(_ZN11CFileSystem4feofEv__index__);
+emit_32(_ZN11CFileSystem5fseekEli__index__);
+emit_32(_ZN11CFileSystem6ungetcEi__index__);
+emit_start(_ZTI11CFileSystem)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS11CFileSystem);
+emit_32(_ZTI14CFileInterface);
+emit_start(_ZTS11CFileSystem)
+emit_string('11CFileSystem\x00');
+emit_start(_ZL13s_file_stdout)
+emit_32(_ZTV11CFileStdout+8);
+emit_start(_ZTV7CFileLS)
+emit_32(0);
+emit_32(_ZTI7CFileLS);
+emit_32(_ZNK14CFileInterface12IsFileSystemEv__index__);
+emit_32(_ZN7CFileLS5freadEPvjj__index__);
+emit_32(_ZN7CFileLS6fwriteEPKvjj__index__);
+emit_32(_ZN7CFileLS6fflushEv__index__);
+emit_32(_ZN7CFileLS6fcloseEv__index__);
+emit_32(_ZN7CFileLS5ftellEv__index__);
+emit_32(_ZN7CFileLS4feofEv__index__);
+emit_32(_ZN7CFileLS5fseekEli__index__);
+emit_32(_ZN7CFileLS6ungetcEi__index__);
+emit_start(_ZTI7CFileLS)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS7CFileLS);
+emit_32(_ZTI14CFileInterface);
+emit_start(_ZTS7CFileLS)
+emit_string('7CFileLS\x00');
+emit_start(_ZTV10CFileCloud)
+emit_32(0);
+emit_32(_ZTI10CFileCloud);
+emit_32(_ZNK14CFileInterface12IsFileSystemEv__index__);
+emit_32(_ZN10CFileCloud5freadEPvjj__index__);
+emit_32(_ZN10CFileCloud6fwriteEPKvjj__index__);
+emit_32(_ZN10CFileCloud6fflushEv__index__);
+emit_32(_ZN10CFileCloud6fcloseEv__index__);
+emit_32(_ZN10CFileCloud5ftellEv__index__);
+emit_32(_ZN10CFileCloud4feofEv__index__);
+emit_32(_ZN10CFileCloud5fseekEli__index__);
+emit_32(_ZN10CFileCloud6ungetcEi__index__);
+emit_start(_ZTI10CFileCloud)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS10CFileCloud);
+emit_32(_ZTI14CFileInterface);
+emit_start(_ZTS10CFileCloud)
+emit_string('10CFileCloud\x00');
+emit_start(_ZTV11CFileStdout)
+emit_32(0);
+emit_32(_ZTI11CFileStdout);
+emit_32(_ZNK14CFileInterface12IsFileSystemEv__index__);
+emit_32(_ZN11CFileStdout5freadEPvjj__index__);
+emit_32(_ZN11CFileStdout6fwriteEPKvjj__index__);
+emit_32(_ZN11CFileStdout6fflushEv__index__);
+emit_32(_ZN11CFileStdout6fcloseEv__index__);
+emit_32(_ZN11CFileStdout5ftellEv__index__);
+emit_32(_ZN11CFileStdout4feofEv__index__);
+emit_32(_ZN11CFileStdout5fseekEli__index__);
+emit_32(_ZN11CFileStdout6ungetcEi__index__);
+emit_start(_ZTI11CFileStdout)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTS11CFileStdout);
+emit_32(_ZTI14CFileInterface);
+emit_start(_ZTS11CFileStdout)
+emit_string('11CFileStdout\x00');
+emit_start(_2E_str31677)
+emit_string('r+b\x00');
+emit_start(_2E_str32678)
+emit_string('w+b\x00');
+emit_start(_2E_str33679)
+emit_string('/ls/\x00');
+emit_start(_2E_str34680)
+emit_string('/cloud/\x00');
+emit_start(_2E_str35681)
+emit_string('trying to open file (%s) with write attributes (%s)\x0a\x00');
+emit_start(_2E_str37683)
+emit_string('/ls\x00');
+emit_start(_2E_str38684)
+emit_string('(null)\x00');
+emit_start(_ZN12mandreel_b64L9b64_charsE)
+emit_string('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x00');
+emit_start(_ZN12mandreel_b64L11b64_indexesE)
+emit_string('\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff>\xff\xff\xff?456789:;<=\xff\xff\xff\xff\xff\xff\xff\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\xff\xff\xff\xff\xff\xff\x1a\x1b\x1c\x1d\x1e\x1f !\x22#$%&\x27()*+,-./0123\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff');
+emit_start(_ZL25s_mandreel_internal_width)
+emit_32(1024);
+emit_start(_ZL26s_mandreel_internal_height)
+emit_32(768);
+emit_start(_2E_str779)
+emit_string('mandreel.fat\x00');
+emit_start(_2E_str3782)
+emit_string('asynctexture\x00');
+emit_start(_2E_str4783)
+emit_string('warning: asynctexture data not valid\x00');
+emit_start(_2E_str5784)
+emit_string('packtexture\x00');
+emit_start(_2E_str6785)
+emit_string('unpackedtextures\x00');
+emit_start(_ZTVN10__cxxabiv120__si_class_type_infoE)
+emit_32(0);
+emit_32(_ZTIN10__cxxabiv120__si_class_type_infoE);
+emit_32(_ZN10__cxxabiv120__si_class_type_infoD1Ev__index__);
+emit_32(_ZN10__cxxabiv120__si_class_type_infoD0Ev__index__);
+emit_32(_ZNKSt9type_info15__is_function_pEv__index__);
+emit_32(_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj__index__);
+emit_32(_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv__index__);
+emit_32(_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE__index__);
+emit_32(_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE__index__);
+emit_32(_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2___index__);
+emit_start(_ZTIN10__cxxabiv120__si_class_type_infoE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN10__cxxabiv120__si_class_type_infoE);
+emit_32(_ZTIN10__cxxabiv117__class_type_infoE);
+emit_start(_ZTSN10__cxxabiv120__si_class_type_infoE)
+emit_string('N10__cxxabiv120__si_class_type_infoE\x00');
+emit_start(_ZTIN10__cxxabiv117__class_type_infoE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN10__cxxabiv117__class_type_infoE);
+emit_32(_ZTISt9type_info);
+emit_start(_ZTSN10__cxxabiv117__class_type_infoE)
+emit_string('N10__cxxabiv117__class_type_infoE\x00');
+emit_start(_ZTVN10__cxxabiv117__class_type_infoE)
+emit_32(0);
+emit_32(_ZTIN10__cxxabiv117__class_type_infoE);
+emit_32(_ZN10__cxxabiv117__class_type_infoD1Ev__index__);
+emit_32(_ZN10__cxxabiv117__class_type_infoD0Ev__index__);
+emit_32(_ZNKSt9type_info15__is_function_pEv__index__);
+emit_32(_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj__index__);
+emit_32(_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv__index__);
+emit_32(_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE__index__);
+emit_32(_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE__index__);
+emit_32(_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2___index__);
+emit_start(_ZTVN10__cxxabiv121__vmi_class_type_infoE)
+emit_32(0);
+emit_32(_ZTIN10__cxxabiv121__vmi_class_type_infoE);
+emit_32(_ZN10__cxxabiv121__vmi_class_type_infoD1Ev__index__);
+emit_32(_ZN10__cxxabiv121__vmi_class_type_infoD0Ev__index__);
+emit_32(_ZNKSt9type_info15__is_function_pEv__index__);
+emit_32(_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj__index__);
+emit_32(_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv__index__);
+emit_32(_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE__index__);
+emit_32(_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE__index__);
+emit_32(_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2___index__);
+emit_start(_ZTIN10__cxxabiv121__vmi_class_type_infoE)
+emit_32(_ZTVN10__cxxabiv120__si_class_type_infoE+8);
+emit_32(_ZTSN10__cxxabiv121__vmi_class_type_infoE);
+emit_32(_ZTIN10__cxxabiv117__class_type_infoE);
+emit_start(_ZTSN10__cxxabiv121__vmi_class_type_infoE)
+emit_string('N10__cxxabiv121__vmi_class_type_infoE\x00');
+emit_start(_2E_str221)
+emit_string('g_bInit\x00');
+emit_start(_2E_str1222)
+emit_string('MandreelAudioLib.cpp\x00');
+emit_start(_2E_str3224)
+emit_string('Mandreel_Audio_GetSoundDuration warning: sound duration not found(%s)\x0a\x00');
+emit_start(_2E_str4225)
+emit_string('sandbox\x00');
+emit_start(_2E_str12233)
+emit_string('%s%s\x00');
+emit_start(_2E_str22243)
+emit_string('LoadSoundDuractions\x0a\x00');
+emit_start(_2E_str24245)
+emit_string('error: mandreel.fat file not found. Maybe the working folder is not correctly set???\x0a\x00');
+emit_start(_2E_str26247)
+emit_string('version\x00');
+emit_start(_2E_str27248)
+emit_string('1.4\x00');
+emit_start(_2E_str28249)
+emit_string('ERROR: mandreel.fat version number is (%s) instead of (%s)\x0a\x00');
+emit_start(_2E_str29250)
+emit_string('audiofile\x00');
+emit_start(_2E_str30251)
+emit_string('??\x00');
+emit_start(_2E_str31252)
+emit_string('warning: audiofile(%s) duration can\x27t be read, invalid mandreel.fat file?\x0a\x00');
+emit_start(_2E_str32253)
+emit_string('file\x00');
+emit_start(_2E_str33254)
+emit_string('dir\x00');
+emit_start(_2E_str34255)
+emit_string('!g_bInit\x00');
+emit_start(_2E_str35256)
+emit_string('Mandreel_Audio_Init()\x00');
+emit_start(_ZL13s_fifo_errors)
+emit_32(0);
+emit_32(_ZL13s_fifo_errors+8);
+emit_32(0);
+emit_32(_ZL13s_fifo_errors+8);
+emit_32(0);
+emit_32(0);
+emit_start(llvm_2E_global_ctors)
+emit_32(65535);
+emit_32(_GLOBAL__I_Landscape02Vtx__index__);
+emit_32(65535);
+emit_32(_GLOBAL__I__ZN7btClockC2Ev__index__);
+emit_32(65535);
+emit_32(_GLOBAL__I__ZN4__rw9__catfindEPNS_8__rw_catE__index__);
+emit_32(65535);
+emit_32(_GLOBAL__I__mandreel_create_tcp_socket__index__);
+emit_32(65535);
+emit_32(_GLOBAL__I__ZN5my_gl14glAttachShaderEjj__index__);
+emit_start(llvm_2E_global_dtors)
+emit_32(65535);
+emit_32(_GLOBAL__D_Landscape02Vtx__index__);
+emit_32(65535);
+emit_32(_GLOBAL__D__Z6mymainiPPc__index__);
+emit_32(65535);
+emit_32(_GLOBAL__D__ZN19btGenericMemoryPool24allocate_from_free_nodesEj__index__);
+emit_32(65535);
+emit_32(_GLOBAL__D__ZN7btClockC2Ev__index__);
+emit_32(65535);
+emit_32(_GLOBAL__D__ZN4__rw9__catfindEPNS_8__rw_catE__index__);
+emit_32(65535);
+emit_32(_GLOBAL__D__ZN8OpenGLES12OpenGLESUtil15getCurrentErrorEv__index__);
+emit_32(65535);
+emit_32(_GLOBAL__D__ZN5my_gl14glAttachShaderEjj__index__);
+emit_start(llvm_2E_used)
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+emit_32(llvm_2E_eh_2E_catch_2E_all_2E_value);
+mandreel_call_constructors(llvm_2E_global_ctors,5,stackPos);
+}
+var _GLOBAL__D_Landscape02Vtx__index__ = register_delegate(_GLOBAL__D_Landscape02Vtx);
+var _GLOBAL__D__Z6mymainiPPc__index__ = register_delegate(_GLOBAL__D__Z6mymainiPPc);
+var _GLOBAL__D__ZN19btGenericMemoryPool24allocate_from_free_nodesEj__index__ = register_delegate(_GLOBAL__D__ZN19btGenericMemoryPool24allocate_from_free_nodesEj);
+var _GLOBAL__D__ZN4__rw9__catfindEPNS_8__rw_catE__index__ = register_delegate(_GLOBAL__D__ZN4__rw9__catfindEPNS_8__rw_catE);
+var _GLOBAL__D__ZN5my_gl14glAttachShaderEjj__index__ = register_delegate(_GLOBAL__D__ZN5my_gl14glAttachShaderEjj);
+var _GLOBAL__D__ZN7btClockC2Ev__index__ = register_delegate(_GLOBAL__D__ZN7btClockC2Ev);
+var _GLOBAL__D__ZN8OpenGLES12OpenGLESUtil15getCurrentErrorEv__index__ = register_delegate(_GLOBAL__D__ZN8OpenGLES12OpenGLESUtil15getCurrentErrorEv);
+var _GLOBAL__I_Landscape02Vtx__index__ = register_delegate(_GLOBAL__I_Landscape02Vtx);
+var _GLOBAL__I__ZN4__rw9__catfindEPNS_8__rw_catE__index__ = register_delegate(_GLOBAL__I__ZN4__rw9__catfindEPNS_8__rw_catE);
+var _GLOBAL__I__ZN5my_gl14glAttachShaderEjj__index__ = register_delegate(_GLOBAL__I__ZN5my_gl14glAttachShaderEjj);
+var _GLOBAL__I__ZN7btClockC2Ev__index__ = register_delegate(_GLOBAL__I__ZN7btClockC2Ev);
+var _GLOBAL__I__mandreel_create_tcp_socket__index__ = register_delegate(_GLOBAL__I__mandreel_create_tcp_socket);
+var _Z31MandreelDefaultDebugMsgCallbackiPKc__index__ = register_delegate(_Z31MandreelDefaultDebugMsgCallbackiPKc);
+var _ZN10CFileCloud4feofEv__index__ = register_delegate(_ZN10CFileCloud4feofEv);
+var _ZN10CFileCloud5freadEPvjj__index__ = register_delegate(_ZN10CFileCloud5freadEPvjj);
+var _ZN10CFileCloud5fseekEli__index__ = register_delegate(_ZN10CFileCloud5fseekEli);
+var _ZN10CFileCloud5ftellEv__index__ = register_delegate(_ZN10CFileCloud5ftellEv);
+var _ZN10CFileCloud6fcloseEv__index__ = register_delegate(_ZN10CFileCloud6fcloseEv);
+var _ZN10CFileCloud6fflushEv__index__ = register_delegate(_ZN10CFileCloud6fflushEv);
+var _ZN10CFileCloud6fwriteEPKvjj__index__ = register_delegate(_ZN10CFileCloud6fwriteEPKvjj);
+var _ZN10CFileCloud6ungetcEi__index__ = register_delegate(_ZN10CFileCloud6ungetcEi);
+var _ZN10__cxxabiv117__class_type_infoD0Ev__index__ = register_delegate(_ZN10__cxxabiv117__class_type_infoD0Ev);
+var _ZN10__cxxabiv117__class_type_infoD1Ev__index__ = register_delegate(_ZN10__cxxabiv117__class_type_infoD1Ev);
+var _ZN10__cxxabiv120__si_class_type_infoD0Ev__index__ = register_delegate(_ZN10__cxxabiv120__si_class_type_infoD0Ev);
+var _ZN10__cxxabiv120__si_class_type_infoD1Ev__index__ = register_delegate(_ZN10__cxxabiv120__si_class_type_infoD1Ev);
+var _ZN10__cxxabiv121__vmi_class_type_infoD0Ev__index__ = register_delegate(_ZN10__cxxabiv121__vmi_class_type_infoD0Ev);
+var _ZN10__cxxabiv121__vmi_class_type_infoD1Ev__index__ = register_delegate(_ZN10__cxxabiv121__vmi_class_type_infoD1Ev);
+var _ZN10btBoxShape15setLocalScalingERK9btVector3__index__ = register_delegate(_ZN10btBoxShape15setLocalScalingERK9btVector3);
+var _ZN10btBoxShape9setMarginEf__index__ = register_delegate(_ZN10btBoxShape9setMarginEf);
+var _ZN10btBoxShapeD0Ev__index__ = register_delegate(_ZN10btBoxShapeD0Ev);
+var _ZN10btBoxShapeD1Ev__index__ = register_delegate(_ZN10btBoxShapeD1Ev);
+var _ZN11CFileStdout4feofEv__index__ = register_delegate(_ZN11CFileStdout4feofEv);
+var _ZN11CFileStdout5freadEPvjj__index__ = register_delegate(_ZN11CFileStdout5freadEPvjj);
+var _ZN11CFileStdout5fseekEli__index__ = register_delegate(_ZN11CFileStdout5fseekEli);
+var _ZN11CFileStdout5ftellEv__index__ = register_delegate(_ZN11CFileStdout5ftellEv);
+var _ZN11CFileStdout6fcloseEv__index__ = register_delegate(_ZN11CFileStdout6fcloseEv);
+var _ZN11CFileStdout6fflushEv__index__ = register_delegate(_ZN11CFileStdout6fflushEv);
+var _ZN11CFileStdout6fwriteEPKvjj__index__ = register_delegate(_ZN11CFileStdout6fwriteEPKvjj);
+var _ZN11CFileStdout6ungetcEi__index__ = register_delegate(_ZN11CFileStdout6ungetcEi);
+var _ZN11CFileSystem4feofEv__index__ = register_delegate(_ZN11CFileSystem4feofEv);
+var _ZN11CFileSystem5freadEPvjj__index__ = register_delegate(_ZN11CFileSystem5freadEPvjj);
+var _ZN11CFileSystem5fseekEli__index__ = register_delegate(_ZN11CFileSystem5fseekEli);
+var _ZN11CFileSystem5ftellEv__index__ = register_delegate(_ZN11CFileSystem5ftellEv);
+var _ZN11CFileSystem6fcloseEv__index__ = register_delegate(_ZN11CFileSystem6fcloseEv);
+var _ZN11CFileSystem6fflushEv__index__ = register_delegate(_ZN11CFileSystem6fflushEv);
+var _ZN11CFileSystem6fwriteEPKvjj__index__ = register_delegate(_ZN11CFileSystem6fwriteEPKvjj);
+var _ZN11CFileSystem6ungetcEi__index__ = register_delegate(_ZN11CFileSystem6ungetcEi);
+var _ZN11btRigidBody24checkCollideWithOverrideEP17btCollisionObject__index__ = register_delegate(_ZN11btRigidBody24checkCollideWithOverrideEP17btCollisionObject);
+var _ZN11btRigidBodyD0Ev__index__ = register_delegate(_ZN11btRigidBodyD0Ev);
+var _ZN11btRigidBodyD1Ev__index__ = register_delegate(_ZN11btRigidBodyD1Ev);
+var _ZN12btAxisSweep3D0Ev__index__ = register_delegate(_ZN12btAxisSweep3D0Ev);
+var _ZN12btAxisSweep3D1Ev__index__ = register_delegate(_ZN12btAxisSweep3D1Ev);
+var _ZN12btConvexCast10CastResult15drawCoordSystemERK11btTransform__index__ = register_delegate(_ZN12btConvexCast10CastResult15drawCoordSystemERK11btTransform);
+var _ZN12btConvexCast10CastResult9DebugDrawEf__index__ = register_delegate(_ZN12btConvexCast10CastResult9DebugDrawEf);
+var _ZN12btConvexCast10CastResultD0Ev__index__ = register_delegate(_ZN12btConvexCast10CastResultD0Ev);
+var _ZN12btConvexCast10CastResultD1Ev__index__ = register_delegate(_ZN12btConvexCast10CastResultD1Ev);
+var _ZN12btConvexCastD0Ev__index__ = register_delegate(_ZN12btConvexCastD0Ev);
+var _ZN12btConvexCastD1Ev__index__ = register_delegate(_ZN12btConvexCastD1Ev);
+var _ZN12btDispatcherD0Ev__index__ = register_delegate(_ZN12btDispatcherD0Ev);
+var _ZN12btDispatcherD1Ev__index__ = register_delegate(_ZN12btDispatcherD1Ev);
+var _ZN13BenchmarkDemo15displayCallbackEv__index__ = register_delegate(_ZN13BenchmarkDemo15displayCallbackEv);
+var _ZN13BenchmarkDemo20clientMoveAndDisplayEv__index__ = register_delegate(_ZN13BenchmarkDemo20clientMoveAndDisplayEv);
+var _ZN13BenchmarkDemoD0Ev__index__ = register_delegate(_ZN13BenchmarkDemoD0Ev);
+var _ZN13BenchmarkDemoD1Ev__index__ = register_delegate(_ZN13BenchmarkDemoD1Ev);
+var _ZN13btConvexShapeD0Ev__index__ = register_delegate(_ZN13btConvexShapeD0Ev);
+var _ZN13btConvexShapeD1Ev__index__ = register_delegate(_ZN13btConvexShapeD1Ev);
+var _ZN13btSphereShape9setMarginEf__index__ = register_delegate(_ZN13btSphereShape9setMarginEf);
+var _ZN13btSphereShapeD0Ev__index__ = register_delegate(_ZN13btSphereShapeD0Ev);
+var _ZN13btSphereShapeD1Ev__index__ = register_delegate(_ZN13btSphereShapeD1Ev);
+var _ZN14BenchmarkDemo4D0Ev__index__ = register_delegate(_ZN14BenchmarkDemo4D0Ev);
+var _ZN14BenchmarkDemo4D1Ev__index__ = register_delegate(_ZN14BenchmarkDemo4D1Ev);
+var _ZN14btCapsuleShape15setLocalScalingERK9btVector3__index__ = register_delegate(_ZN14btCapsuleShape15setLocalScalingERK9btVector3);
+var _ZN14btCapsuleShape9setMarginEf__index__ = register_delegate(_ZN14btCapsuleShape9setMarginEf);
+var _ZN14btCapsuleShapeD0Ev__index__ = register_delegate(_ZN14btCapsuleShapeD0Ev);
+var _ZN14btCapsuleShapeD1Ev__index__ = register_delegate(_ZN14btCapsuleShapeD1Ev);
+var _ZN14btConcaveShape9setMarginEf__index__ = register_delegate(_ZN14btConcaveShape9setMarginEf);
+var _ZN14btConcaveShapeD0Ev__index__ = register_delegate(_ZN14btConcaveShapeD0Ev);
+var _ZN14btConcaveShapeD1Ev__index__ = register_delegate(_ZN14btConcaveShapeD1Ev);
+var _ZN14btOptimizedBvhD0Ev__index__ = register_delegate(_ZN14btOptimizedBvhD0Ev);
+var _ZN14btOptimizedBvhD1Ev__index__ = register_delegate(_ZN14btOptimizedBvhD1Ev);
+var _ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData__index__ = register_delegate(_ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData);
+var _ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData__index__ = register_delegate(_ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData);
+var _ZN14btQuantizedBvhD0Ev__index__ = register_delegate(_ZN14btQuantizedBvhD0Ev);
+var _ZN14btQuantizedBvhD1Ev__index__ = register_delegate(_ZN14btQuantizedBvhD1Ev);
+var _ZN15DemoApplication16getDynamicsWorldEv__index__ = register_delegate(_ZN15DemoApplication16getDynamicsWorldEv);
+var _ZN15DemoApplication20localCreateRigidBodyEfRK11btTransformP16btCollisionShape__index__ = register_delegate(_ZN15DemoApplication20localCreateRigidBodyEfRK11btTransformP16btCollisionShape);
+var _ZN15DemoApplication6myinitEv__index__ = register_delegate(_ZN15DemoApplication6myinitEv);
+var _ZN15btDynamicsWorld10addVehicleEP17btActionInterface__index__ = register_delegate(_ZN15btDynamicsWorld10addVehicleEP17btActionInterface);
+var _ZN15btDynamicsWorld12addCharacterEP17btActionInterface__index__ = register_delegate(_ZN15btDynamicsWorld12addCharacterEP17btActionInterface);
+var _ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb__index__ = register_delegate(_ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb);
+var _ZN15btDynamicsWorld13getConstraintEi__index__ = register_delegate(_ZN15btDynamicsWorld13getConstraintEi);
+var _ZN15btDynamicsWorld13removeVehicleEP17btActionInterface__index__ = register_delegate(_ZN15btDynamicsWorld13removeVehicleEP17btActionInterface);
+var _ZN15btDynamicsWorld15removeCharacterEP17btActionInterface__index__ = register_delegate(_ZN15btDynamicsWorld15removeCharacterEP17btActionInterface);
+var _ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint__index__ = register_delegate(_ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint);
+var _ZN15btDynamicsWorldD0Ev__index__ = register_delegate(_ZN15btDynamicsWorldD0Ev);
+var _ZN15btDynamicsWorldD1Ev__index__ = register_delegate(_ZN15btDynamicsWorldD1Ev);
+var _ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE__index__ = register_delegate(_ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE);
+var _ZN15btGjkConvexCastD0Ev__index__ = register_delegate(_ZN15btGjkConvexCastD0Ev);
+var _ZN15btGjkConvexCastD1Ev__index__ = register_delegate(_ZN15btGjkConvexCastD1Ev);
+var _ZN15btNullPairCache18addOverlappingPairEP17btBroadphaseProxyS1___index__ = register_delegate(_ZN15btNullPairCache18addOverlappingPairEP17btBroadphaseProxyS1_);
+var _ZN15btNullPairCache18hasDeferredRemovalEv__index__ = register_delegate(_ZN15btNullPairCache18hasDeferredRemovalEv);
+var _ZN15btNullPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher__index__ = register_delegate(_ZN15btNullPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher);
+var _ZN15btNullPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher__index__ = register_delegate(_ZN15btNullPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher);
+var _ZN15btNullPairCache20sortOverlappingPairsEP12btDispatcher__index__ = register_delegate(_ZN15btNullPairCache20sortOverlappingPairsEP12btDispatcher);
+var _ZN15btNullPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher__index__ = register_delegate(_ZN15btNullPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher);
+var _ZN15btNullPairCache23getOverlappingPairArrayEv__index__ = register_delegate(_ZN15btNullPairCache23getOverlappingPairArrayEv);
+var _ZN15btNullPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback__index__ = register_delegate(_ZN15btNullPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback);
+var _ZN15btNullPairCache26getOverlappingPairArrayPtrEv__index__ = register_delegate(_ZN15btNullPairCache26getOverlappingPairArrayPtrEv);
+var _ZN15btNullPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher__index__ = register_delegate(_ZN15btNullPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher);
+var _ZN15btNullPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback__index__ = register_delegate(_ZN15btNullPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback);
+var _ZN15btNullPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher__index__ = register_delegate(_ZN15btNullPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher);
+var _ZN15btNullPairCache8findPairEP17btBroadphaseProxyS1___index__ = register_delegate(_ZN15btNullPairCache8findPairEP17btBroadphaseProxyS1_);
+var _ZN15btNullPairCacheD0Ev__index__ = register_delegate(_ZN15btNullPairCacheD0Ev);
+var _ZN15btNullPairCacheD1Ev__index__ = register_delegate(_ZN15btNullPairCacheD1Ev);
+var _ZN15btTriangleShapeD0Ev__index__ = register_delegate(_ZN15btTriangleShapeD0Ev);
+var _ZN15btTriangleShapeD1Ev__index__ = register_delegate(_ZN15btTriangleShapeD1Ev);
+var _ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb__index__ = register_delegate(_ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb);
+var _ZN16btBoxBoxDetectorD0Ev__index__ = register_delegate(_ZN16btBoxBoxDetectorD0Ev);
+var _ZN16btBoxBoxDetectorD1Ev__index__ = register_delegate(_ZN16btBoxBoxDetectorD1Ev);
+var _ZN16btCollisionWorld11updateAabbsEv__index__ = register_delegate(_ZN16btCollisionWorld11updateAabbsEv);
+var _ZN16btCollisionWorld14debugDrawWorldEv__index__ = register_delegate(_ZN16btCollisionWorld14debugDrawWorldEv);
+var _ZN16btCollisionWorld14getDebugDrawerEv__index__ = register_delegate(_ZN16btCollisionWorld14getDebugDrawerEv);
+var _ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw__index__ = register_delegate(_ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw);
+var _ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3__index__ = register_delegate(_ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3);
+var _ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss__index__ = register_delegate(_ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss);
+var _ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject__index__ = register_delegate(_ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject);
+var _ZN16btCollisionWorld24ClosestRayResultCallback15addSingleResultERNS_14LocalRayResultEb__index__ = register_delegate(_ZN16btCollisionWorld24ClosestRayResultCallback15addSingleResultERNS_14LocalRayResultEb);
+var _ZN16btCollisionWorld24ClosestRayResultCallbackD0Ev__index__ = register_delegate(_ZN16btCollisionWorld24ClosestRayResultCallbackD0Ev);
+var _ZN16btCollisionWorld24ClosestRayResultCallbackD1Ev__index__ = register_delegate(_ZN16btCollisionWorld24ClosestRayResultCallbackD1Ev);
+var _ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb__index__ = register_delegate(_ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb);
+var _ZN16btCollisionWorld27ClosestConvexResultCallbackD0Ev__index__ = register_delegate(_ZN16btCollisionWorld27ClosestConvexResultCallbackD0Ev);
+var _ZN16btCollisionWorld27ClosestConvexResultCallbackD1Ev__index__ = register_delegate(_ZN16btCollisionWorld27ClosestConvexResultCallbackD1Ev);
+var _ZN16btCollisionWorld33performDiscreteCollisionDetectionEv__index__ = register_delegate(_ZN16btCollisionWorld33performDiscreteCollisionDetectionEv);
+var _ZN16btCollisionWorld9serializeEP12btSerializer__index__ = register_delegate(_ZN16btCollisionWorld9serializeEP12btSerializer);
+var _ZN16btCollisionWorldD0Ev__index__ = register_delegate(_ZN16btCollisionWorldD0Ev);
+var _ZN16btCollisionWorldD1Ev__index__ = register_delegate(_ZN16btCollisionWorldD1Ev);
+var _ZN16btDbvtBroadphase10printStatsEv__index__ = register_delegate(_ZN16btDbvtBroadphase10printStatsEv);
+var _ZN16btDbvtBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3___index__ = register_delegate(_ZN16btDbvtBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_);
+var _ZN16btDbvtBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher__index__ = register_delegate(_ZN16btDbvtBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher);
+var _ZN16btDbvtBroadphase23getOverlappingPairCacheEv__index__ = register_delegate(_ZN16btDbvtBroadphase23getOverlappingPairCacheEv);
+var _ZN16btDbvtBroadphase25calculateOverlappingPairsEP12btDispatcher__index__ = register_delegate(_ZN16btDbvtBroadphase25calculateOverlappingPairsEP12btDispatcher);
+var _ZN16btDbvtBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2___index__ = register_delegate(_ZN16btDbvtBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_);
+var _ZN16btDbvtBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher__index__ = register_delegate(_ZN16btDbvtBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher);
+var _ZN16btDbvtBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback__index__ = register_delegate(_ZN16btDbvtBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback);
+var _ZN16btDbvtBroadphase9resetPoolEP12btDispatcher__index__ = register_delegate(_ZN16btDbvtBroadphase9resetPoolEP12btDispatcher);
+var _ZN16btDbvtBroadphaseD0Ev__index__ = register_delegate(_ZN16btDbvtBroadphaseD0Ev);
+var _ZN16btDbvtBroadphaseD1Ev__index__ = register_delegate(_ZN16btDbvtBroadphaseD1Ev);
+var _ZN16btEmptyAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__ = register_delegate(_ZN16btEmptyAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_);
+var _ZN16btEmptyAlgorithm10CreateFuncD0Ev__index__ = register_delegate(_ZN16btEmptyAlgorithm10CreateFuncD0Ev);
+var _ZN16btEmptyAlgorithm10CreateFuncD1Ev__index__ = register_delegate(_ZN16btEmptyAlgorithm10CreateFuncD1Ev);
+var _ZN16btEmptyAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN16btEmptyAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN16btEmptyAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN16btEmptyAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN16btEmptyAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__ = register_delegate(_ZN16btEmptyAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE);
+var _ZN16btEmptyAlgorithmD0Ev__index__ = register_delegate(_ZN16btEmptyAlgorithmD0Ev);
+var _ZN16btEmptyAlgorithmD1Ev__index__ = register_delegate(_ZN16btEmptyAlgorithmD1Ev);
+var _ZN16btManifoldResult15addContactPointERK9btVector3S2_f__index__ = register_delegate(_ZN16btManifoldResult15addContactPointERK9btVector3S2_f);
+var _ZN16btManifoldResult20setShapeIdentifiersAEii__index__ = register_delegate(_ZN16btManifoldResult20setShapeIdentifiersAEii);
+var _ZN16btManifoldResult20setShapeIdentifiersBEii__index__ = register_delegate(_ZN16btManifoldResult20setShapeIdentifiersBEii);
+var _ZN16btManifoldResultD0Ev__index__ = register_delegate(_ZN16btManifoldResultD0Ev);
+var _ZN16btManifoldResultD1Ev__index__ = register_delegate(_ZN16btManifoldResultD1Ev);
+var _ZN16btPointCollector15addContactPointERK9btVector3S2_f__index__ = register_delegate(_ZN16btPointCollector15addContactPointERK9btVector3S2_f);
+var _ZN16btPointCollector20setShapeIdentifiersAEii__index__ = register_delegate(_ZN16btPointCollector20setShapeIdentifiersAEii);
+var _ZN16btPointCollector20setShapeIdentifiersBEii__index__ = register_delegate(_ZN16btPointCollector20setShapeIdentifiersBEii);
+var _ZN16btPointCollectorD0Ev__index__ = register_delegate(_ZN16btPointCollectorD0Ev);
+var _ZN16btPointCollectorD1Ev__index__ = register_delegate(_ZN16btPointCollectorD1Ev);
+var _ZN17DebugDrawcallback15processTriangleEP9btVector3ii__index__ = register_delegate(_ZN17DebugDrawcallback15processTriangleEP9btVector3ii);
+var _ZN17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii__index__ = register_delegate(_ZN17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii);
+var _ZN17DebugDrawcallbackD0Ev__index__ = register_delegate(_ZN17DebugDrawcallbackD0Ev);
+var _ZN17DebugDrawcallbackD1Ev__index__ = register_delegate(_ZN17DebugDrawcallbackD1Ev);
+var _ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape__index__ = register_delegate(_ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape);
+var _ZN17btCollisionObject24checkCollideWithOverrideEPS___index__ = register_delegate(_ZN17btCollisionObject24checkCollideWithOverrideEPS_);
+var _ZN17btCollisionObjectD0Ev__index__ = register_delegate(_ZN17btCollisionObjectD0Ev);
+var _ZN17btCollisionObjectD1Ev__index__ = register_delegate(_ZN17btCollisionObjectD1Ev);
+var _ZN17btConvexHullShape15setLocalScalingERK9btVector3__index__ = register_delegate(_ZN17btConvexHullShape15setLocalScalingERK9btVector3);
+var _ZN17btConvexHullShapeD0Ev__index__ = register_delegate(_ZN17btConvexHullShapeD0Ev);
+var _ZN17btConvexHullShapeD1Ev__index__ = register_delegate(_ZN17btConvexHullShapeD1Ev);
+var _ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb__index__ = register_delegate(_ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb);
+var _ZN17btGjkPairDetectorD0Ev__index__ = register_delegate(_ZN17btGjkPairDetectorD0Ev);
+var _ZN17btGjkPairDetectorD1Ev__index__ = register_delegate(_ZN17btGjkPairDetectorD1Ev);
+var _ZN17btHingeConstraint13buildJacobianEv__index__ = register_delegate(_ZN17btHingeConstraint13buildJacobianEv);
+var _ZN17btHingeConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E__index__ = register_delegate(_ZN17btHingeConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E);
+var _ZN17btHingeConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E__index__ = register_delegate(_ZN17btHingeConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E);
+var _ZN17btHingeConstraint8setParamEifi__index__ = register_delegate(_ZN17btHingeConstraint8setParamEifi);
+var _ZN17btHingeConstraintD0Ev__index__ = register_delegate(_ZN17btHingeConstraintD0Ev);
+var _ZN17btHingeConstraintD1Ev__index__ = register_delegate(_ZN17btHingeConstraintD1Ev);
+var _ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif__index__ = register_delegate(_ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif);
+var _ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f__index__ = register_delegate(_ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f);
+var _ZN18btConstraintSolver12prepareSolveEii__index__ = register_delegate(_ZN18btConstraintSolver12prepareSolveEii);
+var _ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc__index__ = register_delegate(_ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc);
+var _ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNode__index__ = register_delegate(_ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNode);
+var _ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNodeS2___index__ = register_delegate(_ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNodeS2_);
+var _ZN18btDbvtTreeColliderD0Ev__index__ = register_delegate(_ZN18btDbvtTreeColliderD0Ev);
+var _ZN18btDbvtTreeColliderD1Ev__index__ = register_delegate(_ZN18btDbvtTreeColliderD1Ev);
+var _ZN18btTriangleCallbackD0Ev__index__ = register_delegate(_ZN18btTriangleCallbackD0Ev);
+var _ZN18btTriangleCallbackD1Ev__index__ = register_delegate(_ZN18btTriangleCallbackD1Ev);
+var _ZN19BroadphaseRayTester7ProcessEPK10btDbvtNode__index__ = register_delegate(_ZN19BroadphaseRayTester7ProcessEPK10btDbvtNode);
+var _ZN19BroadphaseRayTesterD0Ev__index__ = register_delegate(_ZN19BroadphaseRayTesterD0Ev);
+var _ZN19BroadphaseRayTesterD1Ev__index__ = register_delegate(_ZN19BroadphaseRayTesterD1Ev);
+var _ZN19btSingleRayCallback7processEPK17btBroadphaseProxy__index__ = register_delegate(_ZN19btSingleRayCallback7processEPK17btBroadphaseProxy);
+var _ZN19btSingleRayCallbackD0Ev__index__ = register_delegate(_ZN19btSingleRayCallbackD0Ev);
+var _ZN19btSingleRayCallbackD1Ev__index__ = register_delegate(_ZN19btSingleRayCallbackD1Ev);
+var _ZN19btTriangleMeshShape15setLocalScalingERK9btVector3__index__ = register_delegate(_ZN19btTriangleMeshShape15setLocalScalingERK9btVector3);
+var _ZN19btTriangleMeshShapeD0Ev__index__ = register_delegate(_ZN19btTriangleMeshShapeD0Ev);
+var _ZN19btTriangleMeshShapeD1Ev__index__ = register_delegate(_ZN19btTriangleMeshShapeD1Ev);
+var _ZN20BroadphaseAabbTester7ProcessEPK10btDbvtNode__index__ = register_delegate(_ZN20BroadphaseAabbTester7ProcessEPK10btDbvtNode);
+var _ZN20BroadphaseAabbTesterD0Ev__index__ = register_delegate(_ZN20BroadphaseAabbTesterD0Ev);
+var _ZN20BroadphaseAabbTesterD1Ev__index__ = register_delegate(_ZN20BroadphaseAabbTesterD1Ev);
+var _ZN20btAxisSweep3InternalItE10printStatsEv__index__ = register_delegate(_ZN20btAxisSweep3InternalItE10printStatsEv);
+var _ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4___index__ = register_delegate(_ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_);
+var _ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher__index__ = register_delegate(_ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher);
+var _ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv__index__ = register_delegate(_ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv);
+var _ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher__index__ = register_delegate(_ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher);
+var _ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3___index__ = register_delegate(_ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_);
+var _ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher__index__ = register_delegate(_ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher);
+var _ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback__index__ = register_delegate(_ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback);
+var _ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher__index__ = register_delegate(_ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher);
+var _ZN20btAxisSweep3InternalItED0Ev__index__ = register_delegate(_ZN20btAxisSweep3InternalItED0Ev);
+var _ZN20btAxisSweep3InternalItED1Ev__index__ = register_delegate(_ZN20btAxisSweep3InternalItED1Ev);
+var _ZN20btCollisionAlgorithmD0Ev__index__ = register_delegate(_ZN20btCollisionAlgorithmD0Ev);
+var _ZN20btCollisionAlgorithmD1Ev__index__ = register_delegate(_ZN20btCollisionAlgorithmD1Ev);
+var _ZN20btDefaultMotionState17setWorldTransformERK11btTransform__index__ = register_delegate(_ZN20btDefaultMotionState17setWorldTransformERK11btTransform);
+var _ZN20btDefaultMotionStateD0Ev__index__ = register_delegate(_ZN20btDefaultMotionStateD0Ev);
+var _ZN20btDefaultMotionStateD1Ev__index__ = register_delegate(_ZN20btDefaultMotionStateD1Ev);
+var _ZN21SupportVertexCallback15processTriangleEP9btVector3ii__index__ = register_delegate(_ZN21SupportVertexCallback15processTriangleEP9btVector3ii);
+var _ZN21SupportVertexCallbackD0Ev__index__ = register_delegate(_ZN21SupportVertexCallbackD0Ev);
+var _ZN21SupportVertexCallbackD1Ev__index__ = register_delegate(_ZN21SupportVertexCallbackD1Ev);
+var _ZN21btCollisionDispatcher13clearManifoldEP20btPersistentManifold__index__ = register_delegate(_ZN21btCollisionDispatcher13clearManifoldEP20btPersistentManifold);
+var _ZN21btCollisionDispatcher13findAlgorithmEP17btCollisionObjectS1_P20btPersistentManifold__index__ = register_delegate(_ZN21btCollisionDispatcher13findAlgorithmEP17btCollisionObjectS1_P20btPersistentManifold);
+var _ZN21btCollisionDispatcher13needsResponseEP17btCollisionObjectS1___index__ = register_delegate(_ZN21btCollisionDispatcher13needsResponseEP17btCollisionObjectS1_);
+var _ZN21btCollisionDispatcher14getNewManifoldEPvS0___index__ = register_delegate(_ZN21btCollisionDispatcher14getNewManifoldEPvS0_);
+var _ZN21btCollisionDispatcher14needsCollisionEP17btCollisionObjectS1___index__ = register_delegate(_ZN21btCollisionDispatcher14needsCollisionEP17btCollisionObjectS1_);
+var _ZN21btCollisionDispatcher15releaseManifoldEP20btPersistentManifold__index__ = register_delegate(_ZN21btCollisionDispatcher15releaseManifoldEP20btPersistentManifold);
+var _ZN21btCollisionDispatcher19defaultNearCallbackER16btBroadphasePairRS_RK16btDispatcherInfo__index__ = register_delegate(_ZN21btCollisionDispatcher19defaultNearCallbackER16btBroadphasePairRS_RK16btDispatcherInfo);
+var _ZN21btCollisionDispatcher22freeCollisionAlgorithmEPv__index__ = register_delegate(_ZN21btCollisionDispatcher22freeCollisionAlgorithmEPv);
+var _ZN21btCollisionDispatcher25dispatchAllCollisionPairsEP22btOverlappingPairCacheRK16btDispatcherInfoP12btDispatcher__index__ = register_delegate(_ZN21btCollisionDispatcher25dispatchAllCollisionPairsEP22btOverlappingPairCacheRK16btDispatcherInfoP12btDispatcher);
+var _ZN21btCollisionDispatcher26allocateCollisionAlgorithmEi__index__ = register_delegate(_ZN21btCollisionDispatcher26allocateCollisionAlgorithmEi);
+var _ZN21btCollisionDispatcher26getInternalManifoldPointerEv__index__ = register_delegate(_ZN21btCollisionDispatcher26getInternalManifoldPointerEv);
+var _ZN21btCollisionDispatcher26getManifoldByIndexInternalEi__index__ = register_delegate(_ZN21btCollisionDispatcher26getManifoldByIndexInternalEi);
+var _ZN21btCollisionDispatcherD0Ev__index__ = register_delegate(_ZN21btCollisionDispatcherD0Ev);
+var _ZN21btCollisionDispatcherD1Ev__index__ = register_delegate(_ZN21btCollisionDispatcherD1Ev);
+var _ZN21btConeTwistConstraint13buildJacobianEv__index__ = register_delegate(_ZN21btConeTwistConstraint13buildJacobianEv);
+var _ZN21btConeTwistConstraint23solveConstraintObsoleteER11btRigidBodyS1_f__index__ = register_delegate(_ZN21btConeTwistConstraint23solveConstraintObsoleteER11btRigidBodyS1_f);
+var _ZN21btConeTwistConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E__index__ = register_delegate(_ZN21btConeTwistConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E);
+var _ZN21btConeTwistConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E__index__ = register_delegate(_ZN21btConeTwistConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E);
+var _ZN21btConeTwistConstraint8setParamEifi__index__ = register_delegate(_ZN21btConeTwistConstraint8setParamEifi);
+var _ZN21btConeTwistConstraintD0Ev__index__ = register_delegate(_ZN21btConeTwistConstraintD0Ev);
+var _ZN21btConeTwistConstraintD1Ev__index__ = register_delegate(_ZN21btConeTwistConstraintD1Ev);
+var _ZN21btConvexInternalShape15setLocalScalingERK9btVector3__index__ = register_delegate(_ZN21btConvexInternalShape15setLocalScalingERK9btVector3);
+var _ZN21btConvexInternalShape9setMarginEf__index__ = register_delegate(_ZN21btConvexInternalShape9setMarginEf);
+var _ZN21btSingleSweepCallback7processEPK17btBroadphaseProxy__index__ = register_delegate(_ZN21btSingleSweepCallback7processEPK17btBroadphaseProxy);
+var _ZN21btSingleSweepCallbackD0Ev__index__ = register_delegate(_ZN21btSingleSweepCallbackD0Ev);
+var _ZN21btSingleSweepCallbackD1Ev__index__ = register_delegate(_ZN21btSingleSweepCallbackD1Ev);
+var _ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb__index__ = register_delegate(_ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb);
+var _ZN22SphereTriangleDetectorD0Ev__index__ = register_delegate(_ZN22SphereTriangleDetectorD0Ev);
+var _ZN22SphereTriangleDetectorD1Ev__index__ = register_delegate(_ZN22SphereTriangleDetectorD1Ev);
+var _ZN22btBvhTriangleMeshShape15setLocalScalingERK9btVector3__index__ = register_delegate(_ZN22btBvhTriangleMeshShape15setLocalScalingERK9btVector3);
+var _ZN22btBvhTriangleMeshShapeD0Ev__index__ = register_delegate(_ZN22btBvhTriangleMeshShapeD0Ev);
+var _ZN22btBvhTriangleMeshShapeD1Ev__index__ = register_delegate(_ZN22btBvhTriangleMeshShapeD1Ev);
+var _ZN22btCompoundLeafCallback7ProcessEPK10btDbvtNode__index__ = register_delegate(_ZN22btCompoundLeafCallback7ProcessEPK10btDbvtNode);
+var _ZN22btCompoundLeafCallbackD0Ev__index__ = register_delegate(_ZN22btCompoundLeafCallbackD0Ev);
+var _ZN22btCompoundLeafCallbackD1Ev__index__ = register_delegate(_ZN22btCompoundLeafCallbackD1Ev);
+var _ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE__index__ = register_delegate(_ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE);
+var _ZN22btSubsimplexConvexCastD0Ev__index__ = register_delegate(_ZN22btSubsimplexConvexCastD0Ev);
+var _ZN22btSubsimplexConvexCastD1Ev__index__ = register_delegate(_ZN22btSubsimplexConvexCastD1Ev);
+var _ZN23btCollisionPairCallback14processOverlapER16btBroadphasePair__index__ = register_delegate(_ZN23btCollisionPairCallback14processOverlapER16btBroadphasePair);
+var _ZN23btCollisionPairCallbackD0Ev__index__ = register_delegate(_ZN23btCollisionPairCallbackD0Ev);
+var _ZN23btCollisionPairCallbackD1Ev__index__ = register_delegate(_ZN23btCollisionPairCallbackD1Ev);
+var _ZN23btConvexConvexAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__ = register_delegate(_ZN23btConvexConvexAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_);
+var _ZN23btConvexConvexAlgorithm10CreateFuncD0Ev__index__ = register_delegate(_ZN23btConvexConvexAlgorithm10CreateFuncD0Ev);
+var _ZN23btConvexConvexAlgorithm10CreateFuncD1Ev__index__ = register_delegate(_ZN23btConvexConvexAlgorithm10CreateFuncD1Ev);
+var _ZN23btConvexConvexAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN23btConvexConvexAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN23btConvexConvexAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN23btConvexConvexAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN23btConvexConvexAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__ = register_delegate(_ZN23btConvexConvexAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE);
+var _ZN23btConvexConvexAlgorithmD0Ev__index__ = register_delegate(_ZN23btConvexConvexAlgorithmD0Ev);
+var _ZN23btConvexConvexAlgorithmD1Ev__index__ = register_delegate(_ZN23btConvexConvexAlgorithmD1Ev);
+var _ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface);
+var _ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3);
+var _ZN23btDiscreteDynamicsWorld11clearForcesEv__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld11clearForcesEv);
+var _ZN23btDiscreteDynamicsWorld11setNumTasksEi__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld11setNumTasksEi);
+var _ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface);
+var _ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody);
+var _ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss);
+var _ZN23btDiscreteDynamicsWorld12applyGravityEv__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld12applyGravityEv);
+var _ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface);
+var _ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb);
+var _ZN23btDiscreteDynamicsWorld13getConstraintEi__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld13getConstraintEi);
+var _ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface);
+var _ZN23btDiscreteDynamicsWorld14debugDrawWorldEv__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld14debugDrawWorldEv);
+var _ZN23btDiscreteDynamicsWorld14stepSimulationEfif__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld14stepSimulationEfif);
+var _ZN23btDiscreteDynamicsWorld14updateVehiclesEf__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld14updateVehiclesEf);
+var _ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface);
+var _ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody);
+var _ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint);
+var _ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo);
+var _ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss);
+var _ZN23btDiscreteDynamicsWorld18saveKinematicStateEf__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld18saveKinematicStateEf);
+var _ZN23btDiscreteDynamicsWorld19getConstraintSolverEv__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld19getConstraintSolverEv);
+var _ZN23btDiscreteDynamicsWorld19integrateTransformsEf__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld19integrateTransformsEf);
+var _ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver);
+var _ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject);
+var _ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv);
+var _ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf);
+var _ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv);
+var _ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf);
+var _ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface);
+var _ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer__index__ = register_delegate(_ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer);
+var _ZN23btDiscreteDynamicsWorldD0Ev__index__ = register_delegate(_ZN23btDiscreteDynamicsWorldD0Ev);
+var _ZN23btDiscreteDynamicsWorldD1Ev__index__ = register_delegate(_ZN23btDiscreteDynamicsWorldD1Ev);
+var _ZN23btStridingMeshInterfaceD0Ev__index__ = register_delegate(_ZN23btStridingMeshInterfaceD0Ev);
+var _ZN23btStridingMeshInterfaceD1Ev__index__ = register_delegate(_ZN23btStridingMeshInterfaceD1Ev);
+var _ZN24btConvexTriangleCallback15processTriangleEP9btVector3ii__index__ = register_delegate(_ZN24btConvexTriangleCallback15processTriangleEP9btVector3ii);
+var _ZN24btConvexTriangleCallbackD0Ev__index__ = register_delegate(_ZN24btConvexTriangleCallbackD0Ev);
+var _ZN24btConvexTriangleCallbackD1Ev__index__ = register_delegate(_ZN24btConvexTriangleCallbackD1Ev);
+var _ZN24btPerturbedContactResult15addContactPointERK9btVector3S2_f__index__ = register_delegate(_ZN24btPerturbedContactResult15addContactPointERK9btVector3S2_f);
+var _ZN24btPerturbedContactResultD0Ev__index__ = register_delegate(_ZN24btPerturbedContactResultD0Ev);
+var _ZN24btPerturbedContactResultD1Ev__index__ = register_delegate(_ZN24btPerturbedContactResultD1Ev);
+var _ZN25btSimulationIslandManager21updateActivationStateEP16btCollisionWorldP12btDispatcher__index__ = register_delegate(_ZN25btSimulationIslandManager21updateActivationStateEP16btCollisionWorldP12btDispatcher);
+var _ZN25btSimulationIslandManager26storeIslandActivationStateEP16btCollisionWorld__index__ = register_delegate(_ZN25btSimulationIslandManager26storeIslandActivationStateEP16btCollisionWorld);
+var _ZN25btSimulationIslandManagerD0Ev__index__ = register_delegate(_ZN25btSimulationIslandManagerD0Ev);
+var _ZN25btSimulationIslandManagerD1Ev__index__ = register_delegate(_ZN25btSimulationIslandManagerD1Ev);
+var _ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii__index__ = register_delegate(_ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii);
+var _ZN26btBoxBoxCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__ = register_delegate(_ZN26btBoxBoxCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_);
+var _ZN26btBoxBoxCollisionAlgorithm10CreateFuncD0Ev__index__ = register_delegate(_ZN26btBoxBoxCollisionAlgorithm10CreateFuncD0Ev);
+var _ZN26btBoxBoxCollisionAlgorithm10CreateFuncD1Ev__index__ = register_delegate(_ZN26btBoxBoxCollisionAlgorithm10CreateFuncD1Ev);
+var _ZN26btBoxBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN26btBoxBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN26btBoxBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN26btBoxBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN26btBoxBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__ = register_delegate(_ZN26btBoxBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE);
+var _ZN26btBoxBoxCollisionAlgorithmD0Ev__index__ = register_delegate(_ZN26btBoxBoxCollisionAlgorithmD0Ev);
+var _ZN26btBoxBoxCollisionAlgorithmD1Ev__index__ = register_delegate(_ZN26btBoxBoxCollisionAlgorithmD1Ev);
+var _ZN26btTriangleIndexVertexArray16unLockVertexBaseEi__index__ = register_delegate(_ZN26btTriangleIndexVertexArray16unLockVertexBaseEi);
+var _ZN26btTriangleIndexVertexArray18preallocateIndicesEi__index__ = register_delegate(_ZN26btTriangleIndexVertexArray18preallocateIndicesEi);
+var _ZN26btTriangleIndexVertexArray19preallocateVerticesEi__index__ = register_delegate(_ZN26btTriangleIndexVertexArray19preallocateVerticesEi);
+var _ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i__index__ = register_delegate(_ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i);
+var _ZN26btTriangleIndexVertexArrayD0Ev__index__ = register_delegate(_ZN26btTriangleIndexVertexArrayD0Ev);
+var _ZN26btTriangleIndexVertexArrayD1Ev__index__ = register_delegate(_ZN26btTriangleIndexVertexArrayD1Ev);
+var _ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE__index__ = register_delegate(_ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE);
+var _ZN27btContinuousConvexCollisionD0Ev__index__ = register_delegate(_ZN27btContinuousConvexCollisionD0Ev);
+var _ZN27btContinuousConvexCollisionD1Ev__index__ = register_delegate(_ZN27btContinuousConvexCollisionD1Ev);
+var _ZN28btCompoundCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__ = register_delegate(_ZN28btCompoundCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_);
+var _ZN28btCompoundCollisionAlgorithm10CreateFuncD0Ev__index__ = register_delegate(_ZN28btCompoundCollisionAlgorithm10CreateFuncD0Ev);
+var _ZN28btCompoundCollisionAlgorithm10CreateFuncD1Ev__index__ = register_delegate(_ZN28btCompoundCollisionAlgorithm10CreateFuncD1Ev);
+var _ZN28btCompoundCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN28btCompoundCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN28btCompoundCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__ = register_delegate(_ZN28btCompoundCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_);
+var _ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD0Ev__index__ = register_delegate(_ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD0Ev);
+var _ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD1Ev__index__ = register_delegate(_ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD1Ev);
+var _ZN28btCompoundCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN28btCompoundCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN28btCompoundCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__ = register_delegate(_ZN28btCompoundCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE);
+var _ZN28btCompoundCollisionAlgorithmD0Ev__index__ = register_delegate(_ZN28btCompoundCollisionAlgorithmD0Ev);
+var _ZN28btCompoundCollisionAlgorithmD1Ev__index__ = register_delegate(_ZN28btCompoundCollisionAlgorithmD1Ev);
+var _ZN28btHashedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1___index__ = register_delegate(_ZN28btHashedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_);
+var _ZN28btHashedOverlappingPairCache18hasDeferredRemovalEv__index__ = register_delegate(_ZN28btHashedOverlappingPairCache18hasDeferredRemovalEv);
+var _ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher__index__ = register_delegate(_ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher);
+var _ZN28btHashedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher__index__ = register_delegate(_ZN28btHashedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher);
+var _ZN28btHashedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher__index__ = register_delegate(_ZN28btHashedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher);
+var _ZN28btHashedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher__index__ = register_delegate(_ZN28btHashedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher);
+var _ZN28btHashedOverlappingPairCache23getOverlappingPairArrayEv__index__ = register_delegate(_ZN28btHashedOverlappingPairCache23getOverlappingPairArrayEv);
+var _ZN28btHashedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback__index__ = register_delegate(_ZN28btHashedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback);
+var _ZN28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv__index__ = register_delegate(_ZN28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv);
+var _ZN28btHashedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher__index__ = register_delegate(_ZN28btHashedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher);
+var _ZN28btHashedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback__index__ = register_delegate(_ZN28btHashedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback);
+var _ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher__index__ = register_delegate(_ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher);
+var _ZN28btHashedOverlappingPairCache8findPairEP17btBroadphaseProxyS1___index__ = register_delegate(_ZN28btHashedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_);
+var _ZN28btHashedOverlappingPairCacheD0Ev__index__ = register_delegate(_ZN28btHashedOverlappingPairCacheD0Ev);
+var _ZN28btHashedOverlappingPairCacheD1Ev__index__ = register_delegate(_ZN28btHashedOverlappingPairCacheD1Ev);
+var _ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii__index__ = register_delegate(_ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii);
+var _ZN28btTriangleConvexcastCallbackD0Ev__index__ = register_delegate(_ZN28btTriangleConvexcastCallbackD0Ev);
+var _ZN28btTriangleConvexcastCallbackD1Ev__index__ = register_delegate(_ZN28btTriangleConvexcastCallbackD1Ev);
+var _ZN30btActivatingCollisionAlgorithmD0Ev__index__ = register_delegate(_ZN30btActivatingCollisionAlgorithmD0Ev);
+var _ZN30btActivatingCollisionAlgorithmD1Ev__index__ = register_delegate(_ZN30btActivatingCollisionAlgorithmD1Ev);
+var _ZN30btGjkEpaPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc__index__ = register_delegate(_ZN30btGjkEpaPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc);
+var _ZN30btGjkEpaPenetrationDepthSolverD0Ev__index__ = register_delegate(_ZN30btGjkEpaPenetrationDepthSolverD0Ev);
+var _ZN30btGjkEpaPenetrationDepthSolverD1Ev__index__ = register_delegate(_ZN30btGjkEpaPenetrationDepthSolverD1Ev);
+var _ZN31btConvexPlaneCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__ = register_delegate(_ZN31btConvexPlaneCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_);
+var _ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD0Ev__index__ = register_delegate(_ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD0Ev);
+var _ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD1Ev__index__ = register_delegate(_ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD1Ev);
+var _ZN31btConvexPlaneCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN31btConvexPlaneCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN31btConvexPlaneCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN31btConvexPlaneCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN31btConvexPlaneCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__ = register_delegate(_ZN31btConvexPlaneCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE);
+var _ZN31btConvexPlaneCollisionAlgorithmD0Ev__index__ = register_delegate(_ZN31btConvexPlaneCollisionAlgorithmD0Ev);
+var _ZN31btConvexPlaneCollisionAlgorithmD1Ev__index__ = register_delegate(_ZN31btConvexPlaneCollisionAlgorithmD1Ev);
+var _ZN31btDefaultCollisionConfiguration16getSimplexSolverEv__index__ = register_delegate(_ZN31btDefaultCollisionConfiguration16getSimplexSolverEv);
+var _ZN31btDefaultCollisionConfiguration17getStackAllocatorEv__index__ = register_delegate(_ZN31btDefaultCollisionConfiguration17getStackAllocatorEv);
+var _ZN31btDefaultCollisionConfiguration25getCollisionAlgorithmPoolEv__index__ = register_delegate(_ZN31btDefaultCollisionConfiguration25getCollisionAlgorithmPoolEv);
+var _ZN31btDefaultCollisionConfiguration25getPersistentManifoldPoolEv__index__ = register_delegate(_ZN31btDefaultCollisionConfiguration25getPersistentManifoldPoolEv);
+var _ZN31btDefaultCollisionConfiguration31getCollisionAlgorithmCreateFuncEii__index__ = register_delegate(_ZN31btDefaultCollisionConfiguration31getCollisionAlgorithmCreateFuncEii);
+var _ZN31btDefaultCollisionConfigurationD0Ev__index__ = register_delegate(_ZN31btDefaultCollisionConfigurationD0Ev);
+var _ZN31btDefaultCollisionConfigurationD1Ev__index__ = register_delegate(_ZN31btDefaultCollisionConfigurationD1Ev);
+var _ZN31btInternalTriangleIndexCallbackD0Ev__index__ = register_delegate(_ZN31btInternalTriangleIndexCallbackD0Ev);
+var _ZN31btInternalTriangleIndexCallbackD1Ev__index__ = register_delegate(_ZN31btInternalTriangleIndexCallbackD1Ev);
+var _ZN32btSphereSphereCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__ = register_delegate(_ZN32btSphereSphereCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_);
+var _ZN32btSphereSphereCollisionAlgorithm10CreateFuncD0Ev__index__ = register_delegate(_ZN32btSphereSphereCollisionAlgorithm10CreateFuncD0Ev);
+var _ZN32btSphereSphereCollisionAlgorithm10CreateFuncD1Ev__index__ = register_delegate(_ZN32btSphereSphereCollisionAlgorithm10CreateFuncD1Ev);
+var _ZN32btSphereSphereCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN32btSphereSphereCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN32btSphereSphereCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN32btSphereSphereCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN32btSphereSphereCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__ = register_delegate(_ZN32btSphereSphereCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE);
+var _ZN32btSphereSphereCollisionAlgorithmD0Ev__index__ = register_delegate(_ZN32btSphereSphereCollisionAlgorithmD0Ev);
+var _ZN32btSphereSphereCollisionAlgorithmD1Ev__index__ = register_delegate(_ZN32btSphereSphereCollisionAlgorithmD1Ev);
+var _ZN33btConvexConcaveCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_);
+var _ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD0Ev__index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD0Ev);
+var _ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD1Ev__index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD1Ev);
+var _ZN33btConvexConcaveCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_);
+var _ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD0Ev__index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD0Ev);
+var _ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD1Ev__index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD1Ev);
+var _ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN33btConvexConcaveCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE);
+var _ZN33btConvexConcaveCollisionAlgorithmD0Ev__index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithmD0Ev);
+var _ZN33btConvexConcaveCollisionAlgorithmD1Ev__index__ = register_delegate(_ZN33btConvexConcaveCollisionAlgorithmD1Ev);
+var _ZN34btClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb__index__ = register_delegate(_ZN34btClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb);
+var _ZN34btClosestNotMeConvexResultCallbackD0Ev__index__ = register_delegate(_ZN34btClosestNotMeConvexResultCallbackD0Ev);
+var _ZN34btClosestNotMeConvexResultCallbackD1Ev__index__ = register_delegate(_ZN34btClosestNotMeConvexResultCallbackD1Ev);
+var _ZN34btSphereTriangleCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4___index__ = register_delegate(_ZN34btSphereTriangleCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_);
+var _ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD0Ev__index__ = register_delegate(_ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD0Ev);
+var _ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD1Ev__index__ = register_delegate(_ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD1Ev);
+var _ZN34btSphereTriangleCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN34btSphereTriangleCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN34btSphereTriangleCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult__index__ = register_delegate(_ZN34btSphereTriangleCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult);
+var _ZN34btSphereTriangleCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE__index__ = register_delegate(_ZN34btSphereTriangleCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE);
+var _ZN34btSphereTriangleCollisionAlgorithmD0Ev__index__ = register_delegate(_ZN34btSphereTriangleCollisionAlgorithmD0Ev);
+var _ZN34btSphereTriangleCollisionAlgorithmD1Ev__index__ = register_delegate(_ZN34btSphereTriangleCollisionAlgorithmD1Ev);
+var _ZN35btSequentialImpulseConstraintSolver10solveGroupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAllocP12btDispatcher__index__ = register_delegate(_ZN35btSequentialImpulseConstraintSolver10solveGroupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAllocP12btDispatcher);
+var _ZN35btSequentialImpulseConstraintSolver28solveGroupCacheFriendlySetupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc__index__ = register_delegate(_ZN35btSequentialImpulseConstraintSolver28solveGroupCacheFriendlySetupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc);
+var _ZN35btSequentialImpulseConstraintSolver29solveGroupCacheFriendlyFinishEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc__index__ = register_delegate(_ZN35btSequentialImpulseConstraintSolver29solveGroupCacheFriendlyFinishEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc);
+var _ZN35btSequentialImpulseConstraintSolver33solveGroupCacheFriendlyIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc__index__ = register_delegate(_ZN35btSequentialImpulseConstraintSolver33solveGroupCacheFriendlyIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc);
+var _ZN35btSequentialImpulseConstraintSolver45solveGroupCacheFriendlySplitImpulseIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc__index__ = register_delegate(_ZN35btSequentialImpulseConstraintSolver45solveGroupCacheFriendlySplitImpulseIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc);
+var _ZN35btSequentialImpulseConstraintSolver5resetEv__index__ = register_delegate(_ZN35btSequentialImpulseConstraintSolver5resetEv);
+var _ZN35btSequentialImpulseConstraintSolverD0Ev__index__ = register_delegate(_ZN35btSequentialImpulseConstraintSolverD0Ev);
+var _ZN35btSequentialImpulseConstraintSolverD1Ev__index__ = register_delegate(_ZN35btSequentialImpulseConstraintSolverD1Ev);
+var _ZN4__rw10__rw_facetD0Ev__index__ = register_delegate(_ZN4__rw10__rw_facetD0Ev);
+var _ZN4__rw10__rw_facetD1Ev__index__ = register_delegate(_ZN4__rw10__rw_facetD1Ev);
+var _ZN6btDbvt8ICollide7DescentEPK10btDbvtNode__index__ = register_delegate(_ZN6btDbvt8ICollide7DescentEPK10btDbvtNode);
+var _ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3___index__ = register_delegate(_ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_);
+var _ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef__index__ = register_delegate(_ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef);
+var _ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode__index__ = register_delegate(_ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode);
+var _ZN7CFileLS4feofEv__index__ = register_delegate(_ZN7CFileLS4feofEv);
+var _ZN7CFileLS5freadEPvjj__index__ = register_delegate(_ZN7CFileLS5freadEPvjj);
+var _ZN7CFileLS5fseekEli__index__ = register_delegate(_ZN7CFileLS5fseekEli);
+var _ZN7CFileLS5ftellEv__index__ = register_delegate(_ZN7CFileLS5ftellEv);
+var _ZN7CFileLS6fcloseEv__index__ = register_delegate(_ZN7CFileLS6fcloseEv);
+var _ZN7CFileLS6fflushEv__index__ = register_delegate(_ZN7CFileLS6fflushEv);
+var _ZN7CFileLS6fwriteEPKvjj__index__ = register_delegate(_ZN7CFileLS6fwriteEPKvjj);
+var _ZN7CFileLS6ungetcEi__index__ = register_delegate(_ZN7CFileLS6ungetcEi);
+var _ZN7RagDollD0Ev__index__ = register_delegate(_ZN7RagDollD0Ev);
+var _ZN7RagDollD1Ev__index__ = register_delegate(_ZN7RagDollD1Ev);
+var _ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj__index__ = register_delegate(_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj);
+var _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE__index__ = register_delegate(_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE);
+var _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv__index__ = register_delegate(_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv);
+var _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE__index__ = register_delegate(_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE);
+var _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2___index__ = register_delegate(_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_);
+var _ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE__index__ = register_delegate(_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE);
+var _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE__index__ = register_delegate(_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE);
+var _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2___index__ = register_delegate(_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_);
+var _ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE__index__ = register_delegate(_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE);
+var _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE__index__ = register_delegate(_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE);
+var _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2___index__ = register_delegate(_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_);
+var _ZNK10btBoxShape11getNumEdgesEv__index__ = register_delegate(_ZNK10btBoxShape11getNumEdgesEv);
+var _ZNK10btBoxShape12getNumPlanesEv__index__ = register_delegate(_ZNK10btBoxShape12getNumPlanesEv);
+var _ZNK10btBoxShape14getNumVerticesEv__index__ = register_delegate(_ZNK10btBoxShape14getNumVerticesEv);
+var _ZNK10btBoxShape16getPlaneEquationER9btVector4i__index__ = register_delegate(_ZNK10btBoxShape16getPlaneEquationER9btVector4i);
+var _ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3__index__ = register_delegate(_ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3);
+var _ZNK10btBoxShape24localGetSupportingVertexERK9btVector3__index__ = register_delegate(_ZNK10btBoxShape24localGetSupportingVertexERK9btVector3);
+var _ZNK10btBoxShape32getPreferredPenetrationDirectionEiR9btVector3__index__ = register_delegate(_ZNK10btBoxShape32getPreferredPenetrationDirectionEiR9btVector3);
+var _ZNK10btBoxShape36getNumPreferredPenetrationDirectionsEv__index__ = register_delegate(_ZNK10btBoxShape36getNumPreferredPenetrationDirectionsEv);
+var _ZNK10btBoxShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__ = register_delegate(_ZNK10btBoxShape37localGetSupportingVertexWithoutMarginERK9btVector3);
+var _ZNK10btBoxShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i__index__ = register_delegate(_ZNK10btBoxShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i);
+var _ZNK10btBoxShape7getAabbERK11btTransformR9btVector3S4___index__ = register_delegate(_ZNK10btBoxShape7getAabbERK11btTransformR9btVector3S4_);
+var _ZNK10btBoxShape7getEdgeEiR9btVector3S1___index__ = register_delegate(_ZNK10btBoxShape7getEdgeEiR9btVector3S1_);
+var _ZNK10btBoxShape7getNameEv__index__ = register_delegate(_ZNK10btBoxShape7getNameEv);
+var _ZNK10btBoxShape8getPlaneER9btVector3S1_i__index__ = register_delegate(_ZNK10btBoxShape8getPlaneER9btVector3S1_i);
+var _ZNK10btBoxShape8isInsideERK9btVector3f__index__ = register_delegate(_ZNK10btBoxShape8isInsideERK9btVector3f);
+var _ZNK10btBoxShape9getVertexEiR9btVector3__index__ = register_delegate(_ZNK10btBoxShape9getVertexEiR9btVector3);
+var _ZNK11CFileSystem12IsFileSystemEv__index__ = register_delegate(_ZNK11CFileSystem12IsFileSystemEv);
+var _ZNK11btRigidBody21serializeSingleObjectEP12btSerializer__index__ = register_delegate(_ZNK11btRigidBody21serializeSingleObjectEP12btSerializer);
+var _ZNK11btRigidBody28calculateSerializeBufferSizeEv__index__ = register_delegate(_ZNK11btRigidBody28calculateSerializeBufferSizeEv);
+var _ZNK11btRigidBody9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK11btRigidBody9serializeEPvP12btSerializer);
+var _ZNK13btConvexShape31localGetSupportVertexNonVirtualERK9btVector3__index__ = register_delegate(_ZNK13btConvexShape31localGetSupportVertexNonVirtualERK9btVector3);
+var _ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3__index__ = register_delegate(_ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3);
+var _ZNK13btSphereShape21calculateLocalInertiaEfR9btVector3__index__ = register_delegate(_ZNK13btSphereShape21calculateLocalInertiaEfR9btVector3);
+var _ZNK13btSphereShape24localGetSupportingVertexERK9btVector3__index__ = register_delegate(_ZNK13btSphereShape24localGetSupportingVertexERK9btVector3);
+var _ZNK13btSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__ = register_delegate(_ZNK13btSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3);
+var _ZNK13btSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i__index__ = register_delegate(_ZNK13btSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i);
+var _ZNK13btSphereShape7getAabbERK11btTransformR9btVector3S4___index__ = register_delegate(_ZNK13btSphereShape7getAabbERK11btTransformR9btVector3S4_);
+var _ZNK13btSphereShape7getNameEv__index__ = register_delegate(_ZNK13btSphereShape7getNameEv);
+var _ZNK13btSphereShape9getMarginEv__index__ = register_delegate(_ZNK13btSphereShape9getMarginEv);
+var _ZNK14CFileInterface12IsFileSystemEv__index__ = register_delegate(_ZNK14CFileInterface12IsFileSystemEv);
+var _ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3__index__ = register_delegate(_ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3);
+var _ZNK14btCapsuleShape28calculateSerializeBufferSizeEv__index__ = register_delegate(_ZNK14btCapsuleShape28calculateSerializeBufferSizeEv);
+var _ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__ = register_delegate(_ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3);
+var _ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i__index__ = register_delegate(_ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i);
+var _ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4___index__ = register_delegate(_ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4_);
+var _ZNK14btCapsuleShape7getNameEv__index__ = register_delegate(_ZNK14btCapsuleShape7getNameEv);
+var _ZNK14btCapsuleShape9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK14btCapsuleShape9serializeEPvP12btSerializer);
+var _ZNK14btConcaveShape9getMarginEv__index__ = register_delegate(_ZNK14btConcaveShape9getMarginEv);
+var _ZNK14btOptimizedBvh16serializeInPlaceEPvjb__index__ = register_delegate(_ZNK14btOptimizedBvh16serializeInPlaceEPvjb);
+var _ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv__index__ = register_delegate(_ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv);
+var _ZNK14btQuantizedBvh9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK14btQuantizedBvh9serializeEPvP12btSerializer);
+var _ZNK14btQuantizedBvh9serializeEPvjb__index__ = register_delegate(_ZNK14btQuantizedBvh9serializeEPvjb);
+var _ZNK15btDynamicsWorld13getConstraintEi__index__ = register_delegate(_ZNK15btDynamicsWorld13getConstraintEi);
+var _ZNK15btDynamicsWorld17getNumConstraintsEv__index__ = register_delegate(_ZNK15btDynamicsWorld17getNumConstraintsEv);
+var _ZNK15btNullPairCache22getNumOverlappingPairsEv__index__ = register_delegate(_ZNK15btNullPairCache22getNumOverlappingPairsEv);
+var _ZNK15btNullPairCache26getOverlappingPairArrayPtrEv__index__ = register_delegate(_ZNK15btNullPairCache26getOverlappingPairArrayPtrEv);
+var _ZNK15btTriangleShape11getNumEdgesEv__index__ = register_delegate(_ZNK15btTriangleShape11getNumEdgesEv);
+var _ZNK15btTriangleShape12getNumPlanesEv__index__ = register_delegate(_ZNK15btTriangleShape12getNumPlanesEv);
+var _ZNK15btTriangleShape14getNumVerticesEv__index__ = register_delegate(_ZNK15btTriangleShape14getNumVerticesEv);
+var _ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1___index__ = register_delegate(_ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1_);
+var _ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3__index__ = register_delegate(_ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3);
+var _ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3__index__ = register_delegate(_ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3);
+var _ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv__index__ = register_delegate(_ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv);
+var _ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__ = register_delegate(_ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3);
+var _ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i__index__ = register_delegate(_ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i);
+var _ZNK15btTriangleShape7getAabbERK11btTransformR9btVector3S4___index__ = register_delegate(_ZNK15btTriangleShape7getAabbERK11btTransformR9btVector3S4_);
+var _ZNK15btTriangleShape7getEdgeEiR9btVector3S1___index__ = register_delegate(_ZNK15btTriangleShape7getEdgeEiR9btVector3S1_);
+var _ZNK15btTriangleShape7getNameEv__index__ = register_delegate(_ZNK15btTriangleShape7getNameEv);
+var _ZNK15btTriangleShape8getPlaneER9btVector3S1_i__index__ = register_delegate(_ZNK15btTriangleShape8getPlaneER9btVector3S1_i);
+var _ZNK15btTriangleShape8isInsideERK9btVector3f__index__ = register_delegate(_ZNK15btTriangleShape8isInsideERK9btVector3f);
+var _ZNK15btTriangleShape9getVertexEiR9btVector3__index__ = register_delegate(_ZNK15btTriangleShape9getVertexEiR9btVector3);
+var _ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf__index__ = register_delegate(_ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf);
+var _ZNK16btCollisionShape20getAngularMotionDiscEv__index__ = register_delegate(_ZNK16btCollisionShape20getAngularMotionDiscEv);
+var _ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer__index__ = register_delegate(_ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer);
+var _ZNK16btCollisionShape27getContactBreakingThresholdEf__index__ = register_delegate(_ZNK16btCollisionShape27getContactBreakingThresholdEf);
+var _ZNK16btCollisionShape28calculateSerializeBufferSizeEv__index__ = register_delegate(_ZNK16btCollisionShape28calculateSerializeBufferSizeEv);
+var _ZNK16btCollisionShape9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK16btCollisionShape9serializeEPvP12btSerializer);
+var _ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy__index__ = register_delegate(_ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy);
+var _ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy__index__ = register_delegate(_ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy);
+var _ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE__index__ = register_delegate(_ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE);
+var _ZNK16btDbvtBroadphase17getBroadphaseAabbER9btVector3S1___index__ = register_delegate(_ZNK16btDbvtBroadphase17getBroadphaseAabbER9btVector3S1_);
+var _ZNK16btDbvtBroadphase23getOverlappingPairCacheEv__index__ = register_delegate(_ZNK16btDbvtBroadphase23getOverlappingPairCacheEv);
+var _ZNK16btDbvtBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3___index__ = register_delegate(_ZNK16btDbvtBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_);
+var _ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer__index__ = register_delegate(_ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer);
+var _ZNK17btCollisionObject28calculateSerializeBufferSizeEv__index__ = register_delegate(_ZNK17btCollisionObject28calculateSerializeBufferSizeEv);
+var _ZNK17btCollisionObject9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK17btCollisionObject9serializeEPvP12btSerializer);
+var _ZNK17btConvexHullShape11getNumEdgesEv__index__ = register_delegate(_ZNK17btConvexHullShape11getNumEdgesEv);
+var _ZNK17btConvexHullShape12getNumPlanesEv__index__ = register_delegate(_ZNK17btConvexHullShape12getNumPlanesEv);
+var _ZNK17btConvexHullShape14getNumVerticesEv__index__ = register_delegate(_ZNK17btConvexHullShape14getNumVerticesEv);
+var _ZNK17btConvexHullShape24localGetSupportingVertexERK9btVector3__index__ = register_delegate(_ZNK17btConvexHullShape24localGetSupportingVertexERK9btVector3);
+var _ZNK17btConvexHullShape28calculateSerializeBufferSizeEv__index__ = register_delegate(_ZNK17btConvexHullShape28calculateSerializeBufferSizeEv);
+var _ZNK17btConvexHullShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__ = register_delegate(_ZNK17btConvexHullShape37localGetSupportingVertexWithoutMarginERK9btVector3);
+var _ZNK17btConvexHullShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i__index__ = register_delegate(_ZNK17btConvexHullShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i);
+var _ZNK17btConvexHullShape7getEdgeEiR9btVector3S1___index__ = register_delegate(_ZNK17btConvexHullShape7getEdgeEiR9btVector3S1_);
+var _ZNK17btConvexHullShape7getNameEv__index__ = register_delegate(_ZNK17btConvexHullShape7getNameEv);
+var _ZNK17btConvexHullShape8getPlaneER9btVector3S1_i__index__ = register_delegate(_ZNK17btConvexHullShape8getPlaneER9btVector3S1_i);
+var _ZNK17btConvexHullShape8isInsideERK9btVector3f__index__ = register_delegate(_ZNK17btConvexHullShape8isInsideERK9btVector3f);
+var _ZNK17btConvexHullShape9getVertexEiR9btVector3__index__ = register_delegate(_ZNK17btConvexHullShape9getVertexEiR9btVector3);
+var _ZNK17btConvexHullShape9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK17btConvexHullShape9serializeEPvP12btSerializer);
+var _ZNK17btHingeConstraint28calculateSerializeBufferSizeEv__index__ = register_delegate(_ZNK17btHingeConstraint28calculateSerializeBufferSizeEv);
+var _ZNK17btHingeConstraint8getParamEii__index__ = register_delegate(_ZNK17btHingeConstraint8getParamEii);
+var _ZNK17btHingeConstraint9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK17btHingeConstraint9serializeEPvP12btSerializer);
+var _ZNK19btTriangleMeshShape15getLocalScalingEv__index__ = register_delegate(_ZNK19btTriangleMeshShape15getLocalScalingEv);
+var _ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4___index__ = register_delegate(_ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_);
+var _ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3__index__ = register_delegate(_ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3);
+var _ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3__index__ = register_delegate(_ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3);
+var _ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3__index__ = register_delegate(_ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3);
+var _ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4___index__ = register_delegate(_ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_);
+var _ZNK19btTriangleMeshShape7getNameEv__index__ = register_delegate(_ZNK19btTriangleMeshShape7getNameEv);
+var _ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2___index__ = register_delegate(_ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2_);
+var _ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv__index__ = register_delegate(_ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv);
+var _ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4___index__ = register_delegate(_ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4_);
+var _ZNK20btDefaultMotionState17getWorldTransformER11btTransform__index__ = register_delegate(_ZNK20btDefaultMotionState17getWorldTransformER11btTransform);
+var _ZNK21btCollisionDispatcher15getNumManifoldsEv__index__ = register_delegate(_ZNK21btCollisionDispatcher15getNumManifoldsEv);
+var _ZNK21btConeTwistConstraint28calculateSerializeBufferSizeEv__index__ = register_delegate(_ZNK21btConeTwistConstraint28calculateSerializeBufferSizeEv);
+var _ZNK21btConeTwistConstraint8getParamEii__index__ = register_delegate(_ZNK21btConeTwistConstraint8getParamEii);
+var _ZNK21btConeTwistConstraint9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK21btConeTwistConstraint9serializeEPvP12btSerializer);
+var _ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4___index__ = register_delegate(_ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_);
+var _ZNK21btConvexInternalShape15getLocalScalingEv__index__ = register_delegate(_ZNK21btConvexInternalShape15getLocalScalingEv);
+var _ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3__index__ = register_delegate(_ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3);
+var _ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv__index__ = register_delegate(_ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv);
+var _ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3__index__ = register_delegate(_ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3);
+var _ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv__index__ = register_delegate(_ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv);
+var _ZNK21btConvexInternalShape9getMarginEv__index__ = register_delegate(_ZNK21btConvexInternalShape9getMarginEv);
+var _ZNK21btConvexInternalShape9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK21btConvexInternalShape9serializeEPvP12btSerializer);
+var _ZNK22btBvhTriangleMeshShape18serializeSingleBvhEP12btSerializer__index__ = register_delegate(_ZNK22btBvhTriangleMeshShape18serializeSingleBvhEP12btSerializer);
+var _ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4___index__ = register_delegate(_ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_);
+var _ZNK22btBvhTriangleMeshShape28calculateSerializeBufferSizeEv__index__ = register_delegate(_ZNK22btBvhTriangleMeshShape28calculateSerializeBufferSizeEv);
+var _ZNK22btBvhTriangleMeshShape30serializeSingleTriangleInfoMapEP12btSerializer__index__ = register_delegate(_ZNK22btBvhTriangleMeshShape30serializeSingleTriangleInfoMapEP12btSerializer);
+var _ZNK22btBvhTriangleMeshShape7getNameEv__index__ = register_delegate(_ZNK22btBvhTriangleMeshShape7getNameEv);
+var _ZNK22btBvhTriangleMeshShape9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK22btBvhTriangleMeshShape9serializeEPvP12btSerializer);
+var _ZNK23btDiscreteDynamicsWorld10getGravityEv__index__ = register_delegate(_ZNK23btDiscreteDynamicsWorld10getGravityEv);
+var _ZNK23btDiscreteDynamicsWorld12getWorldTypeEv__index__ = register_delegate(_ZNK23btDiscreteDynamicsWorld12getWorldTypeEv);
+var _ZNK23btDiscreteDynamicsWorld13getConstraintEi__index__ = register_delegate(_ZNK23btDiscreteDynamicsWorld13getConstraintEi);
+var _ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv__index__ = register_delegate(_ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv);
+var _ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3__index__ = register_delegate(_ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3);
+var _ZNK23btStridingMeshInterface14getPremadeAabbEP9btVector3S1___index__ = register_delegate(_ZNK23btStridingMeshInterface14getPremadeAabbEP9btVector3S1_);
+var _ZNK23btStridingMeshInterface14hasPremadeAabbEv__index__ = register_delegate(_ZNK23btStridingMeshInterface14hasPremadeAabbEv);
+var _ZNK23btStridingMeshInterface14setPremadeAabbERK9btVector3S2___index__ = register_delegate(_ZNK23btStridingMeshInterface14setPremadeAabbERK9btVector3S2_);
+var _ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4___index__ = register_delegate(_ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_);
+var _ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv__index__ = register_delegate(_ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv);
+var _ZNK23btStridingMeshInterface9serializeEPvP12btSerializer__index__ = register_delegate(_ZNK23btStridingMeshInterface9serializeEPvP12btSerializer);
+var _ZNK26btTriangleIndexVertexArray14getNumSubPartsEv__index__ = register_delegate(_ZNK26btTriangleIndexVertexArray14getNumSubPartsEv);
+var _ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1___index__ = register_delegate(_ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1_);
+var _ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv__index__ = register_delegate(_ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv);
+var _ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2___index__ = register_delegate(_ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2_);
+var _ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi__index__ = register_delegate(_ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi);
+var _ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i__index__ = register_delegate(_ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i);
+var _ZNK28btHashedOverlappingPairCache22getNumOverlappingPairsEv__index__ = register_delegate(_ZNK28btHashedOverlappingPairCache22getNumOverlappingPairsEv);
+var _ZNK28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv__index__ = register_delegate(_ZNK28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv);
+var _ZNK34btClosestNotMeConvexResultCallback14needsCollisionEP17btBroadphaseProxy__index__ = register_delegate(_ZNK34btClosestNotMeConvexResultCallback14needsCollisionEP17btBroadphaseProxy);
+var _ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4___index__ = register_delegate(_ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_);
+var _ZNKSt8messagesIcE6do_getEiiiRKSs__index__ = register_delegate(_ZNKSt8messagesIcE6do_getEiiiRKSs);
+var _ZNKSt8messagesIcE7do_openERKSsRKSt6locale__index__ = register_delegate(_ZNKSt8messagesIcE7do_openERKSsRKSt6locale);
+var _ZNKSt8messagesIcE8do_closeEi__index__ = register_delegate(_ZNKSt8messagesIcE8do_closeEi);
+var _ZNKSt9type_info10__do_catchEPKS_PPvj__index__ = register_delegate(_ZNKSt9type_info10__do_catchEPKS_PPvj);
+var _ZNKSt9type_info15__is_function_pEv__index__ = register_delegate(_ZNKSt9type_info15__is_function_pEv);
+var _ZNSt8messagesIcED0Ev__index__ = register_delegate(_ZNSt8messagesIcED0Ev);
+var _ZNSt8messagesIcED1Ev__index__ = register_delegate(_ZNSt8messagesIcED1Ev);
+var _ZNSt9type_infoD0Ev__index__ = register_delegate(_ZNSt9type_infoD0Ev);
+var _ZNSt9type_infoD1Ev__index__ = register_delegate(_ZNSt9type_infoD1Ev);
+var _ZThn4_N17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii__index__ = register_delegate(_ZThn4_N17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii);
+var _ZThn4_N17DebugDrawcallbackD0Ev__index__ = register_delegate(_ZThn4_N17DebugDrawcallbackD0Ev);
+var _ZThn4_N17DebugDrawcallbackD1Ev__index__ = register_delegate(_ZThn4_N17DebugDrawcallbackD1Ev);
+var _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallback28internalProcessTriangleIndexEPS2_ii__index__ = register_delegate(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallback28internalProcessTriangleIndexEPS2_ii);
+var _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD0Ev__index__ = register_delegate(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD0Ev);
+var _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD1Ev__index__ = register_delegate(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD1Ev);
+var _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallback28internalProcessTriangleIndexEPS2_ii__index__ = register_delegate(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallback28internalProcessTriangleIndexEPS2_ii);
+var _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD0Ev__index__ = register_delegate(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD0Ev);
+var _ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD1Ev__index__ = register_delegate(_ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD1Ev);
+var _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder215addSingleResultERNS_14LocalRayResultEb__index__ = register_delegate(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder215addSingleResultERNS_14LocalRayResultEb);
+var _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D0Ev__index__ = register_delegate(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D0Ev);
+var _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D1Ev__index__ = register_delegate(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D1Ev);
+var _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitERK9btVector3fii__index__ = register_delegate(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitERK9btVector3fii);
+var _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitE_0RK9btVector3fii__index__ = register_delegate(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitE_0RK9btVector3fii);
+var _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0E_0v__index__ = register_delegate(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0E_0v);
+var _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0Ev__index__ = register_delegate(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0Ev);
+var _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1E_0v__index__ = register_delegate(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1E_0v);
+var _ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1Ev__index__ = register_delegate(_ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1Ev);
+var _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdder15addSingleResultERNS_17LocalConvexResultEb__index__ = register_delegate(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdder15addSingleResultERNS_17LocalConvexResultEb);
+var _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD0Ev__index__ = register_delegate(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD0Ev);
+var _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD1Ev__index__ = register_delegate(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD1Ev);
+var _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitERK9btVector3SG_fii__index__ = register_delegate(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitERK9btVector3SG_fii);
+var _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitE_0RK9btVector3SG_fii__index__ = register_delegate(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitE_0RK9btVector3SG_fii);
+var _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0E_0v__index__ = register_delegate(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0E_0v);
+var _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0Ev__index__ = register_delegate(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0Ev);
+var _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1E_0v__index__ = register_delegate(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1E_0v);
+var _ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1Ev__index__ = register_delegate(_ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1Ev);
+var _ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii__index__ = register_delegate(_ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii);
+var _ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev__index__ = register_delegate(_ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev);
+var _ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev__index__ = register_delegate(_ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev);
+var _ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallback11processNodeEii__index__ = register_delegate(_ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallback11processNodeEii);
+var _ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD0Ev__index__ = register_delegate(_ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD0Ev);
+var _ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD1Ev__index__ = register_delegate(_ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD1Ev);
+var _ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback13ProcessIslandEPP17btCollisionObjectiPP20btPersistentManifoldii__index__ = register_delegate(_ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback13ProcessIslandEPP17btCollisionObjectiPP20btPersistentManifoldii);
+var _ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD0Ev__index__ = register_delegate(_ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD0Ev);
+var _ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev__index__ = register_delegate(_ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev);
+var _ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair__index__ = register_delegate(_ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair);
+var _ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev__index__ = register_delegate(_ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev);
+var _ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev__index__ = register_delegate(_ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev);
+var _ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair__index__ = register_delegate(_ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair);
+var _ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev__index__ = register_delegate(_ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev);
+var _ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev__index__ = register_delegate(_ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev);
+var _ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallback15processTriangleEP9btVector3ii__index__ = register_delegate(_ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallback15processTriangleEP9btVector3ii);
+var _ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD0Ev__index__ = register_delegate(_ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD0Ev);
+var _ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD1Ev__index__ = register_delegate(_ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD1Ev);
+var _ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallback28internalProcessTriangleIndexEPS2_ii__index__ = register_delegate(_ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallback28internalProcessTriangleIndexEPS2_ii);
+var _ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD0Ev__index__ = register_delegate(_ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD0Ev);
+var _ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD1Ev__index__ = register_delegate(_ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD1Ev);
+var _ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii__index__ = register_delegate(_ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii);
+var _ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev__index__ = register_delegate(_ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev);
+var _ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev__index__ = register_delegate(_ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev);
+var __cxa_pure_virtual__index__ = register_delegate(__cxa_pure_virtual);
+var __fwrite__index__ = register_delegate(__fwrite);
+var __mandreel_internal_SetResolution__index__ = register_delegate(__mandreel_internal_SetResolution);
+var __resize__index__ = register_delegate(__resize);
+var cmpfacets__index__ = register_delegate(cmpfacets);
+var cmplocales__index__ = register_delegate(cmplocales);
+var iMandreel_TextureAsync_GetPackOffset__index__ = register_delegate(iMandreel_TextureAsync_GetPackOffset);
+var iMandreel_TextureAsync_IsCompressed__index__ = register_delegate(iMandreel_TextureAsync_IsCompressed);
+var imandreel_restore_glcontext__index__ = register_delegate(imandreel_restore_glcontext);
+var imandreel_viewport_resize__index__ = register_delegate(imandreel_viewport_resize);
+var mandreel_flash_tcp_onError__index__ = register_delegate(mandreel_flash_tcp_onError);
+var swrite__index__ = register_delegate(swrite);
+var _objc_sections = {};
+var _objc_sections_size = {};
+
+// End of mandreel.js file.